|
|
|
@ -13,6 +13,8 @@ Date Author Description
|
|
|
|
|
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
|
|
|
|
<%@ include file="/WEB-INF/jsp/framework/taglibs.jsp"%>
|
|
|
|
|
<c:set var="citizen" value="<%= FimsConst.RegltSeCode.CITIZEN.getCode() %>"/>
|
|
|
|
|
<c:set var="ctznCmpl" value="<%= FimsConst.MinwonGubunCode.COMPLAIN.getCode() %>"/>
|
|
|
|
|
<c:set var="vhcleNoCmpl" value="<%= FimsConst.MinwonGubunCode.VHCLE_NO_CMPL.getCode() %>"/>
|
|
|
|
|
|
|
|
|
|
<style>
|
|
|
|
|
#regltProcessSttusCode {
|
|
|
|
@ -34,10 +36,43 @@ Date Author Description
|
|
|
|
|
<%--2022.10.05 박소영 웹폰트 링크 추가--%>
|
|
|
|
|
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700&display=swap" rel="stylesheet">
|
|
|
|
|
|
|
|
|
|
<div class="conttitle">
|
|
|
|
|
<div style="display: flex" class="conttitle">
|
|
|
|
|
<img src="${ctx }/resources/biz/content/images/common/main/titleLogo_01.png"/>
|
|
|
|
|
<p class="title">개별총정보</p>
|
|
|
|
|
<%-- <%@include file="/WEB-INF/jsp/framework/biz-popup-tab-btn.jsp" %>--%>
|
|
|
|
|
<div class="popup_btn">
|
|
|
|
|
<div class="flr p_flr">
|
|
|
|
|
|
|
|
|
|
<!--
|
|
|
|
|
<a href="#" class="btn blue" id="prev">prev</a>
|
|
|
|
|
<span id="totCnt" style="padding: 0 10px;"></span>
|
|
|
|
|
<a href="#" class="btn blue" id="next">next</a>
|
|
|
|
|
-->
|
|
|
|
|
<button type="button" id="double_prev" name="double_prev">
|
|
|
|
|
<img src="/resources/images/btn/double_prev.png"/>
|
|
|
|
|
</button>
|
|
|
|
|
<button type="button" id="prev" name="prev">
|
|
|
|
|
<img src="/resources/images/btn/btn_prev.png"/>
|
|
|
|
|
</button>
|
|
|
|
|
<span id="totCnt" style="padding: 0 10px;"></span>
|
|
|
|
|
<button type="button" id="next" name="next">
|
|
|
|
|
<img src="/resources/images/btn/btn_next.png"/>
|
|
|
|
|
</button>
|
|
|
|
|
<button type="button" id="double_next" name="double_next">
|
|
|
|
|
<img src="/resources/images/btn/double_next.png"/>
|
|
|
|
|
</button>
|
|
|
|
|
</div>
|
|
|
|
|
<c:choose>
|
|
|
|
|
<c:when test="${isUpdate}">
|
|
|
|
|
<a href="#" class="btn blue" id="btnModify">변경</a>
|
|
|
|
|
<a href="#" class="btn red" id="btnRemove">삭제</a>
|
|
|
|
|
</c:when>
|
|
|
|
|
<c:otherwise>
|
|
|
|
|
<a href="#" class="btn blue" id="btnRegist">등록</a>
|
|
|
|
|
</c:otherwise>
|
|
|
|
|
</c:choose>
|
|
|
|
|
<a href="#" id='btnClose' class="btn lightgray">닫기</a>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="row">
|
|
|
|
@ -579,8 +614,7 @@ Date Author Description
|
|
|
|
|
<div class="box mT_02">
|
|
|
|
|
<div class="w_fix04 gridGroup">
|
|
|
|
|
<p class="title deco_01">민원 내용</p>
|
|
|
|
|
<input type="hidden" id="content" name="content">
|
|
|
|
|
<textarea id="content1" name="content1" cols="0" rows="15" style="overflow-y: scroll; width:100%;"></textarea>
|
|
|
|
|
<textarea id="content0" name="content0" cols="0" rows="15" style="overflow-y: scroll; width:100%;"></textarea>
|
|
|
|
|
<div class="popup_btn_02">
|
|
|
|
|
<span>
|
|
|
|
|
<a href="#" class="btn blue" id="btnMinWonRegist" style="display: none;">등록</a>
|
|
|
|
@ -593,7 +627,7 @@ Date Author Description
|
|
|
|
|
<div class="box mT_02">
|
|
|
|
|
<div class="w_fix04 gridGroup">
|
|
|
|
|
<p class="title deco_01">차량번호 민원 내용</p>
|
|
|
|
|
<textarea id="content2" name="content2" cols="0" rows="15" style="overflow-y: scroll; width:100%;"></textarea>
|
|
|
|
|
<textarea id="content1" name="content1" cols="0" rows="15" style="overflow-y: scroll; width:100%;"></textarea>
|
|
|
|
|
<div class="popup_btn_02">
|
|
|
|
|
<span>
|
|
|
|
|
<a href="#" class="btn blue" id="btnCarMinWonRegist" style="display: none;">등록</a>
|
|
|
|
@ -614,7 +648,7 @@ Date Author Description
|
|
|
|
|
<%-- </div>--%>
|
|
|
|
|
</div>
|
|
|
|
|
</div><!--popupTabs -->
|
|
|
|
|
<%@include file="/WEB-INF/jsp/framework/biz-popup-tab-btn.jsp" %>
|
|
|
|
|
<%-- <%@include file="/WEB-INF/jsp/framework/biz-popup-tab-btn.jsp" %>--%>
|
|
|
|
|
</div><!--row -->
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript" src="${pageContext.request.contextPath}/resources/framework/js/cmm/cmmDownloadImg.js"></script>
|
|
|
|
@ -626,6 +660,8 @@ Date Author Description
|
|
|
|
|
var imageEditorPopup = (flag, params) => fnPopupBiz.pagePopup(flag, params);
|
|
|
|
|
var callbackReloadImage = () => fnPopupBiz.downloadImg();
|
|
|
|
|
let orgData;
|
|
|
|
|
|
|
|
|
|
// 처리상태 변경 이력 / 주소 변동이력 / 전자고지 발송 이력 / 민원 등록 이력 / 차량 번호 민원 등록 이력
|
|
|
|
|
const ARR_TAP_GRID = [null,null,null,null,null];
|
|
|
|
|
const ARR_TAP_NAV = [null,null,null,null,null];
|
|
|
|
|
const ARR_TAP_TOTCNT = [0, 0, 0, 0, 0];
|
|
|
|
@ -741,7 +777,48 @@ Date Author Description
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
,reloadGrid: (idx) => {
|
|
|
|
|
ARR_TAP_GRID.forEach(grid => grid.reloadData())
|
|
|
|
|
ARR_TAP_GRID.forEach(grid => grid.reloadData());
|
|
|
|
|
fnPopupBiz.resetMinwonBtn('${ctznCmpl}', false);
|
|
|
|
|
fnPopupBiz.resetMinwonBtn('${vhcleNoCmpl}', false);
|
|
|
|
|
}
|
|
|
|
|
,addMinwon: (content, gubun) => {
|
|
|
|
|
const data = {
|
|
|
|
|
gubun,
|
|
|
|
|
regltId: schParam.regltId,
|
|
|
|
|
content,
|
|
|
|
|
vhcleNo: gubun === '${vhcleNoCmpl}'? schParam.vhcleNo : ''
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(!confirm('등록하시겠습니까?')) return false;
|
|
|
|
|
cmmAjax({
|
|
|
|
|
url: fimsApiUrl.ADD_CTZN_STTEMNT_CMPLT
|
|
|
|
|
,data: $.param(data)
|
|
|
|
|
,success: (res) => {
|
|
|
|
|
//ARR_TAP_GRID[3].resetData([]);
|
|
|
|
|
//ARR_TAP_GRID[3].refreshLayout();
|
|
|
|
|
if(gubun === '${ctznCmpl}') ARR_TAP_GRID[3].reloadData();
|
|
|
|
|
else ARR_TAP_GRID[4].reloadData();
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
,onCplntHisClickGrid: (props) => {
|
|
|
|
|
const rowData = props.grid.getRow(props.rowKey);
|
|
|
|
|
if(props.grid.el.id === 'grid_cplnt'){
|
|
|
|
|
$('#content0').val(rowData.content);
|
|
|
|
|
}else{
|
|
|
|
|
$('#content1').val(rowData.content);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
,resetMinwonBtn: (gubun, isShow) => {
|
|
|
|
|
$('#content'+gubun).val('');
|
|
|
|
|
switch(gubun) {
|
|
|
|
|
case '0':
|
|
|
|
|
isShow === true ? $("#btnMinWonRegist").show(): $("#btnMinWonRegist").hide();
|
|
|
|
|
break;
|
|
|
|
|
case '1':
|
|
|
|
|
isShow === true ? $("#btnCarMinWonRegist").show(): $("#btnCarMinWonRegist").hide();
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
@ -801,29 +878,21 @@ Date Author Description
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$('#btnMinWonNew').on('click', () => {
|
|
|
|
|
$('#content').val('');
|
|
|
|
|
$('#content1').val('');
|
|
|
|
|
$("#btnMinWonRegist").show();
|
|
|
|
|
fnPopupBiz.resetMinwonBtn('${ctznCmpl}', true);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$('#btnCarMinWonNew').on('click', () => {
|
|
|
|
|
$('#content').val('');
|
|
|
|
|
$('#content2').val('');
|
|
|
|
|
$("#btnCarMinWonRegist").show();
|
|
|
|
|
fnPopupBiz.resetMinwonBtn('${vhcleNoCmpl}', true);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$('#btnMinWonRegist').on('click', () => {
|
|
|
|
|
$('#content').val($('#content1').val());
|
|
|
|
|
const formData = $("#frmCmplt").serialize() + `®ltId=${param.regltId}&gubun=0`;
|
|
|
|
|
|
|
|
|
|
cmmBizAjax('저장', {
|
|
|
|
|
url: fimsApiUrl.ADD_CTZN_STTEMNT_CMPLT
|
|
|
|
|
, data: formData
|
|
|
|
|
})
|
|
|
|
|
fnPopupBiz.addMinwon($('#content0').val(), '${ctznCmpl}');
|
|
|
|
|
fnPopupBiz.resetMinwonBtn('${ctznCmpl}', false);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$('#btnCarMinWonRegist').on('click', () => {
|
|
|
|
|
$('#content').val($('#content2').val());
|
|
|
|
|
fnPopupBiz.addMinwon($('#content1').val(), '${vhcleNoCmpl}')
|
|
|
|
|
fnPopupBiz.resetMinwonBtn('${vhcleNoCmpl}', false);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
@ -1038,50 +1107,59 @@ Date Author Description
|
|
|
|
|
align: 'center'
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
const vhcleNoCplntHisColumns = [ //Grid 컬럼 정보(명칭,매핑 field, 기타옵션 등)
|
|
|
|
|
const vhcleNoCplntHisColumns = [
|
|
|
|
|
{
|
|
|
|
|
header: '등록일시',
|
|
|
|
|
name: 'registDt',
|
|
|
|
|
width: 90,
|
|
|
|
|
//editor: 'text',
|
|
|
|
|
sortable: true,
|
|
|
|
|
align: 'center'
|
|
|
|
|
},
|
|
|
|
|
// {
|
|
|
|
|
// header: '요일',
|
|
|
|
|
// name: 'registDt2',
|
|
|
|
|
// width: 90,
|
|
|
|
|
// //editor: 'text',
|
|
|
|
|
// sortable: true,
|
|
|
|
|
// align: 'center'
|
|
|
|
|
// },
|
|
|
|
|
{
|
|
|
|
|
header: '등록자',
|
|
|
|
|
name: 'register',
|
|
|
|
|
width: 90,
|
|
|
|
|
header: '내용',
|
|
|
|
|
name: 'content',
|
|
|
|
|
minWidth: 150,
|
|
|
|
|
//editor: 'text',
|
|
|
|
|
sortable: false,
|
|
|
|
|
align: 'center'
|
|
|
|
|
align: 'center',
|
|
|
|
|
renderer: {
|
|
|
|
|
type: CustomButtonRenderer,
|
|
|
|
|
options: {
|
|
|
|
|
formatter: (props)=>{
|
|
|
|
|
return {
|
|
|
|
|
formatter: props.grid.getRow(props.rowKey).content
|
|
|
|
|
,element: "text"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
,eventFunction: fnPopupBiz.onCplntHisClickGrid
|
|
|
|
|
,eventType: "click"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
header: '차량번호',
|
|
|
|
|
name: 'vhcleNo',
|
|
|
|
|
width: 90,
|
|
|
|
|
minWidth: 90,
|
|
|
|
|
//editor: 'text',
|
|
|
|
|
sortable: false,
|
|
|
|
|
align: 'center'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
header: '내용',
|
|
|
|
|
name: 'content',
|
|
|
|
|
width: 90,
|
|
|
|
|
header: '등록일시',
|
|
|
|
|
name: 'registDt',
|
|
|
|
|
minWidth: 120,
|
|
|
|
|
//editor: 'text',
|
|
|
|
|
sortable: true,
|
|
|
|
|
align: 'center',
|
|
|
|
|
formatter({value}) {
|
|
|
|
|
return setDateTimeFmt(value);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
header: '등록자',
|
|
|
|
|
name: 'register',
|
|
|
|
|
minWidth: 120,
|
|
|
|
|
//editor: 'text',
|
|
|
|
|
sortable: false,
|
|
|
|
|
align: 'center'
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
const cplntHisColumns = vhcleNoCplntHisColumns.filter((_, index) => index !== 3 );
|
|
|
|
|
const cplntHisColumns = vhcleNoCplntHisColumns.filter((_, index) => index !== 1 );
|
|
|
|
|
|
|
|
|
|
// 처리상태 변경 이력 DataSource
|
|
|
|
|
const changStsHisDatasource = {
|
|
|
|
@ -1172,20 +1250,34 @@ Date Author Description
|
|
|
|
|
bodyHeight: 250,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 처리상태 변동이력
|
|
|
|
|
ARR_TAP_GRID[0] = TuiGrid.of({...changStsHisOptions, columns: changeStsHisColumns}, changStsHisDatasource, (res) => {
|
|
|
|
|
ARR_TAP_GRID[0].resetData([]);
|
|
|
|
|
ARR_TAP_GRID[0].refreshLayout();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 주소 변동 이력
|
|
|
|
|
ARR_TAP_GRID[1] = TuiGrid.of({...addrHisOptions, el: 'grid_addr_his', columns: addrHisColumns}, addrHisDatasource, (res) => {
|
|
|
|
|
ARR_TAP_GRID[1].resetData([]);
|
|
|
|
|
ARR_TAP_GRID[1].refreshLayout();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 전자고지 발송 이력
|
|
|
|
|
ARR_TAP_GRID[2] = TuiGrid.of({...addrHisOptions, el: 'grid_etrn_noti_his', columns: etrnNotiHisColumns}, etrnNotiSndHisDatasource, (res) => {
|
|
|
|
|
ARR_TAP_GRID[2].resetData([]);
|
|
|
|
|
ARR_TAP_GRID[2].refreshLayout();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 민원 등록 내역
|
|
|
|
|
ARR_TAP_GRID[3] = TuiGrid.of({...etrnNotiHisOptions, el: 'grid_cplnt', columns: cplntHisColumns}, cplntHisDatasource, (res) => {
|
|
|
|
|
console.log(res);
|
|
|
|
|
ARR_TAP_GRID[3].resetData(res.data?.contents);
|
|
|
|
|
ARR_TAP_GRID[3].resetData([]);
|
|
|
|
|
ARR_TAP_GRID[3].refreshLayout();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 차량 번호 민원 등록 내역
|
|
|
|
|
ARR_TAP_GRID[4] = TuiGrid.of({...etrnNotiHisOptions, el: 'grid_vhcle_no_cplnt', columns: vhcleNoCplntHisColumns}, vhcleNoCplntHisHisDatasource, (res) => {
|
|
|
|
|
ARR_TAP_GRID[4].resetData([]);
|
|
|
|
|
ARR_TAP_GRID[4].refreshLayout();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const gridResposeSet = (res, idx) => {
|
|
|
|
|