1. 의견제출 수정.

2. 기타 수정.
main
jjh 3 months ago
parent 038da67b5b
commit 04d62deb47

@ -34,7 +34,7 @@
<div class="row g-1"> <div class="row g-1">
<!-- 업무 구분 --> <!-- 업무 구분 -->
<div class="col-12"> <div class="col-12">
<span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span> <span class="form-label form-search-title w-px-120 text-end fw-bold">업무구분</span>
<span class="form-search-linebox"> <span class="form-search-linebox">
<c:forEach items="${taskListForSgg}" var="item"> <c:forEach items="${taskListForSgg}" var="item">
<label> <label>
@ -47,7 +47,7 @@
</div> </div>
<!-- 부과 제외 일자 --> <!-- 부과 제외 일자 -->
<div class="col-6"> <div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end">부과제외일자</label> <label class="form-label form-search-title w-px-120 text-end fw-bold">부과제외일자</label>
<span class="form-search-linebox"> <span class="form-search-linebox">
<input type="text" class="form-control form-date" name="schLevyExclYmdFrom" <input type="text" class="form-control form-date" name="schLevyExclYmdFrom"
data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" /> data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
@ -58,9 +58,9 @@
<button type="button" class="bx bx-lg bx-calendar bg-white"></button> <button type="button" class="bx bx-lg bx-calendar bg-white"></button>
</span> </span>
</div> </div>
<!-- 부과 제외 구분 --> <!-- 부과 제외 구분 코드 -->
<div class="col-6"> <div class="col-6">
<label is="name-label" class="form-label fw-bold form-search-title w-px-120 text-end" for="schLevyExclSeCd">부과제외구분</label> <label is="name-label" class="form-label form-search-title w-px-120 text-end fw-bold" for="schLevyExclSeCd">부과제외구분</label>
<select is="id-select" class="form-select w-px-120" name="schLevyExclSeCd"> <select is="id-select" class="form-select w-px-120" name="schLevyExclSeCd">
<option value="">전체</option> <option value="">전체</option>
<c:forEach items="${FIM021List}" var="item"> <c:forEach items="${FIM021List}" var="item">
@ -68,9 +68,9 @@
</c:forEach> </c:forEach>
</select> </select>
</div> </div>
<!-- 부과 제외 사유 --> <!-- 부과 제외 사유 코드 -->
<div class="col-6"> <div class="col-6">
<label is="name-label" class="form-label fw-bold form-search-title w-px-120 text-end" for="schLevyExclRsnCd">부과제외사유</label> <label is="name-label" class="form-label form-search-title w-px-120 text-end fw-bold" for="schLevyExclRsnCd">부과제외사유</label>
<select is="id-select" class="form-select w-px-200" name="schLevyExclRsnCd"> <select is="id-select" class="form-select w-px-200" name="schLevyExclRsnCd">
<option value="">전체</option> <option value="">전체</option>
<c:forEach items="${FIM022List}" var="item"> <c:forEach items="${FIM022List}" var="item">
@ -101,7 +101,7 @@
<div class="row g-1"> <div class="row g-1">
<!-- 단속일자 --> <!-- 단속일자 -->
<div class="col-4"> <div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end">단속일자</label> <label class="form-label form-search-title w-px-120 text-end fw-bold">단속일자</label>
<span class="form-search-linebox"> <span class="form-search-linebox">
<input type="text" class="form-control form-date" name="schCrdnYmdFrom" <input type="text" class="form-control form-date" name="schCrdnYmdFrom"
data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" /> data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
@ -114,17 +114,17 @@
</div> </div>
<!-- 차량번호 --> <!-- 차량번호 -->
<div class="col-4"> <div class="col-4">
<label is="name-label" class="form-label fw-bold form-search-title w-px-120 text-end" for="schVhrno">차량번호</label> <label is="name-label" class="form-label form-search-title w-px-120 text-end fw-bold" for="schVhrno">차량번호</label>
<input is="id-input" type="text" class="form-control w-px-160" name="schVhrno" autocomplete="off" /> <input is="id-input" type="text" class="form-control w-px-160" name="schVhrno" autocomplete="off" />
</div> </div>
<!-- 납부자번호 --> <!-- 납부자번호 -->
<div class="col-4"> <div class="col-4">
<label is="name-label" class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNm">납부자번호</label> <label is="name-label" class="form-label form-search-title w-px-120 text-end fw-bold" for="schRtpyrNm">납부자번호</label>
<input is="id-input" type="text" class="form-control w-px-160" name="schRtpyrNm" autocomplete="off" /> <input is="id-input" type="text" class="form-control w-px-160" name="schRtpyrNm" autocomplete="off" />
</div> </div>
<!-- 납부자명 --> <!-- 납부자명 -->
<div class="col-4"> <div class="col-4">
<label is="name-label" class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNo">납부자명</label> <label is="name-label" class="form-label form-search-title w-px-120 text-end fw-bold" for="schRtpyrNo">납부자명</label>
<input is="id-input" type="text" class="form-control w-px-160" name="schRtpyrNo" autocomplete="off" /> <input is="id-input" type="text" class="form-control w-px-160" name="schRtpyrNo" autocomplete="off" />
</div> </div>
<!-- 등록일자, 수정일자 --> <!-- 등록일자, 수정일자 -->
@ -223,27 +223,28 @@
<th class="cmn" style="width: 140px;">수정사용자</th> <th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th> <th class="cmn dummy-th"></th>
</template> </template>
<tbody name="tbodyList"> <tbody name="tbodyList">
</tbody> </tbody>
<template is="curly-brackets" name="tmpltRows"> <template is="curly-brackets" name="tmpltRows">
<tr data-key="LEVY_EXCL_ID"> <tr data-key="LEVY_EXCL_ID">
<td class="cmn text-center" onclick ondblclick>{ROW_NUM}</td> <td class="cmn text-center" onclick ondblclick>{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="LEVY_EXCL_ID" onchange="pageObject['${pageName}'].dataTableCheckbox(this, this.checked);" /></td> <td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="LEVY_EXCL_ID" onchange="pageObject['${pageName}'].dataTableCheckbox(this, this.checked);" /></td>
<td class="cmn text-center" onclick ondblclick>{TASK_SE_NM}</td> <td class="cmn text-center" onclick ondblclick>{TASK_SE_NM}</td>
<td class="cmn text-center" onclick ondblclick>{LEVY_EXCL_YMD}</td> <td class="cmn text-center" onclick ondblclick>{LEVY_EXCL_YMD}</td>
<td class="cmn text-center" onclick ondblclick>{LEVY_EXCL_SE_NM}</td> <td class="cmn text-center" onclick ondblclick>{LEVY_EXCL_SE_NM}</td>
<td class="cmn text-start" onclick ondblclick>{LEVY_EXCL_RSN_NM}</td> <td class="cmn text-start" onclick ondblclick>{LEVY_EXCL_RSN_NM}</td>
<td class="cmn text-start" onclick ondblclick>{ETC_CN}</td> <td class="cmn text-start" onclick ondblclick>{ETC_CN}</td>
<td class="cmn text-center" onclick ondblclick>{CVLCPT_APLY_NO}</td> <td class="cmn text-center" onclick ondblclick>{CVLCPT_APLY_NO}</td>
<td class="cmn text-center" onclick ondblclick>{CVLCPT_RCPT_NO}</td> <td class="cmn text-center" onclick ondblclick>{CVLCPT_RCPT_NO}</td>
<td class="cmn text-center" onclick ondblclick>{CVLCPT_RCPT_YMD}</td> <td class="cmn text-center" onclick ondblclick>{CVLCPT_RCPT_YMD}</td>
<td class="cmn text-center" onclick ondblclick>{CRDN_YMD_TM}</td> <td class="cmn text-center" onclick ondblclick>{CRDN_YMD_TM}</td>
<td class="cmn text-start" onclick ondblclick>{VHRNO}</td> <td class="cmn text-start" onclick ondblclick>{VHRNO}</td>
<td class="cmn text-center" onclick ondblclick>{RTPYR_SE_NM}</td> <td class="cmn text-center" onclick ondblclick>{RTPYR_SE_NM}</td>
<td class="cmn text-center privacy-cell" onclick ondblclick> <td class="cmn text-center privacy-cell" onclick ondblclick>
<span>{RTPYR_NO}</span> <span>{RTPYR_NO}</span>
<span>*************</span> <span>*************</span>
</td> </td>
<td class="cmn text-start" onclick ondblclick>{RTPYR_NM}</td> <td class="cmn text-start" onclick ondblclick>{RTPYR_NM}</td>
<td class="cmn text-start" onclick ondblclick>{VLTN_ARTCL}</td> <td class="cmn text-start" onclick ondblclick>{VLTN_ARTCL}</td>
<td class="cmn text-center" onclick ondblclick>{CRDN_STDG_NM}</td> <td class="cmn text-center" onclick ondblclick>{CRDN_STDG_NM}</td>
@ -262,7 +263,7 @@
<td class="cmn text-center" onclick ondblclick>{MDFCN_DT}</td> <td class="cmn text-center" onclick ondblclick>{MDFCN_DT}</td>
<td class="cmn text-center" onclick ondblclick>{MDFR_NM}</td> <td class="cmn text-center" onclick ondblclick>{MDFR_NM}</td>
<td class="cmn dummy-td"></td> <td class="cmn dummy-td"></td>
</tr> </tr>
</template> </template>
<template name="tmpltNotFound"> <template name="tmpltNotFound">
<tr class="bpv"> <tr class="bpv">
@ -344,7 +345,7 @@
// datasetPaging // datasetPaging
Apply.fromDataset.paging($P.ctrl.dataset, obj, $P.find("dataPaging"), $P.find("dataPagingInfo")); Apply.fromDataset.paging($P.ctrl.dataset, obj, $P.find("dataPaging"), $P.find("dataPagingInfo"));
}; }
// 현재 선택 자료 변경 이벤트 // 현재 선택 자료 변경 이벤트
$P.ctrl.onCurrentChange = (item) => { $P.ctrl.onCurrentChange = (item) => {
@ -353,13 +354,13 @@
let key = item.data.LEVY_EXCL_ID; let key = item.data.LEVY_EXCL_ID;
$P.$find("tbodyList").setCurrentRow(key); $P.$find("tbodyList").setCurrentRow(key);
}; }
// 선택(체크) 변경 이벤트 // 선택(체크) 변경 이벤트
$P.ctrl.onSelectionChange = (selected) => { $P.ctrl.onSelectionChange = (selected) => {
Apply.fromDataset.gridCheckbox($P.ctrl.dataset, $P.find("tbodyList"), 1, selected); Apply.fromDataset.gridCheckbox($P.ctrl.dataset, $P.find("tbodyList"), 1, selected);
Apply.fromDataset.gridButton($P.ctrl.dataset, $P.find("btnRemove"), selected); // 삭제 버튼 Apply.fromDataset.gridButton($P.ctrl.dataset, $P.find("btnRemove"), selected); // 삭제 버튼
}; }
// 상세정보 dialog // 상세정보 dialog
$P.ctrl.getInfo = (params) => { $P.ctrl.getInfo = (params) => {
@ -424,7 +425,7 @@
$P.renderList = (totalSize, option) => { $P.renderList = (totalSize, option) => {
let dataList = $P.ctrl.dataset; let dataList = $P.ctrl.dataset;
let empty = dataList.empty; let empty = dataList.empty;
let clsForTask = $P.$find("taskSeCd").val().toLowerCase(); // 소문자 let clsForTask = $P.$find("frmSearch").find("[name='taskSeCd']:checked").val().toLowerCase();
// 업무별 DataTables(그리드) tr, td // 업무별 DataTables(그리드) tr, td
let foundContent = $P.find("tmpltRows").content; let foundContent = $P.find("tmpltRows").content;
@ -482,13 +483,13 @@
// 개별총정보 dialog // 개별총정보 dialog
let crdnId = $P.ctrl.getValue("CRDN_ID"); let crdnId = $P.ctrl.getValue("CRDN_ID");
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; if (!crdnId) return;
let params = { let params = {
callControlName: "pageObject['${pageName}'].ctrl" callControlName: "pageObject['${pageName}'].ctrl"
, sggCd: $P.ctrl.getValue("SGG_CD") , sggCd: $P.ctrl.getValue("SGG_CD")
, taskSeCd: $P.ctrl.getValue("TASK_SE_CD") , taskSeCd: $P.ctrl.getValue("TASK_SE_CD")
, crdnId: crdnId , crdnId: $P.ctrl.getValue("CRDN_ID")
} }
ajax.get({ ajax.get({
@ -535,11 +536,11 @@
// 서버에 전송할 data(파라미터) 생성 // 서버에 전송할 data(파라미터) 생성
let params = { let params = {
sggCd: $P.$find("sggCd").val() // 시군구 코드 sggCd: $P.$find("sggCd").val() // 시군구 코드
, taskSeCd: $P.$find("taskSeCd").val() // 업무 구분 코드 , taskSeCd: $P.$find("frmSearch").find("[name='taskSeCd']:checked").val() // 업무 구분 코드
, levyExclIds: selected.join(",") // 부과 제외 IDs , levyExclIds: selected.join(",") // 부과 제외 IDs
, btnTitle: obj.btnTitle // 버튼 title , btnTitle: obj.btnTitle // 버튼 title
, delRsn: obj.reason // 삭제 사유 , delRsn: obj.reason // 삭제 사유
}; };
$P.ctrl.remove(params); $P.ctrl.remove(params);
@ -549,13 +550,10 @@
* 버튼 clickEvent * 버튼 clickEvent
**************************************************************************/ **************************************************************************/
// 초기화 버튼 이벤트 // 초기화 버튼 이벤트
$P.fnReset = () => { $P.fnReset = (taskSeCd) => {
// 화면 초기화 // 화면 초기화
$P.find("frmSearch").reset(); $P.find("frmSearch").reset();
// dataset 초기화
$P.ctrl.dataset.clear();
// input, select 초기화 // input, select 초기화
let searchForm = $P.$find("frmSearch"); let searchForm = $P.$find("frmSearch");
searchForm.find("input[type='radio']").not("[name='taskSeCd']").prop("checked", false); searchForm.find("input[type='radio']").not("[name='taskSeCd']").prop("checked", false);
@ -564,24 +562,39 @@
searchForm.find("input[type='hidden']").val(""); searchForm.find("input[type='hidden']").val("");
searchForm.find("select").each(function(){ $(this).find("option:eq(0)").prop("selected", true); }); searchForm.find("select").each(function(){ $(this).find("option:eq(0)").prop("selected", true); });
// 최고 관리자인지 권한을 확인하여 업무구분을 선택할 수 있도록 하자 -> 수정 필요
$P.$find("frmSearch").find("input[name='taskSeCd']").each(function(i) {
$(this).prop("disabled", "true");
});
initDatepicker($P.find("frmSearch")); // 달력 초기화
initDetailSearchButton($P.find("frmSearch")); // 상세검색 버튼 화살표
// 기본 데이터 설정 // 기본 데이터 설정
$P.$find("byOutput").val("동적 검색"); // 동적 검색
$P.$find("schRgtrNm").prop("readonly", true); // 사용자 이름
$P.$find("sggCd").val("${sggCd}"); // 시군구 코드 $P.$find("sggCd").val("${sggCd}"); // 시군구 코드
if (taskSeCd) {
$P.$find("frmSearch").find("input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); // 업무 구분 코드
}
$P.$find("schLevyExclYmdFrom").datepicker('setDate', DateUtil.getDateDay(-7).date); // 부과 제외 일자 시작 $P.$find("schLevyExclYmdFrom").datepicker('setDate', DateUtil.getDateDay(-7).date); // 부과 제외 일자 시작
$P.$find("schLevyExclYmdTo").datepicker('setDate', TODAY()); // 부과 제외 일자 종료 $P.$find("schLevyExclYmdTo").datepicker('setDate', TODAY()); // 부과 제외 일자 종료
$P.$find("byOutput").val("동적 검색"); // 동적 검색
$P.$find("schRgtrNm").prop("readonly", true); // 사용자 이름
// dataset 초기화
$P.ctrl.dataset.clear();
} }
// 업무 구분 변경 이벤트 // 업무 구분 변경 이벤트
$P.fnResetAndChangeBiz = (taskSeCd) => { $P.fnResetAndChangeBiz = (taskSeCd) => {
// 초기화
$P.fnReset();
// 업무 구분 코드 // 업무 구분 코드
if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") { if (!taskSeCd) {
taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val(); taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val();
} }
$P.$find("frmSearch").find("input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true);
// 초기화
$P.fnReset(taskSeCd);
// 업무구분에 따른 URL 설정 // 업무구분에 따른 URL 설정
$P.ctrl.urls.load = wctx.url("/" + taskSeCd + "${infoPrefixUrl}" + "/010/list.do"); $P.ctrl.urls.load = wctx.url("/" + taskSeCd + "${infoPrefixUrl}" + "/010/list.do");
@ -666,11 +679,11 @@
let levyExclId = $P.ctrl.getValue("LEVY_EXCL_ID"); let levyExclId = $P.ctrl.getValue("LEVY_EXCL_ID");
// 부과제외 ID 가 없다면.. return // 부과제외 ID 가 없다면.. return
if (typeof levyExclId == "undefined" || levyExclId == null || levyExclId == "") return; if (!levyExclId) return;
let params = { let params = {
callPurpose: "update" // 호출용도: 수정 btnTitle: btnTitle // 버튼 title
, btnTitle: btnTitle // 버튼 title , callPurpose: "update" // 호출용도: 수정
, sggCd: $P.ctrl.getValue("SGG_CD") // 시군구 코드 , sggCd: $P.ctrl.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.ctrl.getValue("TASK_SE_CD") // 업무 구분 코드 , taskSeCd: $P.ctrl.getValue("TASK_SE_CD") // 업무 구분 코드
, levyExclId: $P.ctrl.getValue("LEVY_EXCL_ID") // 부과제외 ID , levyExclId: $P.ctrl.getValue("LEVY_EXCL_ID") // 부과제외 ID
@ -767,11 +780,8 @@
// 1. 이벤트 설정 // 1. 이벤트 설정
$P.setEvent(); $P.setEvent();
// 2. 초기 설정 // 2. 초기 설정 및 업무 구분 변경
initDatepicker($P.find("frmSearch")); // 달력 초기화 $P.fnResetAndChangeBiz($("#layout-navbar input[name='taskSeCd']:checked").val());
initDetailSearchButton($P.find("frmSearch")); //
$P.fnResetAndChangeBiz($("#layout-navbar input[name='taskSeCd']:checked").val()); // 초기 설정 및 업무 구분 변경
// 3. 보안모드 // 3. 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked")); fn_securityModeToggle($("#securityMode--top").is(":checked"));

@ -20,17 +20,17 @@
<!-- 단속일시 --> <!-- 단속일시 -->
<div class="col-md-12"> <div class="col-md-12">
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="crdnYmdTm">단속일시</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="crdnYmdTm">단속일시</label>
<input is="id-input" type="text" class="form-control w-px-160" name="crdnYmdTm" data-map="CRDN_YMD_TM" data-fmt-type="dt" /> <input is="id-input" type="text" class="form-control w-px-160" name="crdnYmdTm" data-map="CRDN_YMD_TM" data-fmt-type="dt" readonly />
</div> </div>
<!-- 차량번호 --> <!-- 차량번호 -->
<div class="col-md-12"> <div class="col-md-12">
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="vhrno">차량번호</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="vhrno">차량번호</label>
<input is="id-input" type="text" class="form-control w-px-120" name="vhrno" data-map="VHRNO" autocomplete="off" /> <input is="id-input" type="text" class="form-control w-px-120" name="vhrno" data-map="VHRNO" autocomplete="off" readonly />
</div> </div>
<!-- 부과 제외 구분 --> <!-- 부과 제외 구분 -->
<div class="col-md-12"> <div class="col-md-12">
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end required" for="levyExclSeNm">부과제외구분</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end required" for="levyExclSeNm">부과제외구분</label>
<input is="id-input" type="text" class="form-control w-px-120" name="levyExclSeNm" autocomplete="off" /> <input is="id-input" type="text" class="form-control w-px-120" name="levyExclSeNm" autocomplete="off" readonly />
<input type="hidden" name="levyExclSeCd" data-map="LEVY_EXCL_SE_CD" /> <input type="hidden" name="levyExclSeCd" data-map="LEVY_EXCL_SE_CD" />
</div> </div>
<!-- 부과 제외 일자 --> <!-- 부과 제외 일자 -->
@ -53,7 +53,7 @@
<!-- 기타 내용 --> <!-- 기타 내용 -->
<div class="col-md-12"> <div class="col-md-12">
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end align-top" for="etcCn">기타 내용</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end align-top" for="etcCn">기타 내용</label>
<textarea is="id-textarea" type="text" class="form-control w-70" name="etcCn" data-map="ETC_CN" autocomplete="off" rows="3" data-maxlengthb="1000"></textarea> <textarea is="id-textarea" class="form-control w-70" name="etcCn" data-map="ETC_CN" autocomplete="off" rows="3" data-maxlengthb="1000"></textarea>
</div> </div>
</div> </div>
</form> </form>
@ -64,7 +64,7 @@
<span class="container-page-btn"> <span class="container-page-btn">
<!-- 업무 버튼 --> <!-- 업무 버튼 -->
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-80" name="btnSave" title="저장"> <button type="button" class="btn btn-primary w-px-120" name="btnSave" title="저장">
저장 저장
</button> </button>
</span> </span>
@ -239,11 +239,6 @@
initDatepicker($P.find("frmEdit")); initDatepicker($P.find("frmEdit"));
$P.$find("levyExclYmd").datepicker("setDate", TODAY()); $P.$find("levyExclYmd").datepicker("setDate", TODAY());
// 화면 활성화 설정
$P.$find("crdnYmdTm").prop("readonly", true); // 단속 일시
$P.$find("vhrno").prop("readonly", true); // 차량번호
$P.$find("levyExclSeNm").prop("readonly", true); // 부과 제외 구분
// View로 호출되었을때 disabled 셋팅 // View로 호출되었을때 disabled 셋팅
if ($P.callPurpose == "view") { if ($P.callPurpose == "view") {
// input 요소들을 disabled // input 요소들을 disabled

File diff suppressed because it is too large Load Diff

@ -4,50 +4,50 @@
<c:set var="prefixName" scope="request">의견제출 상세 정보</c:set> <c:set var="prefixName" scope="request">의견제출 상세 정보</c:set>
<!-- inner page html --> <!-- inner page html -->
<div class="content-pop"> <div class="content-pop" data-doctx="${pageName}">
<!-- Content --> <!-- Content -->
<div class="container flex-grow-1 px-0"> <div class="container flex-grow-1 px-0">
<div class="card"> <div class="card">
<!-- 입력 영역 --> <!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit"> <form name="frmEdit">
<!-- hidden --> <!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" data-map="SGG_CD" /> <input type="hidden" name="sggCd" data-map="SGG_CD" />
<input type="hidden" id="taskSeCd--${pageName}" name="taskSeCd" data-map="TASK_SE_CD" /> <input type="hidden" name="taskSeCd" data-map="TASK_SE_CD" />
<input type="hidden" id="crdnId--${pageName}" name="crdnId" data-map="CRDN_ID" /> <input type="hidden" name="crdnId" data-map="CRDN_ID" />
<input type="hidden" id="opnnId--${pageName}" name="opnnId" data-map="OPNN_ID" /> <input type="hidden" name="opnnId" data-map="OPNN_ID" />
<div class="row g-1"> <div class="row g-1">
<!-- 단속일시 --> <!-- 단속일시 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="crdnYmdTm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">단속일시</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="crdnYmdTm">단속일시</label>
<input type="text" class="form-control w-50" id="crdnYmdTm--${pageName}" name="crdnYmdTm" data-map="CRDN_YMD_TM" data-fmt-type="dt" /> <input is="id-input" type="text" class="form-control w-50" name="crdnYmdTm" data-map="CRDN_YMD_TM" data-fmt-type="dt" readonly />
</div> </div>
<!-- 차량번호 --> <!-- 차량번호 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="vhrno--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">차량번호</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="vhrno">차량번호</label>
<input type="text" class="form-control w-40" id="vhrno--${pageName}" name="vhrno" data-map="VHRNO" /> <input is="id-input" type="text" class="form-control w-45" name="vhrno" data-map="VHRNO" readonly />
</div> </div>
<!-- 납부자 명 --> <!-- 납부자 명 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="rtpyrNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">납부자</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="rtpyrNm">납부자</label>
<input type="text" class="form-control w-55" id="rtpyrNm--${pageName}" name="rtpyrNm" data-map="RTPYR_NM" /> <input is="id-input" type="text" class="form-control w-55" name="rtpyrNm" data-map="RTPYR_NM" readonly />
</div> </div>
<!-- 접수 번호 --> <!-- 접수 번호 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="rcptNo--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">접수번호</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="rcptNo">접수번호</label>
<input type="text" class="form-control w-40" id="rcptNo--${pageName}" name="rcptNo" data-map="RCPT_NO" /> <input is="id-input" type="text" class="form-control w-40" name="rcptNo" data-map="RCPT_NO" />
</div> </div>
<!-- 접수 일자 --> <!-- 접수 일자 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="rcptYmd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">접수일자</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end required" for="rcptYmd">접수일자</label>
<input type="text" class="form-control form-date" id="rcptYmd--${pageName}" name="rcptYmd" data-map="RCPT_YMD" <input is="id-input" type="text" class="form-control form-date" name="rcptYmd" data-map="RCPT_YMD"
data-fmt-type="day" title="날짜 선택" maxlength="10" required /> data-fmt-type="day" title="날짜 선택" maxlength="10" required />
<button type="button" class="bx bx-lg bx-calendar bg-white" id="btnRcptYmd--${pageName}"></button> <button type="button" class="bx bx-lg bx-calendar bg-white" id="btnRcptYmd--${pageName}"></button>
</div> </div>
<!-- 접수 구분 --> <!-- 접수 구분 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="rcptSeCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">접수구분</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end required" for="rcptSeCd">접수구분</label>
<select class="form-select" id="rcptSeCd--${pageName}" name="rcptSeCd" data-map="RCPT_SE_CD" required> <select is="id-select" class="form-select" name="rcptSeCd" data-map="RCPT_SE_CD" required>
<option value="">선택하세요</option> <option value="">선택하세요</option>
<c:forEach items="${FIM029List}" var="item"> <c:forEach items="${FIM029List}" var="item">
<option value="${item.code}">${item.value}</option> <option value="${item.code}">${item.value}</option>
@ -56,21 +56,21 @@
</div> </div>
<!-- 진술자 이름 --> <!-- 진술자 이름 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="sttrNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">성명</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end required" for="sttrNm">성명</label>
<input type="text" class="form-control w-35" id="sttrNm--${pageName}" name="sttrNm" data-map="STTR_NM" required /> <input is="id-input" type="text" class="form-control w-35" name="sttrNm" data-map="STTR_NM" required />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnSearchPayer--${pageName}" title="납부자 정보 적용"> <button type="button" class="btn btn-sm btn-outline-dark" name="btnSearchPayer" title="납부자 정보 적용">
납부자 납부자
</button> </button>
</div> </div>
<!-- 진술자 생년월일 --> <!-- 진술자 생년월일 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="sttrBrdt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">생년월일</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="sttrBrdt">생년월일</label>
<input type="text" class="form-control w-30" id="sttrBrdt--${pageName}" name="sttrBrdt" data-map="STTR_BRDT" placeholder="YYMMDD" /> <input is="id-input" type="text" class="form-control w-30" name="sttrBrdt" data-map="STTR_BRDT" placeholder="YYMMDD" />
</div> </div>
<!-- 소유주 관계 구분 코드 --> <!-- 소유주 관계 구분 코드 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="ownrRelCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">소유주관계</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end required" for="ownrRelCd">소유주관계</label>
<select class="form-select" id="ownrRelCd--${pageName}" name="ownrRelCd" data-map="OWNR_REL_CD"> <select is="id-select" class="form-select" name="ownrRelCd" data-map="OWNR_REL_CD" required>
<option value="">선택하세요</option> <option value="">선택하세요</option>
<c:forEach items="${FIM032List}" var="item"> <c:forEach items="${FIM032List}" var="item">
<option value="${item.code}">${item.value}</option> <option value="${item.code}">${item.value}</option>
@ -79,37 +79,37 @@
</div> </div>
<!-- 진술자 주소 --><!-- 진술자 우편번호 --> <!-- 진술자 주소 --><!-- 진술자 우편번호 -->
<div class="col-md-12"> <div class="col-md-12">
<label for="sttrAddr--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">주소</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="sttrAddr">주소</label>
<input type="text" class="form-control w-70" id="sttrAddr--${pageName}" name="sttrAddr" data-map="STTR_ADDR" /> <input is="id-input" type="text" class="form-control w-70" name="sttrAddr" data-map="STTR_ADDR" />
<input type="text" class="form-control w-px-75" id="sttrZip--${pageName}" name="sttrZip" data-map="STTR_ZIP" /> <input is="id-input" type="text" class="form-control w-px-75" name="sttrZip" data-map="STTR_ZIP" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnSearchAddr--${pageName}" title="주소 검색"> <button type="button" class="btn btn-sm btn-outline-dark" name="btnSearchAddr" title="주소 검색">
검색 검색
</button> </button>
</div> </div>
<!-- 진술자 상세주소 --> <!-- 진술자 상세주소 -->
<div class="col-md-12"> <div class="col-md-12">
<label for="sttrDaddr--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">상세주소</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="sttrDaddr">상세주소</label>
<input type="text" class="form-control w-85" id="sttrDaddr--${pageName}" name="sttrDaddr" data-map="STTR_DADDR" /> <input is="id-input" type="text" class="form-control w-85" name="sttrDaddr" data-map="STTR_DADDR" />
</div> </div>
<!-- 진술자 연락처 --> <!-- 진술자 연락처 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="sttrCttpc--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">연락처</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="sttrCttpc">연락처</label>
<input type="text" class="form-control w-45" id="sttrCttpc--${pageName}" name="sttrCttpc" data-map="STTR_CTTPC" /> <input is="id-input" type="text" class="form-control w-45" name="sttrCttpc" data-map="STTR_CTTPC" />
</div> </div>
<!-- 진술자 이메일 --> <!-- 진술자 이메일 -->
<div class="col-md-8"> <div class="col-md-8">
<label for="sttrEml--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">이메일</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="sttrEml">이메일</label>
<input type="text" class="form-control w-40" id="sttrEml--${pageName}" name="sttrEml" data-map="STTR_EML" /> <input is="id-input" type="text" class="form-control w-40" name="sttrEml" data-map="STTR_EML" />
</div> </div>
<!-- 의견 제출 내용 --> <!-- 의견 제출 내용 -->
<div class="col-md-12"> <div class="col-md-12">
<label for="opnnSbmsnCn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">의견제출내용</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end align-top" for="opnnSbmsnCn">의견제출내용</label>
<textarea type="text" class="form-control w-85" id="opnnSbmsnCn--${pageName}" name="opnnSbmsnCn" data-map="OPNN_SBMSN_CN" rows="5" data-maxlengthb="4000"></textarea> <textarea is="id-textarea" type="text" class="form-control w-85" name="opnnSbmsnCn" data-map="OPNN_SBMSN_CN" rows="5" data-maxlengthb="4000"></textarea>
</div> </div>
<!-- 의견 제출 구분 코드 --> <!-- 의견 제출 구분 코드 -->
<div class="col-md-12"> <div class="col-md-12">
<label for="opnnSbmsnSeCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">의견제출구분</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end required" for="opnnSbmsnSeCd">의견제출구분</label>
<select class="form-select" id="opnnSbmsnSeCd--${pageName}" name="opnnSbmsnSeCd" data-map="OPNN_SBMSN_SE_CD" required> <select is="id-select" class="form-select" name="opnnSbmsnSeCd" data-map="OPNN_SBMSN_SE_CD" required>
<option value="">선택하세요</option> <option value="">선택하세요</option>
<c:forEach items="${FIM033List}" var="item"> <c:forEach items="${FIM033List}" var="item">
<option value="${item.code}">${item.value}</option> <option value="${item.code}">${item.value}</option>
@ -118,14 +118,13 @@
</div> </div>
<!-- 의견 제출 요지 --> <!-- 의견 제출 요지 -->
<div class="col-md-12"> <div class="col-md-12">
<label for="opnnSbmsnGist--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">의견제출요지</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="opnnSbmsnGist">의견제출요지</label>
<input type="text" class="form-control w-85" id="opnnSbmsnGist--${pageName}" name="opnnSbmsnGist" data-map="OPNN_SBMSN_GIST" data-maxlengthb="300" /> <input is="id-input" type="text" class="form-control w-85" name="opnnSbmsnGist" data-map="OPNN_SBMSN_GIST" data-maxlengthb="300" />
</div> </div>
<!-- 담당자 검토 의견 --> <!-- 담당자 검토 의견 -->
<div class="col-md-12"> <div class="col-md-12">
<label for="picRvwOpnn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">검토의견</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end align-top" for="picRvwOpnn">검토의견</label>
<textarea class="form-control w-85" id="picRvwOpnn--${pageName}" name="picRvwOpnn" data-map="PIC_RVW_OPNN" rows="3" data-maxlengthb="1000"> <textarea is="id-textarea" class="form-control w-85" name="picRvwOpnn" data-map="PIC_RVW_OPNN" rows="2" data-maxlengthb="1000"></textarea>
</textarea>
</div> </div>
</div> </div>
</form> </form>
@ -133,17 +132,17 @@
<!-- 첨부 파일 --> <!-- 첨부 파일 -->
<div class="card"> <div class="card">
<form id="frmFile--${pageName}" method="post" enctype="multipart/form-data" > <form name="frmFile" method="post" enctype="multipart/form-data" >
<input type="file" id="uploadFiles--${pageName}" name="uploadFiles" multiple="multiple" onchange="pageObject['${pageName}'].fnAddFiles(this);" hidden /> <input type="file" name="uploadFiles" multiple="multiple" onchange="pageObject['${pageName}'].fnAddFiles(this);" hidden />
</form> </form>
<div class="row g-1"> <div class="row g-1">
<div class="col-md-12"> <div class="col-md-12">
<button type="button" class="btn btn-blue w-px-120" id="btnAddFile--${pageName}" title="첨부파일 추가">파일추가</button> <button type="button" class="btn btn-blue w-px-120" name="btnAddFile" title="첨부파일 추가">파일추가</button>
</div> </div>
</div> </div>
<!-- 첨부 파일 테이블 --> <!-- 첨부 파일 테이블 -->
<div class="table-responsive"> <div class="table-responsive">
<table class="table table-bordered table-hover table-striped" id="fileList--${pageName}"> <table class="table table-bordered table-hover table-striped" name="fileList">
<thead> <thead>
<th class="text-center" style="width: 24px">No.</th> <th class="text-center" style="width: 24px">No.</th>
<th class="text-center" style="width: 200px">파일번호</th> <th class="text-center" style="width: 200px">파일번호</th>
@ -152,7 +151,7 @@
<th class="text-center" style="width: 120px">다운로드</th> <th class="text-center" style="width: 120px">다운로드</th>
<th class="text-center" style="width: 120px">삭제</th> <th class="text-center" style="width: 120px">삭제</th>
</thead> </thead>
<tbody> <tbody name="tbodyFileList">
</tbody> </tbody>
</table> </table>
</div> <!-- 첨부 파일 테이블 <div class="table-responsive"> --> </div> <!-- 첨부 파일 테이블 <div class="table-responsive"> -->
@ -164,7 +163,9 @@
<span class="container-page-btn"> <span class="container-page-btn">
<!-- 업무 버튼 --> <!-- 업무 버튼 -->
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-120" id="btnSave--${pageName}" title="저장">저장</button> <button type="button" class="btn btn-primary w-px-120" name="btnSave" title="저장">
저장
</button>
</span> </span>
</span> </span>
</div> </div>
@ -176,346 +177,358 @@
<!-- / inner page html <div class="content-pop"> --> <!-- / inner page html <div class="content-pop"> -->
<script> <script>
/************************************************************************** /**************************************************************************
* Global Variable * Global Variable
**************************************************************************/ **************************************************************************/
pageObject["${pageName}"] = {}; pageObject["${pageName}"] = newDoctxFinder("${pageName}");
/************************************************************************** /**************************************************************************
* script 진입 * script 진입
**************************************************************************/ **************************************************************************/
$(document).ready(function() { $(document).ready(function() {
// pageObject // pageObject
let $P = pageObject["${pageName}"]; let $P = pageObject["${pageName}"];
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정) // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
$P.callPurpose = "${callPurpose}"; $P.callPurpose = "${callPurpose}";
// FormFields // FormFields
$P.formFields = new FimsFormFields("#frmEdit--${pageName}"); $P.formFields = new FimsFormFields($P.selector("frmEdit"));
// 파일 리스트 // 파일 리스트
$P.fileListArr = new Array(); $P.fileListArr = new Array();
/************************************************************************** /**************************************************************************
* DatasetControl * DatasetControl
**************************************************************************/ **************************************************************************/
$P.control = new DatasetControl({ $P.ctrl = new DatasetControl({
prefix: "opnn" prefix: "opnn"
, prefixName: "의견제출" , prefixName: "의견제출"
, keymapper: info => info ? info.OPNN_ID : "" , keymapper: info => info ? info.OPNN_ID : ""
, dataGetter: obj => obj.${infoPrefix}Info , dataGetter: obj => obj.info
}); });
/************************************************************************** /**************************************************************************
* DatasetControl 이벤트 * DatasetControl 이벤트
**************************************************************************/ **************************************************************************/
// 현재 선택 자료 변경 이벤트 // 현재 선택 자료 변경 이벤트
$P.control.onCurrentChange = (item) => { $P.ctrl.onCurrentChange = (item) => {
if (!item) return; if (!item) return;
// Dataset 셋팅 // Dataset 셋팅
$P.formFields.set($P.control, item); $P.formFields.set($P.ctrl, item);
// 업무구분에 따른 URL 변경
$P.fnSetURL(item.data.TASK_SE_CD); // 업무구분에 따른 URL 변경
$P.fnSetURL(item.data.TASK_SE_CD);
// 호출용도가 등록..
if ($P.callPurpose == "create") { let key = item.data.OPNN_ID;
$("#rcptYmd--${pageName}").datepicker("setDate", new Date());
} else { // 호출용도가 등록..
$P.fnSearchFileList(item.data.OPNN_ID); // 첨부파일 조회 if ($P.callPurpose == "create") {
} $P.$find("rcptYmd").datepicker("setDate", TODAY());
} } else {
// 첨부파일 조회
// 저장 callback if (key != null) { $P.fnSearchFileList(key); }
$P.control.onSave = (resp) => { }
let dialogTitle = $("#" + $P.control.prefix + "Dialog--${openerPageName}").find("h5.modal-title").html(); }
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
// 저장 callback
// 메시지 출력 $P.ctrl.onSave = (resp) => {
dialog.alert({ let dialogTitle = $("#" + $P.selfDlgId()).find("h5.modal-title").html();
content: showMessage let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
, init: () => { setDialogZindex(); }
, onOK: () => { } // 메시지 출력
}); dialog.alert({
content: showMessage
if (resp.saved) { , init: () => { setDialogZindex(); }
// 폼을 리셋해서 uploadFiles에 출력된 선택 파일을 초기화시킨다. , onOK: () => { }
document.getElementById("frmFile--${pageName}").reset(); , onClose: () => {
if (resp.saved) {
dialog.close($P.control.prefix + "Dialog--${openerPageName}"); // 폼을 리셋해서 uploadFiles에 출력된 선택 파일을 초기화시킨다.
} $P.find("frmFile").reset();
}
dialog.close($P.selfDlgId());
// 저장 }
$P.control.save = (info) => { }
if (!info) return; });
}
let create = ($P.callPurpose == "create");
let formData = new FormData(); // 저장
$P.ctrl.save = (info) => {
// 첨부파일 배열에 있는 내용을 등록 if (!info) return;
for (let iLoop = 0; iLoop < $P.fileListArr.length; iLoop++) {
formData.append("uploadFiles" , $P.fileListArr[iLoop]); let create = ($P.callPurpose == "create");
} let formData = new FormData();
for (let key in info) {
let value = info[key]; // 첨부파일 배열에 있는 내용을 등록
formData.append(key, value); for (let iLoop = 0; iLoop < $P.fileListArr.length; iLoop++) {
} formData.append("uploadFiles" , $P.fileListArr[iLoop]);
}
ajax.post({ for (let key in info) {
url: !create ? $P.control.urls.update : $P.control.urls.create let value = info[key];
, data: formData formData.append(key, value);
, contentType: false }
, processData: false
, success: resp => $P.control.onSave(resp) ajax.post({
}); url: !create ? $P.ctrl.urls.update : $P.ctrl.urls.create
} , data: formData
, contentType: false
/************************************************************************** , processData: false
* 사용자 함수(function) , success: (resp) => { $P.ctrl.onSave(resp); }
**************************************************************************/ });
// 업무구분에 따른 url 변경 }
$P.fnSetURL = (taskSeCd) => {
$P.control.urls.create = wctx.url("/" + taskSeCd + "${infoPrefixUrl}" + "/020/create.do"); // 등록 /**************************************************************************
$P.control.urls.update = wctx.url("/" + taskSeCd + "${infoPrefixUrl}" + "/020/update.do"); // 수정 * 사용자 함수(function)
} **************************************************************************/
// 업무구분에 따른 url 변경
// 주소 검색 결과 callback $P.fnSetURL = (taskSeCd) => {
$P.callbackSearchAddr = (obj) => { $P.ctrl.urls.create = wctx.url("/" + taskSeCd + "${infoPrefixUrl}" + "/020/create.do"); // 등록
$("#sttrAddr--${pageName}").val(obj.ADDR); // 주소 $P.ctrl.urls.update = wctx.url("/" + taskSeCd + "${infoPrefixUrl}" + "/020/update.do"); // 수정
$("#sttrZip--${pageName}").val(obj.ZIP); // 우편번호 }
$("#sttrDaddr--${pageName}").val(obj.DTL_ADDR); // 상세 주소
} // 주소 검색 결과 callback
$P.callbackSearchAddr = (obj) => {
/************************************************************************** $P.$find("sttrAddr").val(obj.ADDR); // 주소
* 버튼 clickEvent $P.$find("sttrZip").val(obj.ZIP); // 우편번호
**************************************************************************/ $P.$find("sttrDaddr").val(obj.DTL_ADDR); // 상세 주소
// 납부자 정보를 진술자 정보로 입력한다. }
$P.fnSearchPayer = (title) => {
$("select[name='ownrRelCd'] option:contains('본인')").attr("selected", "selected"); /**************************************************************************
$("#sttrNm--${pageName}").val($P.control.getValue("RTPYR_NM")); * 버튼 clickEvent
$("#sttrBrdt--${pageName}").val($P.control.getValue("RTPYR_BRDT")); **************************************************************************/
$("#sttrAddr--${pageName}").val($P.control.getValue("ADDR")); // 납부자 정보를 진술자 정보로 입력한다.
$("#sttrZip--${pageName}").val($P.control.getValue("ZIP")); $P.fnSearchPayer = (btnTitle) => {
$("#sttrDaddr--${pageName}").val($P.control.getValue("DTL_ADDR")); $P.$find("frmEdit").find("[name='ownrRelCd'] option:contains('본인')").prop("selected", true);
$P.$find("sttrNm").val($P.ctrl.getValue("RTPYR_NM"));
if ($P.control.getValue("RTPYR_MBL_TELNO") != "") $P.$find("sttrBrdt").val($P.ctrl.getValue("RTPYR_BRDT"));
$("#sttrCttpc--${pageName}").val($P.control.getValue("RTPYR_MBL_TELNO")); $P.$find("sttrAddr").val($P.ctrl.getValue("ADDR"));
else $P.$find("sttrZip").val($P.ctrl.getValue("ZIP"));
$("#sttrCttpc--${pageName}").val($P.control.getValue("RTPYR_TELNO")); $P.$find("sttrDaddr").val($P.ctrl.getValue("DTL_ADDR"));
$("#sttrEml--${pageName}").val($P.control.getValue("RTPYR_EML")); if ($P.ctrl.getValue("RTPYR_MBL_TELNO") != "")
} $P.$find("sttrCttpc").val($P.ctrl.getValue("RTPYR_MBL_TELNO"));
else
// 주소 검색 $P.$find("sttrCttpc").val($P.ctrl.getValue("RTPYR_TELNO"));
$P.fnSearchAddr = async(title) => {
let resp = await fetch(wctx.url("/resources/html/searchAddr.html")); $P.$find("sttrEml").val($P.ctrl.getValue("RTPYR_EML"));
let template = await resp.text(); }
dialog.open({ // 주소 검색
id: "searchAddrDialog" $P.fnSearchAddr = async(btnTitle) => {
, title: title let resp = await fetch(wctx.url("/resources/html/searchAddr.html"));
, size: "lg" let template = await resp.text();
, content: template
, init: () => { dialog.open({
$("#searchAddrCallback").val("pageObject['${pageName}'].callbackSearchAddr"); id: "searchAddrDialog"
, title: btnTitle
setDialogZindex(); , size: "lg"
} , content: template
}); , init: () => {
} $("#searchAddrCallback").val("pageObject['${pageName}'].callbackSearchAddr");
// 첨부파일 조회 setDialogZindex();
$P.fnSearchFileList = (opnnId) => { }
// 의견제출 등록일 경우에는 첨부파일을 조회하지 안는다.. });
if (opnnId == null || opnnId == "") return; }
// 첨부파일 리스트 // 첨부파일 조회
ajax.get({ $P.fnSearchFileList = (opnnId) => {
url: "file/list.do" let tableFileList = $P.find("fileList"); // table element 찾기
, data: { let fileLength = tableFileList.rows.length;
infoType: "110"
, infoKeys: opnnId // 기존 table에 자료가 존재하면 tableRow 삭제
, fetchSize: 0 for (let iLoop = 1; iLoop < fileLength; iLoop++) {
} tableFileList.deleteRow(1); // table 행(Row) 삭제
, success: resp => { }
let fileNo = 0;
let fileList = resp.fileList; // 의견제출 등록일 경우에는 첨부파일을 조회하지 안는다..
if (!opnnId) return;
fileList.forEach(function (item, index, array) {
fileNo = index + 1; // 첨부파일 리스트
ajax.get({
let innerHtml = ""; url: "file/list.do"
innerHtml += "<tr>"; , data: {
innerHtml += "<td class='text-center'>" + fileNo + "</td>"; infoType: "110"
innerHtml += "<td class='text-center'>" + item.FILE_ID + "</td>"; , infoKeys: opnnId
innerHtml += "<td class='text-center'>" + item.FILE_NM + "</td>"; , fetchSize: 0
innerHtml += "<td class='text-center'>" + item.FILE_SIZE + " byte</td>"; }
innerHtml += "<td class='text-center'>" + "<button type='button' class='btn' onclick="; , success: (resp) => {
innerHtml += "pageObject['${pageName}'].fnFileDownload(" + item.FILE_ID + ");" + "><i class='bx bx-download me-1'></i></button>" + "</td>"; let fileNo = 0;
innerHtml += "<td class='text-center'>" + "<button type='button' class='btn' onclick="; let fileList = resp.fileList;
innerHtml += "pageObject['${pageName}'].fnFileRemove(this);" + "><i class='bx bx-trash me-1'></i></button>" + "</td>";
innerHtml += "</tr>"; fileList.forEach(function (item, index, array) {
fileNo = index + 1;
$("#fileList--${pageName} > tbody:last").append(innerHtml);
}); let innerHtml = "";
} innerHtml += "<tr>";
}); innerHtml += "<td class='text-center'>" + fileNo + "</td>";
} innerHtml += "<td class='text-center'>" + item.FILE_ID + "</td>";
innerHtml += "<td class='text-center'>" + item.FILE_NM + "</td>";
// 첨부파일 등록 innerHtml += "<td class='text-center'>" + item.FILE_SIZE + " byte</td>";
$P.fnAddFiles = (obj) => { innerHtml += "<td class='text-center'>" + "<button type='button' class='btn' onclick=";
let fileNo = $("#fileList--${pageName} > tbody tr").length; // table의 tr 개수 innerHtml += "pageObject['${pageName}'].fnFileDownload(" + item.FILE_ID + ");" + "><i class='bx bx-download me-1'></i></button>" + "</td>";
innerHtml += "<td class='text-center'>" + "<button type='button' class='btn' onclick=";
let maxFileCnt = 3; // 첨부파일 최대 개수 innerHtml += "pageObject['${pageName}'].fnFileRemove(this);" + "><i class='bx bx-trash me-1'></i></button>" + "</td>";
let attFileCnt = obj.files.length; // 선택한 파일 개수 + 기존 파일 개수 innerHtml += "</tr>";
let fileArr = new Array(); // 파일 배열
$P.$find("tbodyFileList").append(innerHtml);
fileArr = $P.fileListArr; });
}
// 등록할 파일 개수 확인 });
if (attFileCnt + fileNo > maxFileCnt) { }
dialog.alert({
content : "첨부파일은 최대 " + maxFileCnt + "개 까지 첨부 가능합니다." // 첨부파일 등록
}); $P.fnAddFiles = (obj) => {
return; let tableFileList = $P.find("fileList"); // table element 찾기
} let fileNo = tableFileList.rows.length - 1; // table에 있는 파일 갯수 (첫번째 title은 제외하기 위해서 -1 처리)
let maxFileCnt = 3; // 의견제출에 등록 할 수 있는 첨부 파일 최대 개수
// 첨부파일을 table에 추가. let attFileCnt = obj.files.length; // 선택한 파일의 개수
for (let iLoop = 0; iLoop < attFileCnt; iLoop++) { let fileArr = new Array(); // 파일 배열
let selectedFile = obj.files[iLoop];
let innerHtml = ""; fileArr = $P.fileListArr;
fileNo += 1; // 등록할 파일 개수 확인
if (attFileCnt + fileNo > maxFileCnt) {
innerHtml += "<tr>"; dialog.alert({
innerHtml += "<td class='text-center'>" + fileNo + "</td>"; content : "첨부파일은 최대 " + maxFileCnt + "개 까지 첨부 가능합니다."
innerHtml += "<td class='text-center'>" + "</td>"; , init: () => { setDialogZindex(); }
innerHtml += "<td class='text-center'>" + selectedFile.name + "</td>"; , onOK: () => { }
innerHtml += "<td class='text-center'>" + selectedFile.size + " byte</td>"; });
innerHtml += "<td class='text-center'>" + "</td>"; return;
innerHtml += "<td class='text-center'>" + "<button type='button' class='btn' onclick="; }
innerHtml += "pageObject['${pageName}'].fnFileRemove(this);" + "><i class='bx bx-trash me-1'></i></button>" + "</td>";
innerHtml += "</tr>"; // 첨부파일을 table에 추가.
for (let iLoop = 0; iLoop < attFileCnt; iLoop++) {
$("#fileList--${pageName} > tbody:last").append(innerHtml); let selectedFile = obj.files[iLoop];
let innerHtml = "";
fileArr.push(obj.files[iLoop]);
} fileNo += 1;
}
innerHtml += "<tr>";
// 첨부파일 삭제 아이콘 클릭 이벤트 innerHtml += "<td class='text-center'>" + fileNo + "</td>";
$P.fnFileRemove = (obj) => { innerHtml += "<td class='text-center'>" + "</td>";
dialog.alert({ innerHtml += "<td class='text-center'>" + selectedFile.name + "</td>";
content: "선택한 파일을 삭제하시겠습니까?" innerHtml += "<td class='text-center'>" + selectedFile.size + " byte</td>";
, onOK: () => { innerHtml += "<td class='text-center'>" + "</td>";
let tr = $(obj).parent().parent(); // 클릭한 버튼이 속한 tr 요소 innerHtml += "<td class='text-center'>" + "<button type='button' class='btn' onclick=";
let td = tr.children(); innerHtml += "pageObject['${pageName}'].fnFileRemove(this);" + "><i class='bx bx-trash me-1'></i></button>" + "</td>";
let fileNo = td.eq(0).text(); // 삭제할 파일 번호 innerHtml += "</tr>";
let fileId = td.eq(1).text();
$P.$find("tbodyFileList").append(innerHtml);
if (fileId != null && fileId != "") {
ajax.post({ fileArr.push(obj.files[iLoop]);
url: "file/remove.do" }
, data: { fileIDs : fileId } }
, success: resp => { // 성공
} // 첨부파일 삭제 아이콘 클릭 이벤트
}); $P.fnFileRemove = (obj) => {
} else { dialog.alert({
// 배열에서 삭제한다. 배열은 0부터 시작하기 때문에 -1 해준다. content: "선택한 파일을 삭제하시겠습니까?"
$P.fileListArr.splice(fileNo - 1); , onOK: () => {
} let tr = $(obj).parent().parent(); // 클릭한 버튼이 속한 tr 요소
let td = tr.children();
$(obj).closest("tr").remove(); // table 에서 제거 let fileId = td.eq(1).text(); // 삭제할 파일번호
} let fileName = td.eq(2).text(); // 삭제할 파일이름
});
} if (fileId != null && fileId != "") {
ajax.post({
// 첨부파일 다운로드 아이콘 클릭 이벤트 url: "file/remove.do"
$P.fnFileDownload = (fileID) => { , data: { fileIDs: fileId }
top.location.href = "/file/download.do?fileID=" + fileID; , success: (resp) => { }
} });
} else {
// 저장 let filtered = $P.fileListArr.filter((value, index, arr) => {
$P.fnSave = () => { return (value.name != fileName);
// validate 확인 });
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
$P.fileListArr = filtered;
dialog.alert({ }
content: "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?"
, init: () => { setDialogZindex(); } $(obj).closest("tr").remove(); // table 에서 제거
, onOK: () => { }
$P.control.save($P.formFields.get()); // formFields });
} }
});
} // 첨부파일 다운로드 아이콘 클릭 이벤트
$P.fnFileDownload = (fileID) => {
/************************************************************************** top.location.href = "/file/download.do?fileID=" + fileID;
* 초기 셋팅 }
**************************************************************************/
// 이벤트 설정 // 저장
$P.setEvent = () => { $P.fnSave = () => {
// form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용 // validate 확인
$("#frmEdit--${pageName}").find(".form-date").each(function() { if (!customValidate($P.$find("frmEdit").find("input,select,textarea"))) return;
$(this).on("input",function() {
let value = this.value.replaceAll("-", ""); dialog.alert({
content: "현재 " + $P.ctrl.prefixName + " 정보를 저장하시겠습니까?"
if (value.length > 7) { , init: () => { setDialogZindex(); }
this.value = value.substring(0,4) + "-" + value.substring(4,6) + "-" + value.substring(6); , onOK: () => { $P.ctrl.save($P.formFields.get()); } // formFields
} else if(value.length > 5) { });
this.value = value.substring(0,4) + "-" + value.substring(4); }
}
}); /**************************************************************************
}); * 초기 셋팅
**************************************************************************/
// 버튼 이벤트 // 이벤트 설정
$("#btnSearchPayer--${pageName}").on("click", function() { // 납부자 정보 조회 버튼 이벤트 $P.setEvent = () => {
$P.fnSearchPayer($(this).attr("title")); // form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
}); $P.$find("frmEdit").find(".form-date").each(function() {
$("#btnSearchAddr--${pageName}").on("click", function() { // 주소 검색 버튼 이벤트 $(this).on("input", function() {
$P.fnSearchAddr($(this).attr("title")); let value = this.value.replaceAll("-", "");
});
$("#btnAddFile--${pageName}").on('click', () => $("#uploadFiles--${pageName}").trigger("click")); // 파일 등록 버튼 이벤트 if (value.length > 7) {
$("#btnSave--${pageName}").on("click", () => $P.fnSave()); // 저장 버튼 이벤트 this.value = value.substring(0, 4) + "-" + value.substring(4, 6) + "-" + value.substring(6);
} } else if(value.length > 5) {
this.value = value.substring(0, 4) + "-" + value.substring(4);
// 초기 화면 설정 }
$P.initForm = () => { });
// 달력 초기화 });
initDatepicker("frmEdit--${pageName}");
$("#rcptYmd--${pageName}").datepicker("setDate", new Date()); // 버튼 이벤트
$P.$find("btnSearchPayer").on("click", function() {
// 화면 활성화 설정 $P.fnSearchPayer($(this).attr("title")); // 납부자 정보 조회 버튼 이벤트
$("#vhrno--${pageName}").prop("readonly", true); // 차량번호 });
$("#crdnYmdTm--${pageName}").prop("readonly", true); // 단속 일자 $P.$find("btnSearchAddr").on("click", function() {
$("#rtpyrNm--${pageName}").prop("readonly", true); // 납부자 명 $P.fnSearchAddr($(this).attr("title")); // 주소 검색 버튼 이벤트
});
// View로 호출 $P.$find("btnAddFile").on("click", () => $P.$find("uploadFiles").trigger("click")); // 파일 등록 버튼 이벤트
if ($P.callPurpose == "view") { $P.$find("btnSave").on("click", () => { $P.fnSave() }); // 저장
// input 요소들을 disabled }
$("#frmEdit--${pageName}").find("input,textarea,select").prop("disabled", true);
// button 요소들을 disabled // 초기 화면 설정
$("#btnRcptYmd--${pageName}").prop("disabled", true); // 접수 일자 달력 버튼 $P.initForm = () => {
$("#btnSearchPayer--${pageName}").prop("disabled", true); // 납부자 버튼 // 화면 초기화
$("#btnSearchAddr--${pageName}").prop("disabled", true); // 우편번호 버튼 $P.find("frmEdit").reset();
$("#btnAddFile--${pageName}").prop("disabled", true); // 파일 추가 버튼
$("#btnSave--${pageName}").prop("disabled", true); // 저장 버튼 // 달력 초기화
} else if ($P.callPurpose == "create") { initDatepicker($P.find("frmEdit"));
$("#rcptNo--${pageName}").prop("readonly", true); // 접수 번호 $P.$find("rcptYmd").datepicker("setDate", TODAY());
$("#rcptYmd--${pageName}").datepicker("setDate", new Date()); // 접수 일자
} // View로 호출되었을때 disabled 셋팅
} if ($P.callPurpose == "view") {
// input 요소들을 disabled
/************************************************************************** $P.$find("frmEdit").find("input,textarea,select").prop("disabled", true);
* 최초 실행 함수 // button 요소들을 disabled
**************************************************************************/ $P.$find("btnRcptYmd").prop("disabled", true); // 접수 일자 달력 버튼
// 1. 이벤트 설정 $P.$find("btnSearchPayer").prop("disabled", true); // 납부자 버튼
$P.setEvent(); $P.$find("btnSearchAddr").prop("disabled", true); // 우편번호 버튼
$P.$find("btnAddFile").prop("disabled", true); // 파일 추가 버튼
// 2. 초기 화면 설정 $P.$find("btnSave").prop("disabled", true); // 저장 버튼
$P.initForm(); } else if ($P.callPurpose == "create") {
$P.$find("rcptNo").prop("readonly", true); // 접수 번호
// 3. Dataset 설정 }
$P.control.setData([${opnnSbmsnInfo}]); }
});
/**************************************************************************
* 최초 실행 함수
**************************************************************************/
// 1. 이벤트 설정
$P.setEvent();
// 2. 초기 화면 설정
$P.initForm();
// 3. Dataset 설정
$P.ctrl.setData([${info}]);
});
</script> </script>

@ -1,97 +1,97 @@
<%@ 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"%>
<c:set var="prefixName" scope="request">의견제출 심의위원 상세 정보</c:set> <c:set var="prefixName" scope="request">의견제출 심의 위원 정보</c:set>
<!-- inner page html --> <!-- inner page html -->
<div class="content-pop"> <div class="content-pop" data-doctx="${pageName}">
<!-- Content --> <!-- Content -->
<div class="container flex-grow-1 px-0"> <div class="container flex-grow-1 px-0">
<div class="card"> <div class="card">
<!-- 입력 영역 --> <!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit"> <form name="frmEdit">
<!-- hidden --> <!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" data-map="SGG_CD" /> <input type="hidden" name="sggCd" data-map="SGG_CD" />
<input type="hidden" id="taskSeCd--${pageName}" name="taskSeCd" data-map="TASK_SE_CD" /> <input type="hidden" name="taskSeCd" data-map="TASK_SE_CD" />
<input type="hidden" id="mngId--${pageName}" name="mngId" data-map="MNG_ID" /> <input type="hidden" name="mngId" data-map="MNG_ID" />
<div class="row g-1"> <div class="row g-1">
<!-- 1 직급 --> <!-- 1 직급 -->
<div class="col-md-7"> <div class="col-md-7">
<label for="dlbrMbrJbgd1--${pageName}" class="w-px-70 bg-lighter pe-2 col-form-label text-sm-end">심의위원1</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-70 text-sm-end">심의위원1</label>
<label for="dlbrMbrJbgd1--${pageName}" class="w-px-40 bg-lighter pe-2 col-form-label text-sm-end">직급</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-40 text-sm-end" for="dlbrMbrJbgd1">직급</label>
<input type="text" class="form-control w-50" id="dlbrMbrJbgd1--${pageName}" name="dlbrMbrJbgd1" data-map="DLBR_MBR_JBGD1" /> <input is="id-input" type="text" class="form-control w-50" name="dlbrMbrJbgd1" data-map="DLBR_MBR_JBGD1" />
</div> </div>
<!-- 1 회원명 --> <!-- 1 회원명 -->
<div class="col-md-5"> <div class="col-md-5">
<label for="dlbrMbrNm1--${pageName}" class="w-px-60 bg-lighter pe-2 col-form-label text-sm-end">성명</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-60 text-sm-end" for="dlbrMbrNm1">성명</label>
<input type="text" class="form-control w-60" id="dlbrMbrNm1--${pageName}" name="dlbrMbrNm1" data-map="DLBR_MBR_NM1" /> <input is="id-input" type="text" class="form-control w-60" name="dlbrMbrNm1" data-map="DLBR_MBR_NM1" />
</div> </div>
<!-- 2 직급 --> <!-- 2 직급 -->
<div class="col-md-7"> <div class="col-md-7">
<label for="dlbrMbrJbgd2--${pageName}" class="w-px-70 bg-lighter pe-2 col-form-label text-sm-end">심의위원2</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-70 text-sm-end">심의위원2</label>
<label for="dlbrMbrJbgd2--${pageName}" class="w-px-40 bg-lighter pe-2 col-form-label text-sm-end">직급</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-40 text-sm-end" for="dlbrMbrJbgd2">직급</label>
<input type="text" class="form-control w-50" id="dlbrMbrJbgd2--${pageName}" name="dlbrMbrJbgd2" data-map="DLBR_MBR_JBGD2" /> <input is="id-input" type="text" class="form-control w-50" name="dlbrMbrJbgd2" data-map="DLBR_MBR_JBGD2" />
</div> </div>
<!-- 2 회원명 --> <!-- 2 회원명 -->
<div class="col-md-5"> <div class="col-md-5">
<label for="dlbrMbrNm2--${pageName}" class="w-px-60 bg-lighter pe-2 col-form-label text-sm-end">성명</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-60 text-sm-end" for="dlbrMbrNm2">성명</label>
<input type="text" class="form-control w-60" id="dlbrMbrNm2--${pageName}" name="dlbrMbrNm2" data-map="DLBR_MBR_NM2" /> <input is="id-input" type="text" class="form-control w-60" name="dlbrMbrNm2" data-map="DLBR_MBR_NM2" />
</div> </div>
<!-- 3 직급 --> <!-- 3 직급 -->
<div class="col-md-7"> <div class="col-md-7">
<label for="dlbrMbrJbgd3--${pageName}" class="w-px-70 bg-lighter pe-2 col-form-label text-sm-end">심의위원3</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-70 text-sm-end">심의위원3</label>
<label for="dlbrMbrJbgd3--${pageName}" class="w-px-40 bg-lighter pe-2 col-form-label text-sm-end">직급</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-40 text-sm-end" for="dlbrMbrJbgd3">직급</label>
<input type="text" class="form-control w-50" id="dlbrMbrJbgd3--${pageName}" name="dlbrMbrJbgd3" data-map="DLBR_MBR_JBGD3" /> <input is="id-input" type="text" class="form-control w-50" name="dlbrMbrJbgd3" data-map="DLBR_MBR_JBGD3" />
</div> </div>
<!-- 3 회원명 --> <!-- 3 회원명 -->
<div class="col-md-5"> <div class="col-md-5">
<label for="dlbrMbrNm3--${pageName}" class="w-px-60 bg-lighter pe-2 col-form-label text-sm-end">성명</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-60 text-sm-end" for="dlbrMbrNm3">성명</label>
<input type="text" class="form-control w-60" id="dlbrMbrNm3--${pageName}" name="dlbrMbrNm3" data-map="DLBR_MBR_NM3" /> <input is="id-input" type="text" class="form-control w-60" name="dlbrMbrNm3" data-map="DLBR_MBR_NM3" />
</div> </div>
<!-- 4 직급 --> <!-- 4 직급 -->
<div class="col-md-7"> <div class="col-md-7">
<label for="dlbrMbrJbgd4--${pageName}" class="w-px-70 bg-lighter pe-2 col-form-label text-sm-end">심의위원4</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-70 text-sm-end">심의위원4</label>
<label for="dlbrMbrJbgd4--${pageName}" class="w-px-40 bg-lighter pe-2 col-form-label text-sm-end">직급</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-40 text-sm-end" for="dlbrMbrJbgd4">직급</label>
<input type="text" class="form-control w-50" id="dlbrMbrJbgd4--${pageName}" name="dlbrMbrJbgd4" data-map="DLBR_MBR_JBGD4" /> <input is="id-input" type="text" class="form-control w-50" name="dlbrMbrJbgd4" data-map="DLBR_MBR_JBGD4" />
</div> </div>
<!-- 4 회원명 --> <!-- 4 회원명 -->
<div class="col-md-5"> <div class="col-md-5">
<label for="dlbrMbrNm4--${pageName}" class="w-px-60 bg-lighter pe-2 col-form-label text-sm-end">성명</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-60 text-sm-end" for="dlbrMbrNm4">성명</label>
<input type="text" class="form-control w-60" id="dlbrMbrNm4--${pageName}" name="dlbrMbrNm4" data-map="DLBR_MBR_NM4" /> <input is="id-input" type="text" class="form-control w-60" name="dlbrMbrNm4" data-map="DLBR_MBR_NM4" />
</div> </div>
<!-- 5 직급 --> <!-- 5 직급 -->
<div class="col-md-7"> <div class="col-md-7">
<label for="dlbrMbrJbgd5--${pageName}" class="w-px-70 bg-lighter pe-2 col-form-label text-sm-end">심의위원5</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-70 text-sm-end">심의위원5</label>
<label for="dlbrMbrJbgd5--${pageName}" class="w-px-40 bg-lighter pe-2 col-form-label text-sm-end">직급</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-40 text-sm-end" for="dlbrMbrJbgd5">직급</label>
<input type="text" class="form-control w-50" id="dlbrMbrJbgd5--${pageName}" name="dlbrMbrJbgd5" data-map="DLBR_MBR_JBGD5" /> <input is="id-input" type="text" class="form-control w-50" name="dlbrMbrJbgd5" data-map="DLBR_MBR_JBGD5" />
</div> </div>
<!-- 5 회원명 --> <!-- 5 회원명 -->
<div class="col-md-5"> <div class="col-md-5">
<label for="dlbrMbrNm5--${pageName}" class="w-px-60 bg-lighter pe-2 col-form-label text-sm-end">성명</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-60 text-sm-end" for="dlbrMbrNm5">성명</label>
<input type="text" class="form-control w-60" id="dlbrMbrNm5--${pageName}" name="dlbrMbrNm5" data-map="DLBR_MBR_NM5" /> <input is="id-input" type="text" class="form-control w-60" name="dlbrMbrNm5" data-map="DLBR_MBR_NM5" />
</div> </div>
<!-- 6 직급 --> <!-- 6 직급 -->
<div class="col-md-7"> <div class="col-md-7">
<label for="dlbrMbrJbgd6--${pageName}" class="w-px-70 bg-lighter pe-2 col-form-label text-sm-end">심의위원6</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-70 text-sm-end">심의위원6</label>
<label for="dlbrMbrJbgd6--${pageName}" class="w-px-40 bg-lighter pe-2 col-form-label text-sm-end">직급</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-40 text-sm-end" for="dlbrMbrJbgd6">직급</label>
<input type="text" class="form-control w-50" id="dlbrMbrJbgd6--${pageName}" name="dlbrMbrJbgd6" data-map="DLBR_MBR_JBGD6" /> <input is="id-input" type="text" class="form-control w-50" name="dlbrMbrJbgd6" data-map="DLBR_MBR_JBGD6" />
</div> </div>
<!-- 6 회원명 --> <!-- 6 회원명 -->
<div class="col-md-5"> <div class="col-md-5">
<label for="dlbrMbrNm6--${pageName}" class="w-px-60 bg-lighter pe-2 col-form-label text-sm-end">성명</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-60 text-sm-end" for="dlbrMbrNm6">성명</label>
<input type="text" class="form-control w-60" id="dlbrMbrNm6--${pageName}" name="dlbrMbrNm6" data-map="DLBR_MBR_NM6" /> <input is="id-input" type="text" class="form-control w-60" name="dlbrMbrNm6" data-map="DLBR_MBR_NM6" />
</div> </div>
<!-- 7 직급 --> <!-- 7 직급 -->
<div class="col-md-7"> <div class="col-md-7">
<label for="dlbrMbrJbgd7--${pageName}" class="w-px-70 bg-lighter pe-2 col-form-label text-sm-end">심의위원7</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-70 text-sm-end">심의위원7</label>
<label for="dlbrMbrJbgd7--${pageName}" class="w-px-40 bg-lighter pe-2 col-form-label text-sm-end">직급</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-40 text-sm-end" for="dlbrMbrJbgd7">직급</label>
<input type="text" class="form-control w-50" id="dlbrMbrJbgd7--${pageName}" name="dlbrMbrJbgd7" data-map="DLBR_MBR_JBGD7" /> <input is="id-input" type="text" class="form-control w-50" name="dlbrMbrJbgd7" data-map="DLBR_MBR_JBGD7" />
</div> </div>
<!-- 7 회원명 --> <!-- 7 회원명 -->
<div class="col-md-5"> <div class="col-md-5">
<label for="dlbrMbrNm7--${pageName}" class="w-px-60 bg-lighter pe-2 col-form-label text-sm-end">성명</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-60 text-sm-end" for="dlbrMbrNm7">성명</label>
<input type="text" class="form-control w-60" id="dlbrMbrNm7--${pageName}" name="dlbrMbrNm7" data-map="DLBR_MBR_NM7" /> <input is="id-input" type="text" class="form-control w-60" name="dlbrMbrNm7" data-map="DLBR_MBR_NM7" />
</div> </div>
</div> </div>
</form> </form>
@ -102,7 +102,7 @@
<span class="container-page-btn"> <span class="container-page-btn">
<!-- 업무 버튼 --> <!-- 업무 버튼 -->
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-80" id="btnSave--${pageName}" title="저장"> <button type="button" class="btn btn-primary w-px-80" name="btnSave" title="저장">
저장 저장
</button> </button>
</span> </span>
@ -116,125 +116,124 @@
<!-- / inner page html <div class="content-pop"> --> <!-- / inner page html <div class="content-pop"> -->
<script> <script>
/************************************************************************** /**************************************************************************
* Global Variable * Global Variable
**************************************************************************/ **************************************************************************/
pageObject["${pageName}"] = {}; pageObject["${pageName}"] = newDoctxFinder("${pageName}");
/************************************************************************** /**************************************************************************
* script 진입 * script 진입
**************************************************************************/ **************************************************************************/
$(document).ready(function() { $(document).ready(function() {
// pageObject // pageObject
let $P = pageObject["${pageName}"]; let $P = pageObject["${pageName}"];
// FormFields // FormFields
$P.formFields = new FimsFormFields("#frmEdit--${pageName}"); $P.formFields = new FimsFormFields($P.selector("frmEdit"));
/************************************************************************** /**************************************************************************
* DatasetControl * DatasetControl
**************************************************************************/ **************************************************************************/
$P.control = new DatasetControl({ $P.ctrl = new DatasetControl({
prefix: "opnnDlbrMbr" prefix: "opnnDlbrMbr"
, prefixName: "의견제출 심의위원 관리" , prefixName: "의견제출 심의 위원 관리"
, keymapper: info => info ? info.MNG_ID : "" , keymapper: info => info ? info.MNG_ID : ""
, dataGetter: obj => obj.${infoPrefix}Info , dataGetter: obj => obj.info
}); });
/************************************************************************** /**************************************************************************
* DatasetControl 이벤트 * DatasetControl 이벤트
**************************************************************************/ **************************************************************************/
// 현재 선택 자료 변경 이벤트 // 현재 선택 자료 변경 이벤트
$P.control.onCurrentChange = item => { $P.ctrl.onCurrentChange = item => {
if (!item) return; if (!item) return;
// Dataset 셋팅 // Dataset 셋팅
$P.formFields.set($P.control, item); $P.formFields.set($P.ctrl, item);
// 업무구분에 따른 URL 변경
$P.fnSetURL(item.data.TASK_SE_CD); // 업무구분에 따른 URL 변경
} $P.fnSetURL(item.data.TASK_SE_CD);
}
// 저장 callback
$P.control.onSave = (resp) => { // 저장 callback
let dialogTitle = $("#" + $P.control.prefix + "Dialog--${openerPageName}").find("h5.modal-title").html(); $P.ctrl.onSave = (resp) => {
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle); let dialogTitle = $("#" + $P.selfDlgId()).find("h5.modal-title").html();
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
// 메시지 출력
dialog.alert({ // 메시지 출력
content: showMessage dialog.alert({
, init: () => { setDialogZindex(); } content: showMessage
, onOK: () => { } , init: () => { setDialogZindex(); }
}); , onOK: () => { }
, onClose: () => {
if (resp.saved) { if (resp.saved) { dialog.close($P.selfDlgId()); }
dialog.close($P.control.prefix + "Dialog--${openerPageName}"); }
} });
} }
// 저장 // 저장
$P.control.save = (info) => { $P.ctrl.save = (info) => {
if (!info) return; if (!info) return;
let create = (info.mngId == ""); let create = (info.mngId == "");
ajax.post({ ajax.post({
url: !create ? $P.control.urls.update : $P.control.urls.create url: !create ? $P.ctrl.urls.update : $P.ctrl.urls.create
, data: info || {} , data: info || {}
, success: resp => $P.control.onSave(resp) , success: (resp) => { $P.ctrl.onSave(resp); }
}); });
} }
/************************************************************************** /**************************************************************************
* 사용자 함수(function) * 사용자 함수(function)
**************************************************************************/ **************************************************************************/
// 업무구분에 따른 URL 설정 // 업무구분에 따른 URL 설정
$P.fnSetURL = (taskSeCd) => { $P.fnSetURL = (taskSeCd) => {
$P.control.urls.create = wctx.url("/" + taskSeCd + "${infoPrefixUrl}" + "/040/create.do"); // 등록 $P.ctrl.urls.create = wctx.url("/" + taskSeCd + "${infoPrefixUrl}" + "/040/create.do"); // 등록
$P.control.urls.update = wctx.url("/" + taskSeCd + "${infoPrefixUrl}" + "/040/update.do"); // 수정 $P.ctrl.urls.update = wctx.url("/" + taskSeCd + "${infoPrefixUrl}" + "/040/update.do"); // 수정
} }
/************************************************************************** /**************************************************************************
* 버튼 clickEvent * 버튼 clickEvent
**************************************************************************/ **************************************************************************/
// 저장 // 저장
$P.fnSave = () => { $P.fnSave = () => {
// validate 확인 // validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; if (!customValidate($P.$find("frmEdit").find("input,select,textarea"))) return;
dialog.alert({ dialog.alert({
content: "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?" content: "현재 " + $P.ctrl.prefixName + " 정보를 저장하시겠습니까?"
, init: () => { setDialogZindex(); } , init: () => { setDialogZindex(); }
, onOK: () => { , onOK: () => { $P.ctrl.save($P.formFields.get()); } // formFields
$P.control.save($P.formFields.get()); // formFields });
} }
});
} /**************************************************************************
* 초기 셋팅
/************************************************************************** **************************************************************************/
* 초기 셋팅 // 이벤트 설정
**************************************************************************/ $P.setEvent = () => {
// 이벤트 설정 // 버튼 이벤트
$P.setEvent = () => { $P.$find("btnSave").on("click", () => { $P.fnSave() }); // 저장
// 버튼 이벤트 }
$("#btnSave--${pageName}").on("click", () => $P.fnSave()); // 저장
}
// 초기 화면 설정 // 초기 화면 설정
$P.initForm = () => { $P.initForm = () => {
// // 화면 초기화
$P.find("frmEdit").reset();
} }
/************************************************************************** /**************************************************************************
* 최초 실행 함수 * 최초 실행 함수
**************************************************************************/ **************************************************************************/
// 1. 이벤트 설정 // 1. 이벤트 설정
$P.setEvent(); $P.setEvent();
// 2. 초기 화면 설정 // 2. 초기 화면 설정
$P.initForm(); $P.initForm();
// 3. Dataset 설정 // 3. Dataset 설정
$P.control.setData([${opnnDlbrMbrInfo}]); $P.ctrl.setData([${info}]);
}); });
</script> </script>

@ -414,10 +414,10 @@
, size: "lg" , size: "lg"
, content: resp , content: resp
, init: () => { , init: () => {
setDialogZindex();
$("#" + dialogId).attr("name", dialogName); $("#" + dialogId).attr("name", dialogName);
$("#" + dialogId).attr("data-ref-doctx", "${pageName}"); $("#" + dialogId).attr("data-ref-doctx", "${pageName}");
setDialogZindex();
} }
, onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회 , onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회
}); });
@ -505,10 +505,10 @@
, size: "xl" , size: "xl"
, content: resp , content: resp
, init: () => { , init: () => {
setDialogZindex();
$("#" + dialogId).attr("name", dialogName); $("#" + dialogId).attr("name", dialogName);
$("#" + dialogId).attr("data-ref-doctx", "${pageName}"); $("#" + dialogId).attr("data-ref-doctx", "${pageName}");
setDialogZindex();
} }
}); });
} }
@ -532,10 +532,10 @@
, size: "xl" , size: "xl"
, content: resp , content: resp
, init: () => { , init: () => {
setDialogZindex();
$("#" + dialogId).attr("name", dialogName); $("#" + dialogId).attr("name", dialogName);
$("#" + dialogId).attr("data-ref-doctx", "${pageName}"); $("#" + dialogId).attr("data-ref-doctx", "${pageName}");
setDialogZindex();
} }
}); });
} }
@ -593,10 +593,10 @@
, size: "lg" , size: "lg"
, content: resp , content: resp
, init: () => { , init: () => {
setDialogZindex();
$("#" + dialogId).attr("name", dialogName); $("#" + dialogId).attr("name", dialogName);
$("#" + dialogId).attr("data-ref-doctx", "${pageName}"); $("#" + dialogId).attr("data-ref-doctx", "${pageName}");
setDialogZindex();
} }
, onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회 , onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회
}); });
@ -651,10 +651,10 @@
, size: "lg" , size: "lg"
, content: resp , content: resp
, init: () => { , init: () => {
setDialogZindex();
$("#" + dialogId).attr("name", dialogName); $("#" + dialogId).attr("name", dialogName);
$("#" + dialogId).attr("data-ref-doctx", "${pageName}"); $("#" + dialogId).attr("data-ref-doctx", "${pageName}");
setDialogZindex();
} }
, onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회 , onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회
}); });

@ -259,10 +259,10 @@
, size: "lg" , size: "lg"
, content: resp , content: resp
, init: () => { , init: () => {
setDialogZindex();
$("#" + dialogId).attr("name", dialogName); $("#" + dialogId).attr("name", dialogName);
$("#" + dialogId).attr("data-ref-doctx", "${pageName}"); $("#" + dialogId).attr("data-ref-doctx", "${pageName}");
setDialogZindex();
} }
, onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회 , onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회
}); });
@ -356,10 +356,10 @@
, size: "lg" , size: "lg"
, content: resp , content: resp
, init: () => { , init: () => {
setDialogZindex();
$("#" + dialogId).attr("name", dialogName); $("#" + dialogId).attr("name", dialogName);
$("#" + dialogId).attr("data-ref-doctx", "${pageName}"); $("#" + dialogId).attr("data-ref-doctx", "${pageName}");
setDialogZindex();
} }
, onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회 , onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회
}); });
@ -427,6 +427,7 @@
dialog.alert({ dialog.alert({
content: "조회된 의견제출 대장 정보가 없습니다." content: "조회된 의견제출 대장 정보가 없습니다."
+ "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다." + "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, init: () => { setDialogZindex(); }
, onOK: () => { } , onOK: () => { }
}); });
return; return;
@ -453,6 +454,7 @@
dialog.alert({ dialog.alert({
content: "조회된 의견제출 대장 정보가 없습니다." content: "조회된 의견제출 대장 정보가 없습니다."
+ "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다." + "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, init: () => { setDialogZindex(); }
, onOK: () => { } , onOK: () => { }
}); });
return; return;
@ -468,6 +470,7 @@
content: "[" + btnTitle + "]" + " 작업은 심의결과가 '접수', '자진취하' 자료만 삭제 가능합니다." content: "[" + btnTitle + "]" + " 작업은 심의결과가 '접수', '자진취하' 자료만 삭제 가능합니다."
+ "<br>" + "심의결과 : " + opnnSbmsnSttsNm + "<br>" + "심의결과 : " + opnnSbmsnSttsNm
+ "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다." + "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, init: () => { setDialogZindex(); }
, onOK: () => { } , onOK: () => { }
}); });
return; return;
@ -508,6 +511,7 @@
dialog.alert({ dialog.alert({
content: "조회된 의견제출 대장 정보가 없습니다." content: "조회된 의견제출 대장 정보가 없습니다."
+ "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다." + "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, init: () => { setDialogZindex(); }
, onOK: () => { } , onOK: () => { }
}); });
return; return;
@ -533,6 +537,7 @@
dialog.alert({ dialog.alert({
content: "조회된 의견제출 대장 정보가 없습니다." content: "조회된 의견제출 대장 정보가 없습니다."
+ "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다." + "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, init: () => { setDialogZindex(); }
, onOK: () => { } , onOK: () => { }
}); });
return; return;
@ -548,6 +553,7 @@
content: "[" + btnTitle + "]" + " 작업은 단속상태가 '의견제출수용', '경찰서이첩', '부과 이전' 자료만 처리 가능합니다." content: "[" + btnTitle + "]" + " 작업은 단속상태가 '의견제출수용', '경찰서이첩', '부과 이전' 자료만 처리 가능합니다."
+ "<br>" + "단속상태 : " + crdnSttsNm + "<br>" + "단속상태 : " + crdnSttsNm
+ "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다." + "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, init: () => { setDialogZindex(); }
, onOK: () => { } , onOK: () => { }
}); });
return; return;
@ -585,7 +591,7 @@
, infoKeys: opnnId , infoKeys: opnnId
, fetchSize: 0 , fetchSize: 0
} }
, success: resp => { , success: (resp) => {
let fileNo = 0; let fileNo = 0;
let fileList = resp.fileList; let fileList = resp.fileList;
@ -593,7 +599,6 @@
fileNo = index + 1; fileNo = index + 1;
let innerHtml = ""; let innerHtml = "";
innerHtml += "<tr>"; innerHtml += "<tr>";
innerHtml += "<td class='text-center'>" + fileNo + "</td>"; innerHtml += "<td class='text-center'>" + fileNo + "</td>";
innerHtml += "<td class='text-center'>" + item.FILE_ID + "</td>"; innerHtml += "<td class='text-center'>" + item.FILE_ID + "</td>";

@ -301,10 +301,10 @@
, size: "md" , size: "md"
, content: resp , content: resp
, init: () => { , init: () => {
setDialogZindex();
$("#" + dialogId).attr("name", dialogName); $("#" + dialogId).attr("name", dialogName);
$("#" + dialogId).attr("data-ref-doctx", "${pageName}"); $("#" + dialogId).attr("data-ref-doctx", "${pageName}");
setDialogZindex();
} }
, onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회 , onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회
}); });

