From 414abe0e314b036d2320a61bd63528b45ea9a956 Mon Sep 17 00:00:00 2001 From: jjh Date: Wed, 23 Oct 2024 10:45:48 +0900 Subject: [PATCH] =?UTF-8?q?=EB=8B=A8=EC=86=8D=EC=A1=B0=ED=9A=8C=20?= =?UTF-8?q?=EB=B0=8F=20=EB=82=A9=EB=B6=80=EC=95=88=EB=82=B4=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WEB-INF/jsp/fims/rent/rent02010-main.jsp | 1 + .../WEB-INF/jsp/fims/rent/rent03010-main.jsp | 344 ++++++++++++++ .../WEB-INF/jsp/fims/rent/rent03020-info.jsp | 449 ++++++++++++++++++ .../resources/js/fims/rent/rent03010.js | 113 +++++ .../resources/js/fims/rent/rent03020.js | 89 ++++ 5 files changed, 996 insertions(+) create mode 100644 src/main/webapp/WEB-INF/jsp/fims/rent/rent03010-main.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/fims/rent/rent03020-info.jsp create mode 100644 src/main/webapp/resources/js/fims/rent/rent03010.js create mode 100644 src/main/webapp/resources/js/fims/rent/rent03020.js diff --git a/src/main/webapp/WEB-INF/jsp/fims/rent/rent02010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/rent/rent02010-main.jsp index 176aab7c..7cb8381b 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/rent/rent02010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/rent/rent02010-main.jsp @@ -389,6 +389,7 @@ // 검색 조건 $P.ctrl.query = new FimsFormFields($P.selectorn("frmSearch")).get(); // 검색 조건 $P.ctrl.query.fetchSize = DEFAULT_FETCH_SIZE; // 한번에 조회되는 자료 건수 + $P.ctrl.query.ffnlgSysInqYn = "Y"; // 과태료 시스템 조회 여부 $P.ctrl.query.delYn = "N"; // 삭제 여부 // 날짜 차이 계산 diff --git a/src/main/webapp/WEB-INF/jsp/fims/rent/rent03010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/rent/rent03010-main.jsp new file mode 100644 index 00000000..8ac62996 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/fims/rent/rent03010-main.jsp @@ -0,0 +1,344 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%> +<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> + +단속조회 및 납부안내 + + +
+ +
+
+ +
+ + + + + +
+ + + +
+ + +
+ + + +
+
+ +
+ +
    +
+
+ + + +
+
+ + + +
+ +
+ +
+
+ + +
+
+ + + diff --git a/src/main/webapp/WEB-INF/jsp/fims/rent/rent03020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/rent/rent03020-info.jsp new file mode 100644 index 00000000..6e8bd2e8 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/fims/rent/rent03020-info.jsp @@ -0,0 +1,449 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%> +<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> + +단속조회 및 납부안내 상세 정보 + + +
+ +
+ +
+ +
+ + + + + + + + + +
+ + +
+ + + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+
+
+ +
+ + + + + +

