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