소스 정리.

main
JoJH 4 days ago
parent 521d2f47e3
commit d3c6878242

@ -91,9 +91,6 @@
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr name="theadTr" data-search-target="[data-doctx='${pageName}']">
</tr>
</thead>
<template name="tmpltCols">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" name="gridAllCheckbox" onchange="pageObject['${pageName}'].dataTableCheckbox(this, this.checked);" /></th>
<th class="cmn" style="width: 160px;" onclick="FimsSupport.searchFromGridTitle('USER_ACNT', this.innerText, 'match', 'part');">사용자계정</th>
@ -111,8 +108,8 @@
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn dummy-th"></th>
</template>
</tr>
</thead>
<tbody name="tbodyList">
</tbody>
<template is="curly-brackets" name="tmpltRows">
@ -137,7 +134,7 @@
</tr>
</template>
<template name="tmpltNotFound">
<tr class="cmn">
<tr class="odd">
<td valign="top" colspan="17" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
@ -169,14 +166,10 @@
// pageObject
let $P = pageObject["${pageName}"];
// URL
$P.prefixUrl = "${prefixUrl}";
// datasetControl
$P.ctrl = newRent01010Control("${pageName}", "[data-doctx=${pageName}]");
// paging
$P.pagingSupport = new FimsPagingSupport({
ctrl: $P.ctrl // DatasetControl
, ignoreCtrlPrefix: true // ctrl.prefix 가 있더라도 무시
, linkContainer: "[name='dataPaging']" // <ul class="pagination pagination-primary" name="dataPaging">
});
/**************************************************************************
* DataTable 이벤트
@ -186,6 +179,7 @@
GRID.checkbox.sync(element, bool);
let atLeastOne = GRID.checkbox.countChecked(element) > 0;
$P.$findn("btnRemove").prop("disabled", !atLeastOne);
Apply.toDataset.selection($P.ctrl.dataset, element, bool);
@ -193,7 +187,7 @@
// dataTable 클릭 이벤트
$P.dataTableClick = (dataIndex) => {
if (dataIndex == "") return;
if (!dataIndex) return;
$P.$findn("tbodyList").setCurrentRow(dataIndex);
@ -202,11 +196,15 @@
// dataTable 더블 클릭 이벤트
$P.dataTableDblClick = (dataIndex) => {
// let dataItem = $P.ctrl.dataset.getData(dataIndex, "item"); // dataIndex에 해당 하는 dataItem을 가져온다.
if (!dataIndex) return;
// 매핑 ID 가 없다면.. 종료
let mpngId = $P.ctrl.getValue("MPNG_ID");
if (!mpngId) return;
let params = {
callPurpose: "view"
, mpngId: $P.ctrl.getValue("MPNG_ID")
callPurpose: "update"
, mpngId: mpngId // 매핑 ID
};
$P.ctrl.getInfo(params);
@ -220,19 +218,12 @@
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// URL 설정
$P.setUrl = (prefixUrl) => {
$P.ctrl.urls.load = wctx.url(prefixUrl + "/010/list.do"); // 검색
$P.ctrl.urls.remove = wctx.url(prefixUrl + "/010/removeMpng.do") // 삭제
$P.ctrl.urls.getInfo = wctx.url(prefixUrl + "/020/info.do"); // 상세 정보
}
// 임대기업 매핑 등록
$P.createInfo = (params) => {
if (!params) return;
ajax.get({
url: wctx.url("${prefixUrl}" + "/030/main.do")
url: wctx.url($P.prefixUrl + "/030/main.do")
, data: params || {}
, success: (resp) => {
let dialogName = "rentEntDialog";
@ -260,13 +251,10 @@
**************************************************************************/
// 초기화 버튼 이벤트
$P.fnReset = () => {
// 화면 초기화
$P.findn("frmSearch").reset();
// dataset 초기화
$P.ctrl.dataset.clear();
// URL 설정
$P.setUrl("${prefixUrl}");
// 초기화
$P.findn("frmSearch").reset(); // 화면 초기화
AppSupport.initDatepicker($P.findn("frmSearch")); // 달력 초기화
AppSupport.initDetailSearchButton($P.findn("frmSearch")); // 상세검색 버튼 화살표
// input, select 초기화
let searchForm = $P.$findn("frmSearch");
@ -276,23 +264,18 @@
searchForm.find("input[type='hidden']").val("");
searchForm.find("select").each(function(){ $(this).find("option:eq(0)").prop("selected", true); });
AppSupport.initDatepicker($P.findn("frmSearch")); // 달력 초기화
AppSupport.initDetailSearchButton($P.findn("frmSearch")); // 상세검색 버튼 화살표
// 기본 데이터 설정
$P.$findn("userId").val("${userId}"); // 사용자 ID
$P.$findn("schUserAcnt").val("${userAcnt}"); // 사용자 계정
$P.$findn("byOutput").val("동적 검색"); // 동적 검색
// 그리드 th
let colContent = $P.findn("tmpltCols").content;
let cols = $(colContent).find(".cmn");
let colsOuterHTML = "";
// dataset 초기화
$P.ctrl.dataset.clear();
cols.each(function() {
colsOuterHTML += this.outerHTML;
});
$P.findn("tableRspns").changeColumn(colsOuterHTML);
// URL 설정
$P.ctrl.urls.load = wctx.url($P.prefixUrl + "/010/list.do"); // 검색
$P.ctrl.urls.remove = wctx.url($P.prefixUrl + "/010/removeMpng.do"); // 삭제
$P.ctrl.urls.getInfo = wctx.url($P.prefixUrl + "/020/info.do"); // 상세 정보
}
// 검색 버튼 이벤트
@ -325,9 +308,10 @@
}
// 임대기업 매핑 등록 버튼 이벤트
$P.fnCreate = () => {
$P.fnCreate = (btnTitle) => {
let params = {
callPurpose: "create"
btnTitle: btnTitle // 버튼 title
, callPurpose: "create"
, userId: $P.$findn("userId").val()
};
@ -335,7 +319,7 @@
}
// 임대기업 매핑 삭제 버튼 이벤트
$P.fnRemove = () => {
$P.fnRemove = (btnTitle) => {
let selected = $P.ctrl.getDataset("selected"); // 선택 자료
if (selected.length < 1) {
@ -351,7 +335,8 @@
content: "선택한 " + selected.length + "건의 " + $P.ctrl.prefixName + " 정보를 삭제하시겠습니까?"
, onOK: () => {
let params = {
callPurpose: "remove"
btnTitle: btnTitle // 버튼 title
, callPurpose: "remove"
, mpngIds: selected.map(info => info.MPNG_ID).join(",")
}
@ -366,17 +351,20 @@
// 이벤트 설정
$P.setEvent = () => {
// 기본 버튼 이벤트
$P.$findn("btnReset").on("click", () => { $P.fnReset() }); // 초기화
$P.$findn("btnSearch").on("click", () => { $P.fnSearchList() }); // 검색
$P.$findn("btnExcel").on("click", () => { $P.fnExcel() }); // 엑셀
$P.$findn("btnReset").on("click", () => $P.fnReset()); // 초기화
$P.$findn("btnSearch").on("click", () => $P.fnSearchList()); // 검색
$P.$findn("btnExcel").on("click", () => $P.fnExcel()); // 엑셀
// 업무 버튼 이벤트
$P.$findn("btnCreate").on("click", () => { $P.fnCreate(); }); // 매핑 등록
$P.$findn("btnRemove").on("click", () => { $P.fnRemove(); }); // 매핑 삭제
$P.$findn("btnCreate").on("click", function() {
$P.fnCreate($P.$findn("btnCreate").attr("title")); // 등록
});
$P.$findn("btnRemove").on("click", function() {
$P.fnRemove($P.$findn("btnRemove").attr("title")); // 삭제
});
// DataTables width 변경 조정
Componentization.fnMakeResizableTable($P.findn("tableRspns"));
// DataTables 스크롤 이벤트 생성
Componentization.fnMakeScrollableTable($P.findn("tableRspns"), $P.scrollDataList);
}

@ -124,21 +124,19 @@
// pageObject
let $P = pageObject["${pageName}"];
// URL
$P.prefixUrl = "${prefixUrl}";
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
$P.callPurpose = "${callPurpose}";
// datasetControl
$P.ctrl = newRent01020Control("${pageName}", "[data-doctx=${pageName}]");
// main에서 호출한 파라미터
$P.ctrl.query = ${mainQuery};
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
$P.callPurpose = "${callPurpose}";
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// URL 설정
$P.setUrl = (prefixUrl) => {
$P.ctrl.urls.load = wctx.url(prefixUrl + "/020/info.do"); // 상세 정보 조회
$P.ctrl.urls.getInfo = wctx.url(prefixUrl + "/040/info.do"); // 임대기업 상세 정보 조회
}
/**************************************************************************
* 버튼 clickEvent
@ -149,14 +147,19 @@
$P.findn("frmEdit").reset();
// URL 설정
$P.setUrl("${prefixUrl}");
$P.ctrl.urls.load = wctx.url($P.prefixUrl + "/020/info.do"); // 상세 정보 조회
$P.ctrl.urls.getInfo = wctx.url($P.prefixUrl + "/040/info.do"); // 임대기업 상세 정보 조회
}
// 임대기업 수정
$P.fnUpdateRentEnt = () => {
// 임대기업 ID 가 없다면.. return
let entId = $P.ctrl.getValue("ENT_ID");
if (!entId) return;
let params = {
callPurpose: "update"
, entId: $P.ctrl.getValue("ENT_ID")
, entId: entId
};
$P.ctrl.getInfo(params);
@ -168,7 +171,7 @@
// 이벤트
$P.setEvent = () => {
// 버튼 이벤트
$P.$findn("btnUpdateRentEnt").on("click", () => { $P.fnUpdateRentEnt(); }); // 임대기업 수정
$P.$findn("btnUpdateRentEnt").on("click", () => $P.fnUpdateRentEnt()); // 임대기업 수정
}
/**************************************************************************

@ -77,9 +77,6 @@
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr name="theadTr" data-search-target="[data-doctx='${pageName}']">
</tr>
</thead>
<template name="tmpltCols">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" name="gridAllCheckbox" onchange="pageObject['${pageName}'].dataTableCheckbox(this, this.checked);" /></th>
<th class="cmn" style="width: 200px;">기업명</th>
@ -92,8 +89,8 @@
<th class="cmn" style="width: 320px;">상세주소</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn dummy-th"></th>
</template>
</tr>
</thead>
<tbody name="tbodyList">
</tbody>
<template is="curly-brackets" name="tmpltRows">
@ -113,7 +110,7 @@
</tr>
</template>
<template name="tmpltNotFound">
<tr class="cmn">
<tr class="odd">
<td valign="top" colspan="12" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
@ -143,14 +140,10 @@
// pageObject
let $P = pageObject["${pageName}"];
// URL
$P.prefixUrl = "${prefixUrl}";
// datasetControl
$P.ctrl = newRent01030Control("${pageName}", "[data-doctx=${pageName}]");
// paging
$P.pagingSupport = new FimsPagingSupport({
ctrl: $P.ctrl // DatasetControl
, ignoreCtrlPrefix: true // ctrl.prefix 가 있더라도 무시
, linkContainer: "[name='dataPaging']" // <ul class="pagination pagination-primary" name="dataPaging">
});
/**************************************************************************
* DataTable 이벤트
@ -160,6 +153,7 @@
GRID.checkbox.sync(element, bool);
let atLeastOne = GRID.checkbox.countChecked(element) > 0;
$P.$findn("btnOK").prop("disabled", !atLeastOne);
$P.$findn("btnRemove").prop("disabled", !atLeastOne);
@ -168,7 +162,7 @@
// dataTable 클릭 이벤트
$P.dataTableClick = (dataIndex) => {
if (dataIndex == "") return;
if (!dataIndex) return;
$P.$findn("tbodyList").setCurrentRow(dataIndex);
@ -177,9 +171,15 @@
// dataTable 더블 클릭 이벤트
$P.dataTableDblClick = (dataIndex, dataKey) => {
if (!dataIndex) return;
// 기업 ID 가 없다면.. 입력
let entId = $P.ctrl.getValue("ENT_ID");
if (!entId) return;
let params = {
callPurpose: "update"
, entId: $P.ctrl.getValue("ENT_ID") // 기업 ID
, entId: entId // 기업 ID
};
$P.ctrl.getInfo(params);
@ -193,40 +193,36 @@
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// URL 설정
$P.setUrl = (prefixUrl) => {
$P.ctrl.urls.load = wctx.url(prefixUrl + "/030/list.do"); // 검색
$P.ctrl.urls.create = wctx.url(prefixUrl + "/030/createMpng.do") // 등록
$P.ctrl.urls.remove = wctx.url(prefixUrl + "/030/removeEnt.do") // 삭제
$P.ctrl.urls.getInfo = wctx.url(prefixUrl + "/040/info.do"); // 상세 정보
}
/**************************************************************************
* 버튼 clickEvent
**************************************************************************/
// 업무 구분 변경 이벤트
// 초기화 버튼 이벤트
$P.fnReset = () => {
// 화면 초기화
$P.findn("frmSearch").reset();
// dataset 초기화
$P.ctrl.dataset.clear();
// 초기화
$P.findn("frmSearch").reset(); // 화면 초기화
// URL 설정
$P.setUrl("${prefixUrl}");
// input, select 초기화
let searchForm = $P.$findn("frmSearch");
searchForm.find("input[type='radio']").not("[name='taskSeCd']").prop("checked", false);
searchForm.find("input[type='checkbox']").prop("checked", false);
searchForm.find("input[type='text']").val("");
searchForm.find("input[type='hidden']").val("");
searchForm.find("select").each(function(){ $(this).find("option:eq(0)").prop("selected", true); });
// 기본 데이터 설정
$P.$findn("userId").val("${userId}"); // 사용자 ID
$P.$findn("schEntRegNo").val("${schEntRegNo}"); // 기업 등록 번호
// 그리드 th
let colContent = $P.findn("tmpltCols").content;
let cols = $(colContent).find(".cmn");
let colsOuterHTML = "";
// dataset 초기화
$P.ctrl.dataset.clear();
cols.each(function() {
colsOuterHTML += this.outerHTML;
});
$P.findn("tableRspns").changeColumn(colsOuterHTML);
// URL 설정
$P.ctrl.urls.load = wctx.url($P.prefixUrl + "/030/list.do"); // 검색
$P.ctrl.urls.create = wctx.url($P.prefixUrl + "/030/createMpng.do"); // 등록
$P.ctrl.urls.remove = wctx.url($P.prefixUrl + "/030/removeEnt.do"); // 삭제
$P.ctrl.urls.getInfo = wctx.url($P.prefixUrl + "/040/info.do");; // 상세 정보
}
// 검색 버튼 클릭 이벤트
@ -284,9 +280,10 @@
}
// 임대기업 등록
$P.fnCreate = () => {
$P.fnCreate = (btnTitle) => {
let params = {
callPurpose: "create"
btnTitle: btnTitle // 버튼 title
, callPurpose: "create"
, entId: null
};
@ -294,14 +291,14 @@
}
// 임대기업 수정
$P.fnUpdate = () => {
// 임대기업 ID
let entId = $P.ctrl.getValue("ENT_ID");
$P.fnUpdate = (btnTitle) => {
// 임대기업 ID 가 없다면.. return
let entId = $P.ctrl.getValue("ENT_ID");
if (!entId) return;
let params = {
callPurpose: "update"
btnTitle: btnTitle // 버튼 title
, callPurpose: "update"
, entId: $P.ctrl.getValue("ENT_ID")
};
@ -309,7 +306,7 @@
}
// 임대기업 삭제 버튼 클릭 이벤트
$P.fnRemove = () => {
$P.fnRemove = (btnTitle) => {
let selected = $P.ctrl.getDataset("selected"); // 선택 자료
if (selected.length < 1) {
@ -322,7 +319,8 @@
}
let params = {
callPurpose: "remove"
btnTitle: btnTitle // 버튼 title
, callPurpose: "remove"
, entIds: selected.map(info => info.ENT_ID).join(",")
};
@ -338,22 +336,27 @@
// 이벤트
$P.setEvent = () => {
// 기본 버튼 이벤트
$P.$findn("btnReset").on("click", () => { $P.fnReset(); }); // 초기화
$P.$findn("btnSearch").on("click", () => { $P.fnSearchList(); }); // 검색
$P.$findn("btnOK").on("click", () => { $P.fnOK(); }); // 선택 확인
$P.$findn("btnReset").on("click", () => $P.fnReset()); // 초기화
$P.$findn("btnSearch").on("click", () => $P.fnSearchList()); // 검색
$P.$findn("btnOK").on("click", () => $P.fnOK()); // 선택 확인
// input에서 엔터(Enter) 키를 누르면 검색한다.
$P.$findn("schEntRegNo").onEnterPress($P.fnSearchList); // 법인(사업자) 번호
$P.$findn("schEntNm").onEnterPress($P.fnSearchList); // 기업명
// 업무 버튼 이벤트
$P.$findn("btnCreate").on("click", () => { $P.fnCreate(); }); // 임대기업 등록
$P.$findn("btnUpdate").on("click", () => { $P.fnUpdate(); }); // 임대기업 수정
$P.$findn("btnRemove").on("click", () => { $P.fnRemove(); }); // 임대기업 삭제
$P.$findn("btnCreate").on("click", function() {
$P.fnCreate($P.$findn("btnCreate").attr("title")); // 임대기업 등록
});
$P.$findn("btnUpdate").on("click", function() {
$P.fnUpdate($P.$findn("btnUpdate").attr("title")); // 임대기업 수정
});
$P.$findn("btnRemove").on("click", function() {
$P.fnRemove($P.$findn("btnRemove").attr("title")); // 임대기업 삭제
});
// DataTable width 변경 조정
Componentization.fnMakeResizableTable($P.findn("tableRspns"));
// DataTable 스크롤 이벤트 생성
Componentization.fnMakeScrollableTable($P.findn("tableRspns"), $P.scrollDataList);
}

@ -96,20 +96,16 @@
// pageObject
let $P = pageObject["${pageName}"];
// datasetControl
$P.ctrl = newRent01040Control("${pageName}", "[data-doctx=${pageName}]");
// URL
$P.prefixUrl = "${prefixUrl}";
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
$P.callPurpose = "${callPurpose}";
// datasetControl
$P.ctrl = newRent01040Control("${pageName}", "[data-doctx=${pageName}]");
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// URL 설정
$P.setUrl = (prefixUrl) => {
$P.ctrl.urls.create = wctx.url(prefixUrl + "/040/createEnt.do") // 등록
$P.ctrl.urls.update = wctx.url(prefixUrl + "/040/updateEnt.do") // 수정
}
// 우편번호 검색 결과
$P.callbackSearchAddr = (obj) => {
$P.$findn("entAddr").val(obj.ADDR); // 주소
@ -126,7 +122,8 @@
$P.findn("frmEdit").reset();
// URL 설정
$P.setUrl("${prefixUrl}");
$P.ctrl.urls.create = wctx.url($P.prefixUrl + "/040/createEnt.do"); // 등록
$P.ctrl.urls.update = wctx.url($P.prefixUrl + "/040/updateEnt.do"); // 수정
}
// 우편번호 검색
@ -176,9 +173,9 @@
// 이벤트
$P.setEvent = () => {
// 기본 버튼 이벤트
$P.$findn("btnZipCode").on("click", () => { $P.fnZipCode() }); // 우편번호 검색 버튼
$P.$findn("btnZipCode").on("click", () => $P.fnZipCode()); // 우편번호 검색 버튼
// 버튼 이벤트
$P.$findn("btnSave").on("click", () => { $P.fnSave() }); // 저장 버튼
$P.$findn("btnSave").on("click", () => $P.fnSave()); // 저장 버튼
}
/**************************************************************************

@ -127,9 +127,6 @@
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr name="theadTr" data-search-target="[data-doctx='${pageName}']">
</tr>
</thead>
<template name="tmpltCols">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" name="gridAllCheckbox" onchange="pageObject['${pageName}'].dataTableCheckbox(this, this.checked);" /></th>
<th class="cmn" style="width: 160px;">업무구분</th>
@ -149,8 +146,8 @@
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
</tr>
</thead>
<tbody name="tbodyList">
</tbody>
<template is="curly-brackets" name="tmpltRows">
@ -180,7 +177,7 @@
</tr>
</template>
<template name="tmpltNotFound">
<tr class="cmn">
<tr class="odd">
<td valign="top" colspan="19" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
@ -212,14 +209,10 @@
// pageObject
let $P = pageObject["${pageName}"];
// URL
$P.prefixUrl = "${prefixUrl}";
// datasetControl
$P.ctrl = newRent02010Control("${pageName}", "[data-doctx=${pageName}]");
// paging
$P.pagingSupport = new FimsPagingSupport({
ctrl: $P.ctrl // DatasetControl
, ignoreCtrlPrefix: true // ctrl.prefix 가 있더라도 무시
, linkContainer: "[name='dataPaging']" // <ul class="pagination pagination-primary" name="dataPaging">
});
/**************************************************************************
* DataTable 이벤트
@ -240,7 +233,7 @@
// dataTable 클릭 이벤트
$P.dataTableClick = (dataIndex) => {
if (dataIndex == "") return;
if (!dataIndex) return;
$P.$findn("tbodyList").setCurrentRow(dataIndex);
@ -249,19 +242,25 @@
// dataTable 더블 클릭 이벤트
$P.dataTableDblClick = (dataIndex) => {
if (!dataIndex) return;
// 단속 ID 가 없다면.. 종료
let crdnId = $P.ctrl.getValue("CRDN_ID");
if (!crdnId) return;
let callPurpose = "view";
let trgtSttsNm = $P.ctrl.getValue("TRGT_STTS_NM");
// 호출 용도를 구분한다.
if (trgtSttsNm == "계약서등록") {
callPurpose = "update";
} else if (trgtSttsNm == "기타(세외수입)") {
callPurpose = "update";
} else {
callPurpose = "view";
}
let params = {
callPurpose: callPurpose
, crdnId: $P.ctrl.getValue("CRDN_ID")
, crdnId: crdnId
};
$P.ctrl.getInfo(params);
@ -275,13 +274,6 @@
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// URL 설정
$P.setUrl = (prefixUrl) => {
$P.ctrl.urls.load = wctx.url(prefixUrl + "/010/list.do"); // 검색
$P.ctrl.urls.remove = wctx.url(prefixUrl + "/010/removeLsctMpng.do"); // 삭제
$P.ctrl.urls.getInfo = wctx.url(prefixUrl + "/020/info.do"); // 상세 정보
}
// 임대계약서 등록
$P.createInfo = (params) => {
if (!params) return;
@ -332,7 +324,6 @@
$P.fnReset = () => {
// 초기화
$P.findn("frmSearch").reset(); // 화면 초기화
$P.ctrl.dataset.clear(); // dataset 초기화
AppSupport.initDatepicker($P.findn("frmSearch")); // 달력 초기화
AppSupport.initDetailSearchButton($P.findn("frmSearch")); // 상세검색 버튼 화살표
@ -350,25 +341,20 @@
// $P.$findn("schCrdnYmdTo").datepicker("setDate", TODAY()); // 단속 일자 종료
$P.$findn("byOutput").val("동적 검색"); // 동적 검색
// dataset 초기화
$P.ctrl.dataset.clear();
// URL 설정
$P.setUrl("${prefixUrl}");
$P.ctrl.urls.load = wctx.url($P.prefixUrl + "/010/list.do"); // 검색
$P.ctrl.urls.remove = wctx.url($P.prefixUrl + "/010/removeLsctMpng.do"); // 삭제
$P.ctrl.urls.getInfo = wctx.url($P.prefixUrl + "/020/info.do"); // 상세 정보
// 버튼 설정
// Tab 버튼 설정
$($P.find(".nav-link.active")).removeClass("active"); // 기존의 활성화된 탭에서 active 클래스 제거
$P.$findn("tabItem0").addClass("active"); // 새로운 탭에 active 클래스 추가
let tabName = $P.$findn("tabMain").find("button.active").text().trim();
$P.setButton(tabName);
// 그리드 th
let colContent = $P.findn("tmpltCols").content;
let cols = $(colContent).find(".cmn");
let colsOuterHTML = "";
cols.each(function() {
colsOuterHTML += this.outerHTML;
});
$P.findn("tableRspns").changeColumn(colsOuterHTML);
}
// 검색
@ -494,17 +480,20 @@
// 이벤트 설정
$P.setEvent = () => {
// 기본 버튼 이벤트
$P.$findn("btnReset").on("click", () => { $P.fnReset() }); // 초기화
$P.$findn("btnSearch").on("click", () => { $P.fnSearchList() }); // 검색
$P.$findn("btnExcel").on("click", () => { $P.fnExcel() }); // 엑셀
$P.$findn("btnReset").on("click", () => $P.fnReset()); // 초기화
$P.$findn("btnSearch").on("click", () => $P.fnSearchList()); // 검색
$P.$findn("btnExcel").on("click", () => $P.fnExcel()); // 엑셀
// 업무 버튼 이벤트
$P.$findn("btnCreate").on("click", () => { $P.fnCreate(); }); // 등록
$P.$findn("btnRemove").on("click", () => { $P.fnRemove(); }); // 삭제
$P.$findn("btnCreate").on("click", function() {
$P.fnCreate($P.$findn("btnCreate").attr("title")); // 등록
});
$P.$findn("btnRemove").on("click", function() {
$P.fnRemove($P.$findn("btnRemove").attr("title")); // 삭제
});
// DataTables width 변경 조정
Componentization.fnMakeResizableTable($P.findn("tableRspns"));
// DataTables 스크롤 이벤트 생성
Componentization.fnMakeScrollableTable($P.findn("tableRspns"), $P.scrollDataList);
}

@ -182,25 +182,19 @@
$P.$findn("photoMainWrapper").addClass("w-px-1050 min-w-px-640");
// URL
$P.prefixUrl = "${prefixUrl}";
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
$P.callPurpose = "${callPurpose}";
// datasetControl
$P.ctrl = newRent02020Control("${pageName}", "[data-doctx=${pageName}]");
// 단속 사진
$P.existFileArr = [];
$P.localUploadArr = [];
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
$P.callPurpose = "${callPurpose}";
// URL
$P.prefixUrl = "${prefixUrl}";
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// URL 설정
$P.setUrl = (prefixUrl) => {
$P.ctrl.urls.load = wctx.url(prefixUrl + "/020/info.do") // 검색
$P.ctrl.urls.getInfo = wctx.url(prefixUrl + "/040/info.do"); // 임대차계약 상세 정보 조회
}
// 임대차계약 첨부 파일 조회
$P.fnSearchFileList = (lsctId) => {
let tableFileList = $P.findn("fileList"); // table element 찾기
@ -259,7 +253,8 @@
$P.findn("frmEdit").reset();
// URL 설정
$P.setUrl($P.prefixUrl);
$P.ctrl.urls.load = wctx.url($P.prefixUrl + "/020/info.do") // 검색
$P.ctrl.urls.getInfo = wctx.url($P.prefixUrl + "/040/info.do"); // 임대차계약 상세 정보 조회
//
if ($P.callPurpose == "view") {
@ -286,7 +281,7 @@
// 이벤트
$P.setEvent = () => {
// 버튼 이벤트
$P.$findn("btnUpdateLsct").on("click", () => { $P.fnUpdateLsct(); }); // 임대차계약 수정
$P.$findn("btnUpdateLsct").on("click", () => $P.fnUpdateLsct()); // 임대차계약 수정
}
/**************************************************************************

@ -193,22 +193,18 @@
// pageObject
let $P = pageObject["${pageName}"];
// URL
$P.prefixUrl = "${prefixUrl}";
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
$P.callPurpose = "${callPurpose}";
// datasetControl
$P.ctrl = newRent02040Control("${pageName}", "[data-doctx=${pageName}]");
// 파일 리스트
$P.fileListArr = new Array();
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
$P.callPurpose = "${callPurpose}";
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// URL 설정
$P.setUrl = (prefixUrl) => {
$P.ctrl.urls.create = wctx.url(prefixUrl + "/040/createLsct.do") // 등록
$P.ctrl.urls.update = wctx.url(prefixUrl + "/040/updateLsct.do") // 수정
}
// 우편번호 검색 결과
$P.callbackSearchAddr = (obj) => {
$P.$findn("hirerAddr").val(obj.ADDR); // 주소
@ -356,19 +352,19 @@
**************************************************************************/
// 업무 구분 변경 이벤트
$P.fnReset = (initSearchYN) => {
// 화면 초기화
$P.findn("frmEdit").reset();
// URL 설정
$P.setUrl("${prefixUrl}");
// 초기화
$P.findn("frmEdit").reset(); // 화면 초기화
AppSupport.initDatepicker($P.findn("frmEdit")); // 달력 초기화
// 기본 데이터 설정
$P.$findn("entId").val("${entId}");
$P.$findn("crdnId").val("${crdnId}");
AppSupport.initDatepicker($P.findn("frmEdit")); // 달력 초기화
$P.$findn("ctrtBgngYmd").datepicker("setDate", TODAY()); // 계약 시작 일자
$P.$findn("ctrtEndYmd").datepicker("setDate", TODAY()); // 계약 종료 일자
// URL 설정
$P.ctrl.urls.create = wctx.url($P.prefixUrl + "/040/createLsct.do"); // 등록
$P.ctrl.urls.update = wctx.url($P.prefixUrl + "/040/updateLsct.do"); // 수정
}
// 우편번호 검색
@ -455,10 +451,10 @@
});
// 기본 버튼 이벤트
$P.$findn("btnZipCode").on("click", () => { $P.fnZipCode() }); // 우편번호 검색 버튼 클릭 이벤트
// 버튼 이벤트
$P.$findn("btnZipCode").on("click", () => $P.fnZipCode()); // 우편번호 검색 버튼 클릭 이벤트
$P.$findn("btnAddFile").on("click", () => $P.$findn("uploadFiles").trigger("click")); // 파일 등록 버튼 클릭 이벤트
$P.$findn("btnSave").on("click", () => { $P.fnSave() }); // 저장 버튼 클릭 이벤트
// 버튼 이벤트
$P.$findn("btnSave").on("click", () => $P.fnSave()); // 저장 버튼 클릭 이벤트
}
/**************************************************************************

@ -139,9 +139,7 @@
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr name="theadTr" data-search-target="[data-doctx='${pageName}']">
</tr>
</thead>
<template name="tmpltCols">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" name="gridAllCheckbox" onchange="pageObject['${pageName}'].dataTableCheckbox(this, this.checked);" /></th>
<th class="cmn" style="width: 160px;">업무구분</th>
@ -172,8 +170,7 @@
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
</thead>
<tbody name="tbodyList">
</tbody>
<template is="curly-brackets" name="tmpltRows">
@ -211,7 +208,7 @@
</tr>
</template>
<template name="tmpltNotFound">
<tr class="cmn">
<tr class="odd">
<td valign="top" colspan="30" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
@ -243,14 +240,10 @@
// pageObject
let $P = pageObject["${pageName}"];
// URL
$P.prefixUrl = "${prefixUrl}";
// datasetControl
$P.ctrl = newRent02050Control("${pageName}", "[data-doctx=${pageName}]");
// paging
$P.pagingSupport = new FimsPagingSupport({
ctrl: $P.ctrl // DatasetControl
, ignoreCtrlPrefix: true // ctrl.prefix 가 있더라도 무시
, linkContainer: "[name='dataPaging']" // <ul class="pagination pagination-primary" name="dataPaging">
});
/**************************************************************************
* DataTable 이벤트
@ -273,7 +266,7 @@
// dataTable 클릭 이벤트
$P.dataTableClick = (dataIndex) => {
if (dataIndex == "") return;
if (!dataIndex) return;
$P.$findn("tbodyList").setCurrentRow(dataIndex);
@ -282,9 +275,15 @@
// dataTable 더블 클릭 이벤트
$P.dataTableDblClick = (dataIndex) => {
if (!dataIndex) return;
// 임대차계약 매핑 ID 가 없다면.. 종료
let lsctMpngId = $P.ctrl.getValue("LSCT_MPNG_ID");
if (!lsctMpngId) return;
let params = {
callPurpose: "view"
, lsctMpngId: $P.ctrl.getValue("LSCT_MPNG_ID")
, lsctMpngId: lsctMpngId
};
$P.ctrl.getInfo(params);
@ -298,14 +297,6 @@
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// URL 설정
$P.setUrl = (prefixUrl) => {
$P.ctrl.urls.load = wctx.url(prefixUrl + "/050/list.do"); // 검색
$P.ctrl.urls.create = wctx.url(prefixUrl + "/050/createAprv.do") // 승인 요청
$P.ctrl.urls.remove = wctx.url(prefixUrl + "/050/removeAprv.do") // 승인 요청 취소
$P.ctrl.urls.getInfo = wctx.url(prefixUrl + "/060/info.do"); // 상세 정보
}
// 버튼 설정
$P.setButton = (tabName) => {
// tab
@ -328,7 +319,6 @@
$P.fnReset = () => {
// 초기화
$P.findn("frmSearch").reset(); // 화면 초기화
$P.ctrl.dataset.clear(); // dataset 초기화
AppSupport.initDatepicker($P.findn("frmSearch")); // 달력 초기화
AppSupport.initDetailSearchButton($P.findn("frmSearch")); // 상세검색 버튼 화살표
@ -346,20 +336,16 @@
$P.$findn("schCrdnYmdTo").datepicker("setDate", TODAY()); // 단속 일자 종료
$P.$findn("byOutput").val("동적 검색"); // 동적 검색
// URL 설정
$P.setUrl("${prefixUrl}");
// 그리드 th
let colContent = $P.findn("tmpltCols").content;
let cols = $(colContent).find(".cmn");
let colsOuterHTML = "";
// dataset 초기화
$P.ctrl.dataset.clear();
cols.each(function() {
colsOuterHTML += this.outerHTML;
});
$P.findn("tableRspns").changeColumn(colsOuterHTML);
// URL 설정
$P.ctrl.urls.load = wctx.url($P.prefixUrl + "/050/list.do"); // 검색
$P.ctrl.urls.create = wctx.url($P.prefixUrl + "/050/createAprv.do"); // 승인 요청
$P.ctrl.urls.remove = wctx.url($P.prefixUrl + "/050/removeAprv.do"); // 승인 요청 취소
$P.ctrl.urls.getInfo = wctx.url($P.prefixUrl + "/060/info.do"); // 상세 정보
// 버튼 설정
// Tab 버튼 설정
$($P.find(".nav-link.active")).removeClass("active"); // 기존의 활성화된 탭에서 active 클래스 제거
$P.$findn("tabItem0").addClass("active"); // 새로운 탭에 active 클래스 추가
@ -498,9 +484,9 @@
// 이벤트 설정
$P.setEvent = () => {
// 기본 버튼 이벤트
$P.$findn("btnReset").on("click", () => { $P.fnReset() }); // 초기화
$P.$findn("btnSearch").on("click", () => { $P.fnSearchList() }); // 검색
$P.$findn("btnExcel").on("click", () => { $P.fnExcel() }); // 엑셀
$P.$findn("btnReset").on("click", () => $P.fnReset()); // 초기화
$P.$findn("btnSearch").on("click", () => $P.fnSearchList()); // 검색
$P.$findn("btnExcel").on("click", () => $P.fnExcel()); // 엑셀
// 업무 버튼 이벤트
$P.$findn("btnCreate").on("click", () => {

@ -195,21 +195,18 @@
// pageObject
let $P = pageObject["${pageName}"];
// URL
$P.prefixUrl = "${prefixUrl}";
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
$P.callPurpose = "${callPurpose}";
// datasetControl
$P.ctrl = newRent02060Control("${pageName}", "[data-doctx=${pageName}]");
// 파일 리스트
$P.fileListArr = new Array();
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
$P.callPurpose = "${callPurpose}";
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// URL 설정
$P.setUrl = (prefixUrl) => {
$P.ctrl.urls.load = wctx.url(prefixUrl + "/060/list.do") // 검색
}
// 첨부파일 조회
$P.fnSearchFileList = (lsctId) => {
let tableFileList = $P.findn("fileList"); // table element 찾기
@ -268,7 +265,7 @@
$P.findn("frmEdit").reset();
// URL 설정
$P.setUrl("${prefixUrl}");
$P.ctrl.urls.load = wctx.url($P.prefixUrl + "/060/list.do"); // 검색
}
/**************************************************************************

@ -215,14 +215,10 @@
// pageObject
let $P = pageObject["${pageName}"];
// URL
$P.prefixUrl = "${prefixUrl}";
// datasetControl
$P.ctrl = newRent03010Control("${pageName}", "[data-doctx=${pageName}]");
// paging
$P.pagingSupport = new FimsPagingSupport({
ctrl: $P.ctrl // DatasetControl
, ignoreCtrlPrefix: true // ctrl.prefix 가 있더라도 무시
, linkContainer: "[name='dataPaging']" // <ul class="pagination pagination-primary" name="dataPaging">
});
/**************************************************************************
* DataTable 이벤트
@ -238,7 +234,7 @@
// dataTable 클릭 이벤트
$P.dataTableClick = (dataIndex) => {
if (dataIndex == "") return;
if (!dataIndex) return;
$P.$findn("tbodyList").setCurrentRow(dataIndex);
@ -247,6 +243,8 @@
// dataTable 더블 클릭 이벤트
$P.dataTableDblClick = (dataIndex) => {
if (!dataIndex) return;
//
let params = {
callPageName: "${pageName}"
@ -267,24 +265,17 @@
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// URL 설정
$P.setUrl = (prefixUrl) => {
$P.ctrl.urls.load = wctx.url(prefixUrl + "/010/list.do"); // 검색
$P.ctrl.urls.getInfo = wctx.url(prefixUrl + "/020/info.do"); // 상세 정보
}
/**************************************************************************
* 버튼 clickEvent
**************************************************************************/
// 초기화
$P.fnReset = () => {
// 화면 초기화
$P.findn("frmSearch").reset();
// dataset 초기화
$P.ctrl.dataset.clear();
// URL 설정
$P.setUrl("${prefixUrl}");
// 초기화
$P.findn("frmSearch").reset(); // 화면 초기화
AppSupport.initDatepicker($P.findn("frmSearch")); // 달력 초기화
AppSupport.initDetailSearchButton($P.findn("frmSearch")); // 상세검색 버튼 화살표
// input, select 초기화
let searchForm = $P.$findn("frmSearch");
@ -293,15 +284,19 @@
searchForm.find("input[type='hidden']").val("");
searchForm.find("select").each(function(){ $(this).find("option:eq(0)").prop("selected", true); });
AppSupport.initDatepicker($P.findn("frmSearch")); // 달력 초기화
AppSupport.initDetailSearchButton($P.findn("frmSearch")); // 상세검색 버튼 화살표
// 기본 데이터 설정
$P.$findn("schCrdnYmdFrom").datepicker("setDate", "2024-06-01"); // 단속 일자 시작
$P.$findn("schCrdnYmdTo").datepicker("setDate", TODAY()); // 단속 일자 종료
$P.$findn("schVhrno").val("12보3663"); // 자동차등록번호
$P.$findn("byOutput").val("동적 검색"); // 동적 검색
// dataset 초기화
$P.ctrl.dataset.clear();
// URL 설정
$P.ctrl.urls.load = wctx.url($P.prefixUrl + "/010/list.do"); // 검색
$P.ctrl.urls.getInfo = wctx.url($P.prefixUrl + "/020/info.do"); // 상세 정보
// 그리드 th
let colContent = $P.findn("tmpltCols").content;
let cols = $(colContent).find(".cmn");
@ -355,13 +350,12 @@
// 이벤트 설정
$P.setEvent = () => {
// 기본 버튼 이벤트
$P.$findn("btnReset").on("click", () => { $P.fnReset() }); // 초기화
$P.$findn("btnSearch").on("click", () => { $P.fnSearchList() }); // 검색
$P.$findn("btnExcel").on("click", () => { $P.fnExcel() }); // 엑셀
$P.$findn("btnReset").on("click", () => $P.fnReset()); // 초기화
$P.$findn("btnSearch").on("click", () => $P.fnSearchList()); // 검색
$P.$findn("btnExcel").on("click", () => $P.fnExcel()); // 엑셀
// DataTables width 변경 조정
Componentization.fnMakeResizableTable($P.findn("tableRspns"));
// DataTables 스크롤 이벤트 생성
Componentization.fnMakeScrollableTable($P.findn("tableRspns"), $P.scrollDataList);
}

@ -61,18 +61,26 @@
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="rtpyrNm">납부자명</label>
<input is="id-input" type="text" class="form-control w-40" name="rtpyrNm" data-map="RTPYR_NM" readonly />
</div>
<div class="col-md-4">
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="levyPcptax">부과금액</label>
<input is="id-input" type="text" class="form-control w-40" name="levyPcptax" data-map="LEVY_PCPTAX" data-fmt-type="number" readonly />
</div>
<div class="col-md-4">
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="levyAdamt">부과가산금</label>
<input is="id-input" type="text" class="form-control w-40" name="levyAdamt" data-map="LEVY_ADAMT" data-fmt-type="number" readonly />
<div class="col-md-6">
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="ffnlgAmt">과태료금액</label>
<input is="id-input" type="text" class="form-control w-40" name="ffnlgAmt" data-map="FFNLG_AMT" data-fmt-type="number" readonly />
</div>
<div class="col-md-4">
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="sumAmt">미납금액</label>
<input is="id-input" type="text" class="form-control w-40 fw-bold text-red" name="sumAmt" data-map="SUM_AMT" data-fmt-type="number" readonly />
<div class="col-md-6">
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="advntceAmt">사전감경금액</label>
<input is="id-input" type="text" class="form-control w-40" name="advntceAmt" data-map="ADVNTCE_AMT" data-fmt-type="number" readonly />
</div>
<!-- <div class="col-md-4"> -->
<!-- <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="levyPcptax">부과금액</label> -->
<!-- <input is="id-input" type="text" class="form-control w-40" name="levyPcptax" data-map="LEVY_PCPTAX" data-fmt-type="number" readonly /> -->
<!-- </div> -->
<!-- <div class="col-md-4"> -->
<!-- <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="levyAdamt">부과가산금</label> -->
<!-- <input is="id-input" type="text" class="form-control w-40" name="levyAdamt" data-map="LEVY_ADAMT" data-fmt-type="number" readonly /> -->
<!-- </div> -->
<!-- <div class="col-md-4"> -->
<!-- <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="sumAmt">미납금액</label> -->
<!-- <input is="id-input" type="text" class="form-control w-40 fw-bold text-red" name="sumAmt" data-map="SUM_AMT" data-fmt-type="number" readonly /> -->
<!-- </div> -->
</div> <!-- <div class="row g-1"> -->
</div> <!-- <div class="card"> -->
</form>
@ -207,14 +215,14 @@
$P.$findn("photoMainWrapper").addClass("w-px-1050 min-w-px-640");
// datasetControl
$P.ctrl = newRent03020Control("${pageName}", "[data-doctx=${pageName}]");
// URL
$P.prefixUrl = "${prefixUrl}";
// infoDialog 호출한 pageName
$P.callPageName = "${callPageName}";
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
$P.callPurpose = "${callPurpose}";
// URL
$P.prefixUrl = "${prefixUrl}";
// datasetControl
$P.ctrl = newRent03020Control("${pageName}", "[data-doctx=${pageName}]");
// 자료 이동을 위한 자료의 Index. 0부터 시작.
$P.curDataIndex;
// 단속 사진

@ -21,6 +21,12 @@ function newRent01010Control(pageName, doctx="[data-doctx='rent01010']") {
// 검색 조건
ctrl.query = { pageNum: 1, fetchSize: DEFAULT_FETCH_SIZE }; // 1 페이지당 자료 건수 index.jsp에서 확인
// paging
ctrl.pagingSupport = new FimsPagingSupport({
ctrl: ctrl // DatasetControl
, ignoreCtrlPrefix: true // ctrl.prefix 가 있더라도 무시
, linkContainer: "[name='dataPaging']" // <ul class="pagination pagination-primary" name="dataPaging">
});
/**************************************************************************
* DatasetControl Events
@ -31,22 +37,13 @@ function newRent01010Control(pageName, doctx="[data-doctx='rent01010']") {
let dataList = ctrl.dataset;
let empty = dataList.empty;
// 업무별 dataTables(그리드) tr, td
let foundContent = ctrl.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
.replace(/{onclick}/gi, "pageObject['" + pageName + "'].dataTableClick('{data-index}');")
.replace(/{ondblclick}/gi, "pageObject['" + pageName + "'].dataTableDblClick('{data-index}');");
let trs = empty ?
[ctrl.find("[name='tmpltNotFound']").content.querySelector(".cmn").outerHTML]
: dataList.inStrings(foundTr.outerHTML, replacer);
[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);
@ -62,7 +59,7 @@ function newRent01010Control(pageName, doctx="[data-doctx='rent01010']") {
$(ctrl.find("[name='gridAllCheckbox']")).prop("checked", false);
// dataTables(그리드)에 페이지 표시 pagingInfo
pageObject[pageName].pagingSupport.setPagingInfo(obj);
ctrl.pagingSupport.setPagingInfo(obj);
};
// 현재 선택 자료 변경 이벤트

@ -21,6 +21,12 @@ function newRent01030Control(pageName, doctx="[data-doctx='rent01030']") {
// 검색 조건
ctrl.query = { pageNum: 1, fetchSize: DEFAULT_FETCH_SIZE }; // 1 페이지당 자료 건수 index.jsp에서 확인
// paging
ctrl.pagingSupport = new FimsPagingSupport({
ctrl: ctrl // DatasetControl
, ignoreCtrlPrefix: true // ctrl.prefix 가 있더라도 무시
, linkContainer: "[name='dataPaging']" // <ul class="pagination pagination-primary" name="dataPaging">
});
/**************************************************************************
* DatasetControl Events
@ -31,22 +37,13 @@ function newRent01030Control(pageName, doctx="[data-doctx='rent01030']") {
let dataList = ctrl.dataset;
let empty = dataList.empty;
// 업무별 dataTables(그리드) tr, td
let foundContent = ctrl.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
.replace(/{onclick}/gi, "pageObject['" + pageName + "'].dataTableClick('{data-index}');")
.replace(/{ondblclick}/gi, "pageObject['" + pageName + "'].dataTableDblClick('{data-index}');");
let trs = empty ?
[ctrl.find("[name='tmpltNotFound']").content.querySelector(".cmn").outerHTML]
: dataList.inStrings(foundTr.outerHTML, replacer);
[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);
@ -62,7 +59,7 @@ function newRent01030Control(pageName, doctx="[data-doctx='rent01030']") {
$(ctrl.find("[name='gridAllCheckbox']")).prop("checked", false);
// dataTables(그리드)에 페이지 표시 pagingInfo
pageObject[pageName].pagingSupport.setPagingInfo(obj);
ctrl.pagingSupport.setPagingInfo(obj);
};
// 현재 선택 자료 변경 이벤트

@ -26,6 +26,12 @@ function newRent02010Control(pageName, doctx="[data-doctx='rent02010']") {
// 검색 조건
ctrl.query = { pageNum: 1, fetchSize: DEFAULT_FETCH_SIZE }; // 1 페이지당 자료 건수 index.jsp에서 확인
// paging
ctrl.pagingSupport = new FimsPagingSupport({
ctrl: ctrl // DatasetControl
, ignoreCtrlPrefix: true // ctrl.prefix 가 있더라도 무시
, linkContainer: "[name='dataPaging']" // <ul class="pagination pagination-primary" name="dataPaging">
});
/**************************************************************************
* DatasetControl Events
@ -36,22 +42,13 @@ function newRent02010Control(pageName, doctx="[data-doctx='rent02010']") {
let dataList = ctrl.dataset;
let empty = dataList.empty;
// 업무별 dataTables(그리드) tr, td
let foundContent = ctrl.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
.replace(/{onclick}/gi, "pageObject['" + pageName + "'].dataTableClick('{data-index}');")
.replace(/{ondblclick}/gi, "pageObject['" + pageName + "'].dataTableDblClick('{data-index}');");
let trs = empty ?
[ctrl.find("[name='tmpltNotFound']").content.querySelector(".cmn").outerHTML]
: dataList.inStrings(foundTr.outerHTML, replacer);
[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);
@ -67,7 +64,7 @@ function newRent02010Control(pageName, doctx="[data-doctx='rent02010']") {
$(ctrl.find("[name='gridAllCheckbox']")).prop("checked", false);
// dataTables(그리드)에 페이지 표시 pagingInfo
pageObject[pageName].pagingSupport.setPagingInfo(obj);
ctrl.pagingSupport.setPagingInfo(obj);
};
// 현재 선택 자료 변경 이벤트

@ -28,6 +28,12 @@ function newRent02050Control(pageName, doctx="[data-doctx='rent02050']") {
// 검색 조건
ctrl.query = { pageNum: 1, fetchSize: DEFAULT_FETCH_SIZE }; // 1 페이지당 자료 건수 index.jsp에서 확인
// paging
ctrl.pagingSupport = new FimsPagingSupport({
ctrl: ctrl // DatasetControl
, ignoreCtrlPrefix: true // ctrl.prefix 가 있더라도 무시
, linkContainer: "[name='dataPaging']" // <ul class="pagination pagination-primary" name="dataPaging">
});
/**************************************************************************
* DatasetControl Events
@ -38,22 +44,13 @@ function newRent02050Control(pageName, doctx="[data-doctx='rent02050']") {
let dataList = ctrl.dataset;
let empty = dataList.empty;
// 업무별 dataTables(그리드) tr, td
let foundContent = ctrl.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
.replace(/{onclick}/gi, "pageObject['" + pageName + "'].dataTableClick('{data-index}');")
.replace(/{ondblclick}/gi, "pageObject['" + pageName + "'].dataTableDblClick('{data-index}');");
let trs = empty ?
[ctrl.find("[name='tmpltNotFound']").content.querySelector(".cmn").outerHTML]
: dataList.inStrings(foundTr.outerHTML, replacer);
[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);
@ -69,7 +66,7 @@ function newRent02050Control(pageName, doctx="[data-doctx='rent02050']") {
$(ctrl.find("[name='gridAllCheckbox']")).prop("checked", false);
// dataTables(그리드)에 페이지 표시 pagingInfo
pageObject[pageName].pagingSupport.setPagingInfo(obj);
ctrl.pagingSupport.setPagingInfo(obj);
};
// 현재 선택 자료 변경 이벤트

@ -10,9 +10,6 @@ function newRent03010Control(pageName, doctx="[data-doctx='rent03010']") {
, urls: {
load: "/list.do"
, getInfo: "/info.do"
, create: "/create.do"
, update: "/update.do"
, remove: "/remove.do"
}
, formats: {
CRDN_DT: datetimeFormat
@ -29,6 +26,12 @@ function newRent03010Control(pageName, doctx="[data-doctx='rent03010']") {
// 검색 조건
ctrl.query = { pageNum: 1, fetchSize: DEFAULT_FETCH_SIZE }; // 1 페이지당 자료 건수 index.jsp에서 확인
// paging
ctrl.pagingSupport = new FimsPagingSupport({
ctrl: ctrl // DatasetControl
, ignoreCtrlPrefix: true // ctrl.prefix 가 있더라도 무시
, linkContainer: "[name='dataPaging']" // <ul class="pagination pagination-primary" name="dataPaging">
});
/**************************************************************************
* DatasetControl Events
@ -70,7 +73,7 @@ function newRent03010Control(pageName, doctx="[data-doctx='rent03010']") {
$(ctrl.find("[name='gridAllCheckbox']")).prop("checked", false);
// dataTables(그리드)에 페이지 표시 pagingInfo
pageObject[pageName].pagingSupport.setPagingInfo(obj);
ctrl.pagingSupport.setPagingInfo(obj);
};
// 현재 선택 자료 변경 이벤트

Loading…
Cancel
Save