+ + +
+ +
+ + + + +
+ + +
+
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + + +
+ +
+ + +
+ +
+ + + +
+ +
+ + + +
+
+
+ +
+ + + +
+ +
+ + + + + + + + + + +
No.파일번호파일이름파일크기다운로드
+
+
+ +
+ +
+ + + diff --git a/src/main/webapp/resources/js/fims/rent/rent03010.js b/src/main/webapp/resources/js/fims/rent/rent03010.js new file mode 100644 index 00000000..0765b1c4 --- /dev/null +++ b/src/main/webapp/resources/js/fims/rent/rent03010.js @@ -0,0 +1,113 @@ +function newRent03010Control(pageName, doctx="[data-doctx='rent03010']") { + let ctrl = new DatasetControl({ + doctx: doctx + , prefix: "crdn" + , prefixName: "단속" + , dataGetter: obj => obj["List"] + , keys: ["CRDN_ID"] + , appendData: true + , infoSize: "xl" + , urls: { + load: "/list.do" + , getInfo: "/info.do" + , create: "/create.do" + , update: "/update.do" + , remove: "/remove.do" + } + , formats: { + CHG_DMND_DT: datetimeFormat + , CHG_APRV_DT: datetimeFormat + , CRDN_DT: datetimeFormat + , FFNLG_CRDN_AMT: numberFormat + , REG_DT: datetimeFormat + , MDFCN_DT: datetimeFormat + } + }); + + // 검색 조건 + ctrl.query = { pageNum: 1, fetchSize: DEFAULT_FETCH_SIZE }; // 1 페이지당 자료 건수 index.jsp에서 확인 + + /************************************************************************** + * DatasetControl Events + **************************************************************************/ + // Dataset 변경 이벤트 + ctrl.onDatasetChange = (obj, option) => { + // 데이터 셋 + let dataList = ctrl.dataset; + let empty = dataList.empty; + + // 업무별 dataTables(그리드) tr, td + let foundContent = ctrl.find("[name='tmpltRows']").content; + let foundTr = $(foundContent).find("tr")[0].cloneNode(false); + let foundTds = $(foundContent).find(".cmn"); + + foundTds.each(function() { + foundTr.appendChild(this.cloneNode(true)); + }); + + let replacer = (str, dataItem) => str + .replace(/{onclick}/gi, "pageObject['" + pageName + "'].dataTableClick('{data-index}');") + .replace(/{ondblclick}/gi, "pageObject['" + pageName + "'].dataTableDblClick('{data-index}');"); + + let trs = empty ? + [ctrl.find("[name='tmpltNotFound']").content.querySelector(".cmn").outerHTML] + : dataList.inStrings(foundTr.outerHTML, replacer); + + let noMore = (dataList.length >= obj["Paging"]?.totalSize); // 전체 건수 + let initScroll = (ctrl.query.pageNum < 2); + + if (option != null && option.reloaded) { + initScroll = false; + } + + // dataTables(그리드)에 자료 표시 td + ctrl.find("[name='tableRspns']").changeContent(trs.join(), initScroll, noMore); + + // checkbox 체크 해제 + $(ctrl.find("[name='gridAllCheckbox']")).prop("checked", false); + + // dataTables(그리드)에 페이지 표시 pagingInfo + pageObject[pageName].pagingSupport.setPagingInfo(obj); + }; + + // 현재 선택 자료 변경 이벤트 + ctrl.onCurrentChange = (item) => { + Apply.fromDataset.currentRow(ctrl.dataset, item, ctrl.find("[name='tbodyList']")); + }; + + // 선택(체크) 변경 이벤트 + ctrl.onSelectionChange = (selectedArr) => { + // gridCheckbox + Apply.fromDataset.gridCheckbox(ctrl.dataset, ctrl.find("[name='tbodyList']"), 1, selectedArr); + }; + + // 상세 정보 dialog + ctrl.getInfo = (params) => { + if (!params) return; + + ajax.get({ + url: ctrl.urls.getInfo + , data: params || {} + , success: (resp) => { + let dialogName = ctrl.prefixed("Dialog"); + let dialogId = dialogName + "-" + uuid(); + + dialog.open({ + id: dialogId + , title: ctrl.prefixName + " 정보" + , size: ctrl.infoSize + , content: resp + , init: () => { + $("#" + dialogId).attr("name", dialogName); + $("#" + dialogId).attr("data-ref-doctx", pageName); + + AppSupport.setDialogZindex(); + } + , onClose: () => { } + }); + } + }); + } + + return ctrl; +} diff --git a/src/main/webapp/resources/js/fims/rent/rent03020.js b/src/main/webapp/resources/js/fims/rent/rent03020.js new file mode 100644 index 00000000..7273c0ad --- /dev/null +++ b/src/main/webapp/resources/js/fims/rent/rent03020.js @@ -0,0 +1,89 @@ +function newRent03020Control(pageName, doctx="[data-doctx='rent03020']") { + let ctrl = new DatasetControl({ + doctx: doctx + , prefix: "crdn" + , prefixName: "단속" + , dataGetter: obj => obj["Info"] + , keys: ["CRDN_ID"] + , infoSize: "lg" + , urls: { + load: "/list.do" + , getInfo: "/info.do" + } + }); + + /************************************************************************** + * DatasetControl Events + **************************************************************************/ + // 현재 선택 자료 변경 이벤트 + ctrl.onCurrentChange = (item) => { + if (!item) return; + + // 건수를 표시한다. + pageObject[pageName].fnChangeCountStatus(); + + // 화면에 단속 Dataset 셋팅 + let formFields = new FimsFormFields(ctrl.selector("[name='frmEdit']")); + formFields.set(ctrl, item); + + // 화면에 임대차계약 Dataset 셋팅 + let formFields2 = new FimsFormFields(ctrl.selector("[name='frmEditLsct']")); + formFields2.set(ctrl, item); + + let fileKey = item.data.LSCT_ID; + if (fileKey != null) { + pageObject[pageName].fnSearchFileList(fileKey); + } + }; + + // 상세 정보 dialog + ctrl.getInfo = (params) => { + if (!params) return; + + ajax.get({ + url: ctrl.urls.getInfo + , data: params || {} + , success: (resp) => { + let dialogName = ctrl.prefixed("Dialog"); + let dialogId = dialogName + "-" + uuid(); + + dialog.open({ + id: dialogId + , title: "임대차계약 상세 정보" + , size: ctrl.infoSize + , content: resp + , init: () => { + $("#" + dialogId).attr("name", dialogName); + $("#" + dialogId).attr("data-ref-doctx", pageName); + + AppSupport.setDialogZindex(); + } + , onClose: () => { } + }); + } + }); + } + + // 재 조회 -> 1건일때 reload 사용시 오류 발생. 배열이 아니여서 발생.. 한실장님에게 수정 요청 + ctrl.refresh = (query) => { + if (query) { + ctrl.query = query; + } + + ajax.get({ + url: ctrl.urls.load + , headers: { Accept: "application/json; charset=utf-8" } // json + , data: ctrl.query + , success: (resp) => { + // 초기화 + ctrl.find("[name='frmEdit']").reset(); // 화면 초기화 + ctrl.dataset.clear(); // Dataset 초기화 + + // Dataset 셋팅 + ctrl.setData([resp.Info]); // 정보 + } + }); + } + + return ctrl; +}