과태료감경자료 메인 화면 추가

main
이범준 1 year ago
parent 283a23ff9e
commit 543d1d8e71

@ -74,6 +74,11 @@ public class Crdn06Controller extends ApplicationController {
mav.setViewName("fims/crdn/crdn06040-main"); mav.setViewName("fims/crdn/crdn06040-main");
mav.addObject("pageName","crdn06040-main"); mav.addObject("pageName","crdn06040-main");
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM001", "FIM002", "FIM003", "FIM010", "FIM026");
mav.addObject("FIM001List", commonCodes.get("FIM001"));
mav.addObject("FIM002List", commonCodes.get("FIM002"));
mav.addObject("FIM010List", commonCodes.get("FIM010"));
addCodes(commonCodes, mav, "FIM002", "FIM003", "FIM010", "FIM026");
return mav; return mav;
} }

@ -39,13 +39,14 @@
<option value="regDt">등록일자</option> <option value="regDt">등록일자</option>
</select> </select>
<span class="form-search-linebox"> <span class="form-search-linebox">
<input id="schDateFrom--${pageName}" class="form-control form-date" data-fmt-type="day" name="schDateFrom" type="text" title="시작 날짜 선택"> <input type="text" id="schDateFrom--${pageName}" name="schDateFrom" class="form-control form-date"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-calendar bg-white"></button> <button type="button" class="bx bx-calendar bg-white"></button>
~ ~
<input id="schDateTo--${pageName}" class="form-control form-date" data-fmt-type="day" name="schDateTo" type="text" title="종료 날짜 선택"> <input type="text" id="schDateTo--${pageName}" name="schDateTo" class="form-control form-date"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-calendar bg-white"></button> <button type="button" class="bx bx-calendar bg-white"></button>
</span> </span>
</div> </div>
<div class="col-12"> <div class="col-12">
<label class="form-label fw-bold form-search-title">단속구분</label> <label class="form-label fw-bold form-search-title">단속구분</label>
@ -110,7 +111,7 @@
<div class="card-datatable text-nowrap"> <div class="card-datatable text-nowrap">
<div id="DataTables_Table_0_wrapper--${pageName}" class="dataTables_wrapper dt-bootstrap5 no-footer"> <div id="DataTables_Table_0_wrapper--${pageName}" class="dataTables_wrapper dt-bootstrap5 no-footer">
<div id="table-responsive--${pageName}" class="table-responsive" <div id="table-responsive--${pageName}" class="table-responsive"
style="max-width: 1200px;overflow-x: scroll;height:400px;overflow-y: scroll;border-width: 1px"> style="overflow-x: scroll;height:400px;overflow-y: scroll;">
<table id="DataTables_Table_0--${pageName}" <table id="DataTables_Table_0--${pageName}"
class="datatables-ajax table table-bordered dataTable no-footer" class="datatables-ajax table table-bordered dataTable no-footer"
aria-describedby="DataTables_Table_0_info" aria-describedby="DataTables_Table_0_info"

