From 13b22bd51eea88c7fe87dd7f4943b494d268de48 Mon Sep 17 00:00:00 2001 From: JoJH Date: Fri, 15 Nov 2024 17:40:58 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B0=98=EC=86=A1=20=EC=82=AD=EC=A0=9C=20?= =?UTF-8?q?=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/sndb/sndb01220-main.jsp | 116 +++++++++++++----- .../WEB-INF/jsp/fims/sprt/sprt02040-info.jsp | 20 +-- .../resources/js/fims/sndb/sndb01220.js | 3 +- 3 files changed, 99 insertions(+), 40 deletions(-) diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01220-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01220-main.jsp index 7529a079..4ab74a57 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01220-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01220-main.jsp @@ -165,11 +165,11 @@ - - + @@ -328,6 +331,7 @@ let atLeastOne = GRID.checkbox.countChecked(element) > 0; + $P.$findn("btnRemove").prop("disabled", !atLeastOne); $P.$findn("btnCreateSlctnSndngLink").prop("disabled", !atLeastOne); Apply.toDataset.selection($P.ctrl.dataset, element, bool); @@ -410,7 +414,7 @@ dialog.open({ id: dialogId , title: params.btnTitle - , size: $P.ctrl.infoSize + , size: "xxl" , content: resp , init: () => { $("#" + dialogId).attr("name", dialogName); @@ -466,7 +470,9 @@ $P.fnReset(taskSeCd); // 업무구분에 따른 URL 설정 - $P.ctrl.urls.load = wctx.url("/" + taskSeCd + $P.prefixUrl + "/220/list.do"); // 검색 + $P.ctrl.urls.load = wctx.url("/" + taskSeCd + $P.prefixUrl + "/220/list.do"); // 검색 + $P.ctrl.urls.remove = wctx.url("/" + taskSeCd + $P.prefixUrl + "/220/remove.do"); // 삭제 + $P.ctrl.urls.getInfo = wctx.url("/" + taskSeCd + $P.prefixUrl + "/230/info.do"); // 상세 정보 // 최고 관리자인지 권한을 확인하여 업무구분을 선택할 수 있도록 하자 -> 수정 필요 $P.$findn("frmSearch").find("input[name='taskSeCd']").each(function(i) { @@ -539,7 +545,7 @@ $P.fnExcel = () => { if ($P.ctrl.dataset.empty) { dialog.alert({ - content: "검색된 자료가 없습니다." + content: "검색된 " + $P.ctrl.prefixName + " 정보가 없습니다." , init: () => { AppSupport.setDialogZindex(); } , onOK: () => { } }); @@ -555,8 +561,8 @@ $P.ctrl.download(); } - // 반송 등록 버튼 이벤트 - $P.fnCreateSndbk = (btnTitle) => { + // 개별 반송 등록 버튼 이벤트 + $P.fnCreate = (btnTitle) => { let params = { callPurpose: "create" , btnTitle: btnTitle // 타이틀 @@ -567,29 +573,57 @@ $P.getSndbkInfo(params); } - // 공시송달 등록 버튼 이벤트 - $P.fnCreateSvbtc = (btnTitle) => { - if ($P.ctrl.dataset.empty) { + // 반송 수정 버튼 이벤트 + $P.fnUpdate = (btnTitle) => { + // 발송 상세 ID 가 없다면.. return + let sndngDtlId = $P.ctrl.getValue("SNDNG_DTL_ID"); + if (!sndngDtlId) return; + + let params = { + btnTitle: btnTitle // 버튼 title + , callPurpose: "update" // 호출용도: 수정 + , sggCd: $P.ctrl.getValue("SGG_CD") // 시군구 코드 + , taskSeCd: $P.ctrl.getValue("TASK_SE_CD") // 업무 구분 코드 + , sndngDtlId: $P.ctrl.getValue("SNDNG_DTL_ID") // 발송 상세 ID + }; + + $P.ctrl.getInfo(params); + } + + // 삭제 버튼 클릭 이벤트 + $P.fnRemove = (btnTitle) => { + // 선택 자료 확인 + let selected = $P.ctrl.getDataset("selected"); + if (selected.length < 1) { dialog.alert({ - content : "검색된 자료가 없습니다." - , onOK : () => { } + content: "선택하신 " + $P.ctrl.prefixName + " 정보가 없습니다." + , init: () => { AppSupport.setDialogZindex(); } + , onOK: () => { } }); return; } - // 파라미터 설정 - let params = $P.ctrl.query; // 검색 조건 - params.callPurpose = "create"; // 호출 용도 (등록) - params.btnTitle = btnTitle; // 타이틀 - params.tnocs = $P.ctrl.dataset.getValue("TOT_CNT"); // 총건수 - - $P.getSvbtcInfo(params); + // 삭제 메세지 확인 + dialog.alert({ + content: "선택하신 " + selected.length + "건의 " + $P.ctrl.prefixName + " 정보를 삭제하시겠습니까?" + , onOK: () => { + // 서버에 전송할 data(파라미터) 생성 + let params = { + btnTitle: btnTitle // 버튼 title + , callPurpose: "delete" + , sggCd: $P.$findn("sggCd").val() // 시군구 코드 + , taskSeCd: $P.$findn("frmSearch").find("[name='taskSeCd']:checked").val() // 업무 구분 코드 + , sndngDtlIds: selected.map(info => info.SNDNG_DTL_ID).join(",") // 부과 제외 IDs + }; + + $P.ctrl.remove(params); + } + }); } // 선택 통합우편 발송 버튼 이벤트 $P.fnCreateSlctnSndngLink = (btnTitle) => { let selected = $P.ctrl.getDataset("selected"); // 선택 자료 - if (selected.length < 1) { dialog.alert({ content: "선택하신 " + $P.ctrl.prefixName + " 정보가 없습니다." @@ -610,10 +644,11 @@ // 전체 통합우편 발송 버튼 이벤트 $P.fnCreateWholSndngLink = (btnTitle) => { - if ($P.control.dataset.empty) { + if ($P.ctrl.dataset.empty) { dialog.alert({ - content : "검색된 자료가 없습니다." - , onOK : () => { } + content: "검색된 " + $P.ctrl.prefixName + " 정보가 없습니다." + , init: () => { AppSupport.setDialogZindex(); } + , onOK: () => { } }); return; } @@ -629,6 +664,26 @@ params.tnocs = $P.ctrl.dataset.getValue("TOT_CNT"); // 총건수 } + // 공시송달 등록 버튼 이벤트 + $P.fnCreateSvbtc = (btnTitle) => { + if ($P.ctrl.dataset.empty) { + dialog.alert({ + content: "검색된 " + $P.ctrl.prefixName + " 정보가 없습니다." + , init: () => { AppSupport.setDialogZindex(); } + , onOK: () => { } + }); + return; + } + + // 파라미터 설정 + let params = $P.ctrl.query; // 검색 조건 + params.callPurpose = "create"; // 호출 용도 (등록) + params.btnTitle = btnTitle; // 타이틀 + params.tnocs = $P.ctrl.dataset.getValue("TOT_CNT"); // 총건수 + + $P.getSvbtcInfo(params); + } + /************************************************************************** * 초기 셋팅 **************************************************************************/ @@ -644,11 +699,11 @@ $P.$findn("term").onEnterPress($P.fnSearchList); // 버튼 이벤트 - $P.$findn("btnCreateSndbk").on("click", function() { - $P.fnCreateSndbk($P.$findn("btnCreateSndbk").attr("title")); // 반송 등록 + $P.$findn("btnCreate").on("click", function() { + $P.fnCreate($P.$findn("btnCreate").attr("title")); // 개별 반송 등록 }); - $P.$findn("btnCreateSvbtc").on("click", function() { - $P.fnCreateSvbtc($P.$findn("btnCreateSvbtc").attr("title")); // 공시송달 등록 + $P.$findn("btnRemove").on("click", function() { + $P.fnRemove($P.$findn("btnRemove").attr("title")); // 반송 삭제 }); $P.$findn("btnCreateSlctnSndngLink").on("click", function() { $P.fnCreateSlctnSndngLink($P.$findn("btnCreateSlctnSndngLink").attr("title")); // 선택 통합우편 발송 @@ -656,6 +711,9 @@ $P.$findn("btnCreateWholSndngLink").on("click", function() { $P.fnCreateWholSndngLink($P.$findn("btnCreateWholSndngLink").attr("title")); // 전체 통합우편 발송 }); + $P.$findn("btnCreateSvbtc").on("click", function() { + $P.fnCreateSvbtc($P.$findn("btnCreateSvbtc").attr("title")); // 공시송달 등록 + }); // DataTables width 변경 조정 Componentization.fnMakeResizableTable($P.findn("tableRspns")); diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02040-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02040-info.jsp index 7069e3a6..3685a555 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02040-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02040-info.jsp @@ -246,7 +246,7 @@ $P.ctrlSvbtc.dataset.clear(); // 공시송달 Dataset 초기화 // sprt02010-main 단속 정보 - pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]); + ctrlMain.setData([resp.totalInfo]); // 발송 이력 정보 $P.ctrlSndngDtl.setData(resp.sndngDtls); @@ -361,19 +361,19 @@ return; } - let params = { - callPurpose: "delete" - , btnTitle: btnTitle - , sggCd: $P.ctrlSndngDtl.getValue("SGG_CD") // 시군구 코드 - , taskSeCd: $P.ctrlSndngDtl.getValue("TASK_SE_CD") // 업무 구분 코드 - , sndngDtlId: $P.ctrlSndngDtl.getValue("SNDNG_DTL_ID") // 발송 상세 ID - , sndngDtlSttsCd: "03" // 발송 상세 상태 코드(SNDNG_DTL_STTS_CD) FIM050 - 03 발송 - }; - dialog.alert({ content: "선택한 반송 정보를 삭제하시겠습니까?" , init: () => { AppSupport.setDialogZindex(); } , onOK: () => { + let params = { + btnTitle: btnTitle + , callPurpose: "delete" + , sggCd: $P.ctrlSndngDtl.getValue("SGG_CD") // 시군구 코드 + , taskSeCd: $P.ctrlSndngDtl.getValue("TASK_SE_CD") // 업무 구분 코드 + , sndngDtlId: $P.ctrlSndngDtl.getValue("SNDNG_DTL_ID") // 발송 상세 ID + , sndngDtlSttsCd: "03" // 발송 상세 상태 코드(SNDNG_DTL_STTS_CD) FIM050 - 03 발송 + }; + $P.ctrlSndngDtl.remove(params); } }); diff --git a/src/main/webapp/resources/js/fims/sndb/sndb01220.js b/src/main/webapp/resources/js/fims/sndb/sndb01220.js index 8786eb2c..272a982c 100644 --- a/src/main/webapp/resources/js/fims/sndb/sndb01220.js +++ b/src/main/webapp/resources/js/fims/sndb/sndb01220.js @@ -6,7 +6,7 @@ function newSndb01220Control(pageName, doctx="[data-doctx='sndb01220']") { , dataGetter: obj => obj["List"] , keys: ["SNDNG_DTL_ID"] , appendData: true - , infoSize: "xxl" + , infoSize: "md" , urls: { load: "/list.do" , getInfo: "/info.do" @@ -91,6 +91,7 @@ function newSndb01220Control(pageName, doctx="[data-doctx='sndb01220']") { // gridCheckbox Apply.fromDataset.gridCheckbox(ctrl.dataset, ctrl.find("[name='tbodyList']"), 1, selectedArr); // gridButton + Apply.fromDataset.gridButton(ctrl.dataset, ctrl.find("[name='btnRemove']"), selectedArr); // 삭제 버튼 Apply.fromDataset.gridButton(ctrl.dataset, ctrl.find("[name='btnCreateSlctnSndngLink']"), selectedArr); // 선택 대상 통합우편 발송 버튼 };