개별총정보 - 발송반송 소스 수정.

main
JoJH 1 week ago
parent e347e80350
commit a1bf65c613

@ -34,7 +34,7 @@
<div class="table-responsive ox-scroll oy-scroll h-px-300" name="tableRspnsSndngDtl"> <div class="table-responsive ox-scroll oy-scroll h-px-300" name="tableRspnsSndngDtl">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" aria-describedby="DataTables_Table_0_info"> <table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead"> <thead class="sticky-thead">
<tr name="theadTrSndngDtl"> <tr name="theadTrSndngDtl" data-search-target="[data-doctx='${pageName}']">
<th class="cmn sorting" style="width: 120px" data-field="SNDNG_DTL_STTS_NM">발송상태</th> <th class="cmn sorting" style="width: 120px" data-field="SNDNG_DTL_STTS_NM">발송상태</th>
<th class="cmn sorting" style="width: 100px" data-field="SNDNG_RCVMT_NM">수납</th> <th class="cmn sorting" style="width: 100px" data-field="SNDNG_RCVMT_NM">수납</th>
<th class="cmn sorting" style="width: 100px" data-field="DIV_KB_NM">취급구분</th> <th class="cmn sorting" style="width: 100px" data-field="DIV_KB_NM">취급구분</th>
@ -65,7 +65,7 @@
<tbody name="tbodySndngDtlList"> <tbody name="tbodySndngDtlList">
</tbody> </tbody>
<template is="curly-brackets" name="tmpltSndngDtlRows"> <template is="curly-brackets" name="tmpltSndngDtlRows">
<tr data-key="SNDNG_DTL_ID"> <tr data-key="{data-index}">
<td class="text-center" onclick>{SNDNG_DTL_STTS_NM}</td> <td class="text-center" onclick>{SNDNG_DTL_STTS_NM}</td>
<td class="text-center" onclick>{SNDNG_RCVMT_NM}</td> <td class="text-center" onclick>{SNDNG_RCVMT_NM}</td>
<td class="text-center" onclick>{DIV_KB_NM}</td> <td class="text-center" onclick>{DIV_KB_NM}</td>
@ -152,7 +152,7 @@
<div class="table-responsive ox-scroll oy-scroll h-px-250" name="tableRspnsSvbtc"> <div class="table-responsive ox-scroll oy-scroll h-px-250" name="tableRspnsSvbtc">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" aria-describedby="DataTables_Table_0_info"> <table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead"> <thead class="sticky-thead">
<tr name="theadTrSvbtc"> <tr name="theadTrSvbtc" data-search-target="[data-doctx='${pageName}']">
<th class="cmn sorting" style="width: 140px" data-field="SNDNG_SE_NM">발송구분</th> <th class="cmn sorting" style="width: 140px" data-field="SNDNG_SE_NM">발송구분</th>
<th class="cmn sorting" style="width: 120px" data-field="SNDNG_YMD">발송일자</th> <th class="cmn sorting" style="width: 120px" data-field="SNDNG_YMD">발송일자</th>
<th class="cmn sorting" style="width: 120px" data-field="SVBTC_YMD">공시송달일자</th> <th class="cmn sorting" style="width: 120px" data-field="SVBTC_YMD">공시송달일자</th>
@ -168,7 +168,7 @@
<tbody name="tbodySvbtcList"> <tbody name="tbodySvbtcList">
</tbody> </tbody>
<template is="curly-brackets" name="tmpltSvbtcRows"> <template is="curly-brackets" name="tmpltSvbtcRows">
<tr data-key="SNDNG_DTL_ID"> <tr data-key="{data-index}">
<td class="text-center" onclick>{SNDNG_SE_NM}</td> <td class="text-center" onclick>{SNDNG_SE_NM}</td>
<td class="text-center" onclick>{SNDNG_YMD}</td> <td class="text-center" onclick>{SNDNG_YMD}</td>
<td class="text-center" onclick>{SVBTC_YMD}</td> <td class="text-center" onclick>{SVBTC_YMD}</td>
@ -183,7 +183,7 @@
</template> </template>
<template name="tmpltNotFoundSvbtc"> <template name="tmpltNotFoundSvbtc">
<tr class="odd"> <tr class="odd">
<td valign="top" colspan="9" class="dataTables_empty text-center">공시송달 정보를 찾지 못했습니다.</td> <td valign="top" colspan="10" class="dataTables_empty text-center">공시송달 정보를 찾지 못했습니다.</td>
</tr> </tr>
</template> </template>
</table> </table>
@ -198,6 +198,8 @@
</div> <!-- <div class="content-pop"> --> </div> <!-- <div class="content-pop"> -->
<script> <script>
LoadScript("sprt02040Script", wctx.url("/webjars/js/fims/sprt/sprt02040.js?ver=${ver}"));
/************************************************************************** /**************************************************************************
* Global Variable * Global Variable
**************************************************************************/ **************************************************************************/
@ -210,198 +212,28 @@
// pageObject // pageObject
let $P = pageObject["${pageName}"]; let $P = pageObject["${pageName}"];
// FormFields // URL
$P.formFields = new FimsFormFields($P.selectorn("frmEditSndngDtl")); $P.prefixUrl = "${prefixUrl}"
// datasetControl
/************************************************************************** $P.ctrlSndngDtl = newSprt02040ControlSD("${pageName}", "[data-doctx=${pageName}]", "${pageNameMain}");
* DatasetControl $P.ctrlSvbtc = newSprt02040ControlSV("${pageName}", "[data-doctx=${pageName}]", "${pageNameMain}");
**************************************************************************/
// 발송 상세 정보 DatasetControl
$P.ctrlSndngDtl = new DatasetControl({
prefix: "sndngDtl"
, prefixName: "발송반송"
, keymapper: info => info ? info.SNDNG_DTL_ID : ""
, dataGetter: obj => obj.sndngDtls
, appendData: true
, formats: {
SNDNG_YMD: dateFormat
, DUDT_YMD: dateFormat
, SUM_AMT: numberFormat
, DLVR_YMD: dateFormat
, DLVR_TM: timeFormat
, REG_DT: datetimeFormat
, MDFCN_DT: datetimeFormat
}
});
// 공시송달 정보 DatasetControl
$P.ctrlSvbtc = new DatasetControl({
prefix: "svbtc"
, prefixName: "공시송달"
, keymapper: info => info ? info.SNDNG_DTL_ID : ""
, dataGetter: obj => obj.svbtcDtls
, appendData: true
, formats: {
SNDNG_YMD: dateFormat
, SVBTC_YMD: dateFormat
, REG_DT: datetimeFormat
}
});
/**************************************************************************
* 발송 상세 DatasetControl 이벤트
**************************************************************************/
// Dataset 변경 이벤트
$P.ctrlSndngDtl.onDatasetChange = (obj, option) => {
$P.renderSndngDtlList();
};
// 현재 선택 자료 변경 이벤트
$P.ctrlSndngDtl.onCurrentChange = (item) => {
if (!item) return;
let key = item.data.SNDNG_DTL_ID;
$P.$findn("tbodySndngDtlList").setCurrentRow(key);
// 가상계좌번호
let vrActno = Array.from({length: 20}, (x, i) => {
let no = i + 1
, bank = "BANK_NM" + (no > 1 ? no : "")
, account = "VR_ACTNO" + (no > 1 ? no : "");
return [bank, account]
})
.map(entry => {
let bank = item.data[entry[0]]
, account = item.data[entry[1]];
return bank ? bank + " " + account : null;
})
.filter(txt => txt != null)
.join("\n");
$P.$findn("vrActno").val(vrActno); // 가상 계좌번호
}
// 개별 반송 dialog
$P.ctrlSndngDtl.getInfo = (params) => {
if (!params) return;
ajax.get({
url: wctx.url("/" + params.taskSeCd + "/sndb/sndb01/230/info.do")
, data: params || {}
, success: (resp) => {
let dialogName = "sndbkDialog";
let dialogId = dialogName + "-" + uuid();
dialog.open({
id: dialogId
, title: params.btnTitle
, size: "md"
, content: resp
, init: () => {
$("#" + dialogId).attr("name", dialogName);
$("#" + dialogId).attr("data-ref-doctx", "${pageName}");
AppSupport.setDialogZindex();
}
, onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회
});
}
});
}
// 개별 반송 삭제 callback
$P.ctrlSndngDtl.onRemove = (params, resp) => {
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, params.btnTitle);
dialog.alert({
content: showMessage
, init: () => { AppSupport.setDialogZindex(); }
, onOK: () => { }
, onClose: () => {
if (resp.saved) { $P.fnRefreshDataInfo(); } // 자료 재조회
}
});
}
// 개별 반송 삭제
$P.ctrlSndngDtl.remove = (params) => {
if (!params) return;
ajax.post({
url: wctx.url("/" + params.taskSeCd + "/sndb/sndb01/220/remove.do")
, data: params || {}
, success: (resp) => {
$P.ctrlSndngDtl.onRemove(params, resp);
}
});
}
/**************************************************************************
* 공시송달 DatasetControl 이벤트
**************************************************************************/
// Dataset 변경
$P.ctrlSvbtc.onDatasetChange = (obj, option) => {
$P.renderSvbtcList();
}
// 현재 선택 자료 변경 이벤트
$P.ctrlSvbtc.onCurrentChange = (item) => {
if (!item) return;
let key = item.data.SNDNG_DTL_ID;
$P.$findn("tbodySvbtcList").setCurrentRow(key);
}
/**************************************************************************
* DataTables 이벤트
**************************************************************************/
// DataTables에 click, dbclick 이벤트
$P.renderSndngDtlList = (totalSize, option) => {
let sndngDtlList = $P.ctrlSndngDtl.dataset;
let empty = sndngDtlList.empty;
let trs = empty ? [$P.findn("tmpltNotFoundSndngDtl").innerHTML] :
sndngDtlList.inStrings($P.findn("tmpltSndngDtlRows").innerHTML
, (str, dataItem) => str
.replace(/{onclick}/gi, "pageObject['${pageName}'].ctrlSndngDtl.setCurrent('" + dataItem.getValue("SNDNG_DTL_ID") + "');")
);
$P.$findn("tbodySndngDtlList").html(trs.join());
}
// 공시송달 정보 DataTables에 click 이벤트
$P.renderSvbtcList = (totalSize, option) => {
let svbtcList = $P.ctrlSvbtc.dataset;
let empty = svbtcList.empty;
let trs = empty ? [$P.findn("tmpltNotFoundSvbtc").innerHTML] :
svbtcList.inStrings($P.findn("tmpltSvbtcRows").innerHTML
, (str, dataItem) => str
.replace(/{onclick}/gi, "pageObject['${pageName}'].ctrlSvbtc.setCurrent('" + dataItem.getValue("SNDNG_DTL_ID") + "');")
);
$P.$findn("tbodySvbtcList").html(trs.join());
}
/************************************************************************** /**************************************************************************
* 사용자 함수(function) * 사용자 함수(function)
**************************************************************************/ **************************************************************************/
// 자료 재조회 // 정보 새로고침
$P.fnRefreshDataInfo = () => { $P.fnRefresh = () => {
let crdnId = pageObject["${mainPageName}"].mainCtrl.getValue("CRDN_ID"); // 단속 ID let ctrlMain = pageObject["${pageNameMain}"].ctrlMain;
// 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
let crdnId = ctrlMain.getValue("CRDN_ID"); // 단속 ID
if (!crdnId) return; if (!crdnId) return;
let params = { let params = {
callPurpose: "refresh" callPurpose: "refresh"
, sggCd: pageObject["${mainPageName}"].mainCtrl.getValue("SGG_CD") , sggCd: ctrlMain.getValue("SGG_CD")
, taskSeCd: pageObject["${mainPageName}"].mainCtrl.getValue("TASK_SE_CD") , taskSeCd: ctrlMain.getValue("TASK_SE_CD")
, crdnId: pageObject["${mainPageName}"].mainCtrl.getValue("CRDN_ID") , crdnId: ctrlMain.getValue("CRDN_ID")
, delYn: "N" , delYn: "N"
}; };
@ -411,16 +243,17 @@
, data: params || {} , data: params || {}
, success: (resp) => { , success: (resp) => {
// 초기화 // 초기화
$P.findn("frmEditSndngDtl").reset(); // 화면 초기화 $P.findn("frmEditSndngDtl").reset(); // 화면 초기화
$P.ctrlSndngDtl.dataset.clear(); // 발송 상세 Dataset 초기화 $P.ctrlSndngDtl.dataset.clear(); // 발송상세 Dataset 초기화
$P.ctrlSvbtc.dataset.clear(); // 공시송달 Dataset 초기화 $P.ctrlSvbtc.dataset.clear(); // 공시송달 Dataset 초기화
// sprt02010-main 단속 정보 // sprt02010-main 단속 정보
pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]); pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]);
// Dataset 셋팅 // 발송 이력 정보
$P.ctrlSndngDtl.setData(resp.sndngDtls); // 발송 이력 정보 $P.ctrlSndngDtl.setData(resp.sndngDtls);
$P.ctrlSvbtc.setData(resp.svbtcDtls); // 공시송달 이력 정보 // 공시송달 이력 정보
$P.ctrlSvbtc.setData(resp.svbtcDtls);
} }
}); });
} }
@ -430,12 +263,12 @@
**************************************************************************/ **************************************************************************/
// 개별 반송 등록 // 개별 반송 등록
$P.fnCreateSndbk = (btnTitle) => { $P.fnCreateSndbk = (btnTitle) => {
// 발송상세 ID 가 없다면.. return
let sndngDtlId = $P.ctrlSndngDtl.getValue("SNDNG_DTL_ID"); // 발송 상세 ID let sndngDtlId = $P.ctrlSndngDtl.getValue("SNDNG_DTL_ID"); // 발송 상세 ID
let undlvrRsnNm = $P.ctrlSndngDtl.getValue("UNDLVR_RSN_NM"); // 미배달 사유 명 if (!sndngDtlId) return;
// 발송상세ID 가 없다면.. return
if (typeof sndngDtlId == "undefined" || sndngDtlId == null || sndngDtlId == "") return;
// 미배달 사유 확인 // 미배달 사유 확인
let undlvrRsnNm = $P.ctrlSndngDtl.getValue("UNDLVR_RSN_NM"); // 미배달 사유 명
if (undlvrRsnNm != "" ) { if (undlvrRsnNm != "" ) {
dialog.alert({ dialog.alert({
content: "미배달 사유가 " + undlvrRsnNm + " (으)로 반송 등록 되어 있습니다." content: "미배달 사유가 " + undlvrRsnNm + " (으)로 반송 등록 되어 있습니다."
@ -465,8 +298,8 @@
let params = { let params = {
callPurpose: "create" callPurpose: "create"
, btnTitle: btnTitle , btnTitle: btnTitle
, sggCd: $P.ctrlSndngDtl.getValue("SGG_CD") // 시군구 코드 , sggCd: ctrlMain.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrlSndngDtl.getValue("TASK_SE_CD") // 업무 구분 코드 , taskSeCd: ctrlMain.getValue("TASK_SE_CD") // 업무 구분 코드
, sndngDtlId: $P.ctrlSndngDtl.getValue("SNDNG_DTL_ID") // 발송 상세 ID , sndngDtlId: $P.ctrlSndngDtl.getValue("SNDNG_DTL_ID") // 발송 상세 ID
, delYn: "N" , delYn: "N"
}; };
@ -476,9 +309,8 @@
// 개별 반송 수정 // 개별 반송 수정
$P.fnUpdateSndbk = (btnTitle) => { $P.fnUpdateSndbk = (btnTitle) => {
let sndngDtlId = $P.ctrlSndngDtl.getValue("SNDNG_DTL_ID"); // 발송 상세 ID
// 발송상세ID 가 없다면.. return // 발송상세ID 가 없다면.. return
let sndngDtlId = $P.ctrlSndngDtl.getValue("SNDNG_DTL_ID"); // 발송 상세 ID
if (!sndngDtlId) return; if (!sndngDtlId) return;
// 미배달 사유 코드 // 미배달 사유 코드
@ -512,13 +344,14 @@
// 개별 반송 삭제 // 개별 반송 삭제
$P.fnRemoveSndbk = (btnTitle) => { $P.fnRemoveSndbk = (btnTitle) => {
// 발송상세ID 가 없다면.. return
let sndngDtlId = $P.ctrlSndngDtl.getValue("SNDNG_DTL_ID"); // 발송 상세 ID let sndngDtlId = $P.ctrlSndngDtl.getValue("SNDNG_DTL_ID"); // 발송 상세 ID
if (!sndngDtlId) return;
// 발송상세 상태코드 확인 (FIM050 - 05:반송)
let sndngDtlSttsCd = $P.ctrlSndngDtl.getValue("SNDNG_DTL_STTS_CD"); // 발송 상세 상태 코드 let sndngDtlSttsCd = $P.ctrlSndngDtl.getValue("SNDNG_DTL_STTS_CD"); // 발송 상세 상태 코드
let sndngDtlSttsNm = $P.ctrlSndngDtl.getValue("SNDNG_DTL_STTS_NM"); // 발송 상세 상태 명 let sndngDtlSttsNm = $P.ctrlSndngDtl.getValue("SNDNG_DTL_STTS_NM"); // 발송 상세 상태 명
// 발송상세ID 가 없다면.. return
if (typeof sndngDtlId == "undefined" || sndngDtlId == null || sndngDtlId == "") return;
// 발송상세 상태코드 확인 (FIM050 - 05:반송)
if (sndngDtlSttsCd != "05") { if (sndngDtlSttsCd != "05") {
dialog.alert({ dialog.alert({
content: "[" + btnTitle + "]" + " 작업은 발송상세 상태가 '반송' 자료만 처리 가능합니다." content: "[" + btnTitle + "]" + " 작업은 발송상세 상태가 '반송' 자료만 처리 가능합니다."
@ -568,16 +401,16 @@
$P.setEvent = () => { $P.setEvent = () => {
// 업무 버튼 이벤트 // 업무 버튼 이벤트
$P.$findn("btnCreateSndbk").on("click", function() { $P.$findn("btnCreateSndbk").on("click", function() {
$P.fnCreateSndbk($P.$findn("btnCreateSndbk").attr("title")); // 개별 반송 등록 $P.fnCreateSndbk($P.$findn("btnCreateSndbk").attr("title")); // 개별 반송 등록
}); });
$P.$findn("btnUpdateSndbk").on("click", function() { $P.$findn("btnUpdateSndbk").on("click", function() {
$P.fnUpdateSndbk($P.$findn("btnUpdateSndbk").attr("title")); // 개별 반송 수정 $P.fnUpdateSndbk($P.$findn("btnUpdateSndbk").attr("title")); // 개별 반송 수정
}); });
$P.$findn("btnRemoveSndbk").on("click", function() { $P.$findn("btnRemoveSndbk").on("click", function() {
$P.fnRemoveSndbk($P.$findn("btnRemoveSndbk").attr("title")); // 개별 반송 삭제 $P.fnRemoveSndbk($P.$findn("btnRemoveSndbk").attr("title")); // 개별 반송 삭제
}); });
$P.$findn("btnViewPostTrace").on("click", function() { $P.$findn("btnViewPostTrace").on("click", function() {
$P.fnViewPostTrace($P.$findn("btnViewPostTrace").attr("title")); // 개별 반송 등록 $P.fnViewPostTrace($P.$findn("btnViewPostTrace").attr("title")); // 개별 반송 등록
}); });
// DataTables width 변경 조정 // DataTables width 변경 조정
@ -586,11 +419,12 @@
} }
// 초기 화면 설정 // 초기 화면 설정
$P.initForm = () => { $P.fnReset = () => {
// 초기화 // 화면 초기화
$P.findn("frmEditSndngDtl").reset(); // 화면 초기화 $P.findn("frmEditSndngDtl").reset();
$P.ctrlSndngDtl.dataset.clear(); // 발송 상세 Dataset 초기화 // Dataset 초기화
$P.ctrlSvbtc.dataset.clear(); // 공시송달 Dataset 초기화 $P.ctrlSndngDtl.dataset.clear(); // 발송상세
$P.ctrlSvbtc.dataset.clear(); // 공시송달
// 화면 호출(callPurpose)이 view라면 버튼 비활성화 disabled = true // 화면 호출(callPurpose)이 view라면 버튼 비활성화 disabled = true
if (pageObject["${pageNameMain}"].callPurpose == "view") { if (pageObject["${pageNameMain}"].callPurpose == "view") {
@ -611,10 +445,10 @@
$P.setEvent(); $P.setEvent();
// 2. 초기 화면 설정 // 2. 초기 화면 설정
$P.initForm(); $P.fnReset();
// 3. Dataset 설정 // 3. Dataset 설정
$P.ctrlSndngDtl.setData(${sndngDtls}); // 발송 이력 $P.ctrlSndngDtl.setData(${sndngDtls}); // 발송상세 이력
$P.ctrlSvbtc.setData(${svbtcDtls}); // 공시송달 이력 $P.ctrlSvbtc.setData(${svbtcDtls}); // 공시송달 이력
}); });

@ -1,4 +1,4 @@
function newSprt02040ControlSndngDtl(pageName, doctx="[data-doctx='sprt02040']") { function newSprt02040ControlSD(pageName, doctx="[data-doctx='sprt02040']", mainPageName="sprt02010") {
let ctrlSndngDtl = new DatasetControl({ let ctrlSndngDtl = new DatasetControl({
doctx: doctx doctx: doctx
, prefix: "sndngDtl" , prefix: "sndngDtl"
@ -10,9 +10,6 @@ function newSprt02040ControlSndngDtl(pageName, doctx="[data-doctx='sprt02040']")
, urls: { , urls: {
load: "/list.do" load: "/list.do"
, getInfo: "/info.do" , getInfo: "/info.do"
, create: "/create.do"
, update: "/update.do"
, remove: "/remove.do"
} }
, formats: { , formats: {
SNDNG_YMD: dateFormat SNDNG_YMD: dateFormat
@ -34,32 +31,15 @@ function newSprt02040ControlSndngDtl(pageName, doctx="[data-doctx='sprt02040']")
let dataList = ctrlSndngDtl.dataset; let dataList = ctrlSndngDtl.dataset;
let empty = dataList.empty; let empty = dataList.empty;
// 업무별 dataTables(그리드) tr, td
let foundContent = ctrlSndngDtl.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 let replacer = (str, dataItem) => str
.replace(/{onclick}/gi, "pageObject['" + pageName + "'].dataTableClick('{data-index}');") .replace(/{onclick}/gi, "pageObject['" + pageName + "'].ctrlSndngDtl.setCurrent('{data-index}');")
.replace(/{ondblclick}/gi, "pageObject['" + pageName + "'].dataTableDblClick('{data-index}');");
let trs = empty ? let trs = empty ?
[ctrlSndngDtl.find("[name='tmpltNotFound']").content.querySelector(".cmn").outerHTML] [ctrlSndngDtl.find("[name='tmpltNotFoundSndngDtl']").innerHTML]
: dataList.inStrings(foundTr.outerHTML, replacer); : dataList.inStrings(ctrlSndngDtl.find("[name='tmpltSndngDtlRows']").innerHTML, replacer);
let noMore = (dataList.length >= obj["Paging"]?.totalSize); // 전체 건수
let initScroll = (ctrlSndngDtl.query.pageNum < 2);
if (option != null && option.reloaded) {
initScroll = false;
}
// dataTables(그리드)에 자료 표시 td // dataTables(그리드)에 자료 표시 td
ctrlSndngDtl.find("[name='tableRspns']").changeContent(trs.join(), initScroll, noMore); $(ctrlSndngDtl.find("[name='tbodySndngDtlList']")).html(trs.join());
}; };
// 현재 선택 자료 변경 이벤트 // 현재 선택 자료 변경 이벤트
@ -102,7 +82,7 @@ function newSprt02040ControlSndngDtl(pageName, doctx="[data-doctx='sprt02040']")
dialog.open({ dialog.open({
id: dialogId id: dialogId
, title: params.btnTitle , title: params.btnTitle
, size: ctrl.infoSize , size: ctrlSndngDtl.infoSize
, content: resp , content: resp
, init: () => { , init: () => {
$("#" + dialogId).attr("name", dialogName); $("#" + dialogId).attr("name", dialogName);
@ -110,7 +90,7 @@ function newSprt02040ControlSndngDtl(pageName, doctx="[data-doctx='sprt02040']")
AppSupport.setDialogZindex(); AppSupport.setDialogZindex();
} }
, onClose: () => { ctrlSndngDtl.refresh(); } // 정보 새로고침 , onClose: () => { pageObject[pageName].fnRefresh(); } // 정보 새로고침
}); });
} }
}); });
@ -126,7 +106,7 @@ function newSprt02040ControlSndngDtl(pageName, doctx="[data-doctx='sprt02040']")
, init: () => { AppSupport.setDialogZindex(); } , init: () => { AppSupport.setDialogZindex(); }
, onOK: () => { } , onOK: () => { }
, onClose: () => { , onClose: () => {
if (resp.saved) { ctrlSndngDtl.refresh(); } // 정보 새로고침 if (resp.saved) { pageObject[pageName].fnRefresh(); } // 정보 새로고침
} }
}); });
} }
@ -139,44 +119,58 @@ function newSprt02040ControlSndngDtl(pageName, doctx="[data-doctx='sprt02040']")
url: wctx.url("/" + params.taskSeCd + "/sndb/sndb01/220/remove.do") url: wctx.url("/" + params.taskSeCd + "/sndb/sndb01/220/remove.do")
, data: params || {} , data: params || {}
, success: (resp) => { , success: (resp) => {
ctrl.onRemove(params, resp); ctrlSndngDtl.onRemove(params, resp);
} }
}); });
} }
// 정보 새로고침 return ctrlSndngDtl;
ctrlSndngDtl.refresh = () => { }
let ctrlMain = pageObject[mainPageName].ctrlMain;
let crdnId = ctrlMain.getValue("CRDN_ID"); // 단속 ID
// 단속 ID 가 없다면.. return function newSprt02040ControlSV(pageName, doctx="[data-doctx='sprt02040']", mainPageName="sprt02010") {
if (!crdnId) return; let ctrlSvbtc = new DatasetControl({
doctx: doctx
, prefix: "svbtc"
, prefixName: "공시송달"
, dataGetter: obj => obj["svbtcDtls"]
, keys: ["SNDNG_DTL_ID"]
, appendData: true
, infoSize: "md"
, urls: {
load: "/list.do"
, getInfo: "/info.do"
}
, formats: {
SNDNG_YMD: dateFormat
, SVBTC_YMD: dateFormat
, REG_DT: datetimeFormat
}
});
let params = { /**************************************************************************
callPurpose: "refresh" * DatasetControl Events
, sggCd: ctrlMain.getValue("SGG_CD") **************************************************************************/
, taskSeCd: ctrlMain.getValue("TASK_SE_CD") // Dataset 변경 이벤트
, crdnId: ctrlMain.getValue("CRDN_ID") ctrlSvbtc.onDatasetChange = (obj, option) => {
, delYn: "N" // 데이터 셋
}; let dataList = ctrlSvbtc.dataset;
let empty = dataList.empty;
ajax.get({ let replacer = (str, dataItem) => str
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/040/info.do") .replace(/{onclick}/gi, "pageObject['" + pageName + "'].ctrlSvbtc.setCurrent('{data-index}');")
, headers: { Accept: "application/json; charset=utf-8" } // json
, data: params || {}
, success: (resp) => {
// 초기화
ctrlSndngDtl.find("[name='frmEditSndngDtl']").reset(); // 화면 초기화
ctrlSndngDtl.dataset.clear(); // Dataset 초기화
// sprt02010-main 단속 정보 let trs = empty ?
ctrlMain.setData([resp.totalInfo]); [ctrlSvbtc.find("[name='tmpltNotFoundSvbtc']").innerHTML]
: dataList.inStrings(ctrlSvbtc.find("[name='tmpltSvbtcRows']").innerHTML, replacer);
// 발송 이력 정보 // dataTables(그리드)에 자료 표시 td
ctrlSndngDtl.setData(resp.sndngDtls); $(ctrlSvbtc.find("[name='tbodySvbtcList']")).html(trs.join());
} };
});
}
return ctrlSndngDtl; // 현재 선택 자료 변경 이벤트
ctrlSvbtc.onCurrentChange = (item) => {
Apply.fromDataset.currentRow(ctrlSvbtc.dataset, item, ctrlSvbtc.find("[name='tbodySvbtcList']"));
};
return ctrlSvbtc;
} }

Loading…
Cancel
Save