|
|
|
@ -188,73 +188,77 @@
|
|
|
|
|
|
|
|
|
|
<!-- DataTables(그리드) -->
|
|
|
|
|
<div class="card-datatable text-nowrap">
|
|
|
|
|
<div id="DataTables_Table_0_wrapper--${pageName}" class="dataTables_wrapper dt-bootstrap5 no-footer">
|
|
|
|
|
<div id="table-responsive--${pageName}" class="table-responsive" style="overflow-x:scroll; height:400px; overflow-y:scroll;" >
|
|
|
|
|
<table class="dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
|
|
|
|
|
<thead>
|
|
|
|
|
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
|
|
|
|
|
<div class="table-responsive" id="table-responsive--${pageName}" style="overflow-x:scroll; height:400px; overflow-y:scroll;" >
|
|
|
|
|
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
|
|
|
|
|
<thead class="sticky-thead">
|
|
|
|
|
<tr id="theadTr--${pageName}"
|
|
|
|
|
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
|
|
|
|
|
<th class="sorting" style="width: 24px;">NO.</th>
|
|
|
|
|
<th class="sorting" style="width: 24px;">
|
|
|
|
|
<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 onclick="searchFromGridTitle('RCPT_YMD', this.innerText, 'ymd', '');">접수일자</th>
|
|
|
|
|
<th onclick="searchFromGridTitle('RCPT_NO', this.innerText, 'match', 'part');">접수번호</th>
|
|
|
|
|
<th onclick="searchFromGridTitle('RCPT_SE_NM', this.innerText, 'codeValue', 'FIM029');">접수구분명</th>
|
|
|
|
|
<th onclick="searchFromGridTitle('NTFCTN_SE_NM', this.innerText, 'codeValue', 'FIM030');">통보구분명</th>
|
|
|
|
|
<th onclick="searchFromGridTitle('STTR_NM', this.innerText, 'match', 'part');">진술자명</th>
|
|
|
|
|
<th onclick="searchFromGridTitle('OPNN_SBMSN_STTS_NM', this.innerText, 'codeValue', 'FIM031');">의견제출상태</th>
|
|
|
|
|
<th onclick="searchFromGridTitle('OPNN_SBMSN_SE_NM', this.innerText, 'codeValue', 'FIM033');">의견제출분류</th>
|
|
|
|
|
<th onclick="searchFromGridTitle('OPNN_SBMSN_GIST', this.innerText, 'match', 'part');">의견제출요지</th>
|
|
|
|
|
<th onclick="searchFromGridTitle('CRDN_YMD', this.innerText, 'ymd', '');">단속일시</th>
|
|
|
|
|
<th onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th>
|
|
|
|
|
<th onclick="searchFromGridTitle('CRDN_PLC', this.innerText, 'match', 'part');">단속장소</th>
|
|
|
|
|
<th onclick="searchFromGridTitle('CRDN_STTS_NM', this.innerText, 'codeValue', 'FIM010');">처리상태명</th>
|
|
|
|
|
<th onclick="searchFromGridTitle('DOC_NO', this.innerText, 'ymd', '');">문서번호</th>
|
|
|
|
|
<th onclick="searchFromGridTitle('ANS_YMD', this.innerText, 'ymd', '');">답변일자</th>
|
|
|
|
|
<th onclick="searchFromGridTitle('ANS_CN', this.innerText, 'match', 'part');">답변내용</th>
|
|
|
|
|
<th onclick="searchFromGridTitle('RTPYR_NM', this.innerText, 'match', 'part');">납부자명</th>
|
|
|
|
|
<th onclick="searchFromGridTitle('RTPYR_BRDT', this.innerText, 'ymd', '');">납부자생일</th>
|
|
|
|
|
<th>등록일시</th>
|
|
|
|
|
<th>등록사용자</th>
|
|
|
|
|
<th>수정일시</th>
|
|
|
|
|
<th>수정사용자</th>
|
|
|
|
|
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('RCPT_YMD', this.innerText, 'ymd', '');">접수일자</th>
|
|
|
|
|
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('RCPT_NO', this.innerText, 'match', 'part');">접수번호</th>
|
|
|
|
|
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('RCPT_SE_NM', this.innerText, 'codeValue', 'FIM029');">접수구분명</th>
|
|
|
|
|
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('NTFCTN_SE_NM', this.innerText, 'codeValue', 'FIM030');">통보구분명</th>
|
|
|
|
|
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('STTR_NM', this.innerText, 'match', 'part');">진술자명</th>
|
|
|
|
|
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('OPNN_SBMSN_STTS_NM', this.innerText, 'codeValue', 'FIM031');">의견제출상태</th>
|
|
|
|
|
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('OPNN_SBMSN_SE_NM', this.innerText, 'codeValue', 'FIM033');">의견제출분류</th>
|
|
|
|
|
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('OPNN_SBMSN_GIST', this.innerText, 'match', 'part');">의견제출요지</th>
|
|
|
|
|
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('CRDN_YMD', this.innerText, 'ymd', '');">단속일시</th>
|
|
|
|
|
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th>
|
|
|
|
|
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('CRDN_PLC', this.innerText, 'match', 'part');">단속장소</th>
|
|
|
|
|
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('FFNLG_AMT', this.innerText, 'match', 'part');">단속금액</th>
|
|
|
|
|
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STTS_NM', this.innerText, 'codeValue', 'FIM010');">처리상태명</th>
|
|
|
|
|
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('DOC_NO', this.innerText, 'ymd', '');">문서번호</th>
|
|
|
|
|
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('ANS_YMD', this.innerText, 'ymd', '');">답변일자</th>
|
|
|
|
|
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('ANS_CN', this.innerText, 'match', 'part');">답변내용</th>
|
|
|
|
|
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('RTPYR_NM', this.innerText, 'match', 'part');">납부자명</th>
|
|
|
|
|
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('RTPYR_BRDT', this.innerText, 'ymd', '');">납부자생일</th>
|
|
|
|
|
<th class="cmn" style="width: 180px;">등록일시</th>
|
|
|
|
|
<th class="cmn" style="width: 140px;">등록사용자</th>
|
|
|
|
|
<th class="cmn" style="width: 180px;">수정일시</th>
|
|
|
|
|
<th class="cmn" style="width: 140px;">수정사용자</th>
|
|
|
|
|
<th class="cmn dummy-th"></th>
|
|
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
<tbody id="tbody--${pageName}">
|
|
|
|
|
</tbody>
|
|
|
|
|
<template id="${infoPrefix}Row--${pageName}">
|
|
|
|
|
<tr data-key="{OPNN_ID}">
|
|
|
|
|
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
|
|
|
|
|
<td class="text-center">
|
|
|
|
|
<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="{OPNN_ID}" onchange="${pageName}Control.select('{OPNN_ID}', this.checked);">
|
|
|
|
|
</td>
|
|
|
|
|
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCPT_YMD}</td>
|
|
|
|
|
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCPT_NO}</td>
|
|
|
|
|
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCPT_SE_NM}</td>
|
|
|
|
|
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{NTFCTN_SE_NM}</td>
|
|
|
|
|
<td class="text-start" onclick="{onclick}" ondblclick="{ondblclick}">{STTR_NM}</td>
|
|
|
|
|
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{OPNN_SBMSN_STTS_NM}</td>
|
|
|
|
|
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{OPNN_SBMSN_SE_NM}</td>
|
|
|
|
|
<td class="text-start" onclick="{onclick}" ondblclick="{ondblclick}">{OPNN_SBMSN_GIST}</td>
|
|
|
|
|
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_YMD_TM}</td>
|
|
|
|
|
<td class="text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VHRNO}</td>
|
|
|
|
|
<td class="text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_PLC}</td>
|
|
|
|
|
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STTS_NM}</td>
|
|
|
|
|
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{DOC_NO}</td>
|
|
|
|
|
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ANS_YMD}</td>
|
|
|
|
|
<td class="text-start" onclick="{onclick}" ondblclick="{ondblclick}">{ANS_CN}</td>
|
|
|
|
|
<td class="text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NM}</td>
|
|
|
|
|
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_BRDT_FORMAT}</td>
|
|
|
|
|
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
|
|
|
|
|
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
|
|
|
|
|
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
|
|
|
|
|
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
|
|
|
|
|
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCPT_YMD}</td>
|
|
|
|
|
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCPT_NO}</td>
|
|
|
|
|
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCPT_SE_NM}</td>
|
|
|
|
|
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{NTFCTN_SE_NM}</td>
|
|
|
|
|
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{STTR_NM}</td>
|
|
|
|
|
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{OPNN_SBMSN_STTS_NM}</td>
|
|
|
|
|
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{OPNN_SBMSN_SE_NM}</td>
|
|
|
|
|
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{OPNN_SBMSN_GIST}</td>
|
|
|
|
|
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_YMD_TM}</td>
|
|
|
|
|
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VHRNO}</td>
|
|
|
|
|
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_PLC}</td>
|
|
|
|
|
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{FFNLG_CRDN_AMT}</td>
|
|
|
|
|
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STTS_NM}</td>
|
|
|
|
|
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{DOC_NO}</td>
|
|
|
|
|
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ANS_YMD}</td>
|
|
|
|
|
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{ANS_CN}</td>
|
|
|
|
|
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NM}</td>
|
|
|
|
|
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_BRDT_FORMAT}</td>
|
|
|
|
|
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
|
|
|
|
|
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
|
|
|
|
|
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
|
|
|
|
|
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
|
|
|
|
|
<td class="cmn dummy-td"></td>
|
|
|
|
|
</tr>
|
|
|
|
|
</template>
|
|
|
|
|
<template id="${infoPrefix}NotFound--${pageName}">
|
|
|
|
|
<tr class="odd">
|
|
|
|
|
<td valign="top" colspan="23" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
|
|
|
|
|
<td valign="top" colspan="25" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</template>
|
|
|
|
|
</table>
|
|
|
|
@ -293,11 +297,13 @@
|
|
|
|
|
, keymapper : info => info ? info.OPNN_ID : ""
|
|
|
|
|
, dataGetter : obj => obj.opnnSbmsnList
|
|
|
|
|
, appendData : true
|
|
|
|
|
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
|
|
|
|
|
, formats : {
|
|
|
|
|
RCPT_YMD : dateFormat
|
|
|
|
|
, ANS_YMD : dateFormat
|
|
|
|
|
, ANS_YMD_TM : datetimeFormat
|
|
|
|
|
, CRDN_YMD_TM : datetimeFormat
|
|
|
|
|
, FFNLG_CRDN_AMT : numberFormat
|
|
|
|
|
, REG_DT : datetimeFormat
|
|
|
|
|
, MDFCN_DT : datetimeFormat
|
|
|
|
|
}
|
|
|
|
@ -318,6 +324,8 @@
|
|
|
|
|
, fetchSize : obj.${infoPrefix}Fetch
|
|
|
|
|
, func : "${pageName}Control.load({index})"
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
${pageName}Control.tableRenderComplete = true; // dataTables 에 자료 추가 완료
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 현재 선택 자료 변경 이벤트
|
|
|
|
@ -513,13 +521,19 @@
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// DataTables width 변경 조정
|
|
|
|
|
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
|
|
|
|
|
|
|
|
|
|
// DataTables 스크롤 이벤트
|
|
|
|
|
$("#table-responsive--${pageName}").scroll(function(obj) {
|
|
|
|
|
$("#table-responsive--${pageName}").scroll(function() {
|
|
|
|
|
let el = $(this);
|
|
|
|
|
|
|
|
|
|
if (el.scrollTop() == 0) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (!${pageName}Control.tableRenderComplete) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
let itemsCnt = ${pageName}Control.dataset._items.length;
|
|
|
|
|
let totCnt = ${pageName}Control.dataset.getValue("TOT_CNT");
|
|
|
|
@ -529,6 +543,8 @@
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ((el[0].scrollHeight - el.scrollTop() + VERTICAL_SCROLL_HEIGHT) <= el.outerHeight()) {
|
|
|
|
|
${pageName}Control.tableRenderComplete = false; // dataTables 에 자료 추가 완료
|
|
|
|
|
|
|
|
|
|
${pageName}Control.load(${pageName}Control.query.pageNum + 1);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|