개별총정보 수정.

main
jjh 3 months ago
parent a30bd41dfe
commit f7f913d232

@ -6,7 +6,7 @@
<div class="d-flex flex-row justify-content-evenly">
<div class="w-px-1150">
<!-- 입력 영역 -->
<form name="frmEdit">
<form name="frmEditCrdnPayer">
<input type="hidden" name="crdnId" data-map="CRDN_ID" />
<input type="hidden" name="rtpyrId" data-map="RTPYR_ID" />
@ -352,7 +352,7 @@
$P.$find("photoMainWrapper").addClass("w-px-380 min-w-px-380");
// FormFields
$P.formFields = new FimsFormFields($P.selector("frmEdit"));
$P.formFields = new FimsFormFields($P.selector("frmEditCrdnPayer"));
// 단속 사진
$P.existFileArr = [];
$P.localUploadArr = [];
@ -361,7 +361,7 @@
/**************************************************************************
* DatasetControl
**************************************************************************/
$P.ctrl = new DatasetControl({
$P.ctrlCrdnPayer = new DatasetControl({
prefix: "crdn"
, prefixName: "단속"
, keymapper: info => info ? info.CRDN_ID : ""
@ -388,24 +388,24 @@
* DatasetControl 이벤트
**************************************************************************/
// 현재 선택 자료 변경 이벤트
$P.ctrl.onCurrentChange = (item) => {
$P.ctrlCrdnPayer.onCurrentChange = (item) => {
if (!item) return;
// Dataset 셋팅
$P.formFields.set($P.ctrl, item);
$P.formFields.set($P.ctrlCrdnPayer, item);
let key = item.data.CRDN_ID;
}
// 단속 정보 Dialog
$P.ctrl.getInfo = (params) => {
$P.ctrlCrdnPayer.getInfo = (params) => {
if (!params) return;
ajax.get({
url: wctx.url("/" + params.taskSeCd + "/crdn/crdn06/020/info.do")
, data: params || {}
, success: (resp) => {
let dialogName = $P.ctrl.prefixed("Dialog");
let dialogName = $P.ctrlCrdnPayer.prefixed("Dialog");
let dialogId = dialogName + "-" + uuid();
dialog.open({
@ -426,7 +426,7 @@
}
// 삭제 callback
$P.ctrl.onRemove = (params, resp) => {
$P.ctrlCrdnPayer.onRemove = (params, resp) => {
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, params.btnTitle);
dialog.alert({
@ -440,14 +440,14 @@
}
// 삭제
$P.ctrl.remove = (params) => {
$P.ctrlCrdnPayer.remove = (params) => {
if (!params) return;
ajax.post({
url: wctx.url("/" + params.taskSeCd + "/crdn/crdn06/010/remove.do")
, data: params || {}
, success: (resp) => {
$P.ctrl.onRemove(params, resp);
$P.ctrlCrdnPayer.onRemove(params, resp);
}
});
}
@ -476,15 +476,14 @@
, data: params || {}
, success: (resp) => {
// 초기화
$P.find("frmEdit").reset(); // 화면 초기화
$P.ctrl.dataset.clear(); // Dataset 초기화
$P.find("frmEditCrdnPayer").reset(); // 화면 초기화
$P.ctrlCrdnPayer.dataset.clear(); // Dataset 초기화
// sprt02010-main 단속 정보
pageObject["${mainPageName}"].mainCtrl.setData([resp.totalInfo]);
// 단속, 납부자 정보
if (resp.crdnPayerInfo) { $P.ctrl.setData([resp.crdnPayerInfo]); }
if (resp.crdnPayerInfo) { $P.ctrlCrdnPayer.setData([resp.crdnPayerInfo]); }
}
});
}
@ -548,14 +547,14 @@
// 서버에 전송할 data(파라미터) 생성
let params = {
callPurpose: "remove"
, sggCd: $P.ctrl.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrl.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: $P.ctrl.getValue("CRDN_ID") // 단속 ID
, sggCd: $P.ctrlCrdnPayer.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrlCrdnPayer.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: $P.ctrlCrdnPayer.getValue("CRDN_ID") // 단속 ID
, btnTitle: obj.btnTitle // 버튼 title
, delRsn: obj.reason // 삭제 사유
};
$P.ctrl.remove(params);
$P.ctrlCrdnPayer.remove(params);
}
// 단속 재등록
@ -668,8 +667,8 @@
**************************************************************************/
// 민원원본 보기
$P.fnViewCvlcptOrgnl = (btnTitle) => {
let crdnId = $P.ctrl.getValue("CRDN_ID"); // 단속 ID
let cvlcptLinkId = $P.ctrl.getValue("CVLCPT_LINK_ID"); // 민원 연계 ID
let crdnId = $P.ctrlCrdnPayer.getValue("CRDN_ID"); // 단속 ID
let cvlcptLinkId = $P.ctrlCrdnPayer.getValue("CVLCPT_LINK_ID"); // 민원 연계 ID
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
@ -687,9 +686,9 @@
let params = {
callPurpose: "view"
, btnTitle: btnTitle
, sggCd: $P.ctrl.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrl.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: $P.ctrl.getValue("CRDN_ID") // 단속 ID
, sggCd: $P.ctrlCrdnPayer.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrlCrdnPayer.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: $P.ctrlCrdnPayer.getValue("CRDN_ID") // 단속 ID
};
$P.viewCvlcptOrgnl(params);
@ -697,13 +696,13 @@
// 민원답변 보기
$P.fnViewAnswerPreview = (btnTitle) => {
let crdnId = $P.ctrl.getValue("CRDN_ID"); // 단속 ID
let cvlcptLinkId = $P.ctrl.dataset.getValue("CVLCPT_LINK_ID"); // 민원 연계 ID
let crdnId = $P.ctrlCrdnPayer.getValue("CRDN_ID"); // 단속 ID
let cvlcptLinkId = $P.ctrlCrdnPayer.getValue("CVLCPT_LINK_ID"); // 민원 연계 ID
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
if (!crdnId) return;
// 민원 연계 ID가 없다면.. return
if (typeof cvlcptLinkId == "undefined" || cvlcptLinkId == null || cvlcptLinkId == "") {
if (!cvlcptLinkId) {
dialog.alert({
content: "조회된 민원 대장 정보가 없습니다."
+ "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
@ -716,9 +715,9 @@
let params = {
callPurpose : "view"
, btnTitle: btnTitle
, sggCd: $P.ctrl.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrl.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: $P.ctrl.getValue("CRDN_ID") // 단속 ID
, sggCd: $P.ctrlCrdnPayer.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrlCrdnPayer.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: $P.ctrlCrdnPayer.getValue("CRDN_ID") // 단속 ID
};
$P.viewAnswerPreview(params);
@ -726,32 +725,32 @@
// 단속정보 수정
$P.fnUpdateCrdn = (btnTitle) => {
let crdnId = $P.ctrl.getValue("CRDN_ID"); // 단속 ID
let crdnId = $P.ctrlCrdnPayer.getValue("CRDN_ID"); // 단속 ID
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
if (!crdnId) return;
let params = {
callPurpose: "update"
, btnTitle: btnTitle
, sggCd: $P.ctrl.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrl.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: $P.ctrl.getValue("CRDN_ID") // 단속 ID
, sggCd: $P.ctrlCrdnPayer.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrlCrdnPayer.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: $P.ctrlCrdnPayer.getValue("CRDN_ID") // 단속 ID
};
$P.ctrl.getInfo(params);
$P.ctrlCrdnPayer.getInfo(params);
}
// 단속정보 삭제
$P.fnRemoveCrdn = (btnTitle) => {
let crdnId = $P.ctrl.getValue("CRDN_ID"); // 단속 ID
let crdnId = $P.ctrlCrdnPayer.getValue("CRDN_ID"); // 단속 ID
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
if (!crdnId) return;
// 단속 상태 코드
let crdnSttsCd = $P.ctrl.getValue("CRDN_STTS_CD");
let crdnSttsNm = $P.ctrl.getValue("CRDN_STTS_NM");
let crdnSttsCd = $P.ctrlCrdnPayer.getValue("CRDN_STTS_CD");
let crdnSttsNm = $P.ctrlCrdnPayer.getValue("CRDN_STTS_NM");
// 단속 상태 코드 확인
if (Number(crdnSttsCd) > 51) {
@ -767,7 +766,7 @@
// 삭제 메세지 확인
dialog.alert({
content: "선택하신 " + $P.ctrl.prefixName + " 정보를 삭제하시겠습니까?"
content: "선택하신 " + $P.ctrlCrdnPayer.prefixName + " 정보를 삭제하시겠습니까?"
, onOK: () => {
// 삭제 사유 입력
fetch(wctx.url("/resources/html/inputRsnDialog.html"))
@ -793,14 +792,14 @@
// 단속 재등록
$P.fnCreateCrdnReReg = (btnTitle) => {
let bfrCrdnId = $P.ctrl.getValue("CRDN_ID"); // 단속 ID
let bfrCrdnId = $P.ctrlCrdnPayer.getValue("CRDN_ID"); // 단속 ID
// 단속 ID 가 없다면.. return
if (typeof bfrCrdnId == "undefined" || bfrCrdnId == null || bfrCrdnId == "") return;
if (!bfrCrdnId) return;
// 단속 상태 코드
let crdnSttsCd = $P.ctrl.getValue("CRDN_STTS_CD");
let crdnSttsNm = $P.ctrl.getValue("CRDN_STTS_NM");
let crdnSttsCd = $P.ctrlCrdnPayer.getValue("CRDN_STTS_CD");
let crdnSttsNm = $P.ctrlCrdnPayer.getValue("CRDN_STTS_NM");
// 단속 상태 코드 확인
if (Number(crdnSttsCd) < 80 || Number(crdnSttsCd) > 88) {
@ -821,9 +820,9 @@
let params = {
callPurpose: "create"
, btnTitle: btnTitle
, sggCd: $P.ctrl.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrl.getValue("TASK_SE_CD") // 업무 구분 코드
, bfrCrdnId: $P.ctrl.getValue("CRDN_ID") // 단속 ID
, sggCd: $P.ctrlCrdnPayer.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrlCrdnPayer.getValue("TASK_SE_CD") // 업무 구분 코드
, bfrCrdnId: $P.ctrlCrdnPayer.getValue("CRDN_ID") // 단속 ID
};
$P.createCrdnReReg(params);
@ -845,8 +844,8 @@
}
let params = {
taskSeCd: $P.ctrl.getValue("TASK_SE_CD") // 업무 구분
, crdnIds: $P.ctrl.getValue("CRDN_ID") // 단속 ID
taskSeCd: $P.ctrlCrdnPayer.getValue("TASK_SE_CD") // 업무 구분
, crdnIds: $P.ctrlCrdnPayer.getValue("CRDN_ID") // 단속 ID
};
let inBrowser = false;
@ -892,17 +891,17 @@
// 단속 상태 변경
$P.fnUpdateCrdnSttsCd = (btnTitle) => {
let crdnId = $P.ctrl.getValue("CRDN_ID"); // 단속 ID
let crdnId = $P.ctrlCrdnPayer.getValue("CRDN_ID"); // 단속 ID
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
if (!crdnId) return;
let params = {
callPurpose: "update"
, btnTitle: btnTitle
, sggCd: $P.ctrl.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrl.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: $P.ctrl.getValue("CRDN_ID") // 단속 ID
, sggCd: $P.ctrlCrdnPayer.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrlCrdnPayer.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: $P.ctrlCrdnPayer.getValue("CRDN_ID") // 단속 ID
};
$P.getInfoCrdnSttsCd(params);
@ -910,13 +909,13 @@
// 납부자 초기화
$P.fnDeleteCrdnPayer = (btnTitle) => {
let crdnId = $P.ctrl.getValue("CRDN_ID"); // 단속 ID
let rtpyrId = $P.ctrl.getValue("RTPYR_ID"); // 납부자 ID
let crdnId = $P.ctrlCrdnPayer.getValue("CRDN_ID"); // 단속 ID
let rtpyrId = $P.ctrlCrdnPayer.getValue("RTPYR_ID"); // 납부자 ID
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
if (!crdnId) return;
// 납부자 ID 가 없다면.. return
if (rtpyrId == null || rtpyrId == "") {
if (!rtpyrId) {
dialog.alert({
content: "조회된 납부자 대장 정보가 없습니다."
+ "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
@ -933,10 +932,10 @@
let params = {
callPurpose: "initialize"
, btnTitle: btnTitle
, sggCd: $P.ctrl.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrl.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: $P.ctrl.getValue("CRDN_ID") // 단속 ID
, rtpyrId: $P.ctrl.getValue("RTPYR_ID") // 납부자 ID
, sggCd: $P.ctrlCrdnPayer.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrlCrdnPayer.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: $P.ctrlCrdnPayer.getValue("CRDN_ID") // 단속 ID
, rtpyrId: $P.ctrlCrdnPayer.getValue("RTPYR_ID") // 납부자 ID
, delYn: "N"
};
@ -947,19 +946,19 @@
// 납부자 수정
$P.fnUpdatePayer = (btnTitle) => {
let crdnId = $P.ctrl.getValue("CRDN_ID"); // 단속 ID
let crdnId = $P.ctrlCrdnPayer.getValue("CRDN_ID"); // 단속 ID
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
if (!crdnId) return;
let params = {
callPurpose: "update"
, btnTitle: btnTitle
, sggCd: $P.ctrl.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrl.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: $P.ctrl.getValue("CRDN_ID") // 단속 ID
, rtpyrId: $P.ctrl.getValue("RTPYR_ID") // 납부자 ID
, vhrno: $P.ctrl.getValue("VHRNO") // 차량번호
, sggCd: $P.ctrlCrdnPayer.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrlCrdnPayer.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: $P.ctrlCrdnPayer.getValue("CRDN_ID") // 단속 ID
, rtpyrId: $P.ctrlCrdnPayer.getValue("RTPYR_ID") // 납부자 ID
, vhrno: $P.ctrlCrdnPayer.getValue("VHRNO") // 차량번호
, rtpyrInptSeCd: "01" // 납부자 입력 구분 코드
};
@ -1012,6 +1011,10 @@
// 초기 화면 설정
$P.initForm = () => {
// 초기화
$P.find("frmEditCrdnPayer").reset(); // 화면 초기화
$P.ctrlCrdnPayer.dataset.clear(); // Dataset 초기화
// 화면 호출(callPurpose)이 view라면 버튼 비활성화 disabled = true
if (pageObject['${mainPageName}'].callPurpose == "view") {
$P.$find("btnUpdateCrdn").prop("disabled", true);
@ -1042,7 +1045,7 @@
let taskSeCd = pageObject["${mainPageName}"].mainCtrl.getValue("TASK_SE_CD");
// 업무 구분에 따른 화면 설정
renderForTask($P.find("frmEdit"), taskSeCd.toLowerCase());
renderForTask($P.find("frmEditCrdnPayer"), taskSeCd.toLowerCase());
}
/**************************************************************************
@ -1055,7 +1058,7 @@
$P.initForm();
// 3. Dataset 설정 = 단속, 납부자 정보 조회
$P.ctrl.setData([${crdnPayerInfo}]);
$P.ctrlCrdnPayer.setData([${crdnPayerInfo}]);
// 4. 사진영역 설정
settingPhotoMain("${pageName}", $P.find("crdnId")
@ -1072,7 +1075,7 @@
);
// 5. 사진영역 초기화
let crdnPayerInfo = $P.ctrl.getCurrent();
let crdnPayerInfo = $P.ctrlCrdnPayer.getCurrent();
let existVideo = false;
if (crdnPayerInfo.VIDEO_EXIST_YN == "Y") {

@ -4,7 +4,8 @@
<!-- Page Body -->
<div class="content-pop" data-doctx="${pageName}">
<!-- 입력 영역 -->
<form name="frmEdit">
<form name="frmEditOpnn">
<!-- hidden -->
<input type="hidden" name="opnnId" data-map="OPNN_ID" />
<div class="d-flex flex-row justify-content-evenly">
@ -200,14 +201,14 @@
let $P = pageObject["${pageName}"];
// FormFields
$P.formFields = new FimsFormFields($P.selector("frmEdit"));
$P.formFields = new FimsFormFields($P.selector("frmEditOpnn"));
// 파일 리스트
$P.fileListArr = new Array();
/**************************************************************************
* DatasetControl
**************************************************************************/
$P.ctrl = new DatasetControl({
$P.ctrlOpnn = new DatasetControl({
prefix: "opnn"
, prefixName: "의견제출"
, keymapper: info => info ? info.OPNN_ID : ""
@ -224,10 +225,10 @@
* DatasetControl 이벤트
**************************************************************************/
// 현재 선택 자료 변경 이벤트
$P.ctrl.onCurrentChange = (item) => {
$P.ctrlOpnn.onCurrentChange = (item) => {
if (!item) return;
$P.formFields.set($P.ctrl, item);
$P.formFields.set($P.ctrlOpnn, item);
let key = item.data.OPNN_ID;
@ -236,7 +237,7 @@
}
// 의견제출 정보 dialog
$P.ctrl.getInfo = (params) => {
$P.ctrlOpnn.getInfo = (params) => {
if (!params) return;
ajax.get({
@ -249,7 +250,7 @@
}
return;
} else {
let dialogName = $P.ctrl.prefixed("Dialog");
let dialogName = $P.ctrlOpnn.prefixed("Dialog");
let dialogId = dialogName + "-" + uuid();
dialog.open({
@ -271,7 +272,7 @@
}
// 삭제 callback
$P.ctrl.onRemove = (params, resp) => {
$P.ctrlOpnn.onRemove = (params, resp) => {
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, params.btnTitle);
dialog.alert({
@ -288,14 +289,14 @@
}
// 삭제
$P.ctrl.remove = (params) => {
$P.ctrlOpnn.remove = (params) => {
if (!params) return;
ajax.post({
url: wctx.url("/" + params.taskSeCd + "/excl/excl02/010/remove.do")
, data: params || {}
, success: (resp) => {
$P.ctrl.onRemove(params, resp);
$P.ctrlOpnn.onRemove(params, resp);
}
});
}
@ -324,16 +325,15 @@
, data: params || {}
, success: (resp) => {
// 초기화
$P.find("frmEdit").reset(); // 화면 초기화
$P.ctrl.dataset.clear(); // Dataset 초기화
$P.find("frmEditOpnn").reset(); // 화면 초기화
$P.ctrlOpnn.dataset.clear(); // Dataset 초기화
// sprt02010-main 단속 정보
pageObject["${mainPageName}"].mainCtrl.setData([resp.totalInfo]);
// Dataset 셋팅
if (resp.opnnInfo) {
$P.ctrl.setData([resp.opnnInfo]); // 의견제출 정보
$P.ctrlOpnn.setData([resp.opnnInfo]); // 의견제출 정보
}
}
});
@ -347,7 +347,7 @@
url: wctx.url("/" + params.taskSeCd + "/excl/excl02/030/info.do")
, data: params || {}
, success: (resp) => {
let dialogName = "opnnDlbrDialog";
let dialogName = $P.ctrlOpnn.prefixed("DlbrDialog");
let dialogId = dialogName + "-" + uuid();
dialog.open({
@ -372,14 +372,14 @@
// 서버에 전송할 data(파라미터) 생성
let params = {
callPurpose: "remove"
, sggCd: $P.ctrl.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrl.getValue("TASK_SE_CD") // 업무 구분 코드
, opnnId: $P.ctrl.getValue("OPNN_ID") // 의견제출 ID
, sggCd: $P.ctrlOpnn.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrlOpnn.getValue("TASK_SE_CD") // 업무 구분 코드
, opnnId: $P.ctrlOpnn.getValue("OPNN_ID") // 의견제출 ID
, btnTitle: obj.btnTitle // 버튼 title
, delRsn: obj.reason // 삭제 사유
};
$P.ctrl.remove(params);
$P.ctrlOpnn.remove(params);
}
// 심의의결서 출력
@ -415,12 +415,12 @@
, delYn: "N"
};
$P.ctrl.getInfo(params);
$P.ctrlOpnn.getInfo(params);
}
// 의견제출 수정 버튼 이벤트
$P.fnUpdateOpnnSbmsn = (btnTitle) => {
let opnnId = $P.ctrl.getValue("OPNN_ID"); // 의견제출 ID
let opnnId = $P.ctrlOpnn.getValue("OPNN_ID"); // 의견제출 ID
// 의견제출 ID 가 없다면.. return
if (!opnnId) {
@ -435,18 +435,18 @@
let params = {
callPurpose: "update"
, btnTitle: btnTitle
, sggCd: $P.ctrl.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrl.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: $P.ctrl.getValue("CRDN_ID") // 단속 ID
, opnnId: $P.ctrl.getValue("OPNN_ID") // 의견제출 ID
, sggCd: $P.ctrlOpnn.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrlOpnn.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: $P.ctrlOpnn.getValue("CRDN_ID") // 단속 ID
, opnnId: $P.ctrlOpnn.getValue("OPNN_ID") // 의견제출 ID
};
$P.ctrl.getInfo(params);
$P.ctrlOpnn.getInfo(params);
}
// 의견제출 삭제 버튼 이벤트
$P.fnRemoveOpnnSbmsn = (btnTitle) => {
let opnnId = $P.ctrl.getValue("OPNN_ID"); // 의견제출 ID
let opnnId = $P.ctrlOpnn.getValue("OPNN_ID"); // 의견제출 ID
// 의견제출 ID 가 없다면.. return
if (!opnnId) {
@ -459,8 +459,8 @@
}
// 의견제출 상태 코드
let opnnSbmsnSttsCd = $P.ctrl.getValue("OPNN_SBMSN_STTS_CD");
let opnnSbmsnSttsNm = $P.ctrl.getValue("OPNN_SBMSN_STTS_NM");
let opnnSbmsnSttsCd = $P.ctrlOpnn.getValue("OPNN_SBMSN_STTS_CD");
let opnnSbmsnSttsNm = $P.ctrlOpnn.getValue("OPNN_SBMSN_STTS_NM");
// 의견제출 상태 코드 확인
if (opnnSbmsnSttsCd != '00' && opnnSbmsnSttsCd != '03') {
@ -475,7 +475,7 @@
// 삭제 메세지 확인
dialog.alert({
content: "선택하신 " + $P.ctrl.prefixName + " 정보를 삭제하시겠습니까?"
content: "선택하신 " + $P.ctrlOpnn.prefixName + " 정보를 삭제하시겠습니까?"
, onOK: () => {
// 삭제 사유 입력
fetch(wctx.url("/resources/html/inputRsnDialog.html"))
@ -501,7 +501,7 @@
// 심의의결서 출력 버튼 이벤트
$P.fnPrintDlbrDecsn = (btnTitle) => {
let opnnId = $P.ctrl.getValue("OPNN_ID"); // 의견제출 ID
let opnnId = $P.ctrlOpnn.getValue("OPNN_ID"); // 의견제출 ID
// 의견제출 ID 가 없다면.. return
if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") {
@ -516,9 +516,9 @@
let params = {
callPurpose: "download"
, btnTitle: btnTitle
, sggCd: $P.ctrl.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrl.getValue("TASK_SE_CD") // 업무 구분 코드
, opnnIds: $P.ctrl.getValue("OPNN_ID") // 의견제출 ID
, sggCd: $P.ctrlOpnn.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrlOpnn.getValue("TASK_SE_CD") // 업무 구분 코드
, opnnIds: $P.ctrlOpnn.getValue("OPNN_ID") // 의견제출 ID
};
$P.makeHwpFileDlbrDecsn(params);
@ -526,7 +526,7 @@
// 의견제출 심의 버튼 이벤트
$P.fnUpdateOpnnSbmsnDlbrt = (btnTitle) => {
let opnnId = $P.ctrl.getValue("OPNN_ID"); // 의견제출 ID
let opnnId = $P.ctrlOpnn.getValue("OPNN_ID"); // 의견제출 ID
// 의견제출 ID 가 없다면.. return
if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") {
@ -539,8 +539,8 @@
}
// 단속 상태 코드
let crdnSttsCd = $P.ctrl.getValue("CRDN_STTS_CD");
let crdnSttsNm = $P.ctrl.getValue("CRDN_STTS_NM");
let crdnSttsCd = $P.ctrlOpnn.getValue("CRDN_STTS_CD");
let crdnSttsNm = $P.ctrlOpnn.getValue("CRDN_STTS_NM");
// 단속 상태 코드 확인
if ( (Number(crdnSttsCd) != 82 && Number(crdnSttsCd) != 87) && (Number(crdnSttsCd) < 21 || Number(crdnSttsCd) > 45) ) {
@ -556,9 +556,9 @@
let params = {
callPurpose: "update"
, btnTitle: btnTitle
, sggCd: $P.ctrl.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrl.getValue("TASK_SE_CD") // 업무 구분 코드
, opnnId: $P.ctrl.getValue("OPNN_ID") // 의견제출 ID
, sggCd: $P.ctrlOpnn.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrlOpnn.getValue("TASK_SE_CD") // 업무 구분 코드
, opnnId: $P.ctrlOpnn.getValue("OPNN_ID") // 의견제출 ID
};
$P.getOpnnSbmsnDlbrtInfo(params);
@ -641,6 +641,10 @@
// 초기 화면 설정
$P.initForm = () => {
// 초기화
$P.find("frmEditOpnn").reset(); // 화면 초기화
$P.ctrlOpnn.dataset.clear(); // Dataset 초기화
// 화면 호출(callPurpose)이 view라면 버튼 비활성화 disabled = true
if (pageObject['${mainPageName}'].callPurpose == "view") {
$P.$find("btnCreateOpnnSbmsn").prop("disabled", true);
@ -666,7 +670,9 @@
// 3. Dataset 설정
let opnnInfo = ${opnnInfo}; // 의견제출 정보
if (opnnInfo) { $P.ctrl.setData([opnnInfo]); }
if (opnnInfo) {
$P.ctrlOpnn.setData([opnnInfo]);
}
});
</script>

@ -24,7 +24,7 @@
<button type="button" class="btn btn-primary w-px-120" name="btnViewPostTrace" title="우편 종적 보기">
우편 종적 보기
</button>
</span>
</span> <!-- <span class="container-window-btn-right"> -->
</div> <!-- <div class="container-page-btn"> -->
<div class="row g-1">
@ -35,61 +35,61 @@
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr name="theadTrSndngDtl">
<th class="cmn" style="width: 120px">발송상태</th>
<th class="cmn" style="width: 100px">수납</th>
<th class="cmn" style="width: 100px">취급구분</th>
<th class="cmn" style="width: 140px">발송구분</th>
<th class="cmn" style="width: 120px">발송일자</th>
<th class="cmn" style="width: 120px">납기일자</th>
<th class="cmn" style="width: 160px">등기번호</th>
<th class="cmn" style="width: 200px">성명</th>
<th class="cmn" style="width: 100px">우편번호</th>
<th class="cmn" style="width: 240px">주소</th>
<th class="cmn" style="width: 280px">상세주소</th>
<th class="cmn" style="width: 100px">회계연도</th>
<th class="cmn" style="width: 120px">부과번호</th>
<th class="cmn" style="width: 120px">미납금액</th>
<th class="cmn" style="width: 120px">배달일자</th>
<th class="cmn" style="width: 100px">배달시각</th>
<th class="cmn" style="width: 160px">미배달사유</th>
<th class="cmn" style="width: 120px">수령인</th>
<th class="cmn" style="width: 160px">수령인관계</th>
<th class="cmn" style="width: 200px">발송상세ID</th>
<th class="cmn" style="width: 180px">등록일시</th>
<th class="cmn" style="width: 140px">등록사용자</th>
<th class="cmn" style="width: 180px">수정일시</th>
<th class="cmn" style="width: 140px">수정사용자</th>
<th class="cmn sorting" style="width: 120px" data-field="SNDNG_DTL_STTS_NM">발송상태</th>
<th class="cmn sorting" style="width: 100px" data-field="SNDNG_RCVMT_NM">수납</th>
<th class="cmn sorting" style="width: 100px" data-field="DIV_KB_NM">취급구분</th>
<th class="cmn sorting" style="width: 140px" data-field="SNDNG_SE_NM">발송구분</th>
<th class="cmn sorting" style="width: 120px" data-field="SNDNG_YMD">발송일자</th>
<th class="cmn sorting" style="width: 120px" data-field="DUDT_YMD">납기일자</th>
<th class="cmn sorting" style="width: 160px" data-field="RG_NO">등기번호</th>
<th class="cmn sorting" style="width: 200px" data-field="RCPN_NM">성명</th>
<th class="cmn sorting" style="width: 100px" data-field="RCPN_ZIP">우편번호</th>
<th class="cmn sorting" style="width: 240px" data-field="RCPN_ADDR">주소</th>
<th class="cmn sorting" style="width: 280px" data-field="RCPN_DTL_ADDR">상세주소</th>
<th class="cmn sorting" style="width: 100px" data-field="FYR">회계연도</th>
<th class="cmn sorting" style="width: 120px" data-field="LEVY_NO">부과번호</th>
<th class="cmn sorting" style="width: 120px" data-field="SUM_AMT">미납금액</th>
<th class="cmn sorting" style="width: 120px" data-field="DLVR_YMD">배달일자</th>
<th class="cmn sorting" style="width: 100px" data-field="DLVR_TM">배달시각</th>
<th class="cmn sorting" style="width: 160px" data-field="UNDLVR_RSN_NM">미배달사유</th>
<th class="cmn sorting" style="width: 120px" data-field="ACTL_RCPN_NM">수령인</th>
<th class="cmn sorting" style="width: 160px" data-field="RCPN_REL_NM">수령인관계</th>
<th class="cmn sorting" style="width: 200px" data-field="SNDNG_DTL_ID">발송상세ID</th>
<th class="cmn sorting" style="width: 180px" data-field="REG_DT">등록일시</th>
<th class="cmn sorting" style="width: 140px" data-field="RGTR_NM">등록사용자</th>
<th class="cmn sorting" style="width: 180px" data-field="MDFCN_DT">수정일시</th>
<th class="cmn sorting" style="width: 140px" data-field="MDFR_NM">수정사용자</th>
<th class="cmn dummy-th"></th>
</tr>
</thead>
<tbody name="tableTbodySndngDtl">
<tbody name="tbodySndngDtlList">
</tbody>
<template is="curly-brackets" name="tableRowsSndngDtl">
<tr data-key="SNDNG_DTL_ID">
<td class="text-center" onclick="{onclick}">{SNDNG_DTL_STTS_NM}</td>
<td class="text-center" onclick="{onclick}">{SNDNG_RCVMT_NM}</td>
<td class="text-center" onclick="{onclick}">{DIV_KB_NM}</td>
<td class="text-center" onclick="{onclick}">{SNDNG_SE_NM}</td>
<td class="text-center" onclick="{onclick}">{SNDNG_YMD}</td>
<td class="text-center" onclick="{onclick}">{DUDT_YMD}</td>
<td class="text-center" onclick="{onclick}">{RG_NO}</td>
<td class="text-start" onclick="{onclick}">{RCPN_NM}</td>
<td class="text-center" onclick="{onclick}">{RCPN_ZIP}</td>
<td class="text-start" onclick="{onclick}">{RCPN_ADDR}</td>
<td class="text-start" onclick="{onclick}">{RCPN_DTL_ADDR}</td>
<td class="text-center" onclick="{onclick}">{FYR}</td>
<td class="text-center" onclick="{onclick}">{LEVY_NO}</td>
<td class="text-end" onclick="{onclick}">{SUM_AMT}</td>
<td class="text-center" onclick="{onclick}">{DLVR_YMD}</td>
<td class="text-center" onclick="{onclick}">{DLVR_TM}</td>
<td class="text-start" onclick="{onclick}">{UNDLVR_RSN_NM}</td>
<td class="text-start" onclick="{onclick}">{ACTL_RCPN_NM}</td>
<td class="text-center" onclick="{onclick}">{RCPN_REL_NM}</td>
<td class="text-center" onclick="{onclick}">{SNDNG_DTL_ID}</td>
<td class="text-center" onclick="{onclick}">{REG_DT}</td>
<td class="text-center" onclick="{onclick}">{RGTR_NM}</td>
<td class="text-center" onclick="{onclick}">{MDFCN_DT}</td>
<td class="text-center" onclick="{onclick}">{MDFR_NM}</td>
<td class="text-center" onclick>{SNDNG_DTL_STTS_NM}</td>
<td class="text-center" onclick>{SNDNG_RCVMT_NM}</td>
<td class="text-center" onclick>{DIV_KB_NM}</td>
<td class="text-center" onclick>{SNDNG_SE_NM}</td>
<td class="text-center" onclick>{SNDNG_YMD}</td>
<td class="text-center" onclick>{DUDT_YMD}</td>
<td class="text-center" onclick>{RG_NO}</td>
<td class="text-start" onclick>{RCPN_NM}</td>
<td class="text-center" onclick>{RCPN_ZIP}</td>
<td class="text-start" onclick>{RCPN_ADDR}</td>
<td class="text-start" onclick>{RCPN_DTL_ADDR}</td>
<td class="text-center" onclick>{FYR}</td>
<td class="text-center" onclick>{LEVY_NO}</td>
<td class="text-end" onclick>{SUM_AMT}</td>
<td class="text-center" onclick>{DLVR_YMD}</td>
<td class="text-center" onclick>{DLVR_TM}</td>
<td class="text-start" onclick>{UNDLVR_RSN_NM}</td>
<td class="text-start" onclick>{ACTL_RCPN_NM}</td>
<td class="text-center" onclick>{RCPN_REL_NM}</td>
<td class="text-center" onclick>{SNDNG_DTL_ID}</td>
<td class="text-center" onclick>{REG_DT}</td>
<td class="text-center" onclick>{RGTR_NM}</td>
<td class="text-center" onclick>{MDFCN_DT}</td>
<td class="text-center" onclick>{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
@ -112,7 +112,7 @@
<!-- 가상계좌 정보 -->
<div class="col-xl-3 mx-1">
<!-- 입력 영역 -->
<form name="frmEdit">
<form name="frmEditSndngDtl">
<!-- hidden -->
<input type="hidden" name="sndngDtlId" data-map="SNDNG_DTL_ID" />
<input type="hidden" name="sndngId" data-map="SNDNG_ID" />
@ -129,8 +129,8 @@
</div>
<!-- 전자납부번호 -->
<div class="col-md-12">
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="epayno">전자납부번호</label>
<input is="id-input" type="text" class="form-control w-65" name="epayno" data-map="EPAYNO" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="epaynoMask">전자납부번호</label>
<input is="id-input" type="text" class="form-control w-65" name="epaynoMask" data-map="EPAYNO_MASK" readonly />
</div>
</div>
</div> <!-- <div class="card"> -->
@ -165,7 +165,7 @@
<th class="cmn dummy-th"></th>
</tr>
</thead>
<tbody name="tableTbodySvbtc">
<tbody name="tbodySvbtcList">
</tbody>
<template is="curly-brackets" name="tableRowsSvbtc">
<tr data-key="SNDNG_DTL_ID">
@ -211,14 +211,14 @@
let $P = pageObject["${pageName}"];
// FormFields
$P.formFields = new FimsFormFields($P.selector("frmEdit"));
$P.formFields = new FimsFormFields($P.selector("frmEditSndngDtl"));
/**************************************************************************
* DatasetControl
**************************************************************************/
// 발송 상세 정보 DatasetControl
$P.ctrlSndngDtl = new DatasetControl({
prefix: "sndng"
prefix: "sndngDtl"
, prefixName: "발송반송"
, keymapper: info => info ? info.SNDNG_DTL_ID : ""
, dataGetter: obj => obj.sndngDtls
@ -262,7 +262,7 @@
let key = item.data.SNDNG_DTL_ID;
$P.$find("tableTbodySndngDtl").setCurrentRow(key);
$P.$find("tbodySndngDtlList").setCurrentRow(key);
// 가상계좌번호
let vrActno = Array.from({length: 20}, (x, i) => {
@ -282,7 +282,6 @@
.join("\n");
$P.$find("vrActno").val(vrActno); // 가상 계좌번호
$P.$find("epayno").val(item.data.EPAYNO_MASK); // 전자납부번호
}
// 개별 반송 dialog
@ -298,7 +297,7 @@
dialog.open({
id: dialogId
, title: params.title
, title: params.btnTitle
, size: "md"
, content: resp
, init: () => {
@ -354,14 +353,14 @@
let key = item.data.SNDNG_DTL_ID;
$P.$find("tableTbodySvbtc").setCurrentRow(key);
$P.$find("tbodySvbtcList").setCurrentRow(key);
}
/**************************************************************************
* DataTables 이벤트
**************************************************************************/
// DataTables에 click, dbclick 이벤트
$P.renderSndngDtlList = () => {
$P.renderSndngDtlList = (totalSize, option) => {
let sndngDtlList = $P.ctrlSndngDtl.dataset;
let empty = sndngDtlList.empty;
@ -371,11 +370,11 @@
.replace(/{onclick}/gi, "pageObject['${pageName}'].ctrlSndngDtl.setCurrent('" + dataItem.getValue("SNDNG_DTL_ID") + "');")
);
$P.$find("tableTbodySndngDtl").html(trs.join());
$P.$find("tbodySndngDtlList").html(trs.join());
}
// 공시송달 정보 DataTables에 click 이벤트
$P.renderSvbtcList = () => {
$P.renderSvbtcList = (totalSize, option) => {
let svbtcList = $P.ctrlSvbtc.dataset;
let empty = svbtcList.empty;
@ -385,7 +384,7 @@
.replace(/{onclick}/gi, "pageObject['${pageName}'].ctrlSvbtc.setCurrent('" + dataItem.getValue("SNDNG_DTL_ID") + "');")
);
$P.$find("tableTbodySvbtc").html(trs.join());
$P.$find("tbodySvbtcList").html(trs.join());
}
/**************************************************************************
@ -396,7 +395,7 @@
let crdnId = pageObject["${mainPageName}"].mainCtrl.getValue("CRDN_ID"); // 단속 ID
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
if (!crdnId) return;
let params = {
callPurpose: "refresh"
@ -410,11 +409,10 @@
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/040/info.do")
, headers: { Accept: "application/json; charset=utf-8" } // json
, data: params || {}
, success: resp => {
, success: (resp) => {
// 초기화
$P.find("frmEdit").reset(); // 화면 초기화
$P.ctrlSndngDtl.dataset.clear(); // 발송상세 Dataset 초기화
$P.find("frmEditSndngDtl").reset(); // 화면 초기화
$P.ctrlSndngDtl.dataset.clear(); // 발송 상세 Dataset 초기화
$P.ctrlSvbtc.dataset.clear(); // 공시송달 Dataset 초기화
// sprt02010-main 단속 정보
@ -589,6 +587,11 @@
// 초기 화면 설정
$P.initForm = () => {
// 초기화
$P.find("frmEditSndngDtl").reset(); // 화면 초기화
$P.ctrlSndngDtl.dataset.clear(); // 발송 상세 Dataset 초기화
$P.ctrlSvbtc.dataset.clear(); // 공시송달 Dataset 초기화
// 화면 호출(callPurpose)이 view라면 버튼 비활성화 disabled = true
if (pageObject['${mainPageName}'].callPurpose == "view") {
$P.$find("btnCreateSndbk").prop("disabled", true);

@ -23,7 +23,7 @@
<button type="button" class="btn btn-primary w-px-120" name="btnRemoveRdct" title="감경 삭제">
감경 삭제
</button>
</span>
</span> <!-- <span class="container-window-btn-right"> -->
</div> <!-- <div class="container-page-btn"> -->
<!-- 입력 영역 -->
@ -166,7 +166,7 @@
<th class="cmn dummy-th"></th>
</tr>
</thead>
<tbody name="tableTbodyCrdnSttsHstry">
<tbody name="tbodyCrdnSttsHstryList">
</tbody>
<template is="curly-brackets" name="tableRowsCrdnSttsHstry">
<tr data-key="STTS_HSTRY_ID">
@ -214,7 +214,7 @@
<th class="cmn dummy-th"></th>
</tr>
</thead>
<tbody name="tableTbodyPayerHstry">
<tbody name="tbodyPayerHstryList">
</tbody>
<template is="curly-brackets" name="tableRowsPayerHstry">
<tr data-key="HSTRY_SN">
@ -476,7 +476,7 @@
let key = item.data.STTS_HSTRY_ID;
$P.$find("tableTbodyCrdnSttsHstry").setCurrentRow(key);
$P.$find("tbodyCrdnSttsHstryList").setCurrentRow(key);
}
/**************************************************************************
@ -493,14 +493,14 @@
let key = item.data.HSTRY_SN;
$P.$find("tableTbodyPayerHstry").setCurrentRow(key);
$P.$find("tbodyPayerHstryList").setCurrentRow(key);
}
/**************************************************************************
* DataTables 이벤트
**************************************************************************/
// 단속 상태 이력 DataTables에 click 이벤트
$P.renderCrdnSttsHstryList = () => {
$P.renderCrdnSttsHstryList = (totalSize, option) => {
let crdnSttsHstryList = $P.ctrlCrdnSttsHstry.dataset;
let empty = crdnSttsHstryList.empty;
@ -510,11 +510,11 @@
.replace(/{onclick}/gi, "pageObject['${pageName}'].ctrlCrdnSttsHstry.setCurrent('" + dataItem.getValue("STTS_HSTRY_ID") + "');")
);
$P.$find("tableTbodyCrdnSttsHstry").html(trs.join());
$P.$find("tbodyCrdnSttsHstryList").html(trs.join());
}
// 납부자 이력 DataTables에 click 이벤트
$P.renderPayerHstryList = () => {
$P.renderPayerHstryList = (totalSize, option) => {
let payerHstryList = $P.ctrlPayerHstry.dataset;
let empty = payerHstryList.empty;
@ -524,7 +524,7 @@
.replace(/{onclick}/gi, "pageObject['${pageName}'].ctrlPayerHstry.setCurrent('" + dataItem.getValue("STTS_HSTRY_ID") + "');")
);
$P.$find("tableTbodyPayerHstry").html(trs.join());
$P.$find("tbodyPayerHstryList").html(trs.join());
}
/**************************************************************************
@ -553,7 +553,6 @@
// 초기화
$P.find("frmEditRdct").reset(); // 감경 화면 초기화
$P.find("frmEditLevyExcl").reset(); // 부과제외 화면 초기화
$P.ctrlRdct.dataset.clear(); // 감경 Dataset 초기화
$P.ctrlLevyExcl.dataset.clear(); // 부과제외 Dataset 초기화
$P.ctrlCrdnSttsHstry.dataset.clear(); // 단속상태 이력 Dataset 초기화

@ -2,11 +2,11 @@
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<!-- Page Body -->
<div class="content-pop">
<div class="content-pop" data-doctx="${pageName}">
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit">
<form name="frmEditLevy">
<!-- hidden -->
<input type="hidden" id="levyId--${pageName}" name="levyId" data-map="LEVY_ID" />
<input type="hidden" name="levyId" data-map="LEVY_ID" />
<div class="d-flex flex-row justify-content-evenly">
<!-- 부과 정보 -->
@ -14,128 +14,128 @@
<div class="card">
<!-- 업무 버튼 -->
<div class="container-page-btn">
<label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">부과 정보</label>
<label class="col-form-label bg-label-danger pe-2 w-px-120 text-sm-center">부과 정보</label>
<!-- 버튼 우측 정렬 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-120" id="btnCreateLevy--${pageName}" title="부과 등록">
<button type="button" class="btn btn-primary w-px-120" name="btnCreateLevy" title="부과 등록">
부과 등록
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnCreateLevyExcl--${pageName}" title="부과 취소">
<button type="button" class="btn btn-primary w-px-120" name="btnCreateLevyExcl" title="부과 취소">
부과 취소
</button>
</span>
</span> <!-- <span class="container-window-btn-right"> -->
</div> <!-- <div class="container-page-btn"> -->
<div class="row g-1">
<!-- 회계 구분 코드 -->
<div class="col-md-4">
<label for="acntgSeCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">회계구분</label>
<input type="text" class="form-control w-15" id="acntgSeCd--${pageName}" name="acntgSeCd" data-map="ACNTG_SE_CD" readonly />
<input type="text" class="form-control w-50" id="acntgSeNm--${pageName}" name="acntgSeNm" data-map="ACNTG_SE_NM" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="acntgSeCd">회계구분</label>
<input is="id-input" type="text" class="form-control w-15" name="acntgSeCd" data-map="ACNTG_SE_CD" readonly />
<input is="id-input" type="text" class="form-control w-50" name="acntgSeNm" data-map="ACNTG_SE_NM" readonly />
</div>
<!-- 세목 코드 -->
<div class="col-md-4">
<label for="acntgSeCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">회계세목</label>
<input type="text" class="form-control w-20" id="txitmCd--${pageName}" name="txitmCd" data-map="TXITM_CD" readonly />
<input type="text" class="form-control w-45" id="txitmNm--${pageName}" name="txitmNm" data-map="TXITM_NM" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="txitmCd">회계세목</label>
<input is="id-input" type="text" class="form-control w-20" name="txitmCd" data-map="TXITM_CD" readonly />
<input is="id-input" type="text" class="form-control w-45" name="txitmNm" data-map="TXITM_NM" readonly />
</div>
<!-- 운영 항목 코드 -->
<div class="col-md-4">
<label for="operItemCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">운영항목</label>
<input type="text" class="form-control w-15" id="operItemCd--${pageName}" name="operItemCd" data-map="OPER_ITEM_CD" readonly />
<input type="text" class="form-control w-45" id="operItemNm--${pageName}" name="operItemNm" data-map="OPER_ITEM_NM" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="operItemCd">운영항목</label>
<input is="id-input" type="text" class="form-control w-15" name="operItemCd" data-map="OPER_ITEM_CD" readonly />
<input is="id-input" type="text" class="form-control w-45" name="operItemNm" data-map="OPER_ITEM_NM" readonly />
</div>
<!-- 회계 연도 -->
<div class="col-md-4">
<label for="fyr--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">회계연도</label>
<input type="text" class="form-control w-20" id="fyr--${pageName}" name="fyr" data-map="FYR" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="fyr">회계연도</label>
<input is="id-input" type="text" class="form-control w-20" name="fyr" data-map="FYR" readonly />
</div>
<!-- 부과 번호 -->
<div class="col-md-4">
<label for="levyNo--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">부과번호</label>
<input type="text" class="form-control w-20" id="levyNo--${pageName}" name="levyNo" data-map="LEVY_NO" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="levyNo">부과번호</label>
<input is="id-input" type="text" class="form-control w-20" name="levyNo" data-map="LEVY_NO" readonly />
</div>
<!-- 분납 일련번호 -->
<div class="col-md-4">
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="ispySn">분납일련번호</label>
<input is="id-input" type="text" class="form-control w-15" name="ispySn" data-map="ISPY_SN" readonly />
</div>
<!-- 과세 물건 -->
<div class="col-md-4">
<label for="txtnThing--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">과세물건</label>
<input type="text" class="form-control w-35" id="txtnThing--${pageName}" name="txtnThing" data-map="TXTN_THING" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="txtnThing">과세물건</label>
<input is="id-input" type="text" class="form-control w-40" name="txtnThing" data-map="TXTN_THING" readonly />
</div>
<!-- 부과 구분 코드 -->
<div class="col-md-4">
<label for="levySeNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">부과구분</label>
<input type="text" class="form-control w-30" id="levySeNm--${pageName}" name="levySeNm" data-map="LEVY_SE_NM" readonly />
<input type="hidden" id="levySeCd--${pageName}" name="levySeCd" data-map="LEVY_SE_CD" />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="levySeNm">부과구분</label>
<input is="id-input" type="text" class="form-control w-30" name="levySeNm" data-map="LEVY_SE_NM" readonly />
<input type="hidden" name="levySeCd" data-map="LEVY_SE_CD" />
</div>
<!-- 통합 구분 코드 -->
<div class="col-md-4">
<label for="untySeNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">통합구분</label>
<input type="text" class="form-control w-30" id="untySeNm--${pageName}" name="untySeNm" data-map="UNTY_SE_NM" readonly />
<input type="hidden" id="untySeCd--${pageName}" name="untySeCd" data-map="UNTY_SE_CD" />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="untySeNm">통합구분</label>
<input is="id-input" type="text" class="form-control w-30" name="untySeNm" data-map="UNTY_SE_NM" readonly />
<input type="hidden" name="untySeCd" data-map="UNTY_SE_CD" />
</div>
<!-- 감경 구분 명 -->
<div class="col-md-4">
<label for="rdctSeNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">감경구분</label>
<input type="text" class="form-control w-30" id="rdctSeNm--${pageName}" name="rdctSeNm" data-map="RDCT_SE_NM" readonly />
</div>
<!-- 분납 일련번호 -->
<div class="col-md-4">
<label for="ispySn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">분납일련번호</label>
<input type="text" class="form-control w-15" id="ispySn--${pageName}" name="ispySn" data-map="ISPY_SN" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="rdctSeNm">감경구분</label>
<input is="id-input" type="text" class="form-control w-30" name="rdctSeNm" data-map="RDCT_SE_NM" readonly />
</div>
<!-- 분납 구분 명 -->
<div class="col-md-4">
<label for="ispySeNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">분납구분</label>
<input type="text" class="form-control w-30" id="ispySeNm--${pageName}" name="ispySeNm" data-map="ISPY_SE_NM" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="ispySeNm">분납구분</label>
<input is="id-input" type="text" class="form-control w-30" name="ispySeNm" data-map="ISPY_SE_NM" readonly />
</div>
<!-- 분납 이자 -->
<div class="col-md-4">
<label for="ispyInt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">분납이자</label>
<input type="text" class="form-control w-30 text-end" id="ispyInt--${pageName}" name="ispyInt" data-map="ISPY_INT" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="ispyInt">분납이자</label>
<input is="id-input" type="text" class="form-control w-30 text-end" name="ispyInt" data-map="ISPY_INT" readonly />
</div>
<!-- 부과 일자 -->
<div class="col-md-4">
<label for="levyYmd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">부과일자</label>
<input type="text" class="form-control w-30" id="levyYmd--${pageName}" name="levyYmd" data-map="LEVY_YMD" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="levyYmd">부과일자</label>
<input is="id-input" type="text" class="form-control w-30" idname="levyYmd" data-map="LEVY_YMD" readonly />
</div>
<!-- 최초 납기 일자 -->
<div class="col-md-4">
<label for="frstDudtYmd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">최초납기일자</label>
<input type="text" class="form-control w-30" id="frstDudtYmd--${pageName}" name="frstDudtYmd" data-map="FRST_DUDT_YMD" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="frstDudtYmd">최초납기일자</label>
<input is="id-input" type="text" class="form-control w-30" name="frstDudtYmd" data-map="FRST_DUDT_YMD" readonly />
</div>
<!-- 납기 일자 -->
<div class="col-md-4">
<label for="dudtYmd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">납기일자</label>
<input type="text" class="form-control w-30" id="dudtYmd--${pageName}" name="dudtYmd" data-map="DUDT_YMD" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="dudtYmd">납기일자</label>
<input is="id-input" type="text" class="form-control w-30" name="dudtYmd" data-map="DUDT_YMD" readonly />
</div>
<!-- 부과 본세 -->
<div class="col-md-4">
<label for="levyPcptax--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">부과본세</label>
<input type="text" class="form-control w-30 text-end" id="levyPcptax--${pageName}" name="levyPcptax" data-map="LEVY_PCPTAX" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="levyPcptax">부과본세</label>
<input is="id-input" type="text" class="form-control w-30 text-end" name="levyPcptax" data-map="LEVY_PCPTAX" readonly />
</div>
<!-- 수납 본세 -->
<div class="col-md-4">
<label for="rcvmtPcptax--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">수납본세</label>
<input type="text" class="form-control w-30 text-end" id="rcvmtPcptax--${pageName}" name="rcvmtPcptax" data-map="RCVMT_PCPTAX" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="rcvmtPcptax">수납본세</label>
<input is="id-input" type="text" class="form-control w-30 text-end" name="rcvmtPcptax" data-map="RCVMT_PCPTAX" readonly />
</div>
<!-- 감액 본세 -->
<div class="col-md-4">
<label for="rdamtPcptax--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">감액본세</label>
<input type="text" class="form-control w-30 text-end" id="rdamtPcptax--${pageName}" name="rdamtPcptax" data-map="RDAMT_PCPTAX" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="rdamtPcptax">감액본세</label>
<input is="id-input" type="text" class="form-control w-30 text-end" name="rdamtPcptax" data-map="RDAMT_PCPTAX" readonly />
</div>
<!-- 부과 가산금 -->
<div class="col-md-4">
<label for="levyAdamt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">부과가산금</label>
<input type="text" class="form-control w-30 text-end" id="levyAdamt--${pageName}" name="levyAdamt" data-map="LEVY_ADAMT" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="levyAdamt">부과가산금</label>
<input is="id-input" type="text" class="form-control w-30 text-end" name="levyAdamt" data-map="LEVY_ADAMT" readonly />
</div>
<!-- 수납 가산금 -->
<div class="col-md-4">
<label for="rcvmtAdamt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">수납가산금</label>
<input type="text" class="form-control w-30 text-end" id="rcvmtAdamt--${pageName}" name="rcvmtAdamt" data-map="RCVMT_ADAMT" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="rcvmtAdamt">수납가산금</label>
<input is="id-input" type="text" class="form-control w-30 text-end" name="rcvmtAdamt" data-map="RCVMT_ADAMT" readonly />
</div>
<!-- 감액 가산금 -->
<div class="col-md-4">
<label for="rdamtAdamt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">감액가산금</label>
<input type="text" class="form-control w-30 text-end" id="rdamtAdamt--${pageName}" name="rdamtAdamt" data-map="RDAMT_ADAMT" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="rdamtAdamt">감액가산금</label>
<input is="id-input" type="text" class="form-control w-30 text-end" name="rdamtAdamt" data-map="RDAMT_ADAMT" readonly />
</div>
<!-- -->
<div class="col-md-4">
@ -145,48 +145,73 @@
</div>
<!-- 합계 금액 -->
<div class="col-md-4">
<label for="sumAmt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">미납금액</label>
<input type="text" class="form-control w-30 text-end fw-bold text-red" id="sumAmt--${pageName}" name="sumAmt" data-map="SUM_AMT" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="sumAmt">미납금액</label>
<input is="id-input" type="text" class="form-control w-30 text-end fw-bold text-red" name="sumAmt" data-map="SUM_AMT" readonly />
</div>
<!-- 관리 항목 1 -->
<div class="col-md-4">
<label for="mngItem1--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">관리항목1</label>
<input type="text" class="form-control w-65" id="mngItem1--${pageName}" name="mngItem1" data-map="MNG_ITEM1" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="mngItem1">관리항목1</label>
<input is="id-input" type="text" class="form-control w-65" name="mngItem1" data-map="MNG_ITEM1" readonly />
</div>
<!-- 관리 항목 2 -->
<div class="col-md-4">
<label for="mngItem2--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">관리항목2</label>
<input type="text" class="form-control w-65" id="mngItem2--${pageName}" name="mngItem2" data-map="MNG_ITEM2" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="mngItem2">관리항목2</label>
<input is="id-input" type="text" class="form-control w-65" name="mngItem2" data-map="MNG_ITEM2" readonly />
</div>
<!-- 관리 항목 3 -->
<div class="col-md-4">
<label for="mngItem3--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">관리항목3</label>
<input type="text" class="form-control w-65" id="mngItem3--${pageName}" name="mngItem3" data-map="MNG_ITEM3" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="mngItem3">관리항목3</label>
<input is="id-input" type="text" class="form-control w-65" name="mngItem3" data-map="MNG_ITEM3" readonly />
</div>
<!-- 관리 항목 4 -->
<div class="col-md-4">
<label for="mngItem4--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">관리항목4</label>
<input type="text" class="form-control w-65" id="mngItem4--${pageName}" name="mngItem4" data-map="MNG_ITEM4" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="mngItem4">관리항목4</label>
<input is="id-input" type="text" class="form-control w-65" name="mngItem4" data-map="MNG_ITEM4" readonly />
</div>
<!-- 관리 항목 5 -->
<div class="col-md-4">
<label for="mngItem5--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">관리항목5</label>
<input type="text" class="form-control w-65" id="mngItem5--${pageName}" name="mngItem5" data-map="MNG_ITEM5" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="mngItem5">관리항목5</label>
<input is="id-input" type="text" class="form-control w-65" name="mngItem5" data-map="MNG_ITEM5" readonly />
</div>
<!-- 관리 항목 6 -->
<div class="col-md-4">
<label for="mngItem6--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">관리항목6</label>
<input type="text" class="form-control w-65" id="mngItem6--${pageName}" name="mngItem6" data-map="MNG_ITEM6" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="mngItem6">관리항목6</label>
<input is="id-input" type="text" class="form-control w-65" name="mngItem6" data-map="MNG_ITEM6" readonly />
</div>
<!-- 체납 구분 코드 -->
<div class="col-md-4">
<label for="npmntSeNm--${pageName}${pageDataName2}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">체납구분</label>
<input type="text" class="form-control w-40" id="npmntSeNm--${pageName}${pageDataName2}" name="npmntSeNm" data-map="NPMNT_SE_NM" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="npmntSeNm">체납구분</label>
<input is="id-input" type="text" class="form-control w-40" name="npmntSeNm" data-map="NPMNT_SE_NM" readonly />
</div>
<!-- 체납 사유 -->
<div class="col-md-8">
<label for="npmntRsn--${pageName}${pageDataName2}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">체납사유</label>
<input type="text" class="form-control w-80" id="npmntRsn--${pageName}${pageDataName2}" name="npmntRsn" data-map="NPMNT_RSN" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="npmntRsn">체납사유</label>
<input is="id-input" type="text" class="form-control w-80" name="npmntRsn" data-map="NPMNT_RSN" readonly />
</div>
<!-- 압류 일자 -->
<div class="col-md-4">
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="szrYmd">압류일자</label>
<input is="id-input" type="text" class="form-control w-30" name="szrYmd" data-map="SZR_YMD" readonly />
</div>
<!-- 대체 압류 자동차등록번호 -->
<div class="col-md-4">
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="rpmSzrVhrno">대체압류차량</label>
<input is="id-input" type="text" class="form-control w-35" name="rpmSzrVhrno" data-map="RPM_SZR_VHRNO" readonly />
</div>
<!-- 압류 물건 -->
<div class="col-md-4">
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="szrThing">압류물건</label>
<input is="id-input" type="text" class="form-control w-60" name="szrThing" data-map="SZR_THING" readonly />
</div>
<!-- 압류 해제 일자 -->
<div class="col-md-4">
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="szrRmvYmd">압류해제일자</label>
<input is="id-input" type="text" class="form-control w-30" name="szrRmvYmd" data-map="SZR_RMV_YMD" readonly />
</div>
<!-- 압류 해제 사유 -->
<div class="col-md-8">
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="szrRmvRsn">압류해제사유</label>
<input is="id-input" type="text" class="form-control w-80" name="szrRmvRsn" data-map="SZR_RMV_RSN" readonly />
</div>
</div> <!-- <div class="row g-1"> -->
</div> <!-- <div class="card"> -->
@ -198,21 +223,21 @@
<div class="card">
<!-- 업무 버튼 -->
<div class="container-page-btn">
<label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">납부 안내 정보</label>
<label class="col-form-label bg-label-danger pe-2 w-px-120 text-sm-center">납부 안내 정보</label>
</div> <!-- <div class="container-page-btn"> -->
<div class="row g-1">
<!-- 전자납부번호 -->
<div class="col-md-12">
<label for="epaynoMask--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">전자납부번호</label>
<input type="text" class="form-control w-65" id="epaynoMask--${pageName}" name="epaynoMask" data-map="EPAYNO_MASK" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="epaynoMask">전자납부번호</label>
<input is="id-input" type="text" class="form-control w-65" name="epaynoMask" data-map="EPAYNO_MASK" readonly />
</div>
<!-- 가상계좌번호 -->
<div class="col-md-12">
<label for="vrActno--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">가상계좌번호</label>
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="vrActno">가상계좌번호</label>
</div>
<div class="col-md-12">
<textarea type="text" class="form-control w-100" id="vrActno--${pageName}" name="vrActno" data-map="VR_ACTNO" rows="15"></textarea>
<textarea is="id-textarea" type="text" class="form-control w-100" name="vrActno" data-map="VR_ACTNO" rows="15"></textarea>
</div>
</div>
</div> <!-- <div class="card"> -->
@ -221,56 +246,13 @@
</div> <!-- <div class="d-flex flex-row justify-content-evenly"> -->
</form>
<!-- 입력 영역 -->
<div class="d-flex flex-row justify-content-evenly">
<!-- 압류 정보 -->
<div class="col-xl-12 mx-1">
<div class="card">
<!-- 업무 버튼 -->
<div class="container-page-btn">
<label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">압류 정보</label>
</div> <!-- <div class="container-page-btn"> -->
<form id="frmEdit--${pageName}${pageDataName3}" name="frmEdit${pageDataName3}">
<div class="row g-1">
<!-- 압류 일자 -->
<div class="col-md-3">
<label for="szrYmd--${pageName}${pageDataName3}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">압류일자</label>
<input type="text" class="form-control w-30" id="szrYmd--${pageName}${pageDataName3}" name="szrYmd" data-map="SZR_YMD" readonly />
</div>
<!-- 대체 압류 자동차등록번호 -->
<div class="col-md-3">
<label for="rpmSzrVhrno--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">대체압류차량</label>
<input type="text" class="form-control w-35" id="rpmSzrVhrno--${pageName}" name="rpmSzrVhrno" data-map="RPM_SZR_VHRNO" readonly />
</div>
<!-- 압류 물건 -->
<div class="col-md-6">
<label for="szrThing--${pageName}${pageDataName3}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">압류물건</label>
<input type="text" class="form-control w-80" id="szrThing--${pageName}${pageDataName3}" name="szrThing" data-map="SZR_THING" readonly />
</div>
<!-- 압류 해제 일자 -->
<div class="col-md-3">
<label for="szrRmvYmd--${pageName}${pageDataName3}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">압류해제일자</label>
<input type="text" class="form-control w-30" id="szrRmvYmd--${pageName}${pageDataName3}" name="szrRmvYmd" data-map="SZR_RMV_YMD" readonly />
</div>
<!-- 압류 해제 사유 -->
<div class="col-md-9">
<label for="szrRmvRsn--${pageName}${pageDataName3}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">압류해제사유</label>
<input type="text" class="form-control w-87" id="szrRmvRsn--${pageName}${pageDataName3}" name="szrRmvRsn" data-map="SZR_RMV_RSN" readonly />
</div>
</div> <!-- <div class="row g-1"> -->
</form>
</div> <!-- <div class="card"> -->
</div> <!-- <div class="col-xl-12 mx-1"> -->
<!-- 압류 정보 -->
</div> <!-- <div class="d-flex flex-row justify-content-evenly"> -->
</div> <!-- <div class="content-pop"> -->
<script>
/**************************************************************************
* Global Variable
**************************************************************************/
pageObject["${pageName}"] = {};
pageObject["${pageName}"] = newDoctxFinder("${pageName}");
/**************************************************************************
* script 진입
@ -280,12 +262,12 @@
let $P = pageObject["${pageName}"];
// FormFields
$P.formFields = new FimsFormFields("#frmEdit--${pageName}");
$P.formFields = new FimsFormFields($P.selector("frmEditLevy"));
/**************************************************************************
* DatasetControl
**************************************************************************/
$P.control = new DatasetControl({
$P.ctrlLevy = new DatasetControl({
prefix: "levy"
, prefixName: "부과"
, keymapper: info => info ? info.LEVY_ID : ""
@ -314,41 +296,32 @@
* DatasetControl 이벤트
**************************************************************************/
// 현재 선택 자료 변경 이벤트
$P.control.onCurrentChange = (item) => {
$P.ctrlLevy.onCurrentChange = (item) => {
if (!item) return;
// Dataset 셋팅
$P.formFields.set($P.control, item);
$P.formFields.set($P.ctrlLevy, item);
let key = item.data.LEVY_ID;
// 가상계좌번호
if (key != null) {
let vrActno = "";
if (item.data.BANK_NM != null && item.data.BANK_NM != "") vrActno += item.data.BANK_NM + " " + item.data.VR_ACTNO + "\n"; // 가상 계좌번호
if (item.data.BANK_NM2 != null && item.data.BANK_NM2 != "") vrActno += item.data.BANK_NM2 + " " + item.data.VR_ACTNO2 + "\n"; // 가상 계좌번호2
if (item.data.BANK_NM3 != null && item.data.BANK_NM3 != "") vrActno += item.data.BANK_NM3 + " " + item.data.VR_ACTNO3 + "\n"; // 가상 계좌번호3
if (item.data.BANK_NM4 != null && item.data.BANK_NM4 != "") vrActno += item.data.BANK_NM4 + " " + item.data.VR_ACTNO4 + "\n"; // 가상 계좌번호4
if (item.data.BANK_NM5 != null && item.data.BANK_NM5 != "") vrActno += item.data.BANK_NM5 + " " + item.data.VR_ACTNO5 + "\n"; // 가상 계좌번호5
if (item.data.BANK_NM6 != null && item.data.BANK_NM6 != "") vrActno += item.data.BANK_NM6 + " " + item.data.VR_ACTNO6 + "\n"; // 가상 계좌번호6
if (item.data.BANK_NM7 != null && item.data.BANK_NM7 != "") vrActno += item.data.BANK_NM7 + " " + item.data.VR_ACTNO7 + "\n"; // 가상 계좌번호7
if (item.data.BANK_NM8 != null && item.data.BANK_NM8 != "") vrActno += item.data.BANK_NM8 + " " + item.data.VR_ACTNO8 + "\n"; // 가상 계좌번호8
if (item.data.BANK_NM9 != null && item.data.BANK_NM9 != "") vrActno += item.data.BANK_NM9 + " " + item.data.VR_ACTNO9 + "\n"; // 가상 계좌번호9
if (item.data.BANK_NM10 != null && item.data.BANK_NM10 != "") vrActno += item.data.BANK_NM10 + " " + item.data.VR_ACTNO10 + "\n"; // 가상 계좌번호10
if (item.data.BANK_NM11 != null && item.data.BANK_NM11 != "") vrActno += item.data.BANK_NM11 + " " + item.data.VR_ACTNO11 + "\n"; // 가상 계좌번호11
if (item.data.BANK_NM12 != null && item.data.BANK_NM12 != "") vrActno += item.data.BANK_NM12 + " " + item.data.VR_ACTNO12 + "\n"; // 가상 계좌번호12
if (item.data.BANK_NM13 != null && item.data.BANK_NM13 != "") vrActno += item.data.BANK_NM13 + " " + item.data.VR_ACTNO13 + "\n"; // 가상 계좌번호13
if (item.data.BANK_NM14 != null && item.data.BANK_NM14 != "") vrActno += item.data.BANK_NM14 + " " + item.data.VR_ACTNO14 + "\n"; // 가상 계좌번호14
if (item.data.BANK_NM15 != null && item.data.BANK_NM15 != "") vrActno += item.data.BANK_NM15 + " " + item.data.VR_ACTNO15 + "\n"; // 가상 계좌번호15
if (item.data.BANK_NM16 != null && item.data.BANK_NM16 != "") vrActno += item.data.BANK_NM16 + " " + item.data.VR_ACTNO16 + "\n"; // 가상 계좌번호16
if (item.data.BANK_NM17 != null && item.data.BANK_NM17 != "") vrActno += item.data.BANK_NM17 + " " + item.data.VR_ACTNO17 + "\n"; // 가상 계좌번호17
if (item.data.BANK_NM18 != null && item.data.BANK_NM18 != "") vrActno += item.data.BANK_NM18 + " " + item.data.VR_ACTNO18 + "\n"; // 가상 계좌번호18
if (item.data.BANK_NM19 != null && item.data.BANK_NM19 != "") vrActno += item.data.BANK_NM19 + " " + item.data.VR_ACTNO19 + "\n"; // 가상 계좌번호19
if (item.data.BANK_NM20 != null && item.data.BANK_NM20 != "") vrActno += item.data.BANK_NM20 + " " + item.data.VR_ACTNO20 + "\n"; // 가상 계좌번호20
$("#vrActno--${pageName}").val(vrActno);
}
let vrActno = Array.from({length: 20}, (x, i) => {
let no = i + 1
, bank = "BANK_NM" + (no > 1 ? no : "")
, account = "VR_ACTNO" + (no > 1 ? no : "");
return [bank, account]
})
.map(entry => {
let bank = item.data[entry[0]]
, account = item.data[entry[1]];
return bank ? bank + " " + account : null;
})
.filter(txt => txt != null)
.join("\n");
$P.$find("vrActno").val(vrActno); // 가상 계좌번호
}
/**************************************************************************
@ -356,16 +329,16 @@
**************************************************************************/
// 자료 재조회
$P.fnRefreshDataInfo = () => {
// 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val();
let crdnId = pageObject["${mainPageName}"].mainCtrl.getValue("CRDN_ID"); // 단속 ID
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
if (!crdnId) return;
let params = {
callPurpose: "refresh"
, sggCd: $("#sggCd--${pageNameMain}").val()
, taskSeCd: $("#taskSeCd--${pageNameMain}").val()
, crdnId: crdnId
, sggCd: pageObject["${mainPageName}"].mainCtrl.getValue("SGG_CD")
, taskSeCd: pageObject["${mainPageName}"].mainCtrl.getValue("TASK_SE_CD")
, crdnId: pageObject["${mainPageName}"].mainCtrl.getValue("CRDN_ID")
, delYn: "N"
};
@ -373,26 +346,28 @@
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/060/info.do")
, headers: { Accept: "application/json; charset=utf-8" } // json
, data: params || {}
, success: resp => {
, success: (resp) => {
// 초기화
$("#frmEdit--${pageName}")[0].reset(); // 화면 초기화
$P.control.dataset.clear(); // Dataset 초기화
$P.find("frmEditLevy").reset(); // 화면 초기화
$P.ctrlLevy.dataset.clear(); // Dataset 초기화
// sprt02010-main 단속 정보
pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]);
pageObject["${mainPageName}"].mainCtrl.setData([resp.totalInfo]);
// Dataset 셋팅
if (resp.levyInfo) { $P.control.setData([resp.levyInfo]); } // 부과 정보
if (resp.levyInfo) {
$P.ctrlLevy.setData([resp.levyInfo]); // 부과 정보
}
}
});
}
// 부과제외 dialog
$P.createLevyExcl = (params) => {
$P.createLevyExclInfo = (params) => {
if (!params) return;
ajax.get({
url: wctx.url("/" + params.taskSeCd + "/excl/excl01/020/info.do") + "?openerPageName=${pageName}"
url: wctx.url("/" + params.taskSeCd + "/excl/excl01/020/info.do")
, data: params || {}
, success: resp => {
if ((typeof resp) != "string") {
@ -401,11 +376,20 @@
}
return;
} else {
let dialogName = "levyExclDialog";
let dialogId = dialogName + "-" + uuid();
dialog.open({
id: "levyExclDialog--${pageName}"
, title: params.title
, content: resp
id: dialogId
, title: params.btnTitle
, size: "md"
, content: resp
, init: () => {
setDialogZindex();
$("#" + dialogId).attr("name", dialogName);
$("#" + dialogId).attr("data-ref-doctx", "${pageName}");
}
, onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회
});
}
@ -417,42 +401,28 @@
* 버튼 clickEvent
**************************************************************************/
// 부과 등록
$P.fnCreateLevy = (title) => {
$P.fnCreateLevy = (btnTitle) => {
//
}
// 부과 취소
$P.fnCreateLevyExcl = (title) => {
// 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val();
$P.fnCreateLevyExcl = (btnTitle) => {
let crdnId = pageObject["${mainPageName}"].mainCtrl.getValue("CRDN_ID"); // 단속 ID
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
// 단속 상태 코드
let crdnSttsCd = $("#crdnSttsCd--${pageNameMain}").val();
let crdnSttsNm = $("#crdnSttsNm--${pageNameMain}").val();
// 단속 상태 코드 확인
if (Number(crdnSttsCd) < 51 || Number(crdnSttsCd) > 55) {
dialog.alert({
content: "[" + title + "]" + " 작업은 단속상태가 '본부과' 이후 '미수납' 자료만 처리 가능합니다."
+ "<br>" + "단속상태 : " + crdnSttsNm
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK: () => { }
});
return;
}
if (!crdnId) return;
let params = {
callPurpose: "create"
, title: title
, sggCd: $("#sggCd--${pageNameMain}").val()
, taskSeCd: $("#taskSeCd--${pageNameMain}").val()
, crdnId: crdnId
, btnTitle: btnTitle
, sggCd: pageObject["${mainPageName}"].mainCtrl.getValue("SGG_CD") // 시군구 코드
, taskSeCd: pageObject["${mainPageName}"].mainCtrl.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: pageObject["${mainPageName}"].mainCtrl.getValue("CRDN_ID") // 단속 ID
, levyExclSeCd: "3"
, delYn: "N"
};
$P.createLevyExcl(params);
$P.createLevyExclInfo(params);
}
/**************************************************************************
@ -461,24 +431,27 @@
// 이벤트 설정
$P.setEvent = () => {
// 업무 버튼 이벤트
$("#btnCreateLevy--${pageName}").on("click", function() {
$P.fnCreateLevy($(this).attr("title")); // 부과 등록
$P.$find("btnCreateLevy").on("click", function() {
$P.fnCreateLevy($P.$find("btnCreateLevy").attr("title")); // 부과 등록
});
$("#btnCreateLevyExcl--${pageName}").on("click", function() {
$P.fnCreateLevyExcl($(this).attr("title")); // 부과 취소
$P.$find("btnCreateLevyExcl").on("click", function() {
$P.fnCreateLevyExcl($P.$find("btnCreateLevyExcl").attr("title")); // 부과 취소
});
}
// 초기 화면 설정
$P.initForm = () => {
// button 요소들을 disabled = true
$("#btnCreateLevy--${pageName}").prop("disabled", true);
$("#btnCreateLevyExcl--${pageName}").prop("disabled", true);
// 화면 호출(callPurpose)이 view가 아니라면 버튼 비활성화 disabled = false
if (pageObject['${pageNameMain}'].callPurpose != "view") {
$("#btnCreateLevy--${pageName}").prop("disabled", false);
$("#btnCreateLevyExcl--${pageName}").prop("disabled", false);
// 초기화
$P.find("frmEditLevy").reset(); // 화면 초기화
$P.ctrlLevy.dataset.clear(); // Dataset 초기화
// 화면 호출(callPurpose)이 view라면 버튼 비활성화 disabled = true
if (pageObject['${mainPageName}'].callPurpose == "view") {
$P.$find("btnCreateLevy").prop("disabled", true);
$P.$find("btnCreateLevyExcl").prop("disabled", true);
} else {
$P.$find("btnCreateLevy").prop("disabled", false);
$P.$find("btnCreateLevyExcl").prop("disabled", false);
}
}
@ -493,7 +466,9 @@
// 3. Dataset 설정
let levyInfo = ${levyInfo}; // 부과 정보
if (levyInfo) { $P.control.setData([levyInfo]); }
if (levyInfo) {
$P.ctrlLevy.setData([levyInfo]);
}
});
</script>

@ -2,99 +2,101 @@
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<!-- Page Body -->
<div class="content-pop">
<div class="content-pop" data-doctx="${pageName}">
<div class="d-flex flex-row justify-content-evenly">
<!-- 수납 정보 -->
<div class="col-xl-12 mx-1">
<div class="card">
<!-- 업무 버튼 -->
<div class="container-page-btn">
<label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">수납 정보</label>
<label class="col-form-label bg-label-danger pe-2 w-px-120 text-sm-center">수납 정보</label>
<!-- 버튼 우측 정렬 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-120" id="btnCreateRcvmt--${pageName}" title="수납 등록">
<button type="button" class="btn btn-primary w-px-120" name="btnCreateRcvmt" title="수납 등록">
수납 등록
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnUpdateRcvmtRtrc--${pageName}" title="수납 취소">
<button type="button" class="btn btn-primary w-px-120" name="btnUpdateRcvmtRtrc" title="수납 취소">
수납 취소
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnRemoveRcvmt--${pageName}" title="수납 삭제">
<button type="button" class="btn btn-primary w-px-120" name="btnRemoveRcvmt" title="수납 삭제">
수납 삭제
</button>
</span>
</span> <!-- <span class="container-window-btn-right"> -->
</div> <!-- <div class="container-page-btn"> -->
<div class="row g-1">
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div id="DataTables_Table_0_wrapper--${pageName}" class="dataTables_wrapper dt-bootstrap5 no-footer">
<div id="table-responsive--${pageName}" class="table-responsive ox-scroll oy-scroll h-px-400">
<table class="dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead>
<tr id="theadTr--${pageName}">
<th>수납취소</th>
<th>수납입력구분</th>
<th>수납일련번호</th>
<th>수납구분</th>
<th>부서코드</th>
<th>특별회계사업코드</th>
<th>회계연도</th>
<th>회계구분</th>
<th>세목코드</th>
<th>부과번호</th>
<th>수납일자</th>
<th>회계일자</th>
<th>이체일자</th>
<th>수납금액</th>
<th>수납본세</th>
<th>수납가산금</th>
<th>수납이자</th>
<th>수납은행명</th>
<th>납부방법구분</th>
<th>전자납부번호</th>
<th>가상계좌번호</th>
<th>수납취소일시</th>
<th>수납취소사유</th>
<th>수납상태</th>
<th>등록일시</th>
<th>등록사용자</th>
<div class="dataTables_wrapper dt-bootstrap5 no-footer">
<div class="table-responsive ox-scroll oy-scroll h-px-400" name="tableRspnsRcvmt">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr name="theadTrRcvmt">
<th class="cmn sorting" style="width: 100px" data-field="RCVMT_RTRCN_NM">수납취소</th>
<th class="cmn sorting" style="width: 140px" data-field="RCVMT_INPT_SE_NM">수납입력구분</th>
<th class="cmn sorting" style="width: 120px" data-field="RCVMT_SN">수납일련번호</th>
<th class="cmn sorting" style="width: 120px" data-field="RCVMT_SE_NM">수납구분</th>
<th class="cmn sorting" style="width: 100px" data-field="DEPT_CD">부서코드</th>
<th class="cmn sorting" style="width: 140px" data-field="SPCL_BIZ_CD">특별회계사업코드</th>
<th class="cmn sorting" style="width: 100px" data-field="FYR">회계연도</th>
<th class="cmn sorting" style="width: 100px" data-field="ACNTG_SE_CD">회계구분</th>
<th class="cmn sorting" style="width: 120px" data-field="TXITM_CD">세목코드</th>
<th class="cmn sorting" style="width: 120px" data-field="LEVY_NO">부과번호</th>
<th class="cmn sorting" style="width: 120px" data-field="RCVMT_YMD">수납일자</th>
<th class="cmn sorting" style="width: 120px" data-field="ACNTG_YMD">회계일자</th>
<th class="cmn sorting" style="width: 120px" data-field="TSF_YMD">이체일자</th>
<th class="cmn sorting" style="width: 120px" data-field="RCVMT_AMT">수납금액</th>
<th class="cmn sorting" style="width: 120px" data-field="RCVMT_PCPTAX">수납본세</th>
<th class="cmn sorting" style="width: 120px" data-field="RCVMT_ADAMT">수납가산금</th>
<th class="cmn sorting" style="width: 120px" data-field="RCVMT_INT">수납이자</th>
<th class="cmn sorting" style="width: 200px" data-field="RCVMT_BANK_NM">수납은행명</th>
<th class="cmn sorting" style="width: 160px" data-field="PAY_MTHD_SE_NM">납부방법구분</th>
<th class="cmn sorting" style="width: 200px" data-field="EPAYNO">전자납부번호</th>
<th class="cmn sorting" style="width: 200px" data-field="VR_ACTNO">가상계좌번호</th>
<th class="cmn sorting" style="width: 140px" data-field="RCVMT_RTRCN_DT">수납취소일시</th>
<th class="cmn sorting" style="width: 160px" data-field="RCVMT_RTRCN_RSN">수납취소사유</th>
<th class="cmn sorting" style="width: 120px" data-field="RCVMT_STTS_NM">수납상태</th>
<th class="cmn sorting" style="width: 180px" data-field="REG_DT">등록일시</th>
<th class="cmn sorting" style="width: 140px" data-field="RGTR_NM">등록사용자</th>
<th class="cmn dummy-th"></th>
</tr>
</thead>
<tbody id="tbody--${pageName}">
<tbody name="tbodyRcvmtList">
</tbody>
<template id="rcvmtRow--${pageName}">
<tr data-key="{RCVMT_ID}">
<td class="text-center text-red" onclick="{onclick}">{RCVMT_RTRCN_NM}</td>
<td class="text-center" onclick="{onclick}">{RCVMT_INPT_SE_NM}</td>
<td class="text-center" onclick="{onclick}">{RCVMT_SN}</td>
<td class="text-center" onclick="{onclick}">{RCVMT_SE_NM}</td>
<td class="text-center" onclick="{onclick}">{DEPT_CD}</td>
<td class="text-center" onclick="{onclick}">{SPCL_BIZ_CD}</td>
<td class="text-center" onclick="{onclick}">{FYR}</td>
<td class="text-center" onclick="{onclick}">{ACNTG_SE_CD}</td>
<td class="text-center" onclick="{onclick}">{TXITM_CD}</td>
<td class="text-center" onclick="{onclick}">{LEVY_NO}</td>
<td class="text-center" onclick="{onclick}">{RCVMT_YMD}</td>
<td class="text-center" onclick="{onclick}">{ACNTG_YMD}</td>
<td class="text-center" onclick="{onclick}">{TSF_YMD}</td>
<td class="text-end" onclick="{onclick}">{RCVMT_AMT}</td>
<td class="text-end" onclick="{onclick}">{RCVMT_PCPTAX}</td>
<td class="text-end" onclick="{onclick}">{RCVMT_ADAMT}</td>
<td class="text-end" onclick="{onclick}">{RCVMT_INT}</td>
<td class="text-start" onclick="{onclick}">{RCVMT_BANK_NM}</td>
<td class="text-start" onclick="{onclick}">{PAY_MTHD_SE_NM}</td>
<td class="text-center" onclick="{onclick}">{EPAYNO}</td>
<td class="text-center" onclick="{onclick}">{VRACTNO}</td>
<td class="text-center" onclick="{onclick}">{RCVMT_RTRCN_DT}</td>
<td class="text-center" onclick="{onclick}">{RCVMT_RTRCN_RSN}</td>
<td class="text-center" onclick="{onclick}">{RCVMT_STTS_NM}</td>
<td class="text-center" onclick="{onclick}">{REG_DT}</td>
<td class="text-center" onclick="{onclick}">{RGTR_NM}</td>
<template is="curly-brackets" name="tableRowsRcvmt">
<tr data-key="RCVMT_ID">
<td class="text-center text-red" onclick">{RCVMT_RTRCN_NM}</td>
<td class="text-center" onclick>{RCVMT_INPT_SE_NM}</td>
<td class="text-center" onclick>{RCVMT_SN}</td>
<td class="text-center" onclick>{RCVMT_SE_NM}</td>
<td class="text-center" onclick>{DEPT_CD}</td>
<td class="text-center" onclick>{SPCL_BIZ_CD}</td>
<td class="text-center" onclick>{FYR}</td>
<td class="text-center" onclick>{ACNTG_SE_CD}</td>
<td class="text-center" onclick>{TXITM_CD}</td>
<td class="text-center" onclick>{LEVY_NO}</td>
<td class="text-center" onclick>{RCVMT_YMD}</td>
<td class="text-center" onclick>{ACNTG_YMD}</td>
<td class="text-center" onclick>{TSF_YMD}</td>
<td class="text-end" onclick>{RCVMT_AMT}</td>
<td class="text-end" onclick>{RCVMT_PCPTAX}</td>
<td class="text-end" onclick>{RCVMT_ADAMT}</td>
<td class="text-end" onclick>{RCVMT_INT}</td>
<td class="text-start" onclick>{RCVMT_BANK_NM}</td>
<td class="text-start" onclick>{PAY_MTHD_SE_NM}</td>
<td class="text-center" onclick>{EPAYNO}</td>
<td class="text-center" onclick>{VR_ACTNO}</td>
<td class="text-center" onclick>{RCVMT_RTRCN_DT}</td>
<td class="text-center" onclick>{RCVMT_RTRCN_RSN}</td>
<td class="text-center" onclick>{RCVMT_STTS_NM}</td>
<td class="text-center" onclick>{REG_DT}</td>
<td class="text-center" onclick>{RGTR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="rcvmtNotFound--${pageName}">
<template name="notFoundRcvmt">
<tr class="odd">
<td valign="top" colspan="26" class="dataTables_empty text-center">수납정보 이력 정보를 찾지 못했습니다.</td>
<td valign="top" colspan="27" class="dataTables_empty text-center">수납정보 이력 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
@ -106,112 +108,106 @@
<div class="card">
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit">
<form name="frmEditRcvmt">
<!-- hidden -->
<input type="hidden" id="rcvmtId--${pageName}" name="rcvmtId" data-map="RCVMT_ID" />
<input type="hidden" id="levyId--${pageName}" name="levyId" data-map="LEVY_ID" />
<input type="hidden" name="rcvmtId" data-map="RCVMT_ID" />
<input type="hidden" name="levyId" data-map="LEVY_ID" />
<div class="row g-1">
<!-- 회계 연도 -->
<div class="col-md-3">
<label for="fyr--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">회계연도</label>
<input type="text" class="form-control w-15" id="fyr--${pageName}" name="fyr" data-map="FYR" readonly />
</div>
<!-- 회계 구분 -->
<div class="col-md-3">
<label for="acntgSeCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">회계구분</label>
<input type="text" class="form-control w-15" id="acntgSeCd--${pageName}" name="acntgSeCd" data-map="ACNTG_SE_CD" readonly />
<input type="text" class="form-control w-50" id="acntgSeNm--${pageName}" name="acntgSeNm" data-map="ACNTG_SE_NM" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="acntgSeCd">회계구분</label>
<input is="id-input" type="text" class="form-control w-15" name="acntgSeCd" data-map="ACNTG_SE_CD" readonly />
<input is="id-input" type="text" class="form-control w-50" name="acntgSeNm" data-map="ACNTG_SE_NM" readonly />
</div>
<!-- 세목 코드 -->
<div class="col-md-3">
<label for="txitmCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">세목코드</label>
<input type="text" class="form-control w-20" id="txitmCd--${pageName}" name="txitmCd" data-map="TXITM_CD" readonly />
<input type="text" class="form-control w-45" id="txitmNm--${pageName}" name="txitmNm" data-map="TXITM_NM" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="txitmCd">세목코드</label>
<input is="id-input" type="text" class="form-control w-20" name="txitmCd" data-map="TXITM_CD" readonly />
<input is="id-input" type="text" class="form-control w-45" name="txitmNm" data-map="TXITM_NM" readonly />
</div>
<!-- 회계 연도 -->
<div class="col-md-3">
<label class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="fyr">회계연도</label>
<input is="id-input" type="text" class="form-control w-15" name="fyr" data-map="FYR" readonly />
</div>
<!-- 부과 번호 -->
<div class="col-md-3">
<label for="levyNo--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">부과번호</label>
<input type="text" class="form-control w-20" id="levyNo--${pageName}" name="levyNo" data-map="LEVY_NO" readonly />
<input type="text" class="form-control w-10" id="ispySn--${pageName}" name="ispySn" data-map="ISPY_SN" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="levyNo">부과번호</label>
<input is="id-input" type="text" class="form-control w-20" name="levyNo" data-map="LEVY_NO" readonly />
<input is="id-input" type="text" class="form-control w-15" name="ispySn" data-map="ISPY_SN" readonly />
</div>
<!-- 수납 순번 -->
<div class="col-md-3">
<label for="rcvmtSn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">수납순번</label>
<input type="text" class="form-control w-15" id="rcvmtSn--${pageName}" name="rcvmtSn" data-map="RCVMT_SN" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="rcvmtSn">수납순번</label>
<input is="id-input" type="text" class="form-control w-15" name="rcvmtSn" data-map="RCVMT_SN" readonly />
</div>
<!-- 수납 일자 -->
<div class="col-md-3">
<label for="rcvmtYmd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">수납일자</label>
<input type="text" class="form-control w-30" id="rcvmtYmd--${pageName}" name="rcvmtYmd" data-map="RCVMT_YMD" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="rcvmtYmd">수납일자</label>
<input is="id-input" type="text" class="form-control w-30" name="rcvmtYmd" data-map="RCVMT_YMD" readonly />
</div>
<!-- 소인 일자 -->
<div class="col-md-3">
<label for="pstmrkYmd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">소인일자</label>
<input type="text" class="form-control w-30" id="pstmrkYmd--${pageName}" name="pstmrkYmd" data-map="PSTMRK_YMD" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="pstmrkYmd">소인일자</label>
<input is="id-input" type="text" class="form-control w-30" name="pstmrkYmd" data-map="PSTMRK_YMD" readonly />
</div>
<!-- 회계 일자 -->
<div class="col-md-3">
<label for="acntgYmd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">회계일자</label>
<input type="text" class="form-control w-30" id="acntgYmd--${pageName}" name="acntgYmd" data-map="ACNTG_YMD" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="acntgYmd">회계일자</label>
<input is="id-input" type="text" class="form-control w-30" name="acntgYmd" data-map="ACNTG_YMD" readonly />
</div>
<!-- 수납 금액 -->
<div class="col-md-3">
<label for="rcvmtAmt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">수납금액</label>
<input type="text" class="form-control w-30 text-end" id="rcvmtAmt--${pageName}" name="rcvmtAmt" data-map="RCVMT_AMT" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="rcvmtAmt">수납금액</label>
<input is="id-input" type="text" class="form-control w-30 text-end" name="rcvmtAmt" data-map="RCVMT_AMT" readonly />
</div>
<!-- 수납 본세 -->
<div class="col-md-3">
<label for="rcvmtPcptax--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">수납본세</label>
<input type="text" class="form-control w-30 text-end" id="rcvmtPcptax--${pageName}" name="rcvmtPcptax" data-map="RCVMT_PCPTAX" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="rcvmtPcptax">수납본세</label>
<input is="id-input" type="text" class="form-control w-30 text-end" name="rcvmtPcptax" data-map="RCVMT_PCPTAX" readonly />
</div>
<!-- 수납 가산금 -->
<div class="col-md-3">
<label for="rcvmtAdamt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">수납가산금</label>
<input type="text" class="form-control w-30 text-end" id="rcvmtAdamt--${pageName}" name="rcvmtAdamt" data-map="RCVMT_ADAMT" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="rcvmtAdamt">수납가산금</label>
<input is="id-input" type="text" class="form-control w-30 text-end" name="rcvmtAdamt" data-map="RCVMT_ADAMT" readonly />
</div>
<!-- 수납 이자 -->
<div class="col-md-3">
<label for="rcvmtInt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">수납이자</label>
<input type="text" class="form-control w-30 text-end" id="rcvmtInt--${pageName}" name="rcvmtInt" data-map="RCVMT_INT" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="rcvmtInt">수납이자</label>
<input is="id-input" type="text" class="form-control w-30 text-end" name="rcvmtInt" data-map="RCVMT_INT" readonly />
</div>
<!-- 수납 구분 -->
<div class="col-md-3">
<label for="rcvmtSeNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">수납구분</label>
<input type="text" class="form-control w-30" id="rcvmtSeNm--${pageName}" name="rcvmtSeNm" data-map="RCVMT_SE_NM" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="rcvmtSeNm">수납구분</label>
<input is="id-input" type="text" class="form-control w-30" name="rcvmtSeNm" data-map="RCVMT_SE_NM" readonly />
</div>
<!-- 수납 은행 -->
<div class="col-md-3">
<label for="rcvmtBankNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">수납은행</label>
<input type="text" class="form-control w-50" id="rcvmtBankNm--${pageName}" name="rcvmtBankNm" data-map="RCVMT_BANK_NM" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="rcvmtBankNm">수납은행</label>
<input is="id-input" type="text" class="form-control w-50" name="rcvmtBankNm" data-map="RCVMT_BANK_NM" readonly />
</div>
<!-- 납부 방식 -->
<div class="col-md-3">
<label for="payMthdSeNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">납부방식</label>
<input type="text" class="form-control w-50" id="payMthdSeNm--${pageName}" name="payMthdSeNm" data-map="PAY_MTHD_SE_NM" readonly />
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="payMthdSeNm">납부방식</label>
<input is="id-input" type="text" class="form-control w-50" name="payMthdSeNm" data-map="PAY_MTHD_SE_NM" readonly />
</div>
<!-- -->
<!-- 수납 취소 일자 -->
<div class="col-md-3">
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end text-red" for="rcvmtRtrcnDt">수납취소일자</label>
<input is="id-input" type="text" class="form-control w-30 text-red" name="rcvmtRtrcnDt" data-map="RCVMT_RTRCN_DT" readonly />
</div>
<!-- 등록 일시 -->
<div class="col-md-3">
<label for="regDt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">등록일시</label>
<input type="text" class="form-control w-45" id="regDt--${pageName}" name="regDt" data-map="REG_DT" readonly />
<!-- 등록 일시 / 등록자 -->
<div class="col-md-6">
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="regDt">등록일시</label>
<input is="id-input" type="text" class="form-control w-25" name="regDt" data-map="REG_DT" readonly />
<input is="id-input" type="text" class="form-control w-20" name="rgtrNm" data-map="RGTR_NM" readonly />
</div>
<!-- 등록자 -->
<div class="col-md-3">
<label for="rgtrNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">등록자</label>
<input type="text" class="form-control w-40" id="rgtrNm--${pageName}" name="rgtrNm" data-map="RGTR_NM" readonly />
</div>
<!-- 수정 일시 -->
<div class="col-md-3">
<label for="mdfcnDt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">수정일시</label>
<input type="text" class="form-control w-45" id="mdfcnDt--${pageName}" name="mdfcnDt" data-map="MDFCN_DT" readonly />
</div>
<!-- 수정자 -->
<div class="col-md-3">
<label for="mdfrNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">수정자</label>
<input type="text" class="form-control w-40" id="mdfrNm--${pageName}" name="mdfrNm" data-map="MDFR_NM" readonly />
<!-- 수정 일시 / 수정자 -->
<div class="col-md-6">
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="mdfcnDt">수정일시</label>
<input is="id-input" type="text" class="form-control w-25" name="mdfcnDt" data-map="MDFCN_DT" readonly />
<input is="id-input" type="text" class="form-control w-20" name="mdfrNm" data-map="MDFR_NM" readonly />
</div>
</div> <!-- <div class="row g-1"> -->
</form>
@ -226,7 +222,7 @@
/**************************************************************************
* Global Variable
**************************************************************************/
pageObject["${pageName}"] = {};
pageObject["${pageName}"] = newDoctxFinder("${pageName}");
/**************************************************************************
* script 진입
@ -236,12 +232,12 @@
let $P = pageObject["${pageName}"];
// FormFields
$P.formFields = new FimsFormFields("#frmEdit--${pageName}");
$P.formFields = new FimsFormFields($P.selector("frmEditRcvmt"));
/**************************************************************************
* DatasetControl
**************************************************************************/
$P.control = new DatasetControl({
$P.ctrlRcvmt = new DatasetControl({
prefix: "rcvmt"
, prefixName: "수납"
, keymapper: info => info ? info.RCVMT_ID : ""
@ -265,34 +261,43 @@
* DatasetControl 이벤트
**************************************************************************/
// Dataset 변경 이벤트
$P.control.onDatasetChange = (obj, option) => {
$P.ctrlRcvmt.onDatasetChange = (obj, option) => {
$P.renderList();
};
// 현재 선택 자료 변경 이벤트
$P.control.onCurrentChange = (item) => {
$P.ctrlRcvmt.onCurrentChange = (item) => {
if (!item) return;
$P.formFields.set($P.control, item); // 화면에 자료 셋팅
$P.formFields.set($P.ctrlRcvmt, item); // 화면에 자료 셋팅
let key = item.data.RCVMT_ID;
$("#tbody--${pageName}").setCurrentRow(key); // datatable에 자료 셋팅
$P.$find("tbodyRcvmtList").setCurrentRow(key); // datatable에 자료 셋팅
};
// 수기 수납 등록
$P.control.getInfo = (params) => {
// 수납 등록 Dialog
$P.ctrlRcvmt.getInfo = (params) => {
if (!params) return;
ajax.get({
url: wctx.url("/" + params.taskSeCd + "/rcvm/rcvm01/020/info.do") + "?openerPageName=${pageName}"
url: wctx.url("/" + params.taskSeCd + "/rcvm/rcvm01/020/info.do")
, data: params || {}
, success: resp => {
, success: (resp) => {
let dialogName = $P.ctrlRcvmt.prefixed("Dialog");
let dialogId = dialogName + "-" + uuid();
dialog.open({
id: $P.control.prefixed("Dialog--${pageName}")
, title: params.title
, content: resp
id: dialogId
, title: params.btnTitle
, size: "lg"
, content: resp
, init: () => {
setDialogZindex();
$("#" + dialogId).attr("name", dialogName);
$("#" + dialogId).attr("data-ref-doctx", "${pageName}");
}
, onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회
});
}
@ -300,54 +305,59 @@
}
// 수기 수납 취소 callback
$P.control.onSave = (resp) => {
let dialogTitle = $("#" + $P.control.prefix + "Dialog--${pageName}").find("h5.modal-title").html();
$P.ctrlRcvmt.onSave = (params, resp) => {
let dialogTitle = $("#" + $P.ctrlRcvmt.prefix + "Dialog--${pageName}").find("h5.modal-title").html();
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
// 메시지 출력
dialog.alert({
content: showMessage
, init: () => { setDialogZindex(); }
, onOK: () => { }
});
// 자료 재조회
, onClose: () => {
if (resp.saved) { $P.fnRefreshDataInfo(); } // 자료 재조회
}
});
}
// 수기 수납 취소
$P.control.save = (params) => {
$P.ctrlRcvmt.save = (params) => {
if (!params) return;
ajax.post({
url: wctx.url("/" + params.taskSeCd + "/rcvm/rcvm01/010/updateRcvmtRtrcn.do")
, data: params || {}
, success: resp => $P.control.onSave(resp)
, success: (resp) => {
$P.ctrlRcvmt.onSave(params, resp);
}
});
}
// 수기 수납 삭제 callback
$P.control.onRemove = (resp) => {
let btnTitle = $("#btnRemoveRcvmt--${pageName}").attr("title");
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
$P.ctrlRcvmt.onRemove = (params, resp) => {
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, params.btnTitle);
// 메시지 출력
dialog.alert({
content: showMessage
, init: () => { setDialogZindex(); }
, onOK: () => { }
});
// 자료 재조회
, onClose: () => {
if (resp.saved) { $P.fnRefreshDataInfo(); } // 자료 재조회
}
});
}
// 수기 수납 삭제
$P.control.remove = (params) => {
$P.ctrlRcvmt.remove = (params) => {
if (!params) return;
ajax.post({
url: wctx.url("/" + params.taskSeCd + "/rcvm/rcvm01/010/remove.do")
, data: params || {}
, success: resp => $P.control.onRemove(resp)
, success: (resp) => {
$P.ctrlRcvmt.onRemove(params, resp);
}
});
}
@ -355,19 +365,17 @@
* DataTables 이벤트
**************************************************************************/
// DataTables에 click, dbclick 이벤트
$P.renderList = () => {
let rcvmtList = $P.control.dataset;
$P.renderList = (totalSize, option) => {
let rcvmtList = $P.ctrlRcvmt.dataset;
let empty = rcvmtList.empty;
let trs = empty ?
[document.getElementById("rcvmtNotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
rcvmtList.inStrings(
document.getElementById("rcvmtRow--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str
.replace(/{onclick}/gi, "pageObject['${pageName}'].control.setCurrent('" + dataItem.getValue("RCVMT_ID") + "');")
let trs = empty ? [$P.find("notFoundRcvmt").innerHTML] :
rcvmtList.inStrings($P.find("tableRowsRcvmt").innerHTML
, (str, dataItem) => str
.replace(/{onclick}/gi, "pageObject['${pageName}'].ctrl.setCurrent('" + dataItem.getValue("RCVMT_ID") + "');")
);
$("#tbody--${pageName}").html(trs.join());
$P.$find("tbodyRcvmtList").html(trs.join());
}
/**************************************************************************
@ -375,16 +383,16 @@
**************************************************************************/
// 자료 재조회
$P.fnRefreshDataInfo = () => {
// 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val();
let crdnId = pageObject["${mainPageName}"].mainCtrl.getValue("CRDN_ID"); // 단속 ID
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
if (!crdnId) return;
let params = {
callPurpose: "refresh"
, sggCd: $("#sggCd--${pageNameMain}").val()
, taskSeCd: $("#taskSeCd--${pageNameMain}").val()
, crdnId: crdnId
, sggCd: pageObject["${mainPageName}"].mainCtrl.getValue("SGG_CD")
, taskSeCd: pageObject["${mainPageName}"].mainCtrl.getValue("TASK_SE_CD")
, crdnId: pageObject["${mainPageName}"].mainCtrl.getValue("CRDN_ID")
, delYn: "N"
};
@ -392,16 +400,16 @@
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/070/info.do")
, headers: { Accept: "application/json; charset=utf-8" } // json
, data: params || {}
, success: resp => {
, success: (resp) => {
// 초기화
$("#frmEdit--${pageName}")[0].reset(); // 화면 초기화
$P.control.dataset.clear(); // 수납 Dataset 초기화
$P.find("frmEditRcvmt").reset(); // 화면 초기화
$P.ctrlRcvmt.dataset.clear(); // 수납 Dataset 초기화
// sprt02010-main 단속 정보
pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]);
// Dataset 셋팅
$P.control.setData(resp.rcvmts); // 수납 정보
$P.ctrlRcvmt.setData(resp.rcvmts); // 수납 정보
}
});
}
@ -411,96 +419,103 @@
// 서버에 전송할 data(파라미터) 생성
let params = {
callPurpose: "update"
, sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, rcvmtId: $P.control.dataset.getValue("RCVMT_ID") // 수납 ID
, sggCd: $P.ctrlRcvmt.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrlRcvmt.getValue("TASK_SE_CD") // 업무 구분 코드
, rcvmtId: $P.ctrlRcvmt.getValue("RCVMT_ID") // 수납 ID
, rcvmtRtrcnYn: "Y" // 수납 취소 여부
, btnTitle: obj.btnTitle // 버튼 title
, rcvmtRtrcnRsn: obj.reason // 수납 취소 사유
};
$P.control.save(params);
$P.ctrlRcvmt.save(params);
}
// 사유 callback
$P.callbackRsn = (obj) => {
// 서버에 전송할 data(파라미터) 생성
let params = {
callPurpose: obj.callPurpose
, sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, rcvmtId: $P.control.dataset.getValue("RCVMT_ID") // 수납 ID
callPurpose: "remove"
, sggCd: $P.ctrlRcvmt.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrlRcvmt.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, rcvmtId: $P.ctrlRcvmt.dataset.getValue("RCVMT_ID") // 수납 ID
, btnTitle: obj.btnTitle // 버튼 title
, delRsn: obj.reason // 삭제 사유
};
$P.control.remove(params);
$P.ctrlRcvmt.remove(params);
}
/**************************************************************************
* 버튼 clickEvent
**************************************************************************/
// 수기 수납 등록
$P.fnCreateRcvmt = (title) => {
// 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val();
$P.fnCreateRcvmt = (btnTitle) => {
let crdnId = pageObject["${mainPageName}"].mainCtrl.getValue("CRDN_ID"); // 단속 ID
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
if (!crdnId) return;
let params = {
callPurpose: "create"
, title: title
, sggCd: $("#sggCd--${pageNameMain}").val()
, taskSeCd: $("#taskSeCd--${pageNameMain}").val()
, crdnId: crdnId
, btnTitle: btnTitle
, sggCd: pageObject["${mainPageName}"].mainCtrl.getValue("SGG_CD") // 시군구 코드
, taskSeCd: pageObject["${mainPageName}"].mainCtrl.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: pageObject["${mainPageName}"].mainCtrl.getValue("CRDN_ID") // 단속 ID
, delYn: "N"
};
$P.control.getInfo(params);
$P.ctrlRcvmt.getInfo(params);
}
// 수기 수납 취소
$P.fnUpdateRcvmtRtrcn = (title) => {
// 수납 ID
let rcvmtId = $P.control.dataset.getValue("RCVMT_ID");
$P.fnUpdateRcvmtRtrcn = (btnTitle) => {
let rcvmtId = $P.ctrlRcvmt.getValue("RCVMT_ID"); // 수납 ID
// 수납 ID 가 없다면.. return
if (typeof rcvmtId == "undefined" || rcvmtId == null || rcvmtId == "") return;
if (!rcvmtId) return;
// 수납 취소 메세지 확인
dialog.alert({
content: title + " 작업 진행시 과오납이 발생합니다."
content: btnTitle + " 작업 진행시 과오납이 발생합니다."
+ "<br>" + "계속 진행하시겠습니까?"
, onOK: async() => {
// 사유 입력
let resp = await fetch(wctx.url("/resources/html/inputRsnDialog.html"));
let template = await resp.text();
// 삭제 사유 입력
fetch(wctx.url("/resources/html/inputRsnDialog.html"))
.then(function(resp) { return resp.text(); })
.then(function(template) {
dialog.open({
id: "inputDelRsnDialog"
, title: title
, title: btnTitle
, size: "lg"
, content: template
, init: () => { setDialogZindex(); }
, onOK: () => {
$P.callbackRsn({ reason: $("#reason").val() });
$P.callbackRsn({
btnTitle: btnTitle // 버튼 title
, reason: $("#reason").val() // 삭제 사유
});
}
});
});
}
});
}
// 수기 수납 삭제
$P.fnRemoveRcvmt = (title) => {
// 수납 ID
let rcvmtId = $P.control.dataset.getValue("RCVMT_ID");
$P.fnRemoveRcvmt = (btnTitle) => {
let rcvmtId = $P.ctrlRcvmt.getValue("RCVMT_ID"); // 수납 ID
// 수납 ID 가 없다면.. return
if (typeof rcvmtId == "undefined" || rcvmtId == null || rcvmtId == "") return;
if (!rcvmtId) return;
// 수납 입력 구분이 03(수기) 일때만 삭제 가능
let rcvmtInptSeCd = $P.control.dataset.getValue("RCVMT_INPT_SE_CD");
let rcvmtInptSeNm = $P.control.dataset.getValue("RCVMT_INPT_SE_NM");
let rcvmtInptSeCd = $P.ctrlRcvmt.getValue("RCVMT_INPT_SE_CD");
let rcvmtInptSeNm = $P.ctrlRcvmt.getValue("RCVMT_INPT_SE_NM");
if (rcvmtInptSeCd != "03") {
dialog.alert({
content: "[" + title + "]" + " 작업은 rcvmtInptSeNm 구분이 '수기' 자료만 처리 가능합니다."
content: "[" + btnTitle + "]" + " 작업은 rcvmtInptSeNm 구분이 '수기' 자료만 처리 가능합니다."
+ "<br>" + "수납입력구분 : " + crdnSttsNm
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
+ "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, onOK: () => { }
});
return;
@ -508,20 +523,23 @@
// 삭제 메세지 확인
dialog.alert({
content: "선택하신 " + selected.length + "건의 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?"
, onOK: () => {
content: "선택하신 " + $P.ctrlRcvmt.prefixName + " 정보를 삭제하시겠습니까?"
, onOK: async() => {
// 삭제 사유 입력
fetch(wctx.url("/resources/html/inputRsnDialog.html"))
.then(function(resp) { return resp.text(); })
.then(function(template) {
dialog.open({
id: "inputDelRsnDialog"
, title: title
, title: btnTitle
, size: "lg"
, content: template
, init: () => { setDialogZindex(); }
, onOK: () => {
$P.callbackRsn({ reason: $("#reason").val() });
$P.callbackRsn({
btnTitle: btnTitle // 버튼 title
, reason: $("#reason").val() // 삭제 사유
});
}
});
});
@ -535,41 +553,47 @@
// 이벤트 설정
$P.setEvent = () => {
// 업무 버튼 이벤트
$("#btnCreateRcvmt--${pageName}").on("click", function() {
$P.fnCreateRcvmt($(this).attr("title")); // 수납 등록
$P.$find("btnCreateRcvmt").on("click", function() {
$P.fnCreateRcvmt($P.$find("btnCreateRcvmt").attr("title")); // 수납 등록
});
$("#btnUpdateRcvmtRtrc--${pageName}").on("click", function() {
$P.fnUpdateRcvmtRtrcn($(this).attr("title")); // 수납 취소
$P.$find("btnUpdateRcvmtRtrc").on("click", function() {
$P.fnUpdateRcvmtRtrcn($P.$find("btnUpdateRcvmtRtrc").attr("title")); // 수납 취소
});
$("#btnRemoveRcvmt--${pageName}").on("click", function() {
$P.fnRemoveRcvmt($(this).attr("title")); // 수납 삭제
$P.$find("btnRemoveRcvmt").on("click", function() {
$P.fnRemoveRcvmt($P.$find("btnRemoveRcvmt").attr("title")); // 수납 삭제
});
// DataTables width 변경 조정
fnMakeResizableTable($P.find("tableRspnsRcvmt"));
}
// 초기 화면 설정
$P.initForm = () => {
// button 요소들을 disabled = true
$("#btnCreateRcvmt--${pageName}").prop("disabled", true);
$("#btnUpdateRcvmtRtrc--${pageName}").prop("disabled", true);
$("#btnRemoveRcvmt--${pageName}").prop("disabled", true);
// 화면 호출(callPurpose)이 view가 아니라면 버튼 비활성화 disabled = false
if (pageObject['${pageNameMain}'].callPurpose != "view") {
$("#btnCreateRcvmt--${pageName}").prop("disabled", false);
$("#btnUpdateRcvmtRtrc--${pageName}").prop("disabled", false);
$("#btnRemoveRcvmt--${pageName}").prop("disabled", false);
// 초기화
$P.find("frmEditRcvmt").reset(); // 화면 초기화
$P.ctrlRcvmt.dataset.clear(); // 수납 Dataset 초기화
// 화면 호출(callPurpose)이 view라면 버튼 비활성화 disabled = true
if (pageObject['${mainPageName}'].callPurpose == "view") {
$P.$find("btnCreateRcvmt").prop("disabled", true);
$P.$find("btnUpdateRcvmtRtrc").prop("disabled", true);
$P.$find("btnRemoveRcvmt").prop("disabled", true);
} else {
$P.$find("btnCreateRcvmt").prop("disabled", false);
$P.$find("btnUpdateRcvmtRtrc").prop("disabled", false);
$P.$find("btnRemoveRcvmt").prop("disabled", false);
}
// 주정차위반, 전용차로위반과태료 외에는 수납 등록, 취소, 삭제 기능이 없어야 한다.
let taskSeCd = $("#taskSeCd--${pageNameMain}").val();
if (taskSeCd == "BPV" || taskSeCd == "PVS") {
$("#btnCreateRcvmt--${pageName}").show();
$("#btnUpdateRcvmtRtrc--${pageName}").show();
$("#btnRemoveRcvmt--${pageName}").show();
let taskSeCd = pageObject["${mainPageName}"].mainCtrl.getValue("TASK_SE_CD");
if ("BPV,PVS".indexOf("taskSeCd") != -1) {
$P.$find("btnCreateRcvmt").show();
$P.$find("btnUpdateRcvmtRtrc").show();
$P.$find("btnRemoveRcvmt").show();
} else {
$("#btnCreateRcvmt--${pageName}").hide();
$("#btnUpdateRcvmtRtrc--${pageName}").hide();
$("#btnRemoveRcvmt--${pageName}").hide();
$P.$find("btnCreateRcvmt").hide();
$P.$find("btnUpdateRcvmtRtrc").hide();
$P.$find("btnRemoveRcvmt").hide();
}
}
@ -583,8 +607,7 @@
$P.initForm();
// 3. Dataset 설정
let rcvmts = ${rcvmts}; // 수납 정보 Data 셋팅
if (rcvmts) { $P.control.setData(${rcvmts}); }
$P.ctrlRcvmt.setData(${rcvmts});
});
</script>

@ -2,70 +2,71 @@
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<!-- Page Body -->
<div class="content-pop">
<div class="content-pop" data-doctx="${pageName}">
<div class="d-flex flex-row justify-content-evenly">
<!-- 민원 상담 정보 -->
<div class="col-xl-12 mx-1">
<div class="card">
<!-- 업무 버튼 -->
<div class="container-page-btn">
<label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">민원상담 이력</label>
<label class="col-form-label bg-label-danger pe-2 w-px-120 text-sm-center">민원상담 이력</label>
<!-- 버튼 우측 정렬 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-120" id="btnCreateCvlcptDscsn--${pageName}" title="민원상담 등록">
<button type="button" class="btn btn-primary w-px-120" name="btnCreateCvlcptDscsn" title="민원상담 등록">
민원상담 등록
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnUpdateCvlcptDscsn--${pageName}" title="민원상담 수정">
<button type="button" class="btn btn-primary w-px-120" name="btnUpdateCvlcptDscsn" title="민원상담 수정">
민원상담 수정
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnRemoveCvlcptDscsn--${pageName}" title="민원상담 삭제">
<button type="button" class="btn btn-primary w-px-120" name="btnRemoveCvlcptDscsn" title="민원상담 삭제">
민원상담 삭제
</button>
</span> <!-- <span class="container-window-btn-right"> -->
</div> <!-- <div class="container-page-btn"> -->
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit">
<form name="frmEditCvlcptDscsn">
<!-- hidden -->
<input type="hidden" id="cvlcptDscsnId--${pageName}" name="cvlcptDscsnId" data-map="CVLCPT_DSCSN_ID" />
<input type="hidden" name="cvlcptDscsnId" data-map="CVLCPT_DSCSN_ID" />
<div class="row g-1">
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div id="DataTables_Table_0_wrapper--${pageName}" class="dataTables_wrapper dt-bootstrap5 no-footer">
<div id="table-responsive--${pageName}" class="table-responsive ox-scroll oy-scroll h-px-400">
<table class="dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead>
<tr id="theadTr--${pageName}">
<th>등록일시</th>
<th>요일</th>
<th>등록사용자</th>
<th>민원접수구분</th>
<th>민원인명</th>
<th>민원인연락처</th>
<th>상담내용</th>
<th>수정일시</th>
<th>수정사용자</th>
<div class="dataTables_wrapper dt-bootstrap5 no-footer">
<div class="table-responsive ox-scroll oy-scroll h-px-400" name="tableRspnsCvlcptDscsn">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr name="theadTrCvlcptDscsn">
<th class="cmn sorting" style="width: 180px" data-field="MDFCN_DT">수정일시</th>
<th class="cmn sorting" style="width: 100px" data-field="WEEK_NM">요일</th>
<th class="cmn sorting" style="width: 140px" data-field="MDFR_NM">수정사용자</th>
<th class="cmn sorting" style="width: 120px" data-field="CVLCPT_RCPT_SE_NM">민원접수구분</th>
<th class="cmn sorting" style="width: 120px" data-field="CVLPR_NM">민원인명</th>
<th class="cmn sorting" style="width: 140px" data-field="CVLPR_CTTPC">민원인연락처</th>
<th class="cmn sorting" style="width: 360px" data-field="DSCSN_CN">상담내용</th>
<th class="cmn sorting" style="width: 180px" data-field="REG_DT">등록일시</th>
<th class="cmn sorting" style="width: 140px" data-field="RGTR_NM">등록사용자</th>
<th class="cmn dummy-th"></th>
</tr>
</thead>
<tbody id="tbody--${pageName}">
<tbody name="tbodyCvlcptDscsnList">
</tbody>
<template id="cvlcptDscsnRow--${pageName}">
<tr data-key="{CVLCPT_DSCSN_ID}">
<td class="text-center" onclick="{onclick}">{REG_DT}</td>
<td class="text-center" onclick="{onclick}">{WEEK_NM}</td>
<td class="text-center" onclick="{onclick}">{RGTR_NM}</td>
<td class="text-center" onclick="{onclick}">{CVLCPT_RCPT_SE_NM}</td>
<td class="text-start" onclick="{onclick}">{CVLPR_NM}</td>
<td class="text-start" onclick="{onclick}">{CVLPR_CTTPC}</td>
<td class="text-center" onclick="{onclick}">{DSCSN_CN}</td>
<td class="text-center" onclick="{onclick}">{MDFCN_DT}</td>
<td class="text-center" onclick="{onclick}">{MDFR_NM}</td>
<template is="curly-brackets" name="tableRowsCvlcptDscsn">
<tr data-key="CVLCPT_DSCSN_ID">
<td class="text-center" onclick>{REG_DT}</td>
<td class="text-center" onclick>{WEEK_NM}</td>
<td class="text-center" onclick>{RGTR_NM}</td>
<td class="text-center" onclick>{CVLCPT_RCPT_SE_NM}</td>
<td class="text-start" onclick>{CVLPR_NM}</td>
<td class="text-center" onclick>{CVLPR_CTTPC}</td>
<td class="text-start" onclick>{DSCSN_CN}</td>
<td class="text-center" onclick>{MDFCN_DT}</td>
<td class="text-center" onclick>{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="cvlcptDscsnNotFound--${pageName}">
<template name="notFoundCvlcptDscsn">
<tr class="odd">
<td valign="top" colspan="10" class="dataTables_empty text-center">민원 상담 정보를 찾지 못했습니다.</td>
</tr>
@ -73,12 +74,11 @@
</table>
</div>
</div>
</div> <!-- / DataTables(그리드) -->
</div> <!-- DataTables(그리드) -->
<!-- 상담 내용 -->
<div class="col-md-12">
<textarea class="form-control w-100 fs-3"
id="dscsnCn--${pageName}" name="dscsnCn" data-map="DSCSN_CN" rows="5" data-maxlengthb="4000" readonly>
</textarea>
<textarea type="text" class="form-control w-100" name="dscsnCn" data-map="DSCSN_CN" rows="9" data-maxlengthb="4000" readonly></textarea>
</div>
</div> <!-- <div class="row g-1"> -->
</form>
@ -93,7 +93,7 @@
/**************************************************************************
* Global Variable
**************************************************************************/
pageObject["${pageName}"] = {};
pageObject["${pageName}"] = newDoctxFinder("${pageName}");
/**************************************************************************
* script 진입
@ -103,18 +103,18 @@
let $P = pageObject["${pageName}"];
// FormFields
$P.formFields = new FimsFormFields("#frmEdit--${pageName}");
$P.formFields = new FimsFormFields($P.selector("frmEditCvlcptDscsn"));
/**************************************************************************
* DatasetControl
**************************************************************************/
$P.control = new DatasetControl({
$P.ctrlCvlcptDscsn = new DatasetControl({
prefix: "cvlcptDscsn"
, prefixName: "민원상담"
, infoSize: "lg"
, keymapper: info => info ? info.CVLCPT_DSCSN_ID : ""
, dataGetter: obj => obj.cvlcptDscsns
, appendData: true
, infoSize: "lg"
, formats: {
REG_DT: datetimeFormat
, MDFCN_DT: datetimeFormat
@ -124,66 +124,74 @@
/**************************************************************************
* DatasetControl 이벤트
**************************************************************************/
// Dataset 변경
$P.control.onDatasetChange = (obj, option) => {
// Dataset 변경 이벤트
$P.ctrlCvlcptDscsn.onDatasetChange = (obj, option) => {
$P.renderList();
};
// 현재 선택 자료 변경 이벤트
$P.control.onCurrentChange = item => {
$P.ctrlCvlcptDscsn.onCurrentChange = (item) => {
if (!item) return;
let key = item.data.CVLCPT_DSCSN_ID;
$P.formFields.set($P.ctrlCvlcptDscsn, item); // 화면에 자료 셋팅
$("#tbody--${pageName}").setCurrentRow(key);
let key = item.data.CVLCPT_DSCSN_ID;
$("#dscsnCn--${pageName}").val(item.data.DSCSN_CN); // 상담 내용
$P.$find("tbodyCvlcptDscsnList").setCurrentRow(key); // datatable에 자료 셋팅
};
// 민원 상담 내용 Dialog
$P.control.getInfo = (params) => {
$P.ctrlCvlcptDscsn.getInfo = (params) => {
if (!params) return;
ajax.get({
url: wctx.url("/" + params.taskSeCd +"/sprt/sprt04/020/info.do") + "?openerPageName=${pageName}"
url: wctx.url("/" + params.taskSeCd +"/sprt/sprt04/020/info.do")
, data: params || {}
, success: resp => {
, success: (resp) => {
let dialogName = $P.ctrlCvlcptDscsn.prefixed("Dialog");
let dialogId = dialogName + "-" + uuid();
dialog.open({
id: $P.control.prefixed("Dialog--${pageName}")
, title: params.title
, content: resp
id: dialogId
, title: params.btnTitle
, size: "lg"
, content: resp
, init: () => {
setDialogZindex();
$("#" + dialogId).attr("name", dialogName);
$("#" + dialogId).attr("data-ref-doctx", "${pageName}");
}
, onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회
});
}
});
}
// 삭제 callback
$P.control.onRemove = (resp) => {
let btnTitle = $("#btnRemoveCvlcptDscsn--${pageName}").attr("title");
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
// 민원 상담 삭제 callback
$P.ctrlCvlcptDscsn.onRemove = (params, resp) => {
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, params.btnTitle);
dialog.alert({
content: showMessage
, init: () => { setDialogZindex(); }
, onOK: () => { }
});
if (resp.saved) {
$("#dscsnCn--${pageName}").val(""); // 상담내용 초기화
$P.fnRefreshDataInfo(); // 자료 재조회
, onClose: () => {
if (resp.saved) { $P.fnRefreshDataInfo(); } // 자료 재조회
}
});
}
// 삭제
$P.control.remove = (params) => {
// 민원 상담 삭제
$P.ctrlCvlcptDscsn.remove = (params) => {
if (!params) return;
ajax.post({
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt04/010/remove.do")
, data: params || {}
, success: resp => $P.control.onRemove(resp)
, success: (resp) => {
$P.ctrlCvlcptDscsn.onRemove(params, resp);
}
});
}
@ -191,19 +199,17 @@
* DataTables 이벤트
**************************************************************************/
// DataTables에 click, dbclick 이벤트
$P.renderList = () => {
let cvlcptDscsnList = $P.control.dataset;
$P.renderList = (totalSize, option) => {
let cvlcptDscsnList = $P.ctrlCvlcptDscsn.dataset;
let empty = cvlcptDscsnList.empty;
let trs = empty ?
[document.getElementById("cvlcptDscsnNotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
cvlcptDscsnList.inStrings(
document.getElementById("cvlcptDscsnRow--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str
.replace(/{onclick}/gi, "pageObject['${pageName}'].control.setCurrent('" + dataItem.getValue("CVLCPT_DSCSN_ID") + "');")
let trs = empty ? [$P.find("notFoundCvlcptDscsn").innerHTML] :
cvlcptDscsnList.inStrings($P.find("tableRowsCvlcptDscsn").innerHTML
, (str, dataItem) => str
.replace(/{onclick}/gi, "pageObject['${pageName}'].ctrlCvlcptDscsn.setCurrent('" + dataItem.getValue("CVLCPT_DSCSN_ID") + "');")
);
$("#tbody--${pageName}").html(trs.join());
$P.$find("tbodyCvlcptDscsnList").html(trs.join());
}
/**************************************************************************
@ -211,18 +217,18 @@
**************************************************************************/
// 자료 재조회
$P.fnRefreshDataInfo = () => {
// 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val();
let crdnId = pageObject["${mainPageName}"].mainCtrl.getValue("CRDN_ID"); // 단속 ID
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
if (!crdnId) return;
let params = {
callPurpose: "refresh"
, inquiryCondition: "crdnId_vhrno"
, sggCd: $("#sggCd--${pageNameMain}").val()
, taskSeCd: $("#taskSeCd--${pageNameMain}").val()
, crdnId: crdnId
, vhrno: $("#vhrno--${pageNameMain}").val()
, sggCd: pageObject["${mainPageName}"].mainCtrl.getValue("SGG_CD")
, taskSeCd: pageObject["${mainPageName}"].mainCtrl.getValue("TASK_SE_CD")
, crdnId: pageObject["${mainPageName}"].mainCtrl.getValue("CRDN_ID")
, vhrno: pageObject["${mainPageName}"].mainCtrl.getValue("VHRNO")
, delYn: "N"
};
@ -230,13 +236,13 @@
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/080/info.do")
, headers: { Accept: "application/json; charset=utf-8" } // json
, data: params || {}
, success: resp => {
, success: (resp) => {
// 초기화
$("#frmEdit--${pageName}")[0].reset(); // 화면 초기화
$P.control.dataset.clear(); // Dataset 초기화
$P.find("frmEditCvlcptDscsn").reset(); // 화면 초기화
$P.ctrlCvlcptDscsn.dataset.clear(); // 수납 Dataset 초기화
// Dataset 셋팅
$P.control.setData(resp.cvlcptDscsns); // 민원상담 정보
$P.ctrlCvlcptDscsn.setData(resp.cvlcptDscsns); // 민원상담 정보
}
});
}
@ -245,78 +251,83 @@
$P.callbackRsn = (obj) => {
// 서버에 전송할 data(파라미터) 생성
let params = {
sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, cvlcptDscsnId: $P.control.dataset.getValue("CVLCPT_DSCSN_ID") // 민원상담 ID
callPurpose: "remove"
, sggCd: $P.ctrlCvlcptDscsn.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrlCvlcptDscsn.getValue("TASK_SE_CD") // 업무 구분 코드
, cvlcptDscsnId: $P.ctrlCvlcptDscsn.getValue("CVLCPT_DSCSN_ID") // 민원상담 ID
, btnTitle: obj.btnTitle // 버튼 title
, delRsn: obj.reason // 삭제 사유
};
$P.control.remove(params);
$P.ctrlCvlcptDscsn.remove(params);
}
/**************************************************************************
* 버튼 clickEvent
**************************************************************************/
// 민원 상담 내용 등록
$P.fnCreateCvlcptDscsn = (title) => {
// 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val();
$P.fnCreateCvlcptDscsn = (btnTitle) => {
let crdnId = pageObject["${mainPageName}"].mainCtrl.getValue("CRDN_ID"); // 단속 ID
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
if (!crdnId) return;
let params = {
callPurpose: "create"
, title: title
, sggCd: $("#sggCd--${pageNameMain}").val()
, taskSeCd: $("#taskSeCd--${pageNameMain}").val()
, crdnId: crdnId
, btnTitle: btnTitle
, sggCd: pageObject["${mainPageName}"].mainCtrl.getValue("SGG_CD") // 시군구 코드
, taskSeCd: pageObject["${mainPageName}"].mainCtrl.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: pageObject["${mainPageName}"].mainCtrl.getValue("CRDN_ID") // 단속 ID
};
$P.control.getInfo(params);
$P.ctrlCvlcptDscsn.getInfo(params);
}
// 민원 상담 내용 수정
$P.fnUpdateCvlcptDscsn = (title) => {
// 민원 상담 ID
let cvlcptDscsnId = $P.control.dataset.getValue("CVLCPT_DSCSN_ID");
$P.fnUpdateCvlcptDscsn = (btnTitle) => {
let cvlcptDscsnId = $P.ctrlCvlcptDscsn.getValue("CVLCPT_DSCSN_ID"); // 민원 상담 ID
// 민원 상담 ID 가 없다면.. return
if (typeof cvlcptDscsnId == "undefined" || cvlcptDscsnId == null || cvlcptDscsnId == "") return;
if (!cvlcptDscsnId) return;
let params = {
callPurpose: "update"
, title: title
, sggCd: $P.control.dataset.getValue("SGG_CD")
, taskSeCd: $P.control.dataset.getValue("TASK_SE_CD")
, cvlcptDscsnId: cvlcptDscsnId
, btnTitle: btnTitle
, sggCd: $P.ctrlCvlcptDscsn.getValue("SGG_CD")
, taskSeCd: $P.ctrlCvlcptDscsn.getValue("TASK_SE_CD")
, cvlcptDscsnId: $P.ctrlCvlcptDscsn.getValue("CVLCPT_DSCSN_ID")
, delYn: "N"
};
$P.control.getInfo(params);
$P.ctrlCvlcptDscsn.getInfo(params);
}
// 민원상담 내용 삭제
$P.fnRemoveCvlcptDscsn = (title) => {
// 민원상담 ID
let cvlcptDscsnId = $P.control.dataset.getValue("CVLCPT_DSCSN_ID");
// 민원상담 ID 가 없다면.. return
if (typeof cvlcptDscsnId == "undefined" || cvlcptDscsnId == null || cvlcptDscsnId == "") return;
$P.fnRemoveCvlcptDscsn = (btnTitle) => {
let cvlcptDscsnId = $P.ctrlCvlcptDscsn.getValue("CVLCPT_DSCSN_ID"); // 민원 상담 ID
// 민원 상담 ID 가 없다면.. return
if (!cvlcptDscsnId) return;
// 삭제 메세지 확인
dialog.alert({
content: "선택하신 " + selected.length + "건의 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?"
, onOK: () => {
content: "선택하신 " + $P.ctrlRcvmt.prefixName + " 정보를 삭제하시겠습니까?"
, onOK: async() => {
// 삭제 사유 입력
fetch(wctx.url("/resources/html/inputRsnDialog.html"))
.then(function(resp) { return resp.text(); })
.then(function(template) {
dialog.open({
id: "inputDelRsnDialog"
, title: title
, title: btnTitle
, size: "lg"
, content: template
, init: () => { setDialogZindex(); }
, onOK: () => {
$P.callbackRsn({ reason: $("#reason").val() });
$P.callbackRsn({
btnTitle: btnTitle // 버튼 title
, reason: $("#reason").val() // 삭제 사유
});
}
});
});
@ -330,30 +341,35 @@
// 이벤트 설정
$P.setEvent = () => {
// 업무 버튼 이벤트
$("#btnCreateCvlcptDscsn--${pageName}").on("click", function() {
$P.fnCreateCvlcptDscsn($(this).attr("title")); // 민원상담 등록
$P.$find("btnCreateCvlcptDscsn").on("click", function() {
$P.fnCreateCvlcptDscsn($P.$find("btnCreateCvlcptDscsn").attr("title")); // 민원상담 등록
});
$("#btnUpdateCvlcptDscsn--${pageName}").on("click", function() {
$P.fnUpdateCvlcptDscsn($(this).attr("title")); // 민원상담 수정
$P.$find("btnUpdateCvlcptDscsn").on("click", function() {
$P.fnCreateCvlcptDscsn($P.$find("btnUpdateCvlcptDscsn").attr("title")); // 민원상담 수정
});
$("#btnRemoveCvlcptDscsn--${pageName}").on("click", function() {
$P.fnRemoveCvlcptDscsn($(this).attr("title")); // 민원상담 삭제
$P.$find("btnRemoveCvlcptDscsn").on("click", function() {
$P.fnRemoveCvlcptDscsn($P.$find("btnRemoveCvlcptDscsn").attr("title")); // 민원상담 삭제
});
// DataTables width 변경 조정
fnMakeResizableTable($P.find("tableRspnsCvlcptDscsn"));
}
// 초기 화면 설정
$P.initForm = () => {
// button 요소들을 disabled = true
$("#btnCreateCvlcptDscsn--${pageName}").prop("disabled", true);
$("#btnUpdateCvlcptDscsn--${pageName}").prop("disabled", true);
$("#btnRemoveCvlcptDscsn--${pageName}").prop("disabled", true);
// 화면 호출(callPurpose)이 view가 아니라면 버튼 비활성화 disabled = false
if (pageObject['${pageNameMain}'].callPurpose != "view") {
// button 요소들을 disabled = true
$("#btnCreateCvlcptDscsn--${pageName}").prop("disabled", false);
$("#btnUpdateCvlcptDscsn--${pageName}").prop("disabled", false);
$("#btnRemoveCvlcptDscsn--${pageName}").prop("disabled", false);
// 초기화
$P.find("frmEditCvlcptDscsn").reset(); // 화면 초기화
$P.ctrlCvlcptDscsn.dataset.clear(); // 수납 Dataset 초기화
// 화면 호출(callPurpose)이 view라면 버튼 비활성화 disabled = true
if (pageObject['${mainPageName}'].callPurpose == "view") {
$P.$find("btnCreateCvlcptDscsn").prop("disabled", true);
$P.$find("btnUpdateCvlcptDscsn").prop("disabled", true);
$P.$find("btnRemoveCvlcptDscsn").prop("disabled", true);
} else {
$P.$find("btnCreateCvlcptDscsn").prop("disabled", false);
$P.$find("btnUpdateCvlcptDscsn").prop("disabled", false);
$P.$find("btnRemoveCvlcptDscsn").prop("disabled", false);
}
}
@ -367,7 +383,7 @@
$P.initForm();
// 3. Dataset 설정
$P.control.setData(${cvlcptDscsns}); // 민원 상담 정보
$P.ctrlCvlcptDscsn.setData(${cvlcptDscsns}); // 민원 상담 정보
});
</script>

Loading…
Cancel
Save