전자우편발송 수정.
parent
dee17927e6
commit
11eb145dab
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,158 @@
|
|||||||
|
function newEpst02030Script(pageName, doctx="[data-doctx='epst02030']") {
|
||||||
|
let ctrl = new DatasetControl({
|
||||||
|
doctx: doctx
|
||||||
|
, prefix: "epostRcptReg"
|
||||||
|
, prefixName: "우편발송"
|
||||||
|
, dataGetter: obj => obj["List"]
|
||||||
|
, keys: ["CON_KEY"]
|
||||||
|
, appendData: true
|
||||||
|
, infoSize: "xxl"
|
||||||
|
, urls: {
|
||||||
|
load: "/list.do"
|
||||||
|
, getInfo: "/info.do"
|
||||||
|
, remove: "/remove.do"
|
||||||
|
}
|
||||||
|
, formats: {
|
||||||
|
SEND_DATE: dateFormat
|
||||||
|
, RCEPT_YMD: dateFormat
|
||||||
|
, RECEV_CNT: 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;
|
||||||
|
|
||||||
|
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']").innerHTML]
|
||||||
|
: dataList.inStrings(ctrl.find("[name='tmpltRows']").innerHTML, 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);
|
||||||
|
|
||||||
|
// 보안모드
|
||||||
|
fn_securityModeToggle($("#securityMode--top").is(":checked"));
|
||||||
|
};
|
||||||
|
|
||||||
|
// 현재 선택 자료 변경 이벤트
|
||||||
|
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);
|
||||||
|
// gridButton
|
||||||
|
Apply.fromDataset.gridButton(ctrl.dataset, ctrl.find("[name='btnRemove']"), 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: params.btnTitle
|
||||||
|
, size: ctrl.infoSize
|
||||||
|
, content: resp
|
||||||
|
, init: () => {
|
||||||
|
$("#" + dialogId).attr("name", dialogName);
|
||||||
|
$("#" + dialogId).attr("data-ref-doctx", pageName);
|
||||||
|
|
||||||
|
AppSupport.setDialogZindex();
|
||||||
|
}
|
||||||
|
, onClose: () => { }
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 삭제 callback
|
||||||
|
ctrl.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) { ctrl.reload({ all: true }); } // 자료 재조회
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 삭제
|
||||||
|
ctrl.remove = (params) => {
|
||||||
|
if (!params) return;
|
||||||
|
|
||||||
|
ajax.post({
|
||||||
|
url: ctrl.urls.remove
|
||||||
|
, data: params || {}
|
||||||
|
, success: (resp) => { ctrl.onRemove(params, resp); }
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 저장 callback
|
||||||
|
ctrl.onSave = (params, resp) => {
|
||||||
|
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, params.btnTitle);
|
||||||
|
|
||||||
|
// 메시지 출력
|
||||||
|
dialog.alert({
|
||||||
|
content: showMessage
|
||||||
|
, init: () => { AppSupport.setDialogZindex(); }
|
||||||
|
, onOK: () => { }
|
||||||
|
, onClose: () => {
|
||||||
|
if (resp.saved) { ctrl.reload({ all: true }); } // 자료 재조회
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 저장
|
||||||
|
ctrl.save = (params) => {
|
||||||
|
if (!params) return;
|
||||||
|
|
||||||
|
ajax.post({
|
||||||
|
url: ctrl.urls.update
|
||||||
|
, data: params || {}
|
||||||
|
, success: (resp) => { ctrl.onSave(params, resp); }
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
return ctrl;
|
||||||
|
}
|
@ -0,0 +1,67 @@
|
|||||||
|
function newEpst02040Script(pageName, doctx="[data-doctx='epst02040']") {
|
||||||
|
let ctrl = new DatasetControl({
|
||||||
|
doctx: doctx
|
||||||
|
, prefix: "epostRcptRegDtl"
|
||||||
|
, prefixName: "우편발송 상세"
|
||||||
|
, dataGetter: obj => obj["List"]
|
||||||
|
, keys: ["RGST_NMBR"]
|
||||||
|
, appendData: true
|
||||||
|
, infoSize: "xl"
|
||||||
|
, urls: {
|
||||||
|
load: "/list.do"
|
||||||
|
}
|
||||||
|
, formats: {
|
||||||
|
DELIV_YMD_TM: datetimeFormat
|
||||||
|
, REG_DT: datetimeFormat
|
||||||
|
, MDFCN_DT: datetimeFormat
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// 검색 조건
|
||||||
|
ctrl.query = { pageNum: 1, fetchSize: DEFAULT_FETCH_SIZE }; // 1 페이지당 자료 건수 index.jsp에서 확인
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
* DatasetControl Events
|
||||||
|
**************************************************************************/
|
||||||
|
ctrl.onDatasetChange = (obj, option) => {
|
||||||
|
// 데이터 셋
|
||||||
|
let dataList = ctrl.dataset;
|
||||||
|
let empty = dataList.empty;
|
||||||
|
|
||||||
|
let replacer = (str, dataItem) => str
|
||||||
|
.replace(/{onclick}/gi, "pageObject['" + pageName + "'].dataTableClick('{data-index}');");
|
||||||
|
|
||||||
|
let trs = empty ?
|
||||||
|
[ctrl.find("[name='tmpltNotFound']").innerHTML]
|
||||||
|
: dataList.inStrings(ctrl.find("[name='tmpltRows']").innerHTML, 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);
|
||||||
|
|
||||||
|
// dataTables(그리드)에 페이지 표시 pagingInfo
|
||||||
|
pageObject[pageName].pagingSupport.setPagingInfo(obj);
|
||||||
|
|
||||||
|
// 보안모드
|
||||||
|
fn_securityModeToggle($("#securityMode--top").is(":checked"));
|
||||||
|
};
|
||||||
|
|
||||||
|
// 현재 선택 자료 변경 이벤트
|
||||||
|
ctrl.onCurrentChange = (item) => {
|
||||||
|
Apply.fromDataset.currentRow(ctrl.dataset, item, ctrl.find("[name='tbodyList']"));
|
||||||
|
|
||||||
|
if (!item) return;
|
||||||
|
|
||||||
|
// 화면에 단속 Dataset 셋팅
|
||||||
|
let formFields = new FimsFormFields(ctrl.selector("[name='frmEdit']"));
|
||||||
|
formFields.set(ctrl, item);
|
||||||
|
};
|
||||||
|
|
||||||
|
return ctrl;
|
||||||
|
}
|
Loading…
Reference in New Issue