diff --git a/src/main/java/cokr/xit/fims/rcvm/web/Rcvm01Controller.java b/src/main/java/cokr/xit/fims/rcvm/web/Rcvm01Controller.java
index 9a21a4fe..6627dfd5 100644
--- a/src/main/java/cokr/xit/fims/rcvm/web/Rcvm01Controller.java
+++ b/src/main/java/cokr/xit/fims/rcvm/web/Rcvm01Controller.java
@@ -124,8 +124,8 @@ public class Rcvm01Controller extends ApplicationController {
, Map.entry("세목명", "TXITM_NM")
, Map.entry("부과번호", xlsx.style("LEVY_NO", center))
, Map.entry("수납일련번호", xlsx.style("RCVMT_SN", center))
- , Map.entry("소인일자", xlsx.format(o -> xlsx.str2date(o.get("PSTMRK_YMD"))).style(dateYMD))
, Map.entry("회계일자", xlsx.format(o -> xlsx.str2date(o.get("ACNTG_YMD"))).style(dateYMD))
+ , Map.entry("소인일자", xlsx.format(o -> xlsx.str2date(o.get("PSTMRK_YMD"))).style(dateYMD))
, Map.entry("수납일자", xlsx.format(o -> xlsx.str2date(o.get("RCVMT_YMD"))).style(dateYMD))
, Map.entry("수납금액", xlsx.style("RCVMT_AMT", numeric))
, Map.entry("수납본세", xlsx.style("RCVMT_PCPTAX", numeric))
@@ -147,11 +147,12 @@ public class Rcvm01Controller extends ApplicationController {
, Map.entry("압류해제일자", xlsx.format(o -> xlsx.str2date(o.get("SZR_RMV_YMD"))).style(dateYMD))
, Map.entry("단속일시", xlsx.format(o -> xlsx.str2datetime(o.get("CRDN_YMD_TM"))).style(dateDT))
, Map.entry("차량번호", "VHRNO")
- , Map.entry("법정동", "CRDN_STDG_NM")
+ , Map.entry("납부자구분", xlsx.style("RTPYR_SE_NM", center))
+ , Map.entry("납부자번호", xlsx.style("RTPYR_NO", center))
+ , Map.entry("납부자명", "RTPYR_NM")
+ , Map.entry("단속법정동", "CRDN_STDG_NM")
, Map.entry("단속장소", "CRDN_PLC")
, Map.entry("처리상태", "CRDN_STTS_NM")
- , Map.entry("납부자명", "RTPYR_NM")
- , Map.entry("납부자생일", xlsx.style("RTPYR_BRDT_MASK", center))
, Map.entry("등록일시", xlsx.format(o -> xlsx.str2datetime(o.get("REG_DT"))).style(dateDT))
, Map.entry("등록사용자", xlsx.style("RGTR_NM", center))
, Map.entry("수정일시", xlsx.format(o -> xlsx.str2datetime(o.get("MDFCN_DT"))).style(dateDT))
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 d0e639ed..c4b29cf1 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
@@ -227,7 +227,7 @@
});
// 업무 버튼 이벤트
- $("#btnSave--${pageName}").on("click", () => $P.fnSave()); // 저장
+ $("#btnSave--${pageName}").on("click", () => $P.fnSave()); // 저장
}
// 초기 화면 설정
@@ -241,7 +241,7 @@
$("#vhrno--${pageName}").prop("readonly", true); // 차량번호
$("#levyExclSeNm--${pageName}").prop("readonly", true); // 부과 제외 구분
- if ($P.callPurpose == "view") {
+ if ($P.callPurpose == "view") { // view
// input 요소들을 disabled
$("#frmEdit--${pageName}").find("input,textarea,select").prop("disabled", true);
// button 요소들을 disabled
diff --git a/src/main/webapp/WEB-INF/jsp/fims/rcvm/rcvm01010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/rcvm/rcvm01010-main.jsp
index f8ef62e0..b9c40207 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/rcvm/rcvm01010-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/rcvm/rcvm01010-main.jsp
@@ -13,14 +13,14 @@
-
@@ -175,58 +175,62 @@
- NO. |
- |
- 업무구분 |
- 수납입력구분 |
- 수납취소 |
- 회계연도 |
- 회계구분 |
- 세목코드 |
- 세목명 |
- 부과번호 |
- 수납일련번호 |
- 회계일자 |
- 소인일자 |
- 수납일자 |
- 수납금액 |
- 수납본세 |
- 수납가산금 |
- 수납이자 |
- 수납은행 |
- 납부방법 |
- 수납구분 |
- 수납상태 |
- 부과일자 |
- 최초납기일자 |
- 납기일자 |
- 부과본세 |
- 부과가산금 |
- 분납이자 |
- 압류일자 |
- 압류물건 |
- 대체압류차량 |
- 압류해제일자 |
- 단속일시 |
- 차량번호 |
- 법정동 |
- 단속장소 |
- 처리상태 |
- 납부자명 |
- 납부자생일 |
- 등록일시 |
- 등록사용자 |
- 수정일시 |
- 수정사용자 |
- |
+
+
+ NO. |
+
+ | 업무구분 |
+ 수납입력구분 |
+ 수납취소 |
+ 회계연도 |
+ 회계구분 |
+ 세목코드 |
+ 세목명 |
+ 부과번호 |
+ 수납일련번호 |
+ 회계일자 |
+ 소인일자 |
+ 수납일자 |
+ 수납금액 |
+ 수납본세 |
+ 수납가산금 |
+ 수납이자 |
+ 수납은행 |
+ 납부방법 |
+ 수납구분 |
+ 수납상태 |
+ 부과일자 |
+ 최초납기일자 |
+ 납기일자 |
+ 부과본세 |
+ 부과가산금 |
+ 분납이자 |
+ 압류일자 |
+ 압류물건 |
+ 대체압류차량 |
+ 압류해제일자 |
+ 단속일시 |
+ 차량번호 |
+ 납부자구분 |
+ 납부자번호 |
+ 납부자명 |
+ 단속법정동 |
+ 단속장소 |
+ 처리상태 |
+ 등록일시 |
+ 등록사용자 |
+ 수정일시 |
+ 수정사용자 |
+ |
+
{ROW_NUM} |
- |
+ |
{TASK_SE_NM} |
{RCVMT_INPT_SE_NM} |
{RCVMT_RTRCN_NM} |
@@ -259,11 +263,12 @@
{SZR_RMV_YMD} |
{CRDN_YMD_TM} |
{VHRNO} |
+ {RTPYR_SE_NM} |
+ {RTPYR_NO} |
+ {RTPYR_NM} |
{CRDN_STDG_NM} |
{CRDN_PLC} |
{CRDN_STTS_NM} |
- {RTPYR_NM} |
- {RTPYR_BRDT_MASK} |
{REG_DT} |
{RGTR_NM} |
{MDFCN_DT} |
@@ -272,8 +277,20 @@
-
- ${prefixName} 정보를 찾지 못했습니다. |
+
+ ${prefixName} 정보를 찾지 못했습니다. |
+
+
+ ${prefixName} 정보를 찾지 못했습니다. |
+
+
+ ${prefixName} 정보를 찾지 못했습니다. |
+
+
+ ${prefixName} 정보를 찾지 못했습니다. |
+
+
+ ${prefixName} 정보를 찾지 못했습니다. |
@@ -286,8 +303,6 @@
-
-
@@ -296,335 +311,388 @@
/**************************************************************************
* Global Variable
**************************************************************************/
- // URL
- var ${pageName}PrefixUrl = "/rcvm/rcvm01";
- // FormFields
- var ${pageName}Fields = new FimsFormFields("#frmSearch--${pageName}");
-
- /**************************************************************************
- * DatasetControl
- **************************************************************************/
- var ${pageName}Control = new DatasetControl({
- prefix : "rcvmt"
- , prefixName : "수납"
- , infoSize : "lg"
- , keymapper : info => info ? info.RCVMT_ID : ""
- , dataGetter : obj => obj.rcvmtList
- , appendData : true
- , untilPageNum : 0 // 현재 페이지 번호
- , tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
- , formats : {
- RCVMT_YMD : dateFormat
- , ACNTG_YMD : dateFormat
- , PSTMRK_YMD : dateFormat
- , RCVMT_AMT : numberFormat
- , RCVMT_PCPTAX : numberFormat
- , RCVMT_ADAMT : numberFormat
- , RCVMT_INT : numberFormat
- , LEVY_YMD : dateFormat
- , FRST_DUDT_YMD : dateFormat
- , DUDT_YMD : dateFormat
- , FFNLG_AMT : numberFormat
- , LEVY_PCPTAX : numberFormat
- , LEVY_ADAMT : numberFormat
- , SZR_YMD : dateFormat
- , CRDN_YMD_TM : datetimeFormat
- , REG_DT : datetimeFormat
- , MDFCN_DT : datetimeFormat
- }
- });
+ pageObject["${pageName}"] = {};
/**************************************************************************
- * DatasetControl 이벤트
+ * script 진입
**************************************************************************/
- // Dataset 변경 이벤트
- ${pageName}Control.onDatasetChange = obj => {
- renderList${pageName}(obj.${infoPrefix}Total);
-
- $("#paging--${pageName}").setPagingInfo({
- list : ${pageName}Control.dataset
- , prefix : "paging--${pageName}"
- , start : obj.${infoPrefix}Start
- , totalSize : obj.${infoPrefix}Total
- , fetchSize : obj.${infoPrefix}Fetch
- , func : "${pageName}Control.load({index})"
+ $(document).ready(function() {
+ // pageObject
+ var $P = pageObject["${pageName}"];
+
+ // URL
+ $P.PrefixUrl = "/rcvm/rcvm01";
+ // FormFields
+ $P.formFields = new FimsFormFields("#frmSearch--${pageName}");
+
+ /**************************************************************************
+ * DatasetControl
+ **************************************************************************/
+ $P.control = new DatasetControl({
+ prefix : "rcvmt"
+ , prefixName : "수납"
+ , infoSize : "lg"
+ , keymapper : info => info ? info.RCVMT_ID : ""
+ , dataGetter : obj => obj.rcvmtList
+ , appendData : true
+ , formats : {
+ RCVMT_YMD : dateFormat
+ , ACNTG_YMD : dateFormat
+ , PSTMRK_YMD : dateFormat
+ , RCVMT_AMT : numberFormat
+ , RCVMT_PCPTAX : numberFormat
+ , RCVMT_ADAMT : numberFormat
+ , RCVMT_INT : numberFormat
+ , LEVY_YMD : dateFormat
+ , FRST_DUDT_YMD : dateFormat
+ , DUDT_YMD : dateFormat
+ , FFNLG_AMT : numberFormat
+ , LEVY_PCPTAX : numberFormat
+ , LEVY_ADAMT : numberFormat
+ , SZR_YMD : dateFormat
+ , CRDN_YMD_TM : datetimeFormat
+ , REG_DT : datetimeFormat
+ , MDFCN_DT : datetimeFormat
+ }
});
+ // $P.control 설정
+ $P.control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30
+ $P.control.untilPageNum = 0; // 현재 페이지 번호
+ $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 여부
+ $P.control.beforeCurrent = null;
+
+ /**************************************************************************
+ * DatasetControl 이벤트
+ **************************************************************************/
+ // Dataset 변경 이벤트
+ $P.control.onDatasetChange = obj => {
+ $P.renderList(obj.${infoPrefix}Total);
+
+ $("#paging--${pageName}").setPagingInfo({
+ list : $P.control.dataset
+ , prefix : "paging--${pageName}"
+ , start : obj.${infoPrefix}Start
+ , totalSize : obj.${infoPrefix}Total
+ , fetchSize : obj.${infoPrefix}Fetch
+ , func : "$P.control.load({index})"
+ });
- ${pageName}Control.tableRenderComplete = true; // dataTables 에 자료 추가 완료
- };
+ $P.control.tableRenderComplete = true; // dataTables 에 자료 추가 완료
+ };
- // 현재 선택 자료 변경 이벤트
- ${pageName}Control.onCurrentChange = item => {
- if (!item) return;
+ // 현재 선택 자료 변경 이벤트
+ $P.control.onCurrentChange = item => {
+ if (!item) return;
- let key = item.data.RCVMT_ID;
+ let key = item.data.RCVMT_ID;
- $("#tbody--${pageName}").setCurrentRow(key);
- };
+ $("#tbody--${pageName}").setCurrentRow(key);
+ };
- // 선택(체크) 변경 이벤트
- ${pageName}Control.onSelectionChange = selected => {
- let ${infoPrefix}List = ${pageName}Control.dataset;
- let keys = selected.map(e => ${infoPrefix}List.getKey(e));
+ // 선택(체크) 변경 이벤트
+ $P.control.onSelectionChange = selected => {
+ let ${infoPrefix}List = $P.control.dataset;
+ let keys = selected.map(e => ${infoPrefix}List.getKey(e));
- $("#tbody--${pageName} input[type='checkbox']").each(function() {
- let checkbox = $(this);
+ $("#tbody--${pageName} input[type='checkbox']").each(function() {
+ let checkbox = $(this);
- checkbox.prop("checked", keys.includes(checkbox.val()));
- });
+ checkbox.prop("checked", keys.includes(checkbox.val()));
+ });
- $("#btnRemove--${pageName}").prop("disabled", keys.length < 1);
- };
+ $("#btnRemove--${pageName}").prop("disabled", keys.length < 1);
+ };
+
+ /**************************************************************************
+ * DataTables 이벤트
+ **************************************************************************/
+ // DataTables에 click, dbclick 이벤트
+ $P.renderList = (totalSize) => {
+ let ${infoPrefix}List = $P.control.dataset;
+ let empty = ${infoPrefix}List.empty;
+ let clsForTask = $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val().toLowerCase(); // 소문자
+
+ // 업무별 DataTables(그리드) tr, td
+ let foundContent = document.getElementById("${infoPrefix}Row--${pageName}").content;
+ let foundTr = $(foundContent).find("tr")[0].cloneNode(false);
+ let foundTds = $(foundContent).find("." + clsForTask + ",.cmn");
+
+ foundTds.each(function() {
+ foundTr.appendChild(this.cloneNode(true));
+ });
- /**************************************************************************
- * DataTables 이벤트
- **************************************************************************/
- // DataTables에 click, dbclick 이벤트
- renderList${pageName} = (totalSize) => {
- let ${infoPrefix}List = ${pageName}Control.dataset;
- let empty = ${infoPrefix}List.empty;
-
- let trs = empty ?
- [document.getElementById("${infoPrefix}NotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
- ${infoPrefix}List.inStrings(
- document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
- (str, dataItem) => str
- .replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("RCVMT_ID") + "');")
- .replace(/{ondblclick}/gi, "getTotalInfo${pageName}('" + dataItem.getValue("CRDN_ID") + "');")
- );
-
- 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;
+ //
+ let replacer = (str, dataItem) => str
+ .replace(/{onclick}/gi, "pageObject['${pageName}'].control.setCurrent('" + dataItem.getValue("LEVY_EXCL_ID") + "');")
+ .replace(/{ondblclick}/gi, "pageObject['${pageName}'].getTotalInfo('" + dataItem.getValue("CRDN_ID") + "');");
+
+ let trs = empty ? [document.getElementById("${infoPrefix}NotFound--${pageName}").content.querySelector("." + clsForTask + ",.cmn").outerHTML]
+ : ${infoPrefix}List.inStrings(foundTr.outerHTML, replacer);
+
+ let noMore = (totalSize == ${infoPrefix}List.length);
+ let initScroll = ($P.control.query.pageNum < 2) && ($P.control.untilPageNum == 0);
+
+ $("#table-responsive--${pageName}")[0].changeContent(trs.join(), initScroll, noMore);
+
+ if ($P.control.untilPageNum != 0) {
+ $P.control.query.fetchSize = $P.control.defaultFetchSize;
+ $P.control.query.pageNum = $P.control.untilPageNum;
+ $P.control.untilPageNum = 0;
+ }
+
+ // checkbox 체크 해제
+ $("th input[type='checkbox']").prop("checked", false);
+
+ // 보안모드
+ fn_securityModeToggle($("#securityMode--top").is(":checked"));
}
- // checkbox 체크 해제
- $("th input[type='checkbox']").prop("checked", false);
+ // DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트
+ $P.scrollDataList = () => {
+ $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 false
- // 보안모드
- fn_securityModeToggle($("#securityMode--top").is(":checked"));
- }
+ $P.control.load($P.control.query.pageNum + 1);
+ }
- // DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트
- scrollDataList${pageName} = () => {
- ${pageName}Control.tableRenderComplete = false; // dataTables 에 자료 추가 false
+ /**************************************************************************
+ * 사용자 함수(function)
+ **************************************************************************/
+ // callback 사용자 검색
+ $P.callbackFindUser = (userId, userNm) => {
+ $("#schRgtrCd--${pageName}").val(userId); // 사용자 ID
+ $("#schRgtrNm--${pageName}").val(userNm); // 사용자 명
+ }
- ${pageName}Control.load(${pageName}Control.query.pageNum + 1);
- }
+ // 사용자 검색
+ $P.getFindUser = () => {
+ let params = {
+ openerPageName : "${pageName}"
+ , callbackFuncName : "pageObject['${pageName}']['callbackFindUser']"
+ }
- /**************************************************************************
- * 사용자 함수(function)
- **************************************************************************/
- // callback 사용자 검색
- callbackFindUser${pageName} = (userId, userNm) => {
- $("#schRgtrCd--${pageName}").val(userId); // 사용자 ID
- $("#schRgtrNm--${pageName}").val(userNm); // 사용자 명
- }
-
- // 사용자 검색
- getFindUser${pageName} = () => {
- let params = {
- callbackFuncName : "callbackFindUser${pageName}"
+ ajax.get({
+ url : wctx.url("/user/user02/010/main.do")
+ , data : params || {}
+ , success : resp => {
+ dialog.open({
+ id : "userDialog"
+ , title : "사용자 검색"
+ , content : resp
+ , size : "lg"
+ });
+ }
+ });
}
- ajax.get({
- url : wctx.url("/user/user02/010/main.do")
- , data : params || {}
- , success : resp => {
- dialog.open({
- id : "userDialog"
- , title : "사용자 검색"
- , content : resp
- , size : "lg"
- });
+ // 개별총정보 dialog
+ $P.getTotalInfo = (crdnId) => {
+ if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
+
+ let params = {
+ callControlName : "pageObject['${pageName}'].control"
+ , sggCd : $("#sggCd--${pageName}").val()
+ , taskSeCd : $("input[name=taskSeCd]:checked").val()
+ , crdnId : crdnId
}
- });
- }
- // 개별총정보 dialog
- getTotalInfo${pageName} = (crdnId) => {
- if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
+ 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"
+ });
+ }
+ });
+ }
+
+ // 검색 자료 재조회
+ $P.refreshList = () => {
+ $P.control.untilPageNum = $P.control.query.pageNum;
+ $P.control.query.fetchSize = $P.control.defaultFetchSize * $P.control.query.pageNum;
+
+ $P.control.load(1);
+ }
+
+ /**************************************************************************
+ * 버튼 clickEvent
+ **************************************************************************/
+ // 업무 구분 변경 이벤트
+ $P.fnResetAndChangeBiz = (taskSeCd) => {
+ // 업무 구분 코드
+ if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") {
+ taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val();
+ }
+
+ // 초기 기본 설정
+ $P.initForm();
+ // 기본 데이터 설정
+ $P.initData(taskSeCd);
+ // 업무 구분별 설정
+ $P.setTask(taskSeCd);
+
+ // dataset 초기화
+ $P.control.dataset.clear();
+ }
+
+ // 검색 버튼 이벤트
+ $P.fnSearchList = () => {
+ // 검색조건
+ $P.control.query = $P.formFields.get();
+ $P.control.query.fetchSize = $P.control.defaultFetchSize; // 한번에 조회되는 자료 건수
+ $P.control.query.delYN = "N"; // 삭제 여부
- let params = {
- callControlName : "${pageName}Control"
- , sggCd : $("#sggCd--${pageName}").val()
- , taskSeCd : $("input[name=taskSeCd]:checked").val()
- , crdnId : crdnId
+ $P.control.load(1);
}
- 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"
+ // 엑셀 버튼 이벤트
+ $P.fnExcel = () => {
+ if ($P.control.dataset.empty) {
+ dialog.alert({
+ content : "검색된 자료가 없습니다."
+ , onOK : () => { }
});
+
+ return;
}
- });
- }
- // 검색 자료 재조회
- refreshList${pageName} = () => {
- ${pageName}Control.untilPageNum = ${pageName}Control.query.pageNum;
- ${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize * ${pageName}Control.query.pageNum;
+ // DataTables(그리드)
+ let cellDefs = getCellDefs($("#theadTr--${pageName} th").not(".dummy-th").not(":eq(0)")
+ , $($("#${infoPrefix}Row--${pageName}")[0].content).find("td").not(".dummy-td").not(":eq(0)"));
+ $P.control.query.cellDefs = cellDefs;
- ${pageName}Control.load(1);
- }
+ $P.control.download();
+ }
- /**************************************************************************
- * 버튼 clickEvent
- **************************************************************************/
- // 업무 구분 변경
- fnResetAndChangeBiz${pageName} = (taskSeCd) => {
- // 업무 구분 코드
- if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") {
- taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val();
+ // 사용자 조회 버튼 이벤트
+ $P.fnFindUser = () => {
+ $P.getFindUser();
}
- // 초기 기본 설정
- initForm${pageName}(taskSeCd);
+ /**************************************************************************
+ * 초기 설정
+ **************************************************************************/
+ // 이벤트 설정
+ $P.setEvent = () => {
+ // 기본 버튼 이벤트
+ $("#btnReset--${pageName}").on("click", () => $P.fnResetAndChangeBiz()); // 초기화
+ $("#btnSearch--${pageName}").on("click", () => $P.fnSearchList()); // 검색
+ $("#btnExcel--${pageName}").on("click", () => $P.fnExcel()); // 엑셀
+ $("#btnFindUser--${pageName}").on("click", () => $P.fnFindUser()); // 사용자 검색
+
+ // 동적검색에서 엔터(Enter) 키를 누르면 검색한다.
+ $("#term--${pageName}").keypress(function(e) {
+ if (e.keyCode == 13) {
+ fnSearchList${pageName}();
+ }
+ });
- // 기본 데이터 설정
- setFormData${pageName}(taskSeCd);
- }
-
- // 검색 버튼 이벤트
- fnSearchList${pageName} = () => {
- // 검색조건
- ${pageName}Control.query = ${pageName}Fields.get();
-
- ${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize; // 1 페이지당 조회되는 자료 건수
- ${pageName}Control.query.delYN = "N"; // 삭제 여부
-
- // 검색
- ${pageName}Control.load(1);
- }
-
- // 엑셀 버튼 이벤트
- fnExcel${pageName} = () => {
- if (${pageName}Control.dataset.empty) {
- dialog.alert({
- content : "검색된 자료가 없습니다."
- , onOK : () => { }
+ // 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);
+ }
+ });
});
- return;
+ // DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고
+ $("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
+
+ // DataTables 스크롤 이벤트 생성
+ fnMakeScrollableTable($("#table-responsive--${pageName}")[0], $P.scrollDataList);
}
- // DataTables(그리드)
- let cellDefs = getCellDefs($("#theadTr--${pageName} th").not(".dummy-th").not(":eq(0)")
- , $($("#${infoPrefix}Row--${pageName}")[0].content).find("td").not(".dummy-td").not(":eq(0)"));
- ${pageName}Control.query.cellDefs = cellDefs;
+ // 초기 화면 설정
+ $P.initForm = () => {
+ // 화면 초기화
+ $("#frmSearch--${pageName}")[0].reset();
+
+ // input, select 초기화
+ let searchForm = $("#frmSearch--${pageName}");
+ searchForm.find("input[type='radio']").not("[name='taskSeCd']").prop("checked", false);
+ searchForm.find("input[type='checkbox']").prop("checked", false);
+ searchForm.find("input[type='text']").val("");
+ searchForm.find("input[type='hidden']").val("");
+ searchForm.find("select").each(function() { $(this).find("option:eq(0)").prop("selected", true); });
+
+ // 최고 관리자 경우 업무구분을 선택할 수 있도록 하자.
+ $("#frmSearch--${pageName} input[name='taskSeCd']").each(function(i) {
+ $(this).prop("disabled", "true");
+ });
- ${pageName}Control.download();
- }
+ // 달력 초기화
+ initDatepicker("frmSearch--${pageName}");
+ $("#schPstmrkYmdFrom--${pageName}").datepicker("setDate", new Date());
+ $("#schPstmrkYmdTo--${pageName}").datepicker("setDate", new Date());
- // 사용자 검색 버튼 이벤트
- fnFindUser${pageName} = () => {
- getFindUser${pageName}();
- }
+ // 동적 검색
+ $("#byOutput--${pageName}").val("동적 검색");
- /**************************************************************************
- * 초기 설정
- **************************************************************************/
- // 이벤트
- setEvent${pageName} = () => {
- // 동적검색에서 엔터(Enter) 키를 누르면 검색한다.
- $("#term--${pageName}").keypress(function(e) {
- if (e.keyCode == 13) {
- fnSearchList${pageName}();
- }
- });
+ // 사용자 이름
+ $("#schRgtrNm--${pageName}").prop("readonly", true);
+ }
- // form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
- $("#frmSearch--${pageName}").find(".form-date").each(function() {
- $(this).on("input", function() {
- let value = this.value.replaceAll("-", "");
+ // 기본 데이터 설정
+ $P.initData = (taskSeCd) => {
+ // 시군구 코드
+ $("#sggCd--${pageName}").val("${sggCd}");
+ // 업무 구분 코드
+ $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true);
+
+ // 일자
+ $("#schPstmrkYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-7).date);
+ $("#schPstmrkYmdTo--${pageName}").datepicker("setDate", new Date());
+ }
- 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);
- }
- });
- });
+ // 업무 구분별 설정
+ $P.setTask = (taskSeCd) => {
+ let clsForTask = taskSeCd.toLowerCase();
- // DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고
- $("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
-
- // DataTables 스크롤 이벤트 생성
- fnMakeScrollableTable($("#table-responsive--${pageName}")[0], scrollDataList${pageName});
- }
-
- // 화면 초기 설정
- initForm${pageName} = (taskSeCd) => {
- // 화면 초기화
- $("#frmSearch--${pageName}")[0].reset();
-
- // input, select 초기화
- let searchForm = $("#frmSearch--${pageName}");
- searchForm.find("input[type='radio']").not("[name='taskSeCd']").prop("checked", false);
- searchForm.find("input[type='checkbox']").prop("checked", false);
- searchForm.find("input[type='text']").val("");
- searchForm.find("input[type='hidden']").val("");
- searchForm.find("select").each(function() { $(this).find("option:eq(0)").prop("selected", true); });
-
- // 최고 관리자 경우 업무구분을 선택할 수 있도록 하자.
- $("#frmSearch--${pageName} input[name='taskSeCd']").each(function(i) {
- $(this).prop("disabled", "true");
- });
+ // 업무별 조회조건
+ renderForTask("frmSearch--${pageName}", clsForTask);
- // 달력 초기화
- initDatepicker("frmSearch--${pageName}");
- $("#schPstmrkYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-7).date);
- $("#schPstmrkYmdTo--${pageName}").datepicker("setDate", new Date());
+ // 업무별 그리드 th
+ $("#DataTables_Table_0--${pageName}").find("th").resizable( "destroy" );
- // 동적 검색
- $("#byOutput--${pageName}").val("동적 검색");
+ let colContent = document.getElementById("${infoPrefix}Col--${pageName}").content;
+ let cols = $(colContent).find("." + clsForTask + ",.cmn");
+ let colsOuterHTML = "";
- // 사용자 이름
- $("#schRgtrNm--${pageName}").prop("readonly", true);
- }
+ cols.each(function() {
+ colsOuterHTML += this.outerHTML;
+ });
- // 기본 데이터 설정
- setFormData${pageName} = (taskSeCd) => {
- // ${pageName}Control 설정
- ${pageName}Control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30
+ $("#theadTr--${pageName}").html(colsOuterHTML);
+ $("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
- // 화면 데이터 설정
- $("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드
- $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); // 업무 구분
+ // URL 설정
+ $P.setURL(taskSeCd);
+ }
- // URL 설정
- setURL${pageName}(taskSeCd);
- }
+ // 업무구분에 따른 URL 설정
+ $P.setURL = (taskSeCd) => {
+ $P.control.urls.load = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/010/list.do"); // 조회
+ }
- // URL 설정
- setURL${pageName} = (taskSeCd) => {
- ${pageName}Control.urls.load = wctx.url(taskSeCd + ${pageName}PrefixUrl + "/010/list.do"); // 조회
- }
+ /**************************************************************************
+ * 최초 실행 함수
+ **************************************************************************/
+ // 1. 이벤트 설정
+ $P.setEvent();
- /**************************************************************************
- * script 진입
- **************************************************************************/
- $(document).ready(function() {
- // 이벤트 설정
- setEvent${pageName}();
+ // 2. 화면 초기 설정 및 업무 구분 변경
+ $P.fnResetAndChangeBiz($("#layout-navbar input[name='taskSeCd']:checked").val());
- // 보안모드
+ // 3. 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
-
- // 화면 초기 설정 및 업무 구분 변경
- fnResetAndChangeBiz${pageName}($("#layout-navbar input[name='taskSeCd']:checked").val());
});
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 a7cd0179..bd8fa469 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 @@
-
+
초기화
-
+
검색
-
+
엑셀
@@ -145,10 +145,10 @@
-
+
수정
-
+
삭제
@@ -165,7 +165,7 @@
NO. |
- |
+ |
민원접수구분 |
상담일자 |
요일 |
@@ -186,7 +186,7 @@
{ROW_NUM} |
- |
+ |
{CVLCPT_RCPT_SE_NM} |
{DSCSN_YMD} |
{WEEK_NM} |
@@ -225,415 +225,445 @@
/**************************************************************************
* Global Variable
**************************************************************************/
- // URL
- var ${pageName}PrefixUrl = "/sprt/sprt04";
- // FormFields
- var ${pageName}Fields = new FimsFormFields("#frmSearch--${pageName}");
+ pageObject["${pageName}"] = {};
/**************************************************************************
- * DatasetControl
- **************************************************************************/
- var ${pageName}Control = new DatasetControl({
- prefix : "cvlcptDscsn"
- , prefixName : "민원상담"
- , infoSize : "lg"
- , keymapper : info => info ? info.CVLCPT_DSCSN_ID : ""
- , dataGetter : obj => obj.cvlcptDscsnList
- , appendData : true
- , untilPageNum : 0 // 현재 페이지 번호
- , tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
- , formats : {
- DSCSN_YMD : dateFormat
- , REG_DT : datetimeFormat
- , MDFCN_DT : datetimeFormat
- }
- });
-
- /**************************************************************************
- * DatasetControl 이벤트
+ * script 진입
**************************************************************************/
- // Dataset 변경 이벤트
- ${pageName}Control.onDatasetChange = obj => {
- renderList${pageName}(obj.${infoPrefix}Total);
-
- $("#paging--${pageName}").setPagingInfo({
- list : ${pageName}Control.dataset
- , prefix : "paging--${pageName}"
- , start : obj.${infoPrefix}Start
- , totalSize : obj.${infoPrefix}Total
- , fetchSize : obj.${infoPrefix}Fetch
- , func : "${pageName}Control.load({index})"
+ $(document).ready(function() {
+ // pageObject
+ var $P = pageObject["${pageName}"];
+
+ // URL
+ $P.PrefixUrl = "/sprt/sprt04";
+ // FormFields
+ $P.formFields = new FimsFormFields("#frmSearch--${pageName}");
+
+ /**************************************************************************
+ * DatasetControl
+ **************************************************************************/
+ $P.control = new DatasetControl({
+ prefix : "cvlcptDscsn"
+ , prefixName : "민원상담"
+ , infoSize : "lg"
+ , keymapper : info => info ? info.CVLCPT_DSCSN_ID : ""
+ , dataGetter : obj => obj.cvlcptDscsnList
+ , appendData : true
+ , formats : {
+ DSCSN_YMD : dateFormat
+ , REG_DT : datetimeFormat
+ , MDFCN_DT : datetimeFormat
+ }
});
+ // $P.control 설정
+ $P.control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30
+ $P.control.untilPageNum = 0; // 현재 페이지 번호
+ $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 여부
+ $P.control.beforeCurrent = null;
+
+ /**************************************************************************
+ * DatasetControl 이벤트
+ **************************************************************************/
+ // Dataset 변경 이벤트
+ $P.control.onDatasetChange = obj => {
+ $P.renderList(obj.${infoPrefix}Total);
+
+ $("#paging--${pageName}").setPagingInfo({
+ list : $P.control.dataset
+ , prefix : "paging--${pageName}"
+ , start : obj.${infoPrefix}Start
+ , totalSize : obj.${infoPrefix}Total
+ , fetchSize : obj.${infoPrefix}Fetch
+ , func : "$P.control.load({index})"
+ });
- ${pageName}Control.tableRenderComplete = true; // dataTables 에 자료 추가 완료
- };
+ $P.control.tableRenderComplete = true; // dataTables 에 자료 추가 완료
+ };
- // 현재 선택 자료 변경 이벤트
- ${pageName}Control.onCurrentChange = item => {
- if (!item) return;
+ // 현재 선택 자료 변경 이벤트
+ $P.control.onCurrentChange = item => {
+ if (!item) return;
- let key = item.data.CVLCPT_DSCSN_ID;
+ let key = item.data.CVLCPT_DSCSN_ID;
- $("#tbody--${pageName}").setCurrentRow(key);
- };
+ $("#tbody--${pageName}").setCurrentRow(key);
+ };
- // 선택(체크) 변경 이벤트
- ${pageName}Control.onSelectionChange = selected => {
- let ${infoPrefix}List = ${pageName}Control.dataset;
- let keys = selected.map(e => ${infoPrefix}List.getKey(e));
+ // 선택(체크) 변경 이벤트
+ $P.control.onSelectionChange = selected => {
+ let ${infoPrefix}List = $P.control.dataset;
+ let keys = selected.map(e => ${infoPrefix}List.getKey(e));
- $("#tbody--${pageName} input[type='checkbox']").each(function() {
- let checkbox = $(this);
+ $("#tbody--${pageName} input[type='checkbox']").each(function() {
+ let checkbox = $(this);
- checkbox.prop("checked", keys.includes(checkbox.val()));
- });
+ checkbox.prop("checked", keys.includes(checkbox.val()));
+ });
- $("#btnRemove--${pageName}").prop("disabled", keys.length < 1);
- };
+ $("#btnRemove--${pageName}").prop("disabled", keys.length < 1);
+ };
+
+ // 민원상담 정보 dialog
+ $P.control.getInfo = (params) => {
+ if (!params) return;
- // 민원상담 dialog
- ${pageName}Control.getInfo = (params) => {
- if (!params) return;
+ let dialogTitle = "";
- let dialogTitle = "";
+ if (params.callPurpose == "create") {
+ dialogTitle = $P.control.prefixName + " 등록";
+ } else if (params.callPurpose == "update") {
+ dialogTitle = $P.control.prefixName + " 수정";
+ } else {
+ dialogTitle = $P.control.prefixName + " 정보";
+ }
- 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 : $P.control.urls.getInfo
+ , data : params || {}
+ , success : resp => {
+ dialog.open({
+ id : $P.control.prefixed("Dialog")
+ , title : dialogTitle
+ , content : resp
+ , size : $P.control.infoSize
+ , onClose : () => { $P.refreshList(); } // 자료 재조회
+ });
+ }
+ });
}
- ajax.get({
- url : ${pageName}Control.urls.getInfo
- , data : params || {}
- , success : resp => {
- dialog.open({
- id : ${pageName}Control.prefixed("Dialog")
- , title : dialogTitle
- , content : resp
- , size : ${pageName}Control.infoSize
- , onClose : () => { refreshList${pageName}(); } // 자료 재조회
- });
- }
- });
- }
+ // 삭제 callback
+ $P.control.onRemove = (resp) => {
+ let btnTitle = $("#btnRemove--${pageName}").attr("title");
+ let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
- // 삭제 callback
- ${pageName}Control.onRemove = (resp) => {
- let btnTitle = $("#btnRemove--${pageName}").attr("title");
- let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
+ // 메시지 출력
+ dialog.alert({
+ content : showMessage
+ , onOK : () => { }
+ });
- dialog.alert(showMessage); // 메시지 출력
+ if (resp.saved) {
+ $P.refreshList(); // 자료 재조회
+ }
+ }
+
+ // 삭제
+ $P.control.remove = (params) => {
+ if (!params) return;
- if (resp.saved) {
- refreshList${pageName}(); // 자료 재조회
+ ajax.post({
+ url : $P.control.urls.remove
+ , data : params
+ , success : resp => $P.control.onRemove(resp)
+ });
}
- }
- // 삭제
- ${pageName}Control.remove = (params) => {
- if (!params) return;
+ /**************************************************************************
+ * DataTables 이벤트
+ **************************************************************************/
+ // DataTables에 click, dbclick 이벤트
+ $P.renderList = (totalSize) => {
+ let ${infoPrefix}List = $P.control.dataset;
+ let empty = ${infoPrefix}List.empty;
+
+ let trs = empty ?
+ [document.getElementById("${infoPrefix}NotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
+ ${infoPrefix}List.inStrings(
+ document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
+ (str, dataItem) => str
+ .replace(/{onclick}/gi, "pageObject['${pageName}'].control.setCurrent('" + dataItem.getValue("CVLCPT_DSCSN_ID") + "');")
+ .replace(/{ondblclick}/gi, "pageObject['${pageName}'].fnUpdate('" + dataItem.getValue("CVLCPT_DSCSN_ID") + "');")
+ );
- ajax.post({
- url : ${pageName}Control.urls.remove
- , data : params
- , success : resp => ${pageName}Control.onRemove(resp)
- });
- }
+ let noMore = (totalSize == ${infoPrefix}List.length);
+ let initScroll = ($P.control.query.pageNum < 2) && ($P.control.untilPageNum == 0);
- /**************************************************************************
- * DataTables 이벤트
- **************************************************************************/
- // DataTables에 click, dbclick 이벤트
- renderList${pageName} = (totalSize) => {
- let ${infoPrefix}List = ${pageName}Control.dataset;
- let empty = ${infoPrefix}List.empty;
-
- let trs = empty ?
- [document.getElementById("${infoPrefix}NotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
- ${infoPrefix}List.inStrings(
- 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, "fnUpdate${pageName}('" + dataItem.getValue("CVLCPT_DSCSN_ID") + "');")
- );
-
- 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;
- }
+ $("#table-responsive--${pageName}")[0].changeContent(trs.join(), initScroll, noMore);
- // checkbox 체크 해제
- $("th input[type='checkbox']").prop("checked", false);
+ if ($P.control.untilPageNum != 0) {
+ $P.control.query.fetchSize = $P.control.defaultFetchSize;
+ $P.control.query.pageNum = $P.control.untilPageNum;
+ $P.control.untilPageNum = 0;
+ }
- //보안모드
- fn_securityModeToggle($("#securityMode--top").is(":checked"));
- }
+ // checkbox 체크 해제
+ $("th input[type='checkbox']").prop("checked", false);
- // DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트
- scrollDataList${pageName} = () => {
- ${pageName}Control.tableRenderComplete = false; // dataTables 에 자료 추가 false
+ //보안모드
+ fn_securityModeToggle($("#securityMode--top").is(":checked"));
+ }
- ${pageName}Control.load(${pageName}Control.query.pageNum + 1);
- }
+ // DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트
+ $P.scrollDataList = () => {
+ $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 false
- /**************************************************************************
- * 사용자 함수(function)
- **************************************************************************/
- // callback 사용자 검색
- callbackFindUser${pageName} = (userId, userNm) => {
- $("#schRgtrCd--${pageName}").val(userId); // 사용자 ID
- $("#schRgtrNm--${pageName}").val(userNm); // 사용자 명
- }
-
- // 사용자 검색
- getFindUser${pageName} = () => {
- let params = {
- callbackFuncName : "callbackFindUser${pageName}"
+ $P.control.load($P.control.query.pageNum + 1);
}
- ajax.get({
- url : wctx.url("/user/user02/010/main.do")
- , data : params || {}
- , success : resp => {
- dialog.open({
- id : "userDialog"
- , title : "사용자 검색"
- , content : resp
- , size : "lg"
- });
+ /**************************************************************************
+ * 사용자 함수(function)
+ **************************************************************************/
+ // callback 사용자 검색
+ $P.callbackFindUser = (userId, userNm) => {
+ $("#schRgtrCd--${pageName}").val(userId); // 사용자 ID
+ $("#schRgtrNm--${pageName}").val(userNm); // 사용자 명
+ }
+
+ // 사용자 검색
+ $P.getFindUser = () => {
+ let params = {
+ openerPageName : "${pageName}"
+ , callbackFuncName : "pageObject['${pageName}']['callbackFindUser']"
}
- });
- }
- // callback 삭제
- callbackRemove${pageName} = (obj) => {
- let selected = ${pageName}Control.dataset.getKeys("selected");
+ ajax.get({
+ url : wctx.url("/user/user02/010/main.do")
+ , data : params || {}
+ , success : resp => {
+ dialog.open({
+ id : "userDialog"
+ , title : "사용자 검색"
+ , content : resp
+ , size : "lg"
+ });
+ }
+ });
+ }
- if (selected.length < 1) return;
+ // 검색 자료 재조회
+ $P.refreshList = () => {
+ $P.control.untilPageNum = $P.control.query.pageNum;
+ $P.control.query.fetchSize = $P.control.defaultFetchSize * $P.control.query.pageNum;
- // 서버에 전송할 data(파라미터) 생성
- let params = {
- callPurpose : "remove" // 호출 용도
- , delRsn : obj.reason // 삭제 사유
- };
- params[${pageName}Control.prefixed("IDs")] = selected.join(","); // IDs
+ $P.control.load(1);
+ }
- ${pageName}Control.remove(params);
- }
+ // 삭제 callback
+ $P.callbackRemove = (obj) => {
+ let selected = $P.control.dataset.getKeys("selected");
- // 검색 자료 재조회
- refreshList${pageName} = () => {
- ${pageName}Control.untilPageNum = ${pageName}Control.query.pageNum;
- ${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize * ${pageName}Control.query.pageNum;
+ if (selected.length < 1) return;
- ${pageName}Control.load(1);
- }
+ // 서버에 전송할 data(파라미터) 생성
+ let params = {};
+ params[$P.control.prefixed("IDs")] = selected.join(","); // IDs
+ params.delRsn = obj.reason; // 삭제 사유
- /**************************************************************************
- * 버튼 clickEvent
- **************************************************************************/
- // 업무 구분 변경
- fnResetAndChangeBiz${pageName} = (taskSeCd) => {
- // 업무 구분 코드
- if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") {
- taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val();
+ $P.control.remove(params);
}
- // 초기 기본 설정
- initForm${pageName}();
+ /**************************************************************************
+ * 버튼 clickEvent
+ **************************************************************************/
+ // 업무 구분 변경 이벤트
+ $P.fnResetAndChangeBiz = (taskSeCd) => {
+ // 업무 구분 코드
+ if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") {
+ taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val();
+ }
- // 기본 데이터 설정
- initData${pageName}(taskSeCd);
+ // 초기 기본 설정
+ $P.initForm();
+ // 기본 데이터 설정
+ $P.initData(taskSeCd);
+ // 업무 구분별 설정
+ $P.setTask(taskSeCd);
- // dataset 초기화
- ${pageName}Control.dataset.clear();
- }
+ // dataset 초기화
+ $P.control.dataset.clear();
+ }
- // 검색 버튼 이벤트
- fnSearchList${pageName} = () => {
- // 검색조건
- ${pageName}Control.query = ${pageName}Fields.get();
+ // 검색 버튼 이벤트
+ $P.fnSearchList = () => {
+ // 검색조건
+ $P.control.query = $P.formFields.get();
+ $P.control.query.fetchSize = $P.control.defaultFetchSize; // 한번에 조회되는 자료 건수
+ $P.control.query.delYN = "N"; // 삭제 여부
- ${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize; // 한번에 조회되는 자료 건수 FETCH_XS = 30
- ${pageName}Control.query.delYN = "N"; // 삭제 여부
+ $P.control.load(1);
+ }
- ${pageName}Control.load(1);
- }
+ // 엑셀 버튼 이벤트
+ $P.fnExcel = () => {
+ if ($P.control.dataset.empty) {
+ dialog.alert({
+ content : "검색된 자료가 없습니다."
+ , onOK : () => { }
+ });
- // 엑셀 버튼 이벤트
- fnExcel${pageName} = () => {
- if (${pageName}Control.dataset.empty) {
- dialog.alert({
- content : "검색된 자료가 없습니다."
- , onOK : () => { }
- });
+ return;
+ }
- return;
- }
+ // DataTables(그리드)
+ let cellDefs = getCellDefs($("#theadTr--${pageName} th").not(".dummy-th").not(":eq(0)")
+ , $($("#${infoPrefix}Row--${pageName}")[0].content).find("td").not(".dummy-td").not(":eq(0)"));
+ $P.control.query.cellDefs = cellDefs;
- // DataTables(그리드)
- let cellDefs = getCellDefs($("#theadTr--${pageName} th").not(".dummy-th").not(":eq(0)")
- , $($("#${infoPrefix}Row--${pageName}")[0].content).find("td").not(".dummy-td").not(":eq(0)"));
- ${pageName}Control.query.cellDefs = cellDefs;
+ $P.control.download();
+ }
+
+ // 사용자 조회 버튼 이벤트
+ $P.fnFindUser = () => {
+ $P.getFindUser();
+ }
- ${pageName}Control.download();
- }
+ // 수정 버튼 이벤트
+ $P.fnUpdate = (cvlcptDscsnId) => {
+ // 민원상담 ID 가 없다면.. 입력
+ if (typeof cvlcptDscsnId == "undefined" || cvlcptDscsnId == null || cvlcptDscsnId == "") {
+ cvlcptDscsnId = $P.control.dataset.getValue("CVLCPT_DSCSN_ID");
+ }
- // 사용자 조회 버튼 이벤트
- fnFindUser${pageName} = () => {
- getFindUser${pageName}();
- }
+ let params = {
+ callPurpose : "update"
+ , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
+ , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
+ , cvlcptDscsnId : cvlcptDscsnId // 민원상담 ID
+ };
- // 수정 버튼 이벤트
- fnUpdate${pageName} = (cvlcptDscsnId) => {
- // 민원상담 ID 가 없다면.. 입력
- if (typeof cvlcptDscsnId == "undefined" || cvlcptDscsnId == null || cvlcptDscsnId == "") {
- cvlcptDscsnId = ${pageName}Control.dataset.getValue("CVLCPT_DSCSN_ID");
+ $P.control.getInfo(params);
}
- 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 : "선택하신 " + ${pageName}Control.prefixName + " 정보를 삭제하시겠습니까?"
- , onOK : () => {
- // 삭제 사유 입력
- 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
- );
- }
- });
- }
+ // 삭제 버튼 이벤트
+ $P.fnRemove = () => {
+ // 선택 자료
+ let selected = $P.control.dataset.getKeys("selected");
- /**************************************************************************
- * 초기 셋팅
- **************************************************************************/
- // 이벤트
- setEvent${pageName} = () => {
- // 동적검색에서 엔터(Enter) 키를 누르면 검색한다.
- $("#term--${pageName}").keypress(function(e) {
- if (e.keyCode == 13) {
- fnSearchList${pageName}();
- }
- });
+ if (selected.length < 1) return;
- // form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
- $("#frmSearch--${pageName}").find(".form-date").each(function() {
- $(this).on("input", function() {
- let value = this.value.replaceAll("-", "");
+ // 삭제 메세지 확인
+ dialog.alert({
+ content : "선택하신 " + selected.length + "건의 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?"
+ , onOK : () => {
+ // 삭제 사유 입력
+ let popupWidth = 640;
+ let popupHeight = 240;
+ let popupX = (window.screen.width / 2) - (popupWidth / 2);
+ let popupY = (window.screen.height / 2) - (popupHeight / 2);
+
+ window.open(
+ encodeURI(wctx.url("/resources/html/inputRsnDialog.html"
+ + "?openerPageName=${pageName}"
+ + "&prefix=" + $P.control.prefix
+ + "&usePurpose=" + "remove"
+ + "&ttlNm=" + "삭제"
+ ))
+ , "inputDelRsnDialog"
+ , 'status=no, height=' + popupHeight + ', width=' + popupWidth + ', left='+ popupX + ', top='+ popupY
+ );
+ }
+ });
+ }
- 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);
+ /**************************************************************************
+ * 초기 셋팅
+ **************************************************************************/
+ // 이벤트 설정
+ $P.setEvent = () => {
+ // 기본 버튼 이벤트
+ $("#btnReset--${pageName}").on("click", () => $P.fnResetAndChangeBiz()); // 초기화
+ $("#btnSearch--${pageName}").on("click", () => $P.fnSearchList()); // 검색
+ $("#btnExcel--${pageName}").on("click", () => $P.fnExcel()); // 엑셀
+ $("#btnFindUser--${pageName}").on("click", () => $P.fnFindUser()); // 사용자 검색
+
+ // 동적검색에서 엔터(Enter) 키를 누르면 검색한다.
+ $("#term--${pageName}").keypress(function(e) {
+ if (e.keyCode == 13) {
+ fnSearchList${pageName}();
}
});
- });
- // DataTables width 변경 조정
- $("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
-
- // DataTables 스크롤 이벤트 생성
- fnMakeScrollableTable($("#table-responsive--${pageName}")[0], scrollDataList${pageName});
- }
-
- // 화면 초기 설정
- initForm${pageName} = () => {
- // 화면 초기화
- $("#frmSearch--${pageName}")[0].reset();
-
- // input, select 초기화
- let searchForm = $("#frmSearch--${pageName}");
- searchForm.find("input[type='radio']").not("[name='taskSeCd']").prop("checked", false);
- searchForm.find("input[type='checkbox']").prop("checked", false);
- searchForm.find("input[type='text']").val("");
- searchForm.find("input[type='hidden']").val("");
- searchForm.find("select").each(function() { $(this).find("option:eq(0)").prop("selected", true); });
-
- // 최고 관리자 경우 업무구분을 선택할 수 있도록 하자.
- $("#frmSearch--${pageName} input[name='taskSeCd']").each(function(i) {
- $(this).prop("disabled", "true");
- });
+ // form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
+ $("#frmSearch--${pageName}").find(".form-date").each(function() {
+ $(this).on("input", function() {
+ let value = this.value.replaceAll("-", "");
- // 달력 초기화
- initDatepicker("frmSearch--${pageName}");
- $("#schDscsnYmdFrom--${pageName}").datepicker("setDate", new Date());
- $("#schDscsnYmdTo--${pageName}").datepicker("setDate", new Date());
+ 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);
+ }
+ });
+ });
- // 동적 검색
- $("#byOutput--${pageName}").val("동적 검색");
+ // 업무 버튼 이벤트
+ $("#btnUpdate--${pageName}").on("click", () => $P.fnUpdate()); // 민원상담 수정
+ $("#btnRemove--${pageName}").on("click", () => $P.fnRemove()); // 민원상담 삭제
- // 사용자 이름
- $("#schRgtrNm--${pageName}").prop("readonly", true);
- }
+ // DataTables width 변경 조정
+ $("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
- // 기본 데이터 설정
- initData${pageName} = (taskSeCd) => {
- // ${pageName}Control 설정
- ${pageName}Control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30
+ // DataTables 스크롤 이벤트 생성
+ fnMakeScrollableTable($("#table-responsive--${pageName}")[0], $P.scrollDataList);
+ }
- // 시군구 코드
- $("#sggCd--${pageName}").val("${sggCd}");
- // 업무 구분 코드
- $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true);
- // 일자
- $("#schDscsnYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-7).date);
- $("#schDscsnYmdTo--${pageName}").datepicker("setDate", new Date());
+ // 초기 화면 설정
+ $P.initForm = () => {
+ // 화면 초기화
+ $("#frmSearch--${pageName}")[0].reset();
+
+ // input, select 초기화
+ let searchForm = $("#frmSearch--${pageName}");
+ searchForm.find("input[type='radio']").not("[name='taskSeCd']").prop("checked", false);
+ searchForm.find("input[type='checkbox']").prop("checked", false);
+ searchForm.find("input[type='text']").val("");
+ searchForm.find("input[type='hidden']").val("");
+ searchForm.find("select").each(function() { $(this).find("option:eq(0)").prop("selected", true); });
+
+ // 최고 관리자 경우 업무구분을 선택할 수 있도록 하자.
+ $("#frmSearch--${pageName} input[name='taskSeCd']").each(function(i) {
+ $(this).prop("disabled", "true");
+ });
- // URL 설정
- setURL${pageName}(taskSeCd);
- }
+ // 달력 초기화
+ initDatepicker("frmSearch--${pageName}");
+ $("#schDscsnYmdFrom--${pageName}").datepicker("setDate", new Date());
+ $("#schDscsnYmdTo--${pageName}").datepicker("setDate", new Date());
- // 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 + ${pageName}PrefixUrl + "/020/info.do"); //
+ // 동적 검색
+ $("#byOutput--${pageName}").val("동적 검색");
- }
+ // 사용자 이름
+ $("#schRgtrNm--${pageName}").prop("readonly", true);
+ }
- /**************************************************************************
- * script 진입
- **************************************************************************/
- $(document).ready(function() {
- // 이벤트 설정
- setEvent${pageName}();
+ // 기본 데이터 설정
+ $P.initData = (taskSeCd) => {
+ // 시군구 코드
+ $("#sggCd--${pageName}").val("${sggCd}");
+ // 업무 구분 코드
+ $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true);
+
+ // 일자
+ $("#schDscsnYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-7).date);
+ $("#schDscsnYmdTo--${pageName}").datepicker("setDate", new Date());
+ }
- // 보안모드
- fn_securityModeToggle($("#securityMode--top").is(":checked"));
+ // 업무 구분별 설정
+ $P.setTask = (taskSeCd) => {
+ // URL 설정
+ $P.setURL(taskSeCd);
+ }
+
+ // 업무구분에 따른 URL 설정
+ $P.setURL = (taskSeCd) => {
+ $P.control.urls.load = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/010/list.do"); // 조회
+ $P.control.urls.remove = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/010/removes.do"); // 삭제
+ $P.control.urls.getInfo = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/020/info.do"); // 정보
+ }
- // 화면 초기 설정 및 업무 구분 변경
- fnResetAndChangeBiz${pageName}($("#layout-navbar input[name='taskSeCd']:checked").val());
+ /**************************************************************************
+ * 최초 실행 함수
+ **************************************************************************/
+ // 1. 이벤트 설정
+ $P.setEvent();
+
+ // 2. 화면 초기 설정 및 업무 구분 변경
+ $P.fnResetAndChangeBiz($("#layout-navbar input[name='taskSeCd']:checked").val());
+
+ // 3. 보안모드
+ fn_securityModeToggle($("#securityMode--top").is(":checked"));
});
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 c69eda03..d07b540d 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
@@ -54,7 +54,9 @@
- 저장
+
+ 저장
+
@@ -67,140 +69,160 @@
/**************************************************************************
* Global Variable
**************************************************************************/
- // URL
- var ${pageName}PrefixUrl = "/sprt/sprt04";
- // 호출 용도
- var ${pageName}CallPurpose = "${callPurpose}";
- // FormFields
- var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}");
+ pageObject["${pageName}"] = {};
/**************************************************************************
- * DatasetControl
+ * script 진입
**************************************************************************/
- var ${pageName}Control = new DatasetControl({
- prefix : "cvlcptDscsn"
- , prefixName : "민원상담"
- , keymapper : info => info ? info.CVLCPT_DSCSN_ID : ""
- , dataGetter : obj => obj.cvlcptDscsnInfo
- });
+ $(document).ready(function() {
+ // pageObject
+ var $P = pageObject["${pageName}"];
+
+ // URL
+ $P.PrefixUrl = "/sprt/sprt04";
+ // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
+ $P.callPurpose = "${callPurpose}";
+ // FormFields
+ $P.formFields = new FimsFormFields("#frmEdit--${pageName}");
+
+ /**************************************************************************
+ * DatasetControl
+ **************************************************************************/
+ $P.control = new DatasetControl({
+ prefix : "cvlcptDscsn"
+ , prefixName : "민원상담"
+ , keymapper : info => info ? info.CVLCPT_DSCSN_ID : ""
+ , dataGetter : obj => obj.cvlcptDscsnInfo
+ });
- ${pageName}Control.onCurrentChange = item => {
- if (!item) return;
+ /**************************************************************************
+ * DatasetControl 이벤트
+ **************************************************************************/
+ // 현재 선택 자료 변경 이벤트
+ $P.control.onCurrentChange = item => {
+ if (!item) return;
- // Dataset 셋팅
- ${pageName}Fields.set(item);
+ // Dataset 셋팅
+ $P.formFields.set(item);
- // 업무구분에 따른 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");
- }
+ // 업무구분에 따른 URL 변경
+ $P.setURL(item.data.TASK_SE_CD);
+ }
- /**************************************************************************
- *
- **************************************************************************/
- // 저장 callback
- ${pageName}Control.onSave = (resp) => {
- let dialogTitle = $("#" + ${pageName}Control.prefix + "Dialog").find("h5.modal-title").html();
- let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
+ // 저장 callback
+ $P.control.onSave = (resp) => {
+ let dialogTitle = $("#" + $P.control.prefix + "Dialog").find("h5.modal-title").html();
+ let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
- dialog.alert(showMessage);
+ // 메시지 출력
+ dialog.alert({
+ content : showMessage
+ , onOK : () => { }
+ });
- if (resp.saved) {
- dialog.close(${pageName}Control.prefix + "Dialog");
+ if (resp.saved) {
+ dialog.close($P.control.prefix + "Dialog");
+ }
}
- }
- // 저장
- ${pageName}Control.save = (info) => {
- if (!info) return;
+ // 저장
+ $P.control.save = (info) => {
+ if (!info) return;
- let create = isEmpty(info.cvlcptDscsnId);
+ let create = ($P.callPurpose == "create");
- ajax.post({
- url : !create ? ${pageName}Control.urls.update : ${pageName}Control.urls.create
- , data : info
- , success : resp => ${pageName}Control.onSave(resp)
- });
- }
+ ajax.post({
+ url : !create ? $P.control.urls.update : $P.control.urls.create
+ , data : info
+ , success : resp => $P.control.onSave(resp)
+ });
+ }
- /**************************************************************************
- * 사용자 함수(function)
- **************************************************************************/
+ /**************************************************************************
+ * 사용자 함수(function)
+ **************************************************************************/
- /**************************************************************************
- * 버튼 clickEvent
- **************************************************************************/
- // 저장
- fnSave${pageName} = () => {
- // validate 확인
- if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
-
- dialog.alert({
- content : "현재 " + ${pageName}Control.prefixName + " 정보를 저장하시겠습니까?"
- , onOK : () => {
- ${pageName}Control.save(${pageName}Fields.get());
- }
- });
- }
+ /**************************************************************************
+ * 버튼 clickEvent
+ **************************************************************************/
+ // 저장
+ $P.fnSave = () => {
+ // validate 확인
+ if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
- /**************************************************************************
- * 초기 셋팅
- **************************************************************************/
- // 이벤트 설정
- 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);
+ dialog.alert({
+ content : "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?"
+ , onOK : () => {
+ $P.control.save($P.formFields.get());
}
});
- });
- }
-
- // 화면 초기 설정
- 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 진입
- **************************************************************************/
- $(document).ready(function() {
+ /**************************************************************************
+ * 초기 셋팅
+ **************************************************************************/
// 이벤트 설정
- setEvent${pageName}();
+ $P.setEvent = () => {
+ // 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}();
+ // 업무 버튼 이벤트
+ $("#btnSave--${pageName}").on("click", () => $P.fnSave()); // 저장
+ }
- // Dataset 설정
- ${pageName}Control.setData([${cvlcptDscsnInfo}]);
+ // 초기 화면 설정
+ $P.initForm = () => {
+ // 달력 초기화
+ initDatepicker("frmEdit--${pageName}");
+
+ if ($P.callPurpose == "view") { // view
+ // input 요소들을 disabled
+ $("#frmEdit--${pageName}").find("input,textarea,select").prop("disabled", true);
+ // button 요소들을 disabled
+ $("btnSave--${pageName}").prop("disabled", true);
+ } else if ($P.callPurpose == "create") { // create
+ //
+ } else if ($P.callPurpose == "update") { // update
+ $("#cvlcptRcptSeCd--${pageName}").prop("disabled", true);
+ }
+ }
// 기본 데이터 설정
- setFormData${pageName}();
+ $P.initData = () => {
+
+ }
+
+ // 업무구분에 따른 URL 설정
+ $P.setURL = (taskSeCd) => {
+ $P.control.urls.create = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/020/create.do"); // 등록
+ $P.control.urls.update = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/020/update.do"); // 수정
+ }
+
+ /**************************************************************************
+ * 최초 실행 함수
+ **************************************************************************/
+ // 1. 이벤트 설정
+ $P.setEvent();
+
+ // 2. 초기 화면 설정
+ $P.initForm();
+
+ // 3. 기본 데이터 설정
+ $P.initData();
+
+ // 4. Dataset 설정
+ $P.control.setData([${cvlcptDscsnInfo}]);
});