@ -26,26 +26,14 @@
<option value="regDt">등록일자</option> <option value="regDt">등록일자</option>
</select> </select>
<span class="form-search-linebox"> <span class="form-search-linebox">
<input id="schDateFrom--${pageName}" class="form-control form-date" data-fmt-type="day" name="schDateFrom" type="text" title="시작 날짜 선택"> <input type="text" id="schDateFrom--${pageName}" name="schDateFrom" class="form-control form-date"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-calendar bg-white"></button> <button type="button" class="bx bx-calendar bg-white"></button>
~ ~
<input id="schDateTo--${pageName}" class="form-control form-date" data-fmt-type="day" name="schDateTo" type="text" title="종료 날짜 선택"> <input type="text" id="schDateTo--${pageName}" name="schDateTo" class="form-control form-date"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-calendar bg-white"></button> <button type="button" class="bx bx-calendar bg-white"></button>
</span> </span>
</div>
<div class="col-12">
<label class="form-label fw-bold form-search-title">단속구분</label>
<select id="crdnSeCd--${pageName}" name="crdnSeCd" class="form-select">
<option value="">전체</option>
<c:forEach items="${FIM002List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<div class="col-12">
<label class="form-label fw-bold form-search-title">차량번호</label>
<input type="text" id="vhrno--${pageName}" name="vhrno" class="form-control" />
</div> </div>
<div class="col-12"> <div class="col-12">
<input type="hidden" id="by--${pageName}" name="by" /> <input type="hidden" id="by--${pageName}" name="by" />
@ -69,7 +57,15 @@
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse"> <div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row"> <div class="row">
<div class="col-12"> <div class="col-12">
<span class="me-5">상세조회 조건</span> <label class="form-label fw-bold form-search-title">차량번호</label>
<input type="text" id="vhrno--${pageName}" name="vhrno" class="form-control" />
<label class="form-label fw-bold form-search-title">단속구분</label>
<select id="crdnSeCd--${pageName}" name="crdnSeCd" class="form-select">
<option value="">전체</option>
<c:forEach items="${FIM002List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div> </div>
</div> </div>
</div> </div>
@ -79,9 +75,9 @@
<div> <div>
<span class="container-page-btn"> <span class="container-page-btn">
<a href="#" class="btn btn-blue" id="btnUpdateToConfirmData--${pageName}" title="개별 확인 자료로 수정">개별 확인 자료로 수정</a> <a href="#" class="btn btn-blue" id="btnUpdateToConfirmData--${pageName}" title="개별 확인 자료로 수정">개별 확인 자료로 수정</a>
<div id="totCnt--${pageName}">전체 ㅣ <span></span></div>
<span class="container-window-btn-right"> <span class="container-window-btn-right">
선택 | n건
</span> </span>
</span> </span>
</div> </div>
@ -90,7 +86,7 @@
<div class="card-datatable text-nowrap"> <div class="card-datatable text-nowrap">
<div id="DataTables_Table_0_wrapper--${pageName}" class="dataTables_wrapper dt-bootstrap5 no-footer"> <div id="DataTables_Table_0_wrapper--${pageName}" class="dataTables_wrapper dt-bootstrap5 no-footer">
<div id="table-responsive--${pageName}" class="table-responsive" <div id="table-responsive--${pageName}" class="table-responsive"
style="max-width: 1200px;overflow-x: scroll;height:400px;overflow-y: scroll;border-width: 1px"> style="overflow-x: scroll;height:400px;overflow-y: scroll;">
<table id="DataTables_Table_0--${pageName}" <table id="DataTables_Table_0--${pageName}"
class="datatables-ajax table table-bordered dataTable no-footer" class="datatables-ajax table table-bordered dataTable no-footer"
aria-describedby="DataTables_Table_0_info" aria-describedby="DataTables_Table_0_info"

