다이얼로그 관련 소스정리

main
이범준 3 months ago
parent 8f37ef29db
commit 981362504b

@ -1,64 +1,73 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> <%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<form id="frmEdit--${pageName}"> <span data-doctx="${pageName}">
<div class="d-flex flex-row justify-content-evenly"> <form name="frmEdit">
<div class="card" style="width:1000px;min-height:200px;"> <div class="d-flex flex-row justify-content-evenly">
<div class="row"> <div class="card" style="width:1000px;min-height:200px;">
<div class="col-4"> <div class="row">
<label class="w-px-130 bg-lighter pe-2 col-form-label text-sm-end">업무</label> <div class="col-4">
<select id="taskSeCd--${pageName}" name="taskSeCd" class="form-select"> <label is="name-label" for="taskSeCd"
<c:forEach items="${taskSeCdList}" var="item"> class="w-px-130 bg-lighter pe-2 col-form-label text-sm-end">업무</label>
<option value="${item.CODE}">${item.CODE_VAL}</option> <select is="id-select" name="taskSeCd" class="form-select">
</c:forEach> <c:forEach items="${taskSeCdList}" var="item">
</select> <option value="${item.CODE}">${item.CODE_VAL}</option>
</c:forEach>
</select>
</div>
<div class="col-4">
<label is="name-label" for="srcSgg"
class="w-px-130 bg-lighter pe-2 col-form-label text-sm-end">소스 시군구</label>
<select is="id-select" name="srcSgg" class="form-select">
<c:forEach items="${sggList}" var="item">
<option value="${item.SGG_CD}">${item.SGG_NM}</option>
</c:forEach>
</select>
</div>
<div class="col-4">
<label is="name-label" for="trgtSgg"
class="w-px-130 bg-lighter pe-2 col-form-label text-sm-end">타겟 시군구</label>
<select is="id-select" name="trgtSgg" class="form-select">
<c:forEach items="${sggList}" var="item">
<option value="${item.SGG_CD}">${item.SGG_NM}</option>
</c:forEach>
</select>
</div>
<div class="col-12">
<span class="float-end p-4">
<button type="button" name="btnCopyStng" class="btn btn-primary">업무,위반 설정 복사</button>
</span>
</div>
</div> </div>
<div class="col-4">
<label class="w-px-130 bg-lighter pe-2 col-form-label text-sm-end">소스 시군구</label>
<select id="srcSgg--${pageName}" name="srcSgg" class="form-select">
<c:forEach items="${sggList}" var="item">
<option value="${item.SGG_CD}">${item.SGG_NM}</option>
</c:forEach>
</select>
</div>
<div class="col-4">
<label class="w-px-130 bg-lighter pe-2 col-form-label text-sm-end">타겟 시군구</label>
<select id="trgtSgg--${pageName}" name="trgtSgg" class="form-select">
<c:forEach items="${sggList}" var="item">
<option value="${item.SGG_CD}">${item.SGG_NM}</option>
</c:forEach>
</select>
</div>
<div class="col-12">
<span class="float-end p-4">
<button type="button" id="btnCopyStng--${pageName}" class="btn btn-primary">업무,위반 설정 복사</button>
</span>
</div>
</div>
</div>
</div> </div>
</div> </form>
</form> </span>
<script> <script>
$("#btnCopyStng--${pageName}").on("click", function(){ pageObject['${pageName}'] = newDoctxFinder("${pageName}");
$(document).ready(function() {
let $P = pageObject['${pageName}'];
$P.$find("btnCopyStng").on("click", function(){
if($("#srcSgg--${pageName}").val() == $("#trgtSgg--${pageName}").val()){ if($P.$find("srcSgg").val() == $P.$find("trgtSgg").val()){
alert("동일한 시군구 선택 불가"); alert("동일한 시군구 선택 불가");
return; return;
} }
ajax.get({ ajax.get({
url : wctx.url("admin/copySggStng.do"), url : wctx.url("admin/copySggStng.do"),
data : { data : {
taskSeCd : $("#taskSeCd--${pageName}").val(), taskSeCd : $P.$find("taskSeCd").val(),
srcSgg : $("#srcSgg--${pageName}").val(), srcSgg : $P.$find("srcSgg").val(),
trgtSgg : $("#trgtSgg--${pageName}").val() trgtSgg : $P.$find("trgtSgg").val()
}, },
success : (resp) => { success : (resp) => {
if(resp.saved){ if(resp.saved){
alert('완료'); alert('완료');
}
} }
} });
}); });
}); });
</script> </script>

