|
|
@ -5,7 +5,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
<div class="content-wrapper">
|
|
|
|
<div class="content-wrapper">
|
|
|
|
<div class="container-xxl flex-grow-1 px-0">
|
|
|
|
<div class="container-xxl flex-grow-1 px-0">
|
|
|
|
<div class="card wrapper-list">
|
|
|
|
<div id="statWrapper--${pageName}" class="card wrapper-list">
|
|
|
|
<span class="mb-1">
|
|
|
|
<span class="mb-1">
|
|
|
|
<!-- 상단 버튼 -->
|
|
|
|
<!-- 상단 버튼 -->
|
|
|
|
<div class="container-page-btn">
|
|
|
|
<div class="container-page-btn">
|
|
|
@ -119,11 +119,11 @@
|
|
|
|
</form>
|
|
|
|
</form>
|
|
|
|
</span>
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
<span>
|
|
|
|
<span id="masterArea--${pageName}">
|
|
|
|
<div class="card-datatable text-nowrap">
|
|
|
|
<div class="card-datatable text-nowrap">
|
|
|
|
<div class="dataTables_wrapper dt-bootstrap5 no-footer">
|
|
|
|
<div class="dataTables_wrapper dt-bootstrap5 no-footer">
|
|
|
|
<div class="table-responsive"
|
|
|
|
<div class="table-responsive"
|
|
|
|
style="overflow-x: scroll;height:500px;overflow-y: scroll;">
|
|
|
|
style="overflow-x: scroll;height:350px;overflow-y: scroll;">
|
|
|
|
<table id="masterTable--${pageName}"
|
|
|
|
<table id="masterTable--${pageName}"
|
|
|
|
class="table-layout-fixed datatables-ajax table table-bordered dataTable no-footer">
|
|
|
|
class="table-layout-fixed datatables-ajax table table-bordered dataTable no-footer">
|
|
|
|
<thead class="sticky-thead">
|
|
|
|
<thead class="sticky-thead">
|
|
|
@ -139,11 +139,11 @@
|
|
|
|
</span>
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
<span id="detailArea--${pageName}" hidden>
|
|
|
|
<span id="detailArea--${pageName}" hidden>
|
|
|
|
<h2 class="mt-4">상세조회</h2>
|
|
|
|
<h2 class="mt-4">상세목록</h2>
|
|
|
|
<div class="card-datatable text-nowrap">
|
|
|
|
<div class="card-datatable text-nowrap">
|
|
|
|
<div class="dataTables_wrapper dt-bootstrap5 no-footer">
|
|
|
|
<div class="dataTables_wrapper dt-bootstrap5 no-footer">
|
|
|
|
<div class="table-responsive"
|
|
|
|
<div class="table-responsive"
|
|
|
|
style="overflow-x: scroll;height:500px;overflow-y: scroll;">
|
|
|
|
style="overflow-x: scroll;height:350px;overflow-y: scroll;">
|
|
|
|
<table id="detailTable--${pageName}"
|
|
|
|
<table id="detailTable--${pageName}"
|
|
|
|
class="table-layout-fixed datatables-ajax table table-bordered dataTable no-footer">
|
|
|
|
class="table-layout-fixed datatables-ajax table table-bordered dataTable no-footer">
|
|
|
|
<thead class="sticky-thead">
|
|
|
|
<thead class="sticky-thead">
|
|
|
@ -167,7 +167,9 @@
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
<script>
|
|
|
|
|
|
|
|
/**************************************************************************
|
|
|
|
|
|
|
|
* Global Variable
|
|
|
|
|
|
|
|
**************************************************************************/
|
|
|
|
pageObject["${pageName}"] = {};
|
|
|
|
pageObject["${pageName}"] = {};
|
|
|
|
|
|
|
|
|
|
|
|
$(document).ready(function(){
|
|
|
|
$(document).ready(function(){
|
|
|
@ -175,6 +177,51 @@ $(document).ready(function(){
|
|
|
|
var $P = pageObject["${pageName}"];
|
|
|
|
var $P = pageObject["${pageName}"];
|
|
|
|
|
|
|
|
|
|
|
|
$P.statQuery = {};
|
|
|
|
$P.statQuery = {};
|
|
|
|
|
|
|
|
$P.refListMap = {};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**************************************************************************
|
|
|
|
|
|
|
|
* datasetControl
|
|
|
|
|
|
|
|
**************************************************************************/
|
|
|
|
|
|
|
|
$P.detailGridControl = new DatasetControl({
|
|
|
|
|
|
|
|
urls : { },
|
|
|
|
|
|
|
|
dataGetter : obj => Array.isArray(obj) ? obj : [],
|
|
|
|
|
|
|
|
appendData:false,
|
|
|
|
|
|
|
|
keymapper : info => info ? info.DATA_ID : "",
|
|
|
|
|
|
|
|
formats : {
|
|
|
|
|
|
|
|
CVLCPT_PRCS_PRNMNT_DT : dateFormat,
|
|
|
|
|
|
|
|
CVLCPT_RCPT_YMD : dateFormat,
|
|
|
|
|
|
|
|
LEVY_EXCL_YMD : dateFormat,
|
|
|
|
|
|
|
|
CVLCPT_RCPT_YMD : dateFormat,
|
|
|
|
|
|
|
|
CRDN_YMD_TM : datetimeFormat,
|
|
|
|
|
|
|
|
REG_DT : datetimeFormat,
|
|
|
|
|
|
|
|
MDFCN_DT : datetimeFormat,
|
|
|
|
|
|
|
|
CVLCPT_PRCS_PRNMNT_DT : datetimeFormat,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FFNLG_CRDN_AMT : numberFormat,
|
|
|
|
|
|
|
|
FFNLG_AMT : numberFormat,
|
|
|
|
|
|
|
|
RCVMT_AMT : numberFormat
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**************************************************************************
|
|
|
|
|
|
|
|
* DatasetControl.on
|
|
|
|
|
|
|
|
**************************************************************************/
|
|
|
|
|
|
|
|
$P.detailGridControl.onDatasetChange = () => {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var ds = $P.detailGridControl.dataset;
|
|
|
|
|
|
|
|
var empty = ds.empty;
|
|
|
|
|
|
|
|
var notFound = [""];
|
|
|
|
|
|
|
|
var found = document.getElementById("detailGridTbodyTemplate--${pageName}").innerHTML;
|
|
|
|
|
|
|
|
var replacer = (str, dataItem) => str
|
|
|
|
|
|
|
|
.replace(/{onclick}/gi, "pageObject['${pageName}'].clickDetailGrid('" + dataItem.getValue("DATA_ID") + "');")
|
|
|
|
|
|
|
|
.replace(/{ondblclick}/gi, "pageObject['${pageName}'].dblClickDetailGrid('" + dataItem.getValue("DATA_ID") + "');");
|
|
|
|
|
|
|
|
var trs = empty ? notFound : ds.inStrings(found, replacer);
|
|
|
|
|
|
|
|
$("#detailTbody--${pageName}").html(trs.join());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//보안모드
|
|
|
|
|
|
|
|
fn_securityModeToggle($("#securityMode--top").is(":checked"));
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/**************************************************************************
|
|
|
|
/**************************************************************************
|
|
|
|
* pageObject.function
|
|
|
|
* pageObject.function
|
|
|
|
**************************************************************************/
|
|
|
|
**************************************************************************/
|
|
|
@ -341,6 +388,10 @@ $(document).ready(function(){
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
$("#masterThead--${pageName}").append("<th class='cmn dummy-th'></th>");
|
|
|
|
$("#masterThead--${pageName}").append("<th class='cmn dummy-th'></th>");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//하단 그리드
|
|
|
|
|
|
|
|
var detailTheadTemplate = document.getElementById("detailGridTheadTemplate--${pageName}");
|
|
|
|
|
|
|
|
$("#detailThead--${pageName}").append(detailTheadTemplate.innerHTML);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//상세 그리드 표시
|
|
|
|
//상세 그리드 표시
|
|
|
@ -424,6 +475,7 @@ $(document).ready(function(){
|
|
|
|
$P.renderStat = (stat) => {
|
|
|
|
$P.renderStat = (stat) => {
|
|
|
|
$("#masterTbody--${pageName}").html("");
|
|
|
|
$("#masterTbody--${pageName}").html("");
|
|
|
|
$("#detailTbody--${pageName}").html("");
|
|
|
|
$("#detailTbody--${pageName}").html("");
|
|
|
|
|
|
|
|
refListMap = {};
|
|
|
|
|
|
|
|
|
|
|
|
var statItems = stat.statItems;
|
|
|
|
var statItems = stat.statItems;
|
|
|
|
|
|
|
|
|
|
|
@ -440,14 +492,18 @@ $(document).ready(function(){
|
|
|
|
var pointMove = Number.parseFloat(0.1 ** decimalPoint).toFixed(decimalPoint);
|
|
|
|
var pointMove = Number.parseFloat(0.1 ** decimalPoint).toFixed(decimalPoint);
|
|
|
|
|
|
|
|
|
|
|
|
for(var i=0; i < statItems.length; i++){
|
|
|
|
for(var i=0; i < statItems.length; i++){
|
|
|
|
|
|
|
|
|
|
|
|
var statItem = statItems[i];
|
|
|
|
var statItem = statItems[i];
|
|
|
|
|
|
|
|
|
|
|
|
var itemIds = statItem.itemId;
|
|
|
|
var itemIds = statItem.itemId;
|
|
|
|
var itemNames = statItem.itemName;
|
|
|
|
var itemNames = statItem.itemName;
|
|
|
|
|
|
|
|
|
|
|
|
var numberValues = statItem.numberValue;
|
|
|
|
var numberValues = statItem.numberValue;
|
|
|
|
|
|
|
|
|
|
|
|
var tr = "<tr>";
|
|
|
|
var itemKey = itemIds.join("_");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
refListMap[itemKey] = statItem.refList == null ? [] : statItem.refList;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var tr = "<tr data-key='"+itemKey+"' >";
|
|
|
|
|
|
|
|
|
|
|
|
for(var j=0; j < itemNames.length; j++){
|
|
|
|
for(var j=0; j < itemNames.length; j++){
|
|
|
|
|
|
|
|
|
|
|
@ -475,6 +531,28 @@ $(document).ready(function(){
|
|
|
|
|
|
|
|
|
|
|
|
$("#masterTbody--${pageName}").append(tr);
|
|
|
|
$("#masterTbody--${pageName}").append(tr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
$("#masterTbody--${pageName} tr").attr("onclick","pageObject['${pageName}'].clickMasterGrid(this);");
|
|
|
|
|
|
|
|
$("#masterTbody--${pageName} tr").attr("ondblclick","pageObject['${pageName}'].dblClickMasterGrid(this);");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$P.clickMasterGrid = (obj) => {
|
|
|
|
|
|
|
|
var dataKey = obj.dataset.key;
|
|
|
|
|
|
|
|
$("#masterTbody--${pageName}").setCurrentRow(dataKey);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$P.dblClickMasterGrid = (obj) => {
|
|
|
|
|
|
|
|
var dataKey = obj.dataset.key;
|
|
|
|
|
|
|
|
$P.detailGridControl.setData(refListMap[dataKey]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var offset = $('#masterArea--${pageName}').offset();
|
|
|
|
|
|
|
|
$('#statWrapper--${pageName}').animate({scrollTop : offset.top}, 400);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$P.clickDetailGrid = (key) => {
|
|
|
|
|
|
|
|
$("#detailTbody--${pageName}").setCurrentRow(key);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$P.dblClickDetailGrid = (key) => {
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|