feat: 단속현황 관리 진행
parent
f9d53afb82
commit
43ab8d0edf
@ -0,0 +1,330 @@
|
||||
<%--
|
||||
================================================================================
|
||||
File : /fims/biz/cmm/cmmCrackdownRcvFilePopup.jsp
|
||||
Name : 외부연계파일 처리 - 단속관리>단속현황관리>외부자료연계탭>연계파일처리
|
||||
Auth : lim.jong.uk
|
||||
Date : 2022-01-20
|
||||
Desc : 외부연계파일 처리
|
||||
================================================================================
|
||||
Date Author Description
|
||||
================================================================================
|
||||
================================================================================
|
||||
--%>
|
||||
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ include file="/WEB-INF/jsp/framework/taglibs.jsp" %>
|
||||
|
||||
<div class="popup" style="min-width: 100%;">
|
||||
<div class="popup_inner" style="max-width: 800px;">
|
||||
<p class="pop_title">CCTV 단속 자료 선택</p>
|
||||
<form name="frmSearch" id="frmSearch">
|
||||
<div class="search r2">
|
||||
<table>
|
||||
<caption>검색조건</caption>
|
||||
<colgroup>
|
||||
<col style="width: 30%"/>
|
||||
<col/>
|
||||
<col/>
|
||||
<col/>
|
||||
<col/>
|
||||
<col/>
|
||||
<col/>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<code:select type="CMM_ETC2" id="regltSeCode" name="regltSeCode" codeId="FIM002" defaultSelect="01" onchange="fnBiz.onComboChange()" title="단속구분코드" cls="selectBoxTotal" alt="단속구분코드" />
|
||||
</td>
|
||||
<td colspan="6">
|
||||
<input id="folder" type="file" webkitdirectory multiple="false"/>
|
||||
<input id="busOnlyDirPath" name="dirPath" type="text" size="400" value="<c:out value='${busOnlyDirPath}'/>" title="버스전용차로데이타경로" style="display: none; width: 100%" readonly/>
|
||||
<input id="ctznDirPath" name="dirPath" type="text" size="400" value="<c:out value='${ctznDirPath}'/>" title="시민신고" style="display: none; width: 100%" readonly/>
|
||||
<span id="warnMsg" style="color: red; font-weight: bold; display: inline-block">동일한 데이타 선택시 중복 처리될수 있습니다.</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
<div class="popup_btn">
|
||||
<span class="fll">
|
||||
<div class="list clearfix" id="totCnt">전체 ㅣ <span>0</span></div>
|
||||
</span>
|
||||
</div>
|
||||
<div id="grid"></div>
|
||||
<div class="popup_btn">
|
||||
<span class="flr p_flr">
|
||||
<a href="#" class="btn blue" id="btnRegist">파일 처리</a>
|
||||
<a href="#" id="btnClose" class="btn lightgray">닫기</a>
|
||||
</span>
|
||||
</div>
|
||||
<!-- //등록버튼 -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- //popup -->
|
||||
|
||||
<script type="text/javaScript">
|
||||
/**************************************************************************
|
||||
* Global Variable
|
||||
**************************************************************************/
|
||||
let GRID = null;
|
||||
let arrFiles = [];
|
||||
|
||||
/* *******************************
|
||||
* Biz function
|
||||
******************************* */
|
||||
const fnBiz = {
|
||||
fileSelect: (e) => {
|
||||
//const output = document.querySelector("ul");
|
||||
arrFiles = [];
|
||||
const files = e.target.files;
|
||||
const arrFile = [];
|
||||
|
||||
for (let i=0; i<files.length; i++) {
|
||||
// const item = document.createElement("li");
|
||||
// item.innerHTML = files[i].webkitRelativePath;
|
||||
// output.appendChild(item);
|
||||
arrFile.push({
|
||||
filePath: '',
|
||||
fileNm: files[i].name,
|
||||
fileType: files[i].type,
|
||||
fileSize: files[i].size,
|
||||
//lastModified: files[i].lastModified
|
||||
lastModified: files[i].lastModifiedDate
|
||||
})
|
||||
arrFiles.push(files[i]);
|
||||
}
|
||||
GRID.resetData(arrFile);
|
||||
$('#totCnt span').text(arrFile.length);
|
||||
}
|
||||
,search: () => {
|
||||
GRID.reloadData();
|
||||
//FIXME : onGridUpdated
|
||||
GRID.on('onGridUpdated', (ev) => {
|
||||
//console.log('%%%%%%%%%%%%%>>>>>>>',ev)
|
||||
}) // 그리드 레이아웃 새로고침 (로드가 다 되지 않는 경우 그리드가 흰색 화면으로 출력될 때가 있다.))
|
||||
}
|
||||
,add: () => {
|
||||
const arrChecks = GRID.getData();
|
||||
|
||||
if(arrChecks.length===0) {
|
||||
alert("등록[변경]할 데이타가 없습니다.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if(confirm("등록 하시겠습니까?")) {
|
||||
const regltSeCode = $('#regltSeCode').val();
|
||||
if(regltSeCode !== '07' && regltSeCode !== '09') {
|
||||
|
||||
const formData = new FormData();
|
||||
arrFiles.forEach((f)=> {
|
||||
formData.append("files", f)
|
||||
})
|
||||
|
||||
$.ajax({
|
||||
type: 'post'
|
||||
, enctype: "multipart/form-data"
|
||||
<%--, url: '<c:url value="/fims/biz/ec/saveCctvCrackdownDatas.do"/>'--%>
|
||||
, url: fimsApiUrl.SAVE_CCTV_EC_EXTRL_REGLT_CNTCS
|
||||
, data: formData
|
||||
, processData: false
|
||||
, contentType: false
|
||||
, success: (res) => {
|
||||
if (res) {
|
||||
alert(res.message);
|
||||
fnBiz.search();
|
||||
}
|
||||
//fnBiz.search();
|
||||
}
|
||||
, error: (xhr, status, err) => {
|
||||
}
|
||||
})
|
||||
|
||||
}else {
|
||||
const data = {
|
||||
filePath: regltSeCode === '07' ? $('#busOnlyDirPath').val() : $('#ctznDirPath').val()
|
||||
,fileInfoList: arrChecks.map((row) => {
|
||||
return {fileNm: row.fileNm, fileType: row.fileType, fileSize: row.fileSize}
|
||||
})
|
||||
}
|
||||
cmmAjax({
|
||||
<%--url: '<c:url value="/fims/biz/ec/saveBusCctvCrackdownDatas.do"/>'--%>
|
||||
url: regltSeCode === '07' ? fimsApiUrl.SAVE_BUS_ONLY_EC_EXTRL_REGLT_CNTC : fimsApiUrl.SAVE_EC_NATL_NEWS_PAPER
|
||||
,data: JSON.stringify(data)
|
||||
,contentType: 'application/json; charset=utf-8'
|
||||
,success: () => {
|
||||
fnBiz.search();
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
,onComboChange: () => {
|
||||
$('#totCnt span').text(0);
|
||||
|
||||
if($('#regltSeCode').val() === '07') {
|
||||
$('#folder')
|
||||
.css('display', 'none')
|
||||
.attr('disabled', true);
|
||||
$('#busOnlyDirPath')
|
||||
.css('display', 'inline-block')
|
||||
.attr('disabled', false);
|
||||
$('#ctznDirPath')
|
||||
.css('display', 'none')
|
||||
.attr('disabled', true);
|
||||
$('#warnMsg').css('display', 'none')
|
||||
.attr('disabled', true);
|
||||
GRID.reloadData();
|
||||
|
||||
}else if($('#regltSeCode').val() === '09'){
|
||||
$('#folder')
|
||||
.css('display', 'none')
|
||||
.attr('disabled', true);
|
||||
$('#busOnlyDirPath')
|
||||
.css('display', 'none')
|
||||
.attr('disabled', true);
|
||||
$('#ctznDirPath')
|
||||
.css('display', 'inline-block')
|
||||
.attr('disabled', false);
|
||||
$('#warnMsg').css('display', 'none')
|
||||
.attr('disabled', true);
|
||||
GRID.reloadData();
|
||||
|
||||
}else{
|
||||
$('#folder')
|
||||
.css('display', 'inline-block')
|
||||
.attr('disabled', false);
|
||||
$('#busOnlyDirPath')
|
||||
.css('display', 'none')
|
||||
.attr('disabled', true);
|
||||
$('#ctznDirPath')
|
||||
.css('display', 'none')
|
||||
.attr('disabled', true);
|
||||
$('#warnMsg').css('display', 'inline-block')
|
||||
.attr('disabled', false);
|
||||
GRID.resetData([]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* event
|
||||
**************************************************************************/
|
||||
$(() => {
|
||||
$(window).on("unload", function (e) {
|
||||
window.opener?.unblockUI();
|
||||
window.opener?.callbackSearch();
|
||||
return null;
|
||||
});
|
||||
|
||||
$("#btnClose").on('click', () => {
|
||||
window.close()
|
||||
});
|
||||
|
||||
$('#folder').on('change', function(e) {
|
||||
//document.getElementById("folder").select();
|
||||
//document.selection.clear();
|
||||
fnBiz.fileSelect(e)
|
||||
});
|
||||
|
||||
$('#btnSearch').on('click', () => fnBiz.search());
|
||||
|
||||
$('#btnRegist').on('click', () => {
|
||||
fnBiz.add();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
/* *******************************
|
||||
* Grid
|
||||
******************************* */
|
||||
const initGrid = () => {
|
||||
const gridColumns = [
|
||||
{
|
||||
header: '경로',
|
||||
name: 'filePath',
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
header: '이름',
|
||||
name: 'fileNm',
|
||||
width: 420,
|
||||
//minWidth: 250,
|
||||
sortingType: 'desc',
|
||||
sortable: true,
|
||||
filter: 'select' //fiter 옵션(select/text/number/date/.. 등이 있으며 설정방법은 상이하므로 사이트 참조)
|
||||
},
|
||||
{
|
||||
header: '타입',
|
||||
name: 'fileType',
|
||||
width: 30,
|
||||
align: 'center',
|
||||
sortable: true,
|
||||
},
|
||||
{
|
||||
header: '크기',
|
||||
name: 'fileSize',
|
||||
width: 80,
|
||||
sortable: true,
|
||||
align: 'right',
|
||||
formatter({value}){
|
||||
return new Intl.NumberFormat('ko').format(value);
|
||||
}
|
||||
},
|
||||
{
|
||||
header: '생성일시',
|
||||
name: 'lastModified',
|
||||
width: 120,
|
||||
sortable: true,
|
||||
align: 'center',
|
||||
formatter({value}){
|
||||
//return setDateTimeFmt(value);
|
||||
return value;
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
const gridOptions = {
|
||||
el: 'grid',
|
||||
rowHeaders: ['rowNum'],
|
||||
columns: gridColumns,
|
||||
//FIXME : 페이징 미사용시
|
||||
//페이지처리 hide
|
||||
pagination: false,
|
||||
pageOptions: {
|
||||
useClient: true,
|
||||
perPage: 1000
|
||||
},
|
||||
columnOptions: {
|
||||
frozenCount: 1
|
||||
},
|
||||
bodyHeight: 400
|
||||
};
|
||||
|
||||
const gridDatasource = { //DataSource
|
||||
initialRequest: false,
|
||||
api: {
|
||||
readData: {
|
||||
url: fimsApiUrl.FIND_RCV_PATH_FILES
|
||||
,serializer: (params) => {
|
||||
if($('#regltSeCode').val() === '07') {
|
||||
return getPageParam({dirPath: $('#busOnlyDirPath').val()}, params);
|
||||
}else if($('#regltSeCode').val() === '09') {
|
||||
return getPageParam({dirPath: $('#ctznDirPath').val()}, params);
|
||||
}
|
||||
return params;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
GRID = TuiGrid.of(gridOptions, gridDatasource, (ev) => {
|
||||
});
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* initialize
|
||||
**************************************************************************/
|
||||
$(document).ready(function(){
|
||||
initGrid();
|
||||
});
|
||||
</script>
|
@ -0,0 +1,667 @@
|
||||
<%--
|
||||
================================================================================
|
||||
File : /fims/biz/cmm/cmmCrackdownMgtPopup.jsp
|
||||
Name : 단속 처리 메인 팝업 - 단속관리>단속현황관리
|
||||
Auth : lim.jong.uk
|
||||
Date : 2022-01-20
|
||||
Desc : 단속자료 처리를 위한 메인 팝업
|
||||
================================================================================
|
||||
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="isUpdate" value="${!empty regltDTO.regltId}"/>
|
||||
|
||||
<%--2022.10.05 박소영 웹폰트 링크 추가--%>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700&display=swap" rel="stylesheet">
|
||||
|
||||
<form id="frmSearch" name="frmSearch">
|
||||
<input type="hidden" id="payerId" name="payerId" value="<c:out value="${regltDTO.payerId }"/>">
|
||||
|
||||
<div class="conttitle">
|
||||
<img src="${ctx }/resources/biz/content/images/common/main/titleLogo_01.png"/>
|
||||
<p class="title">개별총정보</p>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div id="popupTabs">
|
||||
<ul>
|
||||
<li><a href="#tabs_0" id="0">위반정보<span id="t0"></span></a></li>
|
||||
<li><a href="#tabs_1" id="1">의견진술<span id="t1"></span></a></li>
|
||||
<li><a href="#tabs_2" id="2">세부내역<span id="t2"></span></a></li>
|
||||
<li><a href="#tabs_3" id="3">민원내역<span id="t3"></span></a></li>
|
||||
</ul>
|
||||
|
||||
<div id="tabs_0">
|
||||
<div class="w_fix01 gridGroup">
|
||||
<p class="title deco_01">위반정보</p>
|
||||
<table class="basics_F mTB_01">
|
||||
<colgroup>
|
||||
<col style="width: 5%;"/>
|
||||
<col style="width: 12%;"/>
|
||||
<col style="width: 4%;"/>
|
||||
<col style="width: 13%;"/>
|
||||
<col style="width: 4%;"/>
|
||||
<col style="width: 13%;"/>
|
||||
</colgroup>
|
||||
<tr>
|
||||
<td colspan="6"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>등록구분</td>
|
||||
<td><input type="text" id="regltId" name="regltId" value="<c:out value="${regltDTO.regltId }"/>">
|
||||
</td>
|
||||
<td>자료출처</td>
|
||||
<td><input type="text" name="" value=""></td>
|
||||
<td colspan="0"><label><input type="checkbox" value="의견진술">의견진술</label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>단속일</td>
|
||||
<td>
|
||||
<fmt:parseDate value="${regltDTO.regltDe}" var="regltDe" pattern="yyyyMMdd"/>
|
||||
<input type="text" name="regltDe" value='<fmt:formatDate value="${regltDe}" pattern="yyyy-MM-dd"/>' readonly>
|
||||
</td>
|
||||
<td>차량번호</td>
|
||||
<td colspan="2"><input type="text" id="vhcleNo" name="vhcleNo" value="${regltDTO.vhcleNo }"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>단속구분</td>
|
||||
<td>
|
||||
<code:select id="regltSeCode" name="regltSeCode" codeId="FIM002" defaultSelect="${regltDTO.regltSeCode}" title="단속구분코드" cls="selectBoxTotal" alt="단속구분코드" />
|
||||
</td>
|
||||
<td>위반내역</td>
|
||||
<td colspan="2">
|
||||
<code:select id="violtDtlsCode" name="violtDtlsCode" codeId="FIM004" defaultSelect="${regltDTO.violtDtlsCode}" title="위반내역코드" cls="selectBoxTotal" alt="위반내역코드"/>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td>단속장소</td>
|
||||
<td colspan="4"><input type="text" id="regltPlace" name="regltPlace" value="${regltDTO.regltPlace}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>등록일시</td>
|
||||
<td>
|
||||
<fmt:parseDate value="${regltDTO.registDt}" var="registDt" pattern="yyyyMMddHHmmss"/>
|
||||
<input type="text" name="registDt" value='<fmt:formatDate value="${registDt}" pattern="yyyy-MM-dd HH:mm:ss"/>' readonly>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
<table class="basics_F mTB_01">
|
||||
<colgroup>
|
||||
<col style="width: 5%;"/>
|
||||
<col style="width: 12%;"/>
|
||||
<col style="width: 4%;"/>
|
||||
<col style="width: 13%;"/>
|
||||
<col style="width: 3%;"/>
|
||||
<col style="width: 15%;"/>
|
||||
</colgroup>
|
||||
<tr>
|
||||
<td colspan="6"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>위반횟수</td>
|
||||
<td>
|
||||
<input type="text" id="violtCo" name="violtCo" value='<fmt:formatNumber type="number" value="${regltDTO.violtCo}" pattern="#,###"/>' style="text-align: right">
|
||||
</td>
|
||||
<td>시군구</td>
|
||||
<td>
|
||||
<input type="text" name="" value="<%--${regltDTO.signgu_code}--%>">
|
||||
</td>
|
||||
<td>법정동</td>
|
||||
<td>
|
||||
<input type="text" name="" value="">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>사전통지금액</td>
|
||||
<td>
|
||||
<input type="text" name="redutionAftAmount" value='<fmt:formatNumber type="number" value="${regltDTO.redutionAftAmount}" pattern="#,###"/>' style="text-align: right">
|
||||
</td>
|
||||
<td>부과금액</td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="" value='<fmt:formatNumber type="number" value="1111111" pattern="#,###"/>' style="text-align: right">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>감액금액</td>
|
||||
<td>
|
||||
<input type="text" name="redutionAmount" value='<fmt:formatNumber type="number" value="${regltDTO.redutionAmount}" pattern="#,###"/>' style="text-align: right">
|
||||
</td>
|
||||
<td>총수납액</td>
|
||||
<td>
|
||||
<input type="text" name="rcivAmount" value='<fmt:formatNumber type="number" value="${regltDTO.rcivAmount}" pattern="#,###"/>' style="text-align: right">
|
||||
</td>
|
||||
<td>잔액</td>
|
||||
<td>
|
||||
<input type="text" name="" value='<fmt:formatNumber type="number" value="22222222222" pattern="#,###"/>' style="text-align: right">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>특이사항</td>
|
||||
<td colspan="4">
|
||||
<input type="text" id="spcmntMatter" name="spcmntMatter" value="${regltDTO.spcmntMatter}">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>처리상태</td>
|
||||
<td colspan="4">
|
||||
<code:select id="regltProcessSttusCode" name="regltProcessSttusCode" codeId="FIM010" defaultSelect="${regltDTO.regltProcessSttusCode}" title="위반내역코드" cls="selectBoxTotal" alt="위반내역코드"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<%--<p class="title deco_01 mT_02">소유주 정보</p>
|
||||
<table class="basics_F mTB_01 mT_02">
|
||||
<colgroup>
|
||||
<col style="width: 5%;"/>
|
||||
<col style="width: 12%;"/>
|
||||
<col style="width: 4%;"/>
|
||||
<col style="width: 13%;"/>
|
||||
<col style="width: 3%;"/>
|
||||
<col style="width: 15%;"/>
|
||||
</colgroup>
|
||||
<tr>
|
||||
<td>소유주</td>
|
||||
<td><input type="text" id="payerNm" name="payerNm" value="${regltDTO.payerNm}"></td>
|
||||
<td>aaa</td>
|
||||
<td><input type="text" id="" name="" value=""></td>
|
||||
<td>등록구분</td>
|
||||
<td><input type="text" id="" name="" value=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>주민번호</td>
|
||||
<td><input type="text" id=payerNo"" name="payerNo" value="${regltDTO.payerNo}"></td>
|
||||
<td>aaaa</td>
|
||||
<td><input type="text" id="" name="" value=""></td>
|
||||
<td>우편번호</td>
|
||||
<td><input type="text" id="zip" name="zip" value="${regltDTO.zip}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>주소</td>
|
||||
<td colspan="4"><input type="text" id="adres" name="adres" value="${regltDTO.adres}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>상세주소</td>
|
||||
<td colspan="4"><input type="text" id="detailAdres" name="detailAdres" value="${regltDTO.detailAdres}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>차대번호</td>
|
||||
<td colspan="3"><input type="text" id="" name="" value=""></td>
|
||||
<td>도로코드</td>
|
||||
<td><input type="text" id="" name="" value=""></td>
|
||||
</tr>
|
||||
</table>--%>
|
||||
</div>
|
||||
<div class="topBtnArea-a" style="/*width: 900px;*/ min-width: 420px; width:75%;">
|
||||
<ul class="btnList" <%--style="margin-top: -24px;"--%>>
|
||||
<li>
|
||||
<%@include file="/WEB-INF/jsp/framework/biz-popup-btn.jsp" %>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="tabs_1" style="display: flex;">
|
||||
<div class="w_fix02 gridGroup mR_01">
|
||||
<p class="title deco_01">진술내역</p>
|
||||
<table class="basics_F mTB_01">
|
||||
<colgroup>
|
||||
<col style="width: 10%;"/>
|
||||
<col style="width: 0%;"/>
|
||||
<col style="width: 0%;"/>
|
||||
<col style="width: 13%;"/>
|
||||
<col style="width: 10%;"/>
|
||||
<col style="width: 27%;"/>
|
||||
</colgroup>
|
||||
<tr>
|
||||
<td colspan="6"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>등록구분</td>
|
||||
<td colspan="3"><input type="text"></td>
|
||||
<td>진술일</td>
|
||||
<td><input type="text"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>성명</td>
|
||||
<td colspan="3"><input type="text">
|
||||
</td>
|
||||
<td>주민등록번호</td>
|
||||
<td><input type="text"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>주소</td>
|
||||
<td colspan="5"><input type="text"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>번지</td>
|
||||
<td colspan="5"><input type="text"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>우편번호</td>
|
||||
<td colspan="3"><input type="text"></td>
|
||||
<td>연락처</td>
|
||||
<td><input type="text"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>차주와의 관계</td>
|
||||
<td colspan="3"><input type="text"></td>
|
||||
<td>이메일 주소</td>
|
||||
<td><input type="text"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>회신방법</td>
|
||||
<td colspan="3"><input type="text"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>진술요지</td>
|
||||
<td colspan="6"><input type="text" style=" width:88%;"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="position: absolute;">진술 내용</td>
|
||||
<td colspan="6"><textarea cols="0" rows="15"
|
||||
style="overflow-y: scroll; width:90%;"></textarea></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="w_fix02 gridGroup">
|
||||
<p class="title deco_01">판정</p>
|
||||
<table class="basics_F mTB_01">
|
||||
<colgroup>
|
||||
<col style="width: 10%;"/>
|
||||
<col style="width: 20%;"/>
|
||||
<col style="width: 10%;"/>
|
||||
<col style="width: 20%;"/>
|
||||
</colgroup>
|
||||
|
||||
<tr>
|
||||
<td colspan="4"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>처리일시</td>
|
||||
<td colspan="3"><input type="text"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>처리결과</td>
|
||||
<td colspan="3"><input type="text">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="position: absolute;">담당자 의견</td>
|
||||
<td colspan="4"><textarea cols="50" rows="15"
|
||||
style="overflow-y: scroll; width:90%;"></textarea></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div id="tabs_2">
|
||||
<div class="w_fix05">
|
||||
<%-- <div class="w_fix03 gridGroup">
|
||||
<div style="width: 100%; border:0px solid black">
|
||||
<p class="title deco_01">처리상태 변동이력</p>
|
||||
<div id="grid_t0"></div>
|
||||
<%–삭제조심–%>
|
||||
</div>
|
||||
</div>--%>
|
||||
<div class="w_fix04 gridGroup">
|
||||
<p class="title deco_01">감경처리</p>
|
||||
<table class="basics_F mTB_02">
|
||||
<colgroup>
|
||||
<col style="width: 21%;"/>
|
||||
<col style="width: 8%;"/>
|
||||
<col style="width: 11%;"/>
|
||||
</colgroup>
|
||||
<tr>
|
||||
<td>처리일</td>
|
||||
<td colspan="4"><input type="text" id="" name="" value="">
|
||||
</td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>감경사유</td>
|
||||
<td colspan="4"><input type="text" id="" name="" value="">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>감경금액</td>
|
||||
<td colspan="4"><input type="text" id="redutionAmount" name="redutionAmount" value="${regltDTO.redutionAmount}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>처리자</td>
|
||||
<td colspan="4"><input type="text" name="" value="">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>특이사항</td>
|
||||
<td colspan="4"><input type="textarea" name="" value=""></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="w_fix04 gridGroup">
|
||||
<p class="title deco_01">서손처리</p>
|
||||
<table class="basics_F mTB_02">
|
||||
<colgroup>
|
||||
<col style="width: 21%;"/>
|
||||
<col style="width: 8%;"/>
|
||||
<col style="width: 11%;"/>
|
||||
</colgroup>
|
||||
<tr>
|
||||
<td>처리일</td>
|
||||
<td colspan="4"><input type="text" id="" name="" value="">
|
||||
</td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>감경사유</td>
|
||||
<td colspan="4"><input type="text" id="" name="" value="">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>감경금액</td>
|
||||
<td colspan="4"><input type="text" id="" name="" value=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>처리자</td>
|
||||
<td colspan="4"><input type="text" id="" name="" value="">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>특이사항</td>
|
||||
<td colspan="4"><input type="text" id="" name="" value=""></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<%--box_01--%>
|
||||
<div class="w_fix06 gridGroup">
|
||||
<p class="title deco_02">처리상태 변동이력</p>
|
||||
<div style="display: flex; width: 100%; border:0px solid chocolate; margin-bottom: 5px;">
|
||||
<div id="grid_t0" style="width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w_fix06 gridGroup">
|
||||
<p class="title deco_02">주소 변동이력</p>
|
||||
<div style="display: flex; width: 100%; border:0px solid chocolate; margin-bottom: 5px;">
|
||||
<div id="grid_d1" style="width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w_fix06 gridGroup" style="margin-top:17px;">
|
||||
<p class="title deco_02">발송 이력</p>
|
||||
<div style="display: flex; width: 100%; height:150px; border:0px solid black; margin-bottom: 20px;">
|
||||
<div id="grid_d2" style="width:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="topBtnArea-a" style="/*width: 990px;*/ width:75%; min-width: 430px;">
|
||||
<ul class="btnList">
|
||||
<li>
|
||||
<%@include file="/WEB-INF/jsp/framework/biz-popup-btn.jsp" %>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="tabs_3">
|
||||
<div class="w_fix05-a gridGroup">
|
||||
<div style="width: 100%; border:0px solid black">
|
||||
<p class="title deco_01">민원내역</p>
|
||||
<div id="grid_m1"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box mT_02">
|
||||
<div class="w_fix06 gridGroup">
|
||||
<p class="title deco_01">민원내용</p>
|
||||
<div style="height: 200px; border:1px solid #a1a1a1; margin:11px; border-radius: 4px;">
|
||||
<%--<div id="grid"></div>--%>
|
||||
</div>
|
||||
</div>
|
||||
</div><%--box--%>
|
||||
<div class="topBtnArea-a" style="min-width: 440px; width:75%;">
|
||||
<ul class="btnList" style="padding-left:10px;">
|
||||
<li>
|
||||
<%@include file="/WEB-INF/jsp/framework/biz-popup-btn.jsp" %>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div><!--popupTabs -->
|
||||
</div><!--row -->
|
||||
|
||||
</form>
|
||||
<script type="text/javaScript" language="javascript" defer="defer">
|
||||
|
||||
//전역변수선언
|
||||
let orgData;
|
||||
const ARR_INSTANCE = [null,null,null];
|
||||
let CUR_TAB_SEQ = 0;
|
||||
var callbackSearch = () => fnBiz.search();
|
||||
|
||||
|
||||
/* *******************************
|
||||
* Biz function
|
||||
******************************* */
|
||||
const fnBiz = {
|
||||
add: () => {
|
||||
if (!fnBiz.validate()) return;
|
||||
|
||||
cmmBizAjax('add', {
|
||||
url: '<c:url value="/cmm/fimsPopup/add.do"/>'
|
||||
, data: $("#frmSearch").serialize()
|
||||
})
|
||||
}
|
||||
,modify: () => {
|
||||
/*if (!fnBiz.validate()) return;*/
|
||||
|
||||
cmmBizAjax('modify', {
|
||||
url: '<c:url value="/cmm/fimsPopup/update.do"/>'
|
||||
,data: $("#frmSearch").serialize()
|
||||
});
|
||||
}
|
||||
,remove: () => {
|
||||
$("input[name=useAt]").val('N');
|
||||
cmmBizAjax('remove', {
|
||||
url: '<c:url value="/cmm/fimsPopup/remove.do"/>'
|
||||
,data: $("#frmSearch").serialize()
|
||||
});
|
||||
}
|
||||
,validate: () => {
|
||||
if(orgData === $('form').serialize()){
|
||||
alert('변경된 내용이 없습니다.');
|
||||
return false;
|
||||
}
|
||||
/*if(!validateTemplateInf(document.getElementById("templateInf"))) return false;*/
|
||||
|
||||
return true;
|
||||
}
|
||||
,preview: () => {
|
||||
|
||||
if ($("#tmplatSeCode").val() === 'TMPT01') {
|
||||
const url = "<c:url value='/framework/biz/mng/bbs/mngBoardTmplPreviewPopup.do'/>";
|
||||
CmmPopup.open(url, {tmplateCours: $("#tmplatCours").val()}, {width: 1024, height: 500}, "템플릿 미리보기");
|
||||
} else {
|
||||
alert('템플릿경로 지정 후 선택해 주세요.');
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**************************************************************************
|
||||
* event
|
||||
**************************************************************************/
|
||||
$(() => {
|
||||
$('#btnRegist').on('click', () => {
|
||||
fnBiz.add();
|
||||
});
|
||||
|
||||
$('#btnModify').on('click', () => {
|
||||
fnBiz.modify();
|
||||
});
|
||||
|
||||
$('#btnPreview').on('click', () => {
|
||||
fnBiz.preview();
|
||||
});
|
||||
|
||||
$('#btnRemove').on('click', () => {
|
||||
fnBiz.remove();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
/* ******************************
|
||||
* Grid
|
||||
****************************** */
|
||||
const initGrid = () => {
|
||||
const tab0Columns = [ //Grid 컬럼 정보(명칭,매핑 field, 기타옵션 등)
|
||||
{
|
||||
header: '발송결과',
|
||||
name: 'sndng_result_code',
|
||||
width: 150,
|
||||
//editor: 'text',
|
||||
sortable: true,
|
||||
align: 'center',
|
||||
filter: {
|
||||
type: 'text',
|
||||
showClearBtn: true
|
||||
}
|
||||
},
|
||||
{
|
||||
header: '오류내용',
|
||||
name: 'error_cn',
|
||||
width: 150,
|
||||
//editor: 'text',
|
||||
sortable: true,
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
header: '미납자',
|
||||
name: 'om_name',
|
||||
minWidth: 120,
|
||||
//editor: 'text',
|
||||
sortable: true,
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
header: '주민등록번호',
|
||||
name: 'ihidnum',
|
||||
width: 120,
|
||||
//editor: 'text',
|
||||
sortable: true,
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
header: '차량번호',
|
||||
name: 'mm_carno',
|
||||
minWidth: 120,
|
||||
//editor: 'text',
|
||||
sortable: true,
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
header: '요청일시',
|
||||
name: 'requst_dt',
|
||||
width: 150,
|
||||
//editor: 'text',
|
||||
sortable: true,
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
header: '조회일시',
|
||||
name: 'inqire_dt',
|
||||
width: 150,
|
||||
//editor: 'text',
|
||||
sortable: true,
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
header: '열람일시',
|
||||
name: 'readng_dt',
|
||||
width: 150,
|
||||
//editor: 'text',
|
||||
sortable: true,
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
header: '등록일시',
|
||||
name: 'regist_dt',
|
||||
width: 150,
|
||||
//editor: 'text',
|
||||
sortable: true,
|
||||
align: 'center'
|
||||
}
|
||||
];
|
||||
//DataSource
|
||||
let tab0Datasource = {
|
||||
//initialRequest: false, // 화면 load시 조회 안함 - default
|
||||
api: {
|
||||
readData: {
|
||||
url: '<c:url value="/adm/send/rqst/mng/find.do"/>'
|
||||
, serializer: (params) => fnAddPageInfo(document.frmSearch, params)
|
||||
}
|
||||
}
|
||||
};
|
||||
const tab0Options = {
|
||||
el: 'grid_t0',
|
||||
minBodyHeight: 100,
|
||||
bodyHeight: 100, //[선택]Grid 높이 (number(단위: px)|'auto'|'fitToParent')
|
||||
rowHeaders: ['rowNum'],
|
||||
pageOptions: {
|
||||
perPage: 100,
|
||||
type: 'scroll'
|
||||
},
|
||||
columns: tab0Columns,
|
||||
columnOptions: {
|
||||
frozenCount: 0 //고정컬럼 갯수
|
||||
, minWidth: 80 //최소 사이즈
|
||||
},
|
||||
};
|
||||
const tab1Options = $.extend(true, {}, tab0Options, {
|
||||
el: 'grid_d1',
|
||||
minBodyHeight: 100,
|
||||
bodyHeight: 100,
|
||||
});
|
||||
const tab2Options = $.extend(true, {}, tab0Options, {
|
||||
el: 'grid_d2',
|
||||
minBodyHeight: 100,
|
||||
bodyHeight: 100,
|
||||
});
|
||||
const tab3Options = $.extend(true, {}, tab0Options, {
|
||||
el: 'grid_m1',
|
||||
minBodyHeight: 250,
|
||||
bodyHeight: 250,
|
||||
});
|
||||
|
||||
ARR_INSTANCE[0] = TuiGrid.of(tab0Options, tab0Datasource, (res) => {
|
||||
ARR_TOTCNT[0] = res.data.pagination.totalCount;
|
||||
});
|
||||
ARR_INSTANCE[1] = TuiGrid.of(tab1Options, tab0Datasource, (res) => {
|
||||
ARR_TOTCNT[1] = res.data.pagination.totalCount;
|
||||
});
|
||||
ARR_INSTANCE[2] = TuiGrid.of(tab2Options, tab0Datasource, (res) => {
|
||||
ARR_TOTCNT[2] = res.data.pagination.totalCount;
|
||||
});
|
||||
ARR_INSTANCE[3] = TuiGrid.of(tab3Options, tab0Datasource, (res) => {
|
||||
ARR_TOTCNT[3] = res.data.pagination.totalCount;
|
||||
});
|
||||
//tab 클릭 이벤트
|
||||
/*$("#popupTabs").on("click", "li", function(){
|
||||
var tab = parseInt($("#popupTabs .ui-tabs-active a").attr("id"));
|
||||
var tabbb = $('#popupTabs').children('div').not($('#tabs_'+tab));
|
||||
$('#tabs_'+tab).show(500);
|
||||
$('#sch_tab_id').val(tab);
|
||||
//ARR_INSTANCE[tab].refreshLayout();
|
||||
});*/
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
$(document).ready(function(){
|
||||
initGrid();
|
||||
$("#popupTabs").tabs({active : 0});
|
||||
orgData = $('form').serialize();
|
||||
});
|
||||
|
||||
</script>
|
Loading…
Reference in New Issue