@ -1,7 +1,7 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> <%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<!-- inner page html --> <!-- inner page html -->
<div class="content-wrapper"> <div class="content-wrapper" data-doctx="${pageName}">
<div class="container-xxl flex-grow-1 px-0"> <div class="container-xxl flex-grow-1 px-0">
<c:set var="pageKorName" scope="request">최고관리자 메뉴</c:set> <c:set var="pageKorName" scope="request">최고관리자 메뉴</c:set>
<div class="card"> <div class="card">
@ -71,6 +71,7 @@
</div> </div>
<script> <script>
pageObject['${pageName}'] = newDoctxFinder("${pageName}");
/** /**
* 수동 배치 실행 * 수동 배치 실행
@ -264,12 +265,18 @@ $("#btnOpenSggAddDel").on("click", function(){
data: {}, data: {},
success: (resp) => { success: (resp) => {
let dialogName = "sggAddDelDialog";
let dialogId = dialogName+"-"+uuid();
dialog.open({ dialog.open({
id: "sggAddDelDialog", id: dialogId,
title: "시군구 추가,삭제", title: "시군구 추가,삭제",
content: resp , content: resp ,
size: "xxl", size: "xxl",
init:() => {} init:() => {
$("#"+dialogId).attr("name", dialogName);
$("#"+dialogId).attr("data-ref-doctx","${pageName}");
}
}); });
} }
}); });
@ -281,12 +288,18 @@ $("#btnOpenCopySggStng").on("click", function(){
data: {}, data: {},
success: (resp) => { success: (resp) => {
let dialogName = "copySggStngDialog";
let dialogId = dialogName+"-"+uuid();
dialog.open({ dialog.open({
id: "copySggStngDialog", id: dialogId,
title: "시군구 설정 복사", title: "시군구 설정 복사",
content: resp , content: resp ,
size: "xl", size: "xl",
init:() => {} init:() => {
$("#"+dialogId).attr("name", dialogName);
$("#"+dialogId).attr("data-ref-doctx","${pageName}");
}
}); });
} }
}); });

@ -1,192 +1,188 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> <%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<form id="frmEdit--${pageName}"> <span data-doctx="${pageName}">
<div class="d-flex flex-row justify-content-evenly"> <form name="frmEdit">
<div class="card" style="width:500px;"> <div class="d-flex flex-row justify-content-evenly">
<h3>시군구 백업</h3> <div class="card" style="width:500px;">
<h3>시군구 백업</h3>
<div class="card-datatable text-nowrap">
<div id="backupSgg-DataTables_Table_0_wrapper--${pageName}" class="dataTables_wrapper dt-bootstrap5 no-footer"> <div class="card-datatable text-nowrap">
<div id="backupSgg-table-responsive--${pageName}" class="table-responsive" <div class="dataTables_wrapper dt-bootstrap5 no-footer">
style="overflow-x: scroll;height:500px;overflow-y: scroll;"> <div class="table-responsive"
<table id="backupSgg-DataTables_Table_0--${pageName}" style="overflow-x: scroll;height:500px;overflow-y: scroll;">
class="table-layout-fixed datatables-ajax table table-bordered dataTable no-footer"> <table class="table-layout-fixed datatables-ajax table table-bordered dataTable no-footer">
<thead class="sticky-thead"> <thead class="sticky-thead">
<tr data-key="{SGG_CD}"> <tr data-key="{SGG_CD}">
<th style="width: 50px;"></th> <th style="width: 50px;"></th>
<th style="width: 140px;" >시군구코드</th> <th style="width: 140px;" >시군구코드</th>
<th style="width: 300px;" >시군구명</th> <th style="width: 300px;" >시군구명</th>
<th class="cmn dummy-th"></th> <th class="cmn dummy-th"></th>
</tr> </tr>
</thead> </thead>
<tbody id="backupSggTbody--${pageName}"> <tbody name="backupSggTbody">
</tbody> </tbody>
</table> </table>
</div>
</div> </div>
</div> </div>
</div>
</div> </div>
<div class="card" style="width:100px;"> <div class="card" style="width:100px;">
<div style="display: flex;flex-direction: column;justify-content: space-evenly;height: 100%;"> <div style="display: flex;flex-direction: column;justify-content: space-evenly;height: 100%;">
<button type="button" id="btnAdd--${pageName}">추가 &gt;&gt;</button> <button type="button" name="btnAdd">추가 &gt;&gt;</button>
<button type="button" id="btnDel--${pageName}">&lt;&lt; 삭제</button> <button type="button" name="btnDel">&lt;&lt; 삭제</button>
</div>
</div> </div>
</div>
<div class="card" style="width:500px;"> <div class="card" style="width:500px;">
<h3>시군구</h3> <h3>시군구</h3>
<div class="card-datatable text-nowrap"> <div class="card-datatable text-nowrap">
<div id="originalSgg-DataTables_Table_0_wrapper--${pageName}" class="dataTables_wrapper dt-bootstrap5 no-footer"> <div class="dataTables_wrapper dt-bootstrap5 no-footer">
<div id="originalSgg-table-responsive--${pageName}" class="table-responsive" <div class="table-responsive"
style="overflow-x: scroll;height:500px;overflow-y: scroll;"> style="overflow-x: scroll;height:500px;overflow-y: scroll;">
<table id="originalSgg-DataTables_Table_0--${pageName}" <table 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"> <tr data-key="{SGG_CD}">
<tr data-key="{SGG_CD}"> <th style="width: 50px;"></th>
<th style="width: 50px;"></th> <th style="width: 140px;" >시군구코드</th>
<th style="width: 140px;" >시군구코드</th> <th style="width: 300px;" >시군구명</th>
<th style="width: 300px;" >시군구명</th> <th class="cmn dummy-th"></th>
<th class="cmn dummy-th"></th> </tr>
</tr> </thead>
</thead> <tbody name="originalSggTbody">
<tbody id="originalSggTbody--${pageName}"> </tbody>
</tbody>
</table>
</table> </div>
</div> </div>
</div> </div>
</div>
</div>
</div> </div>
</form>
</div>
<template name="sggRow">
<tr data-key="{SGG_CD}">
</form> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center cmn">
<input type="checkbox" value="{SGG_CD}" />
</td>
<template id="sggRow--${pageName}"> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center cmn">{SGG_CD}</td>
<tr data-key="{SGG_CD}"> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center cmn">{SGG_NM}</td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center cmn"> <td class="dummy-td cmn"></td>
<input type="checkbox" value="{SGG_CD}" /> </tr>
</td> </template>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center cmn">{SGG_CD}</td> <template name="sggNotFound">
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center cmn">{SGG_NM}</td> <tr>
<td class="dummy-td cmn"></td> <td valign="top" colspan="14" class="dataTables_empty text-center">
</tr> 정보를 찾지 못했습니다.
</template> </td>
<template id="sggNotFound--${pageName}"> </tr>
<tr> </template>
<td valign="top" colspan="14" class="dataTables_empty text-center"> </span>
정보를 찾지 못했습니다.
</td>
</tr>
</template>
<script> <script>
pageObject['${pageName}'] = {}; pageObject['${pageName}'] = newDoctxFinder("${pageName}");
pageObject['${pageName}'].originalDataset = new Dataset({ $(document).ready(function(){
keymapper : info => info ? info.SGG_CD : "" let $P = pageObject['${pageName}'];
});
pageObject['${pageName}'].backupDataset = new Dataset({
keymapper : info => info ? info.SGG_CD : ""
});
$P.originalDataset = new Dataset({
keymapper : info => info ? info.SGG_CD : ""
});
$P.backupDataset = new Dataset({
keymapper : info => info ? info.SGG_CD : ""
});
function fnRenderBackupAndOriginal(list,tbodyId,dataset){ $P.fnRenderBackupAndOriginal = (list,tbodyName, dataset) => {
$("#"+tbodyId).html(""); $P.$find(tbodyName).html("");
if(list != null && list.length > 0){
dataset.setData(list);
} else {
dataset.setData([]);
}
var empty = dataset.empty;
var notFound = [document.getElementById("sggNotFound--${pageName}").innerHTML];
var found = document.getElementById("sggRow--${pageName}").innerHTML;
var replacer = (str, dataItem) => str.replace(/{onclick}/gi, "");
var trs = empty ? notFound : dataset.inStrings(found, replacer);
$("#"+tbodyId).html(trs.join());
}
function getBackupAndOriginalDataList(){
ajax.get({
url : wctx.url("/admin/sggBackup/list.do"),
data : {
originalTable : "TB_SGG",
backupTable : "TB_SGG_ORG",
pkName : "SGG_CD"
},
success : (resp) => {
fnRenderBackupAndOriginal(resp.originalDataList,"originalSggTbody--${pageName}", pageObject['${pageName}'].originalDataset);
fnRenderBackupAndOriginal(resp.backupDataList,"backupSggTbody--${pageName}", pageObject['${pageName}'].backupDataset);
if(list != null && list.length > 0){
dataset.setData(list);
} else {
dataset.setData([]);
} }
});
}
$("#btnAdd--${pageName}").on("click", function(){ var empty = dataset.empty;
var checked = $("#backupSggTbody--${pageName}").find("input[type='checkbox']:checked"); var notFound = [$P.find("sggNotFound").innerHTML];
if(checked.length < 1){ var found = $P.find("sggRow").innerHTML;
return; var replacer = (str, dataItem) => str.replace(/{onclick}/gi, "");
} var trs = empty ? notFound : dataset.inStrings(found, replacer);
$P.$find(tbodyName).html(trs.join());
};
$P.getBackupAndOriginalDataList = () => {
ajax.get({
url : wctx.url("/admin/sggBackup/list.do"),
data : {
originalTable : "TB_SGG",
backupTable : "TB_SGG_ORG",
pkName : "SGG_CD"
},
success : (resp) => {
$P.fnRenderBackupAndOriginal(resp.originalDataList,"originalSggTbody", $P.originalDataset);
$P.fnRenderBackupAndOriginal(resp.backupDataList,"backupSggTbody", $P.backupDataset);
var arr = [];
checked.each(function(){
arr.push(this.value);
});
ajax.post({
url : wctx.url("/admin/sggBackup/activate.do"),
data : {
originalTable : "TB_SGG",
backupTable : "TB_SGG_ORG",
pkName : "SGG_CD",
pks : arr.join(",")
},
success : (resp) => {
if(resp.saved){
getBackupAndOriginalDataList();
} }
} });
}); };
}); $P.$find("btnAdd").on("click", function(){
$("#btnDel--${pageName}").on("click", function(){ var checked = $P.$find("backupSggTbody").find("input[type='checkbox']:checked");
var checked = $("#originalSggTbody--${pageName}").find("input[type='checkbox']:checked"); if(checked.length < 1){
if(checked.length < 1){ return;
return; }
}
var arr = [];
checked.each(function(){
arr.push(this.value);
});
ajax.post({ var arr = [];
url : wctx.url("/admin/sggBackup/deactivate.do"), checked.each(function(){
data : { arr.push(this.value);
originalTable : "TB_SGG", });
backupTable : "TB_SGG_ORG",
pkName : "SGG_CD", ajax.post({
pks : arr.join(",") url : wctx.url("/admin/sggBackup/activate.do"),
}, data : {
success : (resp) => { originalTable : "TB_SGG",
if(resp.saved){ backupTable : "TB_SGG_ORG",
getBackupAndOriginalDataList(); pkName : "SGG_CD",
pks : arr.join(",")
},
success : (resp) => {
if(resp.saved){
$P.getBackupAndOriginalDataList();
}
} }
});
});
$P.$find("btnDel").on("click", function(){
var checked = $P.$find("originalSggTbody").find("input[type='checkbox']:checked");
if(checked.length < 1){
return;
} }
var arr = [];
checked.each(function(){
arr.push(this.value);
});
ajax.post({
url : wctx.url("/admin/sggBackup/deactivate.do"),
data : {
originalTable : "TB_SGG",
backupTable : "TB_SGG_ORG",
pkName : "SGG_CD",
pks : arr.join(",")
},
success : (resp) => {
if(resp.saved){
$P.getBackupAndOriginalDataList();
}
}
});
}); });
});
$(document).ready(function(){ $P.getBackupAndOriginalDataList();
getBackupAndOriginalDataList();
}); });
</script> </script>

@ -264,12 +264,19 @@ $(document).ready(function(){
data : params, data : params,
success : (resp) => { success : (resp) => {
let dialogName = "layoutInfoDialog";
let dialogId = dialogName+"-"+uuid();
dialog.open({ dialog.open({
id : "layoutInfoDialog", id : dialogId,
title : "레이아웃 정보", title : "레이아웃 정보",
size : "xl", size : "xl",
content : resp, content : resp,
init : () => { init : () => {
setDialogZindex();
$("#"+dialogId).attr("name", dialogName);
$("#"+dialogId).attr("data-ref-doctx","${pageName}");
var parentRes = new Object(); var parentRes = new Object();
var childReq = pageObject.childReq.pop(); var childReq = pageObject.childReq.pop();
@ -283,7 +290,6 @@ $(document).ready(function(){
pageObject.parentRes.push(parentRes); pageObject.parentRes.push(parentRes);
setDialogZindex();
} }
}); });

@ -307,7 +307,7 @@ $(document).ready(function(){
data : info, data : info,
success : (resp) => { success : (resp) => {
if(resp.saved){ if(resp.saved){
dialog.close("layoutInfoDialog"); dialog.close($P.selfDlgId());
dialog.alert({ dialog.alert({
content:"저장되었습니다.", content:"저장되었습니다.",
init : () => { init : () => {
@ -332,7 +332,7 @@ $(document).ready(function(){
}, },
success : (resp) => { success : (resp) => {
if(resp.saved){ if(resp.saved){
dialog.close("layoutInfoDialog"); dialog.close($P.selfDlgId());
dialog.alert({ dialog.alert({
content:"삭제되었습니다.", content:"삭제되었습니다.",
init : () => { init : () => {

@ -822,10 +822,16 @@ $(document).ready(function(){
data : params, data : params,
success : (resp) => { success : (resp) => {
let dialogName = "totalInfoMainDialog";
let dialogId = "totalInfoMainDialog"; //dialogName+"-"+uuid();
dialog.open({ dialog.open({
id : "totalInfoMainDialog", id : dialogId,
title : "개별총정보", size : "xxl", content : resp, title : "개별총정보", size : "xxl", content : resp,
init : () => {} init : () => {
$("#"+dialogId).attr("name", dialogName);
$("#"+dialogId).attr("data-ref-doctx","${pageName}");
}
}); });
} }

@ -306,10 +306,16 @@ $(document).ready(function(){
data : params, data : params,
success : (resp) => { success : (resp) => {
let dialogName = "totalInfoMainDialog";
let dialogId = "totalInfoMainDialog"; //dialogName+"-"+uuid();
dialog.open({ dialog.open({
id : "totalInfoMainDialog", id : dialogId,
title : "개별총정보", size : "xxl", content : resp, title : "개별총정보", size : "xxl", content : resp,
init : () => {} init : () => {
$("#"+dialogId).attr("name", dialogName);
$("#"+dialogId).attr("data-ref-doctx","${pageName}");
}
}); });
} }

@ -248,25 +248,29 @@ $(document).ready(function(){
if(type == "file") url = $P.ctrl.urls.newInfoByFile; if(type == "file") url = $P.ctrl.urls.newInfoByFile;
if(type == "hand") url = $P.ctrl.urls.newInfoByHand; if(type == "hand") url = $P.ctrl.urls.newInfoByHand;
var dialogId = ""; let dialogName = "";
if(type == "file") dialogId = "fileDialog"; if(type == "file") dialogName = "fileDialog";
if(type == "hand") dialogId = "manualDialog"; if(type == "hand") dialogName = "manualDialog";
var title = ""; var title = "";
if(type == "file") title = "단속파일 등록"; if(type == "file") title = "단속파일 등록";
if(type == "hand") title = "단속자료 수기 등록"; if(type == "hand") title = "단속자료 수기 등록";
ajax.get({ ajax.get({
url : url, url : url,
data : {}, data : {},
success : (resp) => { success : (resp) => {
let dialogId = dialogName+"-"+uuid();
dialog.open({ dialog.open({
id: dialogId, id: dialogId,
title: title, title: title,
content:resp, content:resp,
size: "xxl", size: "xxl",
init:() => {} init:() => {
$("#"+dialogId).attr("name", dialogName);
$("#"+dialogId).attr("data-ref-doctx","${pageName}");
}
}); });
} }
}); });

@ -498,7 +498,7 @@ $(document).ready(function(){
focusClose(); focusClose();
} }
}); });
dialog.close("manualDialog"); dialog.close($P.selfDlgId());
} }
} }
@ -573,7 +573,6 @@ $(document).ready(function(){
$P.$find("vhrno").onEnterPress(function(){ $P.$find("vhrno").onEnterPress(function(){
var alertDialogId = "alertDialog";
var crdnYmd = $P.$find("crdnYmd").val().replaceAll("-", ""); var crdnYmd = $P.$find("crdnYmd").val().replaceAll("-", "");
var vhrnoEl = event.target; var vhrnoEl = event.target;
var vhrno = vhrnoEl.value; var vhrno = vhrnoEl.value;

@ -499,11 +499,16 @@ $(document).ready(function(){
url : $P.ctrl.urls.getInfo, url : $P.ctrl.urls.getInfo,
data : params, data : params,
success : (resp) => { success : (resp) => {
let dialogName = "totalInfoMainDialog";
let dialogId = "totalInfoMainDialog"; //dialogName+"-"+uuid();
dialog.open({ dialog.open({
id : "totalInfoMainDialog", id : dialogId,
title : "개별총정보", size : "xxl", content : resp, title : "개별총정보", size : "xxl", content : resp,
init : () => {} init : () => {
$("#"+dialogId).attr("name", dialogName);
$("#"+dialogId).attr("data-ref-doctx","${pageName}");
}
}); });
} }

@ -289,12 +289,18 @@ $(document).ready(function(){
url : $P.ctrl.urls.getInfo, url : $P.ctrl.urls.getInfo,
data: param, data: param,
success:(resp) => { success:(resp) => {
let dialogName = "exmptnvhclDialog";
let dialogId = dialogName+"-"+uuid();
dialog.open({ dialog.open({
id: "exmptnvhclDialog", id: dialogId,
title: "면제차량 수정", title: "면제차량 수정",
content:resp, content:resp,
size: "lg", size: "lg",
init:() => { init:() => {
$("#"+dialogId).attr("name", dialogName);
$("#"+dialogId).attr("data-ref-doctx","${pageName}");
var parentRes = new Object(); var parentRes = new Object();
var childReq = pageObject.childReq.pop(); var childReq = pageObject.childReq.pop();
@ -318,12 +324,18 @@ $(document).ready(function(){
url : $P.ctrl.urls.newInfo, url : $P.ctrl.urls.newInfo,
data: {}, data: {},
success:(resp) => { success:(resp) => {
let dialogName = "exmptnvhclDialog";
let dialogId = dialogName+"-"+uuid();
dialog.open({ dialog.open({
id: "exmptnvhclDialog", id: dialogId,
title: "면제차량 등록", title: "면제차량 등록",
content:resp, content:resp,
size: "lg", size: "lg",
init:() => { init:() => {
$("#"+dialogId).attr("name", dialogName);
$("#"+dialogId).attr("data-ref-doctx","${pageName}");
var parentRes = new Object(); var parentRes = new Object();
var childReq = pageObject.childReq.pop(); var childReq = pageObject.childReq.pop();
@ -391,8 +403,11 @@ $(document).ready(function(){
url : wctx.url("/BPV/crdn/crdn08/030/list.do"), url : wctx.url("/BPV/crdn/crdn08/030/list.do"),
data: { "exmptnVhclId" : dataKey }, data: { "exmptnVhclId" : dataKey },
success:(resp) => { success:(resp) => {
let dialogName = "exmptnvhclHistoryDialog";
let dialogId = dialogName+"-"+uuid();
dialog.open({ dialog.open({
id: "exmptnvhclHistoryDialog", id: dialogId,
title: "면제차량 이력", title: "면제차량 이력",
content : resp, content : resp,
size: "xxl", size: "xxl",

@ -149,7 +149,7 @@ $(document).ready(function(){
focusClose(); focusClose();
} }
}); });
dialog.close("exmptnvhclDialog"); dialog.close($P.selfDlgId());
$P.provided.refreshList(); $P.provided.refreshList();
} }
}; };

@ -722,11 +722,20 @@ $(document).ready(function(){
url : wctx.url("/"+params.taskSeCd + "/payer/info.do"), url : wctx.url("/"+params.taskSeCd + "/payer/info.do"),
data : params || {}, data : params || {},
success : (resp) => { success : (resp) => {
let dialogName = "payerDialog";
let dialogId = dialogName+"-"+uuid();
dialog.open({ dialog.open({
id : "payerDialog", id : dialogId,
title : dialogTitle, title : dialogTitle,
content : resp, content : resp,
size : "lg", size : "lg",
init : () => {
$("#"+dialogId).attr("name", dialogName);
$("#"+dialogId).attr("data-ref-doctx","${pageName}");
}
onClose : () => { $P.refreshPayer(); } // callback onClose : () => { $P.refreshPayer(); } // callback
}); });
} }
@ -1098,11 +1107,11 @@ $(document).ready(function(){
$("#"+dialogId).attr("data-ref-doctx","${pageName}"); $("#"+dialogId).attr("data-ref-doctx","${pageName}");
$(document).find("div.modal").last().on('shown.bs.modal', function () { $(document).find("div.modal").last().on('shown.bs.modal', function () {
let refDlgId = $P.refDlgId("crdnListDialog");
$("#"+$P.refDlgId("crdnListDialog")).find("[name='schCrdnYmdFrom']").set(""); $("#"+refDlgId).find("[name='schCrdnYmdFrom']").set("");
$("#"+$P.refDlgId("crdnListDialog")).find("[name='schCrdnYmdTo']").set(""); $("#"+refDlgId).find("[name='schCrdnYmdTo']").set("");
$("#"+$P.refDlgId("crdnListDialog")).find("[name='vhrno']").set($P.$find("vhrno").val()); $("#"+refDlgId).find("[name='vhrno']").set($P.$find("vhrno").val());
$("#"+$P.refDlgId("crdnListDialog")).find(".btn-search").eq(0).click(); $("#"+refDlgId).find(".btn-search").eq(0).click();
}); });
}, },
onClose : () => {} onClose : () => {}
@ -1136,11 +1145,11 @@ $(document).ready(function(){
$("#"+dialogId).attr("data-ref-doctx","${pageName}"); $("#"+dialogId).attr("data-ref-doctx","${pageName}");
$(document).find("div.modal").last().on('shown.bs.modal', function () { $(document).find("div.modal").last().on('shown.bs.modal', function () {
let refDlgId = $P.refDlgId("crdnListDialog");
$("#"+$P.refDlgId("cvlcptDscsnListDialog")).find("[name='schDscsnYmdFrom']").set(""); $("#"+refDlgId).find("[name='schDscsnYmdFrom']").set("");
$("#"+$P.refDlgId("cvlcptDscsnListDialog")).find("[name='schDscsnYmdTo']").set(""); $("#"+refDlgId).find("[name='schDscsnYmdTo']").set("");
$("#"+$P.refDlgId("cvlcptDscsnListDialog")).find("[name='schVhrno']").set($P.$find("vhrno").val()); $("#"+refDlgId).find("[name='schVhrno']").set($P.$find("vhrno").val());
$("#"+$P.refDlgId("cvlcptDscsnListDialog")).find(".btn-search").eq(0).click(); $("#"+refDlgId).find(".btn-search").eq(0).click();
}); });
}, },
onClose : () => {} onClose : () => {}

@ -440,11 +440,16 @@ $(document).ready(function(){
url : $P.ctrl.urls.getInfo, url : $P.ctrl.urls.getInfo,
data : params, data : params,
success : (resp) => { success : (resp) => {
let dialogName = "totalInfoMainDialog";
let dialogId = "totalInfoMainDialog"; //dialogName+"-"+uuid();
dialog.open({ dialog.open({
id : "totalInfoMainDialog", id : dialogId,
title : "개별총정보", size : "xxl", content : resp, title : "개별총정보", size : "xxl", content : resp,
init : () => {} init : () => {
$("#"+dialogId).attr("name", dialogName);
$("#"+dialogId).attr("data-ref-doctx","${pageName}");
}
}); });
} }

@ -419,10 +419,16 @@ $(document).ready(function(){
data : params, data : params,
success : (resp) => { success : (resp) => {
let dialogName = "totalInfoMainDialog";
let dialogId = "totalInfoMainDialog"; //dialogName+"-"+uuid();
dialog.open({ dialog.open({
id : "totalInfoMainDialog", id : dialogId,
title : "개별총정보", size : "xxl", content : resp, title : "개별총정보", size : "xxl", content : resp,
init : () => {} init : () => {
$("#"+dialogId).attr("name", dialogName);
$("#"+dialogId).attr("data-ref-doctx","${pageName}");
}
}); });
} }

@ -407,10 +407,10 @@ $(document).ready(function(){
init : () => { init : () => {
$("#"+dialogId).attr("name", dialogName); $("#"+dialogId).attr("name", dialogName);
$("#"+dialogId).attr("data-ref-doctx","${pageName}"); $("#"+dialogId).attr("data-ref-doctx","${pageName}");
let refDlgId = $P.refDlgId("seallDmndDialog");
initDatepicker(document.getElementById($P.refDlgId("seallDmndDialog"))); initDatepicker(document.getElementById(refDlgId));
$("#"+$P.refDlgId("seallDmndDialog")).find("[name='rcptYmd']").datepicker('setDate', TODAY()); $("#"+refDlgId).find("[name='rcptYmd']").datepicker('setDate', TODAY());
$("#"+$P.refDlgId("seallDmndDialog")).find("[name='btnCreate']").on("click", () => $P.fnCreateDmnd()); $("#"+refDlgId).find("[name='btnCreate']").on("click", () => $P.fnCreateDmnd());
}, },
onClose : () => {} onClose : () => {}
}); });

@ -660,10 +660,10 @@ $(document).ready(function(){
init : () => { init : () => {
$("#"+dialogId).attr("name", dialogName); $("#"+dialogId).attr("name", dialogName);
$("#"+dialogId).attr("data-ref-doctx","${pageName}"); $("#"+dialogId).attr("data-ref-doctx","${pageName}");
let refDlgId = $P.refDlgId(dialogName);
$("#"+refDlgId).find("[name='preview']").val(result);
$("#"+$P.refDlgId("previewDialog")).find("[name='preview']").val(result); $("#"+refDlgId).find("[name='btnClose']").on("click", () => dialog.close(refDlgId));
$("#"+$P.refDlgId("previewDialog")).find("[name='btnClose']").on("click",
() => dialog.close($P.refDlgId("previewDialog"));
}, },
onOk : () => {}, onOk : () => {},
onClose : () => {} onClose : () => {}

@ -182,7 +182,8 @@
// 저장 callback // 저장 callback
$P.control.onSave = (resp) => { $P.control.onSave = (resp) => {
let dialogTitle = $("#" + $P.control.prefix + "Dialog--${openerPageName}").find("h5.modal-title").html();
let dialogTitle = $($("#frmEdit--${pageName}").parents(".modal")[0]).find("h5.modal-title").html();
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle); let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
// 메시지 출력 // 메시지 출력
@ -192,7 +193,7 @@
}); });
if (resp.saved) { if (resp.saved) {
dialog.close($P.control.prefix + "Dialog--${openerPageName}"); dialog.close($("#frmEdit--${pageName}").parents(".modal")[0].id);
} }
} }

@ -425,21 +425,26 @@ $(document).ready(function() {
var url = wctx.url("/sprt/sprt01/100/info.do"); var url = wctx.url("/sprt/sprt01/100/info.do");
var dialogId = "inputEtcCnDialog";
ajax.get({ ajax.get({
url : url url : url
, data : { crdnIds : crdnIds.join(",") } , data : { crdnIds : crdnIds.join(",") }
, success : (resp) => { , success : (resp) => {
let dialogName = "inputEtcCnDialog";
let dialogId = dialogName+"-"+uuid();
dialog.open({ dialog.open({
id : dialogId id : dialogId
, title : "특기사항입력-일괄" , title : "특기사항입력-일괄"
, size : "xl" , size : "xl"
, content : resp , content : resp
, init : () => { , init : () => {
$("#"+dialogId).attr("name", dialogName);
$("#"+dialogId).attr("data-ref-doctx","${pageName}");
let refDlgId = $P.refDlgId(dialogName);
var found = $("#"+dialogId).find("table template")[0].innerHTML; var found = $("#"+refDlgId).find("table template")[0].innerHTML;
var trs = cur.inStrings(found, null); var trs = cur.inStrings(found, null);
$("#"+dialogId).find("tbody").html(trs.join()); $("#"+refDlgId).find("tbody").html(trs.join());
} }
, onClose : () => { } , onClose : () => { }
}); });
@ -467,24 +472,27 @@ $(document).ready(function() {
var url = wctx.url("/sprt/sprt01/110/info.do"); var url = wctx.url("/sprt/sprt01/110/info.do");
var dialogId = "printCrdnDialog";
ajax.get({ ajax.get({
url : url url : url
, data : { crdnIds : crdnIds.join(",") } , data : { crdnIds : crdnIds.join(",") }
, success : (resp) => { , success : (resp) => {
let dialogName = "printCrdnDialog";
let dialogId = dialogName+"-"+uuid();
dialog.open({ dialog.open({
id : dialogId id : dialogId
, title : "종합조회-단속내역" , title : "종합조회-단속내역"
, size : "xl" , size : "xl"
, content : resp , content : resp
, init : () => { , init : () => {
$("#"+dialogId).attr("name", dialogName);
$("#"+dialogId).attr("data-ref-doctx","${pageName}");
let refDlgId = $P.refDlgId(dialogName);
var found = $("#"+refDlgId).find("table template")[0].innerHTML;
var found = $("#"+dialogId).find("table template")[0].innerHTML;
var trs1 = upDataset.inStrings(found, null); var trs1 = upDataset.inStrings(found, null);
var trs2 = downDataset.inStrings(found, null); var trs2 = downDataset.inStrings(found, null);
$("#"+dialogId).find("tbody").html(trs1.join()+trs2.join()); $("#"+refDlgId).find("tbody").html(trs1.join()+trs2.join());
} }
, onClose : () => { } , onClose : () => { }
}); });
@ -509,22 +517,26 @@ $(document).ready(function() {
var url = wctx.url("/sprt/sprt01/120/info.do"); var url = wctx.url("/sprt/sprt01/120/info.do");
var dialogId = "printBillDialog";
ajax.get({ ajax.get({
url : url url : url
, data : { crdnIds : crdnIds.join(",") } , data : { crdnIds : crdnIds.join(",") }
, success : (resp) => { , success : (resp) => {
let dialogName = "printBillDialog";
let dialogId = dialogName+"-"+uuid();
dialog.open({ dialog.open({
id : dialogId id : dialogId
, title : "종합조회-교부청구서,채권신고서" , title : "종합조회-교부청구서,채권신고서"
, size : "xl" , size : "xl"
, content : resp , content : resp
, init : () => { , init : () => {
$("#"+dialogId).attr("name", dialogName);
$("#"+dialogId).attr("data-ref-doctx","${pageName}");
let refDlgId = $P.refDlgId(dialogName);
var found = $("#"+dialogId).find("table template")[0].innerHTML; var found = $("#"+refDlgId).find("table template")[0].innerHTML;
var trs = upDataset.inStrings(found, null); var trs = upDataset.inStrings(found, null);
$("#"+dialogId).find("tbody").html(trs.join()); $("#"+refDlgId).find("tbody").html(trs.join());
var parentRes = new Object(); var parentRes = new Object();
@ -585,23 +597,26 @@ $(document).ready(function() {
var url = wctx.url("/sprt/sprt01/140/info.do"); var url = wctx.url("/sprt/sprt01/140/info.do");
var dialogId = "printAdvntceDialog";
ajax.get({ ajax.get({
url : url url : url
, data : { crdnIds : crdnIds.join(",") } , data : { crdnIds : crdnIds.join(",") }
, success : (resp) => { , success : (resp) => {
let dialogName = "printAdvntceDialog";
let dialogId = dialogName+"-"+uuid();
dialog.open({ dialog.open({
id : dialogId, id : dialogId,
title : "종합조회-사전통지서", title : "종합조회-사전통지서",
size : "xl", size : "xl",
content : resp, content : resp,
init : () => { init : () => {
$("#"+dialogId).attr("name", dialogName);
$("#"+dialogId).attr("data-ref-doctx","${pageName}");
let refDlgId = $P.refDlgId(dialogName);
var found = $("#"+refDlgId).find("table template")[0].innerHTML;
var found = $("#"+dialogId).find("table template")[0].innerHTML;
var trs = upDataset.inStrings(found, null); var trs = upDataset.inStrings(found, null);
$("#"+dialogId).find("tbody").html(trs.join()); $("#"+refDlgId).find("tbody").html(trs.join());
var parentRes = new Object(); var parentRes = new Object();
@ -640,22 +655,26 @@ $(document).ready(function() {
var url = wctx.url("/sprt/sprt01/150/info.do"); var url = wctx.url("/sprt/sprt01/150/info.do");
var dialogId = "printNhtDialog";
ajax.get({ ajax.get({
url : url url : url
, data : { crdnIds : crdnIds.join(",") } , data : { crdnIds : crdnIds.join(",") }
, success : (resp) => { , success : (resp) => {
let dialogName = "printNhtDialog";
let dialogId = dialogName+"-"+uuid();
dialog.open({ dialog.open({
id : dialogId, id : dialogId,
title : "종합조회-고지서", title : "종합조회-고지서",
size : "xl", size : "xl",
content : resp, content : resp,
init : () => { init : () => {
$("#"+dialogId).attr("name", dialogName);
$("#"+dialogId).attr("data-ref-doctx","${pageName}");
let refDlgId = $P.refDlgId(dialogName);
var found = $("#"+dialogId).find("table template")[0].innerHTML; var found = $("#"+refDlgId).find("table template")[0].innerHTML;
var trs = upDataset.inStrings(found, null); var trs = upDataset.inStrings(found, null);
$("#"+dialogId).find("tbody").html(trs.join()); $("#"+refDlgId).find("tbody").html(trs.join());
var parentRes = new Object(); var parentRes = new Object();
@ -712,12 +731,19 @@ $(document).ready(function() {
url : url url : url
, data : params , data : params
, success : (resp) => { , success : (resp) => {
let dialogName = "totalInfoMainDialog";
let dialogId = "totalInfoMainDialog"; //dialogName+"-"+uuid();
dialog.open({ dialog.open({
id : "totalInfoMainDialog" id : dialogId
, title : "개별총정보" , title : "개별총정보"
, size : "xxl" , size : "xxl"
, content : resp , content : resp
, init : () => { } , init : () => {
$("#"+dialogId).attr("name", dialogName);
$("#"+dialogId).attr("data-ref-doctx","${pageName}");
}
, onClose : () => { } , onClose : () => { }
}); });
} }

@ -218,31 +218,36 @@ $(document).ready(function(){
} }
var url = wctx.url("/stng/stng01/010/main.do"); var url = wctx.url("/stng/stng01/010/main.do");
var dialogId = "otptStngDialog";
ajax.post({ ajax.post({
url : url, url : url,
data : {}, data : {},
success : (resp) => { success : (resp) => {
let dialogName = "otptStngDialog";
let dialogId = dialogName+"-"+uuid();
dialog.open({ dialog.open({
id : dialogId, id : dialogId,
title : "출력설정", title : "출력설정",
size : "xxl", size : "xxl",
content : resp, content : resp,
init : () => { init : () => {
setDialogZindex();
$("#"+dialogId).attr("name", dialogName);
$("#"+dialogId).attr("data-ref-doctx","${pageName}");
let refDlgId = $P.refDlgId(dialogName);
$("#"+dialogId).find("form[name='frmSearch']").find("[name='sggCd']").val(MY_INFO.info.sggCd); $("#"+refDlgId).find("form[name='frmSearch']").find("[name='sggCd']").val(MY_INFO.info.sggCd);
if(fix != ""){ if(fix != ""){
var taskSeSelectbox = $("#"+dialogId).find("form[name='frmSearch']").find("[name='taskSeCd']"); var taskSeSelectbox = $("#"+refDlgId).find("form[name='frmSearch']").find("[name='taskSeCd']");
taskSeSelectbox.val(fix); taskSeSelectbox.val(fix);
taskSeSelectbox.attr("disabled","disabled"); taskSeSelectbox.attr("disabled","disabled");
} }
$("#"+dialogId).find("form[name='frmSearch']").find("[name='sndngSeCd']").val("02"); $("#"+refDlgId).find("form[name='frmSearch']").find("[name='sndngSeCd']").val("02");
setDialogZindex();
}, },
onClose : () => { } onClose : () => { }
}); });

@ -213,12 +213,13 @@ $(document).ready(function(){
} }
var url = wctx.url("/stng/stng01/010/main.do"); var url = wctx.url("/stng/stng01/010/main.do");
var dialogId = "otptStngDialog";
ajax.post({ ajax.post({
url : url, url : url,
data : {}, data : {},
success : (resp) => { success : (resp) => {
let dialogName = "otptStngDialog";
let dialogId = dialogName+"-"+uuid();
dialog.open({ dialog.open({
id : dialogId id : dialogId
@ -226,19 +227,20 @@ $(document).ready(function(){
, size : "xxl" , size : "xxl"
, content : resp , content : resp
, init : () => { , init : () => {
setDialogZindex();
$("#"+dialogId).attr("name", dialogName);
$("#"+dialogId).attr("data-ref-doctx","${pageName}");
let refDlgId = $P.refDlgId(dialogName);
$("#"+refDlgId).find("form[name='frmSearch']").find("[name='sggCd']").val(MY_INFO.info.sggCd);
$("#"+dialogId).find("form[name='frmSearch']").find("[name='sggCd']").val(MY_INFO.info.sggCd);
if(fix != ""){ if(fix != ""){
var taskSeSelectbox = $("#"+dialogId).find("form[name='frmSearch']").find("[name='taskSeCd']"); var taskSeSelectbox = $("#"+refDlgId).find("form[name='frmSearch']").find("[name='taskSeCd']");
taskSeSelectbox.val(fix); taskSeSelectbox.val(fix);
taskSeSelectbox.attr("disabled","disabled"); taskSeSelectbox.attr("disabled","disabled");
} }
$("#"+dialogId).find("form[name='frmSearch']").find("[name='sndngSeCd']").val("03"); $("#"+refDlgId).find("form[name='frmSearch']").find("[name='sndngSeCd']").val("03");
setDialogZindex();
} }
, onClose : () => { } , onClose : () => { }
}); });

@ -2,263 +2,263 @@
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> <%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<c:set var="pageKorName" scope="request">출력설정</c:set> <c:set var="pageKorName" scope="request">출력설정</c:set>
<span data-doctx="${pageName}">
<div class="d-flex flex-row justify-content-evenly"> <div class="d-flex flex-row justify-content-evenly">
<div class="card p-3"> <div class="card p-3">
<div class="row mb-3 justify-content-start"> <div class="row mb-3 justify-content-start">
<div class="col-md-12"> <div class="col-md-12">
<div class="float-start"> <div class="float-start">
<form id="frmSearch--${pageName}" name="frmSearch"> <form id="frmSearch--${pageName}" name="frmSearch">
<input type="hidden" name="sggCd" /> <input type="hidden" name="sggCd" />
업무 업무
<select class="form-select" name="taskSeCd"> <select class="form-select" name="taskSeCd">
<c:forEach items="${TaskListForSgg}" var="item"> <c:forEach items="${TaskListForSgg}" var="item">
<option value="${item.code}">${item.value}</option> <option value="${item.code}">${item.value}</option>
</c:forEach> </c:forEach>
</select> </select>
출력물 출력물
<select class="form-select" name="sndngSeCd"> <select class="form-select" name="sndngSeCd">
<option value="02">사전통지서</option> <option value="02">사전통지서</option>
<option value="03">부과고지서</option> <option value="03">부과고지서</option>
</select> </select>
용지 용지
<select class="form-select" name="paperSeCd"> <select class="form-select" name="paperSeCd">
<c:forEach items="${FIM078List}" var="item"> <c:forEach items="${FIM078List}" var="item">
<option value="${item.code}">${item.value}</option> <option value="${item.code}">${item.value}</option>
</c:forEach> </c:forEach>
</select> </select>
<button type="button" id="btnLoad--${pageName}" class="btn btn-primary">불러오기</button> <button type="button" id="btnLoad--${pageName}" class="btn btn-primary">불러오기</button>
</form> </form>
</div> </div>
<div class="float-end"> <div class="float-end">
<input type="checkbox" id="viewSample--${pageName}" /> <input type="checkbox" id="viewSample--${pageName}" />
<label for="viewSample--${pageName}">저장 후 샘플 보기</label> <label for="viewSample--${pageName}">저장 후 샘플 보기</label>
<button type="button" id="btnSave--${pageName}" class="btn btn-primary">저장</button> <button type="button" id="btnSave--${pageName}" class="btn btn-primary">저장</button>
</div>
</div> </div>
</div> </div>
</div>
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<span id="currentOtpt--${pageName}" class="bg-lighter h3 h-px-30"> <span id="currentOtpt--${pageName}" class="bg-lighter h3 h-px-30">
</span> </span>
<form id="frmEdit--${pageName}"> <form id="frmEdit--${pageName}">
<input type="hidden" name="sggCd" /> <input type="hidden" name="sggCd" />
<input type="hidden" name="taskSeCd" /> <input type="hidden" name="taskSeCd" />
<input type="hidden" name="sndngSeCd" /> <input type="hidden" name="sndngSeCd" />
<input type="hidden" name="paperSeCd" /> <input type="hidden" name="paperSeCd" />
<span id="otptGlobalStng--${pageName}"> <span id="otptGlobalStng--${pageName}">
</span> </span>
</form> </form>
</div> </div>
<div class="row mb-3 justify-content-start"> <div class="row mb-3 justify-content-start">
<div class="col-md-12"> <div class="col-md-12">
<div class="float-start"> <div class="float-start">
<strong>단일 출력 항목</strong> <strong>단일 출력 항목</strong>
<button type="button" id="btnUniqueAdd--${pageName}" <button type="button" id="btnUniqueAdd--${pageName}"
class="btn btn-info dropdown-toggle" data-bs-toggle="dropdown">추가</button> class="btn btn-info dropdown-toggle" data-bs-toggle="dropdown">추가</button>
<ul id="dropdownUniqueAdd--${pageName}" class="dropdown-menu oy-scroll mh-px-250"> <ul id="dropdownUniqueAdd--${pageName}" class="dropdown-menu oy-scroll mh-px-250">
</ul> </ul>
<button type="button" id="btnUniqueDel--${pageName}" class="btn btn-info">&#x2611; 삭제</button> <button type="button" id="btnUniqueDel--${pageName}" class="btn btn-info">&#x2611; 삭제</button>
</div>
</div> </div>
</div> </div>
</div> <div class="card-datatable text-nowrap mb-3">
<div class="card-datatable text-nowrap mb-3"> <div class="dataTables_wrapper dt-bootstrap5 no-footer">
<div class="dataTables_wrapper dt-bootstrap5 no-footer"> <div id="scrollUnique--${pageName}" class="table-responsive ox-scroll oy-scroll h-px-300">
<div id="scrollUnique--${pageName}" class="table-responsive ox-scroll oy-scroll h-px-300"> <table
<table class="table-layout-fixed compress-cell dataTable table table-bordered"
class="table-layout-fixed compress-cell dataTable table table-bordered" id="tableUnique--${pageName}" aria-describedby="DataTables_Table_0_info">
id="tableUnique--${pageName}" aria-describedby="DataTables_Table_0_info"> <thead class="sticky-thead" id="theadUnique--${pageName}">
<thead class="sticky-thead" id="theadUnique--${pageName}"> </thead>
</thead> <tbody id="tbodyUnique--${pageName}">
<tbody id="tbodyUnique--${pageName}"> </tbody>
</tbody> </table>
</table> </div>
</div> </div>
</div> </div>
</div>
<div class="row mb-3 justify-content-start"> <div class="row mb-3 justify-content-start">
<div class="col-md-12"> <div class="col-md-12">
<div class="float-start"> <div class="float-start">
<strong>복수 출력 가능 항목</strong> <strong>복수 출력 가능 항목</strong>
<button type="button" id="btnMultipleAdd--${pageName}" class="btn btn-info">+ 추가</button> <button type="button" id="btnMultipleAdd--${pageName}" class="btn btn-info">+ 추가</button>
<button type="button" id="btnMultipleDel--${pageName}" class="btn btn-info">&#x2611; 삭제</button> <button type="button" id="btnMultipleDel--${pageName}" class="btn btn-info">&#x2611; 삭제</button>
</div>
</div> </div>
</div> </div>
</div> <div class="card-datatable text-nowrap mb-3">
<div class="card-datatable text-nowrap mb-3"> <div class="dataTables_wrapper dt-bootstrap5 no-footer">
<div class="dataTables_wrapper dt-bootstrap5 no-footer"> <div id="scrollMultiple--${pageName}" class="table-responsive ox-scroll oy-scroll h-px-300">
<div id="scrollMultiple--${pageName}" class="table-responsive ox-scroll oy-scroll h-px-300"> <table
<table class="table-layout-fixed compress-cell dataTable table table-bordered"
class="table-layout-fixed compress-cell dataTable table table-bordered" id="tableMultiple--${pageName}" aria-describedby="DataTables_Table_0_info">
id="tableMultiple--${pageName}" aria-describedby="DataTables_Table_0_info"> <thead class="sticky-thead" id="theadMultiple--${pageName}">
<thead class="sticky-thead" id="theadMultiple--${pageName}"> </thead>
</thead> <tbody id="tbodyMultiple--${pageName}">
<tbody id="tbodyMultiple--${pageName}"> </tbody>
</tbody> </table>
</table> </div>
</div> </div>
</div> </div>
</div>
</div>
</div> </div>
</div>
<span id="tempArea--${pageName}" hidden></span>
<span id="tempArea--${pageName}" hidden></span>
<template id="theadTr--${pageName}">
<template id="theadTr--${pageName}"> <tr>
<tr> <th style="width:150px">순서</th>
<th style="width:150px">순서</th> <th style="width:40px"></th>
<th style="width:40px"></th> <th style="width:200px">출력항목명</th>
<th style="width:200px">출력항목명</th> <th style="width:110px">유형</th>
<th style="width:110px">유형</th> <th style="width:110px">위치(좌)</th>
<th style="width:110px">위치(좌)</th> <th style="width:110px">위치(상)</th>
<th style="width:110px">위치(상)</th> <th style="width:110px">영역(좌우)</th>
<th style="width:110px">영역(좌우)</th> <th style="width:110px">영역(상하)</th>
<th style="width:110px">영역(상하)</th> <th style="width:140px">텍스트정렬</th>
<th style="width:140px">텍스트정렬</th> <th style="width:70px">줄바꿈</th>
<th style="width:70px">줄바꿈</th> <th style="width:100px">글꼴</th>
<th style="width:100px">글꼴</th> <th style="width:80px">글자크기</th>
<th style="width:80px">글자크기</th> <th style="width:80px">글자색</th>
<th style="width:80px">글자색</th> <th style="width:110px">글자스타일</th>
<th style="width:110px">글자스타일</th> <th class="dummy-th"></th>
<th class="dummy-th"></th> </tr>
</tr> </template>
</template>
<template id="found--${pageName}">
<template id="found--${pageName}"> <tr data-key="{OTPT_FORM_ID}">
<tr data-key="{OTPT_FORM_ID}"> <td data-col="otptArtclSeq" class="text-center">
<td data-col="otptArtclSeq" class="text-center"> <button type="button">▲</button>
<button type="button">▲</button> <input type="text" readonly class="w-px-50 text-center" />
<input type="text" readonly class="w-px-50 text-center" /> <button type="button">▼</button>
<button type="button">▼</button> </td>
</td> <td data-col="checkbox" class="text-center">
<td data-col="checkbox" class="text-center"> <input type="checkbox" name="del" class="form-check-input" />
<input type="checkbox" name="del" class="form-check-input" /> </td>
</td> <td data-col="otptArtclNm" class="text-center">
<td data-col="otptArtclNm" class="text-center"> <select class="form-select" onchange="pageObject['${pageName}'].fnChangeComponent(this);">
<select class="form-select" onchange="pageObject['${pageName}'].fnChangeComponent(this);"> {COMPONENTS}
{COMPONENTS} </select>
</select> </td>
</td> <td data-col="componentType" class="text-center">
<td data-col="componentType" class="text-center"> <input type="text" class="form-control w-px-80" readonly />
<input type="text" class="form-control w-px-80" readonly /> </td>
</td> <td data-col="leftPstn" class="text-center">
<td data-col="leftPstn" class="text-center"> <input type="number" class="form-control w-px-80" min="0" max="300" />
<input type="number" class="form-control w-px-80" min="0" max="300" /> </td>
</td> <td data-col="topPstn" class="text-center">
<td data-col="topPstn" class="text-center"> <input type="number" class="form-control w-px-80" min="0" max="300" />
<input type="number" class="form-control w-px-80" min="0" max="300" /> </td>
</td> <td data-col="widthSz" class="text-center">
<td data-col="widthSz" class="text-center"> <input type="number" class="form-control w-px-80" min="0" max="300" />
<input type="number" class="form-control w-px-80" min="0" max="300" /> </td>
</td> <td data-col="heightSz" class="text-center">
<td data-col="heightSz" class="text-center"> <input type="number" class="form-control w-px-80" min="0" max="300" />
<input type="number" class="form-control w-px-80" min="0" max="300" /> </td>
</td> <td data-col="textSort" class="text-center">
<td data-col="textSort" class="text-center"> <button type="button" class="btn btn-xs btn-outline-dark h-px-25 px-1">◀</button>
<button type="button" class="btn btn-xs btn-outline-dark h-px-25 px-1">◀</button> <select class="form-select no-bgi w-automin">
<select class="form-select no-bgi w-automin"> <option value="left" title="왼쪽">■□□</option>
<option value="left" title="왼쪽">■□□</option> <option value="center" title="가운데">□■□</option>
<option value="center" title="가운데">□■□</option> <option value="right" title="오른쪽">□□■</option>
<option value="right" title="오른쪽">□□■</option> </select>
</select> <button type="button" class="btn btn-xs btn-outline-dark h-px-25 px-1">▶</button>
<button type="button" class="btn btn-xs btn-outline-dark h-px-25 px-1">▶</button> </td>
</td> <td data-col="lineChgYn" class="text-center">
<td data-col="lineChgYn" class="text-center"> <input type="checkbox" value="Y" class="form-check-input" />
<input type="checkbox" value="Y" class="form-check-input" /> </td>
</td> <td data-col="fontNm" class="text-center">
<td data-col="fontNm" class="text-center"> <select class="form-select no-bgi w-automin">
<select class="form-select no-bgi w-automin"> <option value="gulimche">굴림체</option>
<option value="gulimche">굴림체</option> <option value="gulim">굴림</option>
<option value="gulim">굴림</option> <option value="batangche">바탕체</option>
<option value="batangche">바탕체</option> <option value="batang">바탕</option>
<option value="batang">바탕</option> <option value="dotumche">돋움체</option>
<option value="dotumche">돋움체</option> <option value="dotum">돋움</option>
<option value="dotum">돋움</option> <option value="gungsuhche">궁서체</option>
<option value="gungsuhche">궁서체</option> <option value="gungsuh">궁서</option>
<option value="gungsuh">궁서</option> </select>
</select> </td>
</td> <td data-col="fontSz" class="text-center">
<td data-col="fontSz" class="text-center"> <input type="number" class="form-control w-px-60" min="8" max="25" />
<input type="number" class="form-control w-px-60" min="8" max="25" /> </td>
</td> <td data-col="fontColr" class="text-center">
<td data-col="fontColr" class="text-center"> <select class="form-select no-bgi w-automin">
<select class="form-select no-bgi w-automin"> <option title="검정" value="BLACK"></option>
<option title="검정" value="BLACK"></option> <option title="빨강" value="RED"></option>
<option title="빨강" value="RED"></option> <option title="주황" value="ORANGE"></option>
<option title="주황" value="ORANGE"></option> <option title="노랑" value="YELLOW"></option>
<option title="노랑" value="YELLOW"></option> <option title="연두" value="YELLOW_GREEN"></option>
<option title="연두" value="YELLOW_GREEN"></option> <option title="초록" value="GREEN"></option>
<option title="초록" value="GREEN"></option> <option title="청록" value="CYAN"></option>
<option title="청록" value="CYAN"></option> <option title="파랑" value="BLUE"></option>
<option title="파랑" value="BLUE"></option> <option title="보라" value="VIOLET"></option>
<option title="보라" value="VIOLET"></option> <option title="마젠타" value="MAGENTA"></option>
<option title="마젠타" value="MAGENTA"></option> <option title="짙은분홍" value="DEEP_PINK"></option>
<option title="짙은분홍" value="DEEP_PINK"></option> <option title="밝은회색" value="DARK_GREY"></option>
<option title="밝은회색" value="DARK_GREY"></option> <option title="회색" value="GREY"></option>
<option title="회색" value="GREY"></option> <option title="어두운회색" value="LIGHT_GREY"></option>
<option title="어두운회색" value="LIGHT_GREY"></option> <option title="하양" value="WHITE"></option>
<option title="하양" value="WHITE"></option> </select>
</select> </td>
</td> <td data-col="fontStyle" class="text-center">
<td data-col="fontStyle" class="text-center"> <select class="form-select no-bgi">
<select class="form-select no-bgi"> <option value="FILL">일반</option>
<option value="FILL">일반</option> <option value="FILL_STROKE">굵게</option>
<option value="FILL_STROKE">굵게</option> </select>
</select> </td>
</td> <td class="dummy-td"></td>
<td class="dummy-td"></td> </tr>
</tr> </template>
</template>
<template id="dropdownTemplate--${pageName}">
<template id="dropdownTemplate--${pageName}"> <li><a class="dropdown-item" onclick="{onclick}">{DSCRP}</a></li>
<li><a class="dropdown-item" onclick="{onclick}">{DSCRP}</a></li> </template>
</template>
<template id="foldLinePstnTemplate--${pageName}">
<template id="foldLinePstnTemplate--${pageName}"> <span class="px-2">
<span class="px-2"> <label class="col-form-label bg-lighter px-2">접는선 위치</label>
<label class="col-form-label bg-lighter px-2">접는선 위치</label>
<label>
<input type="radio" name="foldLinePstnSeCd" value="">
미표시
</label>
<c:forEach items="${FIM080List}" var="item">
<label> <label>
<input type="radio" name="foldLinePstnSeCd" value="${item.code}"> <input type="radio" name="foldLinePstnSeCd" value="">
${item.value} 미표시
</label> </label>
</c:forEach> <c:forEach items="${FIM080List}" var="item">
</span> <label>
</template> <input type="radio" name="foldLinePstnSeCd" value="${item.code}">
${item.value}
<template id="bcrnTemplate--${pageName}"> </label>
<span class="px-2"> </c:forEach>
<label class="col-form-label bg-lighter px-2">배경이미지</label> </span>
<output id="fileStatus--${pageName}"></output> </template>
<button type="button" onclick="$(this).next().click();">업로드</button>
<input type="file" name="backgroundFile" accept="image/*" hidden onchange="pageObject['${pageName}'].fnBgUpload(this);" /> <template id="bcrnTemplate--${pageName}">
<button type="button" id="btnBgDown--${pageName}" onclick="pageObject['${pageName}'].fnBgDown();">다운로드</button> <span class="px-2">
</span> <label class="col-form-label bg-lighter px-2">배경이미지</label>
</template> <output id="fileStatus--${pageName}"></output>
<button type="button" onclick="$(this).next().click();">업로드</button>
<template id="photoCntTemplate--${pageName}"> <input type="file" name="backgroundFile" accept="image/*" hidden onchange="pageObject['${pageName}'].fnBgUpload(this);" />
<span class="px-2"> <button type="button" id="btnBgDown--${pageName}" onclick="pageObject['${pageName}'].fnBgDown();">다운로드</button>
<label class="col-form-label bg-lighter px-2">사진 출력 영역</label> </span>
<input type="number" name="otptPhotoCnt" class="form-control w-px-50" min="0" max="6" /> 장 </template>
</span>
</template> <template id="photoCntTemplate--${pageName}">
<span class="px-2">
<label class="col-form-label bg-lighter px-2">사진 출력 영역</label>
<input type="number" name="otptPhotoCnt" class="form-control w-px-50" min="0" max="6" /> 장
</span>
</template>
</span>
<script> <script>
var FIM054 = new CommonCodes(${FIM054}); var FIM054 = new CommonCodes(${FIM054});
var FIM047 = new CommonCodes(${FIM047}); var FIM047 = new CommonCodes(${FIM047});
var FIM078 = new CommonCodes(${FIM078}); var FIM078 = new CommonCodes(${FIM078});
var FIM080 = new CommonCodes(${FIM080}); var FIM080 = new CommonCodes(${FIM080});
pageObject["${pageName}"] = {}; pageObject["${pageName}"] = newDoctxFinder("${pageName}");
$(document).ready(function(){ $(document).ready(function(){

@ -2,177 +2,177 @@
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> <%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<c:set var="pageKorName" scope="request">PDF 추출 설정</c:set> <c:set var="pageKorName" scope="request">PDF 추출 설정</c:set>
<span data-doctx="${pageName}">
<div class="d-flex flex-row justify-content-evenly"> <div class="d-flex flex-row justify-content-evenly">
<div class="card p-3"> <div class="card p-3">
<div class="row mb-3 justify-content-start"> <div class="row mb-3 justify-content-start">
<div class="col-md-12"> <div class="col-md-12">
<div class="float-start"> <div class="float-start">
<form id="frmSearch--${pageName}" name="frmSearch"> <form id="frmSearch--${pageName}" name="frmSearch">
<input type="hidden" name="sggCd" /> <input type="hidden" name="sggCd" />
업무 업무
<select class="form-select" name="taskSeCd"> <select class="form-select" name="taskSeCd">
<c:forEach items="${TaskListForSgg}" var="item"> <c:forEach items="${TaskListForSgg}" var="item">
<option value="${item.code}">${item.value}</option> <option value="${item.code}">${item.value}</option>
</c:forEach> </c:forEach>
</select> </select>
템플릿 템플릿
<select class="form-select" name="tmplatId"> <select class="form-select" name="tmplatId">
<c:forEach items="${TmplatList}" var="item"> <c:forEach items="${TmplatList}" var="item">
<option value="${item.code}">${item.value}</option> <option value="${item.code}">${item.value}</option>
</c:forEach> </c:forEach>
<!-- <option value="JU001">사전통지서</option> <!-- <option value="JU001">사전통지서</option>
<option value="JU002">본고지(수시분)</option> --> <option value="JU002">본고지(수시분)</option> -->
</select> </select>
<button type="button" id="btnLoad--${pageName}" class="btn btn-primary">불러오기</button> <button type="button" id="btnLoad--${pageName}" class="btn btn-primary">불러오기</button>
</form> </form>
</div> </div>
<div class="float-end"> <div class="float-end">
<button type="button" id="btnSave--${pageName}" class="btn btn-primary">저장</button> <button type="button" id="btnSave--${pageName}" class="btn btn-primary">저장</button>
</div>
</div> </div>
</div> </div>
</div>
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<span id="currentTmplat--${pageName}" class="bg-lighter h3 h-px-30"> <span id="currentTmplat--${pageName}" class="bg-lighter h3 h-px-30">
</span> </span>
<form id="frmEdit--${pageName}"> <form id="frmEdit--${pageName}">
<input type="hidden" name="sggCd" /> <input type="hidden" name="sggCd" />
<input type="hidden" name="taskSeCd" /> <input type="hidden" name="taskSeCd" />
<input type="hidden" name="tmplatId" /> <input type="hidden" name="tmplatId" />
<input type="hidden" name="extrBscId" /> <input type="hidden" name="extrBscId" />
</form> </form>
</div> </div>
<div class="row mb-3 justify-content-start"> <div class="row mb-3 justify-content-start">
<div class="col-md-12"> <div class="col-md-12">
<strong>템플릿 문자열</strong> <strong>템플릿 문자열</strong>
<input type="text" id="mobilePageTmplt--${pageName}" name="mobilePageTmplt" <input type="text" id="mobilePageTmplt--${pageName}" name="mobilePageTmplt"
class="w-100" /> class="w-100" />
</div>
</div> </div>
</div>
<div class="row mb-3 justify-content-start"> <div class="row mb-3 justify-content-start">
<div class="col-md-12"> <div class="col-md-12">
<div class="float-start"> <div class="float-start">
<strong>기초 항목</strong> <strong>기초 항목</strong>
<button type="button" id="btnPredefinedAdd--${pageName}" <button type="button" id="btnPredefinedAdd--${pageName}"
class="btn btn-info dropdown-toggle" data-bs-toggle="dropdown">추가</button> class="btn btn-info dropdown-toggle" data-bs-toggle="dropdown">추가</button>
<ul id="dropdownPredefinedAdd--${pageName}" class="dropdown-menu oy-scroll mh-px-250"> <ul id="dropdownPredefinedAdd--${pageName}" class="dropdown-menu oy-scroll mh-px-250">
</ul> </ul>
<button type="button" id="btnPredefinedDel--${pageName}" class="btn btn-info">&#x2611; 삭제</button> <button type="button" id="btnPredefinedDel--${pageName}" class="btn btn-info">&#x2611; 삭제</button>
</div>
</div> </div>
</div> </div>
</div> <div class="card-datatable text-nowrap mb-3">
<div class="card-datatable text-nowrap mb-3"> <div class="dataTables_wrapper dt-bootstrap5 no-footer">
<div class="dataTables_wrapper dt-bootstrap5 no-footer"> <div id="scrollPredefined--${pageName}" class="table-responsive ox-scroll oy-scroll h-px-300">
<div id="scrollPredefined--${pageName}" class="table-responsive ox-scroll oy-scroll h-px-300"> <table
<table class="table-layout-fixed compress-cell dataTable table table-bordered"
class="table-layout-fixed compress-cell dataTable table table-bordered" id="tablePredefined--${pageName}" aria-describedby="DataTables_Table_0_info">
id="tablePredefined--${pageName}" aria-describedby="DataTables_Table_0_info"> <thead class="sticky-thead" id="theadPredefined--${pageName}">
<thead class="sticky-thead" id="theadPredefined--${pageName}"> </thead>
</thead> <tbody id="tbodyPredefined--${pageName}">
<tbody id="tbodyPredefined--${pageName}"> </tbody>
</tbody> </table>
</table> </div>
</div> </div>
</div> </div>
</div>
<div class="row mb-3 justify-content-start"> <div class="row mb-3 justify-content-start">
<div class="col-md-12"> <div class="col-md-12">
<div class="float-start"> <div class="float-start">
<strong>사용자 정의 항목</strong> <strong>사용자 정의 항목</strong>
<button type="button" id="btnCustomAdd--${pageName}" class="btn btn-info">+ 추가</button> <button type="button" id="btnCustomAdd--${pageName}" class="btn btn-info">+ 추가</button>
<button type="button" id="btnCustomDel--${pageName}" class="btn btn-info">&#x2611; 삭제</button> <button type="button" id="btnCustomDel--${pageName}" class="btn btn-info">&#x2611; 삭제</button>
</div>
</div> </div>
</div> </div>
</div> <div class="card-datatable text-nowrap mb-3">
<div class="card-datatable text-nowrap mb-3"> <div class="dataTables_wrapper dt-bootstrap5 no-footer">
<div class="dataTables_wrapper dt-bootstrap5 no-footer"> <div id="scrollCustom--${pageName}" class="table-responsive ox-scroll oy-scroll h-px-300">
<div id="scrollCustom--${pageName}" class="table-responsive ox-scroll oy-scroll h-px-300"> <table
<table class="table-layout-fixed compress-cell dataTable table table-bordered"
class="table-layout-fixed compress-cell dataTable table table-bordered" id="tableCustom--${pageName}" aria-describedby="DataTables_Table_0_info">
id="tableCustom--${pageName}" aria-describedby="DataTables_Table_0_info"> <thead class="sticky-thead" id="theadCustom--${pageName}">
<thead class="sticky-thead" id="theadCustom--${pageName}"> </thead>
</thead> <tbody id="tbodyCustom--${pageName}">
<tbody id="tbodyCustom--${pageName}"> </tbody>
</tbody> </table>
</table> </div>
</div> </div>
</div> </div>
</div>
</div>
</div> </div>
</div>
<template id="theadTr--${pageName}">
<tr>
<th style="width:150px">순서</th>
<th style="width:40px"></th>
<th style="width:200px">추출항목명</th>
<th style="width:200px">추출항목설명</th>
<th style="width:110px">유형</th>
<th style="width:110px">위치(좌)</th>
<th style="width:110px">위치(상)</th>
<th style="width:110px">영역(좌우)</th>
<th style="width:110px">영역(상하)</th>
<th class="dummy-th"></th>
</tr>
</template>
<template id="found--${pageName}">
<tr data-key="{EXTR_FORM_ID}">
<td data-col="extrArtclOrdr" class="text-center">
<button type="button">▲</button>
<input type="text" readonly class="w-px-50 text-center" />
<button type="button">▼</button>
</td>
<td data-col="checkbox" class="text-center">
<input type="checkbox" name="del" class="form-check-input" />
</td>
<td data-col="extrArtclNm" class="text-center">
<input type="text" class="form-control w-px-180" />
</td>
<td data-col="extrArtclDscrp" class="text-center">
<input type="text" class="form-control w-px-180" />
</td>
<td data-col="componentType" class="text-center">
<input type="text" class="form-control w-px-80" readonly />
</td>
<td data-col="leftPstn" class="text-center">
<input type="number" class="form-control w-px-80" min="0" max="300" />
</td>
<td data-col="topPstn" class="text-center">
<input type="number" class="form-control w-px-80" min="0" max="300" />
</td>
<td data-col="widthSz" class="text-center">
<input type="number" class="form-control w-px-80" min="0" max="300" />
</td>
<td data-col="heightSz" class="text-center">
<input type="number" class="form-control w-px-80" min="0" max="300" />
</td>
<td class="dummy-td"></td>
</tr>
</template>
<template id="dropdownTemplate--${pageName}">
<li><a class="dropdown-item" onclick="{onclick}">{DSCRP}</a></li>
</template>
<template id="theadTr--${pageName}">
<tr>
<th style="width:150px">순서</th>
<th style="width:40px"></th>
<th style="width:200px">추출항목명</th>
<th style="width:200px">추출항목설명</th>
<th style="width:110px">유형</th>
<th style="width:110px">위치(좌)</th>
<th style="width:110px">위치(상)</th>
<th style="width:110px">영역(좌우)</th>
<th style="width:110px">영역(상하)</th>
<th class="dummy-th"></th>
</tr>
</template>
<template id="found--${pageName}">
<tr data-key="{EXTR_FORM_ID}">
<td data-col="extrArtclOrdr" class="text-center">
<button type="button">▲</button>
<input type="text" readonly class="w-px-50 text-center" />
<button type="button">▼</button>
</td>
<td data-col="checkbox" class="text-center">
<input type="checkbox" name="del" class="form-check-input" />
</td>
<td data-col="extrArtclNm" class="text-center">
<input type="text" class="form-control w-px-180" />
</td>
<td data-col="extrArtclDscrp" class="text-center">
<input type="text" class="form-control w-px-180" />
</td>
<td data-col="componentType" class="text-center">
<input type="text" class="form-control w-px-80" readonly />
</td>
<td data-col="leftPstn" class="text-center">
<input type="number" class="form-control w-px-80" min="0" max="300" />
</td>
<td data-col="topPstn" class="text-center">
<input type="number" class="form-control w-px-80" min="0" max="300" />
</td>
<td data-col="widthSz" class="text-center">
<input type="number" class="form-control w-px-80" min="0" max="300" />
</td>
<td data-col="heightSz" class="text-center">
<input type="number" class="form-control w-px-80" min="0" max="300" />
</td>
<td class="dummy-td"></td>
</tr>
</template>
<template id="dropdownTemplate--${pageName}">
<li><a class="dropdown-item" onclick="{onclick}">{DSCRP}</a></li>
</template>
</span>
<script> <script>
var FIM054 = new CommonCodes(${FIM054}); var FIM054 = new CommonCodes(${FIM054});
var FIM047 = new CommonCodes(${FIM047}); var FIM047 = new CommonCodes(${FIM047});
var FIM078 = new CommonCodes(${FIM078}); var FIM078 = new CommonCodes(${FIM078});
var FIM080 = new CommonCodes(${FIM080}); var FIM080 = new CommonCodes(${FIM080});
pageObject["${pageName}"] = {}; pageObject["${pageName}"] = newDoctxFinder("${pageName}");
$(document).ready(function(){ $(document).ready(function(){

@ -2,144 +2,144 @@
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> <%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<c:set var="pageKorName" scope="request">외주요청파일 서식 설정</c:set> <c:set var="pageKorName" scope="request">외주요청파일 서식 설정</c:set>
<span data-doctx="${pageName}">
<div class="d-flex flex-row justify-content-evenly"> <div class="d-flex flex-row justify-content-evenly">
<div class="card p-3"> <div class="card p-3">
<div class="row mb-3 justify-content-start"> <div class="row mb-3 justify-content-start">
<div class="col-md-12"> <div class="col-md-12">
<div class="float-start"> <div class="float-start">
<form id="frmSearch--${pageName}" name="frmSearch"> <form id="frmSearch--${pageName}" name="frmSearch">
<input type="hidden" name="sggCd" /> <input type="hidden" name="sggCd" />
업무 업무
<select class="form-select" name="taskSeCd"> <select class="form-select" name="taskSeCd">
<c:forEach items="${TaskListForSgg}" var="item"> <c:forEach items="${TaskListForSgg}" var="item">
<option value="${item.code}">${item.value}</option> <option value="${item.code}">${item.value}</option>
</c:forEach> </c:forEach>
</select> </select>
출력물 출력물
<select class="form-select" name="sndngSeCd"> <select class="form-select" name="sndngSeCd">
<option value="02">사전통지서</option> <option value="02">사전통지서</option>
<option value="03">부과고지서</option> <option value="03">부과고지서</option>
</select> </select>
<button type="button" id="btnLoad--${pageName}" class="btn btn-primary">불러오기</button> <button type="button" id="btnLoad--${pageName}" class="btn btn-primary">불러오기</button>
</form> </form>
</div> </div>
<div class="float-end"> <div class="float-end">
<button type="button" id="btnSave--${pageName}" class="btn btn-primary">저장</button> <button type="button" id="btnSave--${pageName}" class="btn btn-primary">저장</button>
</div>
</div> </div>
</div> </div>
</div>
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<span id="currentOtpt--${pageName}" class="bg-lighter h3 h-px-30"> <span id="currentOtpt--${pageName}" class="bg-lighter h3 h-px-30">
</span> </span>
<form id="frmEdit--${pageName}"> <form id="frmEdit--${pageName}">
<input type="hidden" name="sggCd" /> <input type="hidden" name="sggCd" />
<input type="hidden" name="taskSeCd" /> <input type="hidden" name="taskSeCd" />
<input type="hidden" name="sndngSeCd" /> <input type="hidden" name="sndngSeCd" />
<span id="zipGlobalStng--${pageName}"> <span id="zipGlobalStng--${pageName}">
</span> </span>
</form> </form>
</div> </div>
<div class="row mb-3 justify-content-start"> <div class="row mb-3 justify-content-start">
<div class="col-md-12"> <div class="col-md-12">
<div class="float-start"> <div class="float-start">
<strong>항목</strong> <strong>항목</strong>
<button type="button" id="btnAdd--${pageName}" class="btn btn-info">+ 추가</button> <button type="button" id="btnAdd--${pageName}" class="btn btn-info">+ 추가</button>
<button type="button" id="btnDel--${pageName}" class="btn btn-info">&#x2611; 삭제</button> <button type="button" id="btnDel--${pageName}" class="btn btn-info">&#x2611; 삭제</button>
</div>
</div> </div>
</div> </div>
</div> <div class="card-datatable text-nowrap mb-3">
<div class="card-datatable text-nowrap mb-3"> <div class="dataTables_wrapper dt-bootstrap5 no-footer">
<div class="dataTables_wrapper dt-bootstrap5 no-footer"> <div id="scroll--${pageName}" class="table-responsive ox-scroll oy-scroll h-px-600">
<div id="scroll--${pageName}" class="table-responsive ox-scroll oy-scroll h-px-600"> <table
<table class="table-layout-fixed compress-cell dataTable table table-bordered"
class="table-layout-fixed compress-cell dataTable table table-bordered" id="table--${pageName}" aria-describedby="DataTables_Table_0_info">
id="table--${pageName}" aria-describedby="DataTables_Table_0_info"> <thead class="sticky-thead" id="thead--${pageName}">
<thead class="sticky-thead" id="thead--${pageName}"> </thead>
</thead> <tbody id="tbody--${pageName}">
<tbody id="tbody--${pageName}"> </tbody>
</tbody> </table>
</table> </div>
</div> </div>
</div> </div>
</div>
</div>
</div> </div>
</div>
<template id="theadTr--${pageName}">
<tr>
<th style="width:150px">순서</th>
<th style="width:40px"></th>
<th style="width:200px">항목명</th>
<th style="width:110px">바이트수</th>
<th style="width:140px">공백문자방향</th>
<th style="width:350px">포맷팅</th>
<th class="dummy-th"></th>
</tr>
</template>
<template id="found--${pageName}">
<tr data-key="{OUTSOURCING_FORM_ID}">
<td data-col="artclOrdr" class="text-center">
<button type="button">▲</button>
<input type="text" readonly class="w-px-50 text-center" />
<button type="button">▼</button>
</td>
<td data-col="checkbox" class="text-center">
<input type="checkbox" name="del" class="form-check-input" />
</td>
<td data-col="artclNm" class="text-center">
<select class="form-select">
{COMPONENTS}
</select>
</td>
<td data-col="artclSz" class="text-center">
<input type="number" class="form-control w-px-80" min="1" max="300" value="1" />
</td>
<td data-col="paddingDirection" class="text-center">
<button type="button" class="btn btn-xs btn-outline-dark h-px-25 px-1">◀</button>
<select class="form-select no-bgi w-automin">
<option value="left" title="왼쪽">왼쪽</option>
<option value="right" title="오른쪽">오른쪽</option>
</select>
<button type="button" class="btn btn-xs btn-outline-dark h-px-25 px-1">▶</button>
</td>
<td data-col="formatting" class="text-center">
<select class="form-select w-automin">
<option value="">없음</option>
<optgroup label="날짜">
<option value="date(yyyy.MM.dd)">연.월.일</option>
<option value="date(yyyy.MM.dd HH:mm)">연.월.일 시:분</option>
<option value="date(yyyy-MM-dd~yyyy-MM-dd)">연-월-일~연-월-일</option>
</optgroup>
<optgroup label="금액">
<option value="amount(comma)">콤마(,) 표시</option>
</optgroup>
<optgroup label="기타">
<option value="zip(hypen)">우편번호 하이픈(-) 표시</option>
<option value="rgNo(hypen)">등기번호 하이픈(-) 표시</option>
</optgroup>
</select>
</td>
<td class="dummy-td"></td>
</tr>
</template>
<template id="theadTr--${pageName}">
<tr>
<th style="width:150px">순서</th>
<th style="width:40px"></th>
<th style="width:200px">항목명</th>
<th style="width:110px">바이트수</th>
<th style="width:140px">공백문자방향</th>
<th style="width:350px">포맷팅</th>
<th class="dummy-th"></th>
</tr>
</template>
<template id="found--${pageName}">
<tr data-key="{OUTSOURCING_FORM_ID}">
<td data-col="artclOrdr" class="text-center">
<button type="button">▲</button>
<input type="text" readonly class="w-px-50 text-center" />
<button type="button">▼</button>
</td>
<td data-col="checkbox" class="text-center">
<input type="checkbox" name="del" class="form-check-input" />
</td>
<td data-col="artclNm" class="text-center">
<select class="form-select">
{COMPONENTS}
</select>
</td>
<td data-col="artclSz" class="text-center">
<input type="number" class="form-control w-px-80" min="1" max="300" value="1" />
</td>
<td data-col="paddingDirection" class="text-center">
<button type="button" class="btn btn-xs btn-outline-dark h-px-25 px-1">◀</button>
<select class="form-select no-bgi w-automin">
<option value="left" title="왼쪽">왼쪽</option>
<option value="right" title="오른쪽">오른쪽</option>
</select>
<button type="button" class="btn btn-xs btn-outline-dark h-px-25 px-1">▶</button>
</td>
<td data-col="formatting" class="text-center">
<select class="form-select w-automin">
<option value="">없음</option>
<optgroup label="날짜">
<option value="date(yyyy.MM.dd)">연.월.일</option>
<option value="date(yyyy.MM.dd HH:mm)">연.월.일 시:분</option>
<option value="date(yyyy-MM-dd~yyyy-MM-dd)">연-월-일~연-월-일</option>
</optgroup>
<optgroup label="금액">
<option value="amount(comma)">콤마(,) 표시</option>
</optgroup>
<optgroup label="기타">
<option value="zip(hypen)">우편번호 하이픈(-) 표시</option>
<option value="rgNo(hypen)">등기번호 하이픈(-) 표시</option>
</optgroup>
</select>
</td>
<td class="dummy-td"></td>
</tr>
</template>
</span>
<script> <script>
var FIM054 = new CommonCodes(${FIM054}); var FIM054 = new CommonCodes(${FIM054});
var FIM047 = new CommonCodes(${FIM047}); var FIM047 = new CommonCodes(${FIM047});
var FIM078 = new CommonCodes(${FIM078}); var FIM078 = new CommonCodes(${FIM078});
var FIM080 = new CommonCodes(${FIM080}); var FIM080 = new CommonCodes(${FIM080});
pageObject["${pageName}"] = {}; pageObject["${pageName}"] = newDoctxFinder("${pageName}");
$(document).ready(function(){ $(document).ready(function(){

@ -201,12 +201,13 @@ function fnOpenEqmCrdnLayoutStngDialog(){
dialog.close("selectStngDialog"); dialog.close("selectStngDialog");
var url = wctx.url("/crdn/crdn01/010/main.do"); var url = wctx.url("/crdn/crdn01/010/main.do");
var dialogId = "eqmCrdnLayoutStngDialog";
ajax.post({ ajax.post({
url : url, url : url,
data : {}, data : {},
success : (resp) => { success : (resp) => {
let dialogName = "eqmCrdnLayoutStngDialog";
let dialogId = dialogName+"-"+uuid();
dialog.open({ dialog.open({
id : dialogId, id : dialogId,
@ -214,10 +215,11 @@ function fnOpenEqmCrdnLayoutStngDialog(){
size : "xxl", size : "xxl",
content : resp, content : resp,
init : () => { init : () => {
$("#"+dialogId).attr("name", dialogName);
$("#"+dialogId).attr("data-ref-doctx","top");
let refDlgId = pageObject["top"].refDlgId(dialogName);
$("#"+dialogId).find("input[name='dialogId']").val(dialogId); $("#"+refDlgId).find("form[name='frmSearch']").find("[name='sggCd']").val(MY_INFO.info.sggCd);
$("#"+dialogId).find("form[name='frmSearch']").find("[name='sggCd']").val(MY_INFO.info.sggCd);
}, },
onClose : () => { } onClose : () => { }
@ -232,23 +234,26 @@ function fnOpenOtptStngDialog(){
dialog.close("selectStngDialog"); dialog.close("selectStngDialog");
var url = wctx.url("/stng/stng01/010/main.do"); var url = wctx.url("/stng/stng01/010/main.do");
var dialogId = "otptStngDialog";
ajax.post({ ajax.post({
url : url, url : url,
data : {}, data : {},
success : (resp) => { success : (resp) => {
let dialogName = "otptStngDialog";
let dialogId = dialogName+"-"+uuid();
dialog.open({ dialog.open({
id : dialogId, id : dialogId,
title : "출력설정", title : "출력설정",
size : "xxl", size : "xxl",
content : resp, content : resp,
init : () => { init : () => {
$("#"+dialogId).attr("name", dialogName);
$("#"+dialogId).attr("data-ref-doctx","top");
let refDlgId = pageObject["top"].refDlgId(dialogName);
$("#"+dialogId).find("input[name='dialogId']").val(dialogId); $("#"+refDlgId).find("form[name='frmSearch']").find("[name='sggCd']").val(MY_INFO.info.sggCd);
$("#"+dialogId).find("form[name='frmSearch']").find("[name='sggCd']").val(MY_INFO.info.sggCd);
}, },
onClose : () => { } onClose : () => { }
@ -264,13 +269,16 @@ function fnOpenOutsourcingStngDialog(){
dialog.close("selectStngDialog"); dialog.close("selectStngDialog");
var url = wctx.url("/stng/stng01/030/main.do"); var url = wctx.url("/stng/stng01/030/main.do");
var dialogId = "outsourcingStngDialog";
ajax.post({ ajax.post({
url : url, url : url,
data : {}, data : {},
success : (resp) => { success : (resp) => {
let dialogName = "outsourcingStngDialog";
let dialogId = dialogName+"-"+uuid();
dialog.open({ dialog.open({
id : dialogId, id : dialogId,
title : "외주요청파일 서식 설정", title : "외주요청파일 서식 설정",
@ -278,9 +286,11 @@ function fnOpenOutsourcingStngDialog(){
content : resp, content : resp,
init : () => { init : () => {
$("#"+dialogId).find("input[name='dialogId']").val(dialogId); $("#"+dialogId).attr("name", dialogName);
$("#"+dialogId).attr("data-ref-doctx","top");
let refDlgId = pageObject["top"].refDlgId(dialogName);
$("#"+dialogId).find("form[name='frmSearch']").find("[name='sggCd']").val(MY_INFO.info.sggCd); $("#"+refDlgId).find("form[name='frmSearch']").find("[name='sggCd']").val(MY_INFO.info.sggCd);
}, },
onClose : () => { } onClose : () => { }
@ -296,23 +306,26 @@ function fnOpenExtrStngDialog(){
dialog.close("selectStngDialog"); dialog.close("selectStngDialog");
var url = wctx.url("/stng/stng01/020/main.do"); var url = wctx.url("/stng/stng01/020/main.do");
var dialogId = "extrStngDialog";
ajax.post({ ajax.post({
url : url, url : url,
data : {}, data : {},
success : (resp) => { success : (resp) => {
let dialogName = "extrStngDialog";
let dialogId = dialogName+"-"+uuid();
dialog.open({ dialog.open({
id : dialogId, id : dialogId,
title : "PDF자료 추출 설정", title : "PDF자료 추출 설정",
size : "xxl", size : "xxl",
content : resp, content : resp,
init : () => { init : () => {
$("#"+dialogId).attr("name", dialogName);
$("#"+dialogId).attr("data-ref-doctx","top");
let refDlgId = pageObject["top"].refDlgId(dialogName);
$("#"+dialogId).find("input[name='dialogId']").val(dialogId); $("#"+refDlgId).find("form[name='frmSearch']").find("[name='sggCd']").val(MY_INFO.info.sggCd);
$("#"+dialogId).find("form[name='frmSearch']").find("[name='sggCd']").val(MY_INFO.info.sggCd);
}, },
onClose : () => { } onClose : () => { }

@ -169,6 +169,7 @@
var pageObject = {}; var pageObject = {};
pageObject.childReq = []; pageObject.childReq = [];
pageObject.parentRes = []; pageObject.parentRes = [];
pageObject.top = newDoctxFinder("top");
function LoadScript(scriptId, scriptPath){ function LoadScript(scriptId, scriptPath){
if(document.getElementById(scriptId) == null){ if(document.getElementById(scriptId) == null){

Loading…
Cancel
Save