개별총정보 수정.

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,7 +641,11 @@
// 초기 화면 설정
$P.initForm = () => {
// 화면 호출(callPurpose)이 view라면 버튼 비활성화 disabled = true
// 초기화
$P.find("frmEditOpnn").reset(); // 화면 초기화
$P.ctrlOpnn.dataset.clear(); // Dataset 초기화
// 화면 호출(callPurpose)이 view라면 버튼 비활성화 disabled = true
if (pageObject['${mainPageName}'].callPurpose == "view") {
$P.$find("btnCreateOpnnSbmsn").prop("disabled", true);
$P.$find("btnUpdateOpnnSbmsn").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 />
</div>
<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,49 +145,74 @@
</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 />
</div>
<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"> -->
</div> <!-- <div class="col-xl-9 mx-1"> -->
@ -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,279 +246,229 @@
</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}"] = {};
/**************************************************************************
* script 진입
**************************************************************************/
$(document).ready(function() {
// pageObject
let $P = pageObject["${pageName}"];
// FormFields
$P.formFields = new FimsFormFields("#frmEdit--${pageName}");
/**************************************************************************
* DatasetControl
**************************************************************************/
$P.control = new DatasetControl({
prefix: "levy"
, prefixName: "부과"
, keymapper: info => info ? info.LEVY_ID : ""
, dataGetter: obj => obj.levyInfo
, formats: {
LEVY_YMD: dateFormat
, FRST_DUDT_YMD: dateFormat
, DUDT_YMD: dateFormat
, FFNLG_AMT: numberFormat
, LEVY_PCPTAX: numberFormat
, LEVY_ADAMT: numberFormat
, ISPY_INT: numberFormat
, RCVMT_PCPTAX: numberFormat
, RCVMT_ADAMT: numberFormat
, RDAMT_PCPTAX: numberFormat
, RDAMT_ADAMT: numberFormat
, SUM_AMT: numberFormat
, RCVMT_YMD: dateFormat
, SZR_YMD: dateFormat
, SZR_RMV_YMD: dateFormat
, REG_DT: datetimeFormat
}
});
/**************************************************************************
* DatasetControl 이벤트
**************************************************************************/
// 현재 선택 자료 변경 이벤트
$P.control.onCurrentChange = (item) => {
if (!item) return;
// Dataset 셋팅
$P.formFields.set($P.control, 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);
}
}
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// 자료 재조회
$P.fnRefreshDataInfo = () => {
// 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let params = {
callPurpose: "refresh"
, sggCd: $("#sggCd--${pageNameMain}").val()
, taskSeCd: $("#taskSeCd--${pageNameMain}").val()
, crdnId: crdnId
, delYn: "N"
};
ajax.get({
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/060/info.do")
, headers: { Accept: "application/json; charset=utf-8" } // json
, data: params || {}
, success: resp => {
// 초기화
$("#frmEdit--${pageName}")[0].reset(); // 화면 초기화
$P.control.dataset.clear(); // Dataset 초기화
// sprt02010-main 단속 정보
pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]);
// Dataset 셋팅
if (resp.levyInfo) { $P.control.setData([resp.levyInfo]); } // 부과 정보
}
});
}
// 부과제외 dialog
$P.createLevyExcl = (params) => {
if (!params) return;
ajax.get({
url: wctx.url("/" + params.taskSeCd + "/excl/excl01/020/info.do") + "?openerPageName=${pageName}"
, data: params || {}
, success: resp => {
if ((typeof resp) != "string") {
if (resp.rtnMsg != "") {
dialog.alert(resp.rtnMsg);
}
return;
} else {
dialog.open({
id: "levyExclDialog--${pageName}"
, title: params.title
, content: resp
, size: "md"
, onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회
});
}
}
});
}
/**************************************************************************
* 버튼 clickEvent
**************************************************************************/
// 부과 등록
$P.fnCreateLevy = (title) => {
}
// 부과 취소
$P.fnCreateLevyExcl = (title) => {
// 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 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;
}
let params = {
callPurpose: "create"
, title: title
, sggCd: $("#sggCd--${pageNameMain}").val()
, taskSeCd: $("#taskSeCd--${pageNameMain}").val()
, crdnId: crdnId
, levyExclSeCd: "3"
, delYn: "N"
};
$P.createLevyExcl(params);
}
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 이벤트 설정
$P.setEvent = () => {
// 업무 버튼 이벤트
$("#btnCreateLevy--${pageName}").on("click", function() {
$P.fnCreateLevy($(this).attr("title")); // 부과 등록
});
$("#btnCreateLevyExcl--${pageName}").on("click", function() {
$P.fnCreateLevyExcl($(this).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);
}
}
/**************************************************************************
* 최초 실행 함수
**************************************************************************/
// 1. 이벤트 설정
$P.setEvent();
// 2. 초기 화면 설정
$P.initForm();
// 3. Dataset 설정
let levyInfo = ${levyInfo}; // 부과 정보
if (levyInfo) { $P.control.setData([levyInfo]); }
});
/**************************************************************************
* Global Variable
**************************************************************************/
pageObject["${pageName}"] = newDoctxFinder("${pageName}");
/**************************************************************************
* script 진입
**************************************************************************/
$(document).ready(function() {
// pageObject
let $P = pageObject["${pageName}"];
// FormFields
$P.formFields = new FimsFormFields($P.selector("frmEditLevy"));
/**************************************************************************
* DatasetControl
**************************************************************************/
$P.ctrlLevy = new DatasetControl({
prefix: "levy"
, prefixName: "부과"
, keymapper: info => info ? info.LEVY_ID : ""
, dataGetter: obj => obj.levyInfo
, formats: {
LEVY_YMD: dateFormat
, FRST_DUDT_YMD: dateFormat
, DUDT_YMD: dateFormat
, FFNLG_AMT: numberFormat
, LEVY_PCPTAX: numberFormat
, LEVY_ADAMT: numberFormat
, ISPY_INT: numberFormat
, RCVMT_PCPTAX: numberFormat
, RCVMT_ADAMT: numberFormat
, RDAMT_PCPTAX: numberFormat
, RDAMT_ADAMT: numberFormat
, SUM_AMT: numberFormat
, RCVMT_YMD: dateFormat
, SZR_YMD: dateFormat
, SZR_RMV_YMD: dateFormat
, REG_DT: datetimeFormat
}
});
/**************************************************************************
* DatasetControl 이벤트
**************************************************************************/
// 현재 선택 자료 변경 이벤트
$P.ctrlLevy.onCurrentChange = (item) => {
if (!item) return;
// Dataset 셋팅
$P.formFields.set($P.ctrlLevy, item);
let key = item.data.LEVY_ID;
// 가상계좌번호
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); // 가상 계좌번호
}
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// 자료 재조회
$P.fnRefreshDataInfo = () => {
let crdnId = pageObject["${mainPageName}"].mainCtrl.getValue("CRDN_ID"); // 단속 ID
// 단속 ID 가 없다면.. return
if (!crdnId) return;
let params = {
callPurpose: "refresh"
, sggCd: pageObject["${mainPageName}"].mainCtrl.getValue("SGG_CD")
, taskSeCd: pageObject["${mainPageName}"].mainCtrl.getValue("TASK_SE_CD")
, crdnId: pageObject["${mainPageName}"].mainCtrl.getValue("CRDN_ID")
, delYn: "N"
};
ajax.get({
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/060/info.do")
, headers: { Accept: "application/json; charset=utf-8" } // json
, data: params || {}
, success: (resp) => {
// 초기화
$P.find("frmEditLevy").reset(); // 화면 초기화
$P.ctrlLevy.dataset.clear(); // Dataset 초기화
// sprt02010-main 단속 정보
pageObject["${mainPageName}"].mainCtrl.setData([resp.totalInfo]);
// Dataset 셋팅
if (resp.levyInfo) {
$P.ctrlLevy.setData([resp.levyInfo]); // 부과 정보
}
}
});
}
// 부과제외 dialog
$P.createLevyExclInfo = (params) => {
if (!params) return;
ajax.get({
url: wctx.url("/" + params.taskSeCd + "/excl/excl01/020/info.do")
, data: params || {}
, success: resp => {
if ((typeof resp) != "string") {
if (resp.rtnMsg != "") {
dialog.alert(resp.rtnMsg);
}
return;
} else {
let dialogName = "levyExclDialog";
let dialogId = dialogName + "-" + uuid();
dialog.open({
id: dialogId
, title: params.btnTitle
, size: "md"
, content: resp
, init: () => {
setDialogZindex();
$("#" + dialogId).attr("name", dialogName);
$("#" + dialogId).attr("data-ref-doctx", "${pageName}");
}
, onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회
});
}
}
});
}
/**************************************************************************
* 버튼 clickEvent
**************************************************************************/
// 부과 등록
$P.fnCreateLevy = (btnTitle) => {
//
}
// 부과 취소
$P.fnCreateLevyExcl = (btnTitle) => {
let crdnId = pageObject["${mainPageName}"].mainCtrl.getValue("CRDN_ID"); // 단속 ID
// 단속 ID 가 없다면.. return
if (!crdnId) return;
let params = {
callPurpose: "create"
, 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.createLevyExclInfo(params);
}
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 이벤트 설정
$P.setEvent = () => {
// 업무 버튼 이벤트
$P.$find("btnCreateLevy").on("click", function() {
$P.fnCreateLevy($P.$find("btnCreateLevy").attr("title")); // 부과 등록
});
$P.$find("btnCreateLevyExcl").on("click", function() {
$P.fnCreateLevyExcl($P.$find("btnCreateLevyExcl").attr("title")); // 부과 취소
});
}
// 초기 화면 설정
$P.initForm = () => {
// 초기화
$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);
}
}
/**************************************************************************
* 최초 실행 함수
**************************************************************************/
// 1. 이벤트 설정
$P.setEvent();
// 2. 초기 화면 설정
$P.initForm();
// 3. Dataset 설정
let levyInfo = ${levyInfo}; // 부과 정보
if (levyInfo) {
$P.ctrlLevy.setData([levyInfo]);
}
});
</script>

