|
|
|
@ -71,9 +71,11 @@
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div id="" class="nav-align-top my-2 mx-2" style="flex-direction: row;">
|
|
|
|
|
<div class="nav-align-top my-2 mx-2" style="flex-direction: row;">
|
|
|
|
|
<ul class="nav nav-tabs" role="tablist" id="tabButtonContainer--${pageName}">
|
|
|
|
|
</ul>
|
|
|
|
|
<button type="button" id="btnOpenSelectTaskDialog--${pageName}"
|
|
|
|
|
class="btn btn-darkgray ms-1 superadmin">+ 새 과태료업무 추가</button>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<span class="tab-content" id="tabContentContainer--${pageName}">
|
|
|
|
@ -98,15 +100,21 @@
|
|
|
|
|
<template id="taskTabContentsTemplate--${pageName}">
|
|
|
|
|
|
|
|
|
|
<span id="tab{task}--${pageName}" class="tab-pane {activeshow}" role="tabpanel">
|
|
|
|
|
<div class="mx-3 my-2 d-block">
|
|
|
|
|
<span>
|
|
|
|
|
<button type="button" onclick="" class="btn btn-primary w-px-100" style="float:right"
|
|
|
|
|
disabled>저장</button>
|
|
|
|
|
</span>
|
|
|
|
|
<div class="mx-3 my-2 d-flex" style="flex-direction:column">
|
|
|
|
|
<div class="float-end">
|
|
|
|
|
<button type="button" data-task="{task}"
|
|
|
|
|
onclick="pageObject['${pageName}'].fnSaveForTask(this);"
|
|
|
|
|
class="btn btn-primary w-px-100" style="float:right"
|
|
|
|
|
>저장</button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<form id="{task}Form--${pageName}">
|
|
|
|
|
<div class="row g-3 mt-1 mb-3">
|
|
|
|
|
<div class="col-md-3">
|
|
|
|
|
<label class="w-px-140 col-form-label text-sm-end" for="">업무명</label>
|
|
|
|
|
<input name="taskSeNm" type="text" class="form-control w-px-150" />
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-3">
|
|
|
|
|
<label class="w-px-140 col-form-label text-sm-end" for="">사전통지일수</label>
|
|
|
|
|
<input name="advntceDayCnt" type="text" class="form-control w-px-50" />
|
|
|
|
@ -119,8 +127,6 @@
|
|
|
|
|
<label class="w-px-140 col-form-label text-sm-end" for="">사회적약자감경율</label>
|
|
|
|
|
<input name="wksnRductRt" type="text" class="form-control w-px-50" />
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-3">
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-3">
|
|
|
|
|
<label class="w-px-140 col-form-label text-sm-end" for="">과태료가산일자</label>
|
|
|
|
|
<input name="ffnlgAdtnYmd" type="text" class="form-control w-px-100" />
|
|
|
|
@ -138,57 +144,95 @@
|
|
|
|
|
<input name="ffnlgInadtnMxmmCnt" type="text" class="form-control w-px-50" />
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="card-datatable text-nowrap area-photoinspection mx-2 mt-2 mb-3">
|
|
|
|
|
<div id="{task}Table_0_wrapper--${pageName}" class="dataTables_wrapper dt-bootstrap5 no-footer">
|
|
|
|
|
<div id="{task}table-responsive--${pageName}" class="table-responsive"
|
|
|
|
|
style="overflow-x: scroll;height:300px;overflow-y: scroll;">
|
|
|
|
|
<table id="{task}Table_0--${pageName}"
|
|
|
|
|
class="table-layout-fixed datatables-ajax table table-bordered dataTable no-footer">
|
|
|
|
|
<thead class="sticky-thead">
|
|
|
|
|
<tr>
|
|
|
|
|
<th style="width: 90px;">위반코드</th>
|
|
|
|
|
<th style="width: 160px;">위반항목</th>
|
|
|
|
|
<th style="width: 360px;">위반법명</th>
|
|
|
|
|
<th style="width: 160px;">위반법1</th>
|
|
|
|
|
<th style="width: 160px;">위반법2</th>
|
|
|
|
|
<th style="width: 160px;">위반법기타</th>
|
|
|
|
|
<th style="width: 120px;">회계구분코드</th>
|
|
|
|
|
<th style="width: 120px;">회계구분명</th>
|
|
|
|
|
<th style="width: 120px;">세목코드</th>
|
|
|
|
|
<th style="width: 300px;">세목명</th>
|
|
|
|
|
<th style="width: 120px;">운영항목코드</th>
|
|
|
|
|
<th style="width: 300px;">운영항목명</th>
|
|
|
|
|
<th style="width: 160px;">특별회계사업코드</th>
|
|
|
|
|
<th style="width: 300px;">특별회계사업명</th>
|
|
|
|
|
<th class="dummy-th"></th>
|
|
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
<tbody id="{task}tbody--${pageName}"></tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="row g-3 mt-1 mb-3 superadmin">
|
|
|
|
|
<div class="col-md-3">
|
|
|
|
|
<label class="w-px-140 col-form-label text-sm-end" for="">세외수입연계<br/>구분코드</label>
|
|
|
|
|
<input name="nxrpLinkSeCd" type="text" class="form-control w-px-50" />
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-3">
|
|
|
|
|
<label class="w-px-140 col-form-label text-sm-end" for="">세외수입연계<br/>구분상세순번</label>
|
|
|
|
|
<input name="nxrpLinkSeDtlSn" type="text" class="form-control w-px-50" />
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-6"></div>
|
|
|
|
|
</div>
|
|
|
|
|
</form>
|
|
|
|
|
|
|
|
|
|
<div class="card-datatable text-nowrap area-photoinspection mx-2 mt-2 mb-3">
|
|
|
|
|
<div id="{task}Table_0_wrapper--${pageName}" class="dataTables_wrapper dt-bootstrap5 no-footer">
|
|
|
|
|
<div id="{task}table-responsive--${pageName}" class="table-responsive"
|
|
|
|
|
style="overflow-x: scroll;height:300px;overflow-y: scroll;">
|
|
|
|
|
<table id="{task}Table_0--${pageName}"
|
|
|
|
|
class="table-layout-fixed datatables-ajax table table-bordered dataTable no-footer">
|
|
|
|
|
<thead class="sticky-thead">
|
|
|
|
|
<tr>
|
|
|
|
|
<th style="width: 90px;">위반코드</th>
|
|
|
|
|
<th style="width: 160px;">위반항목</th>
|
|
|
|
|
<th style="width: 360px;">위반법명</th>
|
|
|
|
|
<th style="width: 160px;">위반법1</th>
|
|
|
|
|
<th style="width: 160px;">위반법2</th>
|
|
|
|
|
<th style="width: 160px;">위반법기타</th>
|
|
|
|
|
<th style="width: 120px;">회계구분코드</th>
|
|
|
|
|
<th style="width: 120px;">회계구분명</th>
|
|
|
|
|
<th style="width: 120px;">세목코드</th>
|
|
|
|
|
<th style="width: 300px;">세목명</th>
|
|
|
|
|
<th style="width: 120px;">운영항목코드</th>
|
|
|
|
|
<th style="width: 300px;">운영항목명</th>
|
|
|
|
|
<th style="width: 160px;">특별회계사업코드</th>
|
|
|
|
|
<th style="width: 300px;">특별회계사업명</th>
|
|
|
|
|
<th class="dummy-th"></th>
|
|
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
<tbody id="{task}tbody--${pageName}"></tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template id="taskTbodyTemplate--${pageName}">
|
|
|
|
|
<tr data-key="{VLTN_ID}">
|
|
|
|
|
<td>{VLTN_CD}</td>
|
|
|
|
|
<td><input type="text" class="form-control w-100" value="{VLTN_ARTCL}" /></td>
|
|
|
|
|
<td><input type="text" class="form-control w-100" value="{VLTN_LAW_NM}" /></td>
|
|
|
|
|
<td><input type="text" class="form-control w-100" value="{VLTN_LAW1}" /></td>
|
|
|
|
|
<td><input type="text" class="form-control w-100" value="{VLTN_LAW2}" /></td>
|
|
|
|
|
<td><input type="text" class="form-control w-100" value="{VLTN_LAW_ETC}" /></td>
|
|
|
|
|
<td><input type="text" class="form-control w-100" value="{ACNTG_SE_CD}" /></td>
|
|
|
|
|
<td><input type="text" class="form-control w-100" value="{ACNTG_SE_NM}" /></td>
|
|
|
|
|
<td><input type="text" class="form-control w-100" value="{TXITM_CD}" /></td>
|
|
|
|
|
<td><input type="text" class="form-control w-100" value="{TXITM_NM}" /></td>
|
|
|
|
|
<td><input type="text" class="form-control w-100" value="{OPER_ITEM_CD}" /></td>
|
|
|
|
|
<td><input type="text" class="form-control w-100" value="{OPER_ITEM_NM}" /></td>
|
|
|
|
|
<td><input type="text" class="form-control w-100" value="{SPCL_BIZ_CD}" /></td>
|
|
|
|
|
<td><input type="text" class="form-control w-100" value="{SPCL_BIZ_NM}" /></td>
|
|
|
|
|
<td data-col="vltnArtcl">
|
|
|
|
|
<input type="text" class="form-control w-100" value="{VLTN_ARTCL}" />
|
|
|
|
|
</td>
|
|
|
|
|
<td data-col="vltnLawNm">
|
|
|
|
|
<input type="text" class="form-control w-100" value="{VLTN_LAW_NM}" />
|
|
|
|
|
</td>
|
|
|
|
|
<td data-col="vltnLaw1">
|
|
|
|
|
<input type="text" class="form-control w-100" value="{VLTN_LAW1}" />
|
|
|
|
|
</td>
|
|
|
|
|
<td data-col="vltnLaw2">
|
|
|
|
|
<input type="text" class="form-control w-100" value="{VLTN_LAW2}" />
|
|
|
|
|
</td>
|
|
|
|
|
<td data-col="vltnLawEtc">
|
|
|
|
|
<input type="text" class="form-control w-100" value="{VLTN_LAW_ETC}" />
|
|
|
|
|
</td>
|
|
|
|
|
<td data-col="acntgSeCd">
|
|
|
|
|
<input type="text" class="form-control w-100" value="{ACNTG_SE_CD}" />
|
|
|
|
|
</td>
|
|
|
|
|
<td data-col="acntgSeNm">
|
|
|
|
|
<input type="text" class="form-control w-100" value="{ACNTG_SE_NM}" />
|
|
|
|
|
</td>
|
|
|
|
|
<td data-col="txitmCd">
|
|
|
|
|
<input type="text" class="form-control w-100" value="{TXITM_CD}" />
|
|
|
|
|
</td>
|
|
|
|
|
<td data-col="txitmNm">
|
|
|
|
|
<input type="text" class="form-control w-100" value="{TXITM_NM}" />
|
|
|
|
|
</td>
|
|
|
|
|
<td data-col="operItemCd">
|
|
|
|
|
<input type="text" class="form-control w-100" value="{OPER_ITEM_CD}" />
|
|
|
|
|
</td>
|
|
|
|
|
<td data-col="operItemNm">
|
|
|
|
|
<input type="text" class="form-control w-100" value="{OPER_ITEM_NM}" />
|
|
|
|
|
</td>
|
|
|
|
|
<td data-col="spclBizCd">
|
|
|
|
|
<input type="text" class="form-control w-100" value="{SPCL_BIZ_CD}" />
|
|
|
|
|
</td>
|
|
|
|
|
<td data-col="spclBizNm">
|
|
|
|
|
<input type="text" class="form-control w-100" value="{SPCL_BIZ_NM}" />
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
@ -198,6 +242,10 @@ pageObject["${pageName}"] = {};
|
|
|
|
|
|
|
|
|
|
$(document).ready(function(){
|
|
|
|
|
|
|
|
|
|
if(MY_INFO.institute != "default"){
|
|
|
|
|
$(".superadmin").attr("hidden","hidden");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var $P = pageObject["${pageName}"];
|
|
|
|
|
$P.sggInfo = {};
|
|
|
|
|
$P.taskList = [];
|
|
|
|
@ -306,11 +354,15 @@ $(document).ready(function(){
|
|
|
|
|
$("#tabButtonContainer--${pageName}").html(tabs.join(""));
|
|
|
|
|
$("#tabContentContainer--${pageName}").html(contents.join(""));
|
|
|
|
|
|
|
|
|
|
if(MY_INFO.institute != "default"){
|
|
|
|
|
$(".superadmin").attr("hidden","hidden");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for(var i=0; i < $P.taskList.length; i++){
|
|
|
|
|
var task = $P.taskList[i];
|
|
|
|
|
var taskSeCd = task.TASK_SE_CD;
|
|
|
|
|
var taskSeNm = task.TASK_SE_NM;
|
|
|
|
|
|
|
|
|
|
$("#"+taskSeCd+"Form--${pageName}").find("[name='taskSeNm']").val(taskSeNm);
|
|
|
|
|
$("#"+taskSeCd+"Form--${pageName}").find("[name='advntceDayCnt']").val(task.ADVNTCE_DAY_CNT);
|
|
|
|
|
$("#"+taskSeCd+"Form--${pageName}").find("[name='advntceRductRt']").val(task.ADVNTCE_RDUCT_RT);
|
|
|
|
|
$("#"+taskSeCd+"Form--${pageName}").find("[name='wksnRductRt']").val(task.WKSN_RDUCT_RT);
|
|
|
|
@ -319,6 +371,8 @@ $(document).ready(function(){
|
|
|
|
|
$("#"+taskSeCd+"Form--${pageName}").find("[name='ffnlgInadtnRt']").val(task.FFNLG_INADTN_RT);
|
|
|
|
|
$("#"+taskSeCd+"Form--${pageName}").find("[name='ffnlgInadtnMxmmCnt']").val(task.FFNLG_INADTN_MXMM_CNT);
|
|
|
|
|
|
|
|
|
|
$("#"+taskSeCd+"Form--${pageName}").find("[name='nxrpLinkSeCd']").val(task.NXRP_LINK_SE_CD);
|
|
|
|
|
$("#"+taskSeCd+"Form--${pageName}").find("[name='nxrpLinkSeDtlSn']").val(task.NXRP_LINK_SE_DTL_SN);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
resolve({resp, textStatus, jqXHR});
|
|
|
|
@ -361,10 +415,12 @@ $(document).ready(function(){
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
//이미지 뷰어
|
|
|
|
|
fnMakeSingleImageViewer($("#offcsImage--${pageName}")[0] , $("#offcs--${pageName}")[0], "orgn-path", "orgn-name");
|
|
|
|
|
fnMakeSingleImageViewer($("#symbolImage--${pageName}")[0] , $("#symbol--${pageName}")[0], "orgn-path", "orgn-name");
|
|
|
|
|
fnMakeSingleImageViewer($("#logoImage--${pageName}")[0] , $("#logo--${pageName}")[0], "orgn-path", "orgn-name");
|
|
|
|
|
|
|
|
|
|
//시군구 기본 설정 저장 버튼
|
|
|
|
|
$("#btnSaveSgg--${pageName}").on("click", function(){
|
|
|
|
|
|
|
|
|
|
var formData = new FormData($("#mainForm--${pageName}")[0]);
|
|
|
|
@ -388,7 +444,138 @@ $(document).ready(function(){
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//업무 추가 버튼
|
|
|
|
|
$("#btnOpenSelectTaskDialog--${pageName}").on("click", function(){
|
|
|
|
|
$("#selectTaskButtons").html("");
|
|
|
|
|
|
|
|
|
|
var keys = Object.keys(ALL_TASK);
|
|
|
|
|
var ableKeys = [];
|
|
|
|
|
|
|
|
|
|
for(var i=0; i < keys.length; i++){
|
|
|
|
|
if($("#tabContentContainer--${pageName}").find("#tab"+keys[i]+"--${pageName}").length < 1){
|
|
|
|
|
ableKeys.push(keys[i]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(ableKeys.length < 1){
|
|
|
|
|
alert("추가 가능한 과태료 업무가 없습니다.");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var pn = "${pageName}";
|
|
|
|
|
for(var i=0; i < ableKeys.length; i++){
|
|
|
|
|
|
|
|
|
|
var button = `<button type="button" class="btn btn-xl btn-primary" onclick="pageObject['`
|
|
|
|
|
+pn
|
|
|
|
|
+`'].fnCreateTaskStng('`
|
|
|
|
|
+ableKeys[i]
|
|
|
|
|
+`');">`
|
|
|
|
|
+ALL_TASK[ableKeys[i]]
|
|
|
|
|
+`</button>`;
|
|
|
|
|
|
|
|
|
|
$("#selectTaskButtons").append(button);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$("#selectTaskModal").modal("show");
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$P.fnCreateTaskStng = (taskSeCd) => {
|
|
|
|
|
$("#selectTaskModal").modal("hide");
|
|
|
|
|
|
|
|
|
|
ajax.post({
|
|
|
|
|
url: wctx.url("mngt/mngt03/010/createTaskStng.do"),
|
|
|
|
|
data: {
|
|
|
|
|
sggCd : $("#mainForm--${pageName}").find("[name='sggCd']").val(),
|
|
|
|
|
taskSeCd : taskSeCd
|
|
|
|
|
},
|
|
|
|
|
success: (resp) => {
|
|
|
|
|
dialog.alert({
|
|
|
|
|
content : "저장됐습니다.",
|
|
|
|
|
init : function(){
|
|
|
|
|
setDialogZindex();
|
|
|
|
|
focusClose();
|
|
|
|
|
},
|
|
|
|
|
onClose : () => {
|
|
|
|
|
$P.getSggTaskInfo().then(()=>{ $P.getVltnInfo(); });
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
$P.fnSaveForTask = (el) => {
|
|
|
|
|
var taskSeCd = el.dataset.task;
|
|
|
|
|
var sggCd = $("#mainForm--${pageName}").find("[name='sggCd']").val();
|
|
|
|
|
|
|
|
|
|
var formData = new FormData($("#"+taskSeCd+"Form--${pageName}")[0]);
|
|
|
|
|
formData.append("taskSeCd",taskSeCd);
|
|
|
|
|
formData.append("sggCd", sggCd);
|
|
|
|
|
|
|
|
|
|
var rowArr = $P.getRowData(taskSeCd+"tbody--${pageName}", formData);
|
|
|
|
|
|
|
|
|
|
var vltnStngList = fnJsonArrayToFormData(rowArr,"vltnStngList");
|
|
|
|
|
var keys = Object.keys(vltnStngList);
|
|
|
|
|
for(var i=0; i < keys.length; i++){
|
|
|
|
|
formData.append(keys[i], vltnStngList[keys[i]]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ajax.post({
|
|
|
|
|
url: wctx.url("mngt/mngt03/010/updateTaskStng.do"),
|
|
|
|
|
data: formData,
|
|
|
|
|
contentType : false, processData : false,
|
|
|
|
|
success: (resp) => {
|
|
|
|
|
dialog.alert({
|
|
|
|
|
content : "저장됐습니다.",
|
|
|
|
|
init : function(){
|
|
|
|
|
setDialogZindex();
|
|
|
|
|
focusClose();
|
|
|
|
|
},
|
|
|
|
|
onClose : () => {
|
|
|
|
|
$P.getSggTaskInfo().then(()=>{ $P.getVltnInfo(); });
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$P.getRowData = (tbodyId, formData) => {
|
|
|
|
|
var rowArr = [];
|
|
|
|
|
$("#"+tbodyId+" tr").each(function(){
|
|
|
|
|
var row = {};
|
|
|
|
|
|
|
|
|
|
row.vltnId = this.dataset.key;
|
|
|
|
|
row.vltnArtcl = $($P.fnGetElement(this,"vltnArtcl")).val();
|
|
|
|
|
row.vltnLawNm = $($P.fnGetElement(this,"vltnLawNm")).val();
|
|
|
|
|
row.vltnLaw1 = $($P.fnGetElement(this,"vltnLaw1")).val();
|
|
|
|
|
row.vltnLaw2 = $($P.fnGetElement(this,"vltnLaw2")).val();
|
|
|
|
|
row.vltnLawEtc = $($P.fnGetElement(this,"vltnLawEtc")).val();
|
|
|
|
|
row.acntgSeCd = $($P.fnGetElement(this,"acntgSeCd")).val();
|
|
|
|
|
row.acntgSeNm = $($P.fnGetElement(this,"acntgSeNm")).val();
|
|
|
|
|
row.txitmCd = $($P.fnGetElement(this,"txitmCd")).val();
|
|
|
|
|
row.txitmNm = $($P.fnGetElement(this,"txitmNm")).val();
|
|
|
|
|
row.operItemCd = $($P.fnGetElement(this,"operItemCd")).val();
|
|
|
|
|
row.operItemNm = $($P.fnGetElement(this,"operItemNm")).val();
|
|
|
|
|
row.spclBizCd = $($P.fnGetElement(this,"spclBizCd")).val();
|
|
|
|
|
row.spclBizNm = $($P.fnGetElement(this,"spclBizNm")).val();
|
|
|
|
|
|
|
|
|
|
row.sggCd = formData.get("sggCd");
|
|
|
|
|
row.taskSeCd = formData.get("taskSeCd");
|
|
|
|
|
|
|
|
|
|
rowArr.push(row);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return rowArr;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$P.fnGetElement = (tableRow, colName) => {
|
|
|
|
|
return $(tableRow).find("td[data-col='"+colName+"']").children("input, select").first()[0];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**************************************************************************
|
|
|
|
|
* 초기화
|
|
|
|
|
**************************************************************************/
|
|
|
|
|
$P.getSggInfo()
|
|
|
|
|
.then(() => {
|
|
|
|
|
return $P.getSggTaskInfo();
|
|
|
|
|