불필요 소스 및 주석 정리.

main
jjh 5 months ago
parent 1d8412055f
commit 30853541ff

@ -124,7 +124,8 @@ public class Sprt02Controller extends ApplicationController {
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02010-main"); ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02010-main");
return mav.addObject("callControlName", req.getCallControlName()) return mav
.addObject("callControlName", req.getCallControlName())
.addObject("callPurpose", req.getCallPurpose()) .addObject("callPurpose", req.getCallPurpose())
.addObject("pageName", "sprt02010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("pageName", "sprt02010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("pageNameMain", "sprt02010") // 개별총정보 메인 화면명 .addObject("pageNameMain", "sprt02010") // 개별총정보 메인 화면명
@ -143,22 +144,21 @@ public class Sprt02Controller extends ApplicationController {
@RequestMapping(name="개별총정보 단속, 납부자 정보 조회", value=METHOD_URL.getCrdnPayerInfo) @RequestMapping(name="개별총정보 단속, 납부자 정보 조회", value=METHOD_URL.getCrdnPayerInfo)
public ModelAndView getCrdnPayerInfo(SprtQuery req) { public ModelAndView getCrdnPayerInfo(SprtQuery req) {
// 단속(TB_CRDN), 납부자(TB_PAYER) 정보 // 단속(TB_CRDN), 납부자(TB_PAYER) 정보
DataObject crdnPayer = sprt02Service.getCrdnPayerInfo(req); DataObject crdnPayerInfo = sprt02Service.getCrdnPayerInfo(req);
boolean json = jsonResponse(); boolean json = jsonResponse();
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02020-info"); ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02020-info");
mav.addObject("pageNameMain", "sprt02010") mav.addObject("pageNameMain", "sprt02010") // pageNameMain
.addObject("pageName", "sprt02020") .addObject("pageName", "sprt02020") // pageName
.addObject("crdnPayer", json ? crdnPayer : toJson(crdnPayer)) // 단속, 납부자 정보 .addObject("infoPrefix", "crdnPayer") // prefix
.addObject("crdnPayerInfo", json ? crdnPayerInfo : toJson(crdnPayerInfo)) // 단속, 납부자 정보
; ;
// 재조회로 호출되었다면.. // 재 조회로 호출되었다면..
if (req.getCallPurpose().equals("refresh")) { if (req.getCallPurpose().equals("refresh")) {
DataObject totalInfo = sprt02Service.getCrdnInfo(req); // 단속(TB_CRDN) 대장 조회 DataObject totalInfo = sprt02Service.getCrdnInfo(req); // 단속(TB_CRDN) 대장 조회
mav.addObject("totalInfo", json ? totalInfo : toJson(totalInfo)); // 단속 정보
mav.addObject("totalInfo", json ? totalInfo : toJson(totalInfo)); // 단속 정보
} }
return mav; return mav;
@ -176,31 +176,25 @@ public class Sprt02Controller extends ApplicationController {
public ModelAndView getOpnnSbmsnInfo(SprtQuery req) { public ModelAndView getOpnnSbmsnInfo(SprtQuery req) {
// 의견제출 정보 // 의견제출 정보
LevyExclQuery exclQuery = new LevyExclQuery(); LevyExclQuery exclQuery = new LevyExclQuery();
if (req.getCallPurpose() == null) {
exclQuery.setCallPurpose("view");
} else {
exclQuery.setCallPurpose(req.getCallPurpose());
}
exclQuery.setCrdnId(req.getCrdnId()); exclQuery.setCrdnId(req.getCrdnId());
exclQuery.setDelYn(req.getDelYn()); exclQuery.setDelYn(req.getDelYn());
// 의견 제출(TB_OPNN_SBMSN) 대장 조회 // 의견 제출(TB_OPNN_SBMSN) 대장 조회
DataObject opnnSbmsn = opnnSbmsnService.getOpnnSbmsnInfo(exclQuery); DataObject opnnSbmsnInfo = opnnSbmsnService.getOpnnSbmsnInfo(exclQuery);
boolean json = jsonResponse(); boolean json = jsonResponse();
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02030-info"); ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02030-info");
mav.addObject("pageNameMain", "sprt02010") mav.addObject("pageNameMain", "sprt02010") // pageNameMain
.addObject("pageName", "sprt02030") .addObject("pageName", "sprt02030") // pageName
.addObject("opnnSbmsn", json ? opnnSbmsn : toJson(opnnSbmsn)) // 의견제출 정보 .addObject("infoPrefix", "opnnSbmsn") // prefix
.addObject("opnnSbmsnInfo", json ? opnnSbmsnInfo : toJson(opnnSbmsnInfo)) // 의견제출 정보
; ;
// 재조회로 호출되었다면.. // 재 조회로 호출되었다면..
if (req.getCallPurpose().equals("refresh")) { if (req.getCallPurpose().equals("refresh")) {
DataObject totalInfo = sprt02Service.getCrdnInfo(req); // 단속(TB_CRDN) 대장 조회 DataObject totalInfo = sprt02Service.getCrdnInfo(req); // 단속(TB_CRDN) 대장 조회
mav.addObject("totalInfo", json ? totalInfo : toJson(totalInfo)); // 단속 정보 mav.addObject("totalInfo", json ? totalInfo : toJson(totalInfo)); // 단속 정보
} }
return mav; return mav;
@ -218,33 +212,27 @@ public class Sprt02Controller extends ApplicationController {
public ModelAndView getSndngInfo(SprtQuery req) { public ModelAndView getSndngInfo(SprtQuery req) {
// 발송상세 정보 // 발송상세 정보
SndbQuery sndbQuery = new SndbQuery(); SndbQuery sndbQuery = new SndbQuery();
if (req.getCallPurpose() == null) {
sndbQuery.setCallPurpose("view");
} else {
sndbQuery.setCallPurpose(req.getCallPurpose());
}
sndbQuery.setCrdnId(req.getCrdnId()); sndbQuery.setCrdnId(req.getCrdnId());
sndbQuery.setDelYn(req.getDelYn()); sndbQuery.setDelYn(req.getDelYn());
sndbQuery.setOrderBy("SD.REG_DT, SD.SNDNG_DTL_ID DESC"); sndbQuery.setOrderBy("SD.REG_DT, SD.SNDNG_DTL_ID DESC");
List<?> sndngDtl = sndngDtlService.getSndngDtls(sndbQuery); List<?> sndngDtls = sndngDtlService.getSndngDtls(sndbQuery);
// 공시송달 정보 // 공시송달 정보
sndbQuery.setCrdnId(req.getCrdnId()); sndbQuery.setCrdnId(req.getCrdnId());
sndbQuery.setDelYn(req.getDelYn()); sndbQuery.setDelYn(req.getDelYn());
sndbQuery.setOrderBy("SV.REG_DT DESC, SV.SVBTC_ID DESC"); sndbQuery.setOrderBy("SV.REG_DT DESC, SV.SVBTC_ID DESC");
List<?> svbtc = svbtcService.getSvbtcDtls(sndbQuery); List<?> svbtcDtls = svbtcService.getSvbtcDtls(sndbQuery);
boolean json = jsonResponse(); boolean json = jsonResponse();
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02040-info"); ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02040-info");
mav.addObject("pageNameMain", "sprt02010") mav.addObject("pageNameMain", "sprt02010") // pageNameMain
.addObject("pageName", "sprt02040") .addObject("pageName", "sprt02040") // pageName
.addObject("sndngDtl", json ? sndngDtl : toJson(sndngDtl)) // 발송 정보 .addObject("infoPrefix", "sndngDtl") // prefix
.addObject("svbtc", json ? svbtc : toJson(svbtc)) // 공시송달 정보 .addObject("sndngDtls", json ? sndngDtls : toJson(sndngDtls)) // 발송 상세 정보
.addObject("svbtcDtls", json ? svbtcDtls : toJson(svbtcDtls)) // 공시송달 정보
; ;
// 재조회로 호출되었다면.. // 재조회로 호출되었다면..

@ -396,8 +396,8 @@
SELECT CONCAT(#{sggCd}, DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(OPNN_ID, 10)) + 1, 1) AS INT), 11, '0')) AS NEW_ID SELECT CONCAT(#{sggCd}, DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(OPNN_ID, 10)) + 1, 1) AS INT), 11, '0')) AS NEW_ID
, (SELECT CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(RCPT_NO, 5)) + 1, 1) AS INT), 6, '0')) , (SELECT CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(RCPT_NO, 5)) + 1, 1) AS INT), 6, '0'))
FROM TB_OPNN_SBMSN FROM TB_OPNN_SBMSN
WHERE OPNN_ID LIKE CONCAT(#{opnnSbmsn.sggCd}, DATE_FORMAT(CURRENT_DATE, '%Y'), '%') WHERE OPNN_ID LIKE CONCAT(#{sggCd}, DATE_FORMAT(CURRENT_DATE, '%Y'), '%')
AND RCPT_NO LIKE CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), '%')) AS NEW_RCPT_NO AND RCPT_NO LIKE CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), '%')) AS NEW_RCPT_NO
FROM TB_OPNN_SBMSN FROM TB_OPNN_SBMSN
WHERE OPNN_ID LIKE CONCAT(#{sggCd}, DATE_FORMAT(CURRENT_DATE, '%Y'), '%') WHERE OPNN_ID LIKE CONCAT(#{sggCd}, DATE_FORMAT(CURRENT_DATE, '%Y'), '%')
</selectKey> </selectKey>

@ -535,7 +535,7 @@
}); });
}); });
// 버튼 이벤트 // 업무 버튼 이벤트
$("#btnCreate--${pageName}").on("click", function() { $("#btnCreate--${pageName}").on("click", function() {
$P.fnCreate($(this).attr("title")); // 안내문 등록 $P.fnCreate($(this).attr("title")); // 안내문 등록
}); });

@ -792,13 +792,12 @@
}); });
}); });
// 발송 취소 버튼 이벤트 // 업무 버튼 이벤트
$("#btnUpdateCancel--${pageName}").on("click", function() { $("#btnUpdateCancel--${pageName}").on("click", function() {
$P.fnUpdateCancle($(this).attr("title")); $P.fnUpdateCancle($(this).attr("title")); // 발송 취소
}); });
// 발송 삭제 버튼 이벤트
$("#btnRemove--${pageName}").on("click", function() { $("#btnRemove--${pageName}").on("click", function() {
$P.fnRemove($(this).attr("title")); $P.fnRemove($(this).attr("title")); // 발송 삭제
}); });
// DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고 // DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고

@ -696,7 +696,7 @@
}); });
}); });
// 버튼 이벤트 // 업무 버튼 이벤트
$("#btnUpdate--${pageName}").on("click", function() { $("#btnUpdate--${pageName}").on("click", function() {
$P.fnUpdate($(this).attr("title")); // 부과제외 수정 $P.fnUpdate($(this).attr("title")); // 부과제외 수정
}); });

@ -836,25 +836,21 @@
}); });
}); });
// 심의위원 관리 버튼 이벤트 // 업무 버튼 이벤트
$("#btnDlbrMbr--${pageName}").on("click", function() { $("#btnDlbrMbr--${pageName}").on("click", function() {
$P.fnDlbrMbr($(this).attr("title")); $P.fnDlbrMbr($(this).attr("title")); // 심의위원 관리
}); });
// 의견제출 수정 버튼 이벤트
$("#btnUpdate--${pageName}").on("click", function() { $("#btnUpdate--${pageName}").on("click", function() {
$P.fnUpdate($(this).attr("title")); $P.fnUpdate($(this).attr("title")); // 의견제출 수정
}); });
// 의견제출 심의 버튼 이벤트
$("#btnUpdateOpnnDlbr--${pageName}").on("click", function() { $("#btnUpdateOpnnDlbr--${pageName}").on("click", function() {
$P.fnUpdateOpnnDlbr($(this).attr("title")); $P.fnUpdateOpnnDlbr($(this).attr("title")); // 의견제출 심의
}); });
// 의견제출 삭제 버튼 이벤트
$("#btnRemove--${pageName}").on("click", function() { $("#btnRemove--${pageName}").on("click", function() {
$P.fnRemove($(this).attr("title")); $P.fnRemove($(this).attr("title")); // 의견제출 삭제
}); });
// 심의의결서 출력 버튼 이벤트
$("#btnPrintDlbrDecsn--${pageName}").on("click", function() { $("#btnPrintDlbrDecsn--${pageName}").on("click", function() {
$P.fnPrintDlbrDecsn($(this).attr("title")); $P.fnPrintDlbrDecsn($(this).attr("title")); // 심의의결서 출력
}); });
// DataTables width 변경 조정 // DataTables width 변경 조정

@ -533,7 +533,7 @@
}); });
}); });
// 버튼 이벤트 // 업무 버튼 이벤트
$("#btnBfrCrdnTotalInfo--${pageName}").on("click", function() { $("#btnBfrCrdnTotalInfo--${pageName}").on("click", function() {
$P.fnBfrCrdnTotalInfo($(this).attr("title")); // 이전 단속정보 $P.fnBfrCrdnTotalInfo($(this).attr("title")); // 이전 단속정보
}); });

@ -667,7 +667,7 @@
}); });
}); });
// 버튼 이벤트 // 업무 버튼 이벤트
$("#btnCreateSlctnTrgt--${pageName}").on("click", function() { $("#btnCreateSlctnTrgt--${pageName}").on("click", function() {
$P.fnCreateSlctnTrgt($(this).attr("title")); // 선택 대상 감경부과 등록 $P.fnCreateSlctnTrgt($(this).attr("title")); // 선택 대상 감경부과 등록
}); });

@ -35,7 +35,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 text-end">업무구분</span> <span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</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>

@ -5,16 +5,23 @@
<!-- inner page html --> <!-- inner page html -->
<div class="content-wrapper"> <div class="content-wrapper">
<!-- Content -->
<div class="container-xxl flex-grow-1 px-0"> <div class="container-xxl flex-grow-1 px-0">
<!-- Page Body --> <!-- Page Body -->
<div class="card wrapper-list"> <div class="card wrapper-list">
<!-- 상단 버튼 --> <!-- 상단 버튼 -->
<div class="container-page-btn"> <div class="container-page-btn">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">초기화</button> <button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
초기화
</button>
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">검색</button> <button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">엑셀</button> 검색
</button>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
엑셀
</button>
</span> </span>
</div> <!-- 상단 버튼 --> </div> <!-- 상단 버튼 -->
@ -26,6 +33,7 @@
<!-- 메인 조건 --> <!-- 메인 조건 -->
<div class="container-search"> <div class="container-search">
<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 fw-bold form-search-title w-px-120 text-end">업무구분</span>
<span class="form-search-linebox"> <span class="form-search-linebox">
@ -665,7 +673,7 @@
}); });
}); });
// 버튼 이벤트 // 업무 버튼 이벤트
$("#btnUpdate--${pageName}").on("click", function() { $("#btnUpdate--${pageName}").on("click", function() {
$P.fnUpdate($(this).attr("title")); // 감경 수정 $P.fnUpdate($(this).attr("title")); // 감경 수정
}); });