@ -1,3 +1,326 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> <%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<!-- inner page html -->
<div class="content-wrapper">
<div class="container-xxl flex-grow-1 px-0">
<c:set var="prefixName" scope="request">과태료 감경 자료</c:set> <c:set var="prefixName" scope="request">과태료 감경 자료</c:set>
<div class="card">
<div class="wrapper-list">
<div>
<div class="container-page-btn">
<button type="button" class="btn btn-outline-dark">초기화</button>
<span class="container-window-btn-right">
</span>
</div>
<form id="frmSearch--${pageName}" name="frmSearch">
<div class="container-search">
<div class="row">
<div class="col-11">
<div class="row">
<div class="col-12">
<label class="form-label fw-bold form-search-title">시스템구분</label>
<span class="form-search-linebox">
<c:forEach items="${FIM001List}" var="item">
<label>
<input name="taskSeCd" type="radio" value="${item.code}"
class="form-check-input" alt="업무구분"
onchange="pageObject['${pageName}'].fnResetAndChangeBiz(this.value);">
${item.value}
</label>
</c:forEach>
</span>
</div>
<div class="col-12">
<select id="schDateOpt--${pageName}" name="schDateOpt" class="form-select">
<option value="crdnYmd">단속일자</option>
<option value="regDt">등록일자</option>
</select>
<span class="form-search-linebox">
<input type="text" id="schDateFrom--${pageName}" name="schDateFrom" class="form-control form-date"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-calendar bg-white"></button>
~
<input type="text" id="schDateTo--${pageName}" name="schDateTo" class="form-control form-date"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-calendar bg-white"></button>
</span>
</div>
<div class="col-12">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" id="byOutput--${pageName}" class="form-control" readonly value="동적 검색" />
<input type="text" id="term--${pageName}" name="term" class="form-control" />
<span class="flr">
<button type="button" class="btn btn-open-detail btn-sm"
data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i>
상세조회조건
</button>
</span>
</div>
</div>
</div>
<div class="col-1 d-flex align-items-center justify-content-center">
<button type="button" class="btn btn-search btn-square h-px-75" id="btnSearch--${pageName}" title="검색">검색</button>
</div>
</div>
</div>
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row">
<div class="col-12">
<label class="form-label fw-bold form-search-title">차량번호</label>
<input type="text" id="vhrno--${pageName}" name="vhrno" class="form-control" />
<label class="form-label fw-bold form-search-title">단속구분</label>
<select id="crdnSeCd--${pageName}" name="crdnSeCd" class="form-select">
<option value="">전체</option>
<c:forEach items="${FIM002List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
<label class="form-label fw-bold form-search-title">자료상태</label>
<select id="crdnSttsCd--${pageName}" name="crdnSttsCd" class="form-select">
<option value="">전체</option>
<c:forEach items="${FIM010List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
</div>
</div>
</form>
<div>
<span class="container-page-btn">
<span class="container-window-btn-right">
</span>
</span>
</div>
<div class="card-datatable text-nowrap">
<div id="DataTables_Table_0_wrapper--${pageName}" class="dataTables_wrapper dt-bootstrap5 no-footer">
<div id="table-responsive--${pageName}" class="table-responsive"
style="overflow-x: scroll;height:400px;overflow-y: scroll;">
<table id="DataTables_Table_0--${pageName}"
class="datatables-ajax table table-bordered dataTable no-footer"
aria-describedby="DataTables_Table_0_info"
>
<thead>
<tr id="crdnTheadTr--${pageName}">
</tr>
</thead>
<tbody id="crdnTbody--${pageName}">
</tbody>
</table>
</div>
<div class="d-flex flex-row p-3 justify-content-between">
<label id="crdnPaging--${pageName}PagingInfo" class="dataTables_info" role="status" aria-live="polite"></label>
<ul id="crdnPaging--${pageName}" class="pagination pagination-primary">
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<jsp:include page="/WEB-INF/jsp/include/bottom.jsp" />
<div class="content-backdrop fade"></div>
</div>
<script>
/**************************************************************************
* Global Variable
**************************************************************************/
var FIM002 = new CommonCodes(${FIM002});
var FIM026 = new CommonCodes(${FIM026});
pageObject["${pageName}"] = {};
$(document).ready(function(){
var thisPO = pageObject["${pageName}"];
thisPO.crdnControl = new DatasetControl({
prefix:"crdn",
prefixName:"종합",
infoSize:"xl",
urls : {
load : "",
getInfo : ""
},
formats: {
CRDN_YMD_TM : datetimeFormat,
REG_DT : datetimeFormat,
MDFCN_DT : datetimeFormat,
CVLCPT_PRCS_PRNMNT_DT : dateFormat,
CVLCPT_RCPT_YMD : dateFormat,
RCVMT_AMT : numberFormat,
CRDN_SE_CD: FIM002,
CRDN_REG_SE_CD: FIM026
},
keymapper:info => info ? info.CRDN_ID : "",
dataGetter:obj => obj.crdnList,
appendData:true
});
thisPO.crdnControl.onDatasetChange = obj => {
var prefix = obj.infoPrefix;
thisPO.renderCrdnList(obj);
$("#crdnPaging--${pageName}").setPagingInfo({
list: thisPO.crdnControl.dataset,
prefix: "crdnPaging--${pageName}",
start: obj[prefix+"Start"],
totalSize: obj[prefix+"Total"],
fetchSize: obj[prefix+"Fetch"],
func: "pageObject['${pageName}'].crdnControl.load({index})"
});
};
thisPO.fnResetAndChangeBiz = taskSeCd => {
$("#crdnTbody--${pageName}").html("");
thisPO.crdnControl.urls.load = wctx.url("/crdn/crdn06/040/"+ taskSeCd +"/list.do");
thisPO.crdnControl.urls.getInfo = wctx.url("/sprt/sprt01/020/"+ taskSeCd +"/info.do");
}
thisPO.searchCrdnList = () => {
thisPO.crdnControl.query = thisPO.getParams();
$("#crdnTbody--${pageName}").html("");
thisPO.crdnControl.load(1);
}
thisPO.scrollCrdnList = () => {
thisPO.crdnControl.load(thisPO.crdnControl.query.pageNum + 1);
}
thisPO.renderCrdnList = data => {
if(!thisPO.crdnControl.appendData){
$("#crdnTbody--${pageName}").html("");
}
var crdnList = thisPO.crdnControl.dataset;
var empty = crdnList.empty;
var trs = empty ? [ thisPO.tbodyTemplate.notFound ] : crdnList.inStrings(thisPO.tbodyTemplate.found);
$("#crdnTbody--${pageName}").html(trs.join());
//보안모드
if($("#securityMode--top").is(":checked")){
fn_securityModeToggle(true);
} else {
fn_securityModeToggle(false);
}
}
thisPO.getParams = () => {
var form = $("#frmSearch--${pageName}");
return {
taskSeCd: form.find("[name='taskSeCd']:checked").val()
,vhrno : form.find("[name='vhrno']").val()
,by : form.find("[name='by']").val()
,term : form.find("[name='term']").val()
,schDateOpt: form.find("[name='schDateOpt']").val()
,schDateFrom: form.find("[name='schDateFrom']").val()
,schDateTo: form.find("[name='schDateTo']").val()
,crdnSeCd: form.find("[name='crdnSeCd']").val()
,crdnSttsCd: form.find("[name='crdnSttsCd']").val()
,ctznAnsYn: form.find("[name='ctznAnsYn']:checked").val()
,fetchSize: 30
};
}
/* *******************************
* Grid
******************************* */
thisPO.gridColumns = [
{ header: '감액일자', name: 'uknown1', width: 80, className: 'text-center' },
{ header: '감액사유', name: 'uknown2', width: 80, className: 'text-start' },
{ header: '접수위반일시', name: 'uknown3', width: 80, className: 'text-center' },
{ header: '차량번호', name: 'VHRNO', width: 80, className: 'text-center' },
{ header: '감액금액', name: 'uknown4', width: 80, className: 'text-end' },
{ header: '감액잔액', name: 'uknown5', width: 80, className: 'text-end' },
{ header: '감액특기사항', name: 'uknown6', width: 80, className: 'text-start' },
{ header: '처리상태', name: 'CRDN_STTS_CD', width: 80},
{ header: 'interfaceSeqN', name: 'INTERFACE_SEQN', hidden: true }
];
thisPO.gridOptions = {
by : 'by--${pageName}',
byOutput : 'byOutput--${pageName}',
theadTr: 'crdnTheadTr--${pageName}',
rowHeader: 'No.',
trDataKey: 'CRDN_ID',
infoPrefix: "crdn",
prefixName : "단속",
clickEvent : "pageObject['${pageName}'].crdnControl.setCurrent('{CRDN_ID}')",
dblClickEvent : "pageObject['${pageName}'].crdnControl.getInfo({})",
columns: thisPO.gridColumns
};
thisPO.tbodyTemplate = {};
//그리드 정보 초기화
thisPO.tbodyTemplate = initGrid(thisPO.gridOptions);
//달력 초기화
initDatepicker("frmSearch--${pageName}");
$('#schDateFrom--${pageName}').datepicker('setDate', DateUtil.getDateDay(-5475).date);
$('#schDateTo--${pageName}').datepicker('setDate', new Date());
var defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val();
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked",true);
thisPO.fnResetAndChangeBiz(defaultBizValue);
//스크롤 이벤트 추가
$("#table-responsive--${pageName}").scroll(function(){
var el = $(this);
if(el.scrollTop() == 0){
return;
}
if((el[0].scrollHeight - el.scrollTop() + 15) == el.outerHeight()){
thisPO.scrollCrdnList();
}
});
$('#btnSearch--${pageName}').on('click', () => thisPO.searchCrdnList());
$('#btnMenualRegist--${pageName}').on('click', () => {
});
$('#btnExtrRegist--${pageName}').on('click', () => {
});
//보안모드
if($("#securityMode--top").is(":checked")){
fn_securityModeToggle(true);
} else {
fn_securityModeToggle(false);
}
});
</script>
Loading…
Cancel
Save