|
|
|
@ -1,17 +1,17 @@
|
|
|
|
|
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
|
|
|
|
|
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
|
|
|
|
|
<c:set var="pageKorName" scope="request">시군구관리</c:set>
|
|
|
|
|
<div class="content-wrapper">
|
|
|
|
|
<div class="content-wrapper" data-doctx="${pageName}">
|
|
|
|
|
<div class="container-xxl flex-grow-1 px-0">
|
|
|
|
|
<div class="card wrapper-list">
|
|
|
|
|
<form id="mainForm--${pageName}" method="post" enctype="multipart/form-data">
|
|
|
|
|
<form name="mainForm" method="post" enctype="multipart/form-data">
|
|
|
|
|
<div class="card my-2">
|
|
|
|
|
<div class="mx-3 my-2 d-block">
|
|
|
|
|
<span class="h3">
|
|
|
|
|
시군구 정보
|
|
|
|
|
</span>
|
|
|
|
|
<span>
|
|
|
|
|
<button type="button" id="btnSaveSgg--${pageName}" class="btn btn-primary w-px-100 float-end">저장</button>
|
|
|
|
|
<button type="button" name="btnSaveSgg" class="btn btn-primary w-px-100 float-end">저장</button>
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
@ -30,25 +30,28 @@
|
|
|
|
|
<label class="w-px-140 col-form-label text-sm-end pe-2">
|
|
|
|
|
직인
|
|
|
|
|
</label>
|
|
|
|
|
<img id="offcsImage--${pageName}" alt="" src="" data-orgn-path="" data-orgn-name=""
|
|
|
|
|
<img name="offcsImage"
|
|
|
|
|
alt="" src="" data-orgn-path="" data-orgn-name=""
|
|
|
|
|
class="mw-px-100 mh-px-100 fit-contain" />
|
|
|
|
|
<input id="offcs--${pageName}" name="offcs" type="file" hidden />
|
|
|
|
|
<input type="file" name="offcs" hidden />
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-4 d-flex align-items-center">
|
|
|
|
|
<label class="w-px-140 col-form-label text-sm-end pe-2">
|
|
|
|
|
심볼
|
|
|
|
|
</label>
|
|
|
|
|
<img id="symbolImage--${pageName}" alt="" src="" data-orgn-path="" data-orgn-name=""
|
|
|
|
|
<img name="symbolImage"
|
|
|
|
|
alt="" src="" data-orgn-path="" data-orgn-name=""
|
|
|
|
|
class="mw-px-100 mh-px-100 fit-contain" />
|
|
|
|
|
<input id="symbol--${pageName}" name="symbol" type="file" hidden />
|
|
|
|
|
<input type="file" name="symbol" hidden />
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-4 d-flex align-items-center">
|
|
|
|
|
<label class="w-px-140 col-form-label text-sm-end pe-2">
|
|
|
|
|
로고
|
|
|
|
|
</label>
|
|
|
|
|
<img id="logoImage--${pageName}" alt="" src="" data-orgn-path="" data-orgn-name=""
|
|
|
|
|
<img name="logoImage"
|
|
|
|
|
alt="" src="" data-orgn-path="" data-orgn-name=""
|
|
|
|
|
class="mw-px-100 mh-px-100 fit-contain" />
|
|
|
|
|
<input id="logo--${pageName}" name="logo" type="file" hidden />
|
|
|
|
|
<input type="file" name="logo" hidden />
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
@ -63,34 +66,34 @@
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="nav-align-top my-2 mx-2 flex-row">
|
|
|
|
|
<ul class="nav nav-tabs" role="tablist" id="tabButtonContainer--${pageName}">
|
|
|
|
|
<ul class="nav nav-tabs" role="tablist" name="tabButtonContainer">
|
|
|
|
|
</ul>
|
|
|
|
|
<button type="button" id="btnOpenSelectTaskDialog--${pageName}"
|
|
|
|
|
<button type="button" name="btnOpenSelectTaskDialog"
|
|
|
|
|
class="btn btn-darkgray ms-1 superadmin">+ 새 과태료업무 추가</button>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<span class="tab-content" id="tabContentContainer--${pageName}">
|
|
|
|
|
<span class="tab-content" name="tabContentContainer">
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<template id="taskTabButtonTemplate--${pageName}">
|
|
|
|
|
|
|
|
|
|
<template name="taskTabButtonTemplate">
|
|
|
|
|
<li class="nav-item">
|
|
|
|
|
<button type="button" class="nav-link {active} w-px-150"
|
|
|
|
|
role="tab" data-bs-toggle="tab" data-bs-target="#tab{task}--${pageName}"
|
|
|
|
|
role="tab" data-bs-toggle="tab" data-bs-target="[data-doctx='${pageName}'] [name='tab{task}']"
|
|
|
|
|
onclick="">
|
|
|
|
|
{taskNm}
|
|
|
|
|
</button>
|
|
|
|
|
</li>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template id="taskTabContentsTemplate--${pageName}">
|
|
|
|
|
<template name="taskTabContentsTemplate">
|
|
|
|
|
|
|
|
|
|
<span id="tab{task}--${pageName}" class="tab-pane {activeshow}" role="tabpanel">
|
|
|
|
|
<span name="tab{task}" class="tab-pane {activeshow}" role="tabpanel">
|
|
|
|
|
<div class="mx-3 my-2 d-flex flex-column">
|
|
|
|
|
<div class="float-end">
|
|
|
|
|
<button type="button" data-task="{task}"
|
|
|
|
@ -100,7 +103,7 @@
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<form id="{task}Form--${pageName}">
|
|
|
|
|
<form name="{task}Form">
|
|
|
|
|
<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>
|
|
|
|
@ -149,9 +152,9 @@
|
|
|
|
|
</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 ox-scroll oy-scroll h-px-300">
|
|
|
|
|
<table id="{task}Table_0--${pageName}"
|
|
|
|
|
<div name="{task}Table_0_wrapper" class="dataTables_wrapper dt-bootstrap5 no-footer">
|
|
|
|
|
<div name="{task}table-responsive" class="table-responsive ox-scroll oy-scroll h-px-300">
|
|
|
|
|
<table name="{task}Table_0"
|
|
|
|
|
class="table-layout-fixed datatables-ajax table table-bordered dataTable no-footer">
|
|
|
|
|
<thead class="sticky-thead">
|
|
|
|
|
<tr>
|
|
|
|
@ -172,7 +175,7 @@
|
|
|
|
|
<th class="dummy-th"></th>
|
|
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
<tbody id="{task}tbody--${pageName}"></tbody>
|
|
|
|
|
<tbody name="{task}tbody"></tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
@ -181,7 +184,7 @@
|
|
|
|
|
</span>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template id="taskTbodyTemplate--${pageName}">
|
|
|
|
|
<template name="taskTbodyTemplate">
|
|
|
|
|
<tr data-key="{VLTN_ID}">
|
|
|
|
|
<td>{VLTN_CD}</td>
|
|
|
|
|
<td data-col="vltnArtcl">
|
|
|
|
@ -225,10 +228,11 @@
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</template>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
|
|
|
|
|
pageObject["${pageName}"] = {};
|
|
|
|
|
pageObject["${pageName}"] = newDoctxFinder("${pageName}");
|
|
|
|
|
|
|
|
|
|
$(document).ready(function(){
|
|
|
|
|
|
|
|
|
@ -265,28 +269,28 @@ $(document).ready(function(){
|
|
|
|
|
success : function(resp, textStatus, jqXHR) {
|
|
|
|
|
$P.sggInfo = resp.sggInfo;
|
|
|
|
|
|
|
|
|
|
$("#mainForm--${pageName}").find("[name='sggID']").val($P.sggInfo.SGG_CD);
|
|
|
|
|
$("#mainForm--${pageName}").find("[name='sggNm']").val($P.sggInfo.SGG_NM);
|
|
|
|
|
$("#mainForm--${pageName}").find("[name='instCd']").val($P.sggInfo.INST_CD);
|
|
|
|
|
$("#mainForm--${pageName}").find("[name='instNm']").val($P.sggInfo.INST_NM);
|
|
|
|
|
$P.$find("mainForm").find("[name='sggID']").val($P.sggInfo.SGG_CD);
|
|
|
|
|
$P.$find("mainForm").find("[name='sggNm']").val($P.sggInfo.SGG_NM);
|
|
|
|
|
$P.$find("mainForm").find("[name='instCd']").val($P.sggInfo.INST_CD);
|
|
|
|
|
$P.$find("mainForm").find("[name='instNm']").val($P.sggInfo.INST_NM);
|
|
|
|
|
|
|
|
|
|
$("#offcsImage--${pageName}")
|
|
|
|
|
$P.$find("offcsImage")
|
|
|
|
|
.attr("data-orgn-name", $P.sggInfo.OFFCS_FILE_NM)
|
|
|
|
|
.attr("data-orgn-path", $P.sggInfo.OFFCS_FILE_PATH);
|
|
|
|
|
$("#offcs--${pageName}").val("");
|
|
|
|
|
$("#offcs--${pageName}").trigger("change");
|
|
|
|
|
$P.$find("offcs").val("");
|
|
|
|
|
$P.$find("offcs").trigger("change");
|
|
|
|
|
|
|
|
|
|
$("#symbolImage--${pageName}")
|
|
|
|
|
$P.$find("symbolImage")
|
|
|
|
|
.attr("data-orgn-name", $P.sggInfo.SYMBOL_FILE_NM)
|
|
|
|
|
.attr("data-orgn-path", $P.sggInfo.SYMBOL_FILE_PATH);
|
|
|
|
|
$("#symbol--${pageName}").val("");
|
|
|
|
|
$("#symbol--${pageName}").trigger("change");
|
|
|
|
|
$P.$find("symbol").val("");
|
|
|
|
|
$P.$find("symbol").trigger("change");
|
|
|
|
|
|
|
|
|
|
$("#logoImage--${pageName}")
|
|
|
|
|
$P.$find("logoImage")
|
|
|
|
|
.attr("data-orgn-name", $P.sggInfo.LOGO_FILE_NM)
|
|
|
|
|
.attr("data-orgn-path", $P.sggInfo.LOGO_FILE_PATH);
|
|
|
|
|
$("#logo--${pageName}").val("");
|
|
|
|
|
$("#logo--${pageName}").trigger("change");
|
|
|
|
|
$P.$find("logo").val("");
|
|
|
|
|
$P.$find("logo").trigger("change");
|
|
|
|
|
|
|
|
|
|
resolve({resp, textStatus, jqXHR});
|
|
|
|
|
},
|
|
|
|
@ -315,8 +319,8 @@ $(document).ready(function(){
|
|
|
|
|
var taskSeCd = task.TASK_SE_CD;
|
|
|
|
|
var taskSeNm = task.TASK_SE_NM;
|
|
|
|
|
|
|
|
|
|
var tabButtonTemplate = document.getElementById("taskTabButtonTemplate--${pageName}").innerHTML;
|
|
|
|
|
var tabContentsTemplate = document.getElementById("taskTabContentsTemplate--${pageName}").innerHTML;
|
|
|
|
|
var tabButtonTemplate = $P.find("taskTabButtonTemplate").innerHTML;
|
|
|
|
|
var tabContentsTemplate = $P.find("taskTabContentsTemplate").innerHTML;
|
|
|
|
|
|
|
|
|
|
tabButtonTemplate = tabButtonTemplate.replace(/{task}/gi, taskSeCd);
|
|
|
|
|
tabButtonTemplate = tabButtonTemplate.replace(/{taskNm}/gi, taskSeNm);
|
|
|
|
@ -337,8 +341,8 @@ $(document).ready(function(){
|
|
|
|
|
contents.push(tabContentsTemplate);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$("#tabButtonContainer--${pageName}").html(tabs.join(""));
|
|
|
|
|
$("#tabContentContainer--${pageName}").html(contents.join(""));
|
|
|
|
|
$P.$find("tabButtonContainer").html(tabs.join(""));
|
|
|
|
|
$P.$find("tabContentContainer").html(contents.join(""));
|
|
|
|
|
|
|
|
|
|
if(MY_INFO.institute != "ADMIN00"){
|
|
|
|
|
$(".superadmin").attr("hidden","hidden");
|
|
|
|
@ -348,17 +352,19 @@ $(document).ready(function(){
|
|
|
|
|
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='advntceRdcrt']").val(task.ADVNTCE_RDCRT);
|
|
|
|
|
$("#"+taskSeCd+"Form--${pageName}").find("[name='wksnRdcrt']").val(task.WKSN_RDCRT);
|
|
|
|
|
$("#"+taskSeCd+"Form--${pageName}").find("[name='ffnlgAdtnYmd']").val(task.FFNLG_ADTN_YMD);
|
|
|
|
|
$("#"+taskSeCd+"Form--${pageName}").find("[name='ffnlgAdtnRt']").val(task.FFNLG_ADTN_RT);
|
|
|
|
|
$("#"+taskSeCd+"Form--${pageName}").find("[name='ffnlgInadtnRt']").val(task.FFNLG_INADTN_RT);
|
|
|
|
|
$("#"+taskSeCd+"Form--${pageName}").find("[name='ffnlgInadtnMaxCnt']").val(task.FFNLG_INADTN_MAX_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);
|
|
|
|
|
let formName = taskSeCd+"Form";
|
|
|
|
|
|
|
|
|
|
$P.$find(formName).find("[name='taskSeNm']").val(taskSeNm);
|
|
|
|
|
$P.$find(formName).find("[name='advntceDayCnt']").val(task.ADVNTCE_DAY_CNT);
|
|
|
|
|
$P.$find(formName).find("[name='advntceRdcrt']").val(task.ADVNTCE_RDCRT);
|
|
|
|
|
$P.$find(formName).find("[name='wksnRdcrt']").val(task.WKSN_RDCRT);
|
|
|
|
|
$P.$find(formName).find("[name='ffnlgAdtnYmd']").val(task.FFNLG_ADTN_YMD);
|
|
|
|
|
$P.$find(formName).find("[name='ffnlgAdtnRt']").val(task.FFNLG_ADTN_RT);
|
|
|
|
|
$P.$find(formName).find("[name='ffnlgInadtnRt']").val(task.FFNLG_INADTN_RT);
|
|
|
|
|
$P.$find(formName).find("[name='ffnlgInadtnMaxCnt']").val(task.FFNLG_INADTN_MAX_CNT);
|
|
|
|
|
|
|
|
|
|
$P.$find(formName).find("[name='nxrpLinkSeCd']").val(task.NXRP_LINK_SE_CD);
|
|
|
|
|
$P.$find(formName).find("[name='nxrpLinkSeDtlSn']").val(task.NXRP_LINK_SE_DTL_SN);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
resolve({resp, textStatus, jqXHR});
|
|
|
|
@ -387,10 +393,10 @@ $(document).ready(function(){
|
|
|
|
|
|
|
|
|
|
for(var i=0; i < datasetNames.length; i++){
|
|
|
|
|
var taskSeCd = datasetNames[i].substr(0,3);
|
|
|
|
|
var template = document.getElementById("taskTbodyTemplate--${pageName}").innerHTML;
|
|
|
|
|
var template = $P.find("taskTbodyTemplate").innerHTML;
|
|
|
|
|
var taskDataset = $P.taskDatasets[taskSeCd+"Dataset"];
|
|
|
|
|
var trs = taskDataset.empty ? [""] : taskDataset.inStrings(template);
|
|
|
|
|
$("#"+taskSeCd+"tbody--${pageName}").html(trs.join());
|
|
|
|
|
$P.$find(taskSeCd+"tbody").html(trs.join());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
resolve({resp, textStatus, jqXHR});
|
|
|
|
@ -402,14 +408,14 @@ $(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");
|
|
|
|
|
fnMakeSingleImageViewer($P.find("offcsImage"), $P.find("offcs"), "orgn-path", "orgn-name");
|
|
|
|
|
fnMakeSingleImageViewer($P.find("symbolImage"), $P.find("symbol"), "orgn-path", "orgn-name");
|
|
|
|
|
fnMakeSingleImageViewer($P.find("logoImage"), $P.find("logo"), "orgn-path", "orgn-name");
|
|
|
|
|
|
|
|
|
|
//시군구 기본 설정 저장 버튼
|
|
|
|
|
$("#btnSaveSgg--${pageName}").on("click", function(){
|
|
|
|
|
$P.$find("btnSaveSgg").on("click", function(){
|
|
|
|
|
|
|
|
|
|
var formData = new FormData($("#mainForm--${pageName}")[0]);
|
|
|
|
|
var formData = new FormData($P.find("mainForm"));
|
|
|
|
|
|
|
|
|
|
ajax.post({
|
|
|
|
|
url: wctx.url("/ogdp/updateSggStng.do"),
|
|
|
|
@ -431,14 +437,14 @@ $(document).ready(function(){
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//업무 추가 버튼
|
|
|
|
|
$("#btnOpenSelectTaskDialog--${pageName}").on("click", function(){
|
|
|
|
|
$P.$find("btnOpenSelectTaskDialog").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){
|
|
|
|
|
if($P.$find("tabContentContainer").find("[name='tab"+keys[i]+"']").length < 1){
|
|
|
|
|
ableKeys.push(keys[i]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -471,7 +477,7 @@ $(document).ready(function(){
|
|
|
|
|
ajax.post({
|
|
|
|
|
url: wctx.url("/ogdp/createTaskStng.do"),
|
|
|
|
|
data: {
|
|
|
|
|
sggCd : $("#mainForm--${pageName}").find("[name='sggID']").val(),
|
|
|
|
|
sggCd : $P.$find("mainForm").find("[name='sggID']").val(),
|
|
|
|
|
taskSeCd : taskSeCd
|
|
|
|
|
},
|
|
|
|
|
success: (resp) => {
|
|
|
|
@ -491,13 +497,13 @@ $(document).ready(function(){
|
|
|
|
|
|
|
|
|
|
$P.fnSaveForTask = (el) => {
|
|
|
|
|
var taskSeCd = el.dataset.task;
|
|
|
|
|
var sggCd = $("#mainForm--${pageName}").find("[name='sggID']").val();
|
|
|
|
|
var sggCd = $P.$find("mainForm").find("[name='sggID']").val();
|
|
|
|
|
|
|
|
|
|
var formData = new FormData($("#"+taskSeCd+"Form--${pageName}")[0]);
|
|
|
|
|
var formData = new FormData($P.find(taskSeCd+"Form"));
|
|
|
|
|
formData.append("taskSeCd",taskSeCd);
|
|
|
|
|
formData.append("sggCd", sggCd);
|
|
|
|
|
|
|
|
|
|
var rowArr = $P.getRowData(taskSeCd+"tbody--${pageName}", formData);
|
|
|
|
|
var rowArr = $P.getRowData(taskSeCd+"tbody", formData);
|
|
|
|
|
|
|
|
|
|
var vltnStngList = fnJsonArrayToFormData(rowArr,"vltnStngList");
|
|
|
|
|
var keys = Object.keys(vltnStngList);
|
|
|
|
@ -525,9 +531,9 @@ $(document).ready(function(){
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$P.getRowData = (tbodyId, formData) => {
|
|
|
|
|
$P.getRowData = (tbodyName, formData) => {
|
|
|
|
|
var rowArr = [];
|
|
|
|
|
$("#"+tbodyId+" tr").each(function(){
|
|
|
|
|
$P.$find(tbodyName).find("tr").each(function(){
|
|
|
|
|
var row = {};
|
|
|
|
|
|
|
|
|
|
row.vltnId = this.dataset.key;
|
|
|
|
|