@ -7,338 +7,335 @@
<div class="content-wrapper"> <div class="content-wrapper">
<!-- Content --> <!-- Content -->
<div class="container-xxl flex-grow-1 px-0"> <div class="container-xxl flex-grow-1 px-0">
<!-- Page Body -->
<div class="card">
<div class="wrapper-list"> <!-- Page Body -->
<!-- 상단 버튼 --> <div class="card wrapper-list">
<div class="container-page-btn"> <!-- 상단 버튼 -->
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화"> <div class="container-page-btn">
초기화 <button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
초기화
</button>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">
검색
</button> </button>
<span class="container-window-btn-right"> <button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색"> 엑셀
검색 </button>
</button> </span>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀"> </div>
엑셀 <!-- / 상단 버튼 -->
</button>
</span> <!-- 검색 조건 영역 -->
</div> <form id="frmSearch--${pageName}" name="frmSearch">
<!-- / 상단 버튼 --> <!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<!-- 검색 조건 영역 -->
<form id="frmSearch--${pageName}" name="frmSearch"> <!-- 메인 조건 -->
<!-- hidden --> <div class="container-search">
<input type="hidden" id="sggCd--${pageName}" name="sggCd" /> <div class="row g-1">
<!-- 업무구분 -->
<!-- 메인 조건 --> <div class="col-12">
<div class="container-search"> <span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span>
<div class="row g-1"> <span class="form-search-linebox">
<!-- 업무구분 --> <c:forEach items="${taskListForSgg}" var="item">
<div class="col-12"> <label>
<span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span> <input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분"
<span class="form-search-linebox"> value="${item.code}" onchange="pageObject['${pageName}'].fnResetAndChangeBiz(this.value);">
<c:forEach items="${taskListForSgg}" var="item"> ${item.value}
<label> </label>
<input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분" </c:forEach>
value="${item.code}" onchange="pageObject['${pageName}'].fnResetAndChangeBiz(this.value);"> </span>
${item.value} </div>
</label> <!-- 회계 일자 -->
</c:forEach> <div class="col-6">
</span> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schAcntgYmdFrom--${pageName}">회계일자</label>
</div> <span class="form-search-linebox">
<!-- 회계 일자 --> <input type="text" class="form-control form-date" id="schAcntgYmdFrom--${pageName}" name="schAcntgYmdFrom"
<div class="col-6"> data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schAcntgYmdFrom--${pageName}">회계일자</label> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
<span class="form-search-linebox"> ~
<input type="text" class="form-control form-date" id="schAcntgYmdFrom--${pageName}" name="schAcntgYmdFrom" <input type="text" class="form-control form-date" id="schAcntgYmdTo--${pageName}" name="schAcntgYmdTo"
data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" /> data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~ </span>
<input type="text" class="form-control form-date" id="schAcntgYmdTo--${pageName}" name="schAcntgYmdTo" </div>
data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" /> <!-- 수납 일자 -->
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <div class="col-6">
</span> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRcvmtYmdFrom--${pageName}">수납일자</label>
</div> <span class="form-search-linebox">
<!-- 수납 일자 --> <input type="text" class="form-control form-date" id="schRcvmtYmdFrom--${pageName}" name="schRcvmtYmdFrom"
<div class="col-6"> data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRcvmtYmdFrom--${pageName}">수납일자</label> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
<span class="form-search-linebox"> ~
<input type="text" class="form-control form-date" id="schRcvmtYmdFrom--${pageName}" name="schRcvmtYmdFrom" <input type="text" class="form-control form-date" id="schRcvmtYmdTo--${pageName}" name="schRcvmtYmdTo"
data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" /> data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~ </span>
<input type="text" class="form-control form-date" id="schRcvmtYmdTo--${pageName}" name="schRcvmtYmdTo" </div>
data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" /> <!-- 이체 일자 -->
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <div class="col-6">
</span> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schTsfYmdFrom--${pageName}">이체일자</label>
</div> <span class="form-search-linebox">
<!-- 이체 일자 --> <input type="text" class="form-control form-date" id="schTsfYmdFrom--${pageName}" name="schTsfYmdFrom"
<div class="col-6"> data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schTsfYmdFrom--${pageName}">이체일자</label> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
<span class="form-search-linebox"> ~
<input type="text" class="form-control form-date" id="schTsfYmdFrom--${pageName}" name="schTsfYmdFrom" <input type="text" class="form-control form-date" id="schTsfYmdTo--${pageName}" name="schTsfYmdTo"
data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" /> data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~ </span>
<input type="text" class="form-control form-date" id="schTsfYmdTo--${pageName}" name="schTsfYmdTo" </div>
data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" /> <!-- 수납 구분 코드 -->
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <div class="col-6">
</span> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRcvmtSeCd--${pageName}">수납구분</label>
</div> <select class="form-select w-px-120" id="schRcvmtSeCd--${pageName}" name="schRcvmtSeCd">
<!-- 수납 구분 코드 --> <option value="">전체</option>
<div class="col-6"> <c:forEach items="${FIM041List}" var="item">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRcvmtSeCd--${pageName}">수납구분</label> <option value="${item.code}">${item.value}</option>
<select class="form-select w-px-120" id="schRcvmtSeCd--${pageName}" name="schRcvmtSeCd"> </c:forEach>
<option value="">전체</option> </select>
<c:forEach items="${FIM041List}" var="item"> </div>
<option value="${item.code}">${item.value}</option> <!-- 납부 방법 구분 코드 -->
</c:forEach> <div class="col-6">
</select> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schPayMthdSeCd--${pageName}">납부방법</label>
</div> <select class="form-select w-px-200" id="schPayMthdSeCd--${pageName}" name="schPayMthdSeCd">
<!-- 납부 방법 구분 코드 --> <option value="">전체</option>
<div class="col-6"> <c:forEach items="${FIM045List}" var="item">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schPayMthdSeCd--${pageName}">납부방법</label> <option value="${item.code}">${item.value}</option>
<select class="form-select w-px-200" id="schPayMthdSeCd--${pageName}" name="schPayMthdSeCd"> </c:forEach>
<option value="">전체</option> </select>
<c:forEach items="${FIM045List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- 동적검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i>
상세검색
</button>
</span>
</div>
</div> </div>
</div> <!-- / 메인 조건 --> <!-- 동적검색 -->
<div class="col-6">
<!-- 상세 조건 --> <input type="hidden" id="by--${pageName}" name="by" />
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse"> <input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<div class="row g-1"> <input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<!-- 단속일자 --> <input type="hidden" id="subOption--${pageName}" name="subOption" />
<div class="col-4"> <input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schCrdnYmdFrom--${pageName}">단속일자</label> <!-- 상세 검색조건 버튼 -->
<span class="form-search-linebox"> <span class="flr">
<input type="text" class="form-control form-date" id="schCrdnYmdFrom--${pageName}" name="schCrdnYmdFrom" <button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" /> <i class="bx bx-chevron-down"></i>
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> 상세검색
~ </button>
<input type="text" class="form-control form-date" id="schCrdnYmdTo--${pageName}" name="schCrdnYmdTo" </span>
data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 차량번호 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schVhrno--${pageName}">차량번호</label>
<input type="text" class="form-control w-px-160" id="schVhrno--${pageName}" name="schVhrno" autocomplete="off" />
</div>
<!-- 납부자번호 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNm--${pageName}">납부자번호</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNm--${pageName}" name="schRtpyrNm" autocomplete="off" />
</div>
<!-- 납부자명 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNo--${pageName}">납부자명</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNo--${pageName}" name="schRtpyrNo" autocomplete="off" />
</div>
<!-- 등록일자, 수정일자 -->
<div class="col-4">
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-4">
<select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</div>
</div> </div>
</div> </div>
<!-- / 상세 조건 --> </div> <!-- 메인 조건 -->
</form>
<!-- / 검색 조건 영역 --> <!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<!-- 업무 버튼 및 건수 표시 --> <div class="row g-1">
<div> <!-- 단속일자 -->
<span class="container-page-btn"> <div class="col-4">
<!-- 건수, 페이지 표시 --> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schCrdnYmdFrom--${pageName}">단속일자</label>
<div class="d-flex flex-row justify-content-between"> <span class="form-search-linebox">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span> <input type="text" class="form-control form-date" id="schCrdnYmdFrom--${pageName}" name="schCrdnYmdFrom"
<ul class="pagination pagination-primary" id="paging--${pageName}"> data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
</ul> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schCrdnYmdTo--${pageName}" name="schCrdnYmdTo"
data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div> </div>
<span class="container-window-btn-right"> <!-- 차량번호 -->
<!-- 업무 버튼 --> <div class="col-4">
</span> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schVhrno--${pageName}">차량번호</label>
</span> <input type="text" class="form-control w-px-160" id="schVhrno--${pageName}" name="schVhrno" autocomplete="off" />
</div> </div>
<!-- / 업무 버튼 및 건수 표시 --> <!-- 납부자번호 -->
<div class="col-4">
<!-- DataTables(그리드) --> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNm--${pageName}">납부자번호</label>
<div class="card-datatable text-nowrap"> <input type="text" class="form-control w-px-160" id="schRtpyrNm--${pageName}" name="schRtpyrNm" autocomplete="off" />
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}"> </div>
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}"> <!-- 납부자명 -->
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info"> <div class="col-4">
<thead class="sticky-thead"> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNo--${pageName}">납부자명</label>
<tr id="theadTr--${pageName}" <input type="text" class="form-control w-px-160" id="schRtpyrNo--${pageName}" name="schRtpyrNo" autocomplete="off" />
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}"> </div>
</tr> <!-- 등록일자, 수정일자 -->
</thead> <div class="col-4">
<tbody id="tbody--${pageName}"> <select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
</tbody> <option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
<template id="${infoPrefix}Col--${pageName}"> </select>
<th class="cmn" style="width: 72px;">No.</th> <span class="form-search-linebox">
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th> <input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
<th class="cmn" style="width: 160px;">업무구분</th> data-fmt-type="day" title="시작 날짜 선택" />
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('RCVMT_RTRCN_YN', this.innerText, 'codeValue', 'CMN005');">수납취소</th> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_INPT_SE_CD', this.innerText, 'codeValue', 'FIM044');">수납입력구분</th> ~
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('FYR', this.innerText, 'match', 'part');">회계연도</th> <input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('ACNTG_SE_CD', this.innerText, 'codeValue', 'FIM074');">회계구분</th> data-fmt-type="day" title="종료 날짜 선택">
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('TXITM_CD', this.innerText, 'codeValue', 'FIM075');">세목코드</th> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('TXITM_CD', this.innerText, 'codeValue', 'FIM075');">세목명</th> </span>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('LEVY_NO', this.innerText, 'match', 'part');">부과번호</th> </div>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('INSPY_SN', this.innerText, 'match', 'part');">분납일련번호</th> <!-- 등록자명, 수정자명 -->
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('LAST_PCPTAX', this.innerText, 'match', 'part');">최종본세</th> <div class="col-4">
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('LAST_ADAMT', this.innerText, 'match', 'part');">최종가산금</th> <select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_SN', this.innerText, 'match', 'part');">수납일련번호</th> <option value="rgtr">등록자</option>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('RCVMT_SE_CD', this.innerText, 'codeValue', 'FIM041');">수납구분</th> <option value="mdfr">수정자</option>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_YMD', this.innerText, 'ymd', '');">수납일자</th> </select>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('ACNTG_YMD', this.innerText, 'ymd', '');">회계일자</th> <input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('TSF_YMD', this.innerText, 'ymd', '');">이체일자</th> <input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_AMT', this.innerText, 'match', 'part');">수납금액</th> <button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_PCPTAX', this.innerText, 'match', 'part');">수납본세</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_ADAMT', this.innerText, 'match', 'part');">수납가산금</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_INT', this.innerText, 'match', 'part');">수납이자</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('RCVMT_BANK_NM', this.innerText, 'match', 'part');">수납은행</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('PAY_MTHD_SE_CD', this.innerText, 'codeValue', 'FIM045');">납부방법</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RCVMT_STTS_CD', this.innerText, 'codeValue', 'FIM020');">수납상태</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('LEVY_YMD', this.innerText, 'ymd', '');">부과일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('FRST_DUDT_YMD', this.innerText, 'ymd', '');">최초납기일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('DUDT_YMD', this.innerText, 'ymd', '');">납기일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SZR_YMD', this.innerText, 'ymd', '');">압류일자</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('SZR_THING', this.innerText, 'match', 'part');">압류물건</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RPM_SZR_VHRNO', this.innerText, 'match', 'part');">대체압류차량</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SZR_RMV_YMD', this.innerText, 'ymd', '');">압류해제일자</th>
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('CRDN_YMD', this.innerText, 'ymd', '');">단속일시</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RTPYR_SE_CD', this.innerText, 'codeValue', 'FIM011');">납부자구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RTPYR_NO', this.innerText, 'ymd', '');">납부자번호</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RTPYR_NM', this.innerText, 'match', 'part');">납부자명</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('CRDN_STDG_NM', this.innerText, 'match', 'part');">단속법정동</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('CRDN_PLC', this.innerText, 'match', 'part');">단속장소</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STTS_CD', this.innerText, 'codeValue', 'FIM010');">처리상태</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{RCVMT_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{RCVMT_ID}" onchange="pageObject['${pageName}'].control.select('{RCVMT_ID}', this.checked);"></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center text-red" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_RTRCN_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_INPT_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{FYR}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ACNTG_SE_CD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TXITM_CD}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TXITM_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{INSPY_SN}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{LAST_PCPTAX}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{LAST_ADAMT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_SN}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ACNTG_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TSF_YMD}</td>
<td class="cmn text-end fw-bold text-blue" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_AMT}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_PCPTAX}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_ADAMT}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_INT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_BANK_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{PAY_MTHD_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_STTS_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{FRST_DUDT_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{DUDT_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SZR_YMD}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{SZR_THING}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RPM_SZR_VHRNO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SZR_RMV_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_YMD_TM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VHRNO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STDG_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_PLC}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STTS_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="45" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="45" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="45" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="45" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="45" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div> </div>
</div> </div>
</div> <!-- 상세 조건 -->
</form>
<!-- 검색 조건 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<!-- 건수, 페이지 표시 -->
<div class="d-flex flex-row justify-content-between">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span>
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
</div>
<!-- 업무 버튼 -->
<span class="container-window-btn-right">
</span>
</span>
</div>
<!-- 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Col--${pageName}">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;">업무구분</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('RCVMT_RTRCN_YN', this.innerText, 'codeValue', 'CMN005');">수납취소</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_INPT_SE_CD', this.innerText, 'codeValue', 'FIM044');">수납입력구분</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('FYR', this.innerText, 'match', 'part');">회계연도</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('ACNTG_SE_CD', this.innerText, 'codeValue', 'FIM074');">회계구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('TXITM_CD', this.innerText, 'codeValue', 'FIM075');">세목코드</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('TXITM_CD', this.innerText, 'codeValue', 'FIM075');">세목명</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('LEVY_NO', this.innerText, 'match', 'part');">부과번호</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('INSPY_SN', this.innerText, 'match', 'part');">분납일련번호</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('LAST_PCPTAX', this.innerText, 'match', 'part');">최종본세</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('LAST_ADAMT', this.innerText, 'match', 'part');">최종가산금</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_SN', this.innerText, 'match', 'part');">수납일련번호</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('RCVMT_SE_CD', this.innerText, 'codeValue', 'FIM041');">수납구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_YMD', this.innerText, 'ymd', '');">수납일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('ACNTG_YMD', this.innerText, 'ymd', '');">회계일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('TSF_YMD', this.innerText, 'ymd', '');">이체일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_AMT', this.innerText, 'match', 'part');">수납금액</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_PCPTAX', this.innerText, 'match', 'part');">수납본세</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_ADAMT', this.innerText, 'match', 'part');">수납가산금</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_INT', this.innerText, 'match', 'part');">수납이자</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('RCVMT_BANK_NM', this.innerText, 'match', 'part');">수납은행</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('PAY_MTHD_SE_CD', this.innerText, 'codeValue', 'FIM045');">납부방법</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RCVMT_STTS_CD', this.innerText, 'codeValue', 'FIM020');">수납상태</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('LEVY_YMD', this.innerText, 'ymd', '');">부과일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('FRST_DUDT_YMD', this.innerText, 'ymd', '');">최초납기일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('DUDT_YMD', this.innerText, 'ymd', '');">납기일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SZR_YMD', this.innerText, 'ymd', '');">압류일자</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('SZR_THING', this.innerText, 'match', 'part');">압류물건</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RPM_SZR_VHRNO', this.innerText, 'match', 'part');">대체압류차량</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SZR_RMV_YMD', this.innerText, 'ymd', '');">압류해제일자</th>
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('CRDN_YMD', this.innerText, 'ymd', '');">단속일시</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RTPYR_SE_CD', this.innerText, 'codeValue', 'FIM011');">납부자구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RTPYR_NO', this.innerText, 'ymd', '');">납부자번호</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RTPYR_NM', this.innerText, 'match', 'part');">납부자명</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('CRDN_STDG_NM', this.innerText, 'match', 'part');">단속법정동</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('CRDN_PLC', this.innerText, 'match', 'part');">단속장소</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STTS_CD', this.innerText, 'codeValue', 'FIM010');">처리상태</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{RCVMT_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{RCVMT_ID}" onchange="pageObject['${pageName}'].control.select('{RCVMT_ID}', this.checked);"></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center text-red" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_RTRCN_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_INPT_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{FYR}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ACNTG_SE_CD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TXITM_CD}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TXITM_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{INSPY_SN}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{LAST_PCPTAX}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{LAST_ADAMT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_SN}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ACNTG_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TSF_YMD}</td>
<td class="cmn text-end fw-bold text-blue" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_AMT}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_PCPTAX}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_ADAMT}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_INT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_BANK_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{PAY_MTHD_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_STTS_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{FRST_DUDT_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{DUDT_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SZR_YMD}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{SZR_THING}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RPM_SZR_VHRNO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SZR_RMV_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_YMD_TM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VHRNO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STDG_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_PLC}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STTS_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="45" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="45" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="45" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="45" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="45" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div>
</div> </div>
<!-- / DataTables(그리드) --> </div> <!-- DataTables(그리드) -->
</div> <!-- <div class="wrapper-list"> --> </div> <!-- <div class="card wrapper-list"> -->
</div> <!-- <div class="card"> --> <!-- Page Body -->
</div> <!-- <div class="container-xxl flex-grow-1 px-0"> --> </div> <!-- <div class="container-xxl flex-grow-1 px-0"> -->
<!-- / Content --> <!-- Content -->
<div class="content-backdrop fade"></div> <div class="content-backdrop fade"></div>
</div> </div>

@ -9,287 +9,285 @@
<div class="container-xxl flex-grow-1 px-0"> <div class="container-xxl flex-grow-1 px-0">
<!-- Page Body --> <!-- Page Body -->
<div class="card"> <div class="card wrapper-list">
<div class="wrapper-list"> <!-- 상단 버튼 -->
<!-- 상단 버튼 --> <div class="container-page-btn">
<div class="container-page-btn"> <button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화"> 초기화
초기화 </button>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">
검색
</button> </button>
<span class="container-window-btn-right"> <button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색"> 엑셀
검색 </button>
</button> </span>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀"> </div> <!-- 상단 버튼 -->
엑셀
</button> <!-- 검색 조건 영역 -->
</span> <form id="frmSearch--${pageName}" name="frmSearch">
</div> <!-- 상단 버튼 --> <!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<!-- 검색 조건 영역 -->
<form id="frmSearch--${pageName}" name="frmSearch"> <!-- 메인 조건 -->
<!-- hidden --> <div class="container-search">
<input type="hidden" id="sggCd--${pageName}" name="sggCd" /> <div class="row g-1">
<!-- 업무 구분 -->
<!-- 메인 조건 --> <div class="col-12">
<div class="container-search"> <span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span>
<div class="row g-1"> <span class="form-search-linebox">
<!-- 업무 구분 --> <c:forEach items="${taskListForSgg}" var="item">
<div class="col-12"> <label>
<span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span> <input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분"
<span class="form-search-linebox"> value="${item.code}" onchange="pageObject['${pageName}'].fnResetAndChangeBiz(this.value);">
<c:forEach items="${taskListForSgg}" var="item"> ${item.value}
<label> </label>
<input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분" </c:forEach>
value="${item.code}" onchange="pageObject['${pageName}'].fnResetAndChangeBiz(this.value);"> </span>
${item.value} </div>
</label> <!-- 계고 일자 -->
</c:forEach> <div class="col-6">
</span> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schLevyExclYmdFrom--${pageName}">계고일자</label>
</div> <span class="form-search-linebox">
<!-- 계고 일자 --> <input type="text" class="form-control form-date" id="schLevyExclYmdFrom--${pageName}" name="schLevyExclYmdFrom"
<div class="col-6"> data-fmt-type="day" title="시작 날짜 선택" />
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schLevyExclYmdFrom--${pageName}">계고일자</label> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
<span class="form-search-linebox"> ~
<input type="text" class="form-control form-date" id="schLevyExclYmdFrom--${pageName}" name="schLevyExclYmdFrom" <input type="text" class="form-control form-date" id="schLevyExclYmdTo--${pageName}" name="schLevyExclYmdTo"
data-fmt-type="day" title="시작 날짜 선택" /> data-fmt-type="day" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~ </span>
<input type="text" class="form-control form-date" id="schLevyExclYmdTo--${pageName}" name="schLevyExclYmdTo" </div>
data-fmt-type="day" title="종료 날짜 선택" /> <!-- 계고 사유 -->
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <div class="col-6">
</span> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schLevyExclRsnCd--${pageName}">계고사유</label>
</div> <select class="form-select w-px-200" id="schLevyExclRsnCd--${pageName}" name="schLevyExclRsnCd">
<!-- 계고 사유 --> <option value="">전체</option>
<div class="col-6"> <c:forEach items="${FIM022List}" var="item">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schLevyExclRsnCd--${pageName}">계고사유</label> <option value="${item.code}">${item.value}</option>
<select class="form-select w-px-200" id="schLevyExclRsnCd--${pageName}" name="schLevyExclRsnCd"> </c:forEach>
<option value="">전체</option> </select>
<c:forEach items="${FIM022List}" var="item"> </div>
<option value="${item.code}">${item.value}</option> <!-- 위반 항목 -->
</c:forEach> <div class="col-6">
</select> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schVltnCd--${pageName}">위반항목</label>
</div> <select class="form-select w-px-160" id="schVltnCd--${pageName}" name="schVltnCd">
<!-- 위반 항목 --> <option value="">전체</option>
<div class="col-6"> <c:forEach items="${FIM004List}" var="item">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schVltnCd--${pageName}">위반항목</label> <option value="${item.code}">${item.value}</option>
<select class="form-select w-px-160" id="schVltnCd--${pageName}" name="schVltnCd"> </c:forEach>
<option value="">전체</option> </select>
<c:forEach items="${FIM004List}" var="item"> </div>
<option value="${item.code}">${item.value}</option> <!-- 동적검색 -->
</c:forEach> <div class="col-6">
</select> <input type="hidden" id="by--${pageName}" name="by" />
</div> <input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<!-- 동적검색 --> <input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<div class="col-6"> <input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="hidden" id="by--${pageName}" name="by" /> <input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly /> <!-- 상세 검색조건 버튼 -->
<input type="hidden" id="mainOption--${pageName}" name="mainOption" /> <span class="flr">
<input type="hidden" id="subOption--${pageName}" name="subOption" /> <button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" /> <i class="bx bx-chevron-down"></i>
<!-- 상세 검색조건 버튼 --> 상세검색
<span class="flr"> </button>
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}"> </span>
<i class="bx bx-chevron-down"></i> </div>
상세검색 </div>
</button> </div> <!-- 메인 조건 -->
</span>
</div> <!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row g-1">
<!-- 단속일자 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schCrdnYmdFrom--${pageName}">단속일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schCrdnYmdFrom--${pageName}" name="schCrdnYmdFrom"
data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schCrdnYmdTo--${pageName}" name="schCrdnYmdTo"
data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 차량번호 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schVhrno--${pageName}">차량번호</label>
<input type="text" class="form-control w-px-160" id="schVhrno--${pageName}" name="schVhrno" autocomplete="off" />
</div> </div>
</div> <!-- 메인 조건 --> <!-- 납부자번호 -->
<div class="col-4">
<!-- 상세 조건 --> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNm--${pageName}">납부자번호</label>
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse"> <input type="text" class="form-control w-px-160" id="schRtpyrNm--${pageName}" name="schRtpyrNm" autocomplete="off" />
<div class="row g-1">
<!-- 단속일자 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schCrdnYmdFrom--${pageName}">단속일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schCrdnYmdFrom--${pageName}" name="schCrdnYmdFrom"
data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schCrdnYmdTo--${pageName}" name="schCrdnYmdTo"
data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 차량번호 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schVhrno--${pageName}">차량번호</label>
<input type="text" class="form-control w-px-160" id="schVhrno--${pageName}" name="schVhrno" autocomplete="off" />
</div>
<!-- 납부자번호 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNm--${pageName}">납부자번호</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNm--${pageName}" name="schRtpyrNm" autocomplete="off" />
</div>
<!-- 납부자명 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNo--${pageName}">납부자명</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNo--${pageName}" name="schRtpyrNo" autocomplete="off" />
</div>
<!-- 등록일자, 수정일자 -->
<div class="col-4">
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-4">
<select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</div>
</div> </div>
</div> <!-- 상세 조건 --> <!-- 납부자명 -->
</form> <div class="col-4">
<!-- 검색 조건 영역 --> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNo--${pageName}">납부자명</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNo--${pageName}" name="schRtpyrNo" autocomplete="off" />
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<!-- 건수, 페이지 표시 -->
<div class="d-flex flex-row justify-content-between">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span>
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
</div> </div>
<!-- 업무 버튼 --> <!-- 등록일자, 수정일자 -->
<span class="container-window-btn-right"> <div class="col-4">
<button type="button" class="btn btn-primary w-px-120" id="btnUpdateWrng--${pageName}" title="계고 수정"> <select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
계고 수정 <option value="regDt">등록일자</option>
</button> <option value="mdfcnDt">수정일자</option>
<button type="button" class="btn btn-primary w-px-120" id="btnCreateSlctnTrgtInfo--${pageName}" title="선택 발송대상 등록"> </select>
선택 대상 등록 <span class="form-search-linebox">
</button> <input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
<button type="button" class="btn btn-primary w-px-120" id="btnCreateWholTrgtInfo--${pageName}" title="선택 발송대상 등록"> data-fmt-type="day" title="시작 날짜 선택" />
전체 대상 등록 <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</button> ~
</span> <input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
</span> data-fmt-type="day" title="종료 날짜 선택">
</div> <!-- 업무 버튼 및 건수 표시 --> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Col--${pageName}">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('TASK_SE_CD', this.innerText, 'codeValue', 'FIM054');">업무구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('LEVY_EXCL_YMD', this.innerText, 'ymd', '');">계고일자</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('LEVY_EXCL_RSN_CD', this.innerText, 'codeValue', 'FIM022');">계고사유</th>
<th class="cmn" style="width: 240px;" onclick="searchFromGridTitle('ETC_CN', this.innerText, 'match', 'part');">기타내용</th>
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('CVLCPT_APLY_NO', this.innerText, 'match', 'part');">민원신청번호</th>
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('CVLCPT_RCPT_NO', this.innerText, 'match', 'part');">민원접수번호</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('CVLCPT_RCPT_YMD', this.innerText, 'ymd', '');">민원접수일자</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CVLCPT_PRCS_PIC_NM', this.innerText, 'match', 'part');">민원처리담당자</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('CVLCPT_PRCS_CD', this.innerText, 'codeValue', 'FIM017');">민원처리결과</th>
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('CRDN_YMD', this.innerText, 'ymd', '');">단속일시</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VLTN_ARTCL', this.innerText, 'match', 'part');">위반항목</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STDG_NM', this.innerText, 'match', 'part');">단속법정동</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('CRDN_PLC', this.innerText, 'match', 'part');">단속장소</th>
<th class="bpv" style="width: 280px;" onclick="searchFromGridTitle('DTL_CRDN_PLC', this.innerText, 'match', 'part');">상세단속장소</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('FFNLG_CRDN_AMT', this.innerText, 'match', 'part');">단속금액</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STTS_CD', this.innerText, 'codeValue', 'FIM010');">처리상태</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('RTPYR_NM', this.innerText, 'match', 'part');">납부자명</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RTPYR_BRDT', this.innerText, 'match', 'part');">납부자생일</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('ZIP', this.innerText, 'match', 'part');">우편번호</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('ADDR', this.innerText, 'match', 'part');">주소</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('DTL_ADDR', this.innerText, 'match', 'part');">상세주소</th>
<th class="pvs" style="width: 140px;" onclick="searchFromGridTitle('CRDN_SPAREA_CD', this.innerText, 'codeValue', 'FIM007');">단속특별구역</th>
<th class="eca" style="width: 140px;" onclick="searchFromGridTitle('USE_FUEL_CD', this.innerText, 'codeValue', 'LVS005');">사용연료</th>
<th class="dpv" style="width: 140px;" onclick="searchFromGridTitle('PARKNG_PSBLTY_RSLT_CD', this.innerText, 'codeValue', 'FIM034');">주차가능여부</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{CRDN_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{CRDN_ID}" onchange="pageObject['${pageName}'].control.select('{CRDN_ID}', this.checked);" /></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_EXCL_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_EXCL_RSN_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ETC_CN}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLCPT_APLY_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLCPT_RCPT_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLCPT_RCPT_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLCPT_PRCS_PIC_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLCPT_PRCS_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_YMD_TM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VHRNO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VLTN_ARTCL}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STDG_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_PLC}</td>
<td class="bpv text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DTL_CRDN_PLC}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{FFNLG_CRDN_AMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STTS_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_BRDT_MASK}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ZIP}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{ADDR}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DTL_ADDR}</td>
<td class="pvs text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_SPAREA_NM}</td>
<td class="eca text-center" onclick="{onclick}" ondblclick="{ondblclick}">{USE_FUEL_NM}</td>
<td class="dpv text-center" onclick="{onclick}" ondblclick="{ondblclick}">{PARKNG_PSBLTY_RSLT_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="29" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="29" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="29" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="29" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="29" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div> </div>
<!-- 등록자명, 수정자명 -->
<div class="col-4">
<select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</div>
</div>
</div> <!-- 상세 조건 -->
</form>
<!-- 검색 조건 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<!-- 건수, 페이지 표시 -->
<div class="d-flex flex-row justify-content-between">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span>
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
</div>
<!-- 업무 버튼 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-120" id="btnUpdateWrng--${pageName}" title="계고 수정">
계고 수정
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnCreateSlctnTrgtInfo--${pageName}" title="선택 발송대상 등록">
선택 대상 등록
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnCreateWholTrgtInfo--${pageName}" title="선택 발송대상 등록">
전체 대상 등록
</button>
</span>
</span>
</div> <!-- 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Col--${pageName}">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('TASK_SE_CD', this.innerText, 'codeValue', 'FIM054');">업무구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('LEVY_EXCL_YMD', this.innerText, 'ymd', '');">계고일자</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('LEVY_EXCL_RSN_CD', this.innerText, 'codeValue', 'FIM022');">계고사유</th>
<th class="cmn" style="width: 240px;" onclick="searchFromGridTitle('ETC_CN', this.innerText, 'match', 'part');">기타내용</th>
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('CVLCPT_APLY_NO', this.innerText, 'match', 'part');">민원신청번호</th>
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('CVLCPT_RCPT_NO', this.innerText, 'match', 'part');">민원접수번호</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('CVLCPT_RCPT_YMD', this.innerText, 'ymd', '');">민원접수일자</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CVLCPT_PRCS_PIC_NM', this.innerText, 'match', 'part');">민원처리담당자</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('CVLCPT_PRCS_CD', this.innerText, 'codeValue', 'FIM017');">민원처리결과</th>
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('CRDN_YMD', this.innerText, 'ymd', '');">단속일시</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VLTN_ARTCL', this.innerText, 'match', 'part');">위반항목</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STDG_NM', this.innerText, 'match', 'part');">단속법정동</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('CRDN_PLC', this.innerText, 'match', 'part');">단속장소</th>
<th class="bpv" style="width: 280px;" onclick="searchFromGridTitle('DTL_CRDN_PLC', this.innerText, 'match', 'part');">상세단속장소</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('FFNLG_CRDN_AMT', this.innerText, 'match', 'part');">단속금액</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STTS_CD', this.innerText, 'codeValue', 'FIM010');">처리상태</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('RTPYR_NM', this.innerText, 'match', 'part');">납부자명</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RTPYR_BRDT', this.innerText, 'match', 'part');">납부자생일</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('ZIP', this.innerText, 'match', 'part');">우편번호</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('ADDR', this.innerText, 'match', 'part');">주소</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('DTL_ADDR', this.innerText, 'match', 'part');">상세주소</th>
<th class="pvs" style="width: 140px;" onclick="searchFromGridTitle('CRDN_SPAREA_CD', this.innerText, 'codeValue', 'FIM007');">단속특별구역</th>
<th class="eca" style="width: 140px;" onclick="searchFromGridTitle('USE_FUEL_CD', this.innerText, 'codeValue', 'LVS005');">사용연료</th>
<th class="dpv" style="width: 140px;" onclick="searchFromGridTitle('PARKNG_PSBLTY_RSLT_CD', this.innerText, 'codeValue', 'FIM034');">주차가능여부</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{CRDN_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{CRDN_ID}" onchange="pageObject['${pageName}'].control.select('{CRDN_ID}', this.checked);" /></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_EXCL_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_EXCL_RSN_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ETC_CN}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLCPT_APLY_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLCPT_RCPT_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLCPT_RCPT_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLCPT_PRCS_PIC_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLCPT_PRCS_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_YMD_TM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VHRNO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VLTN_ARTCL}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STDG_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_PLC}</td>
<td class="bpv text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DTL_CRDN_PLC}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{FFNLG_CRDN_AMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STTS_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_BRDT_MASK}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ZIP}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{ADDR}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DTL_ADDR}</td>
<td class="pvs text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_SPAREA_NM}</td>
<td class="eca text-center" onclick="{onclick}" ondblclick="{ondblclick}">{USE_FUEL_NM}</td>
<td class="dpv text-center" onclick="{onclick}" ondblclick="{ondblclick}">{PARKNG_PSBLTY_RSLT_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="29" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="29" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="29" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="29" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="29" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div> </div>
</div> <!-- DataTables(그리드) --> </div>
</div> <!-- <div class="wrapper-list"> --> </div> <!-- DataTables(그리드) -->
</div> <!-- <div class="card"> --> </div> <!-- <div class="card wrapper-list"> -->
<!-- Page Body --> <!-- Page Body -->
</div> <!-- <div class="container-xxl flex-grow-1 px-0"> --> </div> <!-- <div class="container-xxl flex-grow-1 px-0"> -->
<!-- Content --> <!-- Content -->

@ -9,213 +9,211 @@
<div class="container-xxl flex-grow-1 px-0"> <div class="container-xxl flex-grow-1 px-0">
<!-- Page Body --> <!-- Page Body -->
<div class="card"> <div class="card wrapper-list">
<div class="wrapper-list"> <!-- 상단 버튼 -->
<!-- 상단 버튼 --> <div class="container-page-btn">
<div class="container-page-btn"> <button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화"> 초기화
초기화 </button>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">
검색
</button> </button>
<span class="container-window-btn-right"> <button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색"> 엑셀
검색 </button>
</button> </span>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀"> </div> <!-- 상단 버튼 -->
엑셀
</button> <!-- 검색 조건 영역 -->
</span> <form id="frmSearch--${pageName}" name="frmSearch">
</div> <!-- 상단 버튼 --> <!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<!-- 검색 조건 영역 -->
<form id="frmSearch--${pageName}" name="frmSearch"> <!-- 메인 조건 -->
<!-- hidden --> <div class="container-search">
<input type="hidden" id="sggCd--${pageName}" name="sggCd" /> <div class="row g-1">
<!-- 업무 구분 -->
<!-- 메인 조건 --> <div class="col-12">
<div class="container-search"> <span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span>
<div class="row g-1"> <span class="form-search-linebox">
<!-- 업무 구분 --> <c:forEach items="${taskListForSgg}" var="item">
<div class="col-12"> <label>
<span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span> <input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분"
<span class="form-search-linebox"> value="${item.code}" onchange="fnResetAndChangeBiz${pageName}(this.value);">
<c:forEach items="${taskListForSgg}" var="item"> ${item.value}
<label> </label>
<input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분" </c:forEach>
value="${item.code}" onchange="fnResetAndChangeBiz${pageName}(this.value);"> </span>
${item.value} </div>
</label> <!-- 발송 일자 -->
</c:forEach> <div class="col-6">
</span> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngYmdFrom--${pageName}">발송일자</label>
</div> <span class="form-search-linebox">
<!-- 발송 일자 --> <input type="text" class="form-control form-date" id="schSndngYmdFrom--${pageName}" name="schSndngYmdFrom"
<div class="col-6"> data-fmt-type="day" title="시작 날짜 선택" />
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngYmdFrom--${pageName}">발송일자</label> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
<span class="form-search-linebox"> ~
<input type="text" class="form-control form-date" id="schSndngYmdFrom--${pageName}" name="schSndngYmdFrom" <input type="text" class="form-control form-date" id="schSndngYmdTo--${pageName}" name="schSndngYmdTo"
data-fmt-type="day" title="시작 날짜 선택" /> data-fmt-type="day" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~ </span>
<input type="text" class="form-control form-date" id="schSndngYmdTo--${pageName}" name="schSndngYmdTo" </div>
data-fmt-type="day" title="종료 날짜 선택" /> <!-- 발송 등록 구분 코드 -->
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <div class="col-6">
</span> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngRegSeCd--${pageName}">등록구분</label>
</div> <select class="form-select w-px-80" id="schSndngRegSeCd--${pageName}" name="schSndngRegSeCd">
<!-- 발송 등록 구분 코드 --> <c:forEach items="${FIM067List}" var="item">
<div class="col-6"> <option value="${item.code}">${item.value}</option>
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngRegSeCd--${pageName}">등록구분</label> </c:forEach>
<select class="form-select w-px-80" id="schSndngRegSeCd--${pageName}" name="schSndngRegSeCd"> </select>
<c:forEach items="${FIM067List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- -->
<div class="col-6">
</div>
<!-- 동적 검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i>
상세검색
</button>
</span>
</div>
</div> </div>
</div> <!-- 메인 조건 --> <!-- -->
<div class="col-6">
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row g-1">
<!-- 등록일자, 수정일자 -->
<div class="col-6">
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-6">
<select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</div>
</div> </div>
</div> <!-- 상세 조건 --> <!-- 동적 검색 -->
</form> <div class="col-6">
<!-- 검색 조건 영역 --> <input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<!-- 업무 버튼 및 건수 표시 --> <input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<div> <input type="hidden" id="subOption--${pageName}" name="subOption" />
<span class="container-page-btn"> <input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 건수, 페이지 표시 --> <!-- 상세 검색조건 버튼 -->
<div class="d-flex flex-row justify-content-between"> <span class="flr">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span> <button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<ul class="pagination pagination-primary" id="paging--${pageName}"> <i class="bx bx-chevron-down"></i>
</ul> 상세검색
</button>
</span>
</div> </div>
<!-- 업무 버튼 --> </div>
<span class="container-window-btn-right"> </div> <!-- 메인 조건 -->
<button type="button" class="btn btn-primary w-px-120" id="btnRemove--${pageName}" title="계고장 발송 삭제">
발송 삭제 <!-- 상세 조건 -->
</button> <div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
</span> <div class="row g-1">
</span> <!-- 등록일자, 수정일자 -->
</div> <!-- 업무 버튼 및 건수 표시 --> <div class="col-6">
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<!-- DataTables(그리드) --> <option value="regDt">등록일자</option>
<div class="card-datatable text-nowrap"> <option value="mdfcnDt">수정일자</option>
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}"> </select>
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}"> <span class="form-search-linebox">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info"> <input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
<thead class="sticky-thead"> data-fmt-type="day" title="시작 날짜 선택" />
<tr id="theadTr--${pageName}" <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}"> ~
</tr> <input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
</thead> data-fmt-type="day" title="종료 날짜 선택">
<tbody id="tbody--${pageName}"> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</tbody> </span>
</div>
<template id="${infoPrefix}Col--${pageName}"> <!-- 등록자명, 수정자명 -->
<th class="cmn" style="width: 72px;">No.</th> <div class="col-6">
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th> <select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('TASK_SE_CD', this.innerText, 'codeValue', 'FIM054');">업무구분</th> <option value="rgtr">등록자</option>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_REG_SE_CD', this.innerText, 'codeValue', 'FIM067');">등록구분</th> <option value="mdfr">수정자</option>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VLTN_ARTCL', this.innerText, 'match', 'part');">위반항목</th> </select>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_YMD', this.innerText, 'ymd', '');">발송일자</th> <input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_END_YMD', this.innerText, 'ymd', '');">납기일자</th> <input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('TNOCS', this.innerText, 'match', 'part');">총건수</th> <button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('GRAMT', this.innerText, 'match', 'part');">총금액</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('DOC_NO', this.innerText, 'match', 'part');">문서번호</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('TTL_NM', this.innerText, 'match', 'part');">제목</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{SNDNG_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{SNDNG_ID}" onchange="pageObject['${pageName}'].control.select('{SNDNG_ID}', this.checked);" /></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_REG_SE_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VLTN_ARTCL}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_END_YMD}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{TNOCS}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{GRAMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DOC_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TTL_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div> </div>
</div> </div>
</div> <!-- DataTables(그리드) --> </div> <!-- 상세 조건 -->
</div> <!-- <div class="wrapper-list"> --> </form>
</div> <!-- <div class="card"> --> <!-- 검색 조건 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<!-- 건수, 페이지 표시 -->
<div class="d-flex flex-row justify-content-between">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span>
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
</div>
<!-- 업무 버튼 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-120" id="btnRemove--${pageName}" title="계고장 발송 삭제">
발송 삭제
</button>
</span>
</span>
</div> <!-- 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Col--${pageName}">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('TASK_SE_CD', this.innerText, 'codeValue', 'FIM054');">업무구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_REG_SE_CD', this.innerText, 'codeValue', 'FIM067');">등록구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VLTN_ARTCL', this.innerText, 'match', 'part');">위반항목</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_YMD', this.innerText, 'ymd', '');">발송일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_END_YMD', this.innerText, 'ymd', '');">납기일자</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('TNOCS', this.innerText, 'match', 'part');">총건수</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('GRAMT', this.innerText, 'match', 'part');">총금액</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('DOC_NO', this.innerText, 'match', 'part');">문서번호</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('TTL_NM', this.innerText, 'match', 'part');">제목</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{SNDNG_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{SNDNG_ID}" onchange="pageObject['${pageName}'].control.select('{SNDNG_ID}', this.checked);" /></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_REG_SE_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VLTN_ARTCL}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_END_YMD}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{TNOCS}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{GRAMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DOC_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TTL_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div>
</div>
</div> <!-- DataTables(그리드) -->
</div> <!-- <div class="card wrapper-list"> -->
<!-- Page Body --> <!-- Page Body -->
</div> <!-- <div class="container-xxl flex-grow-1 px-0"> --> </div> <!-- <div class="container-xxl flex-grow-1 px-0"> -->
<!-- Content --> <!-- Content -->

