diff --git a/src/main/java/cokr/xit/fims/epst/web/Epst02Controller.java b/src/main/java/cokr/xit/fims/epst/web/Epst02Controller.java index b4b615bb..d8183fe8 100644 --- a/src/main/java/cokr/xit/fims/epst/web/Epst02Controller.java +++ b/src/main/java/cokr/xit/fims/epst/web/Epst02Controller.java @@ -57,7 +57,8 @@ public class Epst02Controller extends ApplicationController { // View(jsp)에서 사용할 공통코드를 조회 Map> commonCodes = getCodesOf("FIM054"); - return mav.addObject("pageName", "epst02010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix + return mav + .addObject("pageName", "epst02010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("infoPrefix", "epostGdcc") // prefix .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) @@ -119,9 +120,9 @@ public class Epst02Controller extends ApplicationController { */ public ModelAndView createEpostGuidanceDocument(EpostGdcc epostGdcc) { boolean saved = false; - String retMessage = epostGdccService.createEpostGdcc(epostGdcc); + String rtnMsg = epostGdccService.createEpostGdcc(epostGdcc); - if (retMessage.contains("[S]")) { + if (rtnMsg.contains("[S]")) { saved = true; } else { saved = false; @@ -129,7 +130,7 @@ public class Epst02Controller extends ApplicationController { return new ModelAndView("jsonView") .addObject("saved", saved) - .addObject("retMessage", retMessage); + .addObject("rtnMsg", rtnMsg); } /**전자우편 안내문 정보를 수정한다. @@ -141,9 +142,9 @@ public class Epst02Controller extends ApplicationController { */ public ModelAndView updateEpostGuidanceDocument(EpostGdcc epostGdcc) { boolean saved = false; - String retMessage = epostGdccService.updateEpostGdcc(epostGdcc); + String rtnMsg = epostGdccService.updateEpostGdcc(epostGdcc); - if (retMessage.contains("[S]")) { + if (rtnMsg.contains("[S]")) { saved = true; } else { saved = false; @@ -151,7 +152,7 @@ public class Epst02Controller extends ApplicationController { return new ModelAndView("jsonView") .addObject("saved", saved) - .addObject("retMessage", retMessage); + .addObject("rtnMsg", rtnMsg); } /**지정한 전자우편 안내문를 제거한다. @@ -164,9 +165,9 @@ public class Epst02Controller extends ApplicationController { */ public ModelAndView removeEpostGuidanceDocument(EpostGdcc epostGdcc) { boolean saved = false; - String retMessage = epostGdccService.removeEpostGdcc(epostGdcc); + String rtnMsg = epostGdccService.removeEpostGdcc(epostGdcc); - if (retMessage.contains("[S]")) { + if (rtnMsg.contains("[S]")) { saved = true; } else { saved = false; @@ -174,7 +175,7 @@ public class Epst02Controller extends ApplicationController { return new ModelAndView("jsonView") .addObject("saved", saved) - .addObject("retMessage", retMessage); + .addObject("rtnMsg", rtnMsg); } /**전자우편 안내문를 등록한다. diff --git a/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java b/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java index ab80eb28..2bf6c336 100644 --- a/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java +++ b/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java @@ -120,10 +120,10 @@ public class Excl01Controller extends ApplicationController { .addObject("saveCallbackFuncName", saveCallbackFuncName) // .addObject("savedCallbackFuncName", savedCallbackFuncName) // .addObject("pageName", "excl01020") // + .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 .addObject("FIM021List", commonCodes.get("FIM021")) // 부과 제외 구분 코드(LEVY_EXCL_SE_CD) .addObject("FIM022List", commonCodes.get("FIM022")) // 부과 제외 사유 코드(LEVY_EXCL_RSN_CD) .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 .addObject("levyExclInfo", json ? levyExclInfo : toJson(levyExclInfo)) // 부과제외 정보 ; } diff --git a/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java b/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java index 154201a7..0c7a635b 100644 --- a/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java +++ b/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java @@ -127,12 +127,12 @@ public class Excl02Controller extends ApplicationController { return mav .addObject("pageName", "excl02020") + .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 .addObject("FIM029List", commonCodes.get("FIM029")) // 접수 구분 코드(RCPT_SE_CD) .addObject("FIM030List", commonCodes.get("FIM030")) // 통보 구분 코드(NTFCTN_SE_CD) .addObject("FIM032List", commonCodes.get("FIM032")) // 소유주 관계 구분 코드(OWNR_REL_CD) .addObject("FIM033List", commonCodes.get("FIM033")) // 의견 제출 구분 코드(OPNN_SBMSN_SE_CD) .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 .addObject("opnnSbmsnInfo", json ? opnnSbmsnInfo : toJson(opnnSbmsnInfo)) // 의견제출 정보 ; } diff --git a/src/main/java/cokr/xit/fims/sprt/service/bean/Sprt04ServiceBean.java b/src/main/java/cokr/xit/fims/sprt/service/bean/Sprt04ServiceBean.java index 72db2817..0995423d 100644 --- a/src/main/java/cokr/xit/fims/sprt/service/bean/Sprt04ServiceBean.java +++ b/src/main/java/cokr/xit/fims/sprt/service/bean/Sprt04ServiceBean.java @@ -61,12 +61,12 @@ public class Sprt04ServiceBean extends AbstractServiceBean implements Sprt04Serv @Override public String removeCvlcptDscsnList(CvlcptDscsnQuery req) { // 변수 선언 - String retMessage = ""; // 처리 결과 메시지 + String rtnMsg = ""; // 처리 결과 메시지 // 민원 상담 IDs 건수를 확인하여 1건이하면.. 종료 if (req.getCvlcptDscsnIDs().length < 1) { - retMessage = "작업 중 선택 자료가 존재하지 않습니다."; - return retMessage; + rtnMsg = "작업 중 선택 자료가 존재하지 않습니다."; + return rtnMsg; } // 민원 상담 IDs 만큼 반복.. @@ -77,14 +77,14 @@ public class Sprt04ServiceBean extends AbstractServiceBean implements Sprt04Serv cvlcptDscsn.setDelRsn(req.getDelRsn()); // 삭제 사유 // 부과제외 삭제 호출 - retMessage = sprt04Bean.removeCvlcptDscsn(cvlcptDscsn); + rtnMsg = sprt04Bean.removeCvlcptDscsn(cvlcptDscsn); // 오류가 발생하였으면 종료.. - if (retMessage.contains("[F]")) { - return retMessage; + if (rtnMsg.contains("[F]")) { + return rtnMsg; } } - return retMessage; + return rtnMsg; } @Override diff --git a/src/main/java/cokr/xit/fims/sprt/web/Sprt04Controller.java b/src/main/java/cokr/xit/fims/sprt/web/Sprt04Controller.java index c7b7c338..7de5bb91 100644 --- a/src/main/java/cokr/xit/fims/sprt/web/Sprt04Controller.java +++ b/src/main/java/cokr/xit/fims/sprt/web/Sprt04Controller.java @@ -91,7 +91,7 @@ public class Sprt04Controller extends ApplicationController { * } */ public ModelAndView getCvlcptDscsnInfo(CvlcptDscsnQuery req) { - DataObject cvlcptDscsn = sprt04Service.getCvlcptDscsnInfo(req); + DataObject cvlcptDscsnInfo = sprt04Service.getCvlcptDscsnInfo(req); boolean json = jsonResponse(); @@ -101,9 +101,10 @@ public class Sprt04Controller extends ApplicationController { Map> commonCodes = getCodesOf("FIM065"); return mav - .addObject("pageName", "sprt04020") // - .addObject("FIM065List", commonCodes.get("FIM065")) // 민원 접수 구분 코드(CVLCPT_RCPT_SE_CD) - .addObject("cvlcptDscsn", json ? cvlcptDscsn : toJson(cvlcptDscsn)) + .addObject("pageName", "sprt04020") // + .addObject("FIM065List", commonCodes.get("FIM065")) // 민원 접수 구분 코드(CVLCPT_RCPT_SE_CD) + .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 + .addObject("cvlcptDscsnInfo", json ? cvlcptDscsnInfo : toJson(cvlcptDscsnInfo)) // 민원 상담 정보 ; } @@ -116,9 +117,9 @@ public class Sprt04Controller extends ApplicationController { */ public ModelAndView createCvlcptDscsn(CvlcptDscsn cvlcptDscsn) { boolean saved = false; - String retMessage = sprt04Service.createCvlcptDscsn(cvlcptDscsn); + String rtnMsg = sprt04Service.createCvlcptDscsn(cvlcptDscsn); - if (retMessage.contains("[S]")) { + if (rtnMsg.contains("[S]")) { saved = true; } else { saved = false; @@ -126,7 +127,7 @@ public class Sprt04Controller extends ApplicationController { return new ModelAndView("jsonView") .addObject("saved", saved) - .addObject("retMessage", retMessage); + .addObject("rtnMsg", rtnMsg); } /**민원 상담 내용 정보를 수정한다. @@ -138,9 +139,9 @@ public class Sprt04Controller extends ApplicationController { */ public ModelAndView updateCvlcptDscsn(CvlcptDscsn cvlcptDscsn) { boolean saved = false; - String retMessage = sprt04Service.updateCvlcptDscsn(cvlcptDscsn); + String rtnMsg = sprt04Service.updateCvlcptDscsn(cvlcptDscsn); - if (retMessage.contains("[S]")) { + if (rtnMsg.contains("[S]")) { saved = true; } else { saved = false; @@ -148,7 +149,7 @@ public class Sprt04Controller extends ApplicationController { return new ModelAndView("jsonView") .addObject("saved", saved) - .addObject("retMessage", retMessage); + .addObject("rtnMsg", rtnMsg); } /**여러 건의 민원 상담 정보를 제거한다. @@ -161,9 +162,9 @@ public class Sprt04Controller extends ApplicationController { */ public ModelAndView removeCvlcptDscsnList(CvlcptDscsnQuery req) { boolean saved = false; - String retMessage = sprt04Service.removeCvlcptDscsnList(req); + String rtnMsg = sprt04Service.removeCvlcptDscsnList(req); - if (retMessage.contains("[S]")) { + if (rtnMsg.contains("[S]")) { saved = true; } else { saved = false; @@ -171,7 +172,7 @@ public class Sprt04Controller extends ApplicationController { return new ModelAndView("jsonView") .addObject("saved", saved) - .addObject("retMessage", retMessage); + .addObject("rtnMsg", rtnMsg); } /**지정한 민원 상담 내용를 제거한다. @@ -184,9 +185,9 @@ public class Sprt04Controller extends ApplicationController { */ public ModelAndView removeCvlcptDscsn(CvlcptDscsn cvlcptDscsn) { boolean saved = false; - String retMessage = sprt04Service.removeCvlcptDscsn(cvlcptDscsn); + String rtnMsg = sprt04Service.removeCvlcptDscsn(cvlcptDscsn); - if (retMessage.contains("[S]")) { + if (rtnMsg.contains("[S]")) { saved = true; } else { saved = false; @@ -194,7 +195,7 @@ public class Sprt04Controller extends ApplicationController { return new ModelAndView("jsonView") .addObject("saved", saved) - .addObject("retMessage", retMessage); + .addObject("rtnMsg", rtnMsg); } } diff --git a/src/main/webapp/WEB-INF/jsp/fims/epst/epst01010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/epst/epst01010-main.jsp index cc0eef63..7d59a6e8 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/epst/epst01010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/epst/epst01010-main.jsp @@ -703,16 +703,16 @@ // 이벤트 설정 setEvent${pageName}(); - // 보안모드 - fn_securityModeToggle($("#securityMode--top").is(":checked")); - - // 시군구 코드 + // 시군구 코드 설정 $("#sggCd--${pageName}").val("${sggCd}"); // 업무 구분 설정 let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val(); $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true); + // 보안모드 + fn_securityModeToggle($("#securityMode--top").is(":checked")); + // 화면 초기 설정 및 업무 구분 변경 fnResetAndChangeBiz${pageName}(defaultBizValue); }); diff --git a/src/main/webapp/WEB-INF/jsp/fims/epst/epst02010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/epst/epst02010-main.jsp index b81101a9..ab269843 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/epst/epst02010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/epst/epst02010-main.jsp @@ -89,7 +89,7 @@ - @@ -203,7 +203,7 @@ **************************************************************************/ var ${pageName}Control = new DatasetControl({ prefix : "epostGdcc" - , prefixName : "안내문 관리" + , prefixName : "전자우편 안내문" , infoSize : "md" , keymapper : info => info ? info.GDCC_ID : "" , dataGetter : obj => obj.epostGdccList @@ -260,23 +260,17 @@ }; // 전자우편 안내문 dialog - ${pageName}Control.getInfo = (callPurpose, gdccId) => { - // - if (typeof callPurpose == "undefined" || callPurpose == null || callPurpose == "") { - callPurpose = "view"; - } + ${pageName}Control.getInfo = (params) => { + if (!params) return; - let params = { - callPurpose : callPurpose - , sggCd : $("#sggCd--${pageName}").val() // 시군구 코드 - , taskSeCd : $("input[name=taskSeCd]:checked").val() // 업무 구분 코드 - }; + let dialogTitle = ""; - if (callPurpose == "view" || callPurpose == "update") { - // ID가 없다면.. 종료 - if (typeof gdccId == "undefined" || gdccId == null || gdccId == "") return; - - params.gdccId = gdccId; // 안내문 ID + if (params.callPurpose == "create") { + dialogTitle = ${pageName}Control.prefixName + " 등록"; + } else if (params.callPurpose == "update") { + dialogTitle = ${pageName}Control.prefixName + " 수정"; + } else { + dialogTitle = ${pageName}Control.prefixName + " 정보"; } ajax.get({ @@ -285,11 +279,10 @@ , success : resp => { dialog.open({ id : "epostGdccDialog" - , title : "전자우편 안내문 정보" + , title : dialogTitle , content : resp , size : ${pageName}Control.infoSize - , init : () => { } - , onClose : () => { ${pageName}Control.load(${pageName}Control.query.pageNum); } // callback + , onClose : () => { refreshList${pageName}(); } // 자료 재조회 }); } }); @@ -298,12 +291,12 @@ // 삭제 callback ${pageName}Control.onRemove = (selected, resp) => { let btnTitle = $("#btnRemove--${pageName}").attr("title"); - let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle); + let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle); dialog.alert(showMessage); if (resp.saved) { - ${pageName}Control._load(); + refreshList${pageName}(); // 자료 재조회 } } @@ -339,7 +332,7 @@ document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%> (str, dataItem) => str .replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("GDCC_ID") + "');") - .replace(/{ondblclick}/gi, "${pageName}Control.getInfo('update', '" + dataItem.getValue("GDCC_ID") + "');") + .replace(/{ondblclick}/gi, "fnUpdate${pageName}('" + dataItem.getValue("GDCC_ID") + "');") ); let noMore = (totalSize == ${infoPrefix}List.length); @@ -370,6 +363,13 @@ /************************************************************************** * 사용자 함수(function) **************************************************************************/ + // 검색 자료 재조회 + refreshList${pageName} = () => { + ${pageName}Control.untilPageNum = ${pageName}Control.query.pageNum; + ${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize * ${pageName}Control.query.pageNum; + + ${pageName}Control.load(1); + } /************************************************************************** @@ -415,17 +415,31 @@ // 전자우편 안내문 등록 버튼 이벤트 fnCreate${pageName} = () => { - ${pageName}Control.getInfo("create"); + let params = { + callPurpose : "create" + , sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드 + , taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 + + }; + + ${pageName}Control.getInfo(params); } // 전자우편 안내문 수정 버튼 이벤트 - fnUpdate${pageName} = () => { - let gdccId = ${pageName}Control.dataset.getValue("GDCC_ID"); + fnUpdate${pageName} = (gdccId) => { + // 안내문 ID 가 없다면.. 입력 + if (typeof gdccId == "undefined" || gdccId == null || gdccId == "") { + gdccId = ${pageName}Control.dataset.getValue("GDCC_ID"); + } - // 전자우편 안내문 ID 가 없다면.. return - if (typeof gdccId == "undefined" || gdccId == null || gdccId == "") return; + let params = { + callPurpose : "update" + , sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드 + , taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 + , gdccId : gdccId // 안내문 ID + }; - ${pageName}Control.getInfo("update", gdccId); + ${pageName}Control.getInfo(params); } // 전자우편 안내문 삭제 버튼 이벤트 @@ -509,16 +523,16 @@ // 이벤트 설정 setEvent${pageName}(); - // 보안모드 - fn_securityModeToggle($("#securityMode--top").is(":checked")); - - // 시군구 코드 + // 시군구 코드 설정 $("#sggCd--${pageName}").val("${sggCd}"); // 업무 구분 설정 let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val(); $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true); + // 보안모드 + fn_securityModeToggle($("#securityMode--top").is(":checked")); + // 화면 초기 설정 및 업무 구분 변경 fnResetAndChangeBiz${pageName}(defaultBizValue); }); diff --git a/src/main/webapp/WEB-INF/jsp/fims/epst/epst02020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/epst/epst02020-info.jsp index 795fb350..62beef78 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/epst/epst02020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/epst/epst02020-info.jsp @@ -63,10 +63,10 @@ **************************************************************************/ // URL var ${pageName}PrefixUrl = "/epst/epst02"; - // FormFields - var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}"); // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정) var ${pageName}CallPurpose = "${callPurpose}"; + // FormFields + var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}"); /************************************************************************** * DatasetControl @@ -95,7 +95,7 @@ // 저장 callback ${pageName}Control.onSave = (resp) => { let dialogTitle = $("#" + ${pageName}Control.prefix + "Dialog").find("h5.modal-title").html(); - let showMessage = resp.retMessage.replace(/[S]|[F]/g, dialogTitle); + let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle); dialog.alert(showMessage); @@ -108,7 +108,7 @@ ${pageName}Control.save = (info) => { if (!info) return; - let create = (${pageName}CallPurpose == "create"); // if 문 + let create = (${pageName}CallPurpose == "create"); ajax.post({ url : !create ? ${pageName}Control.urls.update : ${pageName}Control.urls.create @@ -118,35 +118,12 @@ } /************************************************************************** - * 초기 셋팅 + * 사용자 함수(function) **************************************************************************/ - // 이벤트 설정 - setEvent${pageName} = () => { - } - - // 초기 기본 설정 - initForm${pageName} = () => { - if (${pageName}CallPurpose == "view") { - $("#sndngSeCd--${pageName}").attr("disabled", true); - $("#ttlNm--${pageName}").attr("disabled", true); - $("#wordsCn--${pageName}").attr("disabled", true); - $("#btnSave--${pageName}").attr("disabled", true); - } else { - $("#sndngSeCd--${pageName}").attr("disabled", false); - $("#ttlNm--${pageName}").attr("disabled", false); - $("#wordsCn--${pageName}").attr("disabled", false); - $("#btnSave--${pageName}").attr("disabled", false); - } - } - - // 기본 데이터 설정 - setForm${pageName} = () => { - - } /************************************************************************** - * function + * 버튼 clickEvent **************************************************************************/ // 저장 fnSave${pageName} = () => { @@ -161,6 +138,48 @@ }); } + /************************************************************************** + * 초기 셋팅 + **************************************************************************/ + // 이벤트 설정 + setEvent${pageName} = () => { + // form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용 + $("#frmEdit--${pageName}").find(".form-date").each(function() { + $(this).on("input",function() { + let value = this.value.replaceAll("-", ""); + + if (value.length > 7) { + this.value = value.substring(0,4) + "-" + value.substring(4,6) + "-" + value.substring(6); + } else if(value.length > 5) { + this.value = value.substring(0,4) + "-" + value.substring(4); + } + }); + }); + } + + // 초기 기본 설정 + initForm${pageName} = () => { + // 화면 초기화 + $("#frmEdit--${pageName}")[0].reset(); + + // 달력 초기화 + initDatepicker("frmEdit--${pageName}"); + } + + // 기본 데이터 설정 + setFormData${pageName} = () => { + if (${pageName}CallPurpose == "view") { + // input 요소들을 disabled + $("#frmEdit--${pageName}").find("input,textarea,select").prop("disabled", true); + // button 요소들을 disabled + $("#btnSave--${pageName}").prop("disabled", true); // 저장 버튼 + } else if (${pageName}CallPurpose == "create") { + // + } else if (${pageName}CallPurpose == "update") { + // + } + } + /************************************************************************** * script 진입 **************************************************************************/ @@ -168,14 +187,14 @@ // 이벤트 설정 setEvent${pageName}(); - // 화면 초기화 + // 초기 기본 설정 initForm${pageName}(); - // Dataset 셋팅 - 단건일 경우 setData + // Dataset 설정 ${pageName}Control.setData([${epostGdccInfo}]); - // 화면 데이터 셋팅 - setForm${pageName}(); + // 기본 데이터 설정 + setFormData${pageName}(); }); diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl01010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl01010-main.jsp index 30a175a9..82e24047 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl01010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl01010-main.jsp @@ -389,9 +389,8 @@ dialog.alert(showMessage); // 메시지 출력 - // 자료 재조회 if (resp.saved) { - refreshList${pageName}(); + refreshList${pageName}(); // 자료 재조회 } } @@ -478,7 +477,7 @@ }); } - // 삭제 + // 삭제 callback callbackRemove${pageName} = (obj) => { let selected = ${pageName}Control.dataset.getKeys("selected"); @@ -571,7 +570,7 @@ // 삭제 사유 입력 let callbackFuncName = "callbackRemove${pageName}"; let popupWidth = 640; - let popupHeight = 360; + let popupHeight = 240; let popupX = (window.screen.width / 2) - (popupWidth / 2); let popupY= (window.screen.height / 2) - (popupHeight / 2); @@ -660,16 +659,16 @@ // 이벤트 설정 setEvent${pageName}(); - // 보안모드 - fn_securityModeToggle($("#securityMode--top").is(":checked")); - - // 시군구 코드 + // 시군구 코드 설정 $("#sggCd--${pageName}").val("${sggCd}"); // 업무 구분 설정 let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val(); $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true); + // 보안모드 + fn_securityModeToggle($("#securityMode--top").is(":checked")); + // 화면 초기 설정 및 업무 구분 변경 fnResetAndChangeBiz${pageName}(defaultBizValue); }); diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl01020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl01020-info.jsp index 19d4872b..557277f5 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl01020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl01020-info.jsp @@ -21,12 +21,12 @@
- +
- +
@@ -34,7 +34,7 @@ - +
@@ -77,7 +77,7 @@ **************************************************************************/ // URL var ${pageName}PrefixUrl = "/excl/excl01"; - // 호출 용도 + // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정) var ${pageName}CallPurpose = "${callPurpose}"; // FormFields var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}"); @@ -110,7 +110,7 @@ ${pageName}Control.urls.update = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/update.do"); // 부과제외구분에 따른 부과제외사유 셋팅 - setFim021(item.data.LEVY_EXCL_SE_CD, item.data.LEVY_EXCL_RSN_CD); + setFim021${pageName}(item.data.LEVY_EXCL_SE_CD, item.data.LEVY_EXCL_RSN_CD); } /************************************************************************** @@ -154,7 +154,7 @@ * 사용자 함수 **************************************************************************/ // 부과제외 구분에 따른 부과제외 사유 코드 설정 - setFim021 = (seCode, rsnCode) => { + setFim021${pageName} = (seCode, rsnCode) => { let cmnCode = FIM021[seCode]; $("#levyExclSeCd--${pageName}").val(cmnCode.code); @@ -205,6 +205,9 @@ // 화면 초기화 initForm${pageName} = () => { + // 화면 초기화 + $("#frmEdit--${pageName}")[0].reset(); + // 달력 초기화 initDatepicker("frmEdit--${pageName}"); $("#levyExclYmd--${pageName}").datepicker("setDate", new Date()); @@ -219,9 +222,19 @@ // 기본 데이터 설정 setFormData${pageName} = () => { - // create 로 호출됐을 경우.. - if (${pageName}CallPurpose == "create") { - $("#levyExclYmd--${pageName}").datepicker("setDate", new Date()); + $("#vhrno--${pageName}").prop("readonly", true); // 차량번호 + $("#levyExclSeNm--${pageName}").prop("readonly", true); // 부과 제외 구분 + + if (${pageName}CallPurpose == "view") { + // input 요소들을 disabled + $("#frmEdit--${pageName}").find("input,textarea,select").prop("disabled", true); + // button 요소들을 disabled + $("#btnLevyExclYmd--${pageName}").prop("disabled", true); // 부과제외 일자 달력 버튼 + $("#btnSave--${pageName}").prop("disabled", true); // 저장 버튼 + } else if (${pageName}CallPurpose == "create") { + $("#levyExclYmd--${pageName}").datepicker("setDate", new Date()); // 부과제외 일자 + } else if (${pageName}CallPurpose == "update") { + // } } diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp index c3e4ff34..a0378bfe 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp @@ -397,9 +397,8 @@ dialog.alert(showMessage); - // 자료 재조회 if (resp.saved) { - refreshList${pageName}(); + refreshList${pageName}(); // 자료 재조회 } } @@ -503,7 +502,7 @@ }); } - // 삭제 + // 삭제 callback callbackRemove${pageName} = (obj) => { let selected = ${pageName}Control.dataset.getKeys("selected"); @@ -611,7 +610,7 @@ // 삭제 사유 입력 let callbackFuncName = "callbackRemove${pageName}"; let popupWidth = 640; - let popupHeight = 360; + let popupHeight = 240; let popupX = (window.screen.width / 2) - (popupWidth / 2); let popupY= (window.screen.height / 2) - (popupHeight / 2); @@ -679,6 +678,7 @@ // dataset 초기화 ${pageName}Control.dataset.clear(); } + // URL 설정 setURL${pageName} = (taskSeCd) => { ${pageName}Control.urls.load = wctx.url( taskSeCd + ${pageName}PrefixUrl + "/010/list.do"); // 조회 @@ -700,16 +700,16 @@ // 이벤트 설정 setEvent${pageName}(); - // 보안모드 - fn_securityModeToggle($("#securityMode--top").is(":checked")); - - // 시군구 코드 + // 시군구 코드 설정 $("#sggCd--${pageName}").val("${sggCd}"); // 업무 구분 설정 let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val(); $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true); + // 보안모드 + fn_securityModeToggle($("#securityMode--top").is(":checked")); + // 화면 초기 설정 및 업무 구분 변경 fnResetAndChangeBiz${pageName}(defaultBizValue); }); diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02020-info.jsp index b353855b..28823ee3 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02020-info.jsp @@ -21,33 +21,33 @@
- +
- +
- +
- +
- + - +
- + @@ -89,7 +89,7 @@
- +
@@ -104,12 +104,12 @@
- +
- +
- +
@@ -139,7 +139,7 @@
- +
@@ -153,7 +153,8 @@ 다운로드 삭제 - + + @@ -164,7 +165,7 @@ - + @@ -179,7 +180,7 @@ **************************************************************************/ // URL var ${pageName}PrefixUrl = "/excl/excl02"; - // 호출 용도 + // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정) var ${pageName}CallPurpose = "${callPurpose}"; // FormFields var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}"); @@ -232,7 +233,7 @@ if (!info) return; let formData = new FormData(); - let create = isEmpty(info.opnnId); + let create = (${pageName}CallPurpose == "create"); // 첨부파일 배열에 있는 내용을 등록 for (let iLoop = 0; iLoop < $fileListArr.length; iLoop++) { @@ -269,9 +270,7 @@ // 납부자 정보를 진술자 정보로 입력한다. fnPayer${pageName} = () => { // 수정이라면 동작하지 않게 한다. - if (${pageName}Control.getValue("OPNN_ID") != "") { - return; - } + if (${pageName}Control.getValue("OPNN_ID") != "") return; $("select[name='ownrRelCd'] option:contains('본인')").attr("selected", "selected"); $("#sttrNm--${pageName}").val(${pageName}Control.getValue("RTPYR_NM")); @@ -454,24 +453,34 @@ // 화면 초기 설정 initForm${pageName} = () => { + // 화면 초기화 + $("#frmEdit--${pageName}")[0].reset(); + // 달력 초기화 initDatepicker("frmEdit--${pageName}"); $("#rcptYmd--${pageName}").datepicker("setDate", new Date()); - - // view 로 호출됐을 경우.. - if (${pageName}CallPurpose == "view") { - $("btnSave--${pageName}").attr("disabled", true); - } else { - $("btnSave--${pageName}").attr("disabled", false); - } } // 기본 데이터 설정 setFormData${pageName} = () => { - // create 로 호출됐을 경우.. - if (${pageName}CallPurpose == "create") { - $("#rcptNo--${pageName}").prop("readonly", true); - $("#rcptYmd--${pageName}").datepicker("setDate", new Date()); + $("#vhrno--${pageName}").prop("readonly", true); // 차량번호 + $("#crdnYmd--${pageName}").prop("readonly", true); // 단속 일자 + $("#rtpyrNm--${pageName}").prop("readonly", true); // 납부자 명 + + if (${pageName}CallPurpose == "view") { + // input 요소들을 disabled + $("#frmEdit--${pageName}").find("input,textarea,select").prop("disabled", true); + // button 요소들을 disabled + $("#btnRcptYmd--${pageName}").prop("disabled", true); // 접수 일자 달력 버튼 + $("#btnPayer--${pageName}").prop("disabled", true); // 납부자 버튼 + $("#btnZip--${pageName}").prop("disabled", true); // 우편번호 버튼 + $("#btnAddFile--${pageName}").prop("disabled", true); // 파일 추가 버튼 + $("#btnSave--${pageName}").prop("disabled", true); // 저장 버튼 + } else if (${pageName}CallPurpose == "create") { + $("#rcptNo--${pageName}").prop("readonly", true); // 접수 번호 + $("#rcptYmd--${pageName}").datepicker("setDate", new Date()); // 접수 일자 + } else if (${pageName}CallPurpose == "update") { + // } } @@ -482,13 +491,13 @@ // 이벤트 설정 setEvent${pageName}(); - // 화면 초기 설정 + // 초기 기본 설정 initForm${pageName}(); // Dataset 설정 ${pageName}Control.setData([${opnnSbmsnInfo}]); - // 화면 데이터 셋팅 + // 기본 데이터 설정 setFormData${pageName}(); }); diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02030-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02030-info.jsp index 72182554..1bf321ed 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02030-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02030-info.jsp @@ -258,6 +258,9 @@ // 화면 초기 설정 initForm${pageName} = () => { + // 화면 초기화 + $("#frmEdit--${pageName}")[0].reset(); + // 달력 초기화 initDatepicker("frmEdit--${pageName}"); diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl03010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl03010-main.jsp index bfd5523a..c60257e7 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl03010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl03010-main.jsp @@ -277,37 +277,6 @@ $("#tbody--${pageName}").setCurrentRow(key); }; - // 개별총정보 dialog - ${pageName}Control.getInfo = (crdnId, callSection) => { - let callControlName = ""; - - if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; - - if (typeof callSection == "undefined" || callSection == null || callSection == "") { - callControlName = "${pageName}Control"; - } else { - callControlName = callSection; - } - - let params = { - callControlName : callControlName - , crdnId : crdnId - } - - ajax.get({ - url : ${pageName}Control.urls.getInfo - , data : params - , success : resp => { - dialog.open({ - id : "totalInfoMainDialog" - , title : "개별총정보" - , content : resp - , size : "xxl" - }); - } - }); - } - /************************************************************************** * DataTables 이벤트 **************************************************************************/ @@ -322,7 +291,7 @@ document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%> (str, dataItem) => str .replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("RE_REG_ID") + "');") - .replace(/{ondblclick}/gi, "${pageName}Control.getInfo('" + dataItem.getValue("CRDN_ID") + "');") + .replace(/{ondblclick}/gi, "getTotalInfo${pageName}('" + dataItem.getValue("CRDN_ID") + "');") ); let noMore = (totalSize == ${infoPrefix}List.length); @@ -353,6 +322,38 @@ /************************************************************************** * 사용자 함수(function) **************************************************************************/ + // 개별총정보 dialog + getTotalInfo${pageName} = (crdnId, callSection) => { + if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; + + let callControlName = ""; + if (typeof callSection == "undefined" || callSection == null || callSection == "") { + callControlName = "${pageName}Control"; + } else { + callControlName = callSection; + } + + let params = { + callControlName : callControlName + , sggCd : $("#sggCd--${pageName}").val() + , taskSeCd : $("input[name=taskSeCd]:checked").val() + , crdnId : crdnId + } + + ajax.get({ + url : wctx.url(params.taskSeCd + "/sprt/sprt02/010/main.do") + , data : params + , success : resp => { + dialog.open({ + id : "totalInfoMainDialog" + , title : "개별총정보" + , content : resp + , size : "xxl" + }); + } + }); + } + // 검색 자료 재조회 refreshList${pageName} = () => { ${pageName}Control.untilPageNum = ${pageName}Control.query.pageNum; @@ -410,7 +411,7 @@ if (typeof bfrCrdnId == "undefined" || bfrCrdnId == null || bfrCrdnId == "") return; // 개별총정보 dialog - ${pageName}Control.getInfo(bfrCrdnId, "noControlName"); + getTotalInfo${pageName}(bfrCrdnId, "noControlName"); } /************************************************************************** @@ -459,7 +460,6 @@ // 달력 초기화 initDatepicker("frmSearch--${pageName}"); - $("#schReRegYmdFrom--${pageName}").datepicker("setDate", new Date()); $("#schReRegYmdTo--${pageName}").datepicker("setDate", new Date()); @@ -484,19 +484,19 @@ * script 진입 **************************************************************************/ $(document).ready(function() { - // 기본 데이터 설정 - $("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드 - // 이벤트 설정 setEvent${pageName}(); - // 보안모드 - fn_securityModeToggle($("#securityMode--top").is(":checked")); + // 시군구 코드 설정 + $("#sggCd--${pageName}").val("${sggCd}"); // 업무 구분 설정 let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val(); $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true); + // 보안모드 + fn_securityModeToggle($("#securityMode--top").is(":checked")); + // 화면 초기 설정 및 업무 구분 변경 fnResetAndChangeBiz${pageName}(defaultBizValue); }); diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02020-info.jsp index 4422ca7a..f419e0c8 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02020-info.jsp @@ -972,33 +972,6 @@ // 화면 데이터 셋팅 setFormData${pageName} = () => { - // 화면 호출(callPurpose)이 view 라면 버튼 비활성화 - if (${pageNameMain}CallPurpose == "view") { - $("#btnViewCvlcptOrgnl--${pageName}").prop("disabled", true); - $("#btnViewAnswerPreview--${pageName}").prop("disabled", true); - $("#btnUpdateCrdn--${pageName}").prop("disabled", true); - $("#btnRemoveCrdn--${pageName}").prop("disabled", true); - $("#btnCreateCrdnReReg--${pageName}").prop("disabled", true); - $("#btnPrintNotice--${pageName}").prop("disabled", true); - $("#btnUpdateCrdnSttsCd--${pageName}").prop("disabled", true); - $("#btnUpdatePayer--${pageName}").prop("disabled", true); - $("#btnEditPhoto--${pageName}").prop("disabled", true); - $("#btnAddFile--${pageName}").prop("disabled", true); - $("#btnDeleteFile--${pageName}").prop("disabled", true); - } else { - $("#btnViewCvlcptOrgnl--${pageName}").prop("disabled", false); - $("#btnViewAnswerPreview--${pageName}").prop("disabled", false); - $("#btnUpdateCrdn--${pageName}").prop("disabled", false); - $("#btnRemoveCrdn--${pageName}").prop("disabled", false); - $("#btnCreateCrdnReReg--${pageName}").prop("disabled", false); - $("#btnPrintNotice--${pageName}").prop("disabled", false); - $("#btnUpdateCrdnSttsCd--${pageName}").prop("disabled", false); - $("#btnUpdatePayer--${pageName}").prop("disabled", false); - $("#btnEditPhoto--${pageName}").prop("disabled", false); - $("#btnAddFile--${pageName}").prop("disabled", false); - $("#btnDeleteFile--${pageName}").prop("disabled", false); - } - // jquery를 이용한 show/hide (style이 유지) $("#divBlank1--${pageName}").hide(); // 빈 칸1 $("#divBlank2--${pageName}").hide(); // 빈 칸2 @@ -1037,6 +1010,35 @@ $("#divBlank2--${pageName}").show(); // 빈칸 $("#divCrdnBgngTm--${pageName}").show(); // 단속 시작 시각 ~ 단속 종료 시각 } + + // 화면 호출(callPurpose)이 view 라면 버튼 비활성화 + if (${pageNameMain}CallPurpose == "view") { + // button 요소들을 disabled = true + $("#btnViewCvlcptOrgnl--${pageName}").prop("disabled", true); + $("#btnViewAnswerPreview--${pageName}").prop("disabled", true); + $("#btnUpdateCrdn--${pageName}").prop("disabled", true); + $("#btnRemoveCrdn--${pageName}").prop("disabled", true); + $("#btnCreateCrdnReReg--${pageName}").prop("disabled", true); + $("#btnPrintNotice--${pageName}").prop("disabled", true); + $("#btnUpdateCrdnSttsCd--${pageName}").prop("disabled", true); + $("#btnUpdatePayer--${pageName}").prop("disabled", true); + $("#btnEditPhoto--${pageName}").prop("disabled", true); + $("#btnAddFile--${pageName}").prop("disabled", true); + $("#btnDeleteFile--${pageName}").prop("disabled", true); + } else { + // button 요소들을 disabled = false + $("#btnViewCvlcptOrgnl--${pageName}").prop("disabled", false); + $("#btnViewAnswerPreview--${pageName}").prop("disabled", false); + $("#btnUpdateCrdn--${pageName}").prop("disabled", false); + $("#btnRemoveCrdn--${pageName}").prop("disabled", false); + $("#btnCreateCrdnReReg--${pageName}").prop("disabled", false); + $("#btnPrintNotice--${pageName}").prop("disabled", false); + $("#btnUpdateCrdnSttsCd--${pageName}").prop("disabled", false); + $("#btnUpdatePayer--${pageName}").prop("disabled", false); + $("#btnEditPhoto--${pageName}").prop("disabled", false); + $("#btnAddFile--${pageName}").prop("disabled", false); + $("#btnDeleteFile--${pageName}").prop("disabled", false); + } } /************************************************************************** diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02030-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02030-info.jsp index 59adb86b..1a797ff3 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02030-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02030-info.jsp @@ -523,12 +523,14 @@ // 화면 호출(callPurpose)이 view 라면 버튼 비활성화 if (${pageNameMain}CallPurpose == "view") { + // button 요소들을 disabled = true $("#btnCreateOpnnSbmsn--${pageName}").prop("disabled", true); $("#btnUpdateOpnnSbmsn--${pageName}").prop("disabled", true); $("#btnRemoveOpnnSbmsn--${pageName}").prop("disabled", true); $("#btnPrintDlbrtLtfr--${pageName}").prop("disabled", true); $("#btnUpdateOpnnSbmsnDlbrt--${pageName}").prop("disabled", true); } else { + // button 요소들을 disabled = false $("#btnCreateOpnnSbmsn--${pageName}").prop("disabled", false); $("#btnUpdateOpnnSbmsn--${pageName}").prop("disabled", false); $("#btnRemoveOpnnSbmsn--${pageName}").prop("disabled", false); diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02080-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02080-info.jsp index da033391..0811b7aa 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02080-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02080-info.jsp @@ -12,13 +12,13 @@ - - - @@ -262,29 +262,11 @@ }); } - /************************************************************************** - * 초기 셋팅 - **************************************************************************/ - // 화면 초기화 - initForm${pageName} = () => { - $("#frmEdit--${pageName}")[0].reset(); // 화면 초기화 - } - - // 이벤트 설정 - setEvent${pageName} = () => { - - } - - // 화면 초기값 설정 - setForm${pageName} = () => { - - } - /************************************************************************** * 버튼 clickEvent **************************************************************************/ // 민원 상담 내용 등록 - fnCreateCvlcptDscsn${pageName} = () => { + fnCreate${pageName} = () => { let crdnId = $("#crdnId--${pageNameMain}").val(); // 단속 ID 가 없다면.. return @@ -301,7 +283,7 @@ } // 민원 상담 내용 수정 - fnUpdateCvlcptDscsn${pageName} = () => { + fnUpdate${pageName} = () => { let cvlcptDscsnId = ${pageName}Control.dataset.getValue("CVLCPT_DSCSN_ID"); // 민원 상담 ID 가 없다면.. return @@ -319,7 +301,7 @@ } // 민원상담 내용 삭제 - fnRemoveCvlcptDscsn${pageName} = () => { + fnRemove${pageName} = () => { // 민원상담 ID let cvlcptDscsnId = ${pageName}Control.dataset.getValue("CVLCPT_DSCSN_ID"); @@ -342,21 +324,65 @@ ); } + /************************************************************************** + * 초기 셋팅 + **************************************************************************/ + // 이벤트 설정 + setEvent${pageName} = () => { + // form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용 + $("#frmEdit--${pageName}").find(".form-date").each(function() { + $(this).on("input",function() { + let value = this.value.replaceAll("-", ""); + + if (value.length > 7) { + this.value = value.substring(0,4) + "-" + value.substring(4,6) + "-" + value.substring(6); + } else if(value.length > 5) { + this.value = value.substring(0,4) + "-" + value.substring(4); + } + }); + }); + } + + // 화면 초기 설정 + initForm${pageName} = () => { + // 화면 초기화 + $("#frmEdit--${pageName}")[0].reset(); + + // 달력 초기화 + initDatepicker("frmEdit--${pageName}"); + } + + // 기본 데이터 설정 + setFormData${pageName} = () => { + // 화면 호출(callPurpose)이 view 라면 버튼 비활성화 + if (${pageNameMain}CallPurpose == "view") { + // button 요소들을 disabled = true + $("#btnCreate--${pageName}").prop("disabled", true); + $("#btnUpdate--${pageName}").prop("disabled", true); + $("#btnRemove--${pageName}").prop("disabled", true); + } else { + // button 요소들을 disabled = false + $("#btnCreate--${pageName}").prop("disabled", true); + $("#btnUpdate--${pageName}").prop("disabled", true); + $("#btnRemove--${pageName}").prop("disabled", true); + } + } + /************************************************************************** * script 진입 **************************************************************************/ $(document).ready(function() { - // 화면 초기 설정 - initForm${pageName}(); - // 이벤트 설정 setEvent${pageName}(); - // 화면 초기값 설정 - setForm${pageName}(); + // 초기 기본 설정 + initForm${pageName}(); - // Data 셋팅 + // Dataset 설정 ${pageName}Control.setData(${cvlcptDscsn}); + + // 기본 데이터 설정 + setFormData${pageName}(); }); diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt04010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt04010-main.jsp index 13a149dd..0d58f331 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt04010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt04010-main.jsp @@ -13,14 +13,14 @@
- - @@ -122,7 +122,7 @@ -
@@ -239,12 +239,13 @@ **************************************************************************/ var ${pageName}Control = new DatasetControl({ prefix : "cvlcptDscsn" - , prefixName : "민원상담내용" + , prefixName : "민원상담" , infoSize : "lg" , keymapper : info => info ? info.CVLCPT_DSCSN_ID : "" , dataGetter : obj => obj.cvlcptDscsnList , appendData : true - , tableRenderComplete : false // dataTables 에 자료 추가 완료 여부 + , untilPageNum : 0 // 현재 페이지 번호 + , tableRenderComplete : false // dataTables 에 자료 추가 완료 여부 , formats : { DSCSN_YMD : dateFormat , REG_DT : datetimeFormat @@ -257,7 +258,7 @@ **************************************************************************/ // Dataset 변경 이벤트 ${pageName}Control.onDatasetChange = obj => { - renderList${pageName}(); + renderList${pageName}(obj.${infoPrefix}Total); $("#paging--${pageName}").setPagingInfo({ list : ${pageName}Control.dataset @@ -268,7 +269,7 @@ , func : "${pageName}Control.load({index})" }); - ${pageName}Control.tableRenderComplete = true; // dataTables 에 자료 추가 완료 + ${pageName}Control.tableRenderComplete = true; // dataTables 에 자료 추가 완료 }; // 현재 선택 자료 변경 이벤트 @@ -295,17 +296,18 @@ }; // 민원상담 dialog - ${pageName}Control.getInfo = (cvlcptDscsnId) => { - if (typeof cvlcptDscsnId == "undefined" || cvlcptDscsnId == null || cvlcptDscsnId == "") { - return; - } + ${pageName}Control.getInfo = (params) => { + if (!params) return; - let params = { - callPurpose : "update" - , sggCd : ${pageName}Control.dataset.getValue("SGG_CD") - , taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") - , cvlcptDscsnId : cvlcptDscsnId - }; + let dialogTitle = ""; + + if (params.callPurpose == "create") { + dialogTitle = ${pageName}Control.prefixName + " 등록"; + } else if (params.callPurpose == "update") { + dialogTitle = ${pageName}Control.prefixName + " 수정"; + } else { + dialogTitle = ${pageName}Control.prefixName + " 정보"; + } ajax.get({ url : wctx.url(params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do") @@ -313,52 +315,43 @@ , success : resp => { dialog.open({ id : ${pageName}Control.prefixed("Dialog") - , title : ${pageName}Control.prefixName + " 수정" + , title : dialogTitle , content : resp , size : "lg" - , init : () => { } - , onClose : () => { ${pageName}Control.load(${pageName}Control.query.pageNum); } // callback 자료 재조회 + , onClose : () => { refreshList${pageName}(); } // 자료 재조회 }); } }); } // 삭제 callback - ${pageName}Control.onRemove = (selected, resp) => { - let btnTitle = $("#btnRemove--${pageName}").attr("title"); - - let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle); + ${pageName}Control.onRemove = (resp) => { + let btnTitle = $("#btnRemove--${pageName}").attr("title"); + let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle); dialog.alert(showMessage); if (resp.saved) { - ${pageName}Control._load(); + refreshList${pageName}(); // 자료 재조회 } } // 삭제 ${pageName}Control.remove = (params) => { - let selected = ${pageName}Control.dataset.getKeys("selected"); - - if (selected.length < 1) return; - - if (!params) { - params = {}; - params[${pageName}Control.prefixed("IDs")] = selected.join(","); - } + if (!params) return; ajax.post({ url : ${pageName}Control.urls.remove , data : params - , success : resp => ${pageName}Control.onRemove(selected, resp) + , success : resp => ${pageName}Control.onRemove(resp) }); } /************************************************************************** - * + * DataTables 이벤트 **************************************************************************/ // DataTables에 click, dbclick 이벤트 - renderList${pageName} = () => { + renderList${pageName} = (totalSize) => { let ${infoPrefix}List = ${pageName}Control.dataset; let empty = ${infoPrefix}List.empty; @@ -368,93 +361,79 @@ document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%> (str, dataItem) => str .replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("CVLCPT_DSCSN_ID") + "');") - .replace(/{ondblclick}/gi, "${pageName}Control.getInfo('" + dataItem.getValue("CVLCPT_DSCSN_ID") + "');") + .replace(/{ondblclick}/gi, "fnUpdate${pageName}('" + dataItem.getValue("CVLCPT_DSCSN_ID") + "');") ); - $("#tbody--${pageName}").html(trs.join()); + let noMore = (totalSize == ${infoPrefix}List.length); + let initScroll = (${pageName}Control.query.pageNum < 2) && (${pageName}Control.untilPageNum == 0); + + $("#table-responsive--${pageName}")[0].changeContent(trs.join(), initScroll, noMore); + + if (${pageName}Control.untilPageNum != 0) { + ${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize; + ${pageName}Control.query.pageNum = ${pageName}Control.untilPageNum; + ${pageName}Control.untilPageNum = 0; + } + + // checkbox 체크 해제 $("th input[type='checkbox']").prop("checked", false); //보안모드 fn_securityModeToggle($("#securityMode--top").is(":checked")); } - /************************************************************************** - * 초기 셋팅 - **************************************************************************/ - // 이벤트 - setEvent${pageName} = () => { - // form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용 - $("#frmSearch--${pageName}").find(".form-date").each(function() { - $(this).on("input", function() { - let value = this.value.replaceAll("-", ""); - - if (value.length > 7) { - this.value = value.substring(0, 4) + "-" + value.substring(4, 6) + "-" + value.substring(6); - } else if(value.length > 5) { - this.value = value.substring(0, 4) + "-" + value.substring(4); - } - }); - }); - - // DataTables 스크롤 이벤트 - $("#table-responsive--${pageName}").scroll(function() { - let el = $(this); - - if (el.scrollTop() == 0) { - return; - } - if (!${pageName}Control.tableRenderComplete) { - return; - } - - let itemsCnt = ${pageName}Control.dataset._items.length; - let totCnt = ${pageName}Control.dataset.getValue("TOT_CNT"); - - if (itemsCnt >= totCnt) { - return; - } + // DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트 + scrollDataList${pageName} = () => { + ${pageName}Control.tableRenderComplete = false; // dataTables 에 자료 추가 false - if ((el[0].scrollHeight - el.scrollTop() + VERTICAL_SCROLL_HEIGHT) <= el.outerHeight()) { - ${pageName}Control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 - - ${pageName}Control.load(${pageName}Control.query.pageNum + 1); - } - }); + ${pageName}Control.load(${pageName}Control.query.pageNum + 1); } - // 화면 초기값 셋팅 - setForm${pageName} = (taskSeCd) => { - // 업무 구분 코드 - $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); - - // 최고 관리자 경우 업무구분을 선택할 수 있도록 하자. - $("#frmSearch--${pageName} input[name='taskSeCd']").each(function(i) { - $(this).prop("disabled", "true"); - }); + /************************************************************************** + * 사용자 함수(function) + **************************************************************************/ + // 삭제 callback + callbackRemove${pageName} = (obj) => { + let selected = ${pageName}Control.dataset.getKeys("selected"); - // 달력 초기화 - initDatepicker("frmSearch--${pageName}"); + if (selected.length < 1) return; - $("#schDscsnYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-1).date); - $("#schDscsnYmdTo--${pageName}").datepicker("setDate", new Date()); + // 서버에 전송할 data(파라미터) 생성 + let params = { + callPurpose : "remove" // 호출 용도 + , delRsn : obj.reason // 삭제 사유 + }; + params[${pageName}Control.prefixed("IDs")] = selected.join(","); // IDs - // DataTables width 변경 조정 - $("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} ); + ${pageName}Control.remove(params); } - // URL 설정 - setURL${pageName} = (taskSeCd) => { - ${pageName}Control.urls.load = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/010/list.do"); // 조회 - ${pageName}Control.urls.remove = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/010/removes.do"); // 삭제 - ${pageName}Control.urls.getInfo = wctx.url("/" + taskSeCd + "/sprt/sprt02/010/main.do"); // 개별총정보 + // 검색 자료 재조회 + refreshList${pageName} = () => { + ${pageName}Control.untilPageNum = ${pageName}Control.query.pageNum; + ${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize * ${pageName}Control.query.pageNum; + + ${pageName}Control.load(1); } /************************************************************************** * 버튼 clickEvent **************************************************************************/ - // 초기화 버튼 이벤트 - fnReset${pageName} = () => { - fnResetAndChangeBiz${pageName}(); + // 업무 구분 변경 + fnResetAndChangeBiz${pageName} = (taskSeCd) => { + // 업무 구분 코드 + if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") { + taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val(); + } + + // 초기 기본 설정 + initForm${pageName}(taskSeCd); + + // URL 설정 + setURL${pageName}(taskSeCd); + + // 기본 데이터 설정 + setFormData${pageName}(); } // 검색 버튼 이벤트 @@ -462,8 +441,8 @@ // 검색조건 ${pageName}Control.query = ${pageName}Fields.get(); - ${pageName}Control.query.fetchSize = FETCH_XS; // 한번에 조회되는 자료 건수 FETCH_XS = 30 - ${pageName}Control.query.delYn = "N"; // 삭제 여부 + ${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize; // 한번에 조회되는 자료 건수 FETCH_XS = 30 + ${pageName}Control.query.delYn = "N"; // 삭제 여부 ${pageName}Control.load(); } @@ -473,61 +452,137 @@ } - // 업무 구분 변경 - fnResetAndChangeBiz${pageName} = (taskSeCd) => { - // 화면 초기화 - $("#frmSearch--${pageName}")[0].reset(); - // dataset 초기화 - ${pageName}Control.dataset.clear(); - - // 업무 구분 코드 - if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") { - taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val(); - } - - // 화면 초기값 설정 - setForm${pageName}(taskSeCd); - // URL 설정 - setURL${pageName}(taskSeCd); - } - // 사용자 조회 버튼 이벤트 - fnUser${pageName} = () => { + fnFindUser${pageName} = () => { } // 수정 버튼 이벤트 - fnUpdate${pageName} = () => { - ${pageName}Control.getInfo(${pageName}Control.dataset.getValue("CVLCPT_DSCSN_ID")); + fnUpdate${pageName} = (cvlcptDscsnId) => { + // 민원상담 ID 가 없다면.. 입력 + if (typeof cvlcptDscsnId == "undefined" || cvlcptDscsnId == null || cvlcptDscsnId == "") { + cvlcptDscsnId = ${pageName}Control.dataset.getValue("CVLCPT_DSCSN_ID"); + } + + let params = { + callPurpose : "update" + , sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드 + , taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 + , cvlcptDscsnId : cvlcptDscsnId // 민원상담 ID + }; + + ${pageName}Control.getInfo(params); } // 삭제 버튼 이벤트 fnRemove${pageName} = () => { + // 삭제 메세지 확인 dialog.alert({ - content : "선택한 민원상담 정보를 삭제하시겠습니까?" + content : "선택하신 " + ${pageName}Control.prefixName + " 정보를 삭제하시겠습니까?" , onOK : () => { - ${pageName}Control.remove(); + // 삭제 사유 입력 + let callbackFuncName = "callbackRemove${pageName}"; + let popupWidth = 640; + let popupHeight = 240; + let popupX = (window.screen.width / 2) - (popupWidth / 2); + let popupY= (window.screen.height / 2) - (popupHeight / 2); + + window.open( + wctx.url("/resources/html/inputRsnDialog.html" + + "?callbackFuncName=" + callbackFuncName + + "&USE_PURPOSE=" + "삭제" + ) + , "inputDelRsnDialog" + , 'status=no, height=' + popupHeight + ', width=' + popupWidth + ', left='+ popupX + ', top='+ popupY + ); } }); } + /************************************************************************** + * 초기 셋팅 + **************************************************************************/ + // 이벤트 + setEvent${pageName} = () => { + // 동적검색에서 엔터(Enter) 키를 누르면 검색한다. + $("#term--${pageName}").keypress(function(e) { + if (e.keyCode == 13) { + fnSearchList${pageName}();    + } + }); + + // form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용 + $("#frmSearch--${pageName}").find(".form-date").each(function() { + $(this).on("input", function() { + let value = this.value.replaceAll("-", ""); + + if (value.length > 7) { + this.value = value.substring(0, 4) + "-" + value.substring(4, 6) + "-" + value.substring(6); + } else if(value.length > 5) { + this.value = value.substring(0, 4) + "-" + value.substring(4); + } + }); + }); + + // DataTables width 변경 조정 + $("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} ); + + // DataTables 스크롤 이벤트 생성 + fnMakeScrollableTable($("#table-responsive--${pageName}")[0], scrollDataList${pageName}); + } + + // 화면 초기값 셋팅 + initForm${pageName} = (taskSeCd) => { + // 화면 초기화 + $("#frmSearch--${pageName}")[0].reset(); + + // 업무 구분 코드 + $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); + // 최고 관리자 경우 업무구분을 선택할 수 있도록 하자. + $("#frmSearch--${pageName} input[name='taskSeCd']").each(function(i) { + $(this).prop("disabled", "true"); + }); + + // 달력 초기화 + initDatepicker("frmSearch--${pageName}"); + $("#schDscsnYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-1).date); + $("#schDscsnYmdTo--${pageName}").datepicker("setDate", new Date()); + + // dataset 초기화 + ${pageName}Control.dataset.clear(); + } + + // URL 설정 + setURL${pageName} = (taskSeCd) => { + ${pageName}Control.urls.load = wctx.url(taskSeCd + ${pageName}PrefixUrl + "/010/list.do"); // 조회 + ${pageName}Control.urls.remove = wctx.url(taskSeCd + ${pageName}PrefixUrl + "/010/removes.do"); // 삭제 + ${pageName}Control.urls.getInfo = wctx.url(taskSeCd + "/sprt/sprt02/010/main.do"); // 개별총정보 + } + + // 기본 데이터 설정 + setFormData${pageName} = () => { + // ${pageName}Control 설정 + ${pageName}Control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30 + } + /************************************************************************** * script 진입 **************************************************************************/ $(document).ready(function() { - // 보안모드 - fn_securityModeToggle($("#securityMode--top").is(":checked")); - // 이벤트 설정 setEvent${pageName}(); // 시군구 코드 설정 $("#sggCd--${pageName}").val("${sggCd}"); + // 업무 구분 설정 let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val(); $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true); - // 업무 구분 및 화면 초기 설정 + // 보안모드 + fn_securityModeToggle($("#securityMode--top").is(":checked")); + + // 화면 초기 설정 및 업무 구분 변경 fnResetAndChangeBiz${pageName}(defaultBizValue); }); diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt04020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt04020-info.jsp index bd9c652c..c69eda03 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt04020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt04020-info.jsp @@ -4,7 +4,7 @@
-
+
민원 상담 내용 정보 @@ -43,7 +43,7 @@
- +
@@ -69,6 +69,8 @@ **************************************************************************/ // URL var ${pageName}PrefixUrl = "/sprt/sprt04"; + // 호출 용도 + var ${pageName}CallPurpose = "${callPurpose}"; // FormFields var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}"); @@ -79,20 +81,15 @@ prefix : "cvlcptDscsn" , prefixName : "민원상담" , keymapper : info => info ? info.CVLCPT_DSCSN_ID : "" - , dataGetter : obj => obj.cvlcptDscsn + , dataGetter : obj => obj.cvlcptDscsnInfo }); ${pageName}Control.onCurrentChange = item => { + if (!item) return; + // Dataset 셋팅 ${pageName}Fields.set(item); - // 민원상담을 등록시 접수구분을 선택할 수 있게 한다. - if (item.data.CVLCPT_DSCSN_ID == null || item.data.CVLCPT_DSCSN_ID == "") { - $("#cvlcptRcptSeCd--${pageName}").prop("disabled", false); - } else { - $("#cvlcptRcptSeCd--${pageName}").prop("disabled", true); - } - // 업무구분에 따른 url 변경 ${pageName}Control.urls.create = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/create.do"); ${pageName}Control.urls.update = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/update.do"); @@ -104,7 +101,7 @@ // 저장 callback ${pageName}Control.onSave = (resp) => { let dialogTitle = $("#" + ${pageName}Control.prefix + "Dialog").find("h5.modal-title").html(); - let showMessage = resp.retMessage.replace(/[S]|[F]/g, dialogTitle); + let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle); dialog.alert(showMessage); @@ -127,20 +124,12 @@ } /************************************************************************** - * 초기 셋팅 + * 사용자 함수(function) **************************************************************************/ - // 검색조건 초기값 셋팅 - initForm${pageName} = () => { - } - - // 이벤트 설정 - setEvent${pageName} = () => { - - } /************************************************************************** - * function + * 버튼 clickEvent **************************************************************************/ // 저장 fnSave${pageName} = () => { @@ -155,6 +144,48 @@ }); } + /************************************************************************** + * 초기 셋팅 + **************************************************************************/ + // 이벤트 설정 + setEvent${pageName} = () => { + // form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용 + $("#frmEdit--${pageName}").find(".form-date").each(function() { + $(this).on("input",function() { + let value = this.value.replaceAll("-", ""); + + if (value.length > 7) { + this.value = value.substring(0,4) + "-" + value.substring(4,6) + "-" + value.substring(6); + } else if(value.length > 5) { + this.value = value.substring(0,4) + "-" + value.substring(4); + } + }); + }); + } + + // 화면 초기 설정 + initForm${pageName} = () => { + // 화면 초기화 + $("#frmEdit--${pageName}")[0].reset(); + + // 달력 초기화 + initDatepicker("frmEdit--${pageName}"); + } + + // 기본 데이터 설정 + setFormData${pageName} = () => { + if (${pageName}CallPurpose == "view") { // view + // input 요소들을 disabled + $("#frmEdit--${pageName}").find("input,textarea,select").prop("disabled", true); + // button 요소들을 disabled + $("btnSave--${pageName}").prop("disabled", true); + } else if (${pageName}CallPurpose == "create") { // create + // + } else if (${pageName}CallPurpose == "update") { // update + $("#cvlcptRcptSeCd--${pageName}").prop("disabled", true); + } + } + /************************************************************************** * script 진입 **************************************************************************/ @@ -162,11 +193,14 @@ // 이벤트 설정 setEvent${pageName}(); - // 화면 초기 설정 + // 초기 기본 설정 initForm${pageName}(); - // Data 셋팅 - ${pageName}Control.setData([${cvlcptDscsn}]); + // Dataset 설정 + ${pageName}Control.setData([${cvlcptDscsnInfo}]); + + // 기본 데이터 설정 + setFormData${pageName}(); }); diff --git a/src/main/webapp/resources/html/inputRsnDialog.html b/src/main/webapp/resources/html/inputRsnDialog.html index d144c08c..fb0d4b11 100644 --- a/src/main/webapp/resources/html/inputRsnDialog.html +++ b/src/main/webapp/resources/html/inputRsnDialog.html @@ -33,12 +33,14 @@
- +
+

+