parent
d4fdef98fb
commit
c038e875e5
@ -1,502 +0,0 @@
|
|||||||
<%--
|
|
||||||
================================================================================
|
|
||||||
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>
|
|
@ -1,509 +0,0 @@
|
|||||||
<%--
|
|
||||||
================================================================================
|
|
||||||
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>
|
|
||||||
#regltProcessSttusCode {
|
|
||||||
width: 29%;
|
|
||||||
color: #2a48ff;
|
|
||||||
background-color: #d3dfff;
|
|
||||||
font-weight: bold;
|
|
||||||
padding-left: 6px;
|
|
||||||
font-size: 11px;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<form id="frmSearch" name="frmSearch">
|
|
||||||
<div class="search">
|
|
||||||
<div class="detail_02" style="display: block;">
|
|
||||||
<fieldset>
|
|
||||||
<legend>test</legend>
|
|
||||||
<ul class="detailGroup_02">
|
|
||||||
<select id="sch_date_opt" name="sch_date_opt" class="selectBox">
|
|
||||||
<option value="regltDe">단속일자</option>
|
|
||||||
<option value="registDt">등록일자</option>
|
|
||||||
</select>
|
|
||||||
<span class="cal-box">
|
|
||||||
<input id="sch_date_from" class="inputText cal" name="sch_date_from" type="text" title="시작 날짜 선택">
|
|
||||||
<button type="button" name="sch_date_from" 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_to" class="inputText cal" name="sch_date_to" type="text" title="종료 날짜 선택" placeholder="날짜를 선택하세요">
|
|
||||||
<button type="button" name="sch_date_to" 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="regltProcessSttusCode" name="regltProcessSttusCode" codeId="FIM010" defaultSelect="01" title="단속처리상태" cls="selectBoxTotal act_color" alt="단속처리상태" disabled="false"/>
|
|
||||||
<br/>
|
|
||||||
<label class="title">시스템구분</label>
|
|
||||||
<code:radio codeId="FIM001" id="sysCode" name="sysCode" defaultSelect='${sessionScope.XitLoginSession.orgnztId}' onclick="fnTab0Biz.search()" cls="radioBox" alt="시스템구분"/>
|
|
||||||
<br/>
|
|
||||||
<label class="title">단속구분</label>
|
|
||||||
<code:radio type="CMM_ETC2" id="regltSeCode" name="regltSeCode" codeId="FIM002" onclick="fnTab0Biz.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_opt" name="sch_opt" class="selectBox">
|
|
||||||
<option value="vhcleNo">차량번호</option>
|
|
||||||
</select>
|
|
||||||
<input type="text" id="sch_word" name="sch_word" value="">
|
|
||||||
|
|
||||||
<span class="flr">
|
|
||||||
<a href="#" class="btn blue" id="btnSearch" title="연계파일등록">검색</a>
|
|
||||||
<!-- <button type="button" class="btnSearch" id="btnSearch" name="btnSearch">검색</button>-->
|
|
||||||
<a href="#" class="btn darkgray" id="btnRegist" title="연계파일등록">연계파일처리</a>
|
|
||||||
</span>
|
|
||||||
</ul>
|
|
||||||
</fieldset>
|
|
||||||
</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"></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 GRID = null;
|
|
||||||
let curClickColName;
|
|
||||||
var callbackSearch = () => fnTab0Biz.search();
|
|
||||||
var pageNav = null;
|
|
||||||
|
|
||||||
/* *******************************
|
|
||||||
* Biz function
|
|
||||||
******************************* */
|
|
||||||
const fnTab0Biz = {
|
|
||||||
search: () => {
|
|
||||||
//TODO:: 검색버튼 클릭시 1st page 검색 이동
|
|
||||||
GRID.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;
|
|
||||||
curClickColName = selColumn;
|
|
||||||
switch (selColumn){
|
|
||||||
case 'vhcleNo':
|
|
||||||
const gridDatas = GRID.store.data.rawData.map(d => {
|
|
||||||
return {regltSeCode: d.regltSeCode, regltId: d.regltId}
|
|
||||||
})
|
|
||||||
pageNav = new PageNavigation(GRID, gridDatas, props.rowKey);
|
|
||||||
fnTab0Biz.pagePopup('total', pageNav.gridInfo.curRowData);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'cvplRceptNo':
|
|
||||||
const rowDatas = GRID.store.data.rawData.map(d => {
|
|
||||||
return {regltSeCode: d.regltSeCode, regltId: d.regltId}
|
|
||||||
})
|
|
||||||
pageNav = new PageNavigation(GRID, rowDatas, props.rowKey);
|
|
||||||
fnTab0Biz.pagePopup('detail', pageNav.gridInfo.curRowData);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/**************************************************************************
|
|
||||||
* event
|
|
||||||
**************************************************************************/
|
|
||||||
$(() => {
|
|
||||||
$('in').change(() => fnTab0Biz.search());
|
|
||||||
|
|
||||||
$('#btnSearch').on('click', () => fnTab0Biz.search());
|
|
||||||
|
|
||||||
$('#btnRegist').on('click', () => {
|
|
||||||
fnTab0Biz.pagePopup('file');
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
/* *******************************
|
|
||||||
* Grid
|
|
||||||
******************************* */
|
|
||||||
const initTab0Grid = () => {
|
|
||||||
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: fnTab0Biz.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: fnTab0Biz.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',
|
|
||||||
rowHeaders: ['rowNum'],
|
|
||||||
columns: gridColumns,
|
|
||||||
columnOptions: {
|
|
||||||
frozenCount: 5
|
|
||||||
}
|
|
||||||
,pageOptions: {
|
|
||||||
perPage: 1000
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const gridDatasource = {
|
|
||||||
//initialRequest: true, // 화면 load시 조회 안함 - default
|
|
||||||
api: {
|
|
||||||
readData: {
|
|
||||||
// url: fimsApiUrl.FIND_CCTV_EC_EXTRL_REGLT_CNTCS
|
|
||||||
// ,serializer: (params) => fnAddPageInfo(document.frmSearch, params)
|
|
||||||
url: fimsApiUrl.FIND_CRACKDOWNS
|
|
||||||
,serializer: (params) => {
|
|
||||||
console.log($('input:radio[name=sysCode]:checked').val())
|
|
||||||
//alert($('input:radio[name=sysCode]:checked').val())
|
|
||||||
const param = {
|
|
||||||
sch_date_opt: $('#sch_date_opt').val()
|
|
||||||
,sch_date_from: $('#sch_date_from').val()
|
|
||||||
,sch_date_to: $('#sch_date_to').val()
|
|
||||||
,[$('#sch_opt').val()]: $('#sch_word').val()
|
|
||||||
,sysCode: $('input:radio[name=sysCode]:checked').val()
|
|
||||||
,regltSeCode: $('input:radio[name=regltSeCode]:checked').val()
|
|
||||||
,regltProcessSttusCode: $('#regltProcessSttusCode').val()
|
|
||||||
//,cnfmYn: $('input[name=regltYn]:checked').val()
|
|
||||||
,cnfmYn: $('#cnfmYn').val()
|
|
||||||
}
|
|
||||||
console.log(param)
|
|
||||||
return getPageParam(param, params);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
GRID = TuiGrid.of(gridOptions, gridDatasource, (res) => {
|
|
||||||
const gridInfo = pageNav?.gridInfo;
|
|
||||||
if(gridInfo && gridInfo?.pageMove) {
|
|
||||||
const datas = res.data?.contents.map(d => {
|
|
||||||
return {regltId: d.regltId, regltSeCode: d.regltSeCode}
|
|
||||||
});
|
|
||||||
pageNav.resetGrid(res, datas, (pagiNavigation)=>{
|
|
||||||
pageNav = pagiNavigation;
|
|
||||||
if(curClickColName === 'vhcleNo') fnTab0Biz.pagePopup('total', pageNav.gridInfo.curRowData);
|
|
||||||
else fnTab0Biz.pagePopup('detail', pageNav.gridInfo.curRowData);
|
|
||||||
})
|
|
||||||
}
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
/**************************************************************************
|
|
||||||
* initialize
|
|
||||||
**************************************************************************/
|
|
||||||
$(document).ready(function(){
|
|
||||||
$('#sch_date_from').datepicker('setDate', DateUtil.getDateDay(-5475).date);
|
|
||||||
$('#sch_date_to').datepicker('setDate', new Date());
|
|
||||||
initTab0Grid();
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
Loading…
Reference in New Issue