@ -9,213 +9,211 @@
<div class="container-xxl flex-grow-1 px-0"> <div class="container-xxl flex-grow-1 px-0">
<!-- Page Body --> <!-- Page Body -->
<div class="card"> <div class="card wrapper-list">
<div class="wrapper-list"> <!-- 상단 버튼 -->
<!-- 상단 버튼 --> <div class="container-page-btn">
<div class="container-page-btn"> <button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화"> 초기화
초기화 </button>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">
검색
</button> </button>
<span class="container-window-btn-right"> <button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색"> 엑셀
검색 </button>
</button> </span>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀"> </div> <!-- 상단 버튼 -->
엑셀
</button> <!-- 검색 조건 영역 -->
</span> <form id="frmSearch--${pageName}" name="frmSearch">
</div> <!-- 상단 버튼 --> <!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<!-- 검색 조건 영역 -->
<form id="frmSearch--${pageName}" name="frmSearch"> <!-- 메인 조건 -->
<!-- hidden --> <div class="container-search">
<input type="hidden" id="sggCd--${pageName}" name="sggCd" /> <div class="row g-1">
<!-- 업무구분 -->
<!-- 메인 조건 --> <div class="col-12">
<div class="container-search"> <span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span>
<div class="row g-1"> <span class="form-search-linebox">
<!-- 업무구분 --> <c:forEach items="${taskListForSgg}" var="item">
<div class="col-12"> <label>
<span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span> <input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분"
<span class="form-search-linebox"> value="${item.code}" onchange="fnResetAndChangeBiz${pageName}(this.value);">
<c:forEach items="${taskListForSgg}" var="item"> ${item.value}
<label> </label>
<input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분" </c:forEach>
value="${item.code}" onchange="fnResetAndChangeBiz${pageName}(this.value);"> </span>
${item.value} </div>
</label> <!-- 발송일자 -->
</c:forEach> <div class="col-6">
</span> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngYmdFrom--${pageName}">발송일자</label>
</div> <span class="form-search-linebox">
<!-- 발송일자 --> <input type="text" class="form-control form-date" id="schSndngYmdFrom--${pageName}" name="schSndngYmdFrom"
<div class="col-6"> data-fmt-type="day" title="시작 날짜 선택" />
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngYmdFrom--${pageName}">발송일자</label> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
<span class="form-search-linebox"> ~
<input type="text" class="form-control form-date" id="schSndngYmdFrom--${pageName}" name="schSndngYmdFrom" <input type="text" class="form-control form-date" id="schSndngYmdTo--${pageName}" name="schSndngYmdTo"
data-fmt-type="day" title="시작 날짜 선택" /> data-fmt-type="day" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~ </span>
<input type="text" class="form-control form-date" id="schSndngYmdTo--${pageName}" name="schSndngYmdTo" </div>
data-fmt-type="day" title="종료 날짜 선택" /> <!-- 발송 등록 구분 코드 -->
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <div class="col-6">
</span> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngRegSeCd--${pageName}">등록구분</label>
</div> <select class="form-select w-px-80" id="schSndngRegSeCd--${pageName}" name="schSndngRegSeCd">
<!-- 발송 등록 구분 코드 --> <c:forEach items="${FIM067List}" var="item">
<div class="col-6"> <option value="${item.code}">${item.value}</option>
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngRegSeCd--${pageName}">등록구분</label> </c:forEach>
<select class="form-select w-px-80" id="schSndngRegSeCd--${pageName}" name="schSndngRegSeCd"> </select>
<c:forEach items="${FIM067List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- -->
<div class="col-6">
</div>
<!-- 동적검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i>
상세검색
</button>
</span>
</div>
</div> </div>
</div> <!-- 메인 조건 --> <!-- -->
<div class="col-6">
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row g-1">
<!-- 등록일자, 수정일자 -->
<div class="col-6">
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-6">
<select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</div>
</div> </div>
</div> <!-- 상세 조건 --> <!-- 동적검색 -->
</form> <div class="col-6">
<!-- 검색 조건 영역 --> <input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<!-- 업무 버튼 및 건수 표시 --> <input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<div> <input type="hidden" id="subOption--${pageName}" name="subOption" />
<span class="container-page-btn"> <input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 건수, 페이지 표시 --> <!-- 상세 검색조건 버튼 -->
<div class="d-flex flex-row justify-content-between"> <span class="flr">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span> <button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<ul class="pagination pagination-primary" id="paging--${pageName}"> <i class="bx bx-chevron-down"></i>
</ul> 상세검색
</button>
</span>
</div> </div>
<!-- 업무 버튼 --> </div>
<span class="container-window-btn-right"> </div> <!-- 메인 조건 -->
<button type="button" class="btn btn-primary w-px-120" id="btnRemove--${pageName}" title="사전통지 발송 삭제">
발송 삭제 <!-- 상세 조건 -->
</button> <div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
</span> <div class="row g-1">
</span> <!-- 등록일자, 수정일자 -->
</div> <!-- 업무 버튼 및 건수 표시 --> <div class="col-6">
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<!-- DataTables(그리드) --> <option value="regDt">등록일자</option>
<div class="card-datatable text-nowrap"> <option value="mdfcnDt">수정일자</option>
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}"> </select>
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}"> <span class="form-search-linebox">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info"> <input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
<thead class="sticky-thead"> data-fmt-type="day" title="시작 날짜 선택" />
<tr id="theadTr--${pageName}" <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}"> ~
</tr> <input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
</thead> data-fmt-type="day" title="종료 날짜 선택">
<tbody id="tbody--${pageName}"> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</tbody> </span>
</div>
<template id="${infoPrefix}Col--${pageName}"> <!-- 등록자명, 수정자명 -->
<th class="cmn" style="width: 72px;">No.</th> <div class="col-6">
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th> <select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('TASK_SE_CD', this.innerText, 'codeValue', 'FIM054');">업무구분</th> <option value="rgtr">등록자</option>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('SNDNG_REG_SE_CD', this.innerText, 'codeValue', 'FIM067');">등록구분</th> <option value="mdfr">수정자</option>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VLTN_ARTCL', this.innerText, 'match', 'part');">위반항목</th> </select>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_YMD', this.innerText, 'ymd', '');">발송일자</th> <input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_END_YMD', this.innerText, 'ymd', '');">납기일자</th> <input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('TNOCS', this.innerText, 'match', 'part');">총건수</th> <button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('GRAMT', this.innerText, 'match', 'part');">총금액</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('DOC_NO', this.innerText, 'match', 'part');">문서번호</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('TTL_NM', this.innerText, 'match', 'part');">제목</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{SNDNG_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{SNDNG_ID}" onchange="pageObject['${pageName}'].control.select('{SNDNG_ID}', this.checked);" /></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_REG_SE_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VLTN_ARTCL}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_END_YMD}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{TNOCS}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{GRAMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DOC_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TTL_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div> </div>
</div> </div>
</div> <!-- DataTables(그리드) --> </div> <!-- 상세 조건 -->
</div> <!-- <div class="wrapper-list"> --> </form>
</div> <!-- <div class="card"> --> <!-- 검색 조건 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<!-- 건수, 페이지 표시 -->
<div class="d-flex flex-row justify-content-between">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span>
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
</div>
<!-- 업무 버튼 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-120" id="btnRemove--${pageName}" title="사전통지 발송 삭제">
발송 삭제
</button>
</span>
</span>
</div> <!-- 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Col--${pageName}">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('TASK_SE_CD', this.innerText, 'codeValue', 'FIM054');">업무구분</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('SNDNG_REG_SE_CD', this.innerText, 'codeValue', 'FIM067');">등록구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VLTN_ARTCL', this.innerText, 'match', 'part');">위반항목</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_YMD', this.innerText, 'ymd', '');">발송일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_END_YMD', this.innerText, 'ymd', '');">납기일자</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('TNOCS', this.innerText, 'match', 'part');">총건수</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('GRAMT', this.innerText, 'match', 'part');">총금액</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('DOC_NO', this.innerText, 'match', 'part');">문서번호</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('TTL_NM', this.innerText, 'match', 'part');">제목</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{SNDNG_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{SNDNG_ID}" onchange="pageObject['${pageName}'].control.select('{SNDNG_ID}', this.checked);" /></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_REG_SE_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VLTN_ARTCL}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_END_YMD}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{TNOCS}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{GRAMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DOC_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TTL_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div>
</div>
</div> <!-- DataTables(그리드) -->
</div> <!-- <div class="card wrapper-list"> -->
<!-- Page Body --> <!-- Page Body -->
</div> <!-- <div class="container-xxl flex-grow-1 px-0"> --> </div> <!-- <div class="container-xxl flex-grow-1 px-0"> -->
<!-- Content --> <!-- Content -->

@ -7,212 +7,208 @@
<div class="content-wrapper"> <div class="content-wrapper">
<!-- Content --> <!-- Content -->
<div class="container-xxl flex-grow-1 px-0"> <div class="container-xxl flex-grow-1 px-0">
<!-- Page Body --> <!-- Page Body -->
<div class="card"> <div class="card wrapper-list">
<div class="wrapper-list"> <!-- 상단 버튼 -->
<!-- 상단 버튼 --> <div class="container-page-btn">
<div class="container-page-btn"> <button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화"> 초기화
초기화 </button>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">
검색
</button> </button>
<span class="container-window-btn-right"> <button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색"> 엑셀
검색 </button>
</button> </span>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀"> </div> <!-- 상단 버튼 -->
엑셀
</button> <!-- 검색 조건 영역 -->
</span> <form id="frmSearch--${pageName}" name="frmSearch">
</div> <!-- hidden -->
<!-- / 상단 버튼 --> <input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<!-- 검색 조건 영역 --> <!-- 메인 조건 -->
<form id="frmSearch--${pageName}" name="frmSearch"> <div class="container-search">
<!-- hidden --> <div class="row g-1">
<input type="hidden" id="sggCd--${pageName}" name="sggCd" data-map="SGG_CD" /> <!-- 업무 구분 -->
<div class="col-12">
<!-- 메인 조건 --> <span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span>
<div class="container-search"> <span class="form-search-linebox">
<div class="row g-1"> <c:forEach items="${taskListForSgg}" var="item">
<!-- 업무구분 --> <label>
<div class="col-12"> <input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분"
<span class="form-label fw-bold form-search-title">업무구분</span> value="${item.code}" onchange="fnResetAndChangeBiz${pageName}(this.value);">
<span class="form-search-linebox"> ${item.value}
<c:forEach items="${taskListForSgg}" var="item"> </label>
<label> </c:forEach>
<input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분" </span>
value="${item.code}" onchange="fnResetAndChangeBiz${pageName}(this.value);"> </div>
${item.value} <!-- 발송 일자 -->
</label> <div class="col-6">
</c:forEach> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngYmdFrom--${pageName}">발송일자</label>
</span> <span class="form-search-linebox">
</div> <input type="text" class="form-control form-date" id="schSndngYmdFrom--${pageName}" name="schSndngYmdFrom"
<!-- 발송일자 --> data-fmt-type="day" title="시작 날짜 선택" />
<div class="col-6"> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
<span class="form-label fw-bold form-search-title">발송일자</span> ~
<span class="form-search-linebox"> <input type="text" class="form-control form-date" id="schSndngYmdTo--${pageName}" name="schSndngYmdTo"
<input type="text" class="form-control form-date" id="schSndngYmdFrom--${pageName}" name="schSndngYmdFrom" data-fmt-type="day" title="종료 날짜 선택" />
data-fmt-type="day" title="시작 날짜 선택" /> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> </span>
~
<input type="text" class="form-control form-date" id="schSndngYmdTo--${pageName}" name="schSndngYmdTo"
data-fmt-type="day" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 동적검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-300" id="term--${pageName}" name="term" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i>
상세검색
</button>
</span>
</div>
</div> </div>
</div> <!-- / 메인 조건 --> <!-- 동적 검색 -->
<div class="col-6">
<!-- 상세 조건 --> <input type="hidden" id="by--${pageName}" name="by" />
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse"> <input type="text" class="form-control" id="byOutput--${pageName}" value="동적 검색" readonly />
<div class="row g-1"> <input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<!-- 등록일자, 수정일자 --> <input type="hidden" id="subOption--${pageName}" name="subOption" />
<div class="col-6"> <input type="text" class="form-control w-px-300" id="term--${pageName}" name="term" />
<select class="form-select text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt"> <!-- 상세 검색조건 버튼 -->
<option value="regDt">등록일자</option> <span class="flr">
<option value="mdfcnDt">수정일자</option> <button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
</select> <i class="bx bx-chevron-down"></i>
<span class="form-search-linebox"> 상세검색
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-6">
<select class="form-select text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">
검색
</button> </button>
</div> </span>
</div> </div>
</div> <!-- / 상세 조건 --> </div>
</form> </div> <!-- 메인 조건 -->
<!-- / 검색 조건 영역 -->
<!-- 상세 조건 -->
<!-- 업무 버튼 및 건수 표시 --> <div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div> <div class="row g-1">
<span class="container-page-btn"> <!-- 등록일자, 수정일자 -->
<!-- 건수, 페이지 표시 --> <div class="col-6">
<div class="d-flex flex-row justify-content-between"> <select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span> <option value="regDt">등록일자</option>
<ul class="pagination pagination-primary" id="paging--${pageName}"> <option value="mdfcnDt">수정일자</option>
</ul> </select>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div> </div>
<span class="container-window-btn-right"> <!-- 등록자명, 수정자명 -->
<!-- 업무 버튼 --> <div class="col-6">
<button type="button" class="btn btn-primary w-px-120" id="btnCreateNhtSndng--${pageName}" title="고지서 발송 등록"> <select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
발송 등록 <option value="rgtr">등록자</option>
</button> <option value="mdfr">수정자</option>
<button type="button" class="btn btn-primary w-px-120" id="btnRemoveNhtSndng--${pageName}" title="고지서 발송 삭제"> </select>
발송 삭제 <input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
</button> <input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
</span> <button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</span>
</div>
<!-- / 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Col--${pageName}">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('TASK_SE_CD', this.innerText, 'codeValue', 'FIM054');">업무구분</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('SNDNG_REG_SE_CD', this.innerText, 'codeValue', 'FIM067');">등록구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VLTN_ARTCL', this.innerText, 'match', 'part');">위반항목</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_YMD', this.innerText, 'ymd', '');">발송일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_END_YMD', this.innerText, 'ymd', '');">납기일자</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('TNOCS', this.innerText, 'match', 'part');">총건수</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('GRAMT', this.innerText, 'match', 'part');">총금액</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('DOC_NO', this.innerText, 'match', 'part');">문서번호</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('TTL_NM', this.innerText, 'match', 'part');">제목</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{SNDNG_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{SNDNG_ID}" onchange="pageObject['${pageName}'].control.select('{SNDNG_ID}', this.checked);" /></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_REG_SE_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VLTN_ARTCL}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_END_YMD}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{TNOCS}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{GRAMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DOC_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TTL_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div> </div>
</div> </div>
</div> <!-- 상세 조건 -->
</form>
<!-- 검색 조건 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<!-- 건수, 페이지 표시 -->
<div class="d-flex flex-row justify-content-between">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span>
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
</div>
<!-- 업무 버튼 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-120" id="btnCreateNhtSndng--${pageName}" title="고지서 발송 등록">
발송 등록
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnRemoveNhtSndng--${pageName}" title="고지서 발송 삭제">
발송 삭제
</button>
</span>
</span>
</div>
<!-- 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Col--${pageName}">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('TASK_SE_CD', this.innerText, 'codeValue', 'FIM054');">업무구분</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('SNDNG_REG_SE_CD', this.innerText, 'codeValue', 'FIM067');">등록구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VLTN_ARTCL', this.innerText, 'match', 'part');">위반항목</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_YMD', this.innerText, 'ymd', '');">발송일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_END_YMD', this.innerText, 'ymd', '');">납기일자</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('TNOCS', this.innerText, 'match', 'part');">총건수</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('GRAMT', this.innerText, 'match', 'part');">총금액</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('DOC_NO', this.innerText, 'match', 'part');">문서번호</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('TTL_NM', this.innerText, 'match', 'part');">제목</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{SNDNG_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{SNDNG_ID}" onchange="pageObject['${pageName}'].control.select('{SNDNG_ID}', this.checked);" /></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_REG_SE_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VLTN_ARTCL}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_END_YMD}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{TNOCS}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{GRAMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DOC_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TTL_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div>
</div> </div>
<!-- / DataTables(그리드) --> </div> <!-- DataTables(그리드) -->
</div> <!-- <div class="wrapper-list"> --> </div> <!-- <div class="card wrapper-list"> -->
</div> <!-- <div class="card"> --> <!-- Page Body -->
</div> <!-- <div class="container-xxl flex-grow-1 px-0"> --> </div> <!-- <div class="container-xxl flex-grow-1 px-0"> -->
<!-- / Content --> <!-- Content -->
<div class="content-backdrop fade"></div> <div class="content-backdrop fade"></div>
</div> </div>

@ -9,226 +9,224 @@
<div class="container-xxl flex-grow-1 px-0"> <div class="container-xxl flex-grow-1 px-0">
<!-- Page Body --> <!-- Page Body -->
<div class="card"> <div class="card wrapper-list">
<div class="wrapper-list"> <!-- 상단 버튼 -->
<!-- 상단 버튼 --> <div class="container-page-btn">
<div class="container-page-btn"> <button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화"> 초기화
초기화 </button>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">
검색
</button> </button>
<span class="container-window-btn-right"> <button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색"> 엑셀
검색 </button>
</button> </span>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀"> </div> <!-- 상단 버튼 -->
엑셀
</button> <!-- 검색 조건 영역 -->
</span> <form id="frmSearch--${pageName}" name="frmSearch">
</div> <!-- 상단 버튼 --> <!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<!-- 검색 조건 영역 -->
<form id="frmSearch--${pageName}" name="frmSearch"> <!-- 메인 조건 -->
<!-- hidden --> <div class="container-search">
<input type="hidden" id="sggCd--${pageName}" name="sggCd" /> <div class="row g-1">
<!-- 업무 구분 -->
<!-- 메인 조건 --> <div class="col-12">
<div class="container-search"> <span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span>
<div class="row g-1"> <span class="form-search-linebox">
<!-- 업무구분 --> <c:forEach items="${taskListForSgg}" var="item">
<div class="col-12"> <label>
<span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span> <input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분"
<span class="form-search-linebox"> value="${item.code}" onchange="fnResetAndChangeBiz${pageName}(this.value);">
<c:forEach items="${taskListForSgg}" var="item"> ${item.value}
<label> </label>
<input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분" </c:forEach>
value="${item.code}" onchange="fnResetAndChangeBiz${pageName}(this.value);"> </span>
${item.value}
</label>
</c:forEach>
</span>
</div>
<!-- 발송일자 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngYmdFrom--${pageName}">발송일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schSndngYmdFrom--${pageName}" name="schSndngYmdFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schSndngYmdTo--${pageName}" name="schSndngYmdTo"
data-fmt-type="day" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 발송 등록 구분 코드 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngRegSeCd--${pageName}">등록구분</label>
<select class="form-select w-px-80" id="schSndngRegSeCd--${pageName}" name="schSndngRegSeCd">
<option value="">전체</option>
<c:forEach items="${FIM067List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- 발송 구분 코드 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngSeCd--${pageName}">발송구분</label>
<select class="form-select w-px-160" id="schSndngSeCd--${pageName}" name="schSndngSeCd">
<option value="">전체</option>
<c:forEach items="${FIM047List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- 동적검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i>
상세검색
</button>
</span>
</div>
</div> </div>
</div> <!-- 메인 조건 --> <!-- 발송일자 -->
<div class="col-6">
<!-- 상세 조건 --> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngYmdFrom--${pageName}">발송일자</label>
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse"> <span class="form-search-linebox">
<div class="row g-1"> <input type="text" class="form-control form-date" id="schSndngYmdFrom--${pageName}" name="schSndngYmdFrom"
<!-- 등록일자, 수정일자 --> data-fmt-type="day" title="시작 날짜 선택" />
<div class="col-6"> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt"> ~
<option value="regDt">등록일자</option> <input type="text" class="form-control form-date" id="schSndngYmdTo--${pageName}" name="schSndngYmdTo"
<option value="mdfcnDt">수정일자</option> data-fmt-type="day" title="종료 날짜 선택" />
</select> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
<span class="form-search-linebox"> </span>
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-6">
<select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</div>
</div> </div>
</div> <!-- 상세 조건 --> <!-- 발송 등록 구분 코드 -->
</form> <div class="col-6">
<!-- 검색 조건 영역 --> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngRegSeCd--${pageName}">등록구분</label>
<select class="form-select w-px-80" id="schSndngRegSeCd--${pageName}" name="schSndngRegSeCd">
<!-- 업무 버튼 및 건수 표시 --> <option value="">전체</option>
<div> <c:forEach items="${FIM067List}" var="item">
<span class="container-page-btn"> <option value="${item.code}">${item.value}</option>
<!-- 건수, 페이지 표시 --> </c:forEach>
<div class="d-flex flex-row justify-content-between"> </select>
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span>
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
</div> </div>
<!-- 업무 버튼 --> <!-- 발송 구분 코드 -->
<span class="container-window-btn-right"> <div class="col-6">
<button type="button" class="btn btn-primary w-px-120" id="btnCreate--${pageName}" title="고지서 발송 등록"> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngSeCd--${pageName}">발송구분</label>
발송 등록 <select class="form-select w-px-160" id="schSndngSeCd--${pageName}" name="schSndngSeCd">
</button> <option value="">전체</option>
<button type="button" class="btn btn-primary w-px-120" id="btnRemove--${pageName}" title="고지서 발송 삭제"> <c:forEach items="${FIM047List}" var="item">
발송 삭제 <option value="${item.code}">${item.value}</option>
</button> </c:forEach>
</span> </select>
</span> </div>
</div> <!-- 업무 버튼 및 건수 표시 --> <!-- 동적검색 -->
<div class="col-6">
<!-- DataTables(그리드) --> <input type="hidden" id="by--${pageName}" name="by" />
<div class="card-datatable text-nowrap"> <input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}"> <input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}"> <input type="hidden" id="subOption--${pageName}" name="subOption" />
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info"> <input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<thead class="sticky-thead"> <!-- 상세 검색조건 버튼 -->
<tr id="theadTr--${pageName}" <span class="flr">
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}"> <button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
</tr> <i class="bx bx-chevron-down"></i>
</thead> 상세검색
<tbody id="tbody--${pageName}"> </button>
</tbody> </span>
</div>
<template id="${infoPrefix}Col--${pageName}"> </div>
<th class="cmn" style="width: 72px;">No.</th> </div> <!-- 메인 조건 -->
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('TASK_SE_CD', this.innerText, 'codeValue', 'FIM054');">업무구분</th> <!-- 상세 조건 -->
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('SNDNG_REG_SE_CD', this.innerText, 'codeValue', 'FIM067');">등록구분</th> <div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('SNDNG_SE_CD', this.innerText, 'codeValue', 'FIM067');">발송구분</th> <div class="row g-1">
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VLTN_ARTCL', this.innerText, 'match', 'part');">위반항목</th> <!-- 등록일자, 수정일자 -->
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_YMD', this.innerText, 'ymd', '');">발송일자</th> <div class="col-6">
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_END_YMD', this.innerText, 'ymd', '');">납기일자</th> <select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('TNOCS', this.innerText, 'match', 'part');">총건수</th> <option value="regDt">등록일자</option>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('GRAMT', this.innerText, 'match', 'part');">총금액</th> <option value="mdfcnDt">수정일자</option>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('DOC_NO', this.innerText, 'match', 'part');">문서번호</th> </select>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('TTL_NM', this.innerText, 'match', 'part');">제목</th> <span class="form-search-linebox">
<th class="cmn" style="width: 180px;">등록일시</th> <input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
<th class="cmn" style="width: 140px;">등록사용자</th> data-fmt-type="day" title="시작 날짜 선택" />
<th class="cmn" style="width: 180px;">수정일시</th> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
<th class="cmn" style="width: 140px;">수정사용자</th> ~
<th class="cmn dummy-th"></th> <input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
</template> data-fmt-type="day" title="종료 날짜 선택">
<template id="${infoPrefix}Row--${pageName}"> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
<tr data-key="{SNDNG_ID}"> </span>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{SNDNG_ID}" onchange="pageObject['${pageName}'].control.select('{SNDNG_ID}', this.checked);" /></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_REG_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_SE_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VLTN_ARTCL}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_END_YMD}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{TNOCS}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{GRAMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DOC_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TTL_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="17" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="17" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="17" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="17" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="17" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div> </div>
<!-- 등록자명, 수정자명 -->
<div class="col-6">
<select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</div>
</div>
</div> <!-- 상세 조건 -->
</form>
<!-- 검색 조건 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<!-- 건수, 페이지 표시 -->
<div class="d-flex flex-row justify-content-between">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span>
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
</div>
<!-- 업무 버튼 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-120" id="btnCreate--${pageName}" title="고지서 발송 등록">
발송 등록
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnRemove--${pageName}" title="고지서 발송 삭제">
발송 삭제
</button>
</span>
</span>
</div> <!-- 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Col--${pageName}">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('TASK_SE_CD', this.innerText, 'codeValue', 'FIM054');">업무구분</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('SNDNG_REG_SE_CD', this.innerText, 'codeValue', 'FIM067');">등록구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('SNDNG_SE_CD', this.innerText, 'codeValue', 'FIM067');">발송구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VLTN_ARTCL', this.innerText, 'match', 'part');">위반항목</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_YMD', this.innerText, 'ymd', '');">발송일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_END_YMD', this.innerText, 'ymd', '');">납기일자</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('TNOCS', this.innerText, 'match', 'part');">총건수</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('GRAMT', this.innerText, 'match', 'part');">총금액</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('DOC_NO', this.innerText, 'match', 'part');">문서번호</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('TTL_NM', this.innerText, 'match', 'part');">제목</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{SNDNG_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{SNDNG_ID}" onchange="pageObject['${pageName}'].control.select('{SNDNG_ID}', this.checked);" /></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_REG_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_SE_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VLTN_ARTCL}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_END_YMD}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{TNOCS}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{GRAMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DOC_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TTL_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="17" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="17" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="17" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="17" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="17" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div> </div>
</div> <!-- DataTables(그리드) --> </div>
</div> <!-- <div class="wrapper-list"> --> </div> <!-- DataTables(그리드) -->
</div> <!-- <div class="card"> --> </div> <!-- <div class="card wrapper-list"> -->
<!-- Page Body --> <!-- Page Body -->
</div> <!-- <div class="container-xxl flex-grow-1 px-0"> --> </div> <!-- <div class="container-xxl flex-grow-1 px-0"> -->
<!-- Content --> <!-- Content -->

@ -161,8 +161,6 @@
$P.callPurpose = "${callPurpose}"; $P.callPurpose = "${callPurpose}";
// FormFields // FormFields
$P.formFields = new FimsFormFields("#frmEdit--${pageName}"); $P.formFields = new FimsFormFields("#frmEdit--${pageName}");
// main 의 검색 조건을 그대로 유지
$P.mainQuery = ${mainQuery};
/************************************************************************** /**************************************************************************
* DatasetControl * DatasetControl

@ -9,309 +9,307 @@
<div class="container-xxl flex-grow-1 px-0"> <div class="container-xxl flex-grow-1 px-0">
<!-- Page Body --> <!-- Page Body -->
<div class="card"> <div class="card wrapper-list">
<div class="wrapper-list"> <!-- 상단 버튼 -->
<!-- 상단 버튼 --> <div class="container-page-btn">
<div class="container-page-btn"> <button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화"> 초기화
초기화 </button>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">
검색
</button> </button>
<span class="container-window-btn-right"> <button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색"> 엑셀
검색 </button>
</button> </span>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀"> </div> <!-- 상단 버튼 -->
엑셀
</button> <!-- 검색 조건 영역 -->
</span> <form id="frmSearch--${pageName}" name="frmSearch">
</div> <!-- 상단 버튼 --> <!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<!-- 검색 조건 영역 -->
<form id="frmSearch--${pageName}" name="frmSearch"> <!-- 메인 조건 -->
<!-- hidden --> <div class="container-search">
<input type="hidden" id="sggCd--${pageName}" name="sggCd" /> <div class="row g-1">
<!-- 업무 구분 -->
<!-- 메인 조건 --> <div class="col-12">
<div class="container-search"> <span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span>
<div class="row g-1"> <span class="form-search-linebox">
<!-- 업무 구분 --> <c:forEach items="${taskListForSgg}" var="item">
<div class="col-12"> <label>
<span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span> <input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분"
<span class="form-search-linebox"> value="${item.code}" onchange="pageObject['${pageName}'].fnResetAndChangeBiz(this.value);">
<c:forEach items="${taskListForSgg}" var="item"> ${item.value}
<label> </label>
<input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분" </c:forEach>
value="${item.code}" onchange="pageObject['${pageName}'].fnResetAndChangeBiz(this.value);"> </span>
${item.value} </div>
</label> <!-- 배달 일자 -->
</c:forEach> <div class="col-6">
</span> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schDlvrYmdFrom--${pageName}">배달일자</label>
</div> <span class="form-search-linebox">
<!-- 배달 일자 --> <input type="text" class="form-control form-date" id="schDlvrYmdFrom--${pageName}" name="schDlvrYmdFrom"
<div class="col-6"> data-fmt-type="day" title="시작 날짜 선택" />
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schDlvrYmdFrom--${pageName}">배달일자</label> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
<span class="form-search-linebox"> ~
<input type="text" class="form-control form-date" id="schDlvrYmdFrom--${pageName}" name="schDlvrYmdFrom" <input type="text" class="form-control form-date" id="schDlvrYmdTo--${pageName}" name="schDlvrYmdTo"
data-fmt-type="day" title="시작 날짜 선택" /> data-fmt-type="day" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~ </span>
<input type="text" class="form-control form-date" id="schDlvrYmdTo--${pageName}" name="schDlvrYmdTo" </div>
data-fmt-type="day" title="종료 날짜 선택" /> <!-- 미배달 사유 코드 -->
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <div class="col-6">
</span> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schUndlvrRsnCd--${pageName}">미배달사유</label>
</div> <select class="form-select w-px-160" id="schUndlvrRsnCd--${pageName}" name="schUndlvrRsnCd">
<!-- 미배달 사유 코드 --> <option value="">전체</option>
<div class="col-6"> <c:forEach items="${FIM081List}" var="item">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schUndlvrRsnCd--${pageName}">미배달사유</label> <option value="${item.code}">${item.value}</option>
<select class="form-select w-px-160" id="schUndlvrRsnCd--${pageName}" name="schUndlvrRsnCd"> </c:forEach>
<option value="">전체</option> </select>
<c:forEach items="${FIM081List}" var="item"> </div>
<option value="${item.code}">${item.value}</option> <!-- 발송일자 -->
</c:forEach> <div class="col-6">
</select> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngYmdFrom--${pageName}">발송일자</label>
</div> <span class="form-search-linebox">
<!-- 발송일자 --> <input type="text" class="form-control form-date" id="schSndngYmdFrom--${pageName}" name="schSndngYmdFrom"
<div class="col-6"> data-fmt-type="day" title="시작 날짜 선택" />
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngYmdFrom--${pageName}">발송일자</label> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
<span class="form-search-linebox"> ~
<input type="text" class="form-control form-date" id="schSndngYmdFrom--${pageName}" name="schSndngYmdFrom" <input type="text" class="form-control form-date" id="schSndngYmdTo--${pageName}" name="schSndngYmdTo"
data-fmt-type="day" title="시작 날짜 선택" /> data-fmt-type="day" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~ </span>
<input type="text" class="form-control form-date" id="schSndngYmdTo--${pageName}" name="schSndngYmdTo" </div>
data-fmt-type="day" title="종료 날짜 선택" /> <!-- 발송 구분 -->
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <div class="col-6">
</span> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngSeCd--${pageName}">발송구분</label>
</div> <select class="form-select w-px-160" id="schSndngSeCd--${pageName}" name="schSndngSeCd">
<!-- 발송 구분 --> <option value="">전체</option>
<div class="col-6"> <c:forEach items="${FIM047List}" var="item">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngSeCd--${pageName}">발송구분</label> <option value="${item.code}">${item.value}</option>
<select class="form-select w-px-160" id="schSndngSeCd--${pageName}" name="schSndngSeCd"> </c:forEach>
<option value="">전체</option> </select>
<c:forEach items="${FIM047List}" var="item"> </div>
<option value="${item.code}">${item.value}</option> <!-- 선택등기 표시 -->
</c:forEach> <div class="col-6 form-check">
</select> <input type="checkbox" class="form-check-input" id="schChcRgIndct--${pageName}" name="schChcRgIndct" value="Y" />
</div> <label class="form-check-label" for="schChcRgIndct--${pageName}">선택등기표시</label>
<!-- 선택등기 표시 --> </div>
<div class="col-6 form-check"> <!-- 동적검색 -->
<input type="checkbox" class="form-check-input" id="schChcRgIndct--${pageName}" name="schChcRgIndct" value="Y" /> <div class="col-6">
<label class="form-check-label" for="schChcRgIndct--${pageName}">선택등기표시</label> <input type="hidden" id="by--${pageName}" name="by" />
</div> <input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<!-- 동적검색 --> <input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<div class="col-6"> <input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="hidden" id="by--${pageName}" name="by" /> <input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly /> <!-- 상세 검색조건 버튼 -->
<input type="hidden" id="mainOption--${pageName}" name="mainOption" /> <span class="flr">
<input type="hidden" id="subOption--${pageName}" name="subOption" /> <button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" /> <i class="bx bx-chevron-down"></i>
<!-- 상세 검색조건 버튼 --> 상세검색
<span class="flr"> </button>
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}"> </span>
<i class="bx bx-chevron-down"></i>
상세검색
</button>
</span>
</div>
</div> </div>
</div> </div>
<!-- 메인 조건 --> </div>
<!-- 메인 조건 -->
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse"> <!-- 상세 조건 -->
<div class="row g-1"> <div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<!-- 단속일자 --> <div class="row g-1">
<div class="col-4"> <!-- 단속일자 -->
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schCrdnYmdFrom--${pageName}">단속일자</label> <div class="col-4">
<span class="form-search-linebox"> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schCrdnYmdFrom--${pageName}">단속일자</label>
<input type="text" class="form-control form-date" id="schCrdnYmdFrom--${pageName}" name="schCrdnYmdFrom" <span class="form-search-linebox">
data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" /> <input type="text" class="form-control form-date" id="schCrdnYmdFrom--${pageName}" name="schCrdnYmdFrom"
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
~ <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
<input type="text" class="form-control form-date" id="schCrdnYmdTo--${pageName}" name="schCrdnYmdTo" ~
data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" /> <input type="text" class="form-control form-date" id="schCrdnYmdTo--${pageName}" name="schCrdnYmdTo"
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" />
</span> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</div> </span>
<!-- 차량번호 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schVhrno--${pageName}">차량번호</label>
<input type="text" class="form-control w-px-160" id="schVhrno--${pageName}" name="schVhrno" autocomplete="off" />
</div>
<!-- 납부자번호 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNm--${pageName}">납부자번호</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNm--${pageName}" name="schRtpyrNm" autocomplete="off" />
</div>
<!-- 납부자명 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNo--${pageName}">납부자명</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNo--${pageName}" name="schRtpyrNo" autocomplete="off" />
</div>
<!-- 등록일자, 수정일자 -->
<div class="col-4">
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-4">
<select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</div>
</div> </div>
</div> <!-- 상세 조건 --> <!-- 차량번호 -->
</form> <div class="col-4">
<!-- 검색 조건 영역 --> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schVhrno--${pageName}">차량번호</label>
<input type="text" class="form-control w-px-160" id="schVhrno--${pageName}" name="schVhrno" autocomplete="off" />
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<!-- 건수, 페이지 표시 -->
<div class="d-flex flex-row justify-content-between">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span>
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
</div> </div>
<!-- 업무 버튼 --> <!-- 납부자번호 -->
<span class="container-window-btn-right"> <div class="col-4">
<button type="button" class="btn btn-primary w-px-160" id="btnCreateSndbk--${pageName}" title="반송 등록"> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNm--${pageName}">납부자번호</label>
수기 반송 등록 <input type="text" class="form-control w-px-160" id="schRtpyrNm--${pageName}" name="schRtpyrNm" autocomplete="off" />
</button>
<button type="button" class="btn btn-primary w-px-160" id="btnCreateWholSvbtc--${pageName}" title="전체 공시송달 등록">
전체 공시송달 등록
</button>
<button type="button" class="btn btn-primary w-px-160" id="btnCreateSlctnSndngLink--${pageName}" title="선택 통합우편 발송">
선택 통합우편 발송
</button>
<button type="button" class="btn btn-primary w-px-160" id="btnCreateWholSndngLink--${pageName}" title="전체 통합우편 발송">
전체 통합우편 발송
</button>
</span>
</span>
</div> <!-- 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Col--${pageName}">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;">업무구분</th>
<th class="cmn" style="width: 140px;">고지번호</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RG_NO', this.innerText, 'match', 'part');">등기번호</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('DLVR_YMD', this.innerText, 'ymd', '');">배달일자</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('DLVR_TM', this.innerText, 'time', '');">배달시간</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('UNDLVR_RSN_NM', this.innerText, 'match', 'part');">미배달사유</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('ACTL_RCPN_NM', this.innerText, 'match', 'part');">수령인</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RCPN_REL_NM', this.innerText, 'match', 'part');">수령인관계</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('SNDNG_SE_CD', this.innerText, 'codeValue', 'FIM047');">발송구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_YMD', this.innerText, 'ymd', '');">발송일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('FFNLG_AMT', this.innerText, 'match', 'part');">과태료금액</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('PCPTAX', this.innerText, 'match', 'part');">본세</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('ADAMT', this.innerText, 'match', 'part');">가산금</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('RCPN_NM', this.innerText, 'match', 'part');">수령인명</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('RCPN_ZIP', this.innerText, 'match', 'part');">우편번호</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('RCPN_ADDR', this.innerText, 'match', 'part');">수령인주소</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('RCPN_DTL_ADDR', this.innerText, 'match', 'part');">수령인상세주소</th>
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('CRDN_YMD', this.innerText, 'ymd', '');">단속일시</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RTPYR_SE_CD', this.innerText, 'codeValue', 'FIM011');">납부자구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RTPYR_NO', this.innerText, 'ymd', '');">납부자번호</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('RTPYR_NM', this.innerText, 'match', 'part');">납부자명</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('CRDN_STDG_NM', this.innerText, 'match', 'part');">단속법정동</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('CRDN_PLC', this.innerText, 'match', 'part');">단속장소</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STTS_CD', this.innerText, 'codeValue', 'FIM010');">처리상태</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{SNDNG_DTL_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{SNDNG_DTL_ID}" onchange="pageObject['${pageName}'].control.select('{SNDNG_DTL_ID}', this.checked);" /></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{GOJI_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RG_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{DLVR_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{DLVR_TM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{UNDLVR_RSN_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{ACTL_RCPN_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RCPN_REL_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_YMD}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{FFNLG_AMT}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{PCPTAX}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{ADAMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RCPN_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCPN_ZIP}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RCPN_ADDR}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RCPN_DTL_ADDR}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_YMD_TM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VHRNO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STDG_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_PLC}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STTS_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="32" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="32" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="32" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="32" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="32" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div> </div>
<!-- 납부자명 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNo--${pageName}">납부자명</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNo--${pageName}" name="schRtpyrNo" autocomplete="off" />
</div>
<!-- 등록일자, 수정일자 -->
<div class="col-4">
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-4">
<select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</div>
</div>
</div> <!-- 상세 조건 -->
</form>
<!-- 검색 조건 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<!-- 건수, 페이지 표시 -->
<div class="d-flex flex-row justify-content-between">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span>
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
</div>
<!-- 업무 버튼 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-160" id="btnCreateSndbk--${pageName}" title="반송 등록">
수기 반송 등록
</button>
<button type="button" class="btn btn-primary w-px-160" id="btnCreateWholSvbtc--${pageName}" title="전체 공시송달 등록">
전체 공시송달 등록
</button>
<button type="button" class="btn btn-primary w-px-160" id="btnCreateSlctnSndngLink--${pageName}" title="선택 통합우편 발송">
선택 통합우편 발송
</button>
<button type="button" class="btn btn-primary w-px-160" id="btnCreateWholSndngLink--${pageName}" title="전체 통합우편 발송">
전체 통합우편 발송
</button>
</span>
</span>
</div> <!-- 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Col--${pageName}">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;">업무구분</th>
<th class="cmn" style="width: 140px;">고지번호</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RG_NO', this.innerText, 'match', 'part');">등기번호</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('DLVR_YMD', this.innerText, 'ymd', '');">배달일자</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('DLVR_TM', this.innerText, 'time', '');">배달시간</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('UNDLVR_RSN_NM', this.innerText, 'match', 'part');">미배달사유</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('ACTL_RCPN_NM', this.innerText, 'match', 'part');">수령인</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RCPN_REL_NM', this.innerText, 'match', 'part');">수령인관계</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('SNDNG_SE_CD', this.innerText, 'codeValue', 'FIM047');">발송구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_YMD', this.innerText, 'ymd', '');">발송일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('FFNLG_AMT', this.innerText, 'match', 'part');">과태료금액</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('PCPTAX', this.innerText, 'match', 'part');">본세</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('ADAMT', this.innerText, 'match', 'part');">가산금</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('RCPN_NM', this.innerText, 'match', 'part');">수령인명</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('RCPN_ZIP', this.innerText, 'match', 'part');">우편번호</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('RCPN_ADDR', this.innerText, 'match', 'part');">수령인주소</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('RCPN_DTL_ADDR', this.innerText, 'match', 'part');">수령인상세주소</th>
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('CRDN_YMD', this.innerText, 'ymd', '');">단속일시</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RTPYR_SE_CD', this.innerText, 'codeValue', 'FIM011');">납부자구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RTPYR_NO', this.innerText, 'ymd', '');">납부자번호</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('RTPYR_NM', this.innerText, 'match', 'part');">납부자명</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('CRDN_STDG_NM', this.innerText, 'match', 'part');">단속법정동</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('CRDN_PLC', this.innerText, 'match', 'part');">단속장소</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STTS_CD', this.innerText, 'codeValue', 'FIM010');">처리상태</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{SNDNG_DTL_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{SNDNG_DTL_ID}" onchange="pageObject['${pageName}'].control.select('{SNDNG_DTL_ID}', this.checked);" /></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{GOJI_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RG_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{DLVR_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{DLVR_TM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{UNDLVR_RSN_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{ACTL_RCPN_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RCPN_REL_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_YMD}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{FFNLG_AMT}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{PCPTAX}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{ADAMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RCPN_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCPN_ZIP}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RCPN_ADDR}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RCPN_DTL_ADDR}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_YMD_TM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VHRNO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STDG_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_PLC}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STTS_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="32" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="32" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="32" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="32" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="32" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div> </div>
</div> <!-- DataTables(그리드) --> </div>
</div> <!-- <div class="wrapper-list"> --> </div> <!-- DataTables(그리드) -->
</div> <!-- <div class="card"> --> </div> <!-- <div class="card wrapper-list"> -->
<!-- Page Body --> <!-- Page Body -->
</div> <!-- <div class="container-xxl flex-grow-1 px-0"> --> </div> <!-- <div class="container-xxl flex-grow-1 px-0"> -->
<!-- Content --> <!-- Content -->
@ -772,7 +770,6 @@
initDatepicker("frmSearch--${pageName}"); // 달력 초기화 initDatepicker("frmSearch--${pageName}"); // 달력 초기화
$("#schDlvrYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-7).date); $("#schDlvrYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-7).date);
$("#schDlvrYmdTo--${pageName}").datepicker("setDate", new Date()); $("#schDlvrYmdTo--${pageName}").datepicker("setDate", new Date());
$("#schSndngSeCd--${pageName}").val("02").prop("selected", true); // 발송구분
$("#schChcRgIndct--${pageName}").prop("checked", true); // 선택등기표시 $("#schChcRgIndct--${pageName}").prop("checked", true); // 선택등기표시
$("#byOutput--${pageName}").val("동적 검색"); // 동적 검색 $("#byOutput--${pageName}").val("동적 검색"); // 동적 검색
$("#schRgtrNm--${pageName}").prop("readonly", true); // 사용자 이름 $("#schRgtrNm--${pageName}").prop("readonly", true); // 사용자 이름

@ -9,206 +9,202 @@
<div class="container-xxl flex-grow-1 px-0"> <div class="container-xxl flex-grow-1 px-0">
<!-- Page Body --> <!-- Page Body -->
<div class="card"> <div class="card wrapper-list">
<div class="wrapper-list"> <!-- 상단 버튼 -->
<!-- 상단 버튼 --> <div class="container-page-btn">
<div class="container-page-btn"> <button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화"> 초기화
초기화 </button>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">
검색
</button> </button>
<span class="container-window-btn-right"> <button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색"> 엑셀
검색 </button>
</button> </span>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀"> </div> <!-- 상단 버튼 -->
엑셀
</button> <!-- 검색 조건 영역 -->
</span> <form id="frmSearch--${pageName}" name="frmSearch">
</div> <!-- 상단 버튼 --> <!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<!-- 검색 조건 영역 -->
<form id="frmSearch--${pageName}" name="frmSearch"> <!-- 메인 조건 -->
<!-- hidden --> <div class="container-search">
<input type="hidden" id="sggCd--${pageName}" name="sggCd" /> <div class="row g-1">
<!-- 업무 구분 -->
<!-- 메인 조건 --> <div class="col-12">
<div class="container-search"> <span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span>
<div class="row g-1"> <span class="form-search-linebox">
<!-- 업무 구분 --> <c:forEach items="${taskListForSgg}" var="item">
<div class="col-12"> <label>
<span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span> <input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분"
<span class="form-search-linebox"> value="${item.code}" onchange="pageObject['${pageName}'].fnResetAndChangeBiz(this.value);">
<c:forEach items="${taskListForSgg}" var="item"> ${item.value}
<label> </label>
<input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분" </c:forEach>
value="${item.code}" onchange="pageObject['${pageName}'].fnResetAndChangeBiz(this.value);"> </span>
${item.value} </div>
</label> <!-- 공시송달 일자 -->
</c:forEach> <div class="col-6">
</span> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSvbtcYmdFrom--${pageName}">공시송달일자</label>
</div> <span class="form-search-linebox">
<!-- 공시송달 일자 --> <input type="text" class="form-control form-date" id="schSvbtcYmdFrom--${pageName}" name="schSvbtcYmdFrom"
<div class="col-6"> data-fmt-type="day" title="시작 날짜 선택" />
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSvbtcYmdFrom--${pageName}">공시송달일자</label> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
<span class="form-search-linebox"> ~
<input type="text" class="form-control form-date" id="schSvbtcYmdFrom--${pageName}" name="schSvbtcYmdFrom" <input type="text" class="form-control form-date" id="schSvbtcYmdTo--${pageName}" name="schSvbtcYmdTo"
data-fmt-type="day" title="시작 날짜 선택" /> data-fmt-type="day" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~ </span>
<input type="text" class="form-control form-date" id="schSvbtcYmdTo--${pageName}" name="schSvbtcYmdTo"
data-fmt-type="day" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 발송 구분 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngSeCd--${pageName}">발송구분</label>
<select class="form-select w-px-160" id="schSndngSeCd--${pageName}" name="schSndngSeCd">
<option value="">전체</option>
<c:forEach items="${FIM047List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- -->
<div class="col-6">
</div>
<!-- 동적검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i>
상세검색
</button>
</span>
</div>
</div> </div>
</div> <!-- 메인 조건 --> <!-- 발송 구분 -->
<div class="col-6">
<!-- 상세 조건 --> <label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngSeCd--${pageName}">발송구분</label>
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse"> <select class="form-select w-px-160" id="schSndngSeCd--${pageName}" name="schSndngSeCd">
<div class="row g-1"> <option value="">전체</option>
<!-- 등록일자, 수정일자 --> <c:forEach items="${FIM047List}" var="item">
<div class="col-6"> <option value="${item.code}">${item.value}</option>
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt"> </c:forEach>
<option value="regDt">등록일자</option> </select>
<option value="mdfcnDt">수정일자</option>
</select>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-6">
<select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</div>
</div> </div>
</div> <!-- 상세 조건 --> <!-- -->
</form> <div class="col-6">
<!-- 검색 조건 영역 --> </div>
<!-- 동적검색 -->
<!-- 업무 버튼 및 건수 표시 --> <div class="col-6">
<div> <input type="hidden" id="by--${pageName}" name="by" />
<span class="container-page-btn"> <input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<!-- 건수, 페이지 표시 --> <input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<div class="d-flex flex-row justify-content-between"> <input type="hidden" id="subOption--${pageName}" name="subOption" />
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span> <input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<ul class="pagination pagination-primary" id="paging--${pageName}"> <!-- 상세 검색조건 버튼 -->
</ul> <span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i>
상세검색
</button>
</span>
</div>
</div>
</div> <!-- 메인 조건 -->
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row g-1">
<!-- 등록일자, 수정일자 -->
<div class="col-6">
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div> </div>
<!-- 업무 버튼 --> <!-- 등록자명, 수정자명 -->
<span class="container-window-btn-right"> <div class="col-6">
<button type="button" class="btn btn-primary w-px-120" id="btnPrintHwp--${pageName}" title="한글파일 출력"> <select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
한글파일 출력 <option value="rgtr">등록자</option>
</button> <option value="mdfr">수정자</option>
<button type="button" class="btn btn-primary w-px-120" id="btnUpdate--${pageName}" title="공시송달 수정"> </select>
공시송달 수정 <input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
</button> <input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-primary w-px-120" id="btnRemove--${pageName}" title="공시송달 삭제"> <button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
공시송달 삭제
</button>
</span>
</span>
</div> <!-- 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-400" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;">업무구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('SNDNG_SE_CD', this.innerText, 'codeValue', 'FIM047');">발송구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SVBTC_YMD', this.innerText, 'ymd', '');">공시송달일자</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('SVBTC_END_YMD', this.innerText, 'ymd', '');">공시송달종료일자</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('TNOCS', this.innerText, 'match', 'part');">총건수</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('DOC_NO', this.innerText, 'match', 'part');">문서번호</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('TTL_NM', this.innerText, 'match', 'part');">제목</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('ETC_CN', this.innerText, 'match', 'part');">기타내용</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{SVBTC_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{SVBTC_ID}" onchange="pageObject['${pageName}'].control.select('{SVBTC_ID}', this.checked);"></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SVBTC_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SVBTC_END_YMD}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{TNOCS}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DOC_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TTL_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{ETC_CN}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="odd">
<td valign="top" colspan="15" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div> </div>
</div> </div>
</div> <!-- DataTables(그리드) --> </div> <!-- 상세 조건 -->
</div> <!-- <div class="wrapper-list"> --> </form>
</div> <!-- <div class="card"> --> <!-- 검색 조건 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<!-- 건수, 페이지 표시 -->
<div class="d-flex flex-row justify-content-between">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span>
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
</div>
<!-- 업무 버튼 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-120" id="btnPrintHwp--${pageName}" title="한글파일 출력">
한글파일 출력
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnUpdate--${pageName}" title="공시송달 수정">
공시송달 수정
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnRemove--${pageName}" title="공시송달 삭제">
공시송달 삭제
</button>
</span>
</span>
</div> <!-- 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-400" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;">업무구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('SNDNG_SE_CD', this.innerText, 'codeValue', 'FIM047');">발송구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SVBTC_YMD', this.innerText, 'ymd', '');">공시송달일자</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('SVBTC_END_YMD', this.innerText, 'ymd', '');">공시송달종료일자</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('TNOCS', this.innerText, 'match', 'part');">총건수</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('DOC_NO', this.innerText, 'match', 'part');">문서번호</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('TTL_NM', this.innerText, 'match', 'part');">제목</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('ETC_CN', this.innerText, 'match', 'part');">기타내용</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{SVBTC_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{SVBTC_ID}" onchange="pageObject['${pageName}'].control.select('{SVBTC_ID}', this.checked);"></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SVBTC_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SVBTC_END_YMD}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{TNOCS}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DOC_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TTL_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{ETC_CN}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="odd">
<td valign="top" colspan="15" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div>
</div>
</div> <!-- DataTables(그리드) -->
</div> <!-- <div class="card wrapper-list"> -->
<!-- Page Body --> <!-- Page Body -->
<span id="tempArea--${pageName}" hidden></span>
</div> <!-- <div class="container-xxl flex-grow-1 px-0"> --> </div> <!-- <div class="container-xxl flex-grow-1 px-0"> -->
<!-- Content --> <!-- Content -->

@ -2,111 +2,107 @@
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> <%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<!-- Page Body --> <!-- Page Body -->
<div class="card"> <div class="card wrapper-list">
<div class="wrapper-list"> <div>
<div> <!-- 입력 영역 -->
<!-- 입력 영역 --> <form id="frmEdit--${pageName}" name="frmEdit">
<form id="frmEdit--${pageName}" name="frmEdit"> <!-- hidden -->
<!-- hidden --> <input type="hidden" id="crdnId--${pageName}" name="crdnId" data-map="CRDN_ID" />
<input type="hidden" id="crdnId--${pageName}" name="crdnId" data-map="CRDN_ID" /> <input type="hidden" id="sggCd--${pageName}" name="sggCd" data-map="SGG_CD" />
<input type="hidden" id="sggCd--${pageName}" name="sggCd" data-map="SGG_CD" /> <input type="hidden" id="taskSeCd--${pageName}" name="taskSeCd" data-map="TASK_SE_CD" />
<input type="hidden" id="taskSeCd--${pageName}" name="taskSeCd" data-map="TASK_SE_CD" /> <input type="hidden" id="rtpyrId--${pageName}" name="rtpyrId" data-map="RTPYR_ID" />
<input type="hidden" id="rtpyrId--${pageName}" name="rtpyrId" data-map="RTPYR_ID" />
<div class="row g-1">
<div class="row g-1"> <!-- 차량번호 -->
<!-- 차량번호 --> <div class="col-md-3">
<div class="col-md-3"> <label for="vhrno--${pageName}" class="w-px-100 bg-lighter pe-2 col-form-label text-sm-end">차량번호</label>
<label for="vhrno--${pageName}" class="w-px-100 bg-lighter pe-2 col-form-label text-sm-end">차량번호</label> <input type="text" class="form-control w-35" id="vhrno--${pageName}" name="vhrno" data-map="VHRNO" readonly />
<input type="text" class="form-control w-35" id="vhrno--${pageName}" name="vhrno" data-map="VHRNO" readonly /> </div>
</div> <!-- 위반일시 -->
<!-- 위반일시 --> <div class="col-md-3">
<div class="col-md-3"> <label for="crdnYmdTm--${pageName}" class="w-px-100 bg-lighter pe-2 col-form-label text-sm-end">위반일시</label>
<label for="crdnYmdTm--${pageName}" class="w-px-100 bg-lighter pe-2 col-form-label text-sm-end">위반일시</label> <input type="text" class="form-control w-45" id="crdnYmdTm--${pageName}" name="crdnYmdTm" data-map="CRDN_YMD_TM" readonly />
<input type="text" class="form-control w-45" id="crdnYmdTm--${pageName}" name="crdnYmdTm" data-map="CRDN_YMD_TM" readonly /> </div>
</div> <!-- 단속상태 -->
<!-- 단속상태 --> <div class="col-md-4">
<div class="col-md-4"> <label for="crdnSttsNm--${pageName}" class="w-px-100 bg-lighter pe-2 col-form-label text-sm-end">단속상태</label>
<label for="crdnSttsNm--${pageName}" class="w-px-100 bg-lighter pe-2 col-form-label text-sm-end">단속상태</label> <input type="text" class="form-control w-35" id="crdnSttsChgDt--${pageName}" name="crdnSttsChgDt" data-map="CRDN_STTS_CHG_DT" readonly />
<input type="text" class="form-control w-35" id="crdnSttsChgDt--${pageName}" name="crdnSttsChgDt" data-map="CRDN_STTS_CHG_DT" readonly /> <input type="text" class="form-control w-30 fw-bold text-primary" id="crdnSttsNm--${pageName}" name="crdnSttsNm" data-map="CRDN_STTS_NM" readonly />
<input type="text" class="form-control w-30 fw-bold text-primary" id="crdnSttsNm--${pageName}" name="crdnSttsNm" data-map="CRDN_STTS_NM" readonly /> <input type="hidden" id="crdnSttsCd--${pageName}" name="crdnSttsCd" data-map="CRDN_STTS_CD" />
<input type="hidden" id="crdnSttsCd--${pageName}" name="crdnSttsCd" data-map="CRDN_STTS_CD" /> </div>
</div> <!-- 자료 이동 버튼 -->
<!-- 자료 이동 버튼 --> <div class="col-md-2 text-end">
<div class="col-md-2 text-end"> <input type="text" id="countStauts--${pageName}" class="form-control w-px-120 text-center fw-bold" readonly />
<input type="text" id="countStauts--${pageName}" class="form-control w-px-120 text-center fw-bold" readonly /> <button type="button" id="btnPrev--${pageName}" class="w-px-50 btn-PageUp">◀</button>
<button type="button" id="btnPrev--${pageName}" class="w-px-50 btn-PageUp">◀</button> <button type="button" id="btnNext--${pageName}" class="w-px-50 btn-PageDown">▶</button>
<button type="button" id="btnNext--${pageName}" class="w-px-50 btn-PageDown">▶</button> </div>
</div> </div> <!-- <div class="row g-1"> -->
</div> <!-- <div class="row g-1"> --> </form>
</form> <!-- /입력 영역 --> <!-- 입력 영역 -->
</div>
<div class="nav-align-top">
<ul class="nav nav-tabs" id="tabs--${pageName}" role="tablist">
<li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75 active" id="btnCrdnPayer--${pageName}" name="btnCrdnPayer"
role="tab" data-bs-toggle="tab" data-bs-target="#crdnPayerInfo" aria-controls="crdnPayerInfo" aria-selected="true">
단속 정보
</button>
</li>
<li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" id="btnOpnnSbmsn--${pageName}" name="btnOpnnSbmsn"
role="tab" data-bs-toggle="tab" data-bs-target="#opnnSbmsnInfo" aria-controls="opnnSbmsnInfo" aria-selected="false">
의견제출 정보
</button>
</li>
<li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" id="btnSndng--${pageName}" name="btnSndng"
role="tab" data-bs-toggle="tab" data-bs-target="#sndngInfo" aria-controls="sndngInfo" aria-selected="false">
발송반송 정보
</button>
</li>
<li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" id="btnPrcs--${pageName}" name="btnPrcs"
role="tab" data-bs-toggle="tab" data-bs-target="#prcsInfo" aria-controls="prcsInfo" aria-selected="false">
처리상세 정보
</button>
</li>
<li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" id="btnLevy--${pageName}" name="btnLevy"
role="tab" data-bs-toggle="tab" data-bs-target="#levyInfo" aria-controls="levyInfo" aria-selected="false">
부과체납 정보
</button>
</li>
<li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" id="btnRcvmt--${pageName}" name="btnRcvmt"
role="tab" data-bs-toggle="tab" data-bs-target="#rcvmtInfo" aria-controls="rcvmtInfo" aria-selected="false">
수납 정보
</button>
</li>
<li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" id="btnCvlcptDscsn--${pageName}" name="btnCvlcptDscsn"
role="tab" data-bs-toggle="tab" data-bs-target="#cvlcptDscsnInfo" aria-controls="cvlcptDscsnInfo" aria-selected="false">
민원상담 정보
</button>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane fade show active" id="crdnPayerInfo" role="tabpanel">단속 정보</div>
<div class="tab-pane fade" id="opnnSbmsnInfo" role="tabpanel">의견제출 정보</div>
<div class="tab-pane fade" id="sndngInfo" role="tabpanel">발송반송 정보</div>
<div class="tab-pane fade" id="prcsInfo" role="tabpanel">처리상세 정보</div>
<div class="tab-pane fade" id="levyInfo" role="tabpanel">부과체납 정보</div>
<div class="tab-pane fade" id="rcvmtInfo" role="tabpanel">수납 정보</div>
<div class="tab-pane fade" id="cvlcptDscsnInfo" role="tabpanel">민원상담 정보</div>
</div> </div>
</div>
<div class="nav-align-top"> </div> <!-- <div class="card wrapper-list"> -->
<ul class="nav nav-tabs" id="tabs--${pageName}" role="tablist">
<li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75 active" id="btnCrdnPayer--${pageName}" name="btnCrdnPayer"
role="tab" data-bs-toggle="tab" data-bs-target="#crdnPayerInfo" aria-controls="crdnPayerInfo" aria-selected="true">
단속 정보
</button>
</li>
<li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" id="btnOpnnSbmsn--${pageName}" name="btnOpnnSbmsn"
role="tab" data-bs-toggle="tab" data-bs-target="#opnnSbmsnInfo" aria-controls="opnnSbmsnInfo" aria-selected="false">
의견제출 정보
</button>
</li>
<li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" id="btnSndng--${pageName}" name="btnSndng"
role="tab" data-bs-toggle="tab" data-bs-target="#sndngInfo" aria-controls="sndngInfo" aria-selected="false">
발송반송 정보
</button>
</li>
<li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" id="btnPrcs--${pageName}" name="btnPrcs"
role="tab" data-bs-toggle="tab" data-bs-target="#prcsInfo" aria-controls="prcsInfo" aria-selected="false">
처리상세 정보
</button>
</li>
<li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" id="btnLevy--${pageName}" name="btnLevy"
role="tab" data-bs-toggle="tab" data-bs-target="#levyInfo" aria-controls="levyInfo" aria-selected="false">
부과체납 정보
</button>
</li>
<li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" id="btnRcvmt--${pageName}" name="btnRcvmt"
role="tab" data-bs-toggle="tab" data-bs-target="#rcvmtInfo" aria-controls="rcvmtInfo" aria-selected="false">
수납 정보
</button>
</li>
<li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" id="btnCvlcptDscsn--${pageName}" name="btnCvlcptDscsn"
role="tab" data-bs-toggle="tab" data-bs-target="#cvlcptDscsnInfo" aria-controls="cvlcptDscsnInfo" aria-selected="false">
민원상담 정보
</button>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane fade show active" id="crdnPayerInfo" role="tabpanel">단속 정보</div>
<div class="tab-pane fade" id="opnnSbmsnInfo" role="tabpanel">의견제출 정보</div>
<div class="tab-pane fade" id="sndngInfo" role="tabpanel">발송반송 정보</div>
<div class="tab-pane fade" id="prcsInfo" role="tabpanel">처리상세 정보</div>
<div class="tab-pane fade" id="levyInfo" role="tabpanel">부과체납 정보</div>
<div class="tab-pane fade" id="rcvmtInfo" role="tabpanel">수납 정보</div>
<div class="tab-pane fade" id="cvlcptDscsnInfo" role="tabpanel">민원상담 정보</div>
</div>
</div>
</div> <!-- <div class="wrapper-list"> -->
</div> <!-- <div class="card"> -->
<script> <script>
/************************************************************************** /**************************************************************************
* Global Variable * Global Variable
**************************************************************************/ **************************************************************************/
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
var ${pageName}CallPurpose = "${callPurpose}";
pageObject["${pageName}"] = {}; pageObject["${pageName}"] = {};
/************************************************************************** /**************************************************************************
@ -114,37 +110,40 @@
**************************************************************************/ **************************************************************************/
$(document).ready(function() { $(document).ready(function() {
// pageObject // pageObject
var $P = pageObject["${pageName}"]; let $P = pageObject["${pageName}"];
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
$P.callPurpose = "${callPurpose}";
// FormFields
$P.formFields = new FimsFormFields("#frmEdit--${pageName}");
// 자료 이동을 위한 자료의 Index. 0부터 시작. // 자료 이동을 위한 자료의 Index. 0부터 시작.
$P.curDataIndex; $P.curDataIndex;
// 현재 탭의 위치 // 현재 탭의 위치
$P.activeTabIndex = 0; $P.activeTabIndex = 0;
// FormFields
$P.formFields = new FimsFormFields("#frmEdit--${pageName}");
/************************************************************************** /**************************************************************************
* DatasetControl * DatasetControl
**************************************************************************/ **************************************************************************/
$P.mainControl = new DatasetControl({ $P.mainControl = new DatasetControl({
prefix : "totalInfoMain" prefix: "totalInfoMain"
, prefixName : "개별총정보" , prefixName: "개별총정보"
, keymapper : info => info ? info.CRDN_ID : "" , keymapper: info => info ? info.CRDN_ID : ""
, dataGetter : obj => obj.totalInfo , dataGetter: obj => obj.totalInfo
, formats : { , formats: {
CRDN_YMD_TM : datetimeFormat CRDN_YMD_TM: datetimeFormat
, CRDN_STTS_CHG_DT : datetimeFormat , CRDN_STTS_CHG_DT: datetimeFormat
} }
}); });
/************************************************************************** /**************************************************************************
* DatasetControl 이벤트 * DatasetControl 이벤트
**************************************************************************/ **************************************************************************/
$P.mainControl.onCurrentChange = item => { // 현재 선택 자료 변경 이벤트
$P.mainControl.onCurrentChange = (item) => {
if (!item) return; if (!item) return;
// Dataset 셋팅 // Dataset 셋팅
$P.formFields.set($P.mainControl,item); $P.formFields.set($P.mainControl, item);
// 건수 표기 // 건수 표기
let controlName = "${callControlName}"; let controlName = "${callControlName}";
@ -156,6 +155,66 @@
$P.useDataEdit(item); $P.useDataEdit(item);
} }
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// 자료 재조회
$P.fnRefreshList = (params) => {
if (!params) return;
ajax.get({
url: wctx.url(params.taskSeCd + "/sprt/sprt02/010/main.do")
, headers: { Accept: "application/json; charset=utf-8" } // json
, data: params || {}
, success: resp => {
if (resp.totalInfo) {
// 최상단 단속 Data 셋팅
$P.mainControl.setData([resp.totalInfo]);
if ($P.activeTabIndex == 0) {
$P.fnCrdnPayerInfo(); // 단속 납부자 Data 셋팅
} else if ($P.activeTabIndex == 1) {
$P.fnOpnnSbmsnInfo(); // 의견제출 정보
} else if ($P.activeTabIndex == 2) {
$P.fnSndngInfo(); // 발송 반송 정보
} else if ($P.activeTabIndex == 3) {
$P.fnPrcsInfo(); // 처리 상세 정보
} else if ($P.activeTabIndex == 4) {
$P.fnLevyInfo(); // 부과체납 정보
} else if ($P.activeTabIndex == 5) {
$P.fnRcvmtInfo(); // 수납 정보
} else if ($P.activeTabIndex == 6) {
$P.fnCvlcptDscsnInfo(); // 민원상담 정보
}
}
}
});
}
// 자료 삭제 가능 여부
$P.useDataEdit = (item) => {
// 삭제 자료일 경우 빨간색으로 변경
let elem = document.getElementById("crdnSttsNm--${pageName}");
if (item.data.CRDN_STTS_CD == "99") {
elem.classList.remove("text-primary");
elem.classList.add("text-danger");
} else {
elem.classList.remove("text-danger");
elem.classList.add("text-primary");
}
}
//
$P.fnClose = (isDataReLoad) => {
dialog.close($P.mainControl.prefix + "Dialog");
let controlName = "${callControlName}";
if (isDataReLoad && controlName != "noControlName") {
${callControlName}._load();
}
}
/************************************************************************** /**************************************************************************
* 네이게이션 Event * 네이게이션 Event
**************************************************************************/ **************************************************************************/
@ -175,7 +234,6 @@
} }
let viewNumber = $P.curDataIndex + 1; let viewNumber = $P.curDataIndex + 1;
$("#countStauts--${pageName}").val(viewNumber + " of " + ${callControlName}.dataset._items.length); $("#countStauts--${pageName}").val(viewNumber + " of " + ${callControlName}.dataset._items.length);
} }
@ -191,7 +249,7 @@
for (iLoop = $P.curDataIndex; iLoop >= 0; iLoop--) { for (iLoop = $P.curDataIndex; iLoop >= 0; iLoop--) {
if (mainDataItems[iLoop].data.CRDN_ID == curCrdnId) { if (mainDataItems[iLoop].data.CRDN_ID == curCrdnId) {
if (iLoop - 1 < 0) { return; } // 종료 if (iLoop - 1 < 0) return; // 종료
$P.curDataIndex = iLoop - 1; $P.curDataIndex = iLoop - 1;
break; break;
@ -199,22 +257,19 @@
} }
let crdnId = mainDataItems[$P.curDataIndex].data.CRDN_ID; let crdnId = mainDataItems[$P.curDataIndex].data.CRDN_ID;
// 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
if (crdnId == null || crdnId == "") { if (crdnId == null || crdnId == "") return;
return;
}
let params = { let params = {
callPurpose : "view" callPurpose: "view"
, callControlName : "${callControlName}" , callControlName: "${callControlName}"
, crdnId : crdnId , sggCd: mainDataItems[$P.curDataIndex].data.SGG_CD
, sggCd : mainDataItems[$P.curDataIndex].data.SGG_CD , taskSeCd: mainDataItems[$P.curDataIndex].data.TASK_SE_CD
, taskSeCd : mainDataItems[$P.curDataIndex].data.TASK_SE_CD , crdnId: crdnId
, delYn : "N" , delYn: "N"
}; };
$P.refreshList(params); $P.fnRefreshList(params);
} }
// 다음 자료 조회 // 다음 자료 조회
@ -229,175 +284,27 @@
for (iLoop = $P.curDataIndex; iLoop < mainDataItems.length; iLoop++) { for (iLoop = $P.curDataIndex; iLoop < mainDataItems.length; iLoop++) {
if (mainDataItems[iLoop].data.CRDN_ID == curCrdnId) { if (mainDataItems[iLoop].data.CRDN_ID == curCrdnId) {
if (iLoop + 1 >= mainDataItems.length) return; // 종료 if (iLoop + 1 >= mainDataItems.length) return; // 종료
$P.curDataIndex = iLoop + 1; $P.curDataIndex = iLoop + 1;
break; break;
} }
} }
let crdnId = mainDataItems[$P.curDataIndex].data.CRDN_ID; let crdnId = mainDataItems[$P.curDataIndex].data.CRDN_ID;
// 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
if (crdnId == null || crdnId == "") { if (crdnId == null || crdnId == "") return;
return;
}
let params = { let params = {
callPurpose : "view" callPurpose: "view"
, callControlName : "${callControlName}" , callControlName: "${callControlName}"
, crdnId : crdnId , sggCd: mainDataItems[$P.curDataIndex].data.SGG_CD
, sggCd : mainDataItems[$P.curDataIndex].data.SGG_CD , taskSeCd: mainDataItems[$P.curDataIndex].data.TASK_SE_CD
, taskSeCd : mainDataItems[$P.curDataIndex].data.TASK_SE_CD , crdnId: crdnId
, delYn : "N" , delYn: "N"
}; };
$P.refreshList(params); $P.fnRefreshList(params);
}
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// 자료 삭제 가능 여부
$P.useDataEdit = (item) => {
// 삭제 자료일 경우 빨간색으로 변경
let elem = document.getElementById("crdnSttsNm--${pageName}");
if (item.data.CRDN_STTS_CD == "99") {
elem.classList.remove("text-primary");
elem.classList.add("text-danger");
} else {
elem.classList.remove("text-danger");
elem.classList.add("text-primary");
}
}
//
$P.fnClose = (isDataReLoad) => {
dialog.close($P.mainControl.prefix + "Dialog");
let controlName = "${callControlName}";
if (isDataReLoad && controlName != "noControlName") {
${callControlName}._load();
}
}
// 자료 재조회
$P.refreshList = (params) => {
if (!params) return;
ajax.get({
url : wctx.url(params.taskSeCd + "/sprt/sprt02/010/main.do")
, headers: { Accept: "application/json; charset=utf-8" } // json
, data : params || {}
, success : resp => {
if (resp.totalInfo) {
// 최상단 단속 Data 셋팅
$P.mainControl.setData([resp.totalInfo]);
if ($P.activeTabIndex == 0) {
$P.fnCrdnPayerInfo(); // 단속 납부자 Data 셋팅
} else if ($P.activeTabIndex == 1) {
$P.fnOpnnSbmsnInfo(); // 의견제출 정보
} else if ($P.activeTabIndex == 2) {
$P.fnSndngInfo(); // 발송 반송 정보
} else if ($P.activeTabIndex == 3) {
$P.fnPrcsInfo(); // 처리 상세 정보
} else if ($P.activeTabIndex == 4) {
$P.fnLevyInfo(); // 부과체납 정보
} else if ($P.activeTabIndex == 5) {
$P.fnRcvmtInfo(); // 수납 정보
} else if ($P.activeTabIndex == 6) {
$P.fnCvlcptDscsnInfo(); // 민원상담 정보
}
}
}
});
}
$P.getCrdnPayerInfo = (params) => {
if (!params) return;
ajax.get({
url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/020/info.do")
, data : params || {}
, success : resp => {
$("#crdnPayerInfo").html(resp);
}
});
}
$P.getOpnnSbmsnInfo = (params) => {
if (!params) return;
ajax.get({
url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/030/info.do")
, data : params || {}
, success : resp => {
$("#opnnSbmsnInfo").html(resp);
}
});
}
$P.getSndngInfo = (params) => {
if (!params) return;
ajax.get({
url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/040/info.do")
, data : params || {}
, success : resp => {
$("#sndngInfo").html(resp);
}
});
}
$P.getPrcsInfo = (params) => {
if (!params) return;
ajax.get({
url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/050/info.do")
, data : params || {}
, success : resp => {
$("#prcsInfo").html(resp);
}
});
}
$P.getLevyInfo = (params) => {
if (!params) return;
ajax.get({
url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/060/info.do")
, data : params || {}
, success : resp => {
$("#levyInfo").html(resp);
}
});
}
$P.getRcvmtInfo = (params) => {
if (!params) return;
ajax.get({
url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/070/info.do")
, data : params || {}
, success : resp => {
$("#rcvmtInfo").html(resp);
}
});
}
$P.getCvlcptDscsnInfo = (params) => {
if (!params) return;
ajax.get({
url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/080/info.do")
, data : params || {}
, success : resp => {
$("#cvlcptDscsnInfo").html(resp);
}
});
} }
/************************************************************************** /**************************************************************************
@ -406,7 +313,6 @@
// 단속 정보 // 단속 정보
$P.fnCrdnPayerInfo = () => { $P.fnCrdnPayerInfo = () => {
let crdnId = $P.mainControl.dataset.getValue("CRDN_ID"); let crdnId = $P.mainControl.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
@ -414,20 +320,25 @@
$P.activeTabIndex = 0; $P.activeTabIndex = 0;
let params = { let params = {
callPurpose : "view" callPurpose: "view"
, crdnId : crdnId , sggCd: $P.mainControl.dataset.getValue("SGG_CD")
, sggCd : $P.mainControl.dataset.getValue("SGG_CD") , taskSeCd: $P.mainControl.dataset.getValue("TASK_SE_CD")
, taskSeCd : $P.mainControl.dataset.getValue("TASK_SE_CD") , crdnId: crdnId
, delYn : "N" , delYn: "N"
}; };
$P.getCrdnPayerInfo(params); ajax.get({
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/020/info.do")
, data: params || {}
, success: resp => {
$("#crdnPayerInfo").html(resp);
}
});
} }
// 의견제출 정보 // 의견제출 정보
$P.fnOpnnSbmsnInfo = () => { $P.fnOpnnSbmsnInfo = () => {
let crdnId = $P.mainControl.dataset.getValue("CRDN_ID"); let crdnId = $P.mainControl.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
@ -435,14 +346,20 @@
$P.activeTabIndex = 1; $P.activeTabIndex = 1;
let params = { let params = {
callPurpose : "view" callPurpose: "view"
, crdnId : crdnId , sggCd: $P.mainControl.dataset.getValue("SGG_CD")
, sggCd : $P.mainControl.dataset.getValue("SGG_CD") , taskSeCd: $P.mainControl.dataset.getValue("TASK_SE_CD")
, taskSeCd : $P.mainControl.dataset.getValue("TASK_SE_CD") , crdnId: crdnId
, delYn : "N" , delYn: "N"
}; };
$P.getOpnnSbmsnInfo(params); ajax.get({
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/030/info.do")
, data: params || {}
, success: resp => {
$("#opnnSbmsnInfo").html(resp);
}
});
} }
// 발송 반송 정보 // 발송 반송 정보
@ -456,20 +373,25 @@
$P.activeTabIndex = 2; $P.activeTabIndex = 2;
let params = { let params = {
callPurpose : "view" callPurpose: "view"
, crdnId : crdnId , sggCd: $P.mainControl.dataset.getValue("SGG_CD")
, sggCd : $P.mainControl.dataset.getValue("SGG_CD") , taskSeCd: $P.mainControl.dataset.getValue("TASK_SE_CD")
, taskSeCd : $P.mainControl.dataset.getValue("TASK_SE_CD") , crdnId: crdnId
, delYn : "N" , delYn: "N"
}; };
$P.getSndngInfo(params); ajax.get({
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/040/info.do")
, data: params || {}
, success: resp => {
$("#sndngInfo").html(resp);
}
});
} }
// 처리 정보 // 처리 정보
$P.fnPrcsInfo = () => { $P.fnPrcsInfo = () => {
let crdnId = $P.mainControl.dataset.getValue("CRDN_ID"); let crdnId = $P.mainControl.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
@ -477,21 +399,26 @@
$P.activeTabIndex = 3; $P.activeTabIndex = 3;
let params = { let params = {
callPurpose : "view" callPurpose: "view"
, crdnId : crdnId , sggCd: $P.mainControl.dataset.getValue("SGG_CD")
, sggCd : $P.mainControl.dataset.getValue("SGG_CD") , taskSeCd: $P.mainControl.dataset.getValue("TASK_SE_CD")
, taskSeCd : $P.mainControl.dataset.getValue("TASK_SE_CD") , crdnId: crdnId
, rtpyrId : $P.mainControl.dataset.getValue("RTPYR_ID") , rtpyrId: $P.mainControl.dataset.getValue("RTPYR_ID")
, delYn : "N" , delYn: "N"
}; };
$P.getPrcsInfo(params); ajax.get({
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/050/info.do")
, data: params || {}
, success: resp => {
$("#prcsInfo").html(resp);
}
});
} }
// 부과체납 정보 // 부과체납 정보
$P.fnLevyInfo = () => { $P.fnLevyInfo = () => {
let crdnId = $P.mainControl.dataset.getValue("CRDN_ID"); let crdnId = $P.mainControl.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
@ -499,20 +426,25 @@
$P.activeTabIndex = 4; $P.activeTabIndex = 4;
let params = { let params = {
callPurpose : "view" callPurpose: "view"
, crdnId : crdnId , sggCd: $P.mainControl.dataset.getValue("SGG_CD")
, sggCd : $P.mainControl.dataset.getValue("SGG_CD") , taskSeCd: $P.mainControl.dataset.getValue("TASK_SE_CD")
, taskSeCd : $P.mainControl.dataset.getValue("TASK_SE_CD") , crdnId: crdnId
, delYn : "N" , delYn: "N"
}; };
$P.getLevyInfo(params); ajax.get({
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/060/info.do")
, data: params || {}
, success: resp => {
$("#levyInfo").html(resp);
}
});
} }
// 수납 정보 // 수납 정보
$P.fnRcvmtInfo = () => { $P.fnRcvmtInfo = () => {
let crdnId = $P.mainControl.dataset.getValue("CRDN_ID"); let crdnId = $P.mainControl.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
@ -520,20 +452,25 @@
$P.activeTabIndex = 5; $P.activeTabIndex = 5;
let params = { let params = {
callPurpose : "view" callPurpose: "view"
, crdnId : crdnId , sggCd: $P.mainControl.dataset.getValue("SGG_CD")
, sggCd : $P.mainControl.dataset.getValue("SGG_CD") , taskSeCd: $P.mainControl.dataset.getValue("TASK_SE_CD")
, taskSeCd : $P.mainControl.dataset.getValue("TASK_SE_CD") , crdnId: crdnId
, delYn : "N" , delYn: "N"
}; };
$P.getRcvmtInfo(params); ajax.get({
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/070/info.do")
, data: params || {}
, success: resp => {
$("#rcvmtInfo").html(resp);
}
});
} }
// 민원상담 정보 // 민원상담 정보
$P.fnCvlcptDscsnInfo = () => { $P.fnCvlcptDscsnInfo = () => {
let crdnId = $P.mainControl.dataset.getValue("CRDN_ID"); let crdnId = $P.mainControl.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
@ -541,16 +478,22 @@
$P.activeTabIndex = 6; $P.activeTabIndex = 6;
let params = { let params = {
callPurpose : "view" callPurpose: "view"
, inquiryCondition : "crdnId_vhrno" , inquiryCondition: "crdnId_vhrno"
, crdnId : crdnId , sggCd: $P.mainControl.dataset.getValue("SGG_CD")
, sggCd : $P.mainControl.dataset.getValue("SGG_CD") , taskSeCd: $P.mainControl.dataset.getValue("TASK_SE_CD")
, taskSeCd : $P.mainControl.dataset.getValue("TASK_SE_CD") , crdnId: crdnId
, vhrno : $P.mainControl.dataset.getValue("VHRNO") , vhrno: $P.mainControl.dataset.getValue("VHRNO")
, delYn : "N" , delYn: "N"
}; };
$P.getCvlcptDscsnInfo(params); ajax.get({
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/080/info.do")
, data: params || {}
, success: resp => {
$("#cvlcptDscsnInfo").html(resp);
}
});
} }
/************************************************************************** /**************************************************************************
@ -558,22 +501,22 @@
**************************************************************************/ **************************************************************************/
// 이벤트 설정 // 이벤트 설정
$P.setEvent = () => { $P.setEvent = () => {
// 버튼 이벤트 // 기본 버튼 이벤트
$("#btnPrev--${pageName}").on("click", () => $P.fnPrev()); // 이전 $("#btnPrev--${pageName}").on("click", () => $P.fnPrev()); // 이전
$("#btnNext--${pageName}").on("click", () => $P.fnNext()); // 다음 $("#btnNext--${pageName}").on("click", () => $P.fnNext()); // 다음
$("#btnCrdnPayer--${pageName}").on("click", () => $P.fnCrdnPayerInfo()); // 단속 정보 $("#btnCrdnPayer--${pageName}").on("click", () => $P.fnCrdnPayerInfo()); // 단속 정보
$("#btnOpnnSbmsn--${pageName}").on("click", () => $P.fnOpnnSbmsnInfo()); // 의견제출 정보 $("#btnOpnnSbmsn--${pageName}").on("click", () => $P.fnOpnnSbmsnInfo()); // 의견제출 정보
$("#btnSndng--${pageName}").on("click", () => $P.fnSndngInfo()); // 발송반송 정보 $("#btnSndng--${pageName}").on("click", () => $P.fnSndngInfo()); // 발송반송 정보
$("#btnPrcs--${pageName}").on("click", () => $P.fnPrcsInfo()); // 처리상세 정보 $("#btnPrcs--${pageName}").on("click", () => $P.fnPrcsInfo()); // 처리상세 정보
$("#btnLevy--${pageName}").on("click", () => $P.fnLevyInfo()); // 부과체납 정보 $("#btnLevy--${pageName}").on("click", () => $P.fnLevyInfo()); // 부과체납 정보
$("#btnRcvmt--${pageName}").on("click", () => $P.fnRcvmtInfo()); // 수납 정보 $("#btnRcvmt--${pageName}").on("click", () => $P.fnRcvmtInfo()); // 수납 정보
$("#btnCvlcptDscsn--${pageName}").on("click", () => $P.fnCvlcptDscsnInfo()); // 민원상담 정보 $("#btnCvlcptDscsn--${pageName}").on("click", () => $P.fnCvlcptDscsnInfo()); // 민원상담 정보
} }
// 기본 데이터 설정 // 기본 데이터 설정
$P.initData = () => { $P.initData = () => {
$P.curDataIndex = null; // 화면이 열릴때 초기 값으로 null로 설정해야 건수가 정상 표시 된다. $P.curDataIndex = null; // 화면이 열릴때 초기 값으로 null로 설정해야 건수가 정상 표시 된다.
} }
/************************************************************************** /**************************************************************************

@ -2,7 +2,7 @@
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> <%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<!-- Page Body --> <!-- Page Body -->
<div class="content-wrapper"> <div class="content-pop">
<div class="d-flex flex-row justify-content-evenly"> <div class="d-flex flex-row justify-content-evenly">
<div class="w-px-1150"> <div class="w-px-1150">
<!-- 입력 영역 --> <!-- 입력 영역 -->
@ -291,7 +291,7 @@
<!-- 단속 이미지 --> <!-- 단속 이미지 -->
<jsp:include page="/WEB-INF/jsp/fims/photo-main.jsp" /> <jsp:include page="/WEB-INF/jsp/fims/photo-main.jsp" />
</div> <!-- <div class="d-flex flex-row justify-content-evenly"> --> </div> <!-- <div class="d-flex flex-row justify-content-evenly"> -->
</div> <!-- <div class="content-wrapper"> --> </div> <!-- <div class="content-popr"> -->
<script> <script>
/************************************************************************** /**************************************************************************
@ -322,7 +322,7 @@
prefix: "crdnPayer" prefix: "crdnPayer"
, prefixName: "단속" , prefixName: "단속"
, keymapper: info => info ? info.CRDN_ID : "" , keymapper: info => info ? info.CRDN_ID : ""
, dataGetter: obj => obj.crdnPayerInfo , dataGetter: obj => obj.${infoPrefix}Info
, formats: { , formats: {
CRDN_YMD_TM: datetimeFormat CRDN_YMD_TM: datetimeFormat
, CVLCPT_RCPT_YMD: datetimeFormat , CVLCPT_RCPT_YMD: datetimeFormat
@ -378,10 +378,11 @@
dialog.alert({ dialog.alert({
content: showMessage content: showMessage
, init: () => { setDialogZindex(); }
, onOK: () => { } , onOK: () => { }
}); });
if (resp.saved) { fnClose${pageNameMain}(true); } if (resp.saved) { fnClose${pageNameMain}(true); } // Dialog 닫기
} }
// 삭제 // 삭제
@ -407,9 +408,9 @@
let params = { let params = {
callPurpose: "refresh" callPurpose: "refresh"
, crdnId: crdnId
, sggCd: $("#sggCd--${pageNameMain}").val() , sggCd: $("#sggCd--${pageNameMain}").val()
, taskSeCd: $("#taskSeCd--${pageNameMain}").val() , taskSeCd: $("#taskSeCd--${pageNameMain}").val()
, crdnId: crdnId
, delYn: "N" , delYn: "N"
}; };
@ -426,8 +427,8 @@
pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]); pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]);
// 단속, 납부자 정보 // 단속, 납부자 정보
if (resp.crdnPayer) { if (resp.crdnPayerInfo) {
$P.control.setData([resp.crdnPayer]); $P.control.setData([resp.crdnPayerInfo]);
} }
} }
}); });
@ -438,14 +439,14 @@
if (!params) return; if (!params) return;
ajax.get({ ajax.get({
url : wctx.url("/" + params.taskSeCd + "/cvlc/cvlc01/050/info.do") url: wctx.url("/" + params.taskSeCd + "/cvlc/cvlc01/050/info.do")
, data : params || {} , data: params || {}
, success : resp => { , success: resp => {
dialog.open({ dialog.open({
id : "cvlcptOrgnlDialog--${pageName}" id: "cvlcptOrgnlDialog--${pageName}"
, title : params.title , title: params.title
, content : resp , content: resp
, size : "xl" , size: "xl"
}); });
} }
}); });
@ -456,14 +457,14 @@
if (!params) return; if (!params) return;
ajax.get({ ajax.get({
url : wctx.url("/" + params.taskSeCd + "/cvlc/cvlc02/060/info.do?openerPageName=${pageName}") url: wctx.url("/" + params.taskSeCd + "/cvlc/cvlc02/060/info.do?openerPageName=${pageName}")
, data : params || {} , data: params || {}
, success : resp => { , success: resp => {
dialog.open({ dialog.open({
id : "answerPreviewDialog--${pageName}" id: "answerPreviewDialog--${pageName}"
, title : params.title , title: params.title
, content : resp , content: resp
, size : "xl" , size: "xl"
}); });
} }
}); });
@ -473,10 +474,9 @@
$P.callbackRsn = (obj) => { $P.callbackRsn = (obj) => {
// 서버에 전송할 data(파라미터) 생성 // 서버에 전송할 data(파라미터) 생성
let params = { let params = {
callPurpose: "remove" sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, crdnId: $P.control.dataset.getValue("CRDN_ID") // 단속 ID
, sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: $P.control.dataset.getValue("CRDN_ID") // 단속 ID
, delRsn: obj.reason // 삭제 사유 , delRsn: obj.reason // 삭제 사유
}; };
@ -488,16 +488,16 @@
if (!params) return; if (!params) return;
ajax.post({ ajax.post({
url : wctx.url("/" + params.taskSeCd + "/excl/excl03/010/create.do") url: wctx.url("/" + params.taskSeCd + "/excl/excl03/010/create.do")
, data : params || {} , data: params || {}
, success : resp => { , success: resp => {
if (resp.saved) { if (resp.saved) {
dialog.alert({ dialog.alert({
content : "단속 재등록 작업이 정상 처리되었습니다." content: "단속 재등록 작업이 처리되었습니다."
, onOK : () => { } , init: () => { setDialogZindex(); }
, onOK: () => { }
}); });
} }
return;
} }
}); });
} }
@ -515,7 +515,7 @@
, title: params.title , title: params.title
, content: resp , content: resp
, size: "lg" , size: "lg"
, onClose: () => { $P.fnRefreshDataInfo(); } , onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재 조회
}); });
} }
}); });
@ -526,19 +526,18 @@
if (!params) return; if (!params) return;
ajax.post({ ajax.post({
url : wctx.url("/" + params.taskSeCd + "/crdn/crdn06/010/removeCrdnPayer.do") url: wctx.url("/" + params.taskSeCd + "/crdn/crdn06/010/removeCrdnPayer.do")
, data : params || {} , data: params || {}
, success : resp => { , success: resp => {
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, params.title); let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, params.title);
dialog.alert({ dialog.alert({
content : showMessage content: showMessage
, onOK : () => { } , init: () => { setDialogZindex(); }
, onOK: () => { }
}); });
if (resp.saved) { if (resp.saved) { $P.fnRefreshDataInfo(); } // 자료 재 조회
$P.fnRefreshDataInfo();
}
} }
}); });
} }
@ -556,15 +555,15 @@
} }
ajax.get({ ajax.get({
url : wctx.url("/" + params.taskSeCd + "/payer/info.do") url: wctx.url("/" + params.taskSeCd + "/payer/info.do")
, data : params || {} , data: params || {}
, success : resp => { , success: resp => {
dialog.open({ dialog.open({
id: "payerDialog" id: "payerDialog"
, title: dialogTitle , title: dialogTitle
, content: resp , content: resp
, size: "lg" , size: "lg"
, onClose: () => { $P.fnRefreshDataInfo(); } , onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재 조회
}); });
} }
}); });
@ -585,19 +584,20 @@
// 민원 연계 ID가 없다면.. return // 민원 연계 ID가 없다면.. return
if (typeof cvlcptLinkId == "undefined" || cvlcptLinkId == null || cvlcptLinkId == "") { if (typeof cvlcptLinkId == "undefined" || cvlcptLinkId == null || cvlcptLinkId == "") {
dialog.alert({ dialog.alert({
content : "조회된 단속 민원 대장 정보가 없습니다." content: "조회된 단속 민원 대장 정보가 없습니다."
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다." + "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { } , init: () => { setDialogZindex(); }
, onOK: () => { }
}); });
return; return;
} }
let params = { let params = {
callPurpose : "view" callPurpose: "view"
, title : title , title: title
, crdnId : crdnId // 단속 ID , sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 , taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , crdnId: crdnId // 단속 ID
}; };
$P.viewCvlcptOrgnl(params); $P.viewCvlcptOrgnl(params);
@ -615,19 +615,20 @@
// 민원 연계 ID가 없다면.. return // 민원 연계 ID가 없다면.. return
if (typeof cvlcptLinkId == "undefined" || cvlcptLinkId == null || cvlcptLinkId == "") { if (typeof cvlcptLinkId == "undefined" || cvlcptLinkId == null || cvlcptLinkId == "") {
dialog.alert({ dialog.alert({
content : "조회된 단속 민원 대장 정보가 없습니다." content: "조회된 단속 민원 대장 정보가 없습니다."
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다." + "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { } , init: () => { setDialogZindex(); }
, onOK: () => { }
}); });
return; return;
} }
let params = { let params = {
callPurpose : "view" callPurpose : "view"
, title : title , title: title
, crdnId : crdnId // 단속 ID , sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 , taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , crdnId: crdnId // 단속 ID
}; };
$P.viewAnswerPreview(params); $P.viewAnswerPreview(params);
@ -643,9 +644,9 @@
let params = { let params = {
callPurpose: "update" callPurpose: "update"
, title: title , title: title
, crdnId: crdnId // 단속 ID
, sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드 , sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: crdnId // 단속 ID
}; };
$P.control.getInfo(params); $P.control.getInfo(params);
@ -664,10 +665,11 @@
// 단속 상태 코드 확인 // 단속 상태 코드 확인
if (Number(crdnSttsCd) > 51) { if (Number(crdnSttsCd) > 51) {
dialog.alert({ dialog.alert({
content : "[" + title + "]" + " 작업은 단속상태가 '부과 이전' 자료만 처리 가능합니다." content: "[" + title + "]" + " 작업은 단속상태가 '부과 이전' 자료만 처리 가능합니다."
+ "<br>" + "단속상태 : " + crdnSttsNm + "<br>" + "단속상태 : " + crdnSttsNm
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다." + "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { } , init: () => { setDialogZindex(); }
, onOK: () => { }
}); });
return; return;
} }
@ -708,23 +710,25 @@
// 단속 상태 코드 확인 // 단속 상태 코드 확인
if (Number(crdnSttsCd) < 80 || Number(crdnSttsCd) > 88) { if (Number(crdnSttsCd) < 80 || Number(crdnSttsCd) > 88) {
dialog.alert({ dialog.alert({
content : "[" + title + "]" + " 작업은 단속상태가 '비부과', '계고', '부과취소' 자료만 처리 가능합니다." content: "[" + title + "]" + " 작업은 단속상태가 '비부과', '계고', '부과취소' 자료만 처리 가능합니다."
+ "<br>" + "단속상태 : " + crdnSttsNm + "<br>" + "단속상태 : " + crdnSttsNm
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다." + "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { } , init: () => { setDialogZindex(); }
, onOK: () => { }
}); });
return; return;
} }
dialog.alert({ dialog.alert({
content : "현재 단속 정보를 재등록 하겠습니까?" content: "현재 단속 정보를 재등록 하겠습니까?"
, onOK : () => { , init: () => { setDialogZindex(); }
, onOK: () => {
let params = { let params = {
callPurpose : "create" callPurpose: "create"
, title : title , title: title
, bfrCrdnId : bfrCrdnId // 단속 ID , sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 , taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , bfrCrdnId: bfrCrdnId // 단속 ID
}; };
$P.createCrdnReReg(params); $P.createCrdnReReg(params);
@ -744,8 +748,8 @@
} }
let params = { let params = {
crdnIds: $P.control.dataset.getValue("CRDN_ID") // 단속 ID taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분
, taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 , crdnIds: $P.control.dataset.getValue("CRDN_ID") // 단속 ID
}; };
let inBrowser = false; let inBrowser = false;
@ -799,9 +803,9 @@
let params = { let params = {
callPurpose: "update" callPurpose: "update"
, title: title , title: title
, crdnId: crdnId // 단속 ID
, sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드 , sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: crdnId // 단속 ID
}; };
$P.getInfoCrdnSttsCd(params); $P.getInfoCrdnSttsCd(params);
@ -819,24 +823,25 @@
// 납부자 ID 가 없다면.. return // 납부자 ID 가 없다면.. return
if (rtpyrId == null || rtpyrId == "") { if (rtpyrId == null || rtpyrId == "") {
dialog.alert({ dialog.alert({
content : "조회된 납부자 대장 정보가 없습니다." content: "조회된 납부자 대장 정보가 없습니다."
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다." + "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { } , init: () => { setDialogZindex(); }
, onOK: () => { }
}); });
return; return;
} }
dialog.alert({ dialog.alert({
content : "선택한 자료의 납부자 정보를 초기화 하시겠습니까?" content: "선택한 자료의 납부자 정보를 초기화 하시겠습니까?"
, onOK : () => { , init: () => { setDialogZindex(); }
, onOK: () => {
let params = { let params = {
callPurpose : "remove" title: title
, title : title , sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, crdnId : crdnId // 단속 ID , taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, rtpyrId : rtpyrId // 납부자 ID , crdnId: crdnId // 단속 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 , rtpyrId: rtpyrId // 납부자 ID
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , delYn: "N"
, delYn : "N"
}; };
$P.deleteCrdnPayer(params); $P.deleteCrdnPayer(params);
@ -852,14 +857,14 @@
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let params = { let params = {
callPurpose : "update" callPurpose: "update"
, title : title , title: title
, crdnId : crdnId // 단속 ID , sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, rtpyrId : $P.control.dataset.getValue("RTPYR_ID") // 납부자 ID , taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 , crdnId: crdnId // 단속 ID
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , rtpyrId: $P.control.dataset.getValue("RTPYR_ID") // 납부자 ID
, vhrno : $P.control.dataset.getValue("VHRNO") // 차량번호 , vhrno: $P.control.dataset.getValue("VHRNO") // 차량번호
, rtpyrInptSeCd : "01" // 납부자 입력 구분 코드 , rtpyrInptSeCd: "01" // 납부자 입력 구분 코드
}; };
$P.updatePayer(params); $P.updatePayer(params);
@ -876,45 +881,36 @@
**************************************************************************/ **************************************************************************/
// 이벤트 설정 // 이벤트 설정
$P.setEvent = () => { $P.setEvent = () => {
// 민원 원본 보기 버튼 이벤트 // 업무 버튼 이벤트
$("#btnViewCvlcptOrgnl--${pageName}").on("click", function() { $("#btnViewCvlcptOrgnl--${pageName}").on("click", function() {
$P.fnViewCvlcptOrgnl($(this).attr("title")); $P.fnViewCvlcptOrgnl($(this).attr("title")); // 민원 원본 보기
}); });
// 민원 답변 보기 버튼 이벤트
$("#btnViewAnswerPreview--${pageName}").on("click", function() { $("#btnViewAnswerPreview--${pageName}").on("click", function() {
$P.fnViewAnswerPreview($(this).attr("title")); $P.fnViewAnswerPreview($(this).attr("title")); // 민원 답변 보기
}); });
// 단속 정보 수정 버튼 이벤트
$("#btnUpdateCrdn--${pageName}").on("click", function() { $("#btnUpdateCrdn--${pageName}").on("click", function() {
$P.fnUpdateCrdn($(this).attr("title")); $P.fnUpdateCrdn($(this).attr("title")); // 단속 정보 수정
}); });
// 단속 정보 삭제 버튼 이벤트
$("#btnRemoveCrdn--${pageName}").on("click", function() { $("#btnRemoveCrdn--${pageName}").on("click", function() {
$P.fnRemoveCrdn($(this).attr("title")); $P.fnRemoveCrdn($(this).attr("title")); // 단속 정보 삭제
}); });
// 단속 재등록
$("#btnCreateCrdnReReg--${pageName}").on("click", function() { $("#btnCreateCrdnReReg--${pageName}").on("click", function() {
$P.fnCreateCrdnReReg($(this).attr("title")); $P.fnCreateCrdnReReg($(this).attr("title")); // 단속 재등록
}); });
// 고지서 출력
$("#btnPrintNhtPdf01--${pageName}").on("click", function() { $("#btnPrintNhtPdf01--${pageName}").on("click", function() {
$P.fnMakeFileNht($(this).attr("title"), "pdf", "01"); $P.fnMakeFileNht($(this).attr("title"), "pdf", "01"); // 고지서 출력
}); });
// 고지서 출력
$("#btnPrintNhtPdf02--${pageName}").on("click", function() { $("#btnPrintNhtPdf02--${pageName}").on("click", function() {
$P.fnMakeFileNht($(this).attr("title"), "pdf", "02"); $P.fnMakeFileNht($(this).attr("title"), "pdf", "02"); // 고지서 출력
}); });
// 단속 상태 변경
$("#btnUpdateCrdnSttsCd--${pageName}").on("click", function() { $("#btnUpdateCrdnSttsCd--${pageName}").on("click", function() {
$P.fnUpdateCrdnSttsCd($(this).attr("title")); $P.fnUpdateCrdnSttsCd($(this).attr("title")); // 단속 상태 변경
}); });
// 납부자 초기화 버튼 이벤트
$("#btnDeleteCrdnPayer--${pageName}").on("click", function() { $("#btnDeleteCrdnPayer--${pageName}").on("click", function() {
$P.fnDeleteCrdnPayer($(this).attr("title")); $P.fnDeleteCrdnPayer($(this).attr("title")); // 납부자 초기화
}); });
// 납부자 수정 버튼 이벤트
$("#btnUpdatePayer--${pageName}").on("click", function() { $("#btnUpdatePayer--${pageName}").on("click", function() {
$P.fnUpdatePayer($(this).attr("title")); $P.fnUpdatePayer($(this).attr("title")); // 납부자 수정
}); });
} }
@ -934,7 +930,7 @@
$("#btnDeleteExistPhoto--${pageName}").prop("disabled", true); $("#btnDeleteExistPhoto--${pageName}").prop("disabled", true);
// 화면 호출(callPurpose)이 view가 아니라면 버튼 비활성화 disabled = false // 화면 호출(callPurpose)이 view가 아니라면 버튼 비활성화 disabled = false
if (${pageNameMain}CallPurpose != "view") { if (pageObject['${pageNameMain}'].callPurpose != "view") {
$("#btnUpdateCrdn--${pageName}").prop("disabled", false); $("#btnUpdateCrdn--${pageName}").prop("disabled", false);
$("#btnRemoveCrdn--${pageName}").prop("disabled", false); $("#btnRemoveCrdn--${pageName}").prop("disabled", false);
$("#btnCreateCrdnReReg--${pageName}").prop("disabled", false); $("#btnCreateCrdnReReg--${pageName}").prop("disabled", false);
@ -949,42 +945,42 @@
} }
// jquery를 이용한 show/hide (style이 유지) // jquery를 이용한 show/hide (style이 유지)
$("#divBlank1--${pageName}").hide(); // 빈 칸1 $("#divBlank1--${pageName}").hide(); // 빈 칸1
$("#divBlank2--${pageName}").hide(); // 빈 칸2 $("#divBlank2--${pageName}").hide(); // 빈 칸2
$("#divCrdnSn--${pageName}").hide(); // 단속 일련번호 $("#divCrdnSn--${pageName}").hide(); // 단속 일련번호
$("#divDtlCrdnPlc--${pageName}").hide(); // 상세 단속 장소 $("#divDtlCrdnPlc--${pageName}").hide(); // 상세 단속 장소
$("#lbDstrbncYn--${pageName}").hide(); // 1면 방해 $("#lbDstrbncYn--${pageName}").hide(); // 1면 방해
$("#divCrdnSpareaNm--${pageName}").hide(); // 단속 특별구역 코드 $("#divCrdnSpareaNm--${pageName}").hide(); // 단속 특별구역 코드
$("#divTowngYnNm--${pageName}").hide(); // 견인 여부 $("#divTowngYnNm--${pageName}").hide(); // 견인 여부
$("#divFfnlgCarmdlNm--${pageName}").hide(); // 과태료 차종 $("#divFfnlgCarmdlNm--${pageName}").hide(); // 과태료 차종
$("#divOvtimeYnNm--${pageName}").hide(); // 시간외 여부 $("#divOvtimeYnNm--${pageName}").hide(); // 시간외 여부
$("#divParkngPsbltyRsltNm--${pageName}").hide(); // 주차 가능 결과 코드 $("#divParkngPsbltyRsltNm--${pageName}").hide(); // 주차 가능 결과 코드
$("#divUseFuelNm--${pageName}").hide(); // 사용 연료 구분 $("#divUseFuelNm--${pageName}").hide(); // 사용 연료 구분
$("#divCrdnBgngTm--${pageName}").hide(); // 단속 시작 시각 ~ 단속 종료 시각 $("#divCrdnBgngTm--${pageName}").hide(); // 단속 시작 시각 ~ 단속 종료 시각
// 업무에 따른 요소들 visible // 업무에 따른 요소들 visible
if (pageObject["${pageNameMain}"].mainControl.dataset.getValue("TASK_SE_CD") == "BPV") { // 전용차로위반 if (pageObject["${pageNameMain}"].mainControl.dataset.getValue("TASK_SE_CD") == "BPV") { // 전용차로위반
$("#divBlank1--${pageName}").show(); // 빈 칸1 $("#divBlank1--${pageName}").show(); // 빈 칸1
$("#divDtlCrdnPlc--${pageName}").show(); // 상세 단속 장소 $("#divDtlCrdnPlc--${pageName}").show(); // 상세 단속 장소
} else if (pageObject["${pageNameMain}"].mainControl.dataset.getValue("TASK_SE_CD") == "DPV") { // 장애인전용 } else if (pageObject["${pageNameMain}"].mainControl.dataset.getValue("TASK_SE_CD") == "DPV") { // 장애인전용
$("#divBlank1--${pageName}").show(); // 빈 칸1 $("#divBlank1--${pageName}").show(); // 빈 칸1
$("#divBlank2--${pageName}").show(); // 빈 칸2 $("#divBlank2--${pageName}").show(); // 빈 칸2
$("#lbDstrbncYn--${pageName}").show(); // 1면 방해 $("#lbDstrbncYn--${pageName}").show(); // 1면 방해
$("#divParkngPsbltyRsltNm--${pageName}").show(); // 주차 가능 결과 코드 $("#divParkngPsbltyRsltNm--${pageName}").show(); // 주차 가능 결과 코드
} else if (pageObject["${pageNameMain}"].mainControl.dataset.getValue("TASK_SE_CD") == "ECA") { // 전기차주차 } else if (pageObject["${pageNameMain}"].mainControl.dataset.getValue("TASK_SE_CD") == "ECA") { // 전기차주차
$("#divBlank1--${pageName}").show(); // 빈 칸1 $("#divBlank1--${pageName}").show(); // 빈 칸1
$("#divBlank2--${pageName}").show(); // 빈 칸2 $("#divBlank2--${pageName}").show(); // 빈 칸2
$("#divUseFuelNm--${pageName}").show(); // 사용 연료 구분 $("#divUseFuelNm--${pageName}").show(); // 사용 연료 구분
} else if (pageObject["${pageNameMain}"].mainControl.dataset.getValue("TASK_SE_CD") == "PVS") { // 주정차위반 } else if (pageObject["${pageNameMain}"].mainControl.dataset.getValue("TASK_SE_CD") == "PVS") { // 주정차위반
$("#divCrdnBgngTm--${pageName}").show(); // 단속 시작 시각 ~ 단속 종료 시각 $("#divCrdnBgngTm--${pageName}").show(); // 단속 시작 시각 ~ 단속 종료 시각
$("#divCrdnSn--${pageName}").show(); // 단속 일련번호 $("#divCrdnSn--${pageName}").show(); // 단속 일련번호
$("#divCrdnSpareaNm--${pageName}").show(); // 단속 특별구역 코드 $("#divCrdnSpareaNm--${pageName}").show(); // 단속 특별구역 코드
$("#divTowngYnNm--${pageName}").show(); // 견인 여부 $("#divTowngYnNm--${pageName}").show(); // 견인 여부
$("#divFfnlgCarmdlNm--${pageName}").show(); // 과태료 차종 $("#divFfnlgCarmdlNm--${pageName}").show(); // 과태료 차종
$("#divOvtimeYnNm--${pageName}").show(); // 시간외 여부 $("#divOvtimeYnNm--${pageName}").show(); // 시간외 여부
} else if (pageObject["${pageNameMain}"].mainControl.dataset.getValue("TASK_SE_CD") == "PES") { // 밤샘주차위반 } else if (pageObject["${pageNameMain}"].mainControl.dataset.getValue("TASK_SE_CD") == "PES") { // 밤샘주차위반
$("#divBlank2--${pageName}").show(); // 빈칸 $("#divBlank2--${pageName}").show(); // 빈칸
$("#divCrdnBgngTm--${pageName}").show(); // 단속 시작 시각 ~ 단속 종료 시각 $("#divCrdnBgngTm--${pageName}").show(); // 단속 시작 시각 ~ 단속 종료 시각
} }
} }
@ -998,15 +994,15 @@
$P.initForm(); $P.initForm();
// 3. Dataset 설정 // 3. Dataset 설정
$P.control.setData([${crdnPayer}]); // 단속, 납부자 정보 $P.control.setData([${crdnPayerInfo}]); // 단속, 납부자 정보
// 4. 사진영역 설정 // 4. 사진영역 설정
settingPhotoMain("${pageName}", "crdnId--${pageName}" settingPhotoMain("${pageName}", "crdnId--${pageName}"
, function() { , function() {
return { return {
vhrno : $("#vhrno--${pageName}").val() vhrno: $("#vhrno--${pageName}").val()
, vhclNm : $("#vhclNm--${pageName}").val() , vhclNm: $("#vhclNm--${pageName}").val()
, vhclColor : $("#vhclColor--${pageName}").val() , vhclColor: $("#vhclColor--${pageName}").val()
}; };
}, async function(vhrnoEl) { }, async function(vhrnoEl) {
// 차적조회는 "단속정보 수정" 에서 해라... // 차적조회는 "단속정보 수정" 에서 해라...

@ -2,7 +2,7 @@
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> <%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<!-- Page Body --> <!-- Page Body -->
<div class="content-wrapper"> <div class="content-pop">
<!-- 입력 영역 --> <!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit"> <form id="frmEdit--${pageName}" name="frmEdit">
<input type="text" id="opnnId--${pageName}" name="opnnId" data-map="OPNN_ID" hidden /> <input type="text" id="opnnId--${pageName}" name="opnnId" data-map="OPNN_ID" hidden />
@ -170,9 +170,8 @@
</div> <!-- 심의 정보 <div class="card"> --> </div> <!-- 심의 정보 <div class="card"> -->
</div> <!-- <div class="col-xl-3 mx-0"> --> </div> <!-- <div class="col-xl-3 mx-0"> -->
</div> <!-- <div class="d-flex flex-row justify-content-evenly"> --> </div> <!-- <div class="d-flex flex-row justify-content-evenly"> -->
<span id="tempArea--${pageName}" hidden></span>
</form> </form>
<!-- 입력 영역 -->
</div> </div>
<script> <script>
@ -200,7 +199,7 @@
prefix: "opnn" prefix: "opnn"
, prefixName: "의견제출" , prefixName: "의견제출"
, keymapper: info => info ? info.OPNN_ID : "" , keymapper: info => info ? info.OPNN_ID : ""
, dataGetter: obj => obj.opnnSbmsn , dataGetter: obj => obj.${infoPrefix}Info
, formats: { , formats: {
RCPT_YMD: dateFormat RCPT_YMD: dateFormat
, ANS_YMD_TM: datetimeFormat , ANS_YMD_TM: datetimeFormat
@ -243,7 +242,7 @@
, title: params.title , title: params.title
, content: resp , content: resp
, size: "lg" , size: "lg"
, onClose: () => { $P.refreshDataInfo(); } , onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재 조회
}); });
} }
} }
@ -257,12 +256,11 @@
dialog.alert({ dialog.alert({
content: showMessage content: showMessage
, init: () => { setDialogZindex(); }
, onOK: () => { } , onOK: () => { }
}); });
if (resp.saved) { if (resp.saved) { $P.fnRefreshDataInfo(); } // 자료 재 조회
$P.refreshDataInfo(); // 자료 재조회
}
} }
// 삭제 // 삭제
@ -280,7 +278,7 @@
* 사용자 함수(function) * 사용자 함수(function)
**************************************************************************/ **************************************************************************/
// 자료 재조회 // 자료 재조회
$P.refreshDataInfo = () => { $P.fnRefreshDataInfo = () => {
// 단속 ID // 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val(); let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
@ -288,9 +286,9 @@
let params = { let params = {
callPurpose: "refresh" callPurpose: "refresh"
, crdnId: crdnId
, sggCd: $("#sggCd--${pageNameMain}").val() , sggCd: $("#sggCd--${pageNameMain}").val()
, taskSeCd: $("#taskSeCd--${pageNameMain}").val() , taskSeCd: $("#taskSeCd--${pageNameMain}").val()
, crdnId: crdnId
, delYn: "N" , delYn: "N"
}; };
@ -303,13 +301,12 @@
$("#frmEdit--${pageName}")[0].reset(); // 화면 초기화 $("#frmEdit--${pageName}")[0].reset(); // 화면 초기화
$P.control.dataset.clear(); // Dataset 초기화 $P.control.dataset.clear(); // Dataset 초기화
// 최상단 단속 Data 셋팅 // sprt02010-main 단속 정보
if (resp.totalInfo) { pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]);
pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]);
}
// 의견제출 정보 // 의견제출 정보
if (resp.opnnSbmsn) { if (resp.opnnSbmsnInfo) {
$P.control.setData([resp.opnnSbmsn]); $P.control.setData([resp.opnnSbmsnInfo]);
} }
} }
}); });
@ -328,7 +325,7 @@
, title: params.title , title: params.title
, content: resp , content: resp
, size: "lg" , size: "lg"
, onClose: () => { $P.refreshDataInfo(); } , onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재 조회
}); });
} }
}); });
@ -355,8 +352,8 @@
let url = wctx.url("/" + params.taskSeCd + "/excl/excl02/010/makeHwp.do") let url = wctx.url("/" + params.taskSeCd + "/excl/excl02/010/makeHwp.do")
let parameter = toQuery({ let parameter = toQuery({
opnnIds: params.opnnIds taskSeCd: params.taskSeCd
, taskSeCd: params.taskSeCd , opnnIds: params.opnnIds
}); });
document.location.href = url + "?" + parameter; document.location.href = url + "?" + parameter;
@ -381,6 +378,7 @@
content: "[" + title + "]" + " 작업은 단속상태가 '부과 이전' 자료만 처리 가능합니다." content: "[" + title + "]" + " 작업은 단속상태가 '부과 이전' 자료만 처리 가능합니다."
+ "<br>" + "단속상태 : " + crdnSttsNm + "<br>" + "단속상태 : " + crdnSttsNm
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다." + "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, init: () => { setDialogZindex(); }
, onOK: () => { } , onOK: () => { }
}); });
return; return;
@ -406,6 +404,7 @@
dialog.alert({ dialog.alert({
content: "조회된 의견제출 대장 정보가 없습니다." content: "조회된 의견제출 대장 정보가 없습니다."
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다." + "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, init: () => { setDialogZindex(); }
, onOK: () => { } , onOK: () => { }
}); });
return; return;
@ -445,6 +444,7 @@
content: "[" + title + "]" + " 작업은 심의결과가 '접수', '자진취하' 자료만 삭제 가능합니다." content: "[" + title + "]" + " 작업은 심의결과가 '접수', '자진취하' 자료만 삭제 가능합니다."
+ "<br>" + "심의결과 : " + opnnSbmsnSttsNm + "<br>" + "심의결과 : " + opnnSbmsnSttsNm
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다." + "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, init: () => { setDialogZindex(); }
, onOK: () => { } , onOK: () => { }
}); });
return; return;
@ -453,6 +453,7 @@
// 삭제 메세지 확인 // 삭제 메세지 확인
dialog.alert({ dialog.alert({
content: "선택하신 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?" content: "선택하신 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?"
, init: () => { setDialogZindex(); }
, onOK: () => { , onOK: () => {
// 삭제 사유 입력 // 삭제 사유 입력
fetch(wctx.url("/resources/html/inputRsnDialog.html")) fetch(wctx.url("/resources/html/inputRsnDialog.html"))
@ -587,7 +588,7 @@
// 첨부파일 다운로드 버튼 이벤트 // 첨부파일 다운로드 버튼 이벤트
$P.fnFileDownload = (fileID) => { $P.fnFileDownload = (fileID) => {
if (${pageNameMain}CallPurpose == "view") { if (pageObject['${pageNameMain}'].callPurpose == "view") {
return; return;
} }
@ -630,7 +631,7 @@
$("#btnUpdateOpnnSbmsnDlbrt--${pageName}").prop("disabled", true); $("#btnUpdateOpnnSbmsnDlbrt--${pageName}").prop("disabled", true);
// 화면 호출(callPurpose)이 view가 아니라면 버튼 비활성화 disabled = false // 화면 호출(callPurpose)이 view가 아니라면 버튼 비활성화 disabled = false
if (${pageNameMain}CallPurpose != "view") { if (pageObject['${pageNameMain}'].callPurpose != "view") {
$("#btnCreateOpnnSbmsn--${pageName}").prop("disabled", false); $("#btnCreateOpnnSbmsn--${pageName}").prop("disabled", false);
$("#btnUpdateOpnnSbmsn--${pageName}").prop("disabled", false); $("#btnUpdateOpnnSbmsn--${pageName}").prop("disabled", false);
$("#btnRemoveOpnnSbmsn--${pageName}").prop("disabled", false); $("#btnRemoveOpnnSbmsn--${pageName}").prop("disabled", false);
@ -648,9 +649,9 @@
$P.initForm(); $P.initForm();
// 3. Dataset 설정 // 3. Dataset 설정
let opnnSbmsn = ${opnnSbmsn}; // 의견제출 정보 let opnnSbmsnInfo = ${opnnSbmsnInfo}; // 의견제출 정보
if (opnnSbmsn) { if (opnnSbmsnInfo) {
$P.control.setData([opnnSbmsn]); $P.control.setData([opnnSbmsnInfo]);
} }
}); });

@ -2,7 +2,7 @@
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> <%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<!-- Page Body --> <!-- Page Body -->
<div class="content-wrapper"> <div class="content-pop">
<div class="d-flex flex-row justify-content-evenly"> <div class="d-flex flex-row justify-content-evenly">
<!-- 발송 정보 --> <!-- 발송 정보 -->
<div class="col-xl-12 mx-1"> <div class="col-xl-12 mx-1">
@ -103,7 +103,8 @@
</div> <!-- / DataTables(그리드) --> </div> <!-- / DataTables(그리드) -->
</div> <!-- <div class="row g-1"> --> </div> <!-- <div class="row g-1"> -->
</div> <!-- <div class="card"> --> </div> <!-- <div class="card"> -->
</div> <!-- 발송 정보 <div class="col-xl-12 mx-1"> --> </div> <!-- <div class="col-xl-12 mx-1"> -->
<!-- 발송 정보 -->
</div> <!-- <div class="d-flex flex-row justify-content-evenly"> --> </div> <!-- <div class="d-flex flex-row justify-content-evenly"> -->
<div class="d-flex flex-row justify-content-evenly"> <div class="d-flex flex-row justify-content-evenly">
@ -133,7 +134,8 @@
</div> </div>
</div> <!-- <div class="card"> --> </div> <!-- <div class="card"> -->
</form> </form>
</div> <!-- 가상계좌 정보 <div class="col-xl-3 mx-1"> --> </div> <!-- <div class="col-xl-3 mx-1"> -->
<!-- 가상계좌 정보 -->
<!-- 공시송달 이력 --> <!-- 공시송달 이력 -->
<div class="col-xl-9 mx-1"> <div class="col-xl-9 mx-1">
@ -181,12 +183,14 @@
</table> </table>
</div> </div>
</div> </div>
</div> <!-- / DataTables(그리드) --> </div> <!-- DataTables(그리드) -->
</div> <!-- <div class="row g-1"> --> </div> <!-- <div class="row g-1"> -->
</div> <!-- <div class="card"> --> </div> <!-- <div class="card"> -->
</div> <!-- 공시송달 이력 <div class="col-xl-12 mx-1"> --> </div> <!-- <div class="col-xl-9 mx-1"> -->
<!-- 공시송달 이력 -->
</div> <!-- <div class="d-flex flex-row justify-content-evenly"> --> </div> <!-- <div class="d-flex flex-row justify-content-evenly"> -->
</div> <!-- <div class="content-wrapper"> --> </div> <!-- <div class="content-pop"> -->
<script> <script>
/************************************************************************** /**************************************************************************
@ -199,7 +203,7 @@
**************************************************************************/ **************************************************************************/
$(document).ready(function() { $(document).ready(function() {
// pageObject // pageObject
var $P = pageObject["${pageName}"]; let $P = pageObject["${pageName}"];
// FormFields // FormFields
$P.formFields = new FimsFormFields("#frmEdit--${pageName}"); $P.formFields = new FimsFormFields("#frmEdit--${pageName}");
@ -209,44 +213,44 @@
**************************************************************************/ **************************************************************************/
// 발송 상세 정보 DatasetControl // 발송 상세 정보 DatasetControl
$P.sndngDtlControl = new DatasetControl({ $P.sndngDtlControl = new DatasetControl({
prefix : "sndng" prefix: "sndng"
, prefixName : "발송상세" , prefixName: "발송 반송"
, keymapper : info => info ? info.SNDNG_DTL_ID : "" , keymapper: info => info ? info.SNDNG_DTL_ID : ""
, dataGetter : obj => obj.sndngDtlList , dataGetter: obj => obj.sndngDtls
, appendData : true , appendData: true
, formats : { , formats: {
SNDNG_YMD : dateFormat SNDNG_YMD: dateFormat
, DUDT_YMD : dateFormat , DUDT_YMD: dateFormat
, SUM_AMT : numberFormat , SUM_AMT: numberFormat
, DLVR_YMD : dateFormat , DLVR_YMD: dateFormat
, DLVR_TM : timeFormat , DLVR_TM: timeFormat
, REG_DT : datetimeFormat , REG_DT: datetimeFormat
, MDFCN_DT : datetimeFormat , MDFCN_DT: datetimeFormat
} }
}); });
// 공시송달 정보 DatasetControl // 공시송달 정보 DatasetControl
$P.svbtcControl = new DatasetControl({ $P.svbtcDtlControl = new DatasetControl({
prefix : "svbtc" prefix: "svbtc"
, prefixName : "공시송달" , prefixName: "공시송달"
, keymapper : info => info ? info.SVBTC_ID : "" , keymapper: info => info ? info.SVBTC_ID : ""
, dataGetter : obj => obj.svbtcList , dataGetter: obj => obj.svbtcDtls
, appendData : true , appendData: true
, formats : { , formats: {
SVBTC_YMD : dateFormat SVBTC_YMD: dateFormat
, REG_DT : datetimeFormat , REG_DT: datetimeFormat
} }
}); });
/************************************************************************** /**************************************************************************
* DatasetControl 이벤트 * 발송 상세 DatasetControl 이벤트
**************************************************************************/ **************************************************************************/
// 발송 상세 Dataset 변경 // Dataset 변경
$P.sndngDtlControl.onDatasetChange = (obj) => { $P.sndngDtlControl.onDatasetChange = (obj) => {
$P.renderSndngList(); $P.renderSndngList();
}; };
// 발송 상세 선택 자료 변경 이벤트 // 현재 선택 자료 변경 이벤트
$P.sndngDtlControl.onCurrentChange = (item) => { $P.sndngDtlControl.onCurrentChange = (item) => {
if (!item) return; if (!item) return;
@ -278,38 +282,25 @@
if (item.data.BANK_NM19 != null && item.data.BANK_NM19 != "") vrActno += item.data.BANK_NM19 + " " + item.data.VR_ACTNO19 + "\n"; // 가상 계좌번호19 if (item.data.BANK_NM19 != null && item.data.BANK_NM19 != "") vrActno += item.data.BANK_NM19 + " " + item.data.VR_ACTNO19 + "\n"; // 가상 계좌번호19
if (item.data.BANK_NM20 != null && item.data.BANK_NM20 != "") vrActno += item.data.BANK_NM20 + " " + item.data.VR_ACTNO20 + "\n"; // 가상 계좌번호20 if (item.data.BANK_NM20 != null && item.data.BANK_NM20 != "") vrActno += item.data.BANK_NM20 + " " + item.data.VR_ACTNO20 + "\n"; // 가상 계좌번호20
$("#vrActno--${pageName}").val(vrActno); // 가상 계좌번호 $("#vrActno--${pageName}").val(vrActno); // 가상 계좌번호
$("#epayno--${pageName}").val(item.data.EPAYNO_MASK); // 전자납부번호 $("#epayno--${pageName}").val(item.data.EPAYNO_MASK); // 전자납부번호
}
// 공시송달 Dataset 변경
$P.svbtcControl.onDatasetChange = (obj) => {
$P.renderSvbtcList();
} }
// 공시송달 선택 자료 변경 이벤트
$P.svbtcControl.onCurrentChange = (item) => {
if (!item) return;
let key = item.data.SVBTC_ID;
$("#tbodySvbtc--${pageName}").setCurrentRow(key);
}
// 개별 반송 dialog // 개별 반송 dialog
$P.sndngDtlControl.getInfo = (params) => { $P.sndngDtlControl.getInfo = (params) => {
if (!params) return; if (!params) return;
ajax.get({ ajax.get({
url : wctx.url("/" + params.taskSeCd + "/sndb/sndb01/230/info.do") url: wctx.url("/" + params.taskSeCd + "/sndb/sndb01/230/info.do") + "?openerPageName=${pageName}"
, data : params || {} , data: params || {}
, success : resp => { , success: resp => {
dialog.open({ dialog.open({
id : "sndbkDialog" id: "sndbkDialog--${pageName}"
, title : params.title , title: params.title
, content : resp , content: resp
, size : "md" , size: "md"
, onClose : () => { $P.refreshDataInfo(); } , onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재 조회
}); });
} }
}); });
@ -321,13 +312,12 @@
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle); let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
dialog.alert({ dialog.alert({
content : showMessage content: showMessage
, onOK : () => { } , init: () => { setDialogZindex(); }
, onOK: () => { }
}); });
if (resp.saved) { if (resp.saved) { $P.fnRefreshDataInfo(); } // 자료 재 조회
$P.refreshDataInfo();
}
} }
// 개별 반송 삭제 // 개별 반송 삭제
@ -335,12 +325,29 @@
if (!params) return; if (!params) return;
ajax.post({ ajax.post({
url : wctx.url("/" + params.taskSeCd + "/sndb/sndb01/220/remove.do") url: wctx.url("/" + params.taskSeCd + "/sndb/sndb01/220/remove.do")
, data : params , data: params || {}
, success : resp => $P.sndngDtlControl.onRemove(resp) , success: resp => $P.sndngDtlControl.onRemove(resp)
}); });
} }
/**************************************************************************
* 공시송달 DatasetControl 이벤트
**************************************************************************/
// Dataset 변경
$P.svbtcDtlControl.onDatasetChange = (obj) => {
$P.renderSvbtcList();
}
// 현재 선택 자료 변경 이벤트
$P.svbtcDtlControl.onCurrentChange = (item) => {
if (!item) return;
let key = item.data.SVBTC_ID;
$("#tbodySvbtc--${pageName}").setCurrentRow(key);
}
/************************************************************************** /**************************************************************************
* DataTables 이벤트 * DataTables 이벤트
**************************************************************************/ **************************************************************************/
@ -362,15 +369,15 @@
// 공시송달 정보 DataTables에 click 이벤트 // 공시송달 정보 DataTables에 click 이벤트
$P.renderSvbtcList = () => { $P.renderSvbtcList = () => {
let ${infoPrefix}List = $P.svbtcControl.dataset; let svbtcDtlList = $P.svbtcDtlControl.dataset;
let empty = ${infoPrefix}List.empty; let empty = svbtcDtlList.empty;
let trs = empty ? let trs = empty ?
[document.getElementById("svbtcNotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%> [document.getElementById("svbtcNotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
${infoPrefix}List.inStrings( svbtcDtlList.inStrings(
document.getElementById("svbtcRow--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%> document.getElementById("svbtcRow--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str (str, dataItem) => str
.replace(/{onclick}/gi, "pageObject['${pageName}'].svbtcControl.setCurrent('" + dataItem.getValue("SVBTC_ID") + "');") .replace(/{onclick}/gi, "pageObject['${pageName}'].svbtcDtlControl.setCurrent('" + dataItem.getValue("SVBTC_ID") + "');")
); );
$("#tbodySvbtc--${pageName}").html(trs.join()); $("#tbodySvbtc--${pageName}").html(trs.join());
@ -380,38 +387,36 @@
* 사용자 함수(function) * 사용자 함수(function)
**************************************************************************/ **************************************************************************/
// 자료 재조회 // 자료 재조회
$P.refreshDataInfo = () => { $P.fnRefreshDataInfo = () => {
// 단속 ID // 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val(); let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let params = { let params = {
callPurpose : "refresh" callPurpose: "refresh"
, crdnId : crdnId , sggCd: $("#sggCd--${pageNameMain}").val()
, sggCd : $("#sggCd--${pageNameMain}").val() , taskSeCd: $("#taskSeCd--${pageNameMain}").val()
, taskSeCd : $("#taskSeCd--${pageNameMain}").val() , crdnId: crdnId
, delYn : "N" , delYn: "N"
}; };
ajax.get({ ajax.get({
url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/040/info.do") url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/040/info.do")
, headers: { Accept: "application/json; charset=utf-8" } // json , headers: { Accept: "application/json; charset=utf-8" } // json
, data : params || {} , data: params || {}
, success : resp => { , success : resp => {
// 초기화 // 초기화
$("#frmEdit--${pageName}")[0].reset(); // 화면 초기화 $("#frmEdit--${pageName}")[0].reset(); // 화면 초기화
$P.sndngDtlControl.dataset.clear(); // 발송 상세 Dataset 초기화 $P.sndngDtlControl.dataset.clear(); // 발송 상세 Dataset 초기화
$P.svbtcControl.dataset.clear(); // 공시송달 Dataset 초기화 $P.svbtcDtlControl.dataset.clear(); // 공시송달 Dataset 초기화
// Dataset 셋팅 // sprt02010-main 단속 정보
$P.sndngDtlControl.setData(resp.sndngDtl); // 발송 이력 정보 pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]);
$P.svbtcControl.setData(resp.svbtcList); // 공시송달 이력 정보
// 최상단 단속 Data 셋팅 // Dataset 셋팅
if (resp.totalInfo) { $P.sndngDtlControl.setData(resp.sndngDtls); // 발송 이력 정보
pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]); $P.svbtcDtlControl.setData(resp.svbtcDtls); // 공시송달 이력 정보
}
} }
}); });
} }
@ -431,9 +436,10 @@
// 미배달 사유 확인 // 미배달 사유 확인
if (undlvrRsnNm != "" ) { if (undlvrRsnNm != "" ) {
dialog.alert({ dialog.alert({
content : "미배달 사유가 " + undlvrRsnNm + " (으)로 반송 등록 되어 있습니다." content: "미배달 사유가 " + undlvrRsnNm + " (으)로 반송 등록 되어 있습니다."
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다." + "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { } , init: () => { setDialogZindex(); }
, onOK: () => { }
}); });
return; return;
} }
@ -444,21 +450,22 @@
// 발송상세 상태코드 확인 (FIM050 - 03:발송 04:발송확인) // 발송상세 상태코드 확인 (FIM050 - 03:발송 04:발송확인)
if (sndngDtlSttsCd != "03" && sndngDtlSttsCd != "04") { if (sndngDtlSttsCd != "03" && sndngDtlSttsCd != "04") {
dialog.alert({ dialog.alert({
content : "[" + title + "]" + " 작업은 발송상세 상태가 '발송' 또는 '발송확인' 자료만 처리 가능합니다." content: "[" + title + "]" + " 작업은 발송상세 상태가 '발송' 또는 '발송확인' 자료만 처리 가능합니다."
+ "<br>" + "발송상세상태 : " + sndngDtlSttsNm + "<br>" + "발송상세상태 : " + sndngDtlSttsNm
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다." + "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { } , init: () => { setDialogZindex(); }
, onOK: () => { }
}); });
return; return;
} }
let params = { let params = {
callPurpose : "create" callPurpose: "create"
, title : title , title: title
, sndngDtlId : sndngDtlId // 발송 상세 ID , sggCd: $P.sndngDtlControl.dataset.getValue("SGG_CD") // 시군구 코드
, sggCd : $P.sndngDtlControl.dataset.getValue("SGG_CD") // 시군구 코드 , taskSeCd: $P.sndngDtlControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, taskSeCd : $P.sndngDtlControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , sndngDtlId: sndngDtlId // 발송 상세 ID
, delYn : "N" , delYn: "N"
}; };
$P.sndngDtlControl.getInfo(params); $P.sndngDtlControl.getInfo(params);
@ -478,21 +485,22 @@
// 발송상세 상태코드 확인 (FIM050 - 05:반송) // 발송상세 상태코드 확인 (FIM050 - 05:반송)
if (undlvrRsnNm == null || undlvrRsnNm == "") { if (undlvrRsnNm == null || undlvrRsnNm == "") {
dialog.alert({ dialog.alert({
content : "조회된 반송(미배달) 사유가 없습니다." content: "조회된 반송(미배달) 사유가 없습니다."
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다." + "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { } , init: () => { setDialogZindex(); }
, onOK: () => { }
}); });
return; return;
} }
let params = { let params = {
callPurpose : "update" callPurpose: "update"
, title : title , title: title
, sggCd : $P.sndngDtlControl.dataset.getValue("SGG_CD") // 시군구 코드 , sggCd: $P.sndngDtlControl.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.sndngDtlControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , taskSeCd: $P.sndngDtlControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, sndngDtlId : sndngDtlId // 발송 상세 ID , sndngDtlId: sndngDtlId // 발송 상세 ID
, sndngDtlSttsCd : $P.sndngDtlControl.dataset.getValue("SNDNG_DTL_STTS_CD") // 발송 상세 상태 코드 , sndngDtlSttsCd: $P.sndngDtlControl.dataset.getValue("SNDNG_DTL_STTS_CD") // 발송 상세 상태 코드
, undlvrRsnNm : $P.sndngDtlControl.dataset.getValue("UNDLVR_RSN_NM") // 미배달 사유 명 , undlvrRsnNm: $P.sndngDtlControl.dataset.getValue("UNDLVR_RSN_NM") // 미배달 사유 명
, delYn : "N" , delYn : "N"
}; };
@ -512,26 +520,28 @@
// 발송상세 상태코드 확인 (FIM050 - 05:반송) // 발송상세 상태코드 확인 (FIM050 - 05:반송)
if (sndngDtlSttsCd != "05") { if (sndngDtlSttsCd != "05") {
dialog.alert({ dialog.alert({
content : "[" + title + "]" + " 작업은 발송상세 상태가 '반송' 자료만 처리 가능합니다." content: "[" + title + "]" + " 작업은 발송상세 상태가 '반송' 자료만 처리 가능합니다."
+ "<br>" + "발송상세상태 : " + sndngDtlSttsNm + "<br>" + "발송상세상태 : " + sndngDtlSttsNm
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다." + "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { } , init: () => { setDialogZindex(); }
, onOK: () => { }
}); });
return; return;
} }
let params = { let params = {
callPurpose : "delete" callPurpose: "delete"
, title : title , title: title
, sggCd : $P.sndngDtlControl.dataset.getValue("SGG_CD") // 시군구 코드 , sggCd: $P.sndngDtlControl.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.sndngDtlControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , taskSeCd: $P.sndngDtlControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, sndngDtlId : sndngDtlId // 발송 상세 ID , sndngDtlId: sndngDtlId // 발송 상세 ID
, sndngDtlSttsCd : "03" // 발송 상세 상태 코드(SNDNG_DTL_STTS_CD) FIM050 - 03 발송 , sndngDtlSttsCd: "03" // 발송 상세 상태 코드(SNDNG_DTL_STTS_CD) FIM050 - 03 발송
}; };
dialog.alert({ dialog.alert({
content : "선택한 반송 정보를 삭제하시겠습니까?" content: "선택한 반송 정보를 삭제하시겠습니까?"
, onOK : () => { , init: () => { setDialogZindex(); }
, onOK: () => {
$P.sndngDtlControl.remove(params); $P.sndngDtlControl.remove(params);
} }
}); });
@ -557,21 +567,18 @@
**************************************************************************/ **************************************************************************/
// 이벤트 설정 // 이벤트 설정
$P.setEvent = () => { $P.setEvent = () => {
// 개별 반송 등록 버튼 이벤트 // 업무 버튼 이벤트
$("#btnCreateSndbk--${pageName}").on("click", function() { $("#btnCreateSndbk--${pageName}").on("click", function() {
$P.fnCreateSndbk($(this).attr("title")); $P.fnCreateSndbk($(this).attr("title")); // 개별 반송 등록
}); });
// 개별 반송 수정 버튼 이벤트
$("#btnUpdateSndbk--${pageName}").on("click", function() { $("#btnUpdateSndbk--${pageName}").on("click", function() {
$P.fnUpdateSndbk($(this).attr("title")); $P.fnUpdateSndbk($(this).attr("title")); // 개별 반송 수정
}); });
// 개별 반송 삭제 버튼 이벤트
$("#btnRemoveSndbk--${pageName}").on("click", function() { $("#btnRemoveSndbk--${pageName}").on("click", function() {
$P.fnRemoveSndbk($(this).attr("title")); $P.fnRemoveSndbk($(this).attr("title")); // 개별 반송 삭제
}); });
// 우편 종적 보기 버튼 이벤트
$("#btnViewPostTrace--${pageName}").on("click", function() { $("#btnViewPostTrace--${pageName}").on("click", function() {
$P.fnViewPostTrace($(this).attr("title")); $P.fnViewPostTrace($(this).attr("title")); // 우편 종적 보기
}); });
// DataTables width 변경 조정 // DataTables width 변경 조정
@ -587,7 +594,7 @@
$("#btnRemoveSndbk--${pageName}").prop("disabled", true); $("#btnRemoveSndbk--${pageName}").prop("disabled", true);
// 화면 호출(callPurpose)이 view가 아니라면 버튼 비활성화 disabled = false // 화면 호출(callPurpose)이 view가 아니라면 버튼 비활성화 disabled = false
if (${pageNameMain}CallPurpose != "view") { if (pageObject['${pageNameMain}'].callPurpose != "view") {
$("#btnCreateSndbk--${pageName}").prop("disabled", false); $("#btnCreateSndbk--${pageName}").prop("disabled", false);
$("#btnUpdateSndbk--${pageName}").prop("disabled", false); $("#btnUpdateSndbk--${pageName}").prop("disabled", false);
$("#btnRemoveSndbk--${pageName}").prop("disabled", false); $("#btnRemoveSndbk--${pageName}").prop("disabled", false);
@ -604,8 +611,8 @@
$P.initForm(); $P.initForm();
// 3. Dataset 설정 // 3. Dataset 설정
$P.sndngDtlControl.setData(${sndngDtl}); // 발송 이력 $P.sndngDtlControl.setData(${sndngDtls}); // 발송 이력
$P.svbtcControl.setData(${svbtc}); // 공시송달 이력 $P.svbtcDtlControl.setData(${svbtcDtls}); // 공시송달 이력
}); });
</script> </script>

@ -891,7 +891,7 @@
$("#btnRemoveLevyExcl--${pageName}").prop("disabled", true); $("#btnRemoveLevyExcl--${pageName}").prop("disabled", true);
// 화면 호출(callPurpose)이 view가 아니라면 버튼 비활성화 disabled = false // 화면 호출(callPurpose)이 view가 아니라면 버튼 비활성화 disabled = false
if (${pageNameMain}CallPurpose != "view") { if (pageObject['${pageNameMain}'].callPurpose != "view") {
$("#btnCreateRduct--${pageName}").prop("disabled", false); $("#btnCreateRduct--${pageName}").prop("disabled", false);
$("#btnUpdateRduct--${pageName}").prop("disabled", false); $("#btnUpdateRduct--${pageName}").prop("disabled", false);
$("#btnRemoveRduct--${pageName}").prop("disabled", false); $("#btnRemoveRduct--${pageName}").prop("disabled", false);

@ -475,7 +475,7 @@
$("#btnCreateLevyExcl--${pageName}").prop("disabled", true); $("#btnCreateLevyExcl--${pageName}").prop("disabled", true);
// 화면 호출(callPurpose)이 view가 아니라면 버튼 비활성화 disabled = false // 화면 호출(callPurpose)이 view가 아니라면 버튼 비활성화 disabled = false
if (${pageNameMain}CallPurpose != "view") { if (pageObject['${pageNameMain}'].callPurpose != "view") {
$("#btnCreateLevy--${pageName}").prop("disabled", false); $("#btnCreateLevy--${pageName}").prop("disabled", false);
$("#btnCreateLevyExcl--${pageName}").prop("disabled", false); $("#btnCreateLevyExcl--${pageName}").prop("disabled", false);
} }

@ -560,7 +560,7 @@
$("#btnRemoveRcvmt--${pageName}").prop("disabled", true); $("#btnRemoveRcvmt--${pageName}").prop("disabled", true);
// 화면 호출(callPurpose)이 view가 아니라면 버튼 비활성화 disabled = false // 화면 호출(callPurpose)이 view가 아니라면 버튼 비활성화 disabled = false
if (${pageNameMain}CallPurpose != "view") { if (pageObject['${pageNameMain}'].callPurpose != "view") {
$("#btnCreateRcvmt--${pageName}").prop("disabled", false); $("#btnCreateRcvmt--${pageName}").prop("disabled", false);
$("#btnUpdateRcvmtRtrc--${pageName}").prop("disabled", false); $("#btnUpdateRcvmtRtrc--${pageName}").prop("disabled", false);
$("#btnRemoveRcvmt--${pageName}").prop("disabled", false); $("#btnRemoveRcvmt--${pageName}").prop("disabled", false);

@ -349,7 +349,7 @@
$("#btnRemoveCvlcptDscsn--${pageName}").prop("disabled", true); $("#btnRemoveCvlcptDscsn--${pageName}").prop("disabled", true);
// 화면 호출(callPurpose)이 view가 아니라면 버튼 비활성화 disabled = false // 화면 호출(callPurpose)이 view가 아니라면 버튼 비활성화 disabled = false
if (${pageNameMain}CallPurpose != "view") { if (pageObject['${pageNameMain}'].callPurpose != "view") {
// button 요소들을 disabled = true // button 요소들을 disabled = true
$("#btnCreateCvlcptDscsn--${pageName}").prop("disabled", false); $("#btnCreateCvlcptDscsn--${pageName}").prop("disabled", false);
$("#btnUpdateCvlcptDscsn--${pageName}").prop("disabled", false); $("#btnUpdateCvlcptDscsn--${pageName}").prop("disabled", false);

Loading…
Cancel
Save