@ -346,10 +346,10 @@
, size: "lg" , size: "lg"
, content: resp , content: resp
, init: () => { , init: () => {
setDialogZindex();
$("#" + dialogId).attr("name", dialogName); $("#" + dialogId).attr("name", dialogName);
$("#" + dialogId).attr("data-ref-doctx", "${pageName}"); $("#" + dialogId).attr("data-ref-doctx", "${pageName}");
setDialogZindex();
} }
, onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회 , onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회
}); });
@ -420,10 +420,10 @@
, size: "md" , size: "md"
, content: resp , content: resp
, init: () => { , init: () => {
setDialogZindex();
$("#" + dialogId).attr("name", dialogName); $("#" + dialogId).attr("name", dialogName);
$("#" + dialogId).attr("data-ref-doctx", "${pageName}"); $("#" + dialogId).attr("data-ref-doctx", "${pageName}");
setDialogZindex();
} }
, onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회 , onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회
}); });
@ -661,6 +661,7 @@
dialog.alert({ dialog.alert({
content: "조회된 감경 대장 정보가 없습니다." content: "조회된 감경 대장 정보가 없습니다."
+ "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다." + "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, init: () => { setDialogZindex(); }
, onOK: () => { } , onOK: () => { }
}); });
return; return;
@ -741,6 +742,7 @@
dialog.alert({ dialog.alert({
content: "조회된 부과제외 대장 정보가 없습니다." content: "조회된 부과제외 대장 정보가 없습니다."
+ "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다." + "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, init: () => { setDialogZindex(); }
, onOK: () => { } , onOK: () => { }
}); });
return; return;
@ -768,6 +770,7 @@
dialog.alert({ dialog.alert({
content: "조회된 부과제외 대장 정보가 없습니다." content: "조회된 부과제외 대장 정보가 없습니다."
+ "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다." + "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, init: () => { setDialogZindex(); }
, onOK: () => { } , onOK: () => { }
}); });
return; return;

