1. 부과제외 관리 수정.

2. 단속재등록 관리 수정.
main
jjh 10 months ago
parent 2edebc6ddc
commit d193b0e8dc

@ -13,14 +13,14 @@
<div> <div>
<!-- 상단 버튼 --> <!-- 상단 버튼 -->
<div class="container-page-btn"> <div class="container-page-btn">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화" onclick="fnResetAndChangeBiz${pageName}();"> <button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
초기화 초기화
</button> </button>
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색" onclick="fnSearchList${pageName}();"> <button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">
검색 검색
</button> </button>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀" onclick="fnExcel${pageName}();"> <button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
엑셀 엑셀
</button> </button>
</span> </span>
@ -61,23 +61,6 @@
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span> </span>
</div> </div>
<!-- <div class="col-1 text-end"> -->
<%-- <select class="form-select text-end" id="schDateOpt--${pageName}" name="schDateOpt"> --%>
<!-- <option value="levyExclYmd">부과제외일자</option> -->
<!-- <option value="crdnYmd">단속일자</option> -->
<!-- </select> -->
<!-- </div> -->
<!-- <div class="col-5"> -->
<!-- <span class="form-search-linebox"> -->
<%-- <input type="text" class="form-control form-date" id="schDateFrom--${pageName}" name="schDateFrom" --%>
<!-- data-fmt-type="day" title="시작 날짜 선택" /> -->
<!-- <button type="button" class="bx bx-sm bx-calendar bg-white"></button> -->
<!-- ~ -->
<%-- <input type="text" class="form-control form-date" id="schDateTo--${pageName}" name="schDateTo" --%>
<!-- data-fmt-type="day" title="종료 날짜 선택" /> -->
<!-- <button type="button" class="bx bx-sm bx-calendar bg-white"></button> -->
<!-- </span> -->
<!-- </div> -->
<!-- 부과제외구분 --> <!-- 부과제외구분 -->
<div class="col-6"> <div class="col-6">
<label class="form-label fw-bold form-search-title text-end">부과제외구분</label> <label class="form-label fw-bold form-search-title text-end">부과제외구분</label>
@ -175,10 +158,10 @@
</div> </div>
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<!-- 업무 버튼 --> <!-- 업무 버튼 -->
<button type="button" class="btn btn-primary w-px-120" id="btnUpdate--${pageName}" title="부과제외 수정" onclick="fnUpdate${pageName}();"> <button type="button" class="btn btn-primary w-px-120" id="btnUpdate--${pageName}" title="부과제외 수정">
수정 수정
</button> </button>
<button type="button" class="btn btn-primary w-px-120" id="btnRemove--${pageName}" title="부과제외 삭제" onclick="fnRemove${pageName}();"> <button type="button" class="btn btn-primary w-px-120" id="btnRemove--${pageName}" title="부과제외 삭제">
삭제 삭제
</button> </button>
</span> </span>
@ -201,7 +184,7 @@
<template id="${infoPrefix}Col--${pageName}"> <template id="${infoPrefix}Col--${pageName}">
<th class="cmn" style="width: 72px;">NO.</th> <th class="cmn" style="width: 72px;">NO.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" onchange="${pageName}Control.select(this.checked);"></th> <th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" onchange="pageObject['${pageName}'].control.select(this.checked);" />
<th class="cmn" style="width: 160px;">업무구분</th> <th class="cmn" style="width: 160px;">업무구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('LEVY_EXCL_YMD', this.innerText, 'ymd', '');">부과제외일자</th> <th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('LEVY_EXCL_YMD', this.innerText, 'ymd', '');">부과제외일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('LEVY_EXCL_SE_CD', this.innerText, 'codeValue', 'FIM021');">부과제외구분</th> <th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('LEVY_EXCL_SE_CD', this.innerText, 'codeValue', 'FIM021');">부과제외구분</th>
@ -236,7 +219,9 @@
<template id="${infoPrefix}Row--${pageName}"> <template id="${infoPrefix}Row--${pageName}">
<tr data-key="{LEVY_EXCL_ID}"> <tr data-key="{LEVY_EXCL_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" value="{LEVY_EXCL_ID}" onchange="${pageName}Control.select('{LEVY_EXCL_ID}', this.checked);"></td> <td class="cmn text-center">
<input type="checkbox" class="form-check-input" value="{LEVY_EXCL_ID}" onchange="pageObject['${pageName}'].control.select('{LEVY_EXCL_ID}', this.checked);" />
</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_EXCL_YMD}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_EXCL_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_EXCL_SE_NM}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_EXCL_SE_NM}</td>
@ -295,8 +280,7 @@
</div> <!-- <div class="wrapper-list"> --> </div> <!-- <div class="wrapper-list"> -->
</div> <!-- <div class="card"> --> </div> <!-- <div class="card"> -->
</div> <!-- <div class="container-xxl flex-grow-1 px-0"> --> </div> <!-- <div class="container-xxl flex-grow-1 px-0"> -->
<!-- Content -->
<div class="content-backdrop fade"></div> <div class="content-backdrop fade"></div>
</div> </div>
@ -306,27 +290,31 @@
/************************************************************************** /**************************************************************************
* Global Variable * Global Variable
**************************************************************************/ **************************************************************************/
pageObject["${pageName}"] = {};
$(document).ready(function() {
// pageObject
var $P = pageObject["${pageName}"];
// URL // URL
var ${pageName}PrefixUrl = "/excl/excl01"; $P.PrefixUrl = "/excl/excl01";
// FormFields // FormFields
var ${pageName}Fields = new FimsFormFields("#frmSearch--${pageName}"); $P.formFields = new FimsFormFields("#frmSearch--${pageName}");
/************************************************************************** /**************************************************************************
* DatasetControl * DatasetControl
**************************************************************************/ **************************************************************************/
var ${pageName}Control = new DatasetControl({ $P.control = new DatasetControl({
prefix : "levyExcl" prefix : "levyExcl"
, prefixName : "부과제외" , prefixName : "부과제외"
, infoSize : "md" , infoSize : "md"
, keymapper : info => info ? info.LEVY_EXCL_ID : "" , keymapper : info => info ? info.LEVY_EXCL_ID : ""
, dataGetter : obj => obj.levyExclList , dataGetter : obj => obj.levyExclList
, appendData : true , appendData : true
, untilPageNum : 0 // 현재 페이지 번호
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, urls : { , urls : {
load : wctx.url("/" + ${pageName}PrefixUrl + "/010/list.do") // 조회 load : wctx.url("/" + $P.PrefixUrl + "/010/list.do") // 조회
, remove : wctx.url("/" + ${pageName}PrefixUrl + "/010/remove.do") // 삭제 , remove : wctx.url("/" + $P.PrefixUrl + "/010/remove.do") // 삭제
, getInfo : wctx.url("/" + ${pageName}PrefixUrl + "/020/info.do") // 수정 , getInfo : wctx.url("/" + $P.PrefixUrl + "/020/info.do") // 수정
} }
, formats : { , formats : {
LEVY_EXCL_YMD : dateFormat LEVY_EXCL_YMD : dateFormat
@ -337,28 +325,33 @@
, MDFCN_DT : datetimeFormat , MDFCN_DT : datetimeFormat
} }
}); });
// $P.control 설정
$P.control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30
$P.control.untilPageNum = 0; // 현재 페이지 번호
$P.control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 여부
$P.control.beforeCurrent = null;
/************************************************************************** /**************************************************************************
* DatasetControl 이벤트 * DatasetControl 이벤트
**************************************************************************/ **************************************************************************/
// Dataset 변경 이벤트 // Dataset 변경 이벤트
${pageName}Control.onDatasetChange = obj => { $P.control.onDatasetChange = obj => {
renderList${pageName}(obj.${infoPrefix}Total); $P.renderList(obj.${infoPrefix}Total);
$("#paging--${pageName}").setPagingInfo({ $("#paging--${pageName}").setPagingInfo({
list : ${pageName}Control.dataset list : $P.control.dataset
, prefix : "paging--${pageName}" , prefix : "paging--${pageName}"
, start : obj.${infoPrefix}Start , start : obj.${infoPrefix}Start
, totalSize : obj.${infoPrefix}Total , totalSize : obj.${infoPrefix}Total
, fetchSize : obj.${infoPrefix}Fetch , fetchSize : obj.${infoPrefix}Fetch
, func : "${pageName}Control.load({index})" , func : "$P.control.load({index})"
}); });
${pageName}Control.tableRenderComplete = true; // dataTables 에 자료 추가 완료 $P.control.tableRenderComplete = true; // dataTables 에 자료 추가 완료
}; };
// 현재 선택 자료 변경 이벤트 // 현재 선택 자료 변경 이벤트
${pageName}Control.onCurrentChange = item => { $P.control.onCurrentChange = item => {
if (!item) return; if (!item) return;
let key = item.data.LEVY_EXCL_ID; let key = item.data.LEVY_EXCL_ID;
@ -367,8 +360,8 @@
}; };
// 선택(체크) 변경 이벤트 // 선택(체크) 변경 이벤트
${pageName}Control.onSelectionChange = selected => { $P.control.onSelectionChange = selected => {
let ${infoPrefix}List = ${pageName}Control.dataset; let ${infoPrefix}List = $P.control.dataset;
let keys = selected.map(e => ${infoPrefix}List.getKey(e)); let keys = selected.map(e => ${infoPrefix}List.getKey(e));
$("#tbody--${pageName} input[type='checkbox']").each(function() { $("#tbody--${pageName} input[type='checkbox']").each(function() {
@ -381,55 +374,55 @@
}; };
// 수정 dialog // 수정 dialog
${pageName}Control.getInfo = (params) => { $P.control.getInfo = (params) => {
if (!params) return; if (!params) return;
let dialogTitle = ""; let dialogTitle = "";
if (params.callPurpose == "create") { if (params.callPurpose == "create") {
dialogTitle = ${pageName}Control.prefixName + " 등록"; dialogTitle = $P.control.prefixName + " 등록";
} else if (params.callPurpose == "update") { } else if (params.callPurpose == "update") {
dialogTitle = ${pageName}Control.prefixName + " 수정"; dialogTitle = $P.control.prefixName + " 수정";
} else { } else {
dialogTitle = ${pageName}Control.prefixName + " 정보"; dialogTitle = $P.control.prefixName + " 정보";
} }
ajax.get({ ajax.get({
url : ${pageName}Control.urls.getInfo + "?openerPageName=${pageName}" url : $P.control.urls.getInfo + "?openerPageName=${pageName}"
, data : params || {} , data : params || {}
, success : resp => { , success : resp => {
dialog.open({ dialog.open({
id : ${pageName}Control.prefixed("Dialog") id : $P.control.prefixed("Dialog")
, title : dialogTitle , title : dialogTitle
, content : resp , content : resp
, size : ${pageName}Control.infoSize , size : $P.control.infoSize
, init : () => { } , init : () => { }
, onClose : () => { refreshList${pageName}(); } // 자료 재조회 , onClose : () => { $P.refreshList(); } // 자료 재조회
}); });
} }
}); });
} }
// 삭제 callback // 삭제 callback
${pageName}Control.onRemove = (resp) => { $P.control.onRemove = (resp) => {
let btnTitle = $("#btnRemove--${pageName}").attr("title"); let btnTitle = $("#btnRemove--${pageName}").attr("title");
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle); let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
dialog.alert(showMessage); // 메시지 출력 dialog.alert(showMessage); // 메시지 출력
if (resp.saved) { if (resp.saved) {
refreshList${pageName}(); // 자료 재조회 $P.refreshList(); // 자료 재조회
} }
} }
// 삭제 // 삭제
${pageName}Control.remove = (params) => { $P.control.remove = (params) => {
if (!params) return; if (!params) return;
ajax.post({ ajax.post({
url : ${pageName}Control.urls.remove url : $P.control.urls.remove
, data : params , data : params
, success : resp => ${pageName}Control.onRemove(resp) , success : resp => $P.control.onRemove(resp)
}); });
} }
@ -437,8 +430,8 @@
* DataTables 이벤트 * DataTables 이벤트
**************************************************************************/ **************************************************************************/
// DataTables에 click, dbclick 이벤트 // DataTables에 click, dbclick 이벤트
renderList${pageName} = (totalSize) => { $P.renderList = (totalSize) => {
let ${infoPrefix}List = ${pageName}Control.dataset; let ${infoPrefix}List = $P.control.dataset;
let empty = ${infoPrefix}List.empty; let empty = ${infoPrefix}List.empty;
let clsForTask = $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val().toLowerCase(); // 소문자 let clsForTask = $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val().toLowerCase(); // 소문자
@ -453,21 +446,21 @@
// //
let replacer = (str, dataItem) => str let replacer = (str, dataItem) => str
.replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("LEVY_EXCL_ID") + "');") .replace(/{onclick}/gi, "pageObject['${pageName}'].control.setCurrent('" + dataItem.getValue("LEVY_EXCL_ID") + "');")
.replace(/{ondblclick}/gi, "getTotalInfo${pageName}('" + dataItem.getValue("CRDN_ID") + "');"); .replace(/{ondblclick}/gi, "pageObject['${pageName}'].getTotalInfo('" + dataItem.getValue("CRDN_ID") + "');");
let trs = empty ? [document.getElementById("${infoPrefix}NotFound--${pageName}").content.querySelector("." + clsForTask + ",.cmn").outerHTML] let trs = empty ? [document.getElementById("${infoPrefix}NotFound--${pageName}").content.querySelector("." + clsForTask + ",.cmn").outerHTML]
: ${infoPrefix}List.inStrings(foundTr.outerHTML, replacer); : ${infoPrefix}List.inStrings(foundTr.outerHTML, replacer);
let noMore = (totalSize == ${infoPrefix}List.length); let noMore = (totalSize == ${infoPrefix}List.length);
let initScroll = (${pageName}Control.query.pageNum < 2) && (${pageName}Control.untilPageNum == 0); let initScroll = ($P.control.query.pageNum < 2) && ($P.control.untilPageNum == 0);
$("#table-responsive--${pageName}")[0].changeContent(trs.join(), initScroll, noMore); $("#table-responsive--${pageName}")[0].changeContent(trs.join(), initScroll, noMore);
if (${pageName}Control.untilPageNum != 0) { if ($P.control.untilPageNum != 0) {
${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize; $P.control.query.fetchSize = $P.control.defaultFetchSize;
${pageName}Control.query.pageNum = ${pageName}Control.untilPageNum; $P.control.query.pageNum = $P.control.untilPageNum;
${pageName}Control.untilPageNum = 0; $P.control.untilPageNum = 0;
} }
// checkbox 체크 해제 // checkbox 체크 해제
@ -478,25 +471,25 @@
} }
// DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트 // DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트
scrollDataList${pageName} = () => { $P.scrollDataList = () => {
${pageName}Control.tableRenderComplete = false; // dataTables 에 자료 추가 false $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 false
${pageName}Control.load(${pageName}Control.query.pageNum + 1); $P.control.load($P.control.query.pageNum + 1);
} }
/************************************************************************** /**************************************************************************
* 사용자 함수(function) * 사용자 함수(function)
**************************************************************************/ **************************************************************************/
// callback 사용자 검색 // callback 사용자 검색
callbackFindUser${pageName} = (userId, userNm) => { $P.callbackFindUser = (userId, userNm) => {
$("#schRgtrCd--${pageName}").val(userId); // 사용자 ID $("#schRgtrCd--${pageName}").val(userId); // 사용자 ID
$("#schRgtrNm--${pageName}").val(userNm); // 사용자 명 $("#schRgtrNm--${pageName}").val(userNm); // 사용자 명
} }
// 사용자 검색 // 사용자 검색
getFindUser${pageName} = () => { $P.getFindUser = () => {
let params = { let params = {
callbackFuncName : "callbackFindUser${pageName}" callbackFuncName : "$P.callbackFindUser"
} }
ajax.get({ ajax.get({
@ -514,18 +507,18 @@
} }
// 개별총정보 dialog // 개별총정보 dialog
getTotalInfo${pageName} = (crdnId) => { $P.getTotalInfo = (crdnId) => {
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let params = { let params = {
callControlName : "${pageName}Control" callControlName : "pageObject['${pageName}'].control"
, sggCd : $("#sggCd--${pageName}").val() , sggCd : $("#sggCd--${pageName}").val()
, taskSeCd : $("input[name=taskSeCd]:checked").val() , taskSeCd : $("input[name=taskSeCd]:checked").val()
, crdnId : crdnId , crdnId : crdnId
} }
ajax.get({ ajax.get({
url : wctx.url(params.taskSeCd + "/sprt/sprt02/010/main.do") url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/010/main.do")
, data : params , data : params
, success : resp => { , success : resp => {
dialog.open({ dialog.open({
@ -540,62 +533,62 @@
}); });
} }
// 검색 자료 재조회
$P.refreshList = () => {
$P.control.untilPageNum = $P.control.query.pageNum;
$P.control.query.fetchSize = $P.control.defaultFetchSize * $P.control.query.pageNum;
$P.control.load(1);
}
// 삭제 callback // 삭제 callback
callbackRemove${pageName} = (obj) => { $P.callbackRemove = (obj) => {
let selected = ${pageName}Control.dataset.getKeys("selected"); let selected = $P.control.dataset.getKeys("selected");
if (selected.length < 1) return; if (selected.length < 1) return;
// 서버에 전송할 data(파라미터) 생성 // 서버에 전송할 data(파라미터) 생성
let params = {}; let params = {};
params[${pageName}Control.prefixed("IDs")] = selected.join(","); // IDs params[$P.control.prefixed("IDs")] = selected.join(","); // IDs
params.delRsn = obj.reason; // 삭제 사유 params.delRsn = obj.reason; // 삭제 사유
${pageName}Control.remove(params); $P.control.remove(params);
}
// 검색 자료 재조회
refreshList${pageName} = () => {
${pageName}Control.untilPageNum = ${pageName}Control.query.pageNum;
${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize * ${pageName}Control.query.pageNum;
${pageName}Control.load(1);
} }
/************************************************************************** /**************************************************************************
* 버튼 clickEvent * 버튼 clickEvent
**************************************************************************/ **************************************************************************/
// 업무 구분 변경 // 업무 구분 변경
fnResetAndChangeBiz${pageName} = (taskSeCd) => { $P.fnResetAndChangeBiz = (taskSeCd) => {
// 업무 구분 코드 // 업무 구분 코드
if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") { if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") {
taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val(); taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val();
} }
// 초기 기본 설정 // 초기 기본 설정
initForm${pageName}(); $P.initForm();
// 기본 데이터 설정 // 기본 데이터 설정
initData${pageName}(taskSeCd); $P.initData(taskSeCd);
// 업무 구분별 설정
$P.setTask(taskSeCd);
// dataset 초기화 // dataset 초기화
${pageName}Control.dataset.clear(); $P.control.dataset.clear();
} }
// 검색 버튼 이벤트 // 검색 버튼 이벤트
fnSearchList${pageName} = () => { $P.fnSearchList = () => {
// 검색조건 // 검색조건
${pageName}Control.query = ${pageName}Fields.get(); $P.control.query = $P.formFields.get();
$P.control.query.fetchSize = $P.control.defaultFetchSize; // 한번에 조회되는 자료 건수
${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize; // 한번에 조회되는 자료 건수 $P.control.query.delYN = "N"; // 삭제 여부
${pageName}Control.query.delYN = "N"; // 삭제 여부
${pageName}Control.load(1); $P.control.load(1);
} }
// 엑셀 버튼 이벤트 // 엑셀 버튼 이벤트
fnExcel${pageName} = () => { $P.fnExcel = () => {
if (${pageName}Control.dataset.empty) { if ($P.control.dataset.empty) {
dialog.alert({ dialog.alert({
content : "검색된 자료가 없습니다." content : "검색된 자료가 없습니다."
, onOK : () => { } , onOK : () => { }
@ -607,58 +600,58 @@
// DataTables(그리드) // DataTables(그리드)
let cellDefs = getCellDefs($("#theadTr--${pageName} th").not(".dummy-th").not(":eq(0)") let cellDefs = getCellDefs($("#theadTr--${pageName} th").not(".dummy-th").not(":eq(0)")
, $($("#${infoPrefix}Row--${pageName}")[0].content).find("td").not(".dummy-td").not(":eq(0)")); , $($("#${infoPrefix}Row--${pageName}")[0].content).find("td").not(".dummy-td").not(":eq(0)"));
${pageName}Control.query.cellDefs = cellDefs; $P.control.query.cellDefs = cellDefs;
${pageName}Control.download(); $P.control.download();
} }
// 사용자 조회 버튼 이벤트 // 사용자 조회 버튼 이벤트
fnFindUser${pageName} = () => { $P.fnFindUser = () => {
getFindUser${pageName}(); $P.getFindUser();
} }
// 수정 버튼 이벤트 // 수정 버튼 이벤트
fnUpdate${pageName} = () => { $P.fnUpdate = () => {
let levyExclId = ${pageName}Control.dataset.getValue("LEVY_EXCL_ID"); let levyExclId = $P.control.dataset.getValue("LEVY_EXCL_ID");
let levyExclSeCd = ${pageName}Control.dataset.getValue("LEVY_EXCL_SE_CD"); let levyExclSeCd = $P.control.dataset.getValue("LEVY_EXCL_SE_CD");
// 부과제외 ID 가 없다면.. return // 부과제외 ID 가 없다면.. return
if (typeof levyExclId == "undefined" || levyExclId == null || levyExclId == "") return; if (typeof levyExclId == "undefined" || levyExclId == null || levyExclId == "") return;
let params = { let params = {
callPurpose : "update" callPurpose : "update"
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드 , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, levyExclId : levyExclId // 부과제외 ID , levyExclId : levyExclId // 부과제외 ID
, levyExclSeCd : levyExclSeCd , levyExclSeCd : levyExclSeCd // 부과제외 구분 코드
}; };
${pageName}Control.getInfo(params); $P.control.getInfo(params);
} }
// 삭제 버튼 이벤트 // 삭제 버튼 이벤트
fnRemove${pageName} = () => { $P.fnRemove = () => {
// 선택 자료 // 선택 자료
let selected = ${pageName}Control.dataset.getKeys("selected"); let selected = $P.control.dataset.getKeys("selected");
if (selected.length < 1) return; if (selected.length < 1) return;
// 삭제 메세지 확인 // 삭제 메세지 확인
dialog.alert({ dialog.alert({
content : "선택하신 " + selected.length + "건의 " + ${pageName}Control.prefixName + " 정보를 삭제하시겠습니까?" content : "선택하신 " + selected.length + "건의 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?"
, onOK : () => { , onOK : () => {
// 삭제 사유 입력 // 삭제 사유 입력
let callbackFuncName = "callbackRemove${pageName}";
let popupWidth = 640; let popupWidth = 640;
let popupHeight = 240; let popupHeight = 240;
let popupX = (window.screen.width / 2) - (popupWidth / 2); let popupX = (window.screen.width / 2) - (popupWidth / 2);
let popupY= (window.screen.height / 2) - (popupHeight / 2); let popupY= (window.screen.height / 2) - (popupHeight / 2);
window.open( window.open(
wctx.url("/resources/html/inputRsnDialog.html" encodeURI(wctx.url("/resources/html/inputRsnDialog.html"
+ "?callbackFuncName=" + callbackFuncName + "?openerPageName=${pageName}"
+ "&USE_PURPOSE=" + "삭제" + "&usePurpose=" + "remove"
) + "&ttlNm=" + "삭제"
))
, "inputDelRsnDialog" , "inputDelRsnDialog"
, 'status=no, height=' + popupHeight + ', width=' + popupWidth + ', left='+ popupX + ', top='+ popupY , 'status=no, height=' + popupHeight + ', width=' + popupWidth + ', left='+ popupX + ', top='+ popupY
); );
@ -669,15 +662,19 @@
/************************************************************************** /**************************************************************************
* 초기 설정 * 초기 설정
**************************************************************************/ **************************************************************************/
// 이벤트 // 이벤트 설정
setEvent${pageName} = () => { $P.setEvent = () => {
// 기본 버튼 이벤트
$("#btnReset--${pageName}").on("click", () => $P.fnResetAndChangeBiz()); // 초기화
$("#btnSearch--${pageName}").on("click", () => $P.fnSearchList()); // 검색
$("#btnExcel--${pageName}").on("click", () => $P.fnExcel()); // 엑셀
$("#btnFindUser--${pageName}").on("click", () => $P.fnFindUser()); // 사용자 검색
// 동적검색에서 엔터(Enter) 키를 누르면 검색한다. // 동적검색에서 엔터(Enter) 키를 누르면 검색한다.
$("#term--${pageName}").keypress(function(e) { $("#term--${pageName}").keypress(function(e) {
if (e.keyCode == 13) { if (e.keyCode == 13) {
fnSearchList${pageName}();    fnSearchList${pageName}();   
}     }    
}); });
// form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용 // form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
$("#frmSearch--${pageName}").find(".form-date").each(function() { $("#frmSearch--${pageName}").find(".form-date").each(function() {
$(this).on("input", function() { $(this).on("input", function() {
@ -691,15 +688,19 @@
}); });
}); });
// 업무 버튼 이벤트
$("#btnUpdate--${pageName}").on("click", () => $P.fnUpdate()); // 부과제외 수정
$("#btnRemove--${pageName}").on("click", () => $P.fnRemove()); // 부과제외 삭제
// DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고 // DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} ); $("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
// DataTables 스크롤 이벤트 생성 // DataTables 스크롤 이벤트 생성
fnMakeScrollableTable($("#table-responsive--${pageName}")[0], scrollDataList${pageName}); fnMakeScrollableTable($("#table-responsive--${pageName}")[0], $P.scrollDataList);
} }
// 화면 초기 설정 // 초기 화면 설정
initForm${pageName} = () => { $P.initForm = () => {
// 화면 초기화 // 화면 초기화
$("#frmSearch--${pageName}")[0].reset(); $("#frmSearch--${pageName}")[0].reset();
@ -729,10 +730,7 @@
} }
// 기본 데이터 설정 // 기본 데이터 설정
initData${pageName} = (taskSeCd) => { $P.initData = (taskSeCd) => {
// ${pageName}Control 설정
${pageName}Control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30
// 시군구 코드 // 시군구 코드
$("#sggCd--${pageName}").val("${sggCd}"); $("#sggCd--${pageName}").val("${sggCd}");
// 업무 구분 코드 // 업무 구분 코드
@ -740,13 +738,10 @@
// 일자 // 일자
$("#schLevyExclYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-7).date); $("#schLevyExclYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-7).date);
$("#schLevyExclYmdTo--${pageName}").datepicker("setDate", new Date()); $("#schLevyExclYmdTo--${pageName}").datepicker("setDate", new Date());
// 업무 구분별 설정
setTask${pageName}(taskSeCd);
} }
// 업무 구분별 설정 // 업무 구분별 설정
setTask${pageName} = (taskSeCd) => { $P.setTask = (taskSeCd) => {
let clsForTask = taskSeCd.toLowerCase(); let clsForTask = taskSeCd.toLowerCase();
// 업무별 조회조건 // 업무별 조회조건
@ -767,28 +762,27 @@
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} ); $("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
// URL 설정 // URL 설정
setURL${pageName}(taskSeCd); $P.setURL(taskSeCd);
} }
// URL 설정 // 업무구분에 따른 URL 설정
setURL${pageName} = (taskSeCd) => { $P.setURL = (taskSeCd) => {
${pageName}Control.urls.load = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/010/list.do"); // 조회 $P.control.urls.load = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/010/list.do"); // 조회
${pageName}Control.urls.remove = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/010/remove.do"); // 삭제 $P.control.urls.remove = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/010/remove.do"); // 삭제
${pageName}Control.urls.getInfo = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/020/info.do"); // 수정 $P.control.urls.getInfo = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/020/info.do"); // 수정
} }
/************************************************************************** /**************************************************************************
* script 진입 * 최초 실행 함수
**************************************************************************/ **************************************************************************/
$(document).ready(function() { // 1. 이벤트 설정
// 이벤트 설정 $P.setEvent();
setEvent${pageName}();
// 보안모드 // 2. 화면 초기 설정 및 업무 구분 변경
fn_securityModeToggle($("#securityMode--top").is(":checked")); $P.fnResetAndChangeBiz($("#layout-navbar input[name='taskSeCd']:checked").val());
// 화면 초기 설정 및 업무 구분 변경 // 3. 보안모드
fnResetAndChangeBiz${pageName}($("#layout-navbar input[name='taskSeCd']:checked").val()); fn_securityModeToggle($("#securityMode--top").is(":checked"));
}); });
</script> </script>

@ -65,7 +65,7 @@
<span class="container-page-btn"> <span class="container-page-btn">
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<!-- 업무 버튼 --> <!-- 업무 버튼 -->
<button type="button" class="btn btn-primary w-px-80" id="btnSave--${pageName}" title="저장" onclick="fnSave${pageName}()"> <button type="button" class="btn btn-primary w-px-80" id="btnSave--${pageName}" title="저장">
저장 저장
</button> </button>
</span> </span>
@ -80,41 +80,54 @@
/************************************************************************** /**************************************************************************
* Global Variable * Global Variable
**************************************************************************/ **************************************************************************/
// URL pageObject["${pageName}"] = {};
var ${pageName}PrefixUrl = "/excl/excl01";
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정) // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
var ${pageName}CallPurpose = "${callPurpose}"; var ${pageName}CallPurpose = "${callPurpose}";
// FormFields
var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}");
// 공통 코드 // 공통 코드
var FIM021 = new CommonCodes(${FIM021}, true); var FIM021 = new CommonCodes(${FIM021}, true);
var FIM022 = new CommonCodes(${FIM022}, true); var FIM022 = new CommonCodes(${FIM022}, true);
/**************************************************************************
* script 진입
**************************************************************************/
$(document).ready(function() {
// pageObject
var $P = pageObject["${pageName}"];
// URL
$P.PrefixUrl = "/excl/excl01";
// FormFields
$P.formFields = new FimsFormFields("#frmEdit--${pageName}");
/************************************************************************** /**************************************************************************
* DatasetControl * DatasetControl
**************************************************************************/ **************************************************************************/
var ${pageName}Control = new DatasetControl({ $P.control = new DatasetControl({
prefix : "levyExcl" prefix : "levyExcl"
, prefixName : "부과제외" , prefixName : "부과제외"
, keymapper : info => info ? info.LEVY_EXCL_ID : "" , keymapper : info => info ? info.LEVY_EXCL_ID : ""
, dataGetter : obj => obj.levyExclInfo , dataGetter : obj => obj.levyExclInfo
, urls : { , urls : {
create : wctx.url("/" + ${pageName}PrefixUrl + "/020/create.do") // 등록 create : wctx.url("/" + $P.PrefixUrl + "/020/create.do") // 등록
, update : wctx.url("/" + ${pageName}PrefixUrl + "/020/update.do") // 수정 , update : wctx.url("/" + $P.PrefixUrl + "/020/update.do") // 수정
} }
}); });
${pageName}Control.onCurrentChange = item => { /**************************************************************************
* DatasetControl 이벤트
**************************************************************************/
$P.control.onCurrentChange = item => {
if (!item) return; if (!item) return;
// Dataset 셋팅 // Dataset 셋팅
${pageName}Fields.set(item); $P.formFields.set(item);
// 업무구분에 따른 url 변경 // 업무구분에 따른 url 변경
setURL${pageName}(item.data.TASK_SE_CD); $P.setURL(item.data.TASK_SE_CD);
// 부과제외구분에 따른 부과제외사유 설정 // 부과제외구분에 따른 부과제외사유 설정
setFim021${pageName}(item.data.LEVY_EXCL_SE_CD, item.data.LEVY_EXCL_RSN_CD); $P.setFim021(item.data.LEVY_EXCL_SE_CD, item.data.LEVY_EXCL_RSN_CD);
// 호출용도가 등록 이라면.. // 호출용도가 등록 이라면..
if (${pageName}CallPurpose = "create") { if (${pageName}CallPurpose = "create") {
@ -126,14 +139,14 @@
* DatasetControl 이벤트 * DatasetControl 이벤트
**************************************************************************/ **************************************************************************/
// 저장 callback // 저장 callback
${pageName}Control.onSave = (resp) => { $P.control.onSave = (resp) => {
let dialogTitle = $("#" + ${pageName}Control.prefix + "Dialog").find("h5.modal-title").html(); let dialogTitle = $("#" + $P.control.prefix + "Dialog").find("h5.modal-title").html();
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle); let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
dialog.alert(showMessage); dialog.alert(showMessage);
if (resp.saved) { if (resp.saved) {
dialog.close(${pageName}Control.prefix + "Dialog"); dialog.close($P.control.prefix + "Dialog");
if ("${savedCallbackFuncName}" != "") { if ("${savedCallbackFuncName}" != "") {
${savedCallbackFuncName}(resp.saved); ${savedCallbackFuncName}(resp.saved);
@ -142,7 +155,7 @@
} }
// 저장 // 저장
${pageName}Control.save = (info) => { $P.control.save = (info) => {
if (!info) return; if (!info) return;
let create = isEmpty(info.levyExclId); let create = isEmpty(info.levyExclId);
@ -152,9 +165,9 @@
${saveCallbackFuncName}(info); ${saveCallbackFuncName}(info);
} else { } else {
ajax.post({ ajax.post({
url : !create ? ${pageName}Control.urls.update : ${pageName}Control.urls.create url : !create ? $P.control.urls.update : $P.control.urls.create
, data : info , data : info
, success : resp => ${pageName}Control.onSave(resp) , success : resp => $P.control.onSave(resp)
}); });
} }
} }
@ -163,7 +176,7 @@
* 사용자 함수 * 사용자 함수
**************************************************************************/ **************************************************************************/
// 부과제외 구분에 따른 부과제외 사유 코드 설정 // 부과제외 구분에 따른 부과제외 사유 코드 설정
setFim021${pageName} = (seCode, rsnCode) => { $P.setFim021 = (seCode, rsnCode) => {
let cmnCode = FIM021[seCode]; let cmnCode = FIM021[seCode];
$("#levyExclSeCd--${pageName}").val(cmnCode.code); $("#levyExclSeCd--${pageName}").val(cmnCode.code);
@ -181,14 +194,14 @@
* 버튼 clickEvent * 버튼 clickEvent
**************************************************************************/ **************************************************************************/
// 저장 버튼 클릭 이벤트 // 저장 버튼 클릭 이벤트
fnSave${pageName} = () => { $P.fnSave = () => {
// validate 확인 // validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
dialog.alert({ dialog.alert({
content : "현재 " + ${pageName}Control.prefixName + " 정보를 저장하시겠습니까?" content : "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?"
, onOK : () => { , onOK : () => {
${pageName}Control.save(${pageName}Fields.get()); $P.control.save($P.formFields.get());
} }
}); });
} }
@ -197,7 +210,7 @@
* 초기 셋팅 * 초기 셋팅
**************************************************************************/ **************************************************************************/
// 이벤트 설정 // 이벤트 설정
setEvent${pageName} = () => { $P.setEvent = () => {
// form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용 // form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
$("#frmEdit--${pageName}").find(".form-date").each(function() { $("#frmEdit--${pageName}").find(".form-date").each(function() {
$(this).on("input", function() { $(this).on("input", function() {
@ -210,10 +223,13 @@
} }
}); });
}); });
// 업무 버튼 이벤트
$("#btnSave--${pageName}").on("click", () => $P.fnSave()); // 저장
} }
// 기본 데이터 설정 // 초기 화면 설정
initData${pageName} = () => { $P.initForm = () => {
// 달력 초기화 // 달력 초기화
initDatepicker("frmEdit--${pageName}"); initDatepicker("frmEdit--${pageName}");
$("#levyExclYmd--${pageName}").datepicker("setDate", new Date()); $("#levyExclYmd--${pageName}").datepicker("setDate", new Date());
@ -232,24 +248,31 @@
} }
} }
// 업무구분에 따른 url 변경 // 기본 데이터 설정
setURL${pageName} = (taskSeCd) => { $P.initData = () => {
${pageName}Control.urls.create = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/020/create.do"); // 등록
${pageName}Control.urls.update = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/020/update.do"); // 수정 }
// 업무구분에 따른 URL 설정
$P.setURL = (taskSeCd) => {
$P.control.urls.create = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/020/create.do"); // 등록
$P.control.urls.update = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/020/update.do"); // 수정
} }
/************************************************************************** /**************************************************************************
* script 진입 * 최초 실행 함수
**************************************************************************/ **************************************************************************/
$(document).ready(function() { // 1. 이벤트 설정
// 이벤트 설정 $P.setEvent();
setEvent${pageName}();
// 기본 데이터 설정 // 2. 초기 화면 설정
initData${pageName}(); $P.initForm();
// 3. 기본 데이터 설정
$P.initData();
// Dataset 설정 // 4. Dataset 설정
${pageName}Control.setData([${levyExclInfo}]); $P.control.setData([${levyExclInfo}]);
}); });
</script> </script>

@ -245,8 +245,8 @@
</div> </div>
<!-- / DataTables(그리드) --> <!-- / DataTables(그리드) -->
</div> </div>
</div> <!-- / Wrapper-list --> </div> <!-- <div class="wrapper-list"> -->
</div> <!-- / Card --> </div> <!-- <div class="card"> -->
</div> </div>
<!-- / Content --> <!-- / Content -->
@ -260,17 +260,22 @@
**************************************************************************/ **************************************************************************/
pageObject["${pageName}"] = {}; pageObject["${pageName}"] = {};
/**************************************************************************
* script 진입
**************************************************************************/
$(document).ready(function() { $(document).ready(function() {
// pageObject // pageObject
var $P = pageObject["${pageName}"]; var $P = pageObject["${pageName}"];
// URL
$P.PrefixUrl = "/excl/excl03";
// FormFields // FormFields
$P.formFields = new FimsFormFields("#frmSearch--${pageName}"); $P.formFields = new FimsFormFields("#frmSearch--${pageName}");
/************************************************************************** /**************************************************************************
* DatasetControl * DatasetControl
**************************************************************************/ **************************************************************************/
$P.crdnReRegControl = new DatasetControl({ $P.control = new DatasetControl({
prefix : "crdnReReg" prefix : "crdnReReg"
, prefixName : "단속 재등록" , prefixName : "단속 재등록"
, keymapper : info => info ? info.RE_REG_ID : "" , keymapper : info => info ? info.RE_REG_ID : ""
@ -285,28 +290,33 @@
, REG_DT : datetimeFormat , REG_DT : datetimeFormat
} }
}); });
// $P.control 설정
$P.control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30
$P.control.untilPageNum = 0; // 현재 페이지 번호
$P.control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 여부
$P.control.beforeCurrent = null;
/************************************************************************** /**************************************************************************
* DatasetControl 이벤트 * DatasetControl 이벤트
**************************************************************************/ **************************************************************************/
// Dataset 변경 이벤트 // Dataset 변경 이벤트
$P.crdnReRegControl.onDatasetChange = obj => { $P.control.onDatasetChange = obj => {
$P.renderList(obj.${infoPrefix}Total); $P.renderList(obj.${infoPrefix}Total);
$("#paging--${pageName}").setPagingInfo({ $("#paging--${pageName}").setPagingInfo({
list : $P.crdnReRegControl.dataset list : $P.control.dataset
, prefix : "paging--${pageName}" , prefix : "paging--${pageName}"
, start : obj.${infoPrefix}Start , start : obj.${infoPrefix}Start
, totalSize : obj.${infoPrefix}Total , totalSize : obj.${infoPrefix}Total
, fetchSize : obj.${infoPrefix}Fetch , fetchSize : obj.${infoPrefix}Fetch
, func : "$P.crdnReRegControl.load({index})" , func : "$P.control.load({index})"
}); });
$P.crdnReRegControl.tableRenderComplete = true; // dataTables 에 자료 추가 완료 $P.control.tableRenderComplete = true; // dataTables 에 자료 추가 완료
}; };
// 현재 선택 자료 변경 이벤트 // 현재 선택 자료 변경 이벤트
$P.crdnReRegControl.onCurrentChange = item => { $P.control.onCurrentChange = item => {
if (!item) return; if (!item) return;
let key = item.data.RE_REG_ID; let key = item.data.RE_REG_ID;
@ -319,7 +329,7 @@
**************************************************************************/ **************************************************************************/
// DataTables에 click, dbclick 이벤트 // DataTables에 click, dbclick 이벤트
$P.renderList = (totalSize) => { $P.renderList = (totalSize) => {
let ${infoPrefix}List = $P.crdnReRegControl.dataset; let ${infoPrefix}List = $P.control.dataset;
let empty = ${infoPrefix}List.empty; let empty = ${infoPrefix}List.empty;
let clsForTask = $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val().toLowerCase(); // 소문자 let clsForTask = $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val().toLowerCase(); // 소문자
@ -334,21 +344,21 @@
// //
let replacer = (str, dataItem) => str let replacer = (str, dataItem) => str
.replace(/{onclick}/gi, "pageObject['${pageName}'].crdnReRegControl.setCurrent('" + dataItem.getValue("RE_REG_ID") + "');") .replace(/{onclick}/gi, "pageObject['${pageName}'].control.setCurrent('" + dataItem.getValue("RE_REG_ID") + "');")
.replace(/{ondblclick}/gi, "pageObject['${pageName}'].getTotalInfo('" + dataItem.getValue("CRDN_ID") + "');"); .replace(/{ondblclick}/gi, "pageObject['${pageName}'].getTotalInfo('" + dataItem.getValue("CRDN_ID") + "');");
let trs = empty ? [document.getElementById("${infoPrefix}NotFound--${pageName}").content.querySelector("." + clsForTask + ",.cmn").outerHTML] let trs = empty ? [document.getElementById("${infoPrefix}NotFound--${pageName}").content.querySelector("." + clsForTask + ",.cmn").outerHTML]
: ${infoPrefix}List.inStrings(foundTr.outerHTML, replacer); : ${infoPrefix}List.inStrings(foundTr.outerHTML, replacer);
let noMore = (totalSize == ${infoPrefix}List.length); let noMore = (totalSize == ${infoPrefix}List.length);
let initScroll = ($P.crdnReRegControl.query.pageNum < 2) && ($P.crdnReRegControl.untilPageNum == 0); let initScroll = ($P.control.query.pageNum < 2) && ($P.control.untilPageNum == 0);
$("#table-responsive--${pageName}")[0].changeContent(trs.join(), initScroll, noMore); $("#table-responsive--${pageName}")[0].changeContent(trs.join(), initScroll, noMore);
if ($P.crdnReRegControl.untilPageNum != 0) { if ($P.control.untilPageNum != 0) {
$P.crdnReRegControl.query.fetchSize = $P.crdnReRegControl.defaultFetchSize; $P.control.query.fetchSize = $P.control.defaultFetchSize;
$P.crdnReRegControl.query.pageNum = $P.crdnReRegControl.untilPageNum; $P.control.query.pageNum = $P.control.untilPageNum;
$P.crdnReRegControl.untilPageNum = 0; $P.control.untilPageNum = 0;
} }
// checkbox 체크 해제 // checkbox 체크 해제
@ -360,9 +370,9 @@
// DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트 // DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트
$P.scrollDataList = () => { $P.scrollDataList = () => {
$P.crdnReRegControl.tableRenderComplete = false; // dataTables 에 자료 추가 false $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 false
$P.crdnReRegControl.load($P.crdnReRegControl.query.pageNum + 1); $P.control.load($P.control.query.pageNum + 1);
} }
/************************************************************************** /**************************************************************************
@ -400,7 +410,7 @@
let callControlName = ""; let callControlName = "";
if (typeof callSection == "undefined" || callSection == null || callSection == "") { if (typeof callSection == "undefined" || callSection == null || callSection == "") {
callControlName = "pageObject['${pageName}'].crdnReRegControl"; callControlName = "pageObject['${pageName}'].control";
} else { } else {
callControlName = callSection; callControlName = callSection;
} }
@ -428,10 +438,10 @@
// 검색 자료 재조회 // 검색 자료 재조회
$P.refreshList = () => { $P.refreshList = () => {
$P.crdnReRegControl.untilPageNum = $P.crdnReRegControl.query.pageNum; $P.control.untilPageNum = $P.control.query.pageNum;
$P.crdnReRegControl.query.fetchSize = $P.crdnReRegControl.defaultFetchSize * $P.crdnReRegControl.query.pageNum; $P.control.query.fetchSize = $P.control.defaultFetchSize * $P.control.query.pageNum;
$P.crdnReRegControl.load(1); $P.control.load(1);
} }
/************************************************************************** /**************************************************************************
@ -446,27 +456,28 @@
// 초기 기본 설정 // 초기 기본 설정
$P.initForm(); $P.initForm();
// 기본 데이터 설정 // 기본 데이터 설정
$P.initData(taskSeCd); $P.initData(taskSeCd);
// 업무 구분별 설정
$P.setTask(taskSeCd);
// dataset 초기화 // dataset 초기화
$P.crdnReRegControl.dataset.clear(); $P.control.dataset.clear();
} }
// 검색 버튼 이벤트 // 검색 버튼 이벤트
$P.fnSearchList = () => { $P.fnSearchList = () => {
// 검색조건 // 검색조건
$P.crdnReRegControl.query = $P.formFields.get(); $P.control.query = $P.formFields.get();
$P.crdnReRegControl.query.fetchSize = $P.crdnReRegControl.defaultFetchSize; // 한번에 조회되는 자료 건수 FETCH_XS = 30 $P.control.query.fetchSize = $P.control.defaultFetchSize; // 한번에 조회되는 자료 건수 FETCH_XS = 30
$P.crdnReRegControl.query.delYN = "N"; // 삭제 여부 $P.control.query.delYN = "N"; // 삭제 여부
$P.crdnReRegControl.load(1); $P.control.load(1);
} }
// 엑셀 버튼 이벤트 // 엑셀 버튼 이벤트
$P.fnExcel = () => { $P.fnExcel = () => {
if ($P.crdnReRegControl.dataset.empty) { if ($P.control.dataset.empty) {
dialog.alert({ dialog.alert({
content : "검색된 자료가 없습니다." content : "검색된 자료가 없습니다."
, onOK : () => { } , onOK : () => { }
@ -478,9 +489,9 @@
// DataTables(그리드) // DataTables(그리드)
let cellDefs = getCellDefs($("#theadTr--${pageName} th").not(".dummy-th").not(":eq(0)") let cellDefs = getCellDefs($("#theadTr--${pageName} th").not(".dummy-th").not(":eq(0)")
, $($("#${infoPrefix}Row--${pageName}")[0].content).find("td").not(".dummy-td").not(":eq(0)")); , $($("#${infoPrefix}Row--${pageName}")[0].content).find("td").not(".dummy-td").not(":eq(0)"));
$P.crdnReRegControl.query.cellDefs = cellDefs; $P.control.query.cellDefs = cellDefs;
$P.crdnReRegControl.download(); $P.control.download();
} }
// 사용자 조회 버튼 이벤트 // 사용자 조회 버튼 이벤트
@ -490,7 +501,7 @@
// 이전 단속정보 보기 버튼 이벤트 // 이전 단속정보 보기 버튼 이벤트
$P.fnBfrCrdnTotalInfo = () => { $P.fnBfrCrdnTotalInfo = () => {
let bfrCrdnId = $P.crdnReRegControl.dataset.getValue("BFR_CRDN_ID"); let bfrCrdnId = $P.control.dataset.getValue("BFR_CRDN_ID");
// 이전 단속 ID 가 없다면.. return // 이전 단속 ID 가 없다면.. return
if (typeof bfrCrdnId == "undefined" || bfrCrdnId == null || bfrCrdnId == "") return; if (typeof bfrCrdnId == "undefined" || bfrCrdnId == null || bfrCrdnId == "") return;
@ -502,22 +513,19 @@
/************************************************************************** /**************************************************************************
* 초기 설정 * 초기 설정
**************************************************************************/ **************************************************************************/
// 이벤트 // 이벤트 설정
$P.setEvent = () => { $P.setEvent = () => {
// 버튼 이벤트 // 기본 버튼 이벤트
$("#btnReset--${pageName}").on("click", () => $P.fnResetAndChangeBiz()); // 초기화 $("#btnReset--${pageName}").on("click", () => $P.fnResetAndChangeBiz()); // 초기화
$("#btnSearch--${pageName}").on("click", () => $P.fnSearchList()); // 검색 $("#btnSearch--${pageName}").on("click", () => $P.fnSearchList()); // 검색
$("#btnExcel--${pageName}").on("click", () => $P.fnExcel()); // 엑셀 $("#btnExcel--${pageName}").on("click", () => $P.fnExcel()); // 엑셀
$("#btnFindUser--${pageName}").on("click", () => $P.fnFindUser()); // 사용자 검색 $("#btnFindUser--${pageName}").on("click", () => $P.fnFindUser()); // 사용자 검색
$("#btnBfrCrdnTotalInfo--${pageName}").on("click", () => $P.fnBfrCrdnTotalInfo()); // 이전단속정보
// 동적검색에서 엔터(Enter) 키를 누르면 검색한다. // 동적검색에서 엔터(Enter) 키를 누르면 검색한다.
$("#term--${pageName}").keypress(function(e) { $("#term--${pageName}").keypress(function(e) {
if (e.keyCode == 13) { if (e.keyCode == 13) {
fnSearchList${pageName}();    fnSearchList${pageName}();   
}     }    
}); });
// form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용 // form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
$("#frmSearch--${pageName}").find(".form-date").each(function() { $("#frmSearch--${pageName}").find(".form-date").each(function() {
$(this).on("input", function() { $(this).on("input", function() {
@ -531,6 +539,9 @@
}); });
}); });
// 업무 버튼 이벤트
$("#btnBfrCrdnTotalInfo--${pageName}").on("click", () => $P.fnBfrCrdnTotalInfo()); // 이전단속정보
// DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고 // DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} ); $("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
@ -538,8 +549,8 @@
fnMakeScrollableTable($("#table-responsive--${pageName}")[0], $P.scrollDataList); fnMakeScrollableTable($("#table-responsive--${pageName}")[0], $P.scrollDataList);
} }
// 기본 데이터 설정 // 초기 화면 설정
$P.initForm = (taskSeCd) => { $P.initForm = () => {
// 화면 초기화 // 화면 초기화
$("#frmSearch--${pageName}")[0].reset(); $("#frmSearch--${pageName}")[0].reset();
@ -570,9 +581,6 @@
// 기본 데이터 설정 // 기본 데이터 설정
$P.initData = (taskSeCd) => { $P.initData = (taskSeCd) => {
// $P.crdnReRegControl 설정
$P.crdnReRegControl.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30
// 시군구 코드 // 시군구 코드
$("#sggCd--${pageName}").val("${sggCd}"); $("#sggCd--${pageName}").val("${sggCd}");
// 업무 구분 코드 // 업무 구분 코드
@ -580,9 +588,6 @@
// 일자 // 일자
$("#schReRegYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-7).date); $("#schReRegYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-7).date);
$("#schReRegYmdTo--${pageName}").datepicker("setDate", new Date()); $("#schReRegYmdTo--${pageName}").datepicker("setDate", new Date());
// 업무 구분별 설정
$P.setTask(taskSeCd);
} }
// 업무 구분별 설정 // 업무 구분별 설정
@ -610,22 +615,22 @@
$P.setURL(taskSeCd); $P.setURL(taskSeCd);
} }
// URL 설정 // 업무구분에 따른 URL 설정
$P.setURL = (taskSeCd) => { $P.setURL = (taskSeCd) => {
$P.crdnReRegControl.urls.load = wctx.url("/" + taskSeCd + "/excl/excl03/010/list.do"); // 조회 $P.control.urls.load = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/010/list.do"); // 조회
$P.crdnReRegControl.urls.create = wctx.url("/" + taskSeCd + "/excl/excl03/010/create.do"); // 등록 $P.control.urls.create = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/010/create.do"); // 등록
} }
/************************************************************************** /**************************************************************************
* 초기 셋팅 * 최초 실행 함수
**************************************************************************/ **************************************************************************/
// 이벤트 설정 // 1. 이벤트 설정
$P.setEvent(); $P.setEvent();
// 화면 초기 설정 및 업무 구분 변경 // 2. 화면 초기 설정 및 업무 구분 변경
$P.fnResetAndChangeBiz($("#layout-navbar input[name='taskSeCd']:checked").val()); $P.fnResetAndChangeBiz($("#layout-navbar input[name='taskSeCd']:checked").val());
// 보안모드 // 3. 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked")); fn_securityModeToggle($("#securityMode--top").is(":checked"));
}); });

@ -348,7 +348,7 @@
, title : dialogTitle , title : dialogTitle
, content : resp , content : resp
, size : "lg" , size : "lg"
, onClose : () => { $P.refreshDataInfo$(); } // callback 자료 재조회 , onClose : () => { $P.refreshDataInfo$(); }
}); });
} }
}); });
@ -371,7 +371,7 @@
ajax.post({ ajax.post({
url : wctx.url("/" + params.taskSeCd + "/crdn/crdn06/010/remove.do") url : wctx.url("/" + params.taskSeCd + "/crdn/crdn06/010/remove.do")
, data : params || {} , data : params || {}
, success : resp => $P.crdnPayerControl.onRemove(resp) // 삭제 callback , success : resp => $P.crdnPayerControl.onRemove(resp)
}); });
} }
@ -402,14 +402,12 @@
$P.viewAnswerPreview = (params) => { $P.viewAnswerPreview = (params) => {
if (!params) return; if (!params) return;
let dialogId = "answerPreviewDialog--${pageName}";
ajax.get({ ajax.get({
url : wctx.url("/" + params.taskSeCd + "/cvlc/cvlc02/060/info.do?openerPageName=${pageName}") url : wctx.url("/" + params.taskSeCd + "/cvlc/cvlc02/060/info.do?openerPageName=${pageName}")
, data : params || {} , data : params || {}
, success : resp => { , success : resp => {
dialog.open({ dialog.open({
id : dialogId id : "answerPreviewDialog--${pageName}"
, title : "답변내용 미리보기" , title : "답변내용 미리보기"
, content : resp , content : resp
, size : "xl" , size : "xl"
@ -442,11 +440,11 @@
, data : params || {} , data : params || {}
, success : resp => { , success : resp => {
dialog.open({ dialog.open({
id : $P.crdnPayerControl.prefixed("SttsCdDialog") id : "crdnSttsCdDialog"
, title : "단속상태 변경" , title : "단속상태 변경"
, content : resp , content : resp
, size : "lg" , size : "lg"
, onClose : () => { $P.refreshDataInfo$(); } // callback 자료 조회 , onClose : () => { $P.refreshDataInfo$(); }
}); });
} }
}); });
@ -480,7 +478,7 @@
, title : dialogTitle , title : dialogTitle
, content : resp , content : resp
, size : "lg" , size : "lg"
, onClose : () => { $P.refreshDataInfo(); } // callback 자료 조회 , onClose : () => { $P.refreshDataInfo(); }
}); });
} }
}); });
@ -699,6 +697,12 @@
$P.updatePayer(params); $P.updatePayer(params);
} }
// 확인 필요
// 차적조회(단속내역,민원상담내역,차적기본조회,장애인표지조회)
$P.getVehicleTotalInfo = async function(vhrnoEl) {
};
/************************************************************************** /**************************************************************************
* 초기 셋팅 * 초기 셋팅
**************************************************************************/ **************************************************************************/
@ -785,91 +789,16 @@
$P.crdnPayerControl.setData([${crdnPayer}]); // 단속, 납부자 정보 $P.crdnPayerControl.setData([${crdnPayer}]); // 단속, 납부자 정보
// 4. 사진영역 설정 // 4. 사진영역 설정
settingPhotoMain("${pageName}", "crdnId--${pageName}", settingPhotoMain("${pageName}", "crdnId--${pageName}"
function() { , function() {
return { return {
vhrno : $("#vhrno--${pageName}").val() vhrno : $("#vhrno--${pageName}").val()
, vhclNm : $("#vhclNm--${pageName}").val() , vhclNm : $("#vhclNm--${pageName}").val()
, vhclColor : $("#vhclColor--${pageName}").val() , vhclColor : $("#vhclColor--${pageName}").val()
}; };
} }, async function(vhrnoEl) {
, async function(vhrno) { // 차적조회는 "단속정보 수정" 에서 해라...
// 차적조회는 "단석정보수정" 에서 해라... 소스 삭제 예정. return await $P.getVehicleTotalInfo(vhrnoEl);
// let resp = await getVhclInfo($("#sggCd--${pageName}").val(), vhrno, $("#crdnYmd--${pageName}").val());
// $("#vhrno--${pageName}").val(vhrno);
// if (!resp.found) {
// $("#vin--${pageName}").val(""); // 차대번호
// $("#vhclNm--${pageName}").val(""); // 차량 명
// $("#vhclColor--${pageName}").val(""); // 차량 색상
// $("#ffnlgCarmdlCd--${pageName}").val(""); //
// // ffnlgCarmdlNm
// $("#useFuelCd--${pageName}").val(""); //
// // useFuelNm
// $("#rtpyrId--${pageName}").val(""); //
// $("#rtpyrNm--${pageName}").val(""); // 납부자 명
// $("#rtpyrSeCd--${pageName}").val(""); // 납부자 구분 코드
// // rtpyrSeNm
// $("#rtpyrNo--${pageName}").val(""); // 납부자번호
// $("#zip--${pageName}").val(""); // 우편번호
// $("#wholAddr--${pageName}").val(""); // 전체주소
// // rtpyrInptSeNm // 입력 구분 코드
// return {
// vhrno : ""
// , vhclNm : ""
// , vhclColor : ""
// };
// } else {
// $("#rtpyrId--${pageName}").val(resp.rtpyrId);
// let vehicle = resp.vehicle;
// $("#rtpyrNm--${pageName}").val(vehicle.mber_nm);
// let pyrSeCd = "";
// switch(vehicle.mber_se_code){
// case "11" : pyrSeCd = "01"; break;
// case "12" : pyrSeCd = "02"; break;
// case "13" : pyrSeCd = "03"; break;
// case "14" : pyrSeCd = "04"; break;
// case "15" : pyrSeCd = "05"; break;
// }
// $("#rtpyrSeCd--${pageName}").val(pyrSeCd);
// $("#rtpyrNo--${pageName}").val(vehicle.mber_se_no);
// $("#vin--${pageName}").val(vehicle.vin);
// $("#vhclNm--${pageName}").val(vehicle.cnm);
// $("#vhclColor--${pageName}").val(vehicle.color_nm);
// $("#useFuelCd--${pageName}").val(vehicle.use_fuel_code);
// if (vehicle.vhcty_asort_code == "1"){ //승용
// $("#ffnlgCarmdlCd--${pageName}").val("11");
// } else if (vehicle.vhcty_asort_code == "2"){ //승합
// $("#ffnlgCarmdlCd--${pageName}").val("12");
// } else if (vehicle.vhcty_asort_code == "3"){ //화물
// if(vehicle.mxmm_ldg <= 4000){
// $("#ffnlgCarmdlCd--${pageName}").val("13");
// } else {
// $("#ffnlgCarmdlCd--${pageName}").val("14");
// }
// } else if (vehicle.vhcty_asort_code == "4"){ //특수
// $("#ffnlgCarmdlCd--${pageName}").val("15");
// } else {
// $("#ffnlgCarmdlCd--${pageName}").val("");
// }
// $("#zip--${pageName}").val(vehicle.zip_code); //우편번호
// $("#wholAddr--${pageName}").val(vehicle.road_nm_adres + " " + vehicle.use_strnghld_adres_nm);
// return {
// vhrno : resp.vehicle.vhrno
// , vhclNm : resp.vehicle.cnm
// , vhclColor : resp.vehicle.color_nm
// };
// }
} }
); );

@ -65,15 +65,22 @@
<script src="/resources/js/fims/framework/cmm/initAfterPageLoad.js"></script> <script src="/resources/js/fims/framework/cmm/initAfterPageLoad.js"></script>
<script language="javascript"> <script language="javascript">
var callbackFuncName = location.search.split("&")[0].split("=")[1]; // parameter
var ttlNm = decodeURI(location.search.split("&")[1].split("=")[1]); var openerPageName = location.search.split("&")[0].split("=")[1];
var usePurpose = location.search.split("&")[1].split("=")[1];
var ttlNm = decodeURI(location.search.split("&")[2].split("=")[1]);
function fnOK() { function fnOK() {
let obj = { let obj = {
reason : $("#reason").val() // 사유 reason : $("#reason").val() // 사유
}; };
window.opener[callbackFuncName](obj); if (usePurpose == "remove") {
window.opener.pageObject[openerPageName].callbackRemove(obj);
} else {
window.opener.pageObject[openerPageName].callback(obj);
}
window.close(); window.close();
} }

Loading…
Cancel
Save