File diff suppressed because it is too large Load Diff

@ -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>
<th class="cmn dummy-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>
@ -90,284 +90,300 @@
</div> <!-- <div class="content-pop"> -->
<script>
/**************************************************************************
* Global Variable
**************************************************************************/
pageObject["${pageName}"] = {};
/**************************************************************************
* script 진입
**************************************************************************/
$(document).ready(function() {
// pageObject
let $P = pageObject["${pageName}"];
// FormFields
$P.formFields = new FimsFormFields("#frmEdit--${pageName}");
/**************************************************************************
* DatasetControl
**************************************************************************/
$P.control = new DatasetControl({
prefix: "cvlcptDscsn"
, prefixName: "민원상담"
, infoSize: "lg"
, keymapper: info => info ? info.CVLCPT_DSCSN_ID : ""
, dataGetter: obj => obj.cvlcptDscsns
, appendData: true
, formats: {
REG_DT: datetimeFormat
, MDFCN_DT: datetimeFormat
}
});
/**************************************************************************
* DatasetControl 이벤트
**************************************************************************/
// Dataset 변경
$P.control.onDatasetChange = (obj, option) => {
$P.renderList();
};
// 현재 선택 자료 변경 이벤트
$P.control.onCurrentChange = item => {
if (!item) return;
let key = item.data.CVLCPT_DSCSN_ID;
$("#tbody--${pageName}").setCurrentRow(key);
$("#dscsnCn--${pageName}").val(item.data.DSCSN_CN); // 상담 내용
};
// 민원 상담 내용 Dialog
$P.control.getInfo = (params) => {
if (!params) return;
ajax.get({
url: wctx.url("/" + params.taskSeCd +"/sprt/sprt04/020/info.do") + "?openerPageName=${pageName}"
, data: params || {}
, success: resp => {
dialog.open({
id: $P.control.prefixed("Dialog--${pageName}")
, title: params.title
, content: resp
, size: "lg"
, onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회
});
}
});
}
// 삭제 callback
$P.control.onRemove = (resp) => {
let btnTitle = $("#btnRemoveCvlcptDscsn--${pageName}").attr("title");
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
dialog.alert({
content: showMessage
, onOK: () => { }
});
if (resp.saved) {
$("#dscsnCn--${pageName}").val(""); // 상담내용 초기화
$P.fnRefreshDataInfo(); // 자료 재조회
}
}
// 삭제
$P.control.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)
});
}
/**************************************************************************
* DataTables 이벤트
**************************************************************************/
// DataTables에 click, dbclick 이벤트
$P.renderList = () => {
let cvlcptDscsnList = $P.control.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") + "');")
);
$("#tbody--${pageName}").html(trs.join());
}
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// 자료 재조회
$P.fnRefreshDataInfo = () => {
// 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let params = {
callPurpose: "refresh"
, inquiryCondition: "crdnId_vhrno"
, sggCd: $("#sggCd--${pageNameMain}").val()
, taskSeCd: $("#taskSeCd--${pageNameMain}").val()
, crdnId: crdnId
, vhrno: $("#vhrno--${pageNameMain}").val()
, delYn: "N"
};
ajax.get({
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/080/info.do")
, headers: { Accept: "application/json; charset=utf-8" } // json
, data: params || {}
, success: resp => {
// 초기화
$("#frmEdit--${pageName}")[0].reset(); // 화면 초기화
$P.control.dataset.clear(); // Dataset 초기화
// Dataset 셋팅
$P.control.setData(resp.cvlcptDscsns); // 민원상담 정보
}
});
}
// 사유 callback
$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
, delRsn: obj.reason // 삭제 사유
};
$P.control.remove(params);
}
/**************************************************************************
* 버튼 clickEvent
**************************************************************************/
// 민원 상담 내용 등록
$P.fnCreateCvlcptDscsn = (title) => {
// 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let params = {
callPurpose: "create"
, title: title
, sggCd: $("#sggCd--${pageNameMain}").val()
, taskSeCd: $("#taskSeCd--${pageNameMain}").val()
, crdnId: crdnId
};
$P.control.getInfo(params);
}
// 민원 상담 내용 수정
$P.fnUpdateCvlcptDscsn = (title) => {
// 민원 상담 ID
let cvlcptDscsnId = $P.control.dataset.getValue("CVLCPT_DSCSN_ID");
// 민원 상담 ID 가 없다면.. return
if (typeof cvlcptDscsnId == "undefined" || cvlcptDscsnId == null || 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
, delYn: "N"
};
$P.control.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;
/**************************************************************************
* Global Variable
**************************************************************************/
pageObject["${pageName}"] = newDoctxFinder("${pageName}");
/**************************************************************************
* script 진입
**************************************************************************/
$(document).ready(function() {
// pageObject
let $P = pageObject["${pageName}"];
// FormFields
$P.formFields = new FimsFormFields($P.selector("frmEditCvlcptDscsn"));
/**************************************************************************
* DatasetControl
**************************************************************************/
$P.ctrlCvlcptDscsn = new DatasetControl({
prefix: "cvlcptDscsn"
, prefixName: "민원상담"
, keymapper: info => info ? info.CVLCPT_DSCSN_ID : ""
, dataGetter: obj => obj.cvlcptDscsns
, appendData: true
, infoSize: "lg"
, formats: {
REG_DT: datetimeFormat
, MDFCN_DT: datetimeFormat
}
});
/**************************************************************************
* DatasetControl 이벤트
**************************************************************************/
// Dataset 변경 이벤트
$P.ctrlCvlcptDscsn.onDatasetChange = (obj, option) => {
$P.renderList();
};
// 현재 선택 자료 변경 이벤트
$P.ctrlCvlcptDscsn.onCurrentChange = (item) => {
if (!item) return;
$P.formFields.set($P.ctrlCvlcptDscsn, item); // 화면에 자료 셋팅
let key = item.data.CVLCPT_DSCSN_ID;
$P.$find("tbodyCvlcptDscsnList").setCurrentRow(key); // datatable에 자료 셋팅
};
// 민원 상담 내용 Dialog
$P.ctrlCvlcptDscsn.getInfo = (params) => {
if (!params) return;
ajax.get({
url: wctx.url("/" + params.taskSeCd +"/sprt/sprt04/020/info.do")
, data: params || {}
, success: (resp) => {
let dialogName = $P.ctrlCvlcptDscsn.prefixed("Dialog");
let dialogId = dialogName + "-" + uuid();
dialog.open({
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.ctrlCvlcptDscsn.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.ctrlCvlcptDscsn.remove = (params) => {
if (!params) return;
ajax.post({
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt04/010/remove.do")
, data: params || {}
, success: (resp) => {
$P.ctrlCvlcptDscsn.onRemove(params, resp);
}
});
}
/**************************************************************************
* DataTables 이벤트
**************************************************************************/
// DataTables에 click, dbclick 이벤트
$P.renderList = (totalSize, option) => {
let cvlcptDscsnList = $P.ctrlCvlcptDscsn.dataset;
let empty = cvlcptDscsnList.empty;
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") + "');")
);
$P.$find("tbodyCvlcptDscsnList").html(trs.join());
}
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// 자료 재조회
$P.fnRefreshDataInfo = () => {
let crdnId = pageObject["${mainPageName}"].mainCtrl.getValue("CRDN_ID"); // 단속 ID
// 단속 ID 가 없다면.. return
if (!crdnId) return;
let params = {
callPurpose: "refresh"
, inquiryCondition: "crdnId_vhrno"
, 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"
};
ajax.get({
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/080/info.do")
, headers: { Accept: "application/json; charset=utf-8" } // json
, data: params || {}
, success: (resp) => {
// 초기화
$P.find("frmEditCvlcptDscsn").reset(); // 화면 초기화
$P.ctrlCvlcptDscsn.dataset.clear(); // 수납 Dataset 초기화
// Dataset 셋팅
$P.ctrlCvlcptDscsn.setData(resp.cvlcptDscsns); // 민원상담 정보
}
});
}
// 사유 callback
$P.callbackRsn = (obj) => {
// 서버에 전송할 data(파라미터) 생성
let params = {
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.ctrlCvlcptDscsn.remove(params);
}
/**************************************************************************
* 버튼 clickEvent
**************************************************************************/
// 민원 상담 내용 등록
$P.fnCreateCvlcptDscsn = (btnTitle) => {
let crdnId = pageObject["${mainPageName}"].mainCtrl.getValue("CRDN_ID"); // 단속 ID
// 단속 ID 가 없다면.. return
if (!crdnId) return;
let params = {
callPurpose: "create"
, 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.ctrlCvlcptDscsn.getInfo(params);
}
// 민원 상담 내용 수정
$P.fnUpdateCvlcptDscsn = (btnTitle) => {
let cvlcptDscsnId = $P.ctrlCvlcptDscsn.getValue("CVLCPT_DSCSN_ID"); // 민원 상담 ID
// 민원 상담 ID 가 없다면.. return
if (!cvlcptDscsnId) return;
let params = {
callPurpose: "update"
, 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.ctrlCvlcptDscsn.getInfo(params);
}
// 민원상담 내용 삭제
$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() // 삭제 사유
});
}
});
});
}
});
}
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 이벤트 설정
$P.setEvent = () => {
// 업무 버튼 이벤트
$("#btnCreateCvlcptDscsn--${pageName}").on("click", function() {
$P.fnCreateCvlcptDscsn($(this).attr("title")); // 민원상담 등록
});
$("#btnUpdateCvlcptDscsn--${pageName}").on("click", function() {
$P.fnUpdateCvlcptDscsn($(this).attr("title")); // 민원상담 수정
});
$("#btnRemoveCvlcptDscsn--${pageName}").on("click", function() {
$P.fnRemoveCvlcptDscsn($(this).attr("title")); // 민원상담 삭제
});
}
// 초기 화면 설정
$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);
}
}
/**************************************************************************
* 최초 실행 함수
**************************************************************************/
// 1. 이벤트 설정
$P.setEvent();
// 2. 초기 화면 설정
$P.initForm();
// 3. Dataset 설정
$P.control.setData(${cvlcptDscsns}); // 민원 상담 정보
}
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 이벤트 설정
$P.setEvent = () => {
// 업무 버튼 이벤트
$P.$find("btnCreateCvlcptDscsn").on("click", function() {
$P.fnCreateCvlcptDscsn($P.$find("btnCreateCvlcptDscsn").attr("title")); // 민원상담 등록
});
$P.$find("btnUpdateCvlcptDscsn").on("click", function() {
$P.fnCreateCvlcptDscsn($P.$find("btnUpdateCvlcptDscsn").attr("title")); // 민원상담 수정
});
$P.$find("btnRemoveCvlcptDscsn").on("click", function() {
$P.fnRemoveCvlcptDscsn($P.$find("btnRemoveCvlcptDscsn").attr("title")); // 민원상담 삭제
});
// DataTables width 변경 조정
fnMakeResizableTable($P.find("tableRspnsCvlcptDscsn"));
}
// 초기 화면 설정
$P.initForm = () => {
// 초기화
$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);
}
}
/**************************************************************************
* 최초 실행 함수
**************************************************************************/
// 1. 이벤트 설정
$P.setEvent();
// 2. 초기 화면 설정
$P.initForm();
// 3. Dataset 설정
$P.ctrlCvlcptDscsn.setData(${cvlcptDscsns}); // 민원 상담 정보
});
</script>

Loading…
Cancel
Save