@ -385,10 +385,10 @@
, size: "md" , size: "md"
, content: resp , content: resp
, init: () => { , init: () => {
setDialogZindex();
$("#" + dialogId).attr("name", dialogName); $("#" + dialogId).attr("name", dialogName);
$("#" + dialogId).attr("data-ref-doctx", "${pageName}"); $("#" + dialogId).attr("data-ref-doctx", "${pageName}");
setDialogZindex();
} }
, onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회 , onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회
}); });

@ -293,10 +293,10 @@
, size: "lg" , size: "lg"
, content: resp , content: resp
, init: () => { , init: () => {
setDialogZindex();
$("#" + dialogId).attr("name", dialogName); $("#" + dialogId).attr("name", dialogName);
$("#" + dialogId).attr("data-ref-doctx", "${pageName}"); $("#" + dialogId).attr("data-ref-doctx", "${pageName}");
setDialogZindex();
} }
, onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회 , onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회
}); });
@ -306,7 +306,8 @@
// 수기 수납 취소 callback // 수기 수납 취소 callback
$P.ctrlRcvmt.onSave = (params, resp) => { $P.ctrlRcvmt.onSave = (params, resp) => {
let dialogTitle = $("#" + $P.ctrlRcvmt.prefix + "Dialog--${pageName}").find("h5.modal-title").html(); // let dialogTitle = $("#" + $P.ctrlRcvmt.prefix + "Dialog--${pageName}").find("h5.modal-title").html();
let dialogTitle = $("#" + $P.selfDlgId()).find("h5.modal-title").html();
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle); let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
// 메시지 출력 // 메시지 출력
@ -516,6 +517,7 @@
content: "[" + btnTitle + "]" + " 작업은 rcvmtInptSeNm 구분이 '수기' 자료만 처리 가능합니다." content: "[" + btnTitle + "]" + " 작업은 rcvmtInptSeNm 구분이 '수기' 자료만 처리 가능합니다."
+ "<br>" + "수납입력구분 : " + crdnSttsNm + "<br>" + "수납입력구분 : " + crdnSttsNm
+ "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다." + "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, init: () => { setDialogZindex(); }
, onOK: () => { } , onOK: () => { }
}); });
return; return;

@ -156,10 +156,10 @@
, size: "lg" , size: "lg"
, content: resp , content: resp
, init: () => { , init: () => {
setDialogZindex();
$("#" + dialogId).attr("name", dialogName); $("#" + dialogId).attr("name", dialogName);
$("#" + dialogId).attr("data-ref-doctx", "${pageName}"); $("#" + dialogId).attr("data-ref-doctx", "${pageName}");
setDialogZindex();
} }
, onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회 , onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회
}); });

Loading…
Cancel
Save