From bac3ad0807eec9b693f9e97f638a1f9299ac1f40 Mon Sep 17 00:00:00 2001 From: jjh Date: Fri, 26 Jan 2024 17:46:21 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B0=9C=EB=B3=84=EC=B4=9D=EC=A0=95=EB=B3=B4?= =?UTF-8?q?=20=EC=88=98=EC=A0=95.=20=20=20-=20=EB=8B=A8=EC=86=8D=EC=A0=95?= =?UTF-8?q?=EB=B3=B4=EC=97=90=EC=84=9C=20=EC=9D=B4=EB=AF=B8=EC=A7=80(?= =?UTF-8?q?=EC=82=AC=EC=A7=84)=20=EB=B6=80=EB=B6=84=20=EC=88=98=EC=A0=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WEB-INF/jsp/fims/excl/excl01010-main.jsp | 8 +- .../WEB-INF/jsp/fims/excl/excl03010-main.jsp | 609 ++++---- .../webapp/WEB-INF/jsp/fims/photo-main.jsp | 34 +- .../WEB-INF/jsp/fims/sprt/sprt02010-main.jsp | 849 ++++++----- .../WEB-INF/jsp/fims/sprt/sprt02020-info.jsp | 1333 +++++++---------- .../webapp/resources/js/fims/photo-main.js | 71 +- 6 files changed, 1342 insertions(+), 1562 deletions(-) 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 9d0f1418..7c1dd7a6 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 @@ -296,7 +296,7 @@ - +
@@ -743,9 +743,6 @@ // 업무 구분별 설정 setTask${pageName}(taskSeCd); - - // URL 설정 - setURL${pageName}(taskSeCd); } // 업무 구분별 설정 @@ -768,6 +765,9 @@ $("#theadTr--${pageName}").html(colsOuterHTML); $("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} ); + + // URL 설정 + setURL${pageName}(taskSeCd); } // URL 설정 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 c9011916..4b038fb0 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 @@ -13,14 +13,14 @@
- - - @@ -124,7 +124,7 @@ -
@@ -145,7 +145,7 @@
- @@ -250,8 +250,6 @@ - -
@@ -260,370 +258,375 @@ /************************************************************************** * Global Variable **************************************************************************/ - // URL - var ${pageName}PrefixUrl = "/excl/excl03"; - // FormFields - var ${pageName}Fields = new FimsFormFields("#frmSearch--${pageName}"); - - /************************************************************************** - * DatasetControl - **************************************************************************/ - var ${pageName}Control = new DatasetControl({ - prefix : "crdnReReg" - , prefixName : "단속 재등록" - , infoSize : "lg" - , keymapper : info => info ? info.RE_REG_ID : "" - , dataGetter : obj => obj.crdnReRegList - , appendData : true - , untilPageNum : 0 // 현재 페이지 번호 - , tableRenderComplete : false // dataTables 에 자료 추가 완료 여부 - , formats : { - RE_REG_YMD : dateFormat - , CRDN_YMD_TM : datetimeFormat - , FFNLG_CRDN_AMT : numberFormat - , REG_DT : datetimeFormat - } - }); + pageObject["${pageName}"] = {}; - /************************************************************************** - * DatasetControl 이벤트 - **************************************************************************/ - // 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}"]; + + // FormFields + $P.formFields = new FimsFormFields("#frmSearch--${pageName}"); + + /************************************************************************** + * DatasetControl + **************************************************************************/ + $P.crdnReRegControl = new DatasetControl({ + prefix : "crdnReReg" + , prefixName : "단속 재등록" + , keymapper : info => info ? info.RE_REG_ID : "" + , dataGetter : obj => obj.crdnReRegList + , appendData : true + , untilPageNum : 0 // 현재 페이지 번호 + , tableRenderComplete : false // dataTables 에 자료 추가 완료 여부 + , formats : { + RE_REG_YMD : dateFormat + , CRDN_YMD_TM : datetimeFormat + , FFNLG_CRDN_AMT : numberFormat + , REG_DT : datetimeFormat + } }); - ${pageName}Control.tableRenderComplete = true; // dataTables 에 자료 추가 완료 - }; + /************************************************************************** + * DatasetControl 이벤트 + **************************************************************************/ + // Dataset 변경 이벤트 + $P.crdnReRegControl.onDatasetChange = obj => { + $P.renderList(obj.${infoPrefix}Total); + + $("#paging--${pageName}").setPagingInfo({ + list : $P.crdnReRegControl.dataset + , prefix : "paging--${pageName}" + , start : obj.${infoPrefix}Start + , totalSize : obj.${infoPrefix}Total + , fetchSize : obj.${infoPrefix}Fetch + , func : "$P.crdnReRegControl.load({index})" + }); - // 현재 선택 자료 변경 이벤트 - ${pageName}Control.onCurrentChange = item => { - if (!item) return; + $P.crdnReRegControl.tableRenderComplete = true; // dataTables 에 자료 추가 완료 + }; - let key = item.data.RE_REG_ID; + // 현재 선택 자료 변경 이벤트 + $P.crdnReRegControl.onCurrentChange = item => { + if (!item) return; - $("#tbody--${pageName}").setCurrentRow(key); - }; + let key = item.data.RE_REG_ID; - /************************************************************************** - * DataTables 이벤트 - **************************************************************************/ - // DataTables에 click, dbclick 이벤트 - renderList${pageName} = (totalSize) => { - let ${infoPrefix}List = ${pageName}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)); - }); + $("#tbody--${pageName}").setCurrentRow(key); + }; - // - let replacer = (str, dataItem) => str - .replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("LEVY_EXCL_ID") + "');") - .replace(/{ondblclick}/gi, "getTotalInfo${pageName}('" + dataItem.getValue("CRDN_ID") + "');"); + /************************************************************************** + * DataTables 이벤트 + **************************************************************************/ + // DataTables에 click, dbclick 이벤트 + $P.renderList = (totalSize) => { + let ${infoPrefix}List = $P.crdnReRegControl.dataset; + let empty = ${infoPrefix}List.empty; + let clsForTask = $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val().toLowerCase(); // 소문자 - let trs = empty ? [document.getElementById("${infoPrefix}NotFound--${pageName}").content.querySelector("." + clsForTask + ",.cmn").outerHTML] - : ${infoPrefix}List.inStrings(foundTr.outerHTML, replacer); + // 업무별 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"); - let noMore = (totalSize == ${infoPrefix}List.length); - let initScroll = (${pageName}Control.query.pageNum < 2) && (${pageName}Control.untilPageNum == 0); + foundTds.each(function() { + foundTr.appendChild(this.cloneNode(true)); + }); - $("#table-responsive--${pageName}")[0].changeContent(trs.join(), initScroll, noMore); + // + let replacer = (str, dataItem) => str + .replace(/{onclick}/gi, "pageObject['${pageName}'].crdnReRegControl.setCurrent('" + dataItem.getValue("RE_REG_ID") + "');") + .replace(/{ondblclick}/gi, "pageObject['${pageName}'].getTotalInfo('" + dataItem.getValue("CRDN_ID") + "');"); - if (${pageName}Control.untilPageNum != 0) { - ${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize; - ${pageName}Control.query.pageNum = ${pageName}Control.untilPageNum; - ${pageName}Control.untilPageNum = 0; - } + let trs = empty ? [document.getElementById("${infoPrefix}NotFound--${pageName}").content.querySelector("." + clsForTask + ",.cmn").outerHTML] + : ${infoPrefix}List.inStrings(foundTr.outerHTML, replacer); - // checkbox 체크 해제 - $("th input[type='checkbox']").prop("checked", false); + let noMore = (totalSize == ${infoPrefix}List.length); + let initScroll = ($P.crdnReRegControl.query.pageNum < 2) && ($P.crdnReRegControl.untilPageNum == 0); - // 보안모드 - fn_securityModeToggle($("#securityMode--top").is(":checked")); - } + $("#table-responsive--${pageName}")[0].changeContent(trs.join(), initScroll, noMore); - // DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트 - scrollDataList${pageName} = () => { - ${pageName}Control.tableRenderComplete = false; // dataTables 에 자료 추가 false + if ($P.crdnReRegControl.untilPageNum != 0) { + $P.crdnReRegControl.query.fetchSize = $P.crdnReRegControl.defaultFetchSize; + $P.crdnReRegControl.query.pageNum = $P.crdnReRegControl.untilPageNum; + $P.crdnReRegControl.untilPageNum = 0; + } - ${pageName}Control.load(${pageName}Control.query.pageNum + 1); - } + // checkbox 체크 해제 + $("th input[type='checkbox']").prop("checked", false); - /************************************************************************** - * 사용자 함수(function) - **************************************************************************/ - // callback 사용자 검색 - callbackFindUser${pageName} = (userId, userNm) => { - $("#schRgtrCd--${pageName}").val(userId); // 사용자 ID - $("#schRgtrNm--${pageName}").val(userNm); // 사용자 명 - } - - // 사용자 검색 - getFindUser${pageName} = () => { - let params = { - callbackFuncName : "callbackFindUser${pageName}" + // 보안모드 + fn_securityModeToggle($("#securityMode--top").is(":checked")); } - ajax.get({ - url : wctx.url("/user/user02/010/main.do") - , data : params || {} - , success : resp => { - dialog.open({ - id : "userDialog" - , title : "사용자 검색" - , content : resp - , size : "lg" - }); - } - }); - } - - // 개별총정보 dialog - getTotalInfo${pageName} = (crdnId, callSection) => { - if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; + // DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트 + $P.scrollDataList = () => { + $P.crdnReRegControl.tableRenderComplete = false; // dataTables 에 자료 추가 false - let callControlName = ""; - if (typeof callSection == "undefined" || callSection == null || callSection == "") { - callControlName = "${pageName}Control"; - } else { - callControlName = callSection; + $P.crdnReRegControl.load($P.crdnReRegControl.query.pageNum + 1); } - let params = { - callControlName : callControlName - , sggCd : $("#sggCd--${pageName}").val() - , taskSeCd : $("input[name=taskSeCd]:checked").val() - , crdnId : crdnId + /************************************************************************** + * 사용자 함수(function) + **************************************************************************/ + // callback 사용자 검색 + $P.callbackFindUser = (userId, userNm) => { + $("#schRgtrCd--${pageName}").val(userId); // 사용자 ID + $("#schRgtrNm--${pageName}").val(userNm); // 사용자 명 } - 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.getFindUser = () => { + let params = { + callbackFuncName : "$P.callbackFindUser" } - }); - } - - // 검색 자료 재조회 - 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 - **************************************************************************/ - // 업무 구분 변경 - fnResetAndChangeBiz${pageName} = (taskSeCd) => { - // 업무 구분 코드 - if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") { - taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val(); + ajax.get({ + url : wctx.url("/user/user02/010/main.do") + , data : params || {} + , success : resp => { + dialog.open({ + id : "userDialog" + , title : "사용자 검색" + , content : resp + , size : "lg" + }); + } + }); } - // 화면 초기화 - $("#frmSearch--${pageName}")[0].reset(); - - // 초기 기본 설정 - initFormData${pageName}(taskSeCd); - // 업무 구분별 설정 - setTask${pageName}(taskSeCd); - // 기본 데이터 설정 - setFormData${pageName}(taskSeCd); + // 개별총정보 dialog + $P.getTotalInfo = (crdnId, callSection) => { + if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; + + let callControlName = ""; + if (typeof callSection == "undefined" || callSection == null || callSection == "") { + callControlName = "pageObject['${pageName}'].crdnReRegControl"; + } else { + callControlName = callSection; + } - // dataset 초기화 - ${pageName}Control.dataset.clear(); - } + let params = { + callControlName : callControlName + , sggCd : $("#sggCd--${pageName}").val() + , taskSeCd : $("input[name=taskSeCd]:checked").val() + , crdnId : crdnId + } - // 검색 버튼 이벤트 - fnSearchList${pageName} = () => { - // 검색조건 - ${pageName}Control.query = ${pageName}Fields.get(); + 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" + }); + } + }); + } - ${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize; // 한번에 조회되는 자료 건수 FETCH_XS = 30 - ${pageName}Control.query.delYN = "N"; // 삭제 여부 + // 검색 자료 재조회 + $P.refreshList = () => { + $P.crdnReRegControl.untilPageNum = $P.crdnReRegControl.query.pageNum; + $P.crdnReRegControl.query.fetchSize = $P.crdnReRegControl.defaultFetchSize * $P.crdnReRegControl.query.pageNum; - ${pageName}Control.load(1); - } + $P.crdnReRegControl.load(1); + } - // 엑셀 버튼 이벤트 - fnExcel${pageName} = () => { - if (${pageName}Control.dataset.empty) { - dialog.alert({ - content : "검색된 자료가 없습니다." - , onOK : () => { } - }); + /************************************************************************** + * 버튼 clickEvent + **************************************************************************/ + // 업무 구분 변경 + $P.fnResetAndChangeBiz = (taskSeCd) => { + // 업무 구분 코드 + if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") { + taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val(); + } - return; - } + // 초기 기본 설정 + $P.initForm(); - // 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.initData(taskSeCd); - ${pageName}Control.download(); - } + // dataset 초기화 + $P.crdnReRegControl.dataset.clear(); + } - // 사용자 조회 버튼 이벤트 - fnFindUser${pageName} = () => { - getFindUser${pageName}(); - } + // 검색 버튼 이벤트 + $P.fnSearchList = () => { + // 검색조건 + $P.crdnReRegControl.query = $P.formFields.get(); + $P.crdnReRegControl.query.fetchSize = $P.crdnReRegControl.defaultFetchSize; // 한번에 조회되는 자료 건수 FETCH_XS = 30 + $P.crdnReRegControl.query.delYN = "N"; // 삭제 여부 - // 이전 단속정보 보기 버튼 이벤트 - fnBfrCrdnTotalInfo${pageName} = () => { - let bfrCrdnId = ${pageName}Control.dataset.getValue("BFR_CRDN_ID"); + $P.crdnReRegControl.load(1); + } - // 이전 단속 ID 가 없다면.. return - if (typeof bfrCrdnId == "undefined" || bfrCrdnId == null || bfrCrdnId == "") return; + // 엑셀 버튼 이벤트 + $P.fnExcel = () => { + if ($P.crdnReRegControl.dataset.empty) { + dialog.alert({ + content : "검색된 자료가 없습니다." + , onOK : () => { } + }); - // 개별총정보 dialog - getTotalInfo${pageName}(bfrCrdnId, "noControlName"); - } + return; + } - /************************************************************************** - * 초기 설정 - **************************************************************************/ - // 이벤트 - setEvent${pageName} = () => { - // 동적검색에서 엔터(Enter) 키를 누르면 검색한다. - $("#term--${pageName}").keypress(function(e) { - if (e.keyCode == 13) { - fnSearchList${pageName}();    - }     - }); + // 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.crdnReRegControl.query.cellDefs = cellDefs; - // form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용 - $("#frmSearch--${pageName}").find(".form-date").each(function() { - $(this).on("input", function() { - let value = this.value.replaceAll("-", ""); + $P.crdnReRegControl.download(); + } - 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.fnFindUser = () => { + $P.getFindUser(); + } - // DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고 - $("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} ); + // 이전 단속정보 보기 버튼 이벤트 + $P.fnBfrCrdnTotalInfo = () => { + let bfrCrdnId = $P.crdnReRegControl.dataset.getValue("BFR_CRDN_ID"); - // DataTables 스크롤 이벤트 생성 - fnMakeScrollableTable($("#table-responsive--${pageName}")[0], scrollDataList${pageName}); - } + // 이전 단속 ID 가 없다면.. return + if (typeof bfrCrdnId == "undefined" || bfrCrdnId == null || bfrCrdnId == "") return; - // 화면 초기 설정 - initFormData${pageName} = (taskSeCd) => { - // 초기 데이터 설정 - if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") { - clsForTask = $("#layout-navbar input[name='taskSeCd']:checked").val(); + // 개별총정보 dialog + $P.getTotalInfo(bfrCrdnId, "noControlName"); } - // 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); }); + /************************************************************************** + * 초기 설정 + **************************************************************************/ + // 이벤트 + $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()); // 사용자 검색 + $("#btnBfrCrdnTotalInfo--${pageName}").on("click", () => $P.fnBfrCrdnTotalInfo()); // 이전단속정보 + + // 동적검색에서 엔터(Enter) 키를 누르면 검색한다. + $("#term--${pageName}").keypress(function(e) { + if (e.keyCode == 13) { + fnSearchList${pageName}();    + }     + }); - // 최고 관리자 경우 업무구분을 선택할 수 있도록 하자. - $("#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("-", ""); - $("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드 - $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); // 업무 구분 + 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); + } + }); + }); - // 달력 초기화 - initDatepicker("frmSearch--${pageName}"); - $("#schReRegYmdFrom--${pageName}").datepicker("setDate", new Date()); - $("#schReRegYmdTo--${pageName}").datepicker("setDate", new Date()); + // DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고 + $("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} ); - // 동적 검색 - $("#byOutput--${pageName}").val("동적 검색"); + // DataTables 스크롤 이벤트 생성 + fnMakeScrollableTable($("#table-responsive--${pageName}")[0], $P.scrollDataList); + } - // 사용자 이름 - $("#schRgtrNm--${pageName}").prop("readonly", true); - } + // 기본 데이터 설정 + $P.initForm = (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"); + }); + + // 달력 초기화 + initDatepicker("frmSearch--${pageName}"); + $("#schReRegYmdFrom--${pageName}").datepicker("setDate", new Date()); + $("#schReRegYmdTo--${pageName}").datepicker("setDate", new Date()); + + // 동적 검색 + $("#byOutput--${pageName}").val("동적 검색"); + + // 사용자 이름 + $("#schRgtrNm--${pageName}").prop("readonly", true); + } - // 업무 구분별 설정 - setTask${pageName} = (taskSeCd) => { - let clsForTask = taskSeCd.toLowerCase(); + // 기본 데이터 설정 + $P.initData = (taskSeCd) => { + // $P.crdnReRegControl 설정 + $P.crdnReRegControl.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30 + + // 시군구 코드 + $("#sggCd--${pageName}").val("${sggCd}"); + // 업무 구분 코드 + $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); + // 일자 + $("#schReRegYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-7).date); + $("#schReRegYmdTo--${pageName}").datepicker("setDate", new Date()); + + // 업무 구분별 설정 + $P.setTask(taskSeCd); + } - // 업무별 조회조건 - renderForTask("frmSearch--${pageName}", clsForTask); + // 업무 구분별 설정 + $P.setTask = (taskSeCd) => { + let clsForTask = taskSeCd.toLowerCase(); - // 업무별 그리드 th - $("#DataTables_Table_0--${pageName}").find("th").resizable( "destroy" ); + // 업무별 조회조건 + renderForTask("frmSearch--${pageName}", clsForTask); - let colContent = document.getElementById("${infoPrefix}Col--${pageName}").content; - let cols = $(colContent).find("." + clsForTask + ",.cmn"); - let colsOuterHTML = ""; + // 업무별 그리드 th + $("#DataTables_Table_0--${pageName}").find("th").resizable( "destroy" ); - cols.each(function() { - colsOuterHTML += this.outerHTML; - }); + let colContent = document.getElementById("${infoPrefix}Col--${pageName}").content; + let cols = $(colContent).find("." + clsForTask + ",.cmn"); + let colsOuterHTML = ""; - $("#theadTr--${pageName}").html(colsOuterHTML); - $("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} ); - } + 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"} ); - // 일자 - $("#schReRegYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-7).date); - $("#schReRegYmdTo--${pageName}").datepicker("setDate", new Date()); + // URL 설정 + $P.setURL(taskSeCd); + } // URL 설정 - setURL${pageName}(taskSeCd); - } - - // URL 설정 - setURL${pageName} = (taskSeCd) => { - ${pageName}Control.urls.load = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/010/list.do"); // 조회 - ${pageName}Control.urls.create = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/010/create.do"); // 등록 - ${pageName}Control.urls.getInfo = wctx.url("/" + taskSeCd + "/sprt/sprt02/010/main.do"); // 개별총정보 - } + $P.setURL = (taskSeCd) => { + $P.crdnReRegControl.urls.load = wctx.url("/" + taskSeCd + "/excl/excl03/010/list.do"); // 조회 + $P.crdnReRegControl.urls.create = wctx.url("/" + taskSeCd + "/excl/excl03/010/create.do"); // 등록 + } - /************************************************************************** - * script 진입 - **************************************************************************/ - $(document).ready(function() { + /************************************************************************** + * 초기 셋팅 + **************************************************************************/ // 이벤트 설정 - setEvent${pageName}(); + $P.setEvent(); + + // 화면 초기 설정 및 업무 구분 변경 + $P.fnResetAndChangeBiz($("#layout-navbar input[name='taskSeCd']:checked").val()); // 보안모드 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/photo-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/photo-main.jsp index 554227f9..7e4b3c20 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/photo-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/photo-main.jsp @@ -7,7 +7,7 @@ - +
등록된 사진
@@ -18,17 +18,17 @@ 사진 추가
- +
-
@@ -37,14 +37,13 @@ - - + + + + \ No newline at end of file + LoadScript("photoMainJspScript","/resources/js/fims/photo-main.js"); + diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02010-main.jsp index a6dacb4c..4c4de651 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02010-main.jsp @@ -34,8 +34,8 @@
- - + +
@@ -44,44 +44,44 @@ @@ -104,471 +104,488 @@ /************************************************************************** * Global Variable **************************************************************************/ - // URL - var ${pageName}PrefixUrl = "/sprt/sprt02"; + pageObject["${pageName}"] = {}; + // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정) var ${pageName}CallPurpose = "${callPurpose}"; - // FormFields - var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}"); - // 자료 이동을 위한 자료의 Index. 0부터 시작. - var curDataIndex${pageName}; - // 현재 탭의 위치 - var activeTabIndex${pageName} = 0; - /************************************************************************** - * DatasetControl - **************************************************************************/ - var ${pageName}Control = new DatasetControl({ - prefix : "totalInfoMain" - , prefixName : "개별총정보" - , keymapper : info => info ? info.CRDN_ID : "" - , dataGetter : obj => obj.totalInfo - , formats : { - CRDN_YMD_TM : datetimeFormat - , CRDN_STTS_CHG_DT : datetimeFormat - } - }); + $(document).ready(function() { + // pageObject + var $P = pageObject["${pageName}"]; + + // 자료 이동을 위한 자료의 Index. 0부터 시작. + $P.curDataIndex; + // 현재 탭의 위치 + $P.activeTabIndex = 0; + // FormFields + $P.formFields = new FimsFormFields("#frmEdit--${pageName}"); + + /************************************************************************** + * DatasetControl + **************************************************************************/ + $P.mainControl = new DatasetControl({ + prefix : "totalInfoMain" + , prefixName : "개별총정보" + , keymapper : info => info ? info.CRDN_ID : "" + , dataGetter : obj => obj.totalInfo + , formats : { + CRDN_YMD_TM : datetimeFormat + , CRDN_STTS_CHG_DT : datetimeFormat + } + }); + + /************************************************************************** + * DatasetControl 이벤트 + **************************************************************************/ + $P.mainControl.onCurrentChange = item => { + if (!item) return; - ${pageName}Control.onCurrentChange = item => { - if (!item) return; + // Dataset 셋팅 + $P.formFields.set(item); - // Dataset 셋팅 - ${pageName}Fields.set(item); + // 건수 표기 + let controlName = "${callControlName}"; + if (controlName != "noControlName") { + $P.fnChangeCountStauts(); + } + // 자료 수정 + $P.useDataEdit(item); + } + + /************************************************************************** + * 네이게이션 Event + **************************************************************************/ // 건수 표기 - let controlName = "${callControlName}"; - if (controlName != "noControlName") { - fnChangeCountStauts${pageName}(); + $P.fnChangeCountStauts = () => { + // $P.curDataIndex 에 값이 없다면.. + if ($P.curDataIndex == null) { + let mainDataItems = ${callControlName}.dataset._items; + let curCrdnId = $P.mainControl.dataset.getValue("CRDN_ID"); + + for (iLoop = 0; iLoop < mainDataItems.length; iLoop++) { + if (mainDataItems[iLoop].data.CRDN_ID == curCrdnId) { + $P.curDataIndex = iLoop; + break; + } + } + } + + let viewNumber = $P.curDataIndex + 1; + + $("#countStauts--${pageName}").val(viewNumber + " of " + ${callControlName}.dataset._items.length); } - // 자료 수정 - useDataEdit${pageName}(item); - } + // 이전 자료 조회 + $P.fnPrev = () => { + let mainDataItems = ${callControlName}.dataset._items; + let curCrdnId = $P.mainControl.dataset.getValue("CRDN_ID"); - /************************************************************************** - * 네이게이션 Event - **************************************************************************/ - // 건수 표기 - fnChangeCountStauts${pageName} = () => { - // curDataIndex${pageName} 에 값이 없다면.. - if (curDataIndex${pageName} == null) { + // 초기 값은 callControl dataset 의 총 건수 - 1 + if ($P.curDataIndex == null) { + $P.curDataIndex = mainDataItems.length - 1; + } + + for (iLoop = $P.curDataIndex; iLoop >= 0; iLoop--) { + if (mainDataItems[iLoop].data.CRDN_ID == curCrdnId) { + if (iLoop - 1 < 0) { return; } // 종료 + + $P.curDataIndex = iLoop - 1; + break; + } + } + + let crdnId = mainDataItems[$P.curDataIndex].data.CRDN_ID; + + // 단속 ID 가 없다면.. return + if (crdnId == null || crdnId == "") { + return; + } + + let params = { + callPurpose : "view" + , callControlName : "${callControlName}" + , crdnId : crdnId + , sggCd : mainDataItems[$P.curDataIndex].data.SGG_CD + , taskSeCd : mainDataItems[$P.curDataIndex].data.TASK_SE_CD + , delYN : "N" + }; + + $P.refreshList(params); + } + + // 다음 자료 조회 + $P.fnNext = () => { let mainDataItems = ${callControlName}.dataset._items; - let curCrdnId = ${pageName}Control.dataset.getValue("CRDN_ID"); + let curCrdnId = $P.mainControl.dataset.getValue("CRDN_ID"); + + // 초기 값은 0 + if ($P.curDataIndex == null) { + $P.curDataIndex = 0; + } - for (iLoop = 0; iLoop < mainDataItems.length; iLoop++) { + for (iLoop = $P.curDataIndex; iLoop < mainDataItems.length; iLoop++) { if (mainDataItems[iLoop].data.CRDN_ID == curCrdnId) { - curDataIndex${pageName} = iLoop; + if (iLoop + 1 >= mainDataItems.length) return; // 종료 + + $P.curDataIndex = iLoop + 1; + break; } } + + let crdnId = mainDataItems[$P.curDataIndex].data.CRDN_ID; + + // 단속 ID 가 없다면.. return + if (crdnId == null || crdnId == "") { + return; + } + + let params = { + callPurpose : "view" + , callControlName : "${callControlName}" + , crdnId : crdnId + , sggCd : mainDataItems[$P.curDataIndex].data.SGG_CD + , taskSeCd : mainDataItems[$P.curDataIndex].data.TASK_SE_CD + , delYN : "N" + }; + + $P.refreshList(params); + } + + /************************************************************************** + * 사용자 함수(function) + **************************************************************************/ + // 자료 삭제 가능 여부 + $P.useDataEdit = (item) => { + // 삭제 자료일 경우 빨간색으로 변경 + let elem = document.getElementById("crdnSttsNm--${pageName}"); + + if (item.data.CRDN_STTS_CD == "99") { + elem.classList.remove("text-primary"); + elem.classList.add("text-danger"); + } else { + elem.classList.remove("text-danger"); + elem.classList.add("text-primary"); + } + } + + // + $P.fnClose = (isDataReLoad) => { + dialog.close($P.mainControl.prefix + "Dialog"); + + let controlName = "${callControlName}"; + if (isDataReLoad && controlName != "noControlName") { + ${callControlName}._load(); + } + } + + // 자료 재조회 + $P.refreshList = (params) => { + if (!params) return; + + ajax.get({ + url : wctx.url(params.taskSeCd + "/sprt/sprt02/010/main.do") + , headers: { Accept: "application/json; charset=utf-8" } // json + , data : params || {} + , success : resp => { + if (resp.totalInfo) { + // 최상단 단속 Data 셋팅 + $P.mainControl.setData([resp.totalInfo]); + + if ($P.activeTabIndex == 0) { + $P.fnCrdnPayerInfo(); // 단속 납부자 Data 셋팅 + } else if ($P.activeTabIndex == 1) { + $P.fnOpnnSbmsnInfo(); // 의견제출 정보 + } else if ($P.activeTabIndex == 2) { + $P.fnSndngInfo(); // 발송 반송 정보 + } else if ($P.activeTabIndex == 3) { + $P.fnPrcsInfo(); // 처리 상세 정보 + } else if ($P.activeTabIndex == 4) { + $P.fnLevyInfo(); // 부과체납 정보 + } else if ($P.activeTabIndex == 5) { + $P.fnRcvmtInfo(); // 수납 정보 + } else if ($P.activeTabIndex == 6) { + $P.fnCvlcptDscsnInfo(); // 민원상담 정보 + } + } + } + }); + } + + $P.getCrdnPayerInfo = (params) => { + if (!params) return; + + ajax.get({ + url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/020/info.do") + , data : params || {} + , success : resp => { + $("#crdnPayerInfo").html(resp); + } + }); } - let viewNumber = curDataIndex${pageName} + 1; + $P.getOpnnSbmsnInfo = (params) => { + if (!params) return; - $("#countStauts--${pageName}").val(viewNumber + " of " + ${callControlName}.dataset._items.length); - } + ajax.get({ + url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/030/info.do") + , data : params || {} + , success : resp => { + $("#opnnSbmsnInfo").html(resp); + } + }); + } - // 이전 자료 조회 - fnPrev${pageName} = () => { - let mainDataItems = ${callControlName}.dataset._items; - let curCrdnId = ${pageName}Control.dataset.getValue("CRDN_ID"); + $P.getSndngInfo = (params) => { + if (!params) return; - // 초기 값은 callControl dataset 의 총 건수 - 1 - if (curDataIndex${pageName} == null) { - curDataIndex${pageName} = mainDataItems.length - 1; + ajax.get({ + url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/040/info.do") + , data : params || {} + , success : resp => { + $("#sndngInfo").html(resp); + } + }); } - for (iLoop = curDataIndex${pageName}; iLoop >= 0; iLoop--) { - if (mainDataItems[iLoop].data.CRDN_ID == curCrdnId) { - if (iLoop - 1 < 0) { return; } // 종료 + $P.getPrcsInfo = (params) => { + if (!params) return; - curDataIndex${pageName} = iLoop - 1; - break; - } + ajax.get({ + url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/050/info.do") + , data : params || {} + , success : resp => { + $("#prcsInfo").html(resp); + } + }); } - let crdnId = mainDataItems[curDataIndex${pageName}].data.CRDN_ID; + $P.getLevyInfo = (params) => { + if (!params) return; - // 단속 ID 가 없다면.. return - if (crdnId == null || crdnId == "") { - return; + ajax.get({ + url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/060/info.do") + , data : params || {} + , success : resp => { + $("#levyInfo").html(resp); + } + }); } - let params = { - callPurpose : "view" - , callControlName : "${callControlName}" - , crdnId : crdnId - , sggCd : mainDataItems[curDataIndex${pageName}].data.SGG_CD - , taskSeCd : mainDataItems[curDataIndex${pageName}].data.TASK_SE_CD - , delYN : "N" - }; - - refreshList${pageName}(params); - } - - // 다음 자료 조회 - fnNext${pageName} = () => { - let mainDataItems = ${callControlName}.dataset._items; - let curCrdnId = ${pageName}Control.dataset.getValue("CRDN_ID"); - - // 초기 값은 0 - if (curDataIndex${pageName} == null) { - curDataIndex${pageName} = 0; + $P.getRcvmtInfo = (params) => { + if (!params) return; + + ajax.get({ + url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/070/info.do") + , data : params || {} + , success : resp => { + $("#rcvmtInfo").html(resp); + } + }); } - for (iLoop = curDataIndex${pageName}; iLoop < mainDataItems.length; iLoop++) { - if (mainDataItems[iLoop].data.CRDN_ID == curCrdnId) { - if (iLoop + 1 >= mainDataItems.length) { return; } // 종료 + $P.getCvlcptDscsnInfo = (params) => { + if (!params) return; - curDataIndex${pageName} = iLoop + 1; - break; - } + ajax.get({ + url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/080/info.do") + , data : params || {} + , success : resp => { + $("#cvlcptDscsnInfo").html(resp); + } + }); } - let crdnId = mainDataItems[curDataIndex${pageName}].data.CRDN_ID; + /************************************************************************** + * 탭 clickEvent + **************************************************************************/ + // 단속 정보 + $P.fnCrdnPayerInfo = () => { + let crdnId = $P.mainControl.dataset.getValue("CRDN_ID"); + + // 단속 ID 가 없다면.. return + if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; - // 단속 ID 가 없다면.. return - if (crdnId == null || crdnId == "") { - return; + // 탭 Index + $P.activeTabIndex = 0; + + let params = { + callPurpose : "view" + , crdnId : crdnId + , sggCd : $P.mainControl.dataset.getValue("SGG_CD") + , taskSeCd : $P.mainControl.dataset.getValue("TASK_SE_CD") + , delYN : "N" + }; + + $P.getCrdnPayerInfo(params); } - let params = { - callPurpose : "view" - , callControlName : "${callControlName}" - , crdnId : crdnId - , sggCd : mainDataItems[curDataIndex${pageName}].data.SGG_CD - , taskSeCd : mainDataItems[curDataIndex${pageName}].data.TASK_SE_CD - , delYN : "N" - }; + // 의견제출 정보 + $P.fnOpnnSbmsnInfo = () => { + let crdnId = $P.mainControl.dataset.getValue("CRDN_ID"); - refreshList${pageName}(params); - } + // 단속 ID 가 없다면.. return + if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; - /************************************************************************** - * 사용자 함수(function) - **************************************************************************/ - // 자료 삭제 가능 여부 - useDataEdit${pageName} = (item) => { - // 삭제 자료일 경우 빨간색으로 변경 - let elem = document.getElementById("crdnSttsNm--${pageName}"); - - if (item.data.CRDN_STTS_CD == "99") { - elem.classList.remove("text-primary"); - elem.classList.add("text-danger"); - } else { - elem.classList.remove("text-danger"); - elem.classList.add("text-primary"); + // 탭 Index + $P.activeTabIndex = 1; + + let params = { + callPurpose : "view" + , crdnId : crdnId + , sggCd : $P.mainControl.dataset.getValue("SGG_CD") + , taskSeCd : $P.mainControl.dataset.getValue("TASK_SE_CD") + , delYN : "N" + }; + + $P.getOpnnSbmsnInfo(params); } - } - // - fnClose${pageName} = (isDataReLoad) => { - dialog.close(${pageName}Control.prefix + "Dialog"); + // 발송 반송 정보 + $P.fnSndngInfo = () => { + let crdnId = $P.mainControl.dataset.getValue("CRDN_ID"); + + // 단속 ID 가 없다면.. return + if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; - let controlName = "${callControlName}"; - if (isDataReLoad && controlName != "noControlName") { - ${callControlName}._load(); + // 탭 Index + $P.activeTabIndex = 2; + + let params = { + callPurpose : "view" + , crdnId : crdnId + , sggCd : $P.mainControl.dataset.getValue("SGG_CD") + , taskSeCd : $P.mainControl.dataset.getValue("TASK_SE_CD") + , delYN : "N" + }; + + $P.getSndngInfo(params); } - } - - // 자료 재조회 - refreshList${pageName} = (params) => { - if (!params) return; - - ajax.get({ - url : wctx.url(params.taskSeCd + "/sprt/sprt02/010/main.do") - , headers: { Accept: "application/json; charset=utf-8" } // json - , data : params || {} - , success : resp => { - if (resp.totalInfo) { - // 최상단 단속 Data 셋팅 - ${pageName}Control.setData([resp.totalInfo]); - - if (activeTabIndex${pageName} == 0) { - fnCrdnPayerInfo${pageName}(); // 단속 납부자 Data 셋팅 - } else if (activeTabIndex${pageName} == 1) { - fnOpnnSbmsnInfo${pageName}(); // 의견제출 정보 - } else if (activeTabIndex${pageName} == 2) { - fnSndngInfo${pageName}(); // 발송 반송 정보 - } else if (activeTabIndex${pageName} == 3) { - fnPrcsDtlInfo${pageName}(); // 처리 상세 정보 - } else if (activeTabIndex${pageName} == 4) { - fnLevyNpmntInfo${pageName}(); // 부과체납 정보 - } else if (activeTabIndex${pageName} == 5) { - fnRcvmtInfo${pageName}(); // 수납 정보 - } else if (activeTabIndex${pageName} == 6) { - fnCvlcptDscsnInfo${pageName}(); // 민원상담 정보 - } - } - } - }); - } - getCrdnPayerInfo${pageName} = (params) => { - if (!params) return; + // 처리 정보 + $P.fnPrcsInfo = () => { + let crdnId = $P.mainControl.dataset.getValue("CRDN_ID"); - ajax.get({ - url : wctx.url(params.taskSeCd + "/sprt/sprt02/020/info.do") - , data : params || {} - , success : resp => { - $("#crdnPayerInfo").html(resp); - } - }); - } + // 단속 ID 가 없다면.. return + if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; - getOpnnSbmsnInfo${pageName} = (params) => { - if (!params) return; + // 탭 Index + $P.activeTabIndex = 3; - ajax.get({ - url : wctx.url(params.taskSeCd + "/sprt/sprt02/030/info.do") - , data : params || {} - , success : resp => { - $("#opnnSbmsnInfo").html(resp); - } - }); - } + let params = { + callPurpose : "view" + , crdnId : crdnId + , sggCd : $P.mainControl.dataset.getValue("SGG_CD") + , taskSeCd : $P.mainControl.dataset.getValue("TASK_SE_CD") + , rtpyrId : $P.mainControl.dataset.getValue("RTPYR_ID") + , delYN : "N" + }; - getSndngInfo${pageName} = (params) => { - if (!params) return; + $P.getPrcsInfo(params); + } - ajax.get({ - url : wctx.url(params.taskSeCd + "/sprt/sprt02/040/info.do") - , data : params || {} - , success : resp => { - $("#sndngInfo").html(resp); - } - }); - } + // 부과체납 정보 + $P.fnLevyInfo = () => { + let crdnId = $P.mainControl.dataset.getValue("CRDN_ID"); - getPrcsDtlInfo${pageName} = (params) => { - if (!params) return; + // 단속 ID 가 없다면.. return + if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; - ajax.get({ - url : wctx.url(params.taskSeCd + "/sprt/sprt02/050/info.do") - , data : params || {} - , success : resp => { - $("#prcsDtlInfo").html(resp); - } - }); - } + // 탭 Index + $P.activeTabIndex = 4; - getLevyNpmntInfo${pageName} = (params) => { - if (!params) return; + let params = { + callPurpose : "view" + , crdnId : crdnId + , sggCd : $P.mainControl.dataset.getValue("SGG_CD") + , taskSeCd : $P.mainControl.dataset.getValue("TASK_SE_CD") + , delYN : "N" + }; - ajax.get({ - url : wctx.url(params.taskSeCd + "/sprt/sprt02/060/info.do") - , data : params || {} - , success : resp => { - $("#levyNpmntInfo").html(resp); - } - }); - } + $P.getLevyInfo(params); + } - getRcvmtInfo${pageName} = (params) => { - if (!params) return; + // 수납 정보 + $P.fnRcvmtInfo = () => { + let crdnId = $P.mainControl.dataset.getValue("CRDN_ID"); - ajax.get({ - url : wctx.url(params.taskSeCd + "/sprt/sprt02/070/info.do") - , data : params || {} - , success : resp => { - $("#rcvmtInfo").html(resp); - } - }); - } + // 단속 ID 가 없다면.. return + if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; - getCvlcptDscsnInfo${pageName} = (params) => { - if (!params) return; + // 탭 Index + $P.activeTabIndex = 5; - ajax.get({ - url : wctx.url(params.taskSeCd + "/sprt/sprt02/080/info.do") - , data : params || {} - , success : resp => { - $("#cvlcptDscsnInfo").html(resp); - } - }); - } + let params = { + callPurpose : "view" + , crdnId : crdnId + , sggCd : $P.mainControl.dataset.getValue("SGG_CD") + , taskSeCd : $P.mainControl.dataset.getValue("TASK_SE_CD") + , delYN : "N" + }; - /************************************************************************** - * 탭 clickEvent - **************************************************************************/ - // 단속 정보 - fnCrdnPayerInfo${pageName} = () => { - let crdnId = ${pageName}Control.dataset.getValue("CRDN_ID"); - - // 단속 ID 가 없다면.. return - if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; - - // 탭 Index - activeTabIndex${pageName} = 0; - - let params = { - callPurpose : "view" - , crdnId : crdnId - , sggCd : ${pageName}Control.dataset.getValue("SGG_CD") - , taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") - , delYN : "N" - }; - - getCrdnPayerInfo${pageName}(params); - } - - // 의견제출 정보 - fnOpnnSbmsnInfo${pageName} = () => { - let crdnId = ${pageName}Control.dataset.getValue("CRDN_ID"); - - // 단속 ID 가 없다면.. return - if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; - - // 탭 Index - activeTabIndex${pageName} = 1; - - let params = { - callPurpose : "view" - , crdnId : crdnId - , sggCd : ${pageName}Control.dataset.getValue("SGG_CD") - , taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") - , delYN : "N" - }; - - getOpnnSbmsnInfo${pageName}(params); - } - - // 발송 반송 정보 - fnSndngInfo${pageName} = () => { - let crdnId = ${pageName}Control.dataset.getValue("CRDN_ID"); - - // 단속 ID 가 없다면.. return - if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; - - // 탭 Index - activeTabIndex${pageName} = 2; - - let params = { - callPurpose : "view" - , crdnId : crdnId - , sggCd : ${pageName}Control.dataset.getValue("SGG_CD") - , taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") - , delYN : "N" - }; - - getSndngInfo${pageName}(params); - } - - // 처리 상세 정보 - fnPrcsDtlInfo${pageName} = () => { - let crdnId = ${pageName}Control.dataset.getValue("CRDN_ID"); - - // 단속 ID 가 없다면.. return - if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; - - // 탭 Index - activeTabIndex${pageName} = 3; - - let params = { - callPurpose : "view" - , crdnId : crdnId - , sggCd : ${pageName}Control.dataset.getValue("SGG_CD") - , taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") - , rtpyrId : ${pageName}Control.dataset.getValue("RTPYR_ID") - , delYN : "N" - }; - - getPrcsDtlInfo${pageName}(params); - } - - // 부과체납 정보 - fnLevyNpmntInfo${pageName} = () => { - let crdnId = ${pageName}Control.dataset.getValue("CRDN_ID"); - - // 단속 ID 가 없다면.. return - if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; - - // 탭 Index - activeTabIndex${pageName} = 4; - - let params = { - callPurpose : "view" - , crdnId : crdnId - , sggCd : ${pageName}Control.dataset.getValue("SGG_CD") - , taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") - , delYN : "N" - }; - - getLevyNpmntInfo${pageName}(params); - } - - // 수납 정보 - fnRcvmtInfo${pageName} = () => { - let crdnId = ${pageName}Control.dataset.getValue("CRDN_ID"); - - // 단속 ID 가 없다면.. return - if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; - - // 탭 Index - activeTabIndex${pageName} = 5; - - let params = { - callPurpose : "view" - , crdnId : crdnId - , sggCd : ${pageName}Control.dataset.getValue("SGG_CD") - , taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") - , delYN : "N" - }; - - getRcvmtInfo${pageName}(params); - } - - // 민원상담 정보 - fnCvlcptDscsnInfo${pageName} = () => { - let crdnId = ${pageName}Control.dataset.getValue("CRDN_ID"); - - // 단속 ID 가 없다면.. return - if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; - - // 탭 Index - activeTabIndex${pageName} = 6; - - let params = { - callPurpose : "view" - , inquiryCondition : "crdnId_vhrno" - , crdnId : crdnId - , sggCd : ${pageName}Control.dataset.getValue("SGG_CD") - , taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") - , vhrno : ${pageName}Control.dataset.getValue("VHRNO") - , delYN : "N" - }; - - getCvlcptDscsnInfo${pageName}(params); - } + $P.getRcvmtInfo(params); + } - /************************************************************************** - * 초기 셋팅 - **************************************************************************/ - // 이벤트 설정 - setEvent${pageName} = () => { + // 민원상담 정보 + $P.fnCvlcptDscsnInfo = () => { + let crdnId = $P.mainControl.dataset.getValue("CRDN_ID"); - } + // 단속 ID 가 없다면.. return + if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; - // 기본 데이터 설정 - initData${pageName} = () => { - curDataIndex${pageName} = null; // 화면이 열릴때 초기 값으로 null로 설정해야 건수가 정상 표시 된다. - } + // 탭 Index + $P.activeTabIndex = 6; - /************************************************************************** - * script 진입 - **************************************************************************/ - $(document).ready(function() { + let params = { + callPurpose : "view" + , inquiryCondition : "crdnId_vhrno" + , crdnId : crdnId + , sggCd : $P.mainControl.dataset.getValue("SGG_CD") + , taskSeCd : $P.mainControl.dataset.getValue("TASK_SE_CD") + , vhrno : $P.mainControl.dataset.getValue("VHRNO") + , delYN : "N" + }; + + $P.getCvlcptDscsnInfo(params); + } + + /************************************************************************** + * 초기 셋팅 + **************************************************************************/ // 이벤트 설정 - setEvent${pageName}(); + $P.setEvent = () => { + // 버튼 이벤트 + $("#btnPrev--${pageName}").on("click", () => $P.fnPrev()); // 이전 + $("#btnNext--${pageName}").on("click", () => $P.fnNext()); // 다음 + $("#btnCrdnPayer--${pageName}").on("click", () => $P.fnCrdnPayerInfo()); // 단속 정보 + $("#btnOpnnSbmsn--${pageName}").on("click", () => $P.fnOpnnSbmsnInfo()); // 의견제출 정보 + $("#btnSndng--${pageName}").on("click", () => $P.fnSndngInfo()); // 발송반송 정보 + $("#btnPrcs--${pageName}").on("click", () => $P.fnPrcsInfo()); // 처리상세 정보 + $("#btnLevy--${pageName}").on("click", () => $P.fnLevyInfo()); // 부과체납 정보 + $("#btnRcvmt--${pageName}").on("click", () => $P.fnRcvmtInfo()); // 수납 정보 + $("#btnCvlcptDscsn--${pageName}").on("click", () => $P.fnCvlcptDscsnInfo()); // 민원상담 정보 + } // 기본 데이터 설정 - initData${pageName}(); + $P.initData = () => { + $P.curDataIndex = null; // 화면이 열릴때 초기 값으로 null로 설정해야 건수가 정상 표시 된다. + } + + /************************************************************************** + * script 진입시 실행 함수 + **************************************************************************/ + // 1. 이벤트 설정 + $P.setEvent(); + + // 2. 기본 데이터 설정 + $P.initData(); - // Dataset 설정 - ${pageName}Control.setData([${totalInfo}]); + // 3. Dataset 설정 + $P.mainControl.setData([${totalInfo}]); - // 단속, 납부자 정보 - fnCrdnPayerInfo${pageName}(); + // 4. 단속, 납부자 정보 조회 + $P.fnCrdnPayerInfo(); }); 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 63fe147a..f2ffabe2 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 @@ -7,8 +7,8 @@
- - + +
@@ -17,27 +17,13 @@ - - - - - - - + + + + + + +
@@ -219,12 +205,8 @@ -<%-- + +
@@ -247,7 +229,7 @@
- +
@@ -286,863 +268,620 @@
-
- - - - -
-
- -
-
- - -
-
- -
-
    -
