feat: 부과, 답변 화면단 개발 진행
parent
11ebea3486
commit
2e4344ac36
@ -0,0 +1,112 @@
|
||||
<%--
|
||||
================================================================================
|
||||
File : /fims/biz/cmm/cmmEnlightDisallowPopup.jsp
|
||||
Name : 서손 / 계도 처리 팝업 - 단속관리>단속현황관리
|
||||
Auth : lim.jong.uk
|
||||
Date : 2022-02-03
|
||||
Desc : 서손 / 계도 처리 팝업
|
||||
================================================================================
|
||||
Date Author Description
|
||||
================================================================================
|
||||
================================================================================
|
||||
--%>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ include file="/WEB-INF/jsp/framework/taglibs.jsp"%>
|
||||
|
||||
<style>
|
||||
#regltProcessSttusCode {
|
||||
width: 29%;
|
||||
color: #2a48ff;
|
||||
background-color: #d8e7ff;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#registSeCode {
|
||||
color: #2a48ff;
|
||||
background-color: #d8e7ff;
|
||||
}
|
||||
|
||||
.act_bg_color {
|
||||
background-color: #d8e7ff; !important;
|
||||
}
|
||||
.bg_red_color {
|
||||
background-color: darkred;
|
||||
}
|
||||
select[name=imageSeCode] {
|
||||
width: 68%;
|
||||
}
|
||||
select[name=vhctyAsortCode] {
|
||||
width: 30%;
|
||||
}
|
||||
select[name=payerSeCode] {
|
||||
width: 25%;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="popup" style="min-width: 100px;">
|
||||
<div class="popup_inner" style="flex-direction: column">
|
||||
<p class="pop_title" id="txtTitle">${txtTitle}</p>
|
||||
<form>
|
||||
<table class="tbl03">
|
||||
<caption>위반정보 상세</caption>
|
||||
<colgroup>
|
||||
<col style="width: 20%;"/>
|
||||
<col/>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>대상건수</th>
|
||||
<td>
|
||||
<input type="text" name="tgtCnt" title="대상건수" readonly/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
<div class="popup_btn">
|
||||
<div class="flr p_flr">
|
||||
<a href="#" class="btn blue" id="btnSave">처리</a>
|
||||
<a href="#" id='btnClose' class="btn lightgray">닫기</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script defer type="text/javaScript">
|
||||
|
||||
/**************************************************************************
|
||||
* Global Variable
|
||||
**************************************************************************/
|
||||
|
||||
|
||||
/* *******************************
|
||||
* Biz function
|
||||
******************************* */
|
||||
const fnPopupBiz = {
|
||||
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* event
|
||||
**************************************************************************/
|
||||
$(() => {
|
||||
|
||||
$("#btnClose").on('click', () => {
|
||||
window.close()
|
||||
});
|
||||
|
||||
$("#btnSave").on('click', () => {
|
||||
alert(JSON.stringify(window.opener.IMPOSE_DATA))
|
||||
window.close()
|
||||
});
|
||||
})
|
||||
|
||||
/**************************************************************************
|
||||
* initialize
|
||||
**************************************************************************/
|
||||
$(document).ready(function(){
|
||||
$('input[name=tgtCnt]').val(window.opener.IMPOSE_DATA.length);
|
||||
|
||||
});
|
||||
|
||||
</script>
|
@ -0,0 +1,502 @@
|
||||
<%--
|
||||
================================================================================
|
||||
File : /fims/biz/rt/rtCrackdownExtrInterfaceMgtForm.jsp
|
||||
Name : 외부자료연계 - 단속관리>단속현황관리
|
||||
Auth : lim.jong.uk
|
||||
Date : 2022-01-26
|
||||
Desc : 단속현황관리 외부자료 연계탭
|
||||
================================================================================
|
||||
Date Author Description
|
||||
================================================================================
|
||||
================================================================================
|
||||
--%>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||
<%@ include file="/WEB-INF/jsp/framework/taglibs.jsp" %>
|
||||
|
||||
<style>
|
||||
#regltProcessSttusCode1 {
|
||||
width: 29%;
|
||||
color: #2a48ff;
|
||||
background-color: #d3dfff;
|
||||
font-weight: bold;
|
||||
padding-left: 6px;
|
||||
font-size: 11px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<form id="frmSearch1" name="frmSearch1">
|
||||
<div class="search">
|
||||
<div class="detail_02" style="display: block;">
|
||||
<p class="box_title">상세검색</p>
|
||||
<ul class="detailGroup_02">
|
||||
<select id="sch_date_opt1" name="sch_date_opt1" class="selectBox">
|
||||
<option value="regltDe">단속일자</option>
|
||||
<option value="registDt">등록일자</option>
|
||||
</select>
|
||||
<span class="cal-box">
|
||||
<input id="sch_date_from1" class="inputText cal" name="sch_date_from1" type="text" title="시작 날짜 선택">
|
||||
<button type="button" name="sch_date_from1" class="calendar"><span class="ico far fa-calendar-alt">
|
||||
<img style="width:18px;" src="${ctx}/resources/biz/content/images/common/main/calendar.png"/><em>달력</em></span>
|
||||
</button>
|
||||
~
|
||||
<input id="sch_date_to1" class="inputText cal" name="sch_date_to1" type="text" title="종료 날짜 선택" placeholder="날짜를 선택하세요">
|
||||
<button type="button" name="sch_date_to1" class="calendar"><span class="ico far fa-calendar-alt">
|
||||
<img style="width:18px;" src="${ctx}/resources/biz/content/images/common/main/calendar.png"/><em>달력</em></span>
|
||||
</button>
|
||||
</span>
|
||||
<code:select id="regltProcessSttusCode1" name="regltProcessSttusCode1" codeId="FIM010" defaultSelect="10" title="단속처리상태" cls="selectBoxTotal act_color" alt="단속처리상태" disabled="false"/>
|
||||
<br/>
|
||||
<label class="title">시스템구분</label>
|
||||
<code:radio codeId="FIM001" id="sysCode1" name="sysCode1" defaultSelect='${sessionScope.XitLoginSession.orgnztId}' onclick="fnTab0Biz.search()" cls="radioBox" alt="시스템구분"/>
|
||||
<br/>
|
||||
<label class="title">단속구분</label>
|
||||
<code:radio type="CMM_ETC2" id="regltSeCode1" name="regltSeCode1" codeId="FIM002" onclick="fnTab1Biz.search()" cls="radioBox" alt="단속구분" />
|
||||
|
||||
<!-- 데이타 확인 여부 : 차종분류코드가 있는지 여부로 판별 -->
|
||||
<!--
|
||||
<select id="cnfmYn" name="cnfmYn" title="확인여부" class="selectBox">
|
||||
<option value="">전체</option>
|
||||
<option value="Y">확인</option>
|
||||
<option value="N" selected>미확인</option>
|
||||
</select>
|
||||
-->
|
||||
|
||||
<br/>
|
||||
<select id="sch_opt1" name="sch_opt1" class="selectBox">
|
||||
<option value="vhcleNo1">차량번호</option>
|
||||
</select>
|
||||
<input type="text" id="sch_word1" name="sch_word1" value="">
|
||||
|
||||
<span class="flr">
|
||||
<a href="#" class="btn blue" id="btnSearch1" title="연계파일등록">검색</a>
|
||||
<!-- <button type="button" class="btnSearch" id="btnSearch" name="btnSearch">검색</button>-->
|
||||
<a href="#" class="btn darkgray" id="btnRegist1" title="연계파일등록">연계파일처리</a>
|
||||
</span>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<!-- //검색 -->
|
||||
|
||||
<div class="page_btn">
|
||||
<span class="fll">
|
||||
<div class="list clearfix" id="totCnt">전체 ㅣ <span></span></div>
|
||||
</span>
|
||||
<!--
|
||||
<span class="flr">
|
||||
<a href="#" class="btn darkgray" id="btnRegist" title="연계파일등록">연계파일처리</a>
|
||||
</span>
|
||||
-->
|
||||
</div>
|
||||
<!-- //버튼 및 페이지정보 -->
|
||||
|
||||
<!-- 데이터 출력 -->
|
||||
<div id="grid_t1"></div>
|
||||
|
||||
|
||||
<%--<script type="text/javascript" src="${pageContext.request.contextPath}/resources/biz/common/js/popupPageNavigation.js" defer></script>--%>
|
||||
<script type="text/javaScript">
|
||||
/**************************************************************************
|
||||
* Global Variable
|
||||
**************************************************************************/
|
||||
popup = null;
|
||||
let GRID11 = null;
|
||||
let curClickColName1;
|
||||
var callbackSearch1 = () => fnTab1Biz.search();
|
||||
var pageNav1 = null;
|
||||
|
||||
/* *******************************
|
||||
* Biz function
|
||||
******************************* */
|
||||
const fnTab1Biz = {
|
||||
search: () => {
|
||||
//TODO:: 검색버튼 클릭시 1st page 검색 이동
|
||||
GRID1.getPagination().movePageTo(1);
|
||||
}
|
||||
,pagePopup: function(flag, params){
|
||||
let url;
|
||||
let popTitle;
|
||||
let popOption;
|
||||
switch (flag) {
|
||||
case "total":
|
||||
url = fimsApiUrl.POPUP_CRACKDOWN_TOTAL;
|
||||
popOption = {width: 1200, height:900};
|
||||
popTitle = "개별총정보";
|
||||
break;
|
||||
case "detail":
|
||||
url = fimsApiUrl.POPUP_CRACKDOWN_EDIT;
|
||||
popOption = {width: 1200, height:900};
|
||||
popTitle = "정보 변경";
|
||||
break;
|
||||
case "file":
|
||||
url = fimsApiUrl.POPUP_EXTR_CRACKDOWN_FILE_SEL;
|
||||
popOption = {width: 900, height:750};
|
||||
popTitle = "외부연계 데이타 선택";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
<%--
|
||||
$.blockUI({message: '' ,css: {width: '100%', height: '100%'}
|
||||
//모달창 외부 클릭시 닫기
|
||||
,onOverlayClick: () => {
|
||||
$.unblockUI();
|
||||
popup?.self?.close();
|
||||
}
|
||||
});
|
||||
--%>
|
||||
popup = CmmPopup.open(url, params, popOption, popTitle);
|
||||
}
|
||||
,onClickGrid: function(props){
|
||||
const selColumn = props.columnInfo.name;
|
||||
curClickColName1 = selColumn;
|
||||
switch (selColumn){
|
||||
case 'vhcleNo':
|
||||
const gridDatas = GRID1.store.data.rawData.map(d => {
|
||||
return {regltSeCode: d.regltSeCode, regltId: d.regltId}
|
||||
})
|
||||
pageNav1 = new PageNavigation(GRID1, gridDatas, props.rowKey);
|
||||
fnTab1Biz.pagePopup('total', pageNav1.gridInfo.curRowData);
|
||||
break;
|
||||
|
||||
case 'cvplRceptNo':
|
||||
const rowDatas = GRID1.store.data.rawData.map(d => {
|
||||
return {regltSeCode: d.regltSeCode, regltId: d.regltId}
|
||||
})
|
||||
pageNav1 = new PageNavigation(GRID1, rowDatas, props.rowKey);
|
||||
fnTab1Biz.pagePopup('detail', pageNav1.gridInfo.curRowData);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
/**************************************************************************
|
||||
* event
|
||||
**************************************************************************/
|
||||
$(() => {
|
||||
$('in').change(() => fnTab1Biz.search());
|
||||
|
||||
$('#btnSearch1').on('click', () => fnTab1Biz.search());
|
||||
|
||||
$('#btnRegist1').on('click', () => {
|
||||
fnTab1Biz.pagePopup('file');
|
||||
});
|
||||
});
|
||||
|
||||
/* *******************************
|
||||
* Grid
|
||||
******************************* */
|
||||
const initTab1Grid = () => {
|
||||
const gridColumns = [
|
||||
{
|
||||
header: '등록구분',
|
||||
name: 'registSeCode',
|
||||
minWidth: 60,
|
||||
sortable: false,
|
||||
align: 'center',
|
||||
formatter: 'listItemText',
|
||||
disabled: true,
|
||||
editor: {
|
||||
type: "select",
|
||||
options: {
|
||||
listItems: ComboCodeData.registSeCode
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
header: '접수번호',
|
||||
name: 'cvplRceptNo',
|
||||
minWidth: 120,
|
||||
sortable: false,
|
||||
align: 'center',
|
||||
renderer: {
|
||||
type: CustomButtonRenderer,
|
||||
options: {
|
||||
formatter: (props)=>{
|
||||
const rowData = props.grid.getRow(props.rowKey);
|
||||
return {
|
||||
formatter: rowData.regltSeCode === '09' ? rowData.cvplRceptNo : rowData.extrlRegltCntcId
|
||||
,element: "text"
|
||||
}
|
||||
}
|
||||
,eventFunction: fnTab1Biz.onClickGrid
|
||||
,eventType: "click"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
header: '차량번호',
|
||||
name: 'vhcleNo',
|
||||
minWidth: 100,
|
||||
sortable: false,
|
||||
align: 'center',
|
||||
renderer: {
|
||||
type: CustomButtonRenderer,
|
||||
options: {
|
||||
formatter: (props)=>{
|
||||
return {
|
||||
formatter: props.grid.getRow(props.rowKey).vhcleNo
|
||||
,element: "text"
|
||||
}
|
||||
}
|
||||
,eventFunction: fnTab1Biz.onClickGrid
|
||||
,eventType: "click"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
header: '신고자',
|
||||
name: 'cvplApplcntNm',
|
||||
minWidth: 80,
|
||||
sortable: false,
|
||||
align: 'center'
|
||||
},
|
||||
|
||||
{
|
||||
header: '신고방법',
|
||||
name: 'regltSeCode',
|
||||
minWidth: 100,
|
||||
sortable: false,
|
||||
align: 'center',
|
||||
formatter: 'listItemText',
|
||||
//TODO: 편집불가인 경우 disabled: true???
|
||||
//editable: false,
|
||||
disabled: true,
|
||||
editor: {
|
||||
type: "select",
|
||||
options: {
|
||||
listItems: [...ComboCodeData.regltSeCode]
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
header: '위반내용',
|
||||
name: 'violtDtlsNm',
|
||||
minWidth: 80,
|
||||
sortable: false,
|
||||
align: 'center',
|
||||
},
|
||||
//FIXME : 위반내용 코드로 대치해야
|
||||
// {
|
||||
// header: '위반내용',
|
||||
// name: 'violtDtlsCode',
|
||||
// minWidth: 80,
|
||||
// sortable: false,
|
||||
// align: 'center',
|
||||
// formatter: 'listItemText',
|
||||
// disabled: true,
|
||||
// editor: {
|
||||
// type: "select",
|
||||
// options: {
|
||||
// listItems: ComboCodeData.violtDtlsCode
|
||||
// }
|
||||
// },
|
||||
// },
|
||||
{
|
||||
header: '담당자',
|
||||
name: 'dutyIdV',
|
||||
minWidth: 80,
|
||||
sortable: false,
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
header: '전화번호',
|
||||
name: 'pcdTelV',
|
||||
minWidth: 80,
|
||||
sortable: false,
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
header: '접수일자',
|
||||
name: 'cvplRceptDt',
|
||||
minWidth: 80,
|
||||
sortable: false,
|
||||
align: 'center',
|
||||
formatter({value}) {
|
||||
return setDateFmt(value); //
|
||||
}
|
||||
},
|
||||
{
|
||||
header: '처리기한',
|
||||
name: 'cvplProcessPd',
|
||||
minWidth: 80,
|
||||
sortable: false,
|
||||
align: 'center',
|
||||
formatter({value}) {
|
||||
return setDateFmt(value); //
|
||||
}
|
||||
},
|
||||
{
|
||||
header: '위반일시',
|
||||
name: 'regltDeTime',
|
||||
minWidth: 120,
|
||||
sortable: false,
|
||||
align: 'center',
|
||||
formatter({value}) {
|
||||
return setDateTimeFmt(value); //
|
||||
}
|
||||
},
|
||||
{
|
||||
header: '첨부',
|
||||
name: 'imageSeCode',
|
||||
minWidth: 60,
|
||||
sortable: false,
|
||||
align: 'center',
|
||||
formatter: 'listItemText',
|
||||
disabled: true,
|
||||
editor: {
|
||||
type: "select",
|
||||
options: {
|
||||
listItems: ComboCodeData.imageSeCode
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
header: '사진',
|
||||
name: 'imageNmrs',
|
||||
minWidth: 50,
|
||||
sortable: false,
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
header: '서손사유',
|
||||
name: 'erppResnDetail', //erppSeCode
|
||||
width: 80,
|
||||
sortable: false,
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
header: '특기사항',
|
||||
name: 'spcmntMatter',
|
||||
width: 80,
|
||||
sortable: false,
|
||||
align: 'center',
|
||||
},
|
||||
|
||||
/*
|
||||
{
|
||||
header: '위반장소',
|
||||
name: 'regltPlace',
|
||||
minWidth: 200,
|
||||
sortable: false,
|
||||
//align: 'center'
|
||||
},
|
||||
{
|
||||
header: '처리상태',
|
||||
name: 'regltProcessSttusCode',
|
||||
minWidth: 80,
|
||||
sortable: false,
|
||||
align: 'center',
|
||||
formatter: 'listItemText',
|
||||
//TODO: 편집불가인 경우 disabled: true???
|
||||
//editable: false,
|
||||
disabled: true,
|
||||
editor: {
|
||||
type: "select",
|
||||
options: {
|
||||
listItems: ComboCodeData.regltProcessSttusCode
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
header: '수납금액',
|
||||
name: 'rcivAmount',
|
||||
minWidth: 100,
|
||||
sortable: false,
|
||||
align: 'right'
|
||||
},
|
||||
{
|
||||
header: '위반횟수',
|
||||
name: 'violtCo',
|
||||
minWidth: 80,
|
||||
sortable: false,
|
||||
align: 'right'
|
||||
},
|
||||
{
|
||||
header: '등록일시',
|
||||
name: 'registDt',
|
||||
minWidth: 150,
|
||||
sortable: false,
|
||||
align: 'center',
|
||||
formatter({value}) {
|
||||
return setDateTimeFmt(value); //
|
||||
}
|
||||
},
|
||||
{
|
||||
header: '최종처리일시',
|
||||
name: 'last_process_dt',
|
||||
minWidth: 150,
|
||||
sortable: false,
|
||||
align: 'center',
|
||||
formatter({value}) {
|
||||
return setDateTimeFmt(value);
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
];
|
||||
|
||||
const gridOptions = {
|
||||
el: 'grid_t1',
|
||||
rowHeaders: ['rowNum'],
|
||||
columns: gridColumns,
|
||||
columnOptions: {
|
||||
frozenCount: 5
|
||||
}
|
||||
,pageOptions: {
|
||||
perPage: 1000
|
||||
}
|
||||
};
|
||||
|
||||
const gridDatasource = {
|
||||
//initialRequest: true, // 화면 load시 조회 안함 - default
|
||||
api: {
|
||||
readData: {
|
||||
url: fimsApiUrl.FIND_CRACKDOWNS
|
||||
,serializer: (params) => {
|
||||
const param = {
|
||||
sch_date_opt: $('#sch_date_opt1').val()
|
||||
,sch_date_from: $('#sch_date_from1').val()
|
||||
,sch_date_to: $('#sch_date_to1').val()
|
||||
,[$('#sch_opt1').val()]: $('#sch_word1').val()
|
||||
,sysCode: $('input:radio[name=sysCode1]:checked').val()
|
||||
,regltSeCode: $('input:radio[name=regltSeCode1]:checked').val()
|
||||
,regltProcessSttusCode: $('#regltProcessSttusCode1').val()
|
||||
//,cnfmYn: $('input[name=regltYn]:checked').val()
|
||||
,cnfmYn: $('#cnfmYn1').val()
|
||||
}
|
||||
return getPageParam(param, params);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
GRID1 = TuiGrid.of(gridOptions, gridDatasource, (res) => {
|
||||
const gridInfo = pageNav1?.gridInfo;
|
||||
if(gridInfo && gridInfo?.pageMove) {
|
||||
const datas = res.data?.contents.map(d => {
|
||||
return {regltId: d.regltId, regltSeCode: d.regltSeCode}
|
||||
});
|
||||
pageNav1.resetGrid(res, datas, (pagiNavigation)=>{
|
||||
pageNav1 = pagiNavigation;
|
||||
if(curClickColName1 === 'vhcleNo') fnTab1Biz.pagePopup('total', pageNav1.gridInfo.curRowData);
|
||||
else fnTab1Biz.pagePopup('detail', pageNav1.gridInfo.curRowData);
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**************************************************************************
|
||||
* initialize
|
||||
**************************************************************************/
|
||||
$(document).ready(function(){
|
||||
$('#sch_date_from1').datepicker('setDate', DateUtil.getDateDay(-5475).date);
|
||||
$('#sch_date_to1').datepicker('setDate', new Date());
|
||||
initTab1Grid();
|
||||
});
|
||||
|
||||
</script>
|
Loading…
Reference in New Issue