fix : 미사용 페이지 제거
parent
8143a9a5f9
commit
9cbbf633ee
@ -1,325 +0,0 @@
|
||||
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ include file="/WEB-INF/jsp/include/taglib.jsp" %>
|
||||
<%@ include file="/WEB-INF/jsp/include/fims/taglib.jsp" %>
|
||||
|
||||
<div class="popup" style="min-width: 100%;">
|
||||
<div class="container-window2" style="max-width: 800px;">
|
||||
<p class="container-window-header2">CCTV 단속 자료 선택</p>
|
||||
<form name="frmSearch" id="frmSearch">
|
||||
<div class="container-search">
|
||||
<table>
|
||||
<caption>검색조건</caption>
|
||||
<colgroup>
|
||||
<col style="width: 30%"/>
|
||||
<col/>
|
||||
<col/>
|
||||
<col/>
|
||||
<col/>
|
||||
<col/>
|
||||
<col/>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<code:select type="CMM_ETC2" id="crdnSeCd" name="crdnSeCd" grpId="FIM002" defaultSelect="01" onchange="fnBiz.onComboChange()" title="단속구분코드" cls="form-select" alt="단속구분코드" />
|
||||
</td>
|
||||
<td colspan="6">
|
||||
<input id="folder" type="file" webkitdirectory multiple="false"/>
|
||||
<input id="dirPath" name="dirPath" type="text" size="400" value="<c:out value='${dirPath}'/>" 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="container-window-btn1">
|
||||
<span>
|
||||
<div class="clearfix" id="totCnt">전체 ㅣ <span>0</span></div>
|
||||
</span>
|
||||
</div>
|
||||
<div id="grid"></div>
|
||||
<div class="d-flex flex-row p-3 justify-content-between">
|
||||
<label id="grid1PagingInfo" class="dataTables_info" role="status" aria-live="polite"></label>
|
||||
<ul id="grid1Paging" class="pagination pagination-primary"></ul>
|
||||
</div>
|
||||
|
||||
<div class="container-window-btn2">
|
||||
<span>
|
||||
<a href="#" class="btn btn-blue" id="btnRegist">파일 처리</a>
|
||||
<a href="#" id="btnClose" class="btn btn-lightgray">닫기</a>
|
||||
</span>
|
||||
</div>
|
||||
<!-- //등록버튼 -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- //popup -->
|
||||
|
||||
<script type="text/javaScript">
|
||||
/**************************************************************************
|
||||
* Global Variable
|
||||
**************************************************************************/
|
||||
let GRID = null;
|
||||
let arrFiles = [];
|
||||
|
||||
let $$Control = new FimsDatasetControl({
|
||||
prefix:"aaa",
|
||||
prefixName:"ㅁㅁㅁ",
|
||||
infoSize:"xl",
|
||||
urls : {
|
||||
load : fimsApiUrl.FIND_RCV_PATH_FILES
|
||||
},
|
||||
keymapper:info => info ? info.SOME_KEY : "",
|
||||
dataGetter:obj => obj.data.contents
|
||||
});
|
||||
$$Control._paginationInfo.paging = false;
|
||||
|
||||
$$Control.onDatasetChange = obj => {
|
||||
let pagination = obj.data.pagination;
|
||||
|
||||
if(obj.data.pagination){
|
||||
$$Control._paginationInfo.totalSize = pagination.totalSize;
|
||||
$$Control._paginationInfo.pageNum = pagination.pageNum;
|
||||
} else {
|
||||
$$Control._paginationInfo.totalSize = obj.count;
|
||||
}
|
||||
|
||||
$$Control.totalCountSetting(obj);
|
||||
|
||||
render$$List(obj.data);
|
||||
|
||||
if($$Control._paginationInfo.paging && $$Control._paginationInfo.pagingType == "nav"){
|
||||
let start = 0;
|
||||
if(pagination.pageNum > 1 && pagination.totalPage > 1 && pagination.totalSize > $$Control._paginationInfo.fetchSize){
|
||||
start = $$Control._paginationInfo.fetchSize * (pagination.pageNum - 1);
|
||||
}
|
||||
$("#grid1Paging").setPaging({
|
||||
list: $$Control.dataset,
|
||||
prefix: "grid1",
|
||||
start: start,
|
||||
totalSize: pagination.totalSize,
|
||||
fetchSize: $$Control._paginationInfo.fetchSize,
|
||||
func: "$$$Control.load({index})",
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
function search$$s(){
|
||||
$$Control.query = {"dirPath": $('#dirPath').val()};
|
||||
GRID.clear();
|
||||
$$Control.load(1);
|
||||
}
|
||||
|
||||
function render$$List(data) {
|
||||
if($$Control._paginationInfo.paging && $$Control._paginationInfo.pagingType == "nav"){
|
||||
GRID.clear();
|
||||
}
|
||||
GRID.appendRows(data.contents);
|
||||
}
|
||||
|
||||
/* *******************************
|
||||
* 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);
|
||||
},
|
||||
add: () => {
|
||||
const arrChecks = GRID.getData();
|
||||
|
||||
if(arrChecks.length===0) {
|
||||
alert("등록[변경]할 데이타가 없습니다.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if(confirm("등록 하시겠습니까?")) {
|
||||
if($('#crdnSeCd').val() !== '07') {
|
||||
|
||||
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);
|
||||
search$$s();
|
||||
}
|
||||
}
|
||||
, error: (xhr, status, err) => {
|
||||
}
|
||||
})
|
||||
|
||||
}else {
|
||||
const data = {
|
||||
filePath: $('#dirPath').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: fimsApiUrl.SAVE_BUS_ONLY_EC_EXTRL_REGLT_CNTC
|
||||
, data: JSON.stringify(data)
|
||||
, contentType: 'application/json; charset=utf-8'
|
||||
, success: () => {
|
||||
search$$s();
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
,onComboChange: () => {
|
||||
$('#totCnt span').text(0);
|
||||
|
||||
if($('#crdnSeCd').val() === '07') {
|
||||
$('#folder')
|
||||
.css('display', 'none')
|
||||
.attr('disabled', true);
|
||||
$('#dirPath')
|
||||
.css('display', 'inline-block')
|
||||
.attr('disabled', false);
|
||||
$('#warnMsg').css('display', 'none')
|
||||
.attr('disabled', true);
|
||||
search$$s();
|
||||
}else{
|
||||
$('#folder')
|
||||
.css('display', 'inline-block')
|
||||
.attr('disabled', false);
|
||||
$('#dirPath')
|
||||
.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', () => search$$s());
|
||||
|
||||
$('#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 StrDateTimeFormat.format(value);
|
||||
return value;
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
const gridOptions = {
|
||||
el: 'grid',
|
||||
rowHeaders: ['rowNum'],
|
||||
columns: gridColumns,
|
||||
columnOptions: {
|
||||
frozenCount: 1
|
||||
},
|
||||
bodyHeight: 400,
|
||||
|
||||
paginationInfoRef : $$Control._paginationInfo
|
||||
};
|
||||
|
||||
GRID = TuiGrid.of(gridOptions);
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* initialize
|
||||
**************************************************************************/
|
||||
$(document).ready(function(){
|
||||
initGrid();
|
||||
});
|
||||
</script>
|
@ -1,260 +0,0 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||
<%@ include file="/WEB-INF/jsp/include/taglib.jsp" %>
|
||||
<%@ include file="/WEB-INF/jsp/include/fims/taglib.jsp" %>
|
||||
|
||||
<form id="frmSearch" name="frmSearch">
|
||||
<div class="container-search">
|
||||
<table>
|
||||
<caption>검색조건</caption>
|
||||
<colgroup>
|
||||
<col style="width: 400px;"/>
|
||||
<col/>
|
||||
<col/>
|
||||
<col/>
|
||||
<col/>
|
||||
<col/>
|
||||
<col/>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="5">
|
||||
<label for="sysSeCd">시스템 구분</label>
|
||||
<code:select grpId="FIM001" defaultSelect="PVS" id="sysSeCd" name="sysSeCd" title="시스템구분" cls="form-select" alt="selectBox tag" disabled="true"/>
|
||||
</td>
|
||||
<td colspan="6">
|
||||
<button type="button" id="btnSearch" class="btn btn-search" title="검색">검색</button>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
<!-- //검색 -->
|
||||
|
||||
<div class="container-page-btn">
|
||||
<span>
|
||||
<div class="clearfix" id="totCnt">전체 ㅣ <span></span></div>
|
||||
</span>
|
||||
<span class="flr">
|
||||
<a href="#" class="btn btn-darkgray" id="btnRegist" title="템플릿 등록">등록</a>
|
||||
</span>
|
||||
</div>
|
||||
<!-- //버튼 및 페이지정보 -->
|
||||
|
||||
<!-- 데이터 출력 -->
|
||||
<div id="grid"></div>
|
||||
<div class="d-flex flex-row p-3 justify-content-between">
|
||||
<label id="grid1PagingInfo" class="dataTables_info" role="status" aria-live="polite"></label>
|
||||
<ul id="grid1Paging" class="pagination pagination-primary"></ul>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="${pageContext.request.contextPath}/resources/js/fims/biz/common/popupPageNavigation.js" defer></script>
|
||||
<script type="text/javaScript">
|
||||
/**************************************************************************
|
||||
* Global Variable
|
||||
**************************************************************************/
|
||||
let GRID = null;
|
||||
|
||||
var pageNav = null;
|
||||
|
||||
var callbackSearch = () => search$$s();
|
||||
|
||||
let $$Control = new FimsDatasetControl({
|
||||
prefix:"aaa",
|
||||
prefixName:"ㅁㅁㅁ",
|
||||
infoSize:"xl",
|
||||
urls : {
|
||||
load : fimsApiUrl.FIND_CCTV_EC_EXTRL_REGLT_CNTCS,
|
||||
detail : fimsApiUrl.POPUP_CCTV_EC_EXTRL_REGLT_CNTC_INFO,
|
||||
file : fimsApiUrl.POPUP_CCTV_EC_EXTRL_REGLT_CNTC_DATA_SEL
|
||||
},
|
||||
keymapper:info => info ? info.SOME_KEY : "",
|
||||
dataGetter:obj => obj.data.contents
|
||||
});
|
||||
|
||||
$$Control.onDatasetChange = obj => {
|
||||
let pagination = obj.data.pagination;
|
||||
|
||||
if(obj.data.pagination){
|
||||
$$Control._paginationInfo.totalSize = pagination.totalSize;
|
||||
$$Control._paginationInfo.pageNum = pagination.pageNum;
|
||||
} else {
|
||||
$$Control._paginationInfo.totalSize = obj.count;
|
||||
}
|
||||
|
||||
$$Control.totalCountSetting(obj);
|
||||
|
||||
render$$List(obj.data);
|
||||
|
||||
if($$Control._paginationInfo.paging && $$Control._paginationInfo.pagingType == "nav"){
|
||||
let start = 0;
|
||||
if(pagination.pageNum > 1 && pagination.totalPage > 1 && pagination.totalSize > $$Control._paginationInfo.fetchSize){
|
||||
start = $$Control._paginationInfo.fetchSize * (pagination.pageNum - 1);
|
||||
}
|
||||
$("#grid1Paging").setPaging({
|
||||
list: $$Control.dataset,
|
||||
prefix: "grid1",
|
||||
start: start,
|
||||
totalSize: pagination.totalSize,
|
||||
fetchSize: $$Control._paginationInfo.fetchSize,
|
||||
func: "$$$Control.load({index})",
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
function search$$s(){
|
||||
let formFields = new FimsFormFields("#frmSearch");
|
||||
$$Control.query = formFields.get();
|
||||
GRID.clear();
|
||||
$$Control.load(1);
|
||||
}
|
||||
|
||||
function render$$List(data) {
|
||||
if($$Control._paginationInfo.paging && $$Control._paginationInfo.pagingType == "nav"){
|
||||
GRID.clear();
|
||||
}
|
||||
GRID.appendRows(data.contents);
|
||||
}
|
||||
|
||||
/* *******************************
|
||||
* Biz function
|
||||
******************************* */
|
||||
const fnBiz = {
|
||||
pagePopup: function(flag, params){
|
||||
let url;
|
||||
let popTitle;
|
||||
let popOption;
|
||||
switch (flag) {
|
||||
case "detail":
|
||||
popOption = {width: 900, height:800};
|
||||
popTitle = "외부연계 데이타 상세";
|
||||
break;
|
||||
case "file":
|
||||
popOption = {width: 900, height:750};
|
||||
popTitle = "외부연계 데이타 선택";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
$.blockUI({message: '' ,css: {width: '100%', height: '100%'}
|
||||
//모달창 외부 클릭시 닫기
|
||||
,onOverlayClick: () => {
|
||||
$.unblockUI();
|
||||
popup?.self?.close();
|
||||
}
|
||||
});
|
||||
popup = CmmPopup.open($$Control.urls[flag], params, popOption, popTitle);
|
||||
}
|
||||
,onClickGrid: function(props){
|
||||
const gridDatas = GRID.store.data.rawData.map(d => {
|
||||
return {fileLinkId: d.fileLinkId, crdnSeCd: d.crdnSeCd}
|
||||
})
|
||||
pageNav = new PageNavigation(GRID, gridDatas, props.rowKey);
|
||||
fnBiz.pagePopup('detail', pageNav.gridInfo.curRowData);
|
||||
}
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* event
|
||||
**************************************************************************/
|
||||
$(() => {
|
||||
$('#btnSearch').on('click', () => search$$s());
|
||||
|
||||
$('#btnRegist').on('click', () => {
|
||||
fnBiz.pagePopup('file');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
/* *******************************
|
||||
* Grid
|
||||
******************************* */
|
||||
const initGrid = () => {
|
||||
const gridColumns = [
|
||||
{
|
||||
header: '단속구분',
|
||||
name: 'crdnSeCd',
|
||||
minWidth: 80,
|
||||
sortable: false,
|
||||
align: 'center',
|
||||
formatter: 'listItemText',
|
||||
disabled: true,
|
||||
editor: {
|
||||
type: "select",
|
||||
options: {
|
||||
listItems: ComboCodeData.crdnSeCd
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
header: '차량번호',
|
||||
name: 'vhrno',
|
||||
minWidth: 70,
|
||||
sortable: false,
|
||||
align: 'center',
|
||||
renderer: {
|
||||
type: CustomButtonRenderer,
|
||||
options: {
|
||||
formatter: (props)=>{
|
||||
return {
|
||||
formatter: props.grid.getRow(props.rowKey).vhrno
|
||||
,element: "text"
|
||||
}
|
||||
}
|
||||
,eventFunction: fnBiz.onClickGrid
|
||||
,eventType: "click"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
header: '단속일자',
|
||||
name: 'crdnYmd',
|
||||
minWidth: 80,
|
||||
sortable: false,
|
||||
align: 'center',
|
||||
formatter({value}){
|
||||
return StrDateFormat.format(value);
|
||||
}
|
||||
},
|
||||
{
|
||||
header: '등록일시',
|
||||
name: 'regDt',
|
||||
minWidth: 130,
|
||||
sortable: false,
|
||||
align: 'center',
|
||||
formatter({value}){
|
||||
return StrDateTimeFormat.format(value);
|
||||
}
|
||||
},
|
||||
{
|
||||
header: '외부연계키',
|
||||
name: 'fileLinkId',
|
||||
minWidth: 100,
|
||||
sortable: true,
|
||||
sortingType: 'desc',
|
||||
align: 'center',
|
||||
|
||||
}
|
||||
];
|
||||
|
||||
const gridOptions = {
|
||||
el: 'grid',
|
||||
rowHeaders: ['rowNum'],
|
||||
columns: gridColumns,
|
||||
columnOptions: {
|
||||
frozenCount: 3
|
||||
},
|
||||
|
||||
paginationInfoRef : $$Control._paginationInfo
|
||||
};
|
||||
|
||||
GRID = TuiGrid.of(gridOptions);
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* initialize
|
||||
**************************************************************************/
|
||||
$(document).ready(function(){
|
||||
initGrid();
|
||||
});
|
||||
</script>
|
@ -1,344 +0,0 @@
|
||||
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ include file="/WEB-INF/jsp/include/taglib.jsp" %>
|
||||
<%@ include file="/WEB-INF/jsp/include/fims/taglib.jsp" %>
|
||||
|
||||
<%--rcvXmlDTO--%>
|
||||
<c:set var="files" value="${attchFiles}"/>
|
||||
<c:set var="bizName" value="외부연계 데이타"/>
|
||||
|
||||
<div class="popup" style="min-width: 100px;">
|
||||
<div class="container-window2" style="max-width: 900px;">
|
||||
<p class="container-window-header2">
|
||||
<c:out value="${bizName}"/>(<c:out value="${extrDTO.fileLinkId}"/>) 상세
|
||||
</p>
|
||||
|
||||
<div class="container-window-btn3">
|
||||
<button type="button" id="prev" name="prev" class="btn btn-pagination">prev</button>
|
||||
<div>
|
||||
<span>
|
||||
<div id="totCnt" style="padding: 0 10px;"><span></span></div>
|
||||
</span>
|
||||
</div>
|
||||
<button type="button" id="next" name="next" class="btn btn-pagination">next</button>
|
||||
</div>
|
||||
<form>
|
||||
<div class="container-window-btn1">
|
||||
<c:set var="isProcess" value="${empty extrDTO.crdnId}"/>
|
||||
<span id="${extrDTO.fileLinkId}" >
|
||||
<c:if test="${isProcess}">
|
||||
<a href="#" class="btn btn-blue" onclick="fnBiz.save('${extrDTO.fileLinkId}')">저장</a>
|
||||
<a href="#" class="btn btn-red" onclick="fnBiz.remove('${extrDTO.fileLinkId}')">삭제</a>
|
||||
<c:if test="${!empty extrDTO.vhrno}">
|
||||
<a href="#" class="btn btn-darkgray" onclick="fnBiz.reglt('${extrDTO.fileLinkId}')">단속처리</a>
|
||||
<a href="#" class="btn btn-darkgray" onclick="fnBiz.erpp('${extrDTO.fileLinkId}')">서손처리</a>
|
||||
</c:if>
|
||||
</c:if>
|
||||
</span>
|
||||
</div>
|
||||
<table class="table-03">
|
||||
<caption><c:out value="${bizName}"/> 상세</caption>
|
||||
<colgroup>
|
||||
<col style="width: 13%;"/>
|
||||
<col style="width: 20%;"/>
|
||||
<col style="width: 13%;"/>
|
||||
<col style="width: 20%;"/>
|
||||
<col style="width: 13%;"/>
|
||||
<col style="width: 20%;"/>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>외부연계ID</th>
|
||||
<td>
|
||||
<input type="text" name="fileLinkId" value='<c:out value="${extrDTO.fileLinkId}"/>' readonly>
|
||||
</td>
|
||||
<th>차량번호</th>
|
||||
<td>
|
||||
<input type="text" name="vhrno" value='<c:out value="${extrDTO.vhrno}"/>' <c:if test="${!isProcess}">readonly</c:if>>
|
||||
</td>
|
||||
<th>단속ID</th>
|
||||
<td>
|
||||
<input type="text" name="crdnId" value='<c:out value="${extrDTO.crdnId}"/>' readonly>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>시스템구분</th>
|
||||
<td>
|
||||
<code:select id="sysSeCd" name="sysSeCd" grpId="FIM001" defaultSelect="${extrDTO.sysSeCd}" title="시스템코드" cls="form-select" alt="시스템코드" disabled="true"/>
|
||||
</td>
|
||||
<th>기관코드</th>
|
||||
<td>
|
||||
<code:select id="sggCd" name="sggCd" grpId="XIT025" defaultSelect="${extrDTO.sggCd}" title="기관코드" cls="form-select" alt="기관코드" disabled="true"/>
|
||||
</td>
|
||||
<th>단속구분</th>
|
||||
<td>
|
||||
<code:select id="crdnSeCd" name="crdnSeCd" grpId="FIM002" defaultSelect="${extrDTO.crdnSeCd}" title="단속구분" cls="form-select" alt="단속구분" disabled="true"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>단속일시</th>
|
||||
<td>
|
||||
<fmt:parseDate value="${extrDTO.crdnYmd}${extrDTO.crdnBgngTm}" var="crdnYmdTime" pattern="yyyyMMddHHmmss"/>
|
||||
<input type="text" name="crdnYmdTime" value='<fmt:formatDate value="${crdnYmdTime}" pattern="yyyy-MM-dd HH:mm:ss"/>' readonly>
|
||||
</td>
|
||||
<th>단속장소</th>
|
||||
<td>
|
||||
<input type="text" name="crdnPlc" value='<c:out value="${extrDTO.crdnPlc}"/>' readonly>
|
||||
</td>
|
||||
<th>위반내역</th>
|
||||
<td>
|
||||
<input type="text" name="vltnCn" value='<c:out value="${extrDTO.vltnCn}"/>' readonly>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>GPS위도</th>
|
||||
<td>
|
||||
<input type="text" name="gpsX" value='<c:out value="${extrDTO.gpsX}"/>' readonly>
|
||||
</td>
|
||||
<th>GPS경도</th>
|
||||
<td>
|
||||
<input type="text" name="gpsY" value='<c:out value="${extrDTO.gpsY}"/>' readonly>
|
||||
</td>
|
||||
<th>처리상태</th>
|
||||
<td>
|
||||
<code:select id="trsmCd" name="trsmCd" grpId="FIM010" defaultSelect="${extrDTO.trsmCd}" title="처리상태" cls="form-select" alt="처리상태" disabled="true"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>등록일시</th>
|
||||
<td>
|
||||
<fmt:parseDate value="${extrDTO.regDt}" var="regDt" pattern="yyyyMMddHHmmss"/>
|
||||
<input type="text" name="regDt" value="<fmt:formatDate value="${regDt}" pattern="yyyy-MM-dd HH:mm:ss"/>" readonly>
|
||||
</td>
|
||||
<th>송신여부</th>
|
||||
<td>
|
||||
<input type="text" name="sendYnC" value="<c:out value="${rcvXmlDTO.sendYnC}"/>" readonly>
|
||||
</td>
|
||||
<th>송신일시</th>
|
||||
<td>
|
||||
<fmt:parseDate value="${rcvXmlDTO.sendD}" var="sendD" pattern="yyyyMMddHHmmss"/>
|
||||
<input type="text" name="petiRegD" value="<fmt:formatDate value="${sendD}" pattern="yyyy-MM-dd HH:mm:ss"/>" readonly>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<%--
|
||||
<tr>
|
||||
<th>처리구분2</th>
|
||||
<td>
|
||||
<input type="text" name="pcdGubun2V" value="<c:out value="${rcvXmlDTO.pcdGubun2V}"/>" readonly>
|
||||
</td>
|
||||
<th>처리구분3</th>
|
||||
<td>
|
||||
<input type="text" name="pcdGubun3V" value="<c:out value="${rcvXmlDTO.pcdGubun3V}"/>" readonly>
|
||||
</td>
|
||||
<th>인터페이스ID</th>
|
||||
<td>
|
||||
<input type="text" name="ifid" value="<c:out value="${rcvXmlDTO.ifid}"/>" readonly>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>소스기관코드</th>
|
||||
<td>
|
||||
<input type="text" name="srcorgcd" value="<c:out value="${rcvXmlDTO.srcorgcd}"/>" readonly>
|
||||
</td>
|
||||
<th>타겟기관코드</th>
|
||||
<td>
|
||||
<input type="text" name="tgtorgcd" value="<c:out value="${rcvXmlDTO.tgtorgcd}"/>" readonly>
|
||||
</td>
|
||||
<th>인터페이스ID</th>
|
||||
<td>
|
||||
<input type="text" name="ifid" value="<c:out value="${rcvXmlDTO.ifid}"/>" readonly>
|
||||
</td>
|
||||
</tr>
|
||||
--%>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<div class="container-window-btn1">
|
||||
<span>
|
||||
<a href="#" class="btn btn-blue" onclick="fnBiz.savePhoto()">save</a>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div id="imgList"></div>
|
||||
|
||||
<div>
|
||||
<img id="uploadImage"/>
|
||||
</div>
|
||||
|
||||
<div class="container-window-btn1">
|
||||
<span>
|
||||
<a href="#" id="btnClose" class="btn btn-lightgray">닫기</a>
|
||||
</span>
|
||||
</div>
|
||||
<!-- //등록버튼 -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- //popup -->
|
||||
|
||||
<script type="text/javascript" src="${pageContext.request.contextPath}/resources/js/fims/framework/cmm/cmmDownloadImg.js" defer></script>
|
||||
<script type="text/javascript">
|
||||
/**************************************************************************
|
||||
* Global Variable
|
||||
**************************************************************************/
|
||||
let $$Control = new FimsDatasetControl({
|
||||
prefix:"aaa",
|
||||
prefixName:"ㅁㅁㅁ",
|
||||
infoSize:"xl",
|
||||
urls : {
|
||||
imageEditor : frwkApiUrl.POPUP_PAINTWEB_IMG_EDITOR,
|
||||
imageView : frwkApiUrl.POPUP_IMG_VIEW
|
||||
},
|
||||
keymapper:info => info ? info.SOME_KEY : "",
|
||||
dataGetter:obj => obj.data.contents
|
||||
});
|
||||
|
||||
let orgDtlDatas = [];
|
||||
let downloadImgParam;
|
||||
var imageEditorPopup = (flag, params) => fnBiz.pagePopup(flag, params);
|
||||
var callbackReloadImage = () => fnBiz.downloadImg();
|
||||
|
||||
/* *******************************
|
||||
* Biz function
|
||||
******************************* */
|
||||
const fnBiz = {
|
||||
search: (params) => {
|
||||
cmmAjax({
|
||||
showSuccessMsg: false
|
||||
,url: fimsApiUrl.FIND_CCTV_EC_EXTRL_REGLT_CNTC_AND_ATTCH_FILES
|
||||
,data: params
|
||||
,success: (res) => {
|
||||
cmmImgDownload('#imgList', res.attchFiles, fnBiz.pagePopup, true);
|
||||
window.opener.pageNav.reloadNav($('#prev'), $('#next'), $('#totCnt span'));
|
||||
|
||||
let formFields = new FimsFormFields("form");
|
||||
formFields.set(res.extrDTO);
|
||||
}
|
||||
})
|
||||
}
|
||||
,downloadImg: () => {
|
||||
|
||||
cmmAjax({
|
||||
showSuccessMsg: false
|
||||
,url: fimsApiUrl.FIND_EC_EXTRL_REGLT_CNTC_ATTCH_FILES
|
||||
,data: downloadImgParam
|
||||
,success: (res) => {
|
||||
cmmImgDownload('#imgList', res.data?.contents, fnBiz.pagePopup, true);
|
||||
}
|
||||
})
|
||||
}
|
||||
,pagePopup: function(flag, params) {
|
||||
let popTitle;
|
||||
let popOption;
|
||||
switch (flag) {
|
||||
// FIXME: 이미지에디터 팝업 width, height는 952, 800으로 fix
|
||||
// paintweb config의 imageWidth, imageHeight, viewportWidth, viewPortHeight 와 같이 연관
|
||||
case "imageEditor":
|
||||
popOption = {width: 952, height: 800, resizable:false,scrollbars:'no'};
|
||||
popTitle = "이미지 에디터";
|
||||
break;
|
||||
case "imageView":
|
||||
popOption = {width: 950, height: 750, resizable:false, scrollbars:'no'};
|
||||
popTitle = "이미지 보기";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
window.opener.popup = CmmPopup.open($$Control.urls[flag], params, popOption, popTitle);
|
||||
}
|
||||
,save: (fileLinkId) => {
|
||||
cmmBizAjax('modify', {
|
||||
url: fimsApiUrl.MODIFY_EC_EXTRL_REGLT_CNTC
|
||||
,data: $('form').serialize()
|
||||
})
|
||||
}
|
||||
,remove: (fileLinkId) => {
|
||||
const data = {
|
||||
interfaceSeqN: '${reqDTO.interfaceSeqN}'
|
||||
,ctznSttemntDetailSn: ctznSttemntDetailSn
|
||||
}
|
||||
if(confirm('첨부파일도 함께 삭제 하시겠습까?')) data.removeImageData = true;
|
||||
|
||||
cmmBizAjax('remove', {
|
||||
url: '<c:url value="/fims/biz/ec/removeCtznStmtDtl.do"/>'
|
||||
,data: $.param(data)
|
||||
})
|
||||
}
|
||||
,reglt: (fileLinkId) => {
|
||||
const data = {
|
||||
fileLinkId
|
||||
,crdnSeCd: '${extrDTO.crdnSeCd}'
|
||||
}
|
||||
|
||||
if(!confirm('단속자료를 생성 하시겠습니까?')) return false;
|
||||
cmmAjax({
|
||||
<%--url: '<c:url value="/fims/biz/ec/saveExtrRtReglt.do"/>'--%>
|
||||
url: fimsApiUrl.SAVE_EC_EXTRL_REGLT_CNTC_RT_REGLT
|
||||
,data: $.param(data)
|
||||
})
|
||||
}
|
||||
,erpp: (fileLinkId) => {
|
||||
const data = {
|
||||
fileLinkId
|
||||
,crdnSeCd: '${extrDTO.crdnSeCd}'
|
||||
}
|
||||
if(!confirm('서손 처리 하시겠습니까?')) return false;
|
||||
cmmAjax({
|
||||
url: fimsApiUrl.SAVE_EC_EXTRL_REGLT_CNTC_RT_ERPP
|
||||
,data: $.param(data)
|
||||
})
|
||||
}
|
||||
,savePhoto: () => {
|
||||
dragableSave();
|
||||
}
|
||||
// ,close: () => {
|
||||
// window.opener.gridInfo = null;
|
||||
// window.opener.unblockUI();
|
||||
// window.opener.popup = null;
|
||||
// window.close();
|
||||
// }
|
||||
};
|
||||
|
||||
/**************************************************************************
|
||||
* event
|
||||
**************************************************************************/
|
||||
$(() => {
|
||||
$('img').on('click', () => {
|
||||
fnBiz.viewImg()
|
||||
});
|
||||
|
||||
$(window).on("unload", function (e) {
|
||||
window.opener?.unblockUI();
|
||||
window.opener?.callbackSearch();
|
||||
return null;
|
||||
});
|
||||
|
||||
$("#btnClose").on('click', () => {
|
||||
window.close()
|
||||
});
|
||||
|
||||
$('#prev').on('click', () => {
|
||||
window.opener.pageNav.onClickNavBtn('prev', (gridInfo) => {
|
||||
fnBiz.search(gridInfo.curRowData)
|
||||
});
|
||||
})
|
||||
|
||||
|
||||
$('#next').on('click', () => {
|
||||
window.opener.pageNav.onClickNavBtn('next', (gridInfo) => {
|
||||
fnBiz.search(gridInfo.curRowData);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
/**************************************************************************
|
||||
* initialize
|
||||
**************************************************************************/
|
||||
$(document).ready(function () {
|
||||
// orgData = $('form').serialize();
|
||||
downloadImgParam = {fileLinkId: '${extrDTO.fileLinkId}', crdnSeCd: '${extrDTO.crdnSeCd}'};
|
||||
fnBiz.downloadImg();
|
||||
|
||||
window.opener.pageNav.reloadNav($('#prev'), $('#next'), $('#totCnt span'))
|
||||
});
|
||||
</script>
|
Loading…
Reference in New Issue