개별총정보 수정.

main
jjh 3 months ago
parent a30bd41dfe
commit f7f913d232

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

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

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

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

@ -2,11 +2,11 @@
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> <%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<!-- Page Body --> <!-- Page Body -->
<div class="content-pop"> <div class="content-pop" data-doctx="${pageName}">
<!-- 입력 영역 --> <!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit"> <form name="frmEditLevy">
<!-- hidden --> <!-- 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"> <div class="d-flex flex-row justify-content-evenly">
<!-- 부과 정보 --> <!-- 부과 정보 -->
@ -14,128 +14,128 @@
<div class="card"> <div class="card">
<!-- 업무 버튼 --> <!-- 업무 버튼 -->
<div class="container-page-btn"> <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"> <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>
<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> </button>
</span> </span> <!-- <span class="container-window-btn-right"> -->
</div> <!-- <div class="container-page-btn"> --> </div> <!-- <div class="container-page-btn"> -->
<div class="row g-1"> <div class="row g-1">
<!-- 회계 구분 코드 --> <!-- 회계 구분 코드 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="acntgSeCd--${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="acntgSeCd">회계구분</label>
<input type="text" class="form-control w-15" id="acntgSeCd--${pageName}" name="acntgSeCd" data-map="ACNTG_SE_CD" readonly /> <input is="id-input" type="text" class="form-control w-15" 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 /> <input is="id-input" type="text" class="form-control w-50" name="acntgSeNm" data-map="ACNTG_SE_NM" readonly />
</div> </div>
<!-- 세목 코드 --> <!-- 세목 코드 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="acntgSeCd--${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="txitmCd">회계세목</label>
<input type="text" class="form-control w-20" id="txitmCd--${pageName}" name="txitmCd" data-map="TXITM_CD" readonly /> <input is="id-input" type="text" class="form-control w-20" 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 /> <input is="id-input" type="text" class="form-control w-45" name="txitmNm" data-map="TXITM_NM" readonly />
</div> </div>
<!-- 운영 항목 코드 --> <!-- 운영 항목 코드 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="operItemCd--${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="operItemCd">운영항목</label>
<input type="text" class="form-control w-15" id="operItemCd--${pageName}" name="operItemCd" data-map="OPER_ITEM_CD" readonly /> <input is="id-input" type="text" class="form-control w-15" 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 /> <input is="id-input" type="text" class="form-control w-45" name="operItemNm" data-map="OPER_ITEM_NM" readonly />
</div> </div>
<!-- 회계 연도 --> <!-- 회계 연도 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="fyr--${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="fyr">회계연도</label>
<input type="text" class="form-control w-20" id="fyr--${pageName}" name="fyr" data-map="FYR" readonly /> <input is="id-input" type="text" class="form-control w-20" name="fyr" data-map="FYR" readonly />
</div> </div>
<!-- 부과 번호 --> <!-- 부과 번호 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="levyNo--${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="levyNo">부과번호</label>
<input type="text" class="form-control w-20" id="levyNo--${pageName}" name="levyNo" data-map="LEVY_NO" readonly /> <input is="id-input" type="text" class="form-control w-20" name="levyNo" data-map="LEVY_NO" readonly />
</div> </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"> <div class="col-md-4">
<label for="txtnThing--${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="txtnThing">과세물건</label>
<input type="text" class="form-control w-35" id="txtnThing--${pageName}" name="txtnThing" data-map="TXTN_THING" readonly /> <input is="id-input" type="text" class="form-control w-40" name="txtnThing" data-map="TXTN_THING" readonly />
</div> </div>
<!-- 부과 구분 코드 --> <!-- 부과 구분 코드 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="levySeNm--${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="levySeNm">부과구분</label>
<input type="text" class="form-control w-30" id="levySeNm--${pageName}" name="levySeNm" data-map="LEVY_SE_NM" readonly /> <input is="id-input" type="text" class="form-control w-30" name="levySeNm" data-map="LEVY_SE_NM" readonly />
<input type="hidden" id="levySeCd--${pageName}" name="levySeCd" data-map="LEVY_SE_CD" /> <input type="hidden" name="levySeCd" data-map="LEVY_SE_CD" />
</div> </div>
<!-- 통합 구분 코드 --> <!-- 통합 구분 코드 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="untySeNm--${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="untySeNm">통합구분</label>
<input type="text" class="form-control w-30" id="untySeNm--${pageName}" name="untySeNm" data-map="UNTY_SE_NM" readonly /> <input is="id-input" type="text" class="form-control w-30" name="untySeNm" data-map="UNTY_SE_NM" readonly />
<input type="hidden" id="untySeCd--${pageName}" name="untySeCd" data-map="UNTY_SE_CD" /> <input type="hidden" name="untySeCd" data-map="UNTY_SE_CD" />
</div> </div>
<!-- 감경 구분 명 --> <!-- 감경 구분 명 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="rdctSeNm--${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="rdctSeNm">감경구분</label>
<input type="text" class="form-control w-30" id="rdctSeNm--${pageName}" name="rdctSeNm" data-map="RDCT_SE_NM" readonly /> <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="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 />
</div> </div>
<!-- 분납 구분 명 --> <!-- 분납 구분 명 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="ispySeNm--${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="ispySeNm">분납구분</label>
<input type="text" class="form-control w-30" id="ispySeNm--${pageName}" name="ispySeNm" data-map="ISPY_SE_NM" readonly /> <input is="id-input" type="text" class="form-control w-30" name="ispySeNm" data-map="ISPY_SE_NM" readonly />
</div> </div>
<!-- 분납 이자 --> <!-- 분납 이자 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="ispyInt--${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="ispyInt">분납이자</label>
<input type="text" class="form-control w-30 text-end" id="ispyInt--${pageName}" name="ispyInt" data-map="ISPY_INT" readonly /> <input is="id-input" type="text" class="form-control w-30 text-end" name="ispyInt" data-map="ISPY_INT" readonly />
</div> </div>
<!-- 부과 일자 --> <!-- 부과 일자 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="levyYmd--${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="levyYmd">부과일자</label>
<input type="text" class="form-control w-30" id="levyYmd--${pageName}" name="levyYmd" data-map="LEVY_YMD" readonly /> <input is="id-input" type="text" class="form-control w-30" idname="levyYmd" data-map="LEVY_YMD" readonly />
</div> </div>
<!-- 최초 납기 일자 --> <!-- 최초 납기 일자 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="frstDudtYmd--${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="frstDudtYmd">최초납기일자</label>
<input type="text" class="form-control w-30" id="frstDudtYmd--${pageName}" name="frstDudtYmd" data-map="FRST_DUDT_YMD" readonly /> <input is="id-input" type="text" class="form-control w-30" name="frstDudtYmd" data-map="FRST_DUDT_YMD" readonly />
</div> </div>
<!-- 납기 일자 --> <!-- 납기 일자 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="dudtYmd--${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="dudtYmd">납기일자</label>
<input type="text" class="form-control w-30" id="dudtYmd--${pageName}" name="dudtYmd" data-map="DUDT_YMD" readonly /> <input is="id-input" type="text" class="form-control w-30" name="dudtYmd" data-map="DUDT_YMD" readonly />
</div> </div>
<!-- 부과 본세 --> <!-- 부과 본세 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="levyPcptax--${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="levyPcptax">부과본세</label>
<input type="text" class="form-control w-30 text-end" id="levyPcptax--${pageName}" name="levyPcptax" data-map="LEVY_PCPTAX" readonly /> <input is="id-input" type="text" class="form-control w-30 text-end" name="levyPcptax" data-map="LEVY_PCPTAX" readonly />
</div> </div>
<!-- 수납 본세 --> <!-- 수납 본세 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="rcvmtPcptax--${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="rcvmtPcptax">수납본세</label>
<input type="text" class="form-control w-30 text-end" id="rcvmtPcptax--${pageName}" name="rcvmtPcptax" data-map="RCVMT_PCPTAX" readonly /> <input is="id-input" type="text" class="form-control w-30 text-end" name="rcvmtPcptax" data-map="RCVMT_PCPTAX" readonly />
</div> </div>
<!-- 감액 본세 --> <!-- 감액 본세 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="rdamtPcptax--${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="rdamtPcptax">감액본세</label>
<input type="text" class="form-control w-30 text-end" id="rdamtPcptax--${pageName}" name="rdamtPcptax" data-map="RDAMT_PCPTAX" readonly /> <input is="id-input" type="text" class="form-control w-30 text-end" name="rdamtPcptax" data-map="RDAMT_PCPTAX" readonly />
</div> </div>
<!-- 부과 가산금 --> <!-- 부과 가산금 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="levyAdamt--${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="levyAdamt">부과가산금</label>
<input type="text" class="form-control w-30 text-end" id="levyAdamt--${pageName}" name="levyAdamt" data-map="LEVY_ADAMT" readonly /> <input is="id-input" type="text" class="form-control w-30 text-end" name="levyAdamt" data-map="LEVY_ADAMT" readonly />
</div> </div>
<!-- 수납 가산금 --> <!-- 수납 가산금 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="rcvmtAdamt--${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="rcvmtAdamt">수납가산금</label>
<input type="text" class="form-control w-30 text-end" id="rcvmtAdamt--${pageName}" name="rcvmtAdamt" data-map="RCVMT_ADAMT" readonly /> <input is="id-input" type="text" class="form-control w-30 text-end" name="rcvmtAdamt" data-map="RCVMT_ADAMT" readonly />
</div> </div>
<!-- 감액 가산금 --> <!-- 감액 가산금 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="rdamtAdamt--${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="rdamtAdamt">감액가산금</label>
<input type="text" class="form-control w-30 text-end" id="rdamtAdamt--${pageName}" name="rdamtAdamt" data-map="RDAMT_ADAMT" readonly /> <input is="id-input" type="text" class="form-control w-30 text-end" name="rdamtAdamt" data-map="RDAMT_ADAMT" readonly />
</div> </div>
<!-- --> <!-- -->
<div class="col-md-4"> <div class="col-md-4">
@ -145,49 +145,74 @@
</div> </div>
<!-- 합계 금액 --> <!-- 합계 금액 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="sumAmt--${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="sumAmt">미납금액</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 /> <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> </div>
<!-- 관리 항목 1 --> <!-- 관리 항목 1 -->
<div class="col-md-4"> <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> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="mngItem1">관리항목1</label>
<input type="text" class="form-control w-65" id="mngItem1--${pageName}" name="mngItem1" data-map="MNG_ITEM1" readonly /> <input is="id-input" type="text" class="form-control w-65" name="mngItem1" data-map="MNG_ITEM1" readonly />
</div> </div>
<!-- 관리 항목 2 --> <!-- 관리 항목 2 -->
<div class="col-md-4"> <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> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="mngItem2">관리항목2</label>
<input type="text" class="form-control w-65" id="mngItem2--${pageName}" name="mngItem2" data-map="MNG_ITEM2" readonly /> <input is="id-input" type="text" class="form-control w-65" name="mngItem2" data-map="MNG_ITEM2" readonly />
</div> </div>
<!-- 관리 항목 3 --> <!-- 관리 항목 3 -->
<div class="col-md-4"> <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> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="mngItem3">관리항목3</label>
<input type="text" class="form-control w-65" id="mngItem3--${pageName}" name="mngItem3" data-map="MNG_ITEM3" readonly /> <input is="id-input" type="text" class="form-control w-65" name="mngItem3" data-map="MNG_ITEM3" readonly />
</div> </div>
<!-- 관리 항목 4 --> <!-- 관리 항목 4 -->
<div class="col-md-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> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="mngItem4">관리항목4</label>
<input type="text" class="form-control w-65" id="mngItem4--${pageName}" name="mngItem4" data-map="MNG_ITEM4" readonly /> <input is="id-input" type="text" class="form-control w-65" name="mngItem4" data-map="MNG_ITEM4" readonly />
</div> </div>
<!-- 관리 항목 5 --> <!-- 관리 항목 5 -->
<div class="col-md-4"> <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> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="mngItem5">관리항목5</label>
<input type="text" class="form-control w-65" id="mngItem5--${pageName}" name="mngItem5" data-map="MNG_ITEM5" readonly /> <input is="id-input" type="text" class="form-control w-65" name="mngItem5" data-map="MNG_ITEM5" readonly />
</div> </div>
<!-- 관리 항목 6 --> <!-- 관리 항목 6 -->
<div class="col-md-4"> <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> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="mngItem6">관리항목6</label>
<input type="text" class="form-control w-65" id="mngItem6--${pageName}" name="mngItem6" data-map="MNG_ITEM6" readonly /> <input is="id-input" type="text" class="form-control w-65" name="mngItem6" data-map="MNG_ITEM6" readonly />
</div> </div>
<!-- 체납 구분 코드 --> <!-- 체납 구분 코드 -->
<div class="col-md-4"> <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> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="npmntSeNm">체납구분</label>
<input type="text" class="form-control w-40" id="npmntSeNm--${pageName}${pageDataName2}" name="npmntSeNm" data-map="NPMNT_SE_NM" readonly /> <input is="id-input" type="text" class="form-control w-40" name="npmntSeNm" data-map="NPMNT_SE_NM" readonly />
</div> </div>
<!-- 체납 사유 --> <!-- 체납 사유 -->
<div class="col-md-8"> <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> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="npmntRsn">체납사유</label>
<input type="text" class="form-control w-80" id="npmntRsn--${pageName}${pageDataName2}" name="npmntRsn" data-map="NPMNT_RSN" readonly /> <input is="id-input" type="text" class="form-control w-80" name="npmntRsn" data-map="NPMNT_RSN" readonly />
</div> </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="row g-1"> -->
</div> <!-- <div class="card"> --> </div> <!-- <div class="card"> -->
</div> <!-- <div class="col-xl-9 mx-1"> --> </div> <!-- <div class="col-xl-9 mx-1"> -->
@ -198,21 +223,21 @@
<div class="card"> <div class="card">
<!-- 업무 버튼 --> <!-- 업무 버튼 -->
<div class="container-page-btn"> <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> <!-- <div class="container-page-btn"> -->
<div class="row g-1"> <div class="row g-1">
<!-- 전자납부번호 --> <!-- 전자납부번호 -->
<div class="col-md-12"> <div class="col-md-12">
<label for="epaynoMask--${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="epaynoMask">전자납부번호</label>
<input type="text" class="form-control w-65" id="epaynoMask--${pageName}" name="epaynoMask" data-map="EPAYNO_MASK" readonly /> <input is="id-input" type="text" class="form-control w-65" name="epaynoMask" data-map="EPAYNO_MASK" readonly />
</div> </div>
<!-- 가상계좌번호 --> <!-- 가상계좌번호 -->
<div class="col-md-12"> <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>
<div class="col-md-12"> <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>
</div> <!-- <div class="card"> --> </div> <!-- <div class="card"> -->
@ -221,279 +246,229 @@
</div> <!-- <div class="d-flex flex-row justify-content-evenly"> --> </div> <!-- <div class="d-flex flex-row justify-content-evenly"> -->
</form> </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"> --> </div> <!-- <div class="content-pop"> -->
<script> <script>
/************************************************************************** /**************************************************************************
* Global Variable * Global Variable
**************************************************************************/ **************************************************************************/
pageObject["${pageName}"] = {}; pageObject["${pageName}"] = newDoctxFinder("${pageName}");
/************************************************************************** /**************************************************************************
* script 진입 * script 진입
**************************************************************************/ **************************************************************************/
$(document).ready(function() { $(document).ready(function() {
// pageObject // pageObject
let $P = pageObject["${pageName}"]; let $P = pageObject["${pageName}"];
// FormFields // FormFields
$P.formFields = new FimsFormFields("#frmEdit--${pageName}"); $P.formFields = new FimsFormFields($P.selector("frmEditLevy"));
/************************************************************************** /**************************************************************************
* DatasetControl * DatasetControl
**************************************************************************/ **************************************************************************/
$P.control = new DatasetControl({ $P.ctrlLevy = new DatasetControl({
prefix: "levy" prefix: "levy"
, prefixName: "부과" , prefixName: "부과"
, keymapper: info => info ? info.LEVY_ID : "" , keymapper: info => info ? info.LEVY_ID : ""
, dataGetter: obj => obj.levyInfo , dataGetter: obj => obj.levyInfo
, formats: { , formats: {
LEVY_YMD: dateFormat LEVY_YMD: dateFormat
, FRST_DUDT_YMD: dateFormat , FRST_DUDT_YMD: dateFormat
, DUDT_YMD: dateFormat , DUDT_YMD: dateFormat
, FFNLG_AMT: numberFormat , FFNLG_AMT: numberFormat
, LEVY_PCPTAX: numberFormat , LEVY_PCPTAX: numberFormat
, LEVY_ADAMT: numberFormat , LEVY_ADAMT: numberFormat
, ISPY_INT: numberFormat , ISPY_INT: numberFormat
, RCVMT_PCPTAX: numberFormat , RCVMT_PCPTAX: numberFormat
, RCVMT_ADAMT: numberFormat , RCVMT_ADAMT: numberFormat
, RDAMT_PCPTAX: numberFormat , RDAMT_PCPTAX: numberFormat
, RDAMT_ADAMT: numberFormat , RDAMT_ADAMT: numberFormat
, SUM_AMT: numberFormat , SUM_AMT: numberFormat
, RCVMT_YMD: dateFormat , RCVMT_YMD: dateFormat
, SZR_YMD: dateFormat , SZR_YMD: dateFormat
, SZR_RMV_YMD: dateFormat , SZR_RMV_YMD: dateFormat
, REG_DT: datetimeFormat , REG_DT: datetimeFormat
} }
}); });
/************************************************************************** /**************************************************************************
* DatasetControl 이벤트 * DatasetControl 이벤트
**************************************************************************/ **************************************************************************/
// 현재 선택 자료 변경 이벤트 // 현재 선택 자료 변경 이벤트
$P.control.onCurrentChange = (item) => { $P.ctrlLevy.onCurrentChange = (item) => {
if (!item) return; if (!item) return;
// Dataset 셋팅 // Dataset 셋팅
$P.formFields.set($P.control, item); $P.formFields.set($P.ctrlLevy, item);
let key = item.data.LEVY_ID; let key = item.data.LEVY_ID;
// 가상계좌번호 // 가상계좌번호
if (key != null) { let vrActno = Array.from({length: 20}, (x, i) => {
let vrActno = ""; let no = i + 1
, bank = "BANK_NM" + (no > 1 ? no : "")
if (item.data.BANK_NM != null && item.data.BANK_NM != "") vrActno += item.data.BANK_NM + " " + item.data.VR_ACTNO + "\n"; // 가상 계좌번호 , account = "VR_ACTNO" + (no > 1 ? no : "");
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 return [bank, account]
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 .map(entry => {
if (item.data.BANK_NM6 != null && item.data.BANK_NM6 != "") vrActno += item.data.BANK_NM6 + " " + item.data.VR_ACTNO6 + "\n"; // 가상 계좌번호6 let bank = item.data[entry[0]]
if (item.data.BANK_NM7 != null && item.data.BANK_NM7 != "") vrActno += item.data.BANK_NM7 + " " + item.data.VR_ACTNO7 + "\n"; // 가상 계좌번호7 , account = item.data[entry[1]];
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 return bank ? bank + " " + account : null;
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 .filter(txt => txt != null)
if (item.data.BANK_NM12 != null && item.data.BANK_NM12 != "") vrActno += item.data.BANK_NM12 + " " + item.data.VR_ACTNO12 + "\n"; // 가상 계좌번호12 .join("\n");
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 $P.$find("vrActno").val(vrActno); // 가상 계좌번호
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 * 사용자 함수(function)
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 // 자료 재조회
$P.fnRefreshDataInfo = () => {
$("#vrActno--${pageName}").val(vrActno); let crdnId = pageObject["${mainPageName}"].mainCtrl.getValue("CRDN_ID"); // 단속 ID
}
} // 단속 ID 가 없다면.. return
if (!crdnId) return;
/**************************************************************************
* 사용자 함수(function) let params = {
**************************************************************************/ callPurpose: "refresh"
// 자료 재조회 , sggCd: pageObject["${mainPageName}"].mainCtrl.getValue("SGG_CD")
$P.fnRefreshDataInfo = () => { , taskSeCd: pageObject["${mainPageName}"].mainCtrl.getValue("TASK_SE_CD")
// 단속 ID , crdnId: pageObject["${mainPageName}"].mainCtrl.getValue("CRDN_ID")
let crdnId = $("#crdnId--${pageNameMain}").val(); , delYn: "N"
// 단속 ID 가 없다면.. return };
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
ajax.get({
let params = { url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/060/info.do")
callPurpose: "refresh" , headers: { Accept: "application/json; charset=utf-8" } // json
, sggCd: $("#sggCd--${pageNameMain}").val() , data: params || {}
, taskSeCd: $("#taskSeCd--${pageNameMain}").val() , success: (resp) => {
, crdnId: crdnId // 초기화
, delYn: "N" $P.find("frmEditLevy").reset(); // 화면 초기화
}; $P.ctrlLevy.dataset.clear(); // Dataset 초기화
ajax.get({ // sprt02010-main 단속 정보
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/060/info.do") pageObject["${mainPageName}"].mainCtrl.setData([resp.totalInfo]);
, headers: { Accept: "application/json; charset=utf-8" } // json
, data: params || {} // Dataset 셋팅
, success: resp => { if (resp.levyInfo) {
// 초기화 $P.ctrlLevy.setData([resp.levyInfo]); // 부과 정보
$("#frmEdit--${pageName}")[0].reset(); // 화면 초기화 }
$P.control.dataset.clear(); // Dataset 초기화 }
});
// sprt02010-main 단속 정보 }
pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]);
// 부과제외 dialog
// Dataset 셋팅 $P.createLevyExclInfo = (params) => {
if (resp.levyInfo) { $P.control.setData([resp.levyInfo]); } // 부과 정보 if (!params) return;
}
}); ajax.get({
} url: wctx.url("/" + params.taskSeCd + "/excl/excl01/020/info.do")
, data: params || {}
// 부과제외 dialog , success: resp => {
$P.createLevyExcl = (params) => { if ((typeof resp) != "string") {
if (!params) return; if (resp.rtnMsg != "") {
dialog.alert(resp.rtnMsg);
ajax.get({ }
url: wctx.url("/" + params.taskSeCd + "/excl/excl01/020/info.do") + "?openerPageName=${pageName}" return;
, data: params || {} } else {
, success: resp => { let dialogName = "levyExclDialog";
if ((typeof resp) != "string") { let dialogId = dialogName + "-" + uuid();
if (resp.rtnMsg != "") {
dialog.alert(resp.rtnMsg); dialog.open({
} id: dialogId
return; , title: params.btnTitle
} else { , size: "md"
dialog.open({ , content: resp
id: "levyExclDialog--${pageName}" , init: () => {
, title: params.title setDialogZindex();
, content: resp
, size: "md" $("#" + dialogId).attr("name", dialogName);
, onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회 $("#" + dialogId).attr("data-ref-doctx", "${pageName}");
}); }
} , onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회
} });
}); }
} }
});
/************************************************************************** }
* 버튼 clickEvent
**************************************************************************/ /**************************************************************************
// 부과 등록 * 버튼 clickEvent
$P.fnCreateLevy = (title) => { **************************************************************************/
// 부과 등록
} $P.fnCreateLevy = (btnTitle) => {
//
// 부과 취소 }
$P.fnCreateLevyExcl = (title) => {
// 단속 ID // 부과 취소
let crdnId = $("#crdnId--${pageNameMain}").val(); $P.fnCreateLevyExcl = (btnTitle) => {
// 단속 ID 가 없다면.. return let crdnId = pageObject["${mainPageName}"].mainCtrl.getValue("CRDN_ID"); // 단속 ID
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
// 단속 ID 가 없다면.. return
// 단속 상태 코드 if (!crdnId) return;
let crdnSttsCd = $("#crdnSttsCd--${pageNameMain}").val();
let crdnSttsNm = $("#crdnSttsNm--${pageNameMain}").val(); let params = {
// 단속 상태 코드 확인 callPurpose: "create"
if (Number(crdnSttsCd) < 51 || Number(crdnSttsCd) > 55) { , btnTitle: btnTitle
dialog.alert({ , sggCd: pageObject["${mainPageName}"].mainCtrl.getValue("SGG_CD") // 시군구 코드
content: "[" + title + "]" + " 작업은 단속상태가 '본부과' 이후 '미수납' 자료만 처리 가능합니다." , taskSeCd: pageObject["${mainPageName}"].mainCtrl.getValue("TASK_SE_CD") // 업무 구분 코드
+ "<br>" + "단속상태 : " + crdnSttsNm , crdnId: pageObject["${mainPageName}"].mainCtrl.getValue("CRDN_ID") // 단속 ID
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다." , levyExclSeCd: "3"
, onOK: () => { } , delYn: "N"
}); };
return;
} $P.createLevyExclInfo(params);
}
let params = {
callPurpose: "create" /**************************************************************************
, title: title * 초기 셋팅
, sggCd: $("#sggCd--${pageNameMain}").val() **************************************************************************/
, taskSeCd: $("#taskSeCd--${pageNameMain}").val() // 이벤트 설정
, crdnId: crdnId $P.setEvent = () => {
, levyExclSeCd: "3" // 업무 버튼 이벤트
, delYn: "N" $P.$find("btnCreateLevy").on("click", function() {
}; $P.fnCreateLevy($P.$find("btnCreateLevy").attr("title")); // 부과 등록
});
$P.createLevyExcl(params); $P.$find("btnCreateLevyExcl").on("click", function() {
} $P.fnCreateLevyExcl($P.$find("btnCreateLevyExcl").attr("title")); // 부과 취소
});
/************************************************************************** }
* 초기 셋팅
**************************************************************************/ // 초기 화면 설정
// 이벤트 설정 $P.initForm = () => {
$P.setEvent = () => { // 초기화
// 업무 버튼 이벤트 $P.find("frmEditLevy").reset(); // 화면 초기화
$("#btnCreateLevy--${pageName}").on("click", function() { $P.ctrlLevy.dataset.clear(); // Dataset 초기화
$P.fnCreateLevy($(this).attr("title")); // 부과 등록
}); // 화면 호출(callPurpose)이 view라면 버튼 비활성화 disabled = true
$("#btnCreateLevyExcl--${pageName}").on("click", function() { if (pageObject['${mainPageName}'].callPurpose == "view") {
$P.fnCreateLevyExcl($(this).attr("title")); // 부과 취소 $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);
$P.initForm = () => { }
// button 요소들을 disabled = true }
$("#btnCreateLevy--${pageName}").prop("disabled", true);
$("#btnCreateLevyExcl--${pageName}").prop("disabled", true); /**************************************************************************
* 최초 실행 함수
// 화면 호출(callPurpose)이 view가 아니라면 버튼 비활성화 disabled = false **************************************************************************/
if (pageObject['${pageNameMain}'].callPurpose != "view") { // 1. 이벤트 설정
$("#btnCreateLevy--${pageName}").prop("disabled", false); $P.setEvent();
$("#btnCreateLevyExcl--${pageName}").prop("disabled", false);
} // 2. 초기 화면 설정
} $P.initForm();
/************************************************************************** // 3. Dataset 설정
* 최초 실행 함수 let levyInfo = ${levyInfo}; // 부과 정보
**************************************************************************/ if (levyInfo) {
// 1. 이벤트 설정 $P.ctrlLevy.setData([levyInfo]);
$P.setEvent(); }
});
// 2. 초기 화면 설정
$P.initForm();
// 3. Dataset 설정
let levyInfo = ${levyInfo}; // 부과 정보
if (levyInfo) { $P.control.setData([levyInfo]); }
});
</script> </script>

File diff suppressed because it is too large Load Diff

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

Loading…
Cancel
Save