From f981481916737306fdb2845d012ebea631ae6264 Mon Sep 17 00:00:00 2001 From: jjh Date: Tue, 24 Sep 2024 16:49:23 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9E=84=EB=8C=80=EA=B3=84=EC=95=BD=EC=84=9C?= =?UTF-8?q?=20=EC=8A=B9=EC=9D=B8=20=EC=9A=94=EC=B2=AD=20=EC=88=98=EC=A0=95?= =?UTF-8?q?.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WEB-INF/jsp/fims/rent/rent02010-main.jsp | 86 ++++++++++++++++--- 1 file changed, 74 insertions(+), 12 deletions(-) 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 042899b3..ed153f1c 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 @@ -100,6 +100,9 @@ + @@ -257,7 +260,7 @@ let atLeastOne = GRID.checkbox.countChecked(element) > 0; let tabName = $P.$findn("tabMain").find("button.active").text().trim(); - if (tabName == "등록") { + if (tabName == "계약서등록") { $P.$findn("btnRemove").prop("disabled", !atLeastOne); } @@ -327,25 +330,55 @@ }); } + // 임대계약서 승인 요청 + $P.createAprvDmnd = (params) => { + if (!params) return; + + ajax.get({ + url: wctx.url("${prefixUrl}" + "/010/createAprv.do") + , data: params || {} + , success: (resp) => { + let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, "승인 요청"); + + // 메시지 출력 + dialog.alert({ + content: showMessage + , init: () => { AppSupport.setDialogZindex(); } + , onOK: () => { } + , onClose: () => { + if (resp.saved) { ctrl.reload({ all: true }); } + } + }); + } + }); + } + // 버튼 설정 $P.setButton = (tabName) => { // tab if (tabName == "대상") { $P.$findn("btnCreate").prop("disabled", false); $P.$findn("btnRemove").prop("disabled", true); - } else if (tabName == "등록") { + $P.$findn("btnAprvDmnd").prop("disabled", true); + } else if (tabName == "계약서등록") { $P.$findn("btnCreate").prop("disabled", true); $P.$findn("btnRemove").prop("disabled", false); + $P.$findn("btnAprvDmnd").prop("disabled", false); + } else if (tabName == "승인요청") { + $P.$findn("btnCreate").prop("disabled", true); + $P.$findn("btnRemove").prop("disabled", true); + $P.$findn("btnAprvDmnd").prop("disabled", true); } else { $P.$findn("btnCreate").prop("disabled", true); $P.$findn("btnRemove").prop("disabled", true); + $P.$findn("btnAprvDmnd").prop("disabled", true); } } /************************************************************************** * 버튼 clickEvent **************************************************************************/ - // 초기화 버튼 이벤트 + // 초기화 $P.fnReset = () => { // 화면 초기화 $P.findn("frmSearch").reset(); @@ -389,7 +422,7 @@ $P.setButton(tabName); } - // 검색 버튼 이벤트 + // 검색 $P.fnSearchList = (tabName) => { // validate 확인 if (!AppSupport.customValidate($P.$findn("frmSearch").find("input,select,textarea"))) return; @@ -406,13 +439,13 @@ $P.ctrl.query.delYn = "N"; // 삭제 여부 if (tabName == "계약서등록") { - $P.ctrl.query.chgDmndYn = "N"; // 변경 요청 여부 N - $P.ctrl.query.chgAprvYn = "N"; // 변경 승인 여부 N + $P.ctrl.query.chgDmndYn = "N"; // 변경 요청 여부 N + $P.ctrl.query.chgAprvYn = "N"; // 변경 승인 여부 N } else if (tabName == "승인요청") { - $P.ctrl.query.chgDmndYn = "Y"; // 변경 요청 여부 Y - $P.ctrl.query.chgAprvYn = "N"; // 변경 승인 여부 N + $P.ctrl.query.chgDmndYn = "Y"; // 변경 요청 여부 Y + $P.ctrl.query.chgAprvYn = "N"; // 변경 승인 여부 N } else if (tabName == "승인완료") { - $P.ctrl.query.chgAprvYn = "Y"; // 변경 승인 여부 Y + $P.ctrl.query.chgAprvYn = "Y"; // 변경 승인 여부 Y } $P.ctrl.query.trgtSttsNm = tabName; @@ -438,7 +471,7 @@ $P.ctrl.load(1); } - // 엑셀 버튼 이벤트 + // 엑셀 $P.fnExcel = () => { if ($P.ctrl.dataset.empty) { dialog.alert({ @@ -457,7 +490,7 @@ $P.ctrl.download(); } - // 임대계약서 등록 버튼 이벤트 + // 임대계약서 등록 $P.fnCreate = () => { let params = { callPurpose: "create" @@ -470,7 +503,7 @@ $P.createInfo(params); } - // 임대계약서 삭제 버튼 이벤트 + // 임대계약서 삭제 $P.fnRemove = () => { let selected = $P.ctrl.getDataset("selected"); // 선택 자료 @@ -496,6 +529,33 @@ }); } + + // 임대계약서 승인 요청 + $P.fnLsctAprvDmnd = () => { + let selected = $P.ctrl.getDataset("selected"); // 선택 자료 + + if (selected.length < 1) { + dialog.alert({ + content: "선택하신 " + $P.ctrl.prefixName + " 정보가 없습니다." + , init: () => { AppSupport.setDialogZindex(); } + , onOK: () => { } + }); + return; + } + + dialog.alert({ + content: "선택한 " + selected.length + "건의 " + $P.ctrl.prefixName + " 정보를 승인 요청하시겠습니까?" + , onOK: () => { + let params = { + callPurpose: "create" + , lsctIds: selected.map(info => info.LSCT_ID).join(",") + } + + $P.ctrl.createAprvDmnd(params); + } + }); + } + /************************************************************************** * 초기 설정 **************************************************************************/ @@ -509,6 +569,8 @@ // 업무 버튼 이벤트 $P.$findn("btnCreate").on("click", () => { $P.fnCreate(); }); // 등록 $P.$findn("btnRemove").on("click", () => { $P.fnRemove(); }); // 삭제 + $P.$findn("btnLsctAprvDmnd").on("click", () => { $P.fnLsctAprvDmnd(); }); // 승인 요청 + // DataTables width 변경 조정 Componentization.fnMakeResizableTable($P.findn("tableRspns"));