-
- -
- -
-
- - - - + diff --git a/src/main/webapp/resources/js/fims/photo-main.js b/src/main/webapp/resources/js/fims/photo-main.js index 492057bc..5701c2b3 100644 --- a/src/main/webapp/resources/js/fims/photo-main.js +++ b/src/main/webapp/resources/js/fims/photo-main.js @@ -1,9 +1,9 @@ LoadScript("sortableScript","/resources/3rd-party/sneat/libs/sortablejs/sortable.js"); function settingPhotoMain(pageName, crdnIdElementId, carInfoFunc, carLinkFunc){ - + var $P = pageObject[pageName]; - + $P.existFileArr = []; $P.localUploadArr = []; @@ -21,8 +21,8 @@ function settingPhotoMain(pageName, crdnIdElementId, carInfoFunc, carLinkFunc){ //파일처리 버튼 //추가버튼 - $("#btnAddFile--"+pageName).on('click', () => { - $("#inputUploadSet--"+pageName).trigger("click"); + $("#btnAddFile--"+pageName).on('click', () => { + $("#inputUploadSet--"+pageName).trigger("click"); }); //동영상캡쳐버튼 $("#btnOpenVideoCapture--"+pageName).on('click', () => { @@ -70,7 +70,7 @@ function settingPhotoMain(pageName, crdnIdElementId, carInfoFunc, carLinkFunc){ }); $P.uploadSet = uploadSupport("#inputUploadSet--"+pageName); - + $P.uploadSet.onDatasetChange = () => { var files = $P.uploadSet.getDataset(); @@ -78,15 +78,15 @@ function settingPhotoMain(pageName, crdnIdElementId, carInfoFunc, carLinkFunc){ files.forEach(function(item){ $P.localUploadArr.push(item); }); - + $P.updateFileInfo("insert"); } }; - + $P.uploadSet.onRemove = () => { }; - - + + //이미지 HTML태그 문자열 반환 $P.fnMakeImgForExistFile = (fileArr) => { var tagsTextArr = []; @@ -98,7 +98,14 @@ function settingPhotoMain(pageName, crdnIdElementId, carInfoFunc, carLinkFunc){ continue; } - var template = document.getElementById("imgRadioTemplate--" + pageName).innerHTML; + // pageName에 따라 template이 다르다. + var template; + if (pageName == "sprt02020") { + template = document.getElementById("imgRadioTemplateTotalInfo--" + pageName).innerHTML; + } else { + template = document.getElementById("imgRadioTemplate--" + pageName).innerHTML; + } + template = template.replace(/{name}/gi, "existPhoto"); template = template.replace(/{value}/gi, item.FILE_ID); template = template.replace(/{src}/gi, item.URL); @@ -119,7 +126,7 @@ function settingPhotoMain(pageName, crdnIdElementId, carInfoFunc, carLinkFunc){ return tagsTextArr.join(""); } - + //이미지 HTML 렌더링 $P.fnDisplay = () => { @@ -135,7 +142,7 @@ function settingPhotoMain(pageName, crdnIdElementId, carInfoFunc, carLinkFunc){ }; - + //동영상캡쳐 콜백 $P.videoCallback = (snapshots) => { snapshots.forEach(function(canvas, index, array){ @@ -145,10 +152,10 @@ function settingPhotoMain(pageName, crdnIdElementId, carInfoFunc, carLinkFunc){ file.id = "file-" + identify; file.url = (window.URL || window.webkitURL).createObjectURL(file); file.mosaic = ""; - + $P.localUploadArr.push(file); if(index === array.length - 1){ - + $P.updateFileInfo("insert"); } }); @@ -165,9 +172,9 @@ function settingPhotoMain(pageName, crdnIdElementId, carInfoFunc, carLinkFunc){ if(isNumberPlate){ modifiedFile.mosaic = ""; $P.localUploadArr.push(modifiedFile); - + $P.updateFileInfo("insert"); - + } else { $P.existFileArr.forEach(function(item,index){ if(item.FILE_ID == originalFileInfo.FILE_ID){ @@ -178,12 +185,12 @@ function settingPhotoMain(pageName, crdnIdElementId, carInfoFunc, carLinkFunc){ $P.existFileArr.splice(index, 1, modifiedFile); }; }); - + $P.updateFileInfo("modifiy"); } } - + // 사진 저장 $P.updateFileInfo = (flag) => { @@ -194,7 +201,7 @@ function settingPhotoMain(pageName, crdnIdElementId, carInfoFunc, carLinkFunc){ var fileProcessingURL = ""; if(flag == "insert"){ fileProcessingURL = wctx.url("file/insertCrdnImageFile.do"); - + formData.delete("newFileList"); if ($P.localUploadArr.length > 0) { @@ -206,7 +213,7 @@ function settingPhotoMain(pageName, crdnIdElementId, carInfoFunc, carLinkFunc){ fileProcessingURL = wctx.url("file/updateCrdnImageFile.do"); formData.delete("modifyFile"); - + if($P.existFileArr.length > 0) { $P.existFileArr.forEach(function(item){ if(item.status == "modified"){ @@ -216,11 +223,11 @@ function settingPhotoMain(pageName, crdnIdElementId, carInfoFunc, carLinkFunc){ } }); } - - + + } else if(flag == "delete"){ fileProcessingURL = wctx.url("file/deleteCrdnImageFile.do"); - + if($P.existFileArr.length > 0) { $P.existFileArr.forEach(function(item){ if(item.status == "delete"){ @@ -230,24 +237,24 @@ function settingPhotoMain(pageName, crdnIdElementId, carInfoFunc, carLinkFunc){ } } else if(flag == "changeOrder"){ fileProcessingURL = wctx.url("file/changeOrderCrdnImageFile.do"); - + var inputs = $("#dragAndDrop--"+pageName).find("input[name='existPhoto']"); for(var i=0; i < inputs.length; i++){ formData.append("orderedKeys", inputs[i].value); } } - + ajax.post({ url : fileProcessingURL, data : formData, contentType : false, processData : false, success : resp => { if(resp.saved){ - + var crdnId = $("#"+crdnIdElementId).val(); ajax.post({ url : wctx.url("file/list.do"), - data : { + data : { infoKeys : crdnId, infoType : "100" }, @@ -262,22 +269,22 @@ function settingPhotoMain(pageName, crdnIdElementId, carInfoFunc, carLinkFunc){ } }, }); - + } - + } function initPhotoMain(pageName, fileList, existVideo){ - + var $P = pageObject[pageName]; - + //동영상캡쳐버튼 if(existVideo){ $("#btnOpenVideoCapture--"+pageName).show(); } else { $("#btnOpenVideoCapture--"+pageName).hide(); } - + $P.existFileArr = []; if(fileList){ fileList.forEach(function(item){