Merge branch 'dev' into dev-cmm-filedownload
commit
bd0b049ced
@ -1,9 +1,58 @@
|
|||||||
package kr.xit.fims.biz.cmm.fimsTotalPopup.service;
|
package kr.xit.fims.biz.cmm.fimsTotalPopup.service;
|
||||||
|
|
||||||
|
import kr.xit.fims.biz.cmm.fimsTotalPopup.mapper.FimsTotalPopupMapper;
|
||||||
import kr.xit.fims.biz.cmm.FimsServiceStrategy;
|
|
||||||
import kr.xit.fims.biz.cmm.fimsTotalPopup.model.FimsTotalPopupSearchVO;
|
|
||||||
import kr.xit.fims.biz.cmm.fimsTotalPopup.model.FimsTotalPopupVO;
|
import kr.xit.fims.biz.cmm.fimsTotalPopup.model.FimsTotalPopupVO;
|
||||||
|
import kr.xit.fims.biz.cmm.fimsTotalPopup.service.IFimsTotalPopupService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class FimsTotalPopupService implements IFimsTotalPopupService {
|
||||||
|
|
||||||
|
private final FimsTotalPopupMapper fimsTotalPopupMapper;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public FimsTotalPopupVO findTotalView(FimsTotalPopupVO vo) {
|
||||||
|
return fimsTotalPopupMapper.findTotalView(vo);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void addProc(FimsTotalPopupVO vo){
|
||||||
|
fimsTotalPopupMapper.addProc(vo);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
@Transactional
|
||||||
|
public void modifyProc(FimsTotalPopupVO vo) {
|
||||||
|
|
||||||
|
|
||||||
|
//단속정보 수정
|
||||||
|
fimsTotalPopupMapper.modifyProc(vo);
|
||||||
|
//소유자 수정
|
||||||
|
/*1단계 차적조회를 안하고 바로 자료 전송
|
||||||
|
하여 payer를 알수 없음.*/
|
||||||
|
/*fimsTotalPopupMapper.modifyProcPayer(vo);*/
|
||||||
|
//서손 수정
|
||||||
|
/*fimsTotalPopupMapper.modifyProcErpp(vo);*/
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional
|
||||||
|
public void removeProc(FimsTotalPopupVO vo) {
|
||||||
|
|
||||||
|
//단속정보 삭제
|
||||||
|
fimsTotalPopupMapper.removeProc(vo);
|
||||||
|
//소유자 수정
|
||||||
|
/*fimsTotalPopupMapper.modifyProcPayer(vo);*/
|
||||||
|
//서손 수정
|
||||||
|
/*fimsTotalPopupMapper.modifyProcErpp(vo);*/
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public interface FimsTotalPopupService extends FimsServiceStrategy<FimsTotalPopupVO, FimsTotalPopupSearchVO> {
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,15 @@
|
|||||||
|
package kr.xit.fims.biz.cmm.fimsTotalPopup.service;
|
||||||
|
|
||||||
|
|
||||||
|
import kr.xit.fims.biz.cmm.fimsTotalPopup.model.FimsTotalPopupVO;
|
||||||
|
|
||||||
|
public interface IFimsTotalPopupService {
|
||||||
|
|
||||||
|
|
||||||
|
FimsTotalPopupVO findTotalView(final FimsTotalPopupVO vo);
|
||||||
|
|
||||||
|
void addProc(FimsTotalPopupVO vo);
|
||||||
|
void modifyProc(FimsTotalPopupVO vo);
|
||||||
|
|
||||||
|
void removeProc(FimsTotalPopupVO vo);
|
||||||
|
}
|
@ -1,52 +0,0 @@
|
|||||||
package kr.xit.fims.biz.cmm.fimsTotalPopup.service.impl;
|
|
||||||
|
|
||||||
import kr.xit.fims.biz.cmm.fimsTotalPopup.mapper.FimsTotalPopupMapper;
|
|
||||||
import kr.xit.fims.biz.cmm.fimsTotalPopup.model.FimsTotalPopupSearchVO;
|
|
||||||
import kr.xit.fims.biz.cmm.fimsTotalPopup.model.FimsTotalPopupVO;
|
|
||||||
import kr.xit.fims.biz.cmm.fimsTotalPopup.service.FimsTotalPopupService;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.apache.ibatis.session.RowBounds;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
import java.sql.SQLException;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@Service
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
public class FimsTotalPopupServiceImpl implements FimsTotalPopupService {
|
|
||||||
|
|
||||||
private final FimsTotalPopupMapper fimsTotalPopupMapper;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<FimsTotalPopupVO> findList(FimsTotalPopupSearchVO searchVO, RowBounds rowBounds) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public FimsTotalPopupVO findView(FimsTotalPopupVO vo) {
|
|
||||||
return fimsTotalPopupMapper.findView(vo);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void addProc(FimsTotalPopupVO vo) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void modifyProc(FimsTotalPopupVO vo) {
|
|
||||||
|
|
||||||
|
|
||||||
//단속정보 수정
|
|
||||||
fimsTotalPopupMapper.modifyProc(vo);
|
|
||||||
//소유자 수정
|
|
||||||
fimsTotalPopupMapper.modifyProcOwner(vo);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void removeProc(FimsTotalPopupVO vo) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,490 +0,0 @@
|
|||||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
|
||||||
<%@ include file="/WEB-INF/jsp/framework/taglibs.jsp"%>
|
|
||||||
|
|
||||||
|
|
||||||
<form id="frmSearch" name="frmSearch" method="get">
|
|
||||||
<input type="hidden" id="elctrn_ntic_sndng_id" name="elctrn_ntic_sndng_id" value="${contents.reglt_id}">
|
|
||||||
|
|
||||||
|
|
||||||
<div class="conttitle">
|
|
||||||
<img src="${ctx }/resources/biz/content/resources/images/common/main/titleLogo_01.png"/>
|
|
||||||
<p class="title">발송관리</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="shipmentInfo">
|
|
||||||
<div class="titleBox_01">
|
|
||||||
<span>발송정보</span>
|
|
||||||
</div>
|
|
||||||
<div class="tableArea_02">
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td colspan="4" class="t">발송 예약 정보</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="t">통지서명</td>
|
|
||||||
<td colspan="4">${contents.reglt_id}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="t">기관명</td>
|
|
||||||
<td></td>
|
|
||||||
<td class="t">접수일시</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="t">발송건수</td>
|
|
||||||
<td></td>
|
|
||||||
<td class="t">발송처리상태</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="t">발송일시</td>
|
|
||||||
<td></td>
|
|
||||||
<td class="t">조회마감일시</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="shipmentInfo">
|
|
||||||
<div class="titleBox_01 topMargin_30" >
|
|
||||||
<span>발송대상</span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="search_02">
|
|
||||||
<div class="defalt_03">
|
|
||||||
<fieldset class="frmSearch">
|
|
||||||
<legend>기본검색</legend>
|
|
||||||
<ul class="detailGroup_02">
|
|
||||||
<li>
|
|
||||||
<span class="title"><label for="sel02" >대상 검색 :</label></span>
|
|
||||||
<select id="sch_search_word_opt" name ="sch_search_word_opt" class="selectBox">
|
|
||||||
<option value="">전체</option>
|
|
||||||
<option value="01">미납자</option>
|
|
||||||
<option value="02">차량번호</option>
|
|
||||||
</select>
|
|
||||||
</li>
|
|
||||||
<li style="margin-left: 32px;">
|
|
||||||
<input id="sch_search_word" name="sch_search_word" class="inputText" type="text" title="검색어 입력" placeholder="검색어를 입력하세요.">
|
|
||||||
<span class='button-box'><button type="button" class="btnSearch" id="btnSearch" name="btnSearch">검색</button></span>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="contents">
|
|
||||||
<div class="topBtnArea">
|
|
||||||
<ul class="btnList">
|
|
||||||
<!-- <li> -->
|
|
||||||
<!-- <button data-show-popup="sampleBox">팝업 버튼 예시</button> -->
|
|
||||||
<!-- </li> -->
|
|
||||||
<li>
|
|
||||||
<button type="button" id="btnExcel"><i class="ico far fa-file-excel"></i> 엑셀</button>
|
|
||||||
</li>
|
|
||||||
<!-- <li> -->
|
|
||||||
<!-- <button><i class="ico far fa-file-pdf"></i> pdf</button> -->
|
|
||||||
<!-- </li> -->
|
|
||||||
<!-- <li> -->
|
|
||||||
<!-- <button><i class="ico fas fa-save"></i> 저장</button> -->
|
|
||||||
<!-- </li> -->
|
|
||||||
<!-- <li> -->
|
|
||||||
<!-- <button type="button" id="btnModify"><i class="ico fas fa-edit"></i> 수정</button> -->
|
|
||||||
<!-- </li> -->
|
|
||||||
<!-- <li> -->
|
|
||||||
<!-- <button id="btnRemove"><i class="ico far fa-trash-alt"></i> 삭제</button> -->
|
|
||||||
<!-- </li> -->
|
|
||||||
</ul>
|
|
||||||
<div class="list clearfix" id="totCnt">전체 ㅣ <span>{tot_cnt}<span></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="grid"></div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
<script type="text/javaScript" language="javascript" defer="defer">
|
|
||||||
|
|
||||||
$(document).ready(function(){
|
|
||||||
Rt0200_detail.init();
|
|
||||||
});
|
|
||||||
/* *******************************
|
|
||||||
* 사용자 등록관리 Functions
|
|
||||||
******************************* */
|
|
||||||
var Rt0200_detail = {
|
|
||||||
/* ========================
|
|
||||||
* 초기화
|
|
||||||
======================== */
|
|
||||||
init : function(){
|
|
||||||
/**
|
|
||||||
* Grid Config Settings
|
|
||||||
*/
|
|
||||||
//Grid Style Set
|
|
||||||
Grid.applyTheme('striped'); // Call API of static method
|
|
||||||
|
|
||||||
//조회 목록 클릭 Event 설정
|
|
||||||
instance.on('click', function(ev) {
|
|
||||||
var props = {};
|
|
||||||
props['rowKey'] = ev.rowKey;
|
|
||||||
props['grid'] = ev.instance;
|
|
||||||
|
|
||||||
console.log(props);
|
|
||||||
});
|
|
||||||
|
|
||||||
//Grid 체크박스 checked EventListner
|
|
||||||
instance.on('check', function(ev) {
|
|
||||||
// console.log('check!', ev);
|
|
||||||
});
|
|
||||||
//Grid 체크박스 unchecked EventListner
|
|
||||||
instance.on('uncheck', function(ev) {
|
|
||||||
// console.log('uncheck!', ev);
|
|
||||||
});
|
|
||||||
//Grid 체크박스 focus이동 EventListner
|
|
||||||
instance.on('focusChange', function(ev) {
|
|
||||||
// console.log('change focused cell!', ev);
|
|
||||||
});
|
|
||||||
//Grid 처리상태에 따른 콜백
|
|
||||||
instance.on('successResponse', function(ev) {
|
|
||||||
//조회한 데이터 카운트
|
|
||||||
$('#totCnt span').text(JSON.parse(ev.xhr.response).data.pagination.totalCount);
|
|
||||||
});
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Elements EventListener Settings
|
|
||||||
*/
|
|
||||||
|
|
||||||
//검색 Event 설정
|
|
||||||
|
|
||||||
$('#btnSearch').on({
|
|
||||||
click: function(){
|
|
||||||
var sch_search_word_opt = $('select[name=sch_search_word_opt]').val();
|
|
||||||
var sch_search_word = $('#sch_search_word').val();
|
|
||||||
var search_grid = null;
|
|
||||||
|
|
||||||
if(sch_search_word_opt == "01" || sch_search_word_opt == "02") {
|
|
||||||
if(sch_search_word == "") {
|
|
||||||
alert("검색어를 입력하여 주세요");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 2022.04.25 최정민
|
|
||||||
* 검색기능 클라이언트 페이지에서 구현
|
|
||||||
*/
|
|
||||||
if(originData == null) {
|
|
||||||
originData = instance.getData();
|
|
||||||
}
|
|
||||||
if(sch_search_word_opt != "" || sch_search_word_opt != null){
|
|
||||||
if (sch_search_word_opt == "01"){
|
|
||||||
instance.resetData(originData);
|
|
||||||
search_grid = instance.findRows({om_name: sch_search_word});
|
|
||||||
instance.resetData(search_grid);
|
|
||||||
|
|
||||||
} else if (sch_search_word_opt == "02"){
|
|
||||||
instance.resetData(originData);
|
|
||||||
search_grid = instance.findRows({mm_carno: sch_search_word});
|
|
||||||
instance.resetData(search_grid);
|
|
||||||
} else {
|
|
||||||
instance.resetData(originData);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
instance.resetData(originData);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
});
|
|
||||||
// 엑셀저장 버튼 Event 설정
|
|
||||||
$('#btnExcel').on({
|
|
||||||
click: function(){
|
|
||||||
//document.frmSearch.searchAt.value = "N";
|
|
||||||
//document.frmSearch.action = "<c:out value='/adm/send/rqst/mng/excel.do'/>";
|
|
||||||
//document.frmSearch.submit();
|
|
||||||
/** 2022.04.22 최정민
|
|
||||||
* 엑셀저장기능 서버호출에서 그리드 엑셀저장 호출로 변경
|
|
||||||
*/
|
|
||||||
GridConfig.exportExcel(DateUtil.getDate().date);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
// pdf저장 버튼 Event 설정
|
|
||||||
$('#btnExportPdf').on({
|
|
||||||
click: function(){
|
|
||||||
}
|
|
||||||
});
|
|
||||||
// 등록 버튼 Event 설정
|
|
||||||
$('#btnRegist').on({
|
|
||||||
click: function(){
|
|
||||||
}
|
|
||||||
});
|
|
||||||
// 수정 버튼 Event 설정
|
|
||||||
$('#btnModify').on({
|
|
||||||
click: function(props){
|
|
||||||
|
|
||||||
var rowData = props.grid.getRow(props.rowKey);
|
|
||||||
console.log(rowData);
|
|
||||||
|
|
||||||
//console.log(grid.getValues(props));
|
|
||||||
|
|
||||||
/*
|
|
||||||
const { rowKey, columnName } = grid.getFocusedCell();
|
|
||||||
|
|
||||||
if (rowKey && columnName) {
|
|
||||||
grid.finishEditing(rowKey, columnName);
|
|
||||||
}
|
|
||||||
|
|
||||||
grid.request('updateData', {
|
|
||||||
checkedOnly: false
|
|
||||||
}); */
|
|
||||||
}
|
|
||||||
});
|
|
||||||
//삭제 버튼 Event 설정
|
|
||||||
$('#btnRemove').on({
|
|
||||||
click: function(){
|
|
||||||
if(confirm("삭제하시겠습니까?")){
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
Rt0200_detail.fn_setInputLimit();
|
|
||||||
},
|
|
||||||
/* ========================
|
|
||||||
* 입력값 언어 선택
|
|
||||||
======================== */
|
|
||||||
fn_setInputLimit : function(){
|
|
||||||
},
|
|
||||||
/* ========================
|
|
||||||
* 데이터 조회
|
|
||||||
======================== */
|
|
||||||
findData : function(){
|
|
||||||
instance.reloadData();
|
|
||||||
},
|
|
||||||
/* ========================
|
|
||||||
* 데이터 등록
|
|
||||||
======================== */
|
|
||||||
addData : function(){
|
|
||||||
var param = $("#frmSearch").serialize();
|
|
||||||
$.ajax({
|
|
||||||
url : "/adm/send/rqst/mng/proc.do",
|
|
||||||
data : param,
|
|
||||||
type : "POST",
|
|
||||||
dataType : "json",
|
|
||||||
success : function(data) {
|
|
||||||
},
|
|
||||||
error: function(){
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
/* ========================
|
|
||||||
* 데이터 수정
|
|
||||||
======================== */
|
|
||||||
modifyData : function(){
|
|
||||||
var param = $("#frmSearch").serialize();
|
|
||||||
$.ajax({
|
|
||||||
url : "/adm/send/rqst/mng/proc.do",
|
|
||||||
data : param,
|
|
||||||
type : "PUT",
|
|
||||||
dataType : "json",
|
|
||||||
success : function(data) {
|
|
||||||
},
|
|
||||||
error: function(){
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
/* ========================
|
|
||||||
* 데이터 삭제
|
|
||||||
======================== */
|
|
||||||
removeData : function(){
|
|
||||||
var param = $("#frmSearch").serialize();
|
|
||||||
$.ajax({
|
|
||||||
url : "/adm/send/rqst/mng/proc.do",
|
|
||||||
data : param,
|
|
||||||
type : "DELETE",
|
|
||||||
dataType : "json",
|
|
||||||
success : function(data) {
|
|
||||||
},
|
|
||||||
error: function(){
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
/* ========================
|
|
||||||
* 유효성 검증
|
|
||||||
======================== */
|
|
||||||
validate : function(flag){
|
|
||||||
switch(flag){
|
|
||||||
case 'insert' :
|
|
||||||
break;
|
|
||||||
case 'update' :
|
|
||||||
break;
|
|
||||||
case 'delete' :
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
/* ========================
|
|
||||||
* 페이지 이동
|
|
||||||
-외부사이트 링크가 필요 시 사용(내부코드는 각 페이지에 맞게 수정, ex>https://www.gov.kr/portal/main )
|
|
||||||
======================== */
|
|
||||||
pageLink: function(flag, url, params){
|
|
||||||
switch (flag) {
|
|
||||||
case "move": //페이지 이동
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* ******************************
|
|
||||||
* Grid 환경 설정
|
|
||||||
****************************** */
|
|
||||||
var GridConfig = new XitTuiGridConfig();
|
|
||||||
GridConfig.setOptGridId('grid'); //Grid를 출력할 Element ID(해당 Element에 Grid가 출력 됨)
|
|
||||||
GridConfig.setOptGridHeight(350); //Grid 높이(단위: px)
|
|
||||||
GridConfig.setOptRowHeight(30); //Grid row 높이(단위: px) /*2021.09.23 박소영 as-is:GridConfig.setOptRowHeight(20) to-be:GridConfig.setOptRowHeight(30);*/
|
|
||||||
GridConfig.setOptRowHeaderType('rowNum'); //Row 첫번째 Cell 타입(rowNum: 순번, checkbox: 체크박스, '': 아무것도 출력 안함)
|
|
||||||
GridConfig.setOptPageOptions({ //페이징(Pagination) 옵션
|
|
||||||
/** 2022.04.22 최정민
|
|
||||||
* 상세보기 페이지에 페이징 기능 제거
|
|
||||||
*/
|
|
||||||
//useClient: true //Client Paging 여부(true 설정 시 클라이언트 자체 페이징 처리. 서버호출 X)
|
|
||||||
//,perPage: 100 //페이지당 표시 건수
|
|
||||||
});
|
|
||||||
GridConfig.setOptColumnOptions({ //컬럼고정 옵션
|
|
||||||
frozenCount: 2
|
|
||||||
});
|
|
||||||
GridConfig.setOptDataSource({ //DataSource
|
|
||||||
/* -----------------------
|
|
||||||
* DataSource Config Setting
|
|
||||||
* -설정항목은 Global 적용 되며
|
|
||||||
* -API별 적용을 원할 경우 각 API 안에 작성 가능(우선순위: 개별->글로벌)
|
|
||||||
----------------------- */
|
|
||||||
//contentType: 'application/json',
|
|
||||||
//headers: { 'x-custom-header': 'custom-header' },
|
|
||||||
initialRequest: false, //디폴트 값은 true(false: 인스턴스 생성 시 요청은 보내지 않음. 이런 경우 "instance.reloadData()"를 사용하여 요청 가능)
|
|
||||||
//serializer: function(params) {
|
|
||||||
//return $(document.frmSearch).serialize();
|
|
||||||
// },
|
|
||||||
/* -----------------------
|
|
||||||
* DataSource API Setting
|
|
||||||
----------------------- */
|
|
||||||
api: {
|
|
||||||
readData : {
|
|
||||||
url: '<c:url value="/adm/send/rqst/mng/find.do"/>', method: 'GET'
|
|
||||||
,initParams: {}
|
|
||||||
,serializer: function(params) {
|
|
||||||
var form = document.frmSearch;
|
|
||||||
var serializeParam = $(form).serialize();
|
|
||||||
for(var key in params){
|
|
||||||
if(key=='perPage'){
|
|
||||||
if(params[key]==undefined)
|
|
||||||
serializeParam +='&'+key+'=-1';
|
|
||||||
else
|
|
||||||
serializeParam +='&'+key+'='+params[key];
|
|
||||||
}else
|
|
||||||
serializeParam +='&'+key+'='+params[key];
|
|
||||||
}
|
|
||||||
return serializeParam;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
,createData: { url: '', method: 'POST'}
|
|
||||||
,updateData: { url: '<c:url value="/adm/send/rqst/mng/proc.do"/>' , method: 'PUT'}
|
|
||||||
,modifyData: { url: '', method: 'PUT'}
|
|
||||||
,deleteData: { url: '', method: 'DELETE'}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
/** 2022.04.22 최정민
|
|
||||||
* 그리드 정렬기능(sortable: true) 추가, 셀수정기능 제거(editor: 'text' 주석)
|
|
||||||
*/
|
|
||||||
GridConfig.setOptColumns([ //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'
|
|
||||||
}
|
|
||||||
]);
|
|
||||||
var Grid = tui.Grid;
|
|
||||||
var instance = GridConfig.instance(Grid); //Grid 인스턴스
|
|
||||||
|
|
||||||
|
|
||||||
var originData = null;
|
|
||||||
console.log(originData);
|
|
||||||
|
|
||||||
</script>
|
|
@ -1,439 +0,0 @@
|
|||||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
|
||||||
<%@ include file="/WEB-INF/jsp/framework/taglibs.jsp"%>
|
|
||||||
|
|
||||||
|
|
||||||
<form id="frmSearch" name="frmSearch" method="get">
|
|
||||||
<input type="hidden" id="searchGubun" name="searchGubun" value="excel">
|
|
||||||
<input type="hidden" id="sch_tab_id" name="sch_tab_id" value="0"/>
|
|
||||||
|
|
||||||
<div class="search">
|
|
||||||
<div class="detail_02" style="display: block;">
|
|
||||||
<fieldset class="frmSearch">
|
|
||||||
<legend>상세 검색</legend>
|
|
||||||
<ul class="detailGroup_02">
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<span class="title"><label style="padding-right: 26px;">조회일자 :</label></span>
|
|
||||||
<select id="sch_date_opt" name="sch_date_opt" class="selectBox">
|
|
||||||
<option value="1">위반일자</option>
|
|
||||||
<option value="2">등록일자</option>
|
|
||||||
</select>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<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/ens/content/images/common/main/calendar.png"/><em>달력</em></span> --%>
|
|
||||||
<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/ens/content/images/common/main/calendar.png"/><em>달력</em></span> --%>
|
|
||||||
<img style="width:18px;" src="${ctx }/resources/biz/content/images/common/main/calendar.png"/><em>달력</em></span>
|
|
||||||
</button>
|
|
||||||
</span>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li style="padding-bottom:10px; padding-left: 40px;">
|
|
||||||
<span class="title">상태 : </span>
|
|
||||||
<select id="sch_opt" name="sch_opt" class="selectBox">
|
|
||||||
<option value="1">차량번호</option>
|
|
||||||
<option value="2">소유자명</option>
|
|
||||||
</select>
|
|
||||||
</li>
|
|
||||||
<input type="text" id="sch_word" name="sch_word" value="">
|
|
||||||
<button type="button" class="btnSearch" id="btnSearch" name="btnSearch">검색</button>
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
|
|
||||||
<div class="contents">
|
|
||||||
<div class="topBtnArea">
|
|
||||||
<ul class="btnList">
|
|
||||||
<!-- <li> -->
|
|
||||||
<!-- <button data-show-popup="sampleBox">팝업 버튼 예시</button> -->
|
|
||||||
<!-- </li> -->
|
|
||||||
<li>
|
|
||||||
<button type="button" id="btnExcel"><i class="ico far fa-file-excel"></i> 엑셀</button>
|
|
||||||
</li>
|
|
||||||
<!-- <li> -->
|
|
||||||
<!-- <button id="btnExportPdf"><i class="ico far fa-file-pdf"></i> pdf</button> -->
|
|
||||||
<!-- </li> -->
|
|
||||||
<!-- <li> -->
|
|
||||||
<!-- <button id="btnRegist"><i class="ico fas fa-save"></i> 저장</button> -->
|
|
||||||
<!-- </li> -->
|
|
||||||
<!-- <li> -->
|
|
||||||
<!-- <button id="btnModify"><i class="ico fas fa-edit"></i> 수정</button> -->
|
|
||||||
<!-- </li> -->
|
|
||||||
<!-- <li> -->
|
|
||||||
<!-- <button id="btnRemove"><i class="ico far fa-trash-alt"></i> 삭제</button> -->
|
|
||||||
<!-- </li> -->
|
|
||||||
</ul>
|
|
||||||
<div class="list clearfix" id="totCnt">전체 ㅣ <span></span></div>
|
|
||||||
</div>
|
|
||||||
<!-- <div class="tableArea"> -->
|
|
||||||
<!-- //버튼 및 페이지정보 -->
|
|
||||||
<div class="row">
|
|
||||||
<div id="tabs">
|
|
||||||
<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>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<div id="tabs_0">
|
|
||||||
<div id="grid_t0"></div>
|
|
||||||
</div>
|
|
||||||
<div id="tabs_1">
|
|
||||||
<div id="grid_t1"></div>
|
|
||||||
</div>
|
|
||||||
<div id="tabs_2">
|
|
||||||
<div id="grid_t2"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<!-- //tabs -->
|
|
||||||
</div>
|
|
||||||
<!-- </div> -->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- 다이얼로그 팝업 예시(sampleBox) -->
|
|
||||||
<div class="modal-wrap">
|
|
||||||
<div class="modal-cell">
|
|
||||||
<!-- cont-box는 ID를 추가하여 여러개의 내용을 넣어주세요.
|
|
||||||
팝업 오픈시 해당 ID의 팝업만 노출 되도록 만들었습니다. -->
|
|
||||||
<div class="cont-box" id="sampleBox">
|
|
||||||
<p>
|
|
||||||
단순 팝업 입니다.<br>
|
|
||||||
내용이 많으면 더 쓰셔도 됩니다.
|
|
||||||
</p>
|
|
||||||
<div class="btn-box">
|
|
||||||
<button data-modal-close class="btnDark">확인</button>
|
|
||||||
<button data-modal-close class="btnDark">취소</button>
|
|
||||||
</div>
|
|
||||||
<button data-modal-close class="fas btn-close"></button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<script type="text/javaScript" language="javascript" defer="defer">
|
|
||||||
// 전역변수 선언
|
|
||||||
const ARR_INSTANCE = [null,null,null];
|
|
||||||
const ARR_TOTCNT = [0,0,0];
|
|
||||||
let CUR_TAB_SEQ = 0;
|
|
||||||
|
|
||||||
$(document).ready(function() {
|
|
||||||
|
|
||||||
Rt0200_main.init();
|
|
||||||
|
|
||||||
$('#totCnt span').text(ARR_TOTCNT[CUR_TAB_SEQ]);
|
|
||||||
$("#tabs").tabs({active : CUR_TAB_SEQ});
|
|
||||||
//ARR_INSTANCE[0].refreshLayout();
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* *******************************
|
|
||||||
* 사용자 등록관리 Functions
|
|
||||||
******************************* */
|
|
||||||
const Rt0200_main = {
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* ========================
|
|
||||||
* 초기화
|
|
||||||
======================== */
|
|
||||||
init : function() {
|
|
||||||
/** ******************************
|
|
||||||
* 화면 설정
|
|
||||||
****************************** */
|
|
||||||
$('#sch_date_from').datepicker('setDate', DateUtil.getDateDay(-365).date);
|
|
||||||
$('#sch_date_to').datepicker('setDate', DateUtil.getDateDay().date);
|
|
||||||
|
|
||||||
|
|
||||||
/* ******************************
|
|
||||||
* Grid
|
|
||||||
****************************** */
|
|
||||||
const tab0Columns = [ //Grid 컬럼 정보(명칭,매핑 field, 기타옵션 등)
|
|
||||||
{
|
|
||||||
header: '차량번호',
|
|
||||||
name: 'vhcle_no',
|
|
||||||
minWidth: 120,
|
|
||||||
sortable: false,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '소유자명',
|
|
||||||
name: 'owner_nm',
|
|
||||||
minWidth: 120,
|
|
||||||
sortable: false,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '위반장소',
|
|
||||||
name: 'violt_place',
|
|
||||||
width: 120,
|
|
||||||
sortable: false,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '위반횟수',
|
|
||||||
name: 'violt_co',
|
|
||||||
width: 110,
|
|
||||||
sortable: false,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '수납금액',
|
|
||||||
name: 'rciv_amount',
|
|
||||||
width: 150,
|
|
||||||
sortable: false,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '등록일시',
|
|
||||||
name: 'regist_dt',
|
|
||||||
width: 110,
|
|
||||||
sortable: false,
|
|
||||||
align: 'center',
|
|
||||||
formatter({value}){
|
|
||||||
return setDateFmt(value); //
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '최종처리일시',
|
|
||||||
name: 'last_process_dt',
|
|
||||||
width: 120,
|
|
||||||
sortable: false,
|
|
||||||
align: 'center',
|
|
||||||
formatter({value}){
|
|
||||||
return setDateTimeFmt(value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
];
|
|
||||||
//DataSource
|
|
||||||
let tab0Datasource = {
|
|
||||||
//initialRequest: false, // 화면 load시 조회 않함 - default
|
|
||||||
api: {
|
|
||||||
readData: {
|
|
||||||
url: '<c:url value="/fims/biz/rt/findRt0200List.do"/>'
|
|
||||||
, serializer: (params) => fnAddPageInfo(document.frmSearch, params)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
const tab0Options = {
|
|
||||||
el: 'grid_t0',
|
|
||||||
rowHeaders: ['rowNum'],
|
|
||||||
columns: tab0Columns,
|
|
||||||
columnOptions: {
|
|
||||||
frozenCount: 1 //고정컬럼 갯수
|
|
||||||
, minWidth: 80 //최소 사이즈
|
|
||||||
},
|
|
||||||
};
|
|
||||||
const tab1Options = $.extend(true, {}, tab0Options, {
|
|
||||||
el: 'grid_t1'
|
|
||||||
});
|
|
||||||
const tab2Options = $.extend(true, {}, tab0Options, {
|
|
||||||
el: 'grid_t2'
|
|
||||||
});
|
|
||||||
|
|
||||||
const onDblClickEventSet = function(tabSeq) {
|
|
||||||
ARR_INSTANCE[tabSeq].on('dblclick', function(ev) {
|
|
||||||
var props = {};
|
|
||||||
props['rowKey'] = ev.rowKey;
|
|
||||||
props['grid'] = ev.instance;
|
|
||||||
Rt0200_main.clickRegBtn(props);
|
|
||||||
//Rt0200_main.clickRegBtn(ev.instance.getRow(ev.rowKey), tabSeq);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
ARR_INSTANCE[0] = TuiGrid.of(tab0Options, tab0Datasource, (res) => {
|
|
||||||
ARR_TOTCNT[0] = res.data.pagination.totalCount;
|
|
||||||
onDblClickEventSet(0);
|
|
||||||
});
|
|
||||||
|
|
||||||
ARR_INSTANCE[1] = TuiGrid.of(tab1Options, tab0Datasource, (res) => {
|
|
||||||
ARR_TOTCNT[1] = res.data.pagination.totalCount;
|
|
||||||
onDblClickEventSet(1);
|
|
||||||
});
|
|
||||||
ARR_INSTANCE[2] = TuiGrid.of(tab2Options, tab0Datasource, (res) => {
|
|
||||||
ARR_TOTCNT[2] = res.data.pagination.totalCount;
|
|
||||||
onDblClickEventSet(2);
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* ******************************
|
|
||||||
* Grid event
|
|
||||||
****************************** */
|
|
||||||
|
|
||||||
/*
|
|
||||||
//Grid 체크박스 checked EventListner
|
|
||||||
ARR_INSTANCE[CUR_TAB_SEQ].on('check', function(ev) {
|
|
||||||
// console.log('check!', ev);
|
|
||||||
});
|
|
||||||
//Grid 체크박스 unchecked EventListner
|
|
||||||
ARR_INSTANCE[CUR_TAB_SEQ].on('uncheck', function(ev) {
|
|
||||||
// console.log('uncheck!', ev);
|
|
||||||
});
|
|
||||||
//Grid 체크박스 focus이동 EventListner
|
|
||||||
ARR_INSTANCE[CUR_TAB_SEQ].on('focusChange', function(ev) {
|
|
||||||
// console.log('change focused cell!', ev);
|
|
||||||
});
|
|
||||||
|
|
||||||
//Grid 처리상태에 따른 콜백
|
|
||||||
ARR_INSTANCE[CUR_TAB_SEQ].on('successResponse', function(ev) {
|
|
||||||
//조회한 데이터 카운트
|
|
||||||
//$('#totCnt span').text(JSON.parse(ev.xhr.response).data.pagination.totalCount);
|
|
||||||
});
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** ******************************
|
|
||||||
* Event 정의
|
|
||||||
* ******************************/
|
|
||||||
//tab
|
|
||||||
$("#tabs").on("click", "li", function () {
|
|
||||||
CUR_TAB_SEQ = parseInt($("#tabs .ui-tabs-active a").attr("id"));
|
|
||||||
$('#totCnt span').text(ARR_TOTCNT[CUR_TAB_SEQ]);
|
|
||||||
let tabId = CUR_TAB_SEQ
|
|
||||||
$('#sch_tab_id').val(tabId);
|
|
||||||
|
|
||||||
if(ARR_INSTANCE[tabId]) ARR_INSTANCE[tabId].refreshLayout();
|
|
||||||
});
|
|
||||||
|
|
||||||
//검색
|
|
||||||
$('#btnSearch').on('click', () => {
|
|
||||||
const sch_date_opt = $('select[name=sch_date_opt]').val();
|
|
||||||
const sch_date_from = $('#sch_date_from').val();
|
|
||||||
const sch_date_to = $('#sch_date_to').val();
|
|
||||||
/*sch_date_from = sch_date_from.replace(/\./g, '');*/
|
|
||||||
|
|
||||||
if (sch_date_from != "" || sch_date_to != "") {
|
|
||||||
if (sch_date_opt == "" || sch_date_from == "" || sch_date_to == "") {
|
|
||||||
alert("조회기준 또는 일시를 선택하세요");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ARR_INSTANCE[CUR_TAB_SEQ].reloadData();
|
|
||||||
// ARR_INSTANCE[CUR_TAB_SEQ].refreshLayout();
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
$('#btnExcel').on('click', () => {
|
|
||||||
//document.frmSearch.searchAt.value = "N";
|
|
||||||
//document.frmSearch.action = "<c:out value='/adm/send/rqst/mng/excel.do'/>";
|
|
||||||
//document.frmSearch.submit();
|
|
||||||
/** 2022.04.22 최정민
|
|
||||||
* 엑셀저장기능 서버호출에서 그리드 엑셀저장 호출로 변경
|
|
||||||
*/
|
|
||||||
TuiGrid.exportExcel(ARR_INSTANCE[CUR_TAB_SEQ], DateUtil.getDate().date, 'rowNum');
|
|
||||||
}
|
|
||||||
);
|
|
||||||
// pdf저장 버튼 Event 설정
|
|
||||||
$('#btnExportPdf').on('click', () => {
|
|
||||||
});
|
|
||||||
|
|
||||||
// 등록 버튼 Event 설정
|
|
||||||
$('#btnRegist').on('click', () => {
|
|
||||||
});
|
|
||||||
|
|
||||||
// 수정 버튼 Event 설정
|
|
||||||
$('#btnModify').on('click', () => {
|
|
||||||
});
|
|
||||||
//삭제 버튼 Event 설정
|
|
||||||
$('#btnRemove').on('click', () => {
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
clickRegBtn: function(props){
|
|
||||||
let rowData = props.grid.getRow(props.rowKey);
|
|
||||||
<%--Rt0200_main.pagePopup('detail', '<c:url value="/cmm/fimsPopup/fimsTotalPopup.do"/>', params);--%>
|
|
||||||
CmmPopup.open('<c:url value="/cmm/fimsPopup/fimsTotalPopup.do"/>',
|
|
||||||
{
|
|
||||||
tilesDef: 'popup',
|
|
||||||
selectedId: rowData.reglt_id
|
|
||||||
},
|
|
||||||
{
|
|
||||||
width: 1500,
|
|
||||||
height: 900
|
|
||||||
},
|
|
||||||
'단속자료 상세 현황'
|
|
||||||
)
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
addData: function(){
|
|
||||||
var param = $("#frmSearch").serialize();
|
|
||||||
$.ajax({
|
|
||||||
url : "/adm/send/rqst/mng/proc.do",
|
|
||||||
data : param,
|
|
||||||
type : "POST",
|
|
||||||
dataType : "json",
|
|
||||||
success : function(data) {
|
|
||||||
},
|
|
||||||
error: function(){
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
modifyData: function(){
|
|
||||||
var param = $("#frmSearch").serialize();
|
|
||||||
$.ajax({
|
|
||||||
url : "/adm/send/rqst/mng/proc.do",
|
|
||||||
data : param,
|
|
||||||
type : "PUT",
|
|
||||||
dataType : "json",
|
|
||||||
success : function(data) {
|
|
||||||
ARR_INSTANCE[CUR_TAB_SEQ].resetData(data);
|
|
||||||
},
|
|
||||||
error: function(){
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
removeData: function(){
|
|
||||||
var param = $("#frmSearch").serialize();
|
|
||||||
$.ajax({
|
|
||||||
url : "/adm/send/rqst/mng/proc.do",
|
|
||||||
data : param,
|
|
||||||
type : "DELETE",
|
|
||||||
dataType : "json",
|
|
||||||
success : function(data) {
|
|
||||||
},
|
|
||||||
error: function(){
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
validate: function(flag){
|
|
||||||
switch(flag){
|
|
||||||
case 'insert' :
|
|
||||||
break;
|
|
||||||
case 'update' :
|
|
||||||
break;
|
|
||||||
case 'delete' :
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
</script>
|
|
@ -1,486 +0,0 @@
|
|||||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
|
||||||
<%@ include file="/WEB-INF/jsp/framework/taglibs.jsp"%>
|
|
||||||
|
|
||||||
|
|
||||||
<form id="frmSearch" name="frmSearch" method="get">
|
|
||||||
<input type="hidden" id="searchGubun" name="searchGubun" value="excel">
|
|
||||||
<input type="hidden" id="sch_tab_id" name="sch_tab_id" value="0"/>
|
|
||||||
|
|
||||||
<div class="search">
|
|
||||||
<div class="detail_02" style="display: block;">
|
|
||||||
<fieldset class="frmSearch">
|
|
||||||
<legend>상세 검색</legend>
|
|
||||||
<ul class="detailGroup_02">
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<span class="title"><label for="sel02" style="padding-right: 26px;">조회일자 :</label></span>
|
|
||||||
<select id="sch_date_opt" name="sch_date_opt" class="selectBox">
|
|
||||||
<option value="1">위반일자</option>
|
|
||||||
<option value="2">등록일자</option>
|
|
||||||
</select>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<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/ens/content/images/common/main/calendar.png"/><em>달력</em></span> --%>
|
|
||||||
<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/ens/content/images/common/main/calendar.png"/><em>달력</em></span> --%>
|
|
||||||
<img style="width:18px;" src="${ctx }/resources/biz/content/images/common/main/calendar.png"/><em>달력</em></span>
|
|
||||||
</button>
|
|
||||||
</span>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li style="padding-bottom:10px; padding-left: 40px;">
|
|
||||||
<span class="title">상태 : </span>
|
|
||||||
<select id="sch_opt" name="sch_opt" class="selectBox">
|
|
||||||
<option value="1">차량번호</option>
|
|
||||||
<option value="2">소유자명</option>
|
|
||||||
</select>
|
|
||||||
</li>
|
|
||||||
<input type="text" id="sch_word" name="sch_word" value="">
|
|
||||||
<button type="button" class="btnSearch" id="btnSearch" name="btnSearch">검색</button>
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="contents">
|
|
||||||
<div class="topBtnArea">
|
|
||||||
<ul class="btnList">
|
|
||||||
<!-- <li> -->
|
|
||||||
<!-- <button data-show-popup="sampleBox">팝업 버튼 예시</button> -->
|
|
||||||
<!-- </li> -->
|
|
||||||
<li>
|
|
||||||
<button type="button" id="btnExcel"><i class="ico far fa-file-excel"></i> 엑셀</button>
|
|
||||||
</li>
|
|
||||||
<!-- <li> -->
|
|
||||||
<!-- <button id="btnExportPdf"><i class="ico far fa-file-pdf"></i> pdf</button> -->
|
|
||||||
<!-- </li> -->
|
|
||||||
<!-- <li> -->
|
|
||||||
<!-- <button id="btnRegist"><i class="ico fas fa-save"></i> 저장</button> -->
|
|
||||||
<!-- </li> -->
|
|
||||||
<!-- <li> -->
|
|
||||||
<!-- <button id="btnModify"><i class="ico fas fa-edit"></i> 수정</button> -->
|
|
||||||
<!-- </li> -->
|
|
||||||
<!-- <li> -->
|
|
||||||
<!-- <button id="btnRemove"><i class="ico far fa-trash-alt"></i> 삭제</button> -->
|
|
||||||
<!-- </li> -->
|
|
||||||
</ul>
|
|
||||||
<div class="list clearfix" id="totCnt">전체 ㅣ <span><span></div>
|
|
||||||
</div>
|
|
||||||
<!-- <div class="tableArea"> -->
|
|
||||||
<!-- //버튼 및 페이지정보 -->
|
|
||||||
<div class="row">
|
|
||||||
<div id="tabs">
|
|
||||||
<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>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<div id="tabs_0">
|
|
||||||
<div id="grid_t0"></div>
|
|
||||||
</div>
|
|
||||||
<div id="tabs_1">
|
|
||||||
<div id="grid_t1"></div>
|
|
||||||
</div>
|
|
||||||
<div id="tabs_2">
|
|
||||||
<div id="grid_t2"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<!-- //tabs -->
|
|
||||||
</div>
|
|
||||||
<!-- </div> -->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- 다이얼로그 팝업 예시(sampleBox) -->
|
|
||||||
<div class="modal-wrap">
|
|
||||||
<div class="modal-cell">
|
|
||||||
<!-- cont-box는 ID를 추가하여 여러개의 내용을 넣어주세요.
|
|
||||||
팝업 오픈시 해당 ID의 팝업만 노출 되도록 만들었습니다. -->
|
|
||||||
<div class="cont-box" id="sampleBox">
|
|
||||||
<p>
|
|
||||||
단순 팝업 입니다.<br>
|
|
||||||
내용이 많으면 더 쓰셔도 됩니다.
|
|
||||||
</p>
|
|
||||||
<div class="btn-box">
|
|
||||||
<button data-modal-close class="btnDark">확인</button>
|
|
||||||
<button data-modal-close class="btnDark">취소</button>
|
|
||||||
</div>
|
|
||||||
<button data-modal-close class="fas btn-close"></button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
|
|
||||||
<script type="text/javaScript" language="javascript" defer="defer">
|
|
||||||
//const ARR_INSTANCE = new Array();
|
|
||||||
let tabId = parseInt($('#sch_tab_id').val());
|
|
||||||
$(document).ready(function() {
|
|
||||||
|
|
||||||
Rt0200_main.init();
|
|
||||||
|
|
||||||
//제이쿼리 탭 스크립트
|
|
||||||
$("#tabs").tabs({active : 0});
|
|
||||||
ARR_INSTANCE[0].refreshLayout();
|
|
||||||
});
|
|
||||||
/* *******************************
|
|
||||||
* 사용자 등록관리 Functions
|
|
||||||
******************************* */
|
|
||||||
var Rt0200_main = {
|
|
||||||
/* ========================
|
|
||||||
* 초기화
|
|
||||||
======================== */
|
|
||||||
init : function(){
|
|
||||||
$('#sch_date_from').datepicker('setDate', DateUtil.getDateDay(-365).date);
|
|
||||||
$('#sch_date_to').datepicker('setDate', DateUtil.getDateDay().date);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Grid Config Settings
|
|
||||||
*/
|
|
||||||
//Grid Style Set
|
|
||||||
//tui.Grid.applyTheme('striped'); // Call API of static method
|
|
||||||
|
|
||||||
//tab 클릭 이벤트
|
|
||||||
$("#tabs").on("click", "li", function(){
|
|
||||||
let tabId = parseInt($("#tabs .ui-tabs-active a").attr("id"));
|
|
||||||
$('#sch_tab_id').val(tabId);
|
|
||||||
console.log(typeof tabId);
|
|
||||||
console.log('>>>>>>>>>',tabId);
|
|
||||||
//$('#totCnt span').text(JSON.parse(ev.xhr.response).data.pagination.totalCount);
|
|
||||||
|
|
||||||
ARR_INSTANCE[tabId].refreshLayout();
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
//조회 목록 더블클릭 Event 설정
|
|
||||||
ARR_INSTANCE[parseInt($('#sch_tab_id').val())].on('dblclick', function(ev) {
|
|
||||||
var props = {};
|
|
||||||
props['rowKey'] = ev.rowKey;
|
|
||||||
props['grid'] = ev.instance;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Rt0200_main.fnClickRegBtn(props);
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
//Grid 체크박스 checked EventListner
|
|
||||||
ARR_INSTANCE[parseInt($('#sch_tab_id').val())].on('check', function(ev) {
|
|
||||||
// console.log('check!', ev);
|
|
||||||
});
|
|
||||||
//Grid 체크박스 unchecked EventListner
|
|
||||||
ARR_INSTANCE[parseInt($('#sch_tab_id').val())].on('uncheck', function(ev) {
|
|
||||||
// console.log('uncheck!', ev);
|
|
||||||
});
|
|
||||||
//Grid 체크박스 focus이동 EventListner
|
|
||||||
ARR_INSTANCE[parseInt($('#sch_tab_id').val())].on('focusChange', function(ev) {
|
|
||||||
// console.log('change focused cell!', ev);
|
|
||||||
});
|
|
||||||
|
|
||||||
//Grid 처리상태에 따른 콜백
|
|
||||||
ARR_INSTANCE[parseInt($('#sch_tab_id').val())].on('successResponse', function(ev) {
|
|
||||||
//조회한 데이터 카운트
|
|
||||||
//$('#totCnt span').text(JSON.parse(ev.xhr.response).data.pagination.totalCount);
|
|
||||||
});
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Elements EventListener Settings
|
|
||||||
*/
|
|
||||||
//검색 Event 설정
|
|
||||||
$('#btnSearch').on({
|
|
||||||
click: function(){
|
|
||||||
var sch_date_opt = $('select[name=sch_date_opt]').val();
|
|
||||||
var sch_date_from = $('#sch_date_from').val();
|
|
||||||
var sch_date_to = $('#sch_date_to').val();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 작성일 : 22.04.21
|
|
||||||
* 작성자 : 최정민
|
|
||||||
* 내용 : 조회일자 replace 쿼리로 이동하여 주석처리
|
|
||||||
*/
|
|
||||||
/*sch_date_from = sch_date_from.replace(/\./g, '');
|
|
||||||
sch_date_to = sch_date_to.replace(/\./g, '');
|
|
||||||
$('input[name=sch_date_from]').val(sch_date_from);
|
|
||||||
$('input[name=sch_date_to]').val(sch_date_to);*/
|
|
||||||
|
|
||||||
if(sch_date_from != "" || sch_date_to != "") {
|
|
||||||
if(sch_date_opt == "" || sch_date_from == "" || sch_date_to == "") {
|
|
||||||
alert("조회기준 또는 일시를 선택하세요");
|
|
||||||
} else{
|
|
||||||
Rt0200_main.findData();
|
|
||||||
}
|
|
||||||
} else{
|
|
||||||
Rt0200_main.findData();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
// 엑셀저장 버튼 Event 설정
|
|
||||||
$('#btnExcel').on({
|
|
||||||
click: function(){
|
|
||||||
//document.frmSearch.searchAt.value = "N";
|
|
||||||
//document.frmSearch.action = "<c:out value='/adm/send/rqst/mng/excel.do'/>";
|
|
||||||
//document.frmSearch.submit();
|
|
||||||
/** 2022.04.22 최정민
|
|
||||||
* 엑셀저장기능 서버호출에서 그리드 엑셀저장 호출로 변경
|
|
||||||
*/
|
|
||||||
GridConfig.exportExcel(DateUtil.getDate().date);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
// pdf저장 버튼 Event 설정
|
|
||||||
$('#btnExportPdf').on({
|
|
||||||
click: function(){
|
|
||||||
}
|
|
||||||
});
|
|
||||||
// 등록 버튼 Event 설정
|
|
||||||
$('#btnRegist').on({
|
|
||||||
click: function(){
|
|
||||||
}
|
|
||||||
});
|
|
||||||
// 수정 버튼 Event 설정
|
|
||||||
$('#btnModify').on({
|
|
||||||
click: function(){
|
|
||||||
}
|
|
||||||
});
|
|
||||||
//삭제 버튼 Event 설정
|
|
||||||
$('#btnRemove').on({
|
|
||||||
click: function(){
|
|
||||||
if(confirm("삭제하시겠습니까?")){
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
Rt0200_main.fn_setInputLimit();
|
|
||||||
},
|
|
||||||
/* ========================
|
|
||||||
* 입력값 언어 선택
|
|
||||||
======================== */
|
|
||||||
fn_setInputLimit : function(){
|
|
||||||
},
|
|
||||||
/* ========================
|
|
||||||
* 데이터 조회
|
|
||||||
======================== */
|
|
||||||
findData : function(){
|
|
||||||
var tab = $('#sch_tab_id').val();
|
|
||||||
ARR_INSTANCE[tab].reloadData();
|
|
||||||
},
|
|
||||||
/* ========================
|
|
||||||
* 데이터 등록
|
|
||||||
======================== */
|
|
||||||
addData : function(){
|
|
||||||
var param = $("#frmSearch").serialize();
|
|
||||||
$.ajax({
|
|
||||||
url : "/adm/send/rqst/mng/proc.do",
|
|
||||||
data : param,
|
|
||||||
type : "POST",
|
|
||||||
dataType : "json",
|
|
||||||
success : function(data) {
|
|
||||||
},
|
|
||||||
error: function(){
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
/* ========================
|
|
||||||
* 데이터 수정
|
|
||||||
======================== */
|
|
||||||
modifyData : function(){
|
|
||||||
var param = $("#frmSearch").serialize();
|
|
||||||
$.ajax({
|
|
||||||
url : "/adm/send/rqst/mng/proc.do",
|
|
||||||
data : param,
|
|
||||||
type : "PUT",
|
|
||||||
dataType : "json",
|
|
||||||
success : function(data) {
|
|
||||||
},
|
|
||||||
error: function(){
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
/* ========================
|
|
||||||
* 데이터 삭제
|
|
||||||
======================== */
|
|
||||||
removeData : function(){
|
|
||||||
var param = $("#frmSearch").serialize();
|
|
||||||
$.ajax({
|
|
||||||
url : "/adm/send/rqst/mng/proc.do",
|
|
||||||
data : param,
|
|
||||||
type : "DELETE",
|
|
||||||
dataType : "json",
|
|
||||||
success : function(data) {
|
|
||||||
},
|
|
||||||
error: function(){
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
/* ========================
|
|
||||||
* 유효성 검증
|
|
||||||
======================== */
|
|
||||||
validate : function(flag){
|
|
||||||
switch(flag){
|
|
||||||
case 'insert' :
|
|
||||||
break;
|
|
||||||
case 'update' :
|
|
||||||
break;
|
|
||||||
case 'delete' :
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
/* ========================
|
|
||||||
* 페이지 이동
|
|
||||||
-외부사이트 링크가 필요 시 사용(내부코드는 각 페이지에 맞게 수정, ex>https://www.gov.kr/portal/main )
|
|
||||||
======================== */
|
|
||||||
pageLink: function(flag, url, params){
|
|
||||||
switch (flag) {
|
|
||||||
case "move": //페이지 이동
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
/* ========================
|
|
||||||
* 상세 팝업 조회 버튼 클릭
|
|
||||||
-선택한 신청의 상세 조회 팝업을 OPEN 한다.
|
|
||||||
======================== */
|
|
||||||
fnClickRegBtn: function(props){
|
|
||||||
var rowData = props.grid.getRow(props.rowKey);
|
|
||||||
<%--Rt0200_main.pagePopup('detail', '<c:url value="/cmm/fimsPopup/fimsTotalPopup.do"/>', params);--%>
|
|
||||||
CmmPopup.open('<c:url value="/cmm/fimsPopup/fimsTotalPopup.do"/>',
|
|
||||||
{
|
|
||||||
tilesDef: 'popup',
|
|
||||||
selectedId: rowData.reglt_id
|
|
||||||
},
|
|
||||||
{
|
|
||||||
width: 1500,
|
|
||||||
height: 900
|
|
||||||
},
|
|
||||||
'단속자료 상세 현황'
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* ******************************
|
|
||||||
* Grid 환경 설정
|
|
||||||
****************************** */
|
|
||||||
var GridConfig = new XitTuiGridConfig();
|
|
||||||
GridConfig.setOptGridId('grid_t0'); //Grid를 출력할 Element ID(해당 Element에 Grid가 출력 됨)
|
|
||||||
GridConfig.setOptRowHeaderType('rowNum'); //Row 첫번째 Cell 타입(rowNum: 순번, checkbox: 체크박스, '': 아무것도 출력 안함)
|
|
||||||
|
|
||||||
GridConfig.setOptColumnOptions({ //컬럼고정 옵션
|
|
||||||
frozenCount: 1 //고정컬럼 갯수
|
|
||||||
, minWidth: 80 //최소 사이즈
|
|
||||||
});
|
|
||||||
|
|
||||||
GridConfig.setOptDataSource({ //DataSource
|
|
||||||
/* -----------------------
|
|
||||||
* DataSource API Setting
|
|
||||||
----------------------- */
|
|
||||||
initialRequest: false,
|
|
||||||
api: {
|
|
||||||
readData : {
|
|
||||||
url: '<c:url value="/fims/biz//rt/findRt0200List.do"/>'
|
|
||||||
, method: 'GET'
|
|
||||||
,serializer: function(params) {
|
|
||||||
var form = document.frmSearch;
|
|
||||||
var serializeParam = $(form).serialize();
|
|
||||||
|
|
||||||
for(var key in params){
|
|
||||||
if(key=='perPage'){
|
|
||||||
if(params[key]==undefined)
|
|
||||||
serializeParam +='&'+key+'=-1';
|
|
||||||
else
|
|
||||||
serializeParam +='&'+key+'='+params[key];
|
|
||||||
}else
|
|
||||||
serializeParam +='&'+key+'='+params[key];
|
|
||||||
}
|
|
||||||
return serializeParam;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
GridConfig.setOptColumns([ //Grid 컬럼 정보(명칭,매핑 field, 기타옵션 등)
|
|
||||||
{
|
|
||||||
header: '차량번호',
|
|
||||||
name: 'vhcle_no',
|
|
||||||
minWidth: 120,
|
|
||||||
sortable: false,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '소유자명',
|
|
||||||
name: 'owner_nm',
|
|
||||||
minWidth: 120,
|
|
||||||
sortable: false,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '위반장소',
|
|
||||||
name: 'violt_place',
|
|
||||||
width: 120,
|
|
||||||
sortable: false,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '위반횟수',
|
|
||||||
name: 'violt_co',
|
|
||||||
width: 110,
|
|
||||||
sortable: false,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '수납금액',
|
|
||||||
name: 'rciv_amount',
|
|
||||||
width: 150,
|
|
||||||
sortable: false,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '등록일시',
|
|
||||||
name: 'regist_dt',
|
|
||||||
width: 110,
|
|
||||||
sortable: false,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '최종처리일시',
|
|
||||||
name: 'last_process_dt',
|
|
||||||
width: 120,
|
|
||||||
sortable: false,
|
|
||||||
align: 'center'
|
|
||||||
}
|
|
||||||
]);
|
|
||||||
|
|
||||||
|
|
||||||
var GridConfig_t1 = $.extend({}, GridConfig); //Grid 인스턴스 tab1
|
|
||||||
//var GridConfig_t1 = new XitTuiGridConfig();
|
|
||||||
GridConfig_t1.setOptGridId('grid_t1');
|
|
||||||
|
|
||||||
var GridConfig_t2 = $.extend({}, GridConfig); //Grid 인스턴스 tab1
|
|
||||||
//var GridConfig_t1 = new XitTuiGridConfig();
|
|
||||||
GridConfig_t2.setOptGridId('grid_t2');
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var ARR_INSTANCE = new Array();
|
|
||||||
ARR_INSTANCE[0] = GridConfig.instance();
|
|
||||||
ARR_INSTANCE[1] = GridConfig_t1.instance();
|
|
||||||
ARR_INSTANCE[2] = GridConfig_t2.instance();
|
|
||||||
|
|
||||||
</script>
|
|
@ -1,642 +0,0 @@
|
|||||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
|
||||||
<%@ include file="/WEB-INF/jsp/framework/taglibs.jsp"%>
|
|
||||||
|
|
||||||
|
|
||||||
<form id="frmSearch" name="frmSearch" method="get">
|
|
||||||
<input type="hidden" id="searchGubun" name="searchGubun" value="excel">
|
|
||||||
<input type="hidden" id="sch_tab_id" name="sch_tab_id" value="0"/>
|
|
||||||
|
|
||||||
<div class="search">
|
|
||||||
<div class="detail_02" style="display: block;">
|
|
||||||
<fieldset class="frmSearch">
|
|
||||||
<legend>상세 검색</legend>
|
|
||||||
<ul class="detailGroup_02">
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<span class="title"><label for="sel02" style="padding-right: 26px;">조회일자 :</label></span>
|
|
||||||
<select id="sch_date_opt" name="sch_date_opt" class="selectBox">
|
|
||||||
<option value="1">위반일자</option>
|
|
||||||
<option value="2">등록일자</option>
|
|
||||||
</select>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<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/ens/content/images/common/main/calendar.png"/><em>달력</em></span> --%>
|
|
||||||
<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/ens/content/images/common/main/calendar.png"/><em>달력</em></span> --%>
|
|
||||||
<img style="width:18px;" src="${ctx }/resources/biz/content/images/common/main/calendar.png"/><em>달력</em></span>
|
|
||||||
</button>
|
|
||||||
</span>
|
|
||||||
</li>
|
|
||||||
<li style="padding-bottom:10px; padding-left: 40px;">
|
|
||||||
<span class="title">상태 : </span>
|
|
||||||
<select id="sch_opt" name="sch_opt" class="selectBox">
|
|
||||||
<option value="1">차량번호</option>
|
|
||||||
<option value="2">소유자명</option>
|
|
||||||
</select>
|
|
||||||
</li>
|
|
||||||
<input type="text" id="sch_word" name="sch_word" value="">
|
|
||||||
<button type="button" class="btnSearch" id="btnSearch" name="btnSearch">검색</button>
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="contents">
|
|
||||||
<div class="topBtnArea">
|
|
||||||
<ul class="btnList">
|
|
||||||
<!-- <li> -->
|
|
||||||
<!-- <button data-show-popup="sampleBox">팝업 버튼 예시</button> -->
|
|
||||||
<!-- </li> -->
|
|
||||||
<li>
|
|
||||||
<button type="button" id="btnExcel"><i class="ico far fa-file-excel"></i> 엑셀</button>
|
|
||||||
</li>
|
|
||||||
<!-- <li> -->
|
|
||||||
<!-- <button id="btnExportPdf"><i class="ico far fa-file-pdf"></i> pdf</button> -->
|
|
||||||
<!-- </li> -->
|
|
||||||
<!-- <li> -->
|
|
||||||
<!-- <button id="btnRegist"><i class="ico fas fa-save"></i> 저장</button> -->
|
|
||||||
<!-- </li> -->
|
|
||||||
<!-- <li> -->
|
|
||||||
<!-- <button id="btnModify"><i class="ico fas fa-edit"></i> 수정</button> -->
|
|
||||||
<!-- </li> -->
|
|
||||||
<!-- <li> -->
|
|
||||||
<!-- <button id="btnRemove"><i class="ico far fa-trash-alt"></i> 삭제</button> -->
|
|
||||||
<!-- </li> -->
|
|
||||||
</ul>
|
|
||||||
<div class="list clearfix" id="totCnt">전체 ㅣ <span><span></div>
|
|
||||||
</div>
|
|
||||||
<!-- <div class="tableArea"> -->
|
|
||||||
<!-- //버튼 및 페이지정보 -->
|
|
||||||
<div class="row">
|
|
||||||
<div id="tabs">
|
|
||||||
<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>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<div id="tabs_0">
|
|
||||||
<div id="grid_t0"></div>
|
|
||||||
</div>
|
|
||||||
<div id="tabs_1">
|
|
||||||
<div id="grid_t1"></div>
|
|
||||||
</div>
|
|
||||||
<div id="tabs_2">
|
|
||||||
<div id="grid_t2"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<!-- //tabs -->
|
|
||||||
</div>
|
|
||||||
<!-- </div> -->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- 다이얼로그 팝업 예시(sampleBox) -->
|
|
||||||
<div class="modal-wrap">
|
|
||||||
<div class="modal-cell">
|
|
||||||
<!-- cont-box는 ID를 추가하여 여러개의 내용을 넣어주세요.
|
|
||||||
팝업 오픈시 해당 ID의 팝업만 노출 되도록 만들었습니다. -->
|
|
||||||
<div class="cont-box" id="sampleBox">
|
|
||||||
<p>
|
|
||||||
단순 팝업 입니다.<br>
|
|
||||||
내용이 많으면 더 쓰셔도 됩니다.
|
|
||||||
</p>
|
|
||||||
<div class="btn-box">
|
|
||||||
<button data-modal-close class="btnDark">확인</button>
|
|
||||||
<button data-modal-close class="btnDark">취소</button>
|
|
||||||
</div>
|
|
||||||
<button data-modal-close class="fas btn-close"></button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
|
|
||||||
<script type="text/javaScript" language="javascript" defer="defer">
|
|
||||||
|
|
||||||
$(document).ready(function(){
|
|
||||||
|
|
||||||
Rt0200_main.init();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 작성일 : 22.04.20
|
|
||||||
* 작성자 : 최정민
|
|
||||||
* 내용 : 검색조건에 from오늘날짜 to-7일 기본값으로 설정
|
|
||||||
*/
|
|
||||||
$('#sch_date_from').val(DateUtil.getDateDay(-7).date);
|
|
||||||
$('#sch_date_to').val(DateUtil.getDateDay().date);
|
|
||||||
|
|
||||||
|
|
||||||
//제이쿼리 탭 스크립트
|
|
||||||
$("#tabs").tabs({active : 0});
|
|
||||||
ARR_INSTANCE[0].refreshLayout();
|
|
||||||
|
|
||||||
});
|
|
||||||
/* *******************************
|
|
||||||
* 사용자 등록관리 Functions
|
|
||||||
******************************* */
|
|
||||||
var Rt0200_main = {
|
|
||||||
/* ========================
|
|
||||||
* 초기화
|
|
||||||
======================== */
|
|
||||||
init : function(){
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Grid Config Settings
|
|
||||||
*/
|
|
||||||
//Grid Style Set
|
|
||||||
Grid.applyTheme('striped'); // Call API of static method
|
|
||||||
|
|
||||||
//tab 클릭 이벤트
|
|
||||||
$("#tabs").on("click", "li", function(){
|
|
||||||
var tab = parseInt($("#tabs .ui-tabs-active a").attr("id"));
|
|
||||||
console.log(tab);
|
|
||||||
$('#sch_tab_id').val(tab);
|
|
||||||
ARR_INSTANCE[tab].refreshLayout();
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
//조회 목록 더블클릭 Event 설정
|
|
||||||
instance_t0.on('dblclick', function(ev) {
|
|
||||||
var props = {};
|
|
||||||
props['rowKey'] = ev.rowKey;
|
|
||||||
props['grid'] = ev.instance;
|
|
||||||
|
|
||||||
console.log(props);
|
|
||||||
|
|
||||||
Rt0200_main.fnClickRegBtn(props);
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
//Grid 체크박스 checked EventListner
|
|
||||||
instance_t0.on('check', function(ev) {
|
|
||||||
// console.log('check!', ev);
|
|
||||||
});
|
|
||||||
//Grid 체크박스 unchecked EventListner
|
|
||||||
instance_t0.on('uncheck', function(ev) {
|
|
||||||
// console.log('uncheck!', ev);
|
|
||||||
});
|
|
||||||
//Grid 체크박스 focus이동 EventListner
|
|
||||||
instance_t0.on('focusChange', function(ev) {
|
|
||||||
// console.log('change focused cell!', ev);
|
|
||||||
});
|
|
||||||
//Grid 처리상태에 따른 콜백
|
|
||||||
instance_t0.on('successResponse', function(ev) {
|
|
||||||
//조회한 데이터 카운트
|
|
||||||
$('#totCnt span').text(JSON.parse(ev.xhr.response).data.pagination.totalCount);
|
|
||||||
});
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Elements EventListener Settings
|
|
||||||
*/
|
|
||||||
//검색 Event 설정
|
|
||||||
$('#btnSearch').on({
|
|
||||||
click: function(){
|
|
||||||
var sch_date_opt = $('select[name=sch_date_opt]').val();
|
|
||||||
var sch_date_from = $('input[name=sch_date_from]').val();
|
|
||||||
var sch_date_to = $('input[name=sch_date_to]').val();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 작성일 : 22.04.21
|
|
||||||
* 작성자 : 최정민
|
|
||||||
* 내용 : 조회일자 replace 쿼리로 이동하여 주석처리
|
|
||||||
*/
|
|
||||||
/*sch_date_from = sch_date_from.replace(/\./g, '');
|
|
||||||
sch_date_to = sch_date_to.replace(/\./g, '');
|
|
||||||
$('input[name=sch_date_from]').val(sch_date_from);
|
|
||||||
$('input[name=sch_date_to]').val(sch_date_to);*/
|
|
||||||
|
|
||||||
if(sch_date_from != "" || sch_date_to != "") {
|
|
||||||
if(sch_date_opt == "" || sch_date_from == "" || sch_date_to == "") {
|
|
||||||
alert("조회기준 또는 일시를 선택하세요");
|
|
||||||
} else{
|
|
||||||
Rt0200_main.findData();
|
|
||||||
}
|
|
||||||
} else{
|
|
||||||
Rt0200_main.findData();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
// 엑셀저장 버튼 Event 설정
|
|
||||||
$('#btnExcel').on({
|
|
||||||
click: function(){
|
|
||||||
//document.frmSearch.searchAt.value = "N";
|
|
||||||
//document.frmSearch.action = "<c:out value='/adm/send/rqst/mng/excel.do'/>";
|
|
||||||
//document.frmSearch.submit();
|
|
||||||
/** 2022.04.22 최정민
|
|
||||||
* 엑셀저장기능 서버호출에서 그리드 엑셀저장 호출로 변경
|
|
||||||
*/
|
|
||||||
GridConfig.exportExcel(DateUtil.getDate().date);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
// pdf저장 버튼 Event 설정
|
|
||||||
$('#btnExportPdf').on({
|
|
||||||
click: function(){
|
|
||||||
}
|
|
||||||
});
|
|
||||||
// 등록 버튼 Event 설정
|
|
||||||
$('#btnRegist').on({
|
|
||||||
click: function(){
|
|
||||||
}
|
|
||||||
});
|
|
||||||
// 수정 버튼 Event 설정
|
|
||||||
$('#btnModify').on({
|
|
||||||
click: function(){
|
|
||||||
}
|
|
||||||
});
|
|
||||||
//삭제 버튼 Event 설정
|
|
||||||
$('#btnRemove').on({
|
|
||||||
click: function(){
|
|
||||||
if(confirm("삭제하시겠습니까?")){
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
Rt0200_main.fn_setInputLimit();
|
|
||||||
},
|
|
||||||
/* ========================
|
|
||||||
* 입력값 언어 선택
|
|
||||||
======================== */
|
|
||||||
fn_setInputLimit : function(){
|
|
||||||
},
|
|
||||||
/* ========================
|
|
||||||
* 데이터 조회
|
|
||||||
======================== */
|
|
||||||
findData : function(){
|
|
||||||
var tab = $('#sch_tab_id').val();
|
|
||||||
ARR_INSTANCE[tab].reloadData();
|
|
||||||
},
|
|
||||||
/* ========================
|
|
||||||
* 데이터 등록
|
|
||||||
======================== */
|
|
||||||
addData : function(){
|
|
||||||
var param = $("#frmSearch").serialize();
|
|
||||||
$.ajax({
|
|
||||||
url : "/adm/send/rqst/mng/proc.do",
|
|
||||||
data : param,
|
|
||||||
type : "POST",
|
|
||||||
dataType : "json",
|
|
||||||
success : function(data) {
|
|
||||||
},
|
|
||||||
error: function(){
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
/* ========================
|
|
||||||
* 데이터 수정
|
|
||||||
======================== */
|
|
||||||
modifyData : function(){
|
|
||||||
var param = $("#frmSearch").serialize();
|
|
||||||
$.ajax({
|
|
||||||
url : "/adm/send/rqst/mng/proc.do",
|
|
||||||
data : param,
|
|
||||||
type : "PUT",
|
|
||||||
dataType : "json",
|
|
||||||
success : function(data) {
|
|
||||||
},
|
|
||||||
error: function(){
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
/* ========================
|
|
||||||
* 데이터 삭제
|
|
||||||
======================== */
|
|
||||||
removeData : function(){
|
|
||||||
var param = $("#frmSearch").serialize();
|
|
||||||
$.ajax({
|
|
||||||
url : "/adm/send/rqst/mng/proc.do",
|
|
||||||
data : param,
|
|
||||||
type : "DELETE",
|
|
||||||
dataType : "json",
|
|
||||||
success : function(data) {
|
|
||||||
},
|
|
||||||
error: function(){
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
/* ========================
|
|
||||||
* 유효성 검증
|
|
||||||
======================== */
|
|
||||||
validate : function(flag){
|
|
||||||
switch(flag){
|
|
||||||
case 'insert' :
|
|
||||||
break;
|
|
||||||
case 'update' :
|
|
||||||
break;
|
|
||||||
case 'delete' :
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
/* ========================
|
|
||||||
* 페이지 이동
|
|
||||||
-외부사이트 링크가 필요 시 사용(내부코드는 각 페이지에 맞게 수정, ex>https://www.gov.kr/portal/main )
|
|
||||||
======================== */
|
|
||||||
pageLink: function(flag, url, params){
|
|
||||||
switch (flag) {
|
|
||||||
case "move": //페이지 이동
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
/* ========================
|
|
||||||
* 페이지 Open
|
|
||||||
-팝업페이지를 Open 한다.
|
|
||||||
======================== */
|
|
||||||
pagePopup: function(flag, url, params){
|
|
||||||
var popUrl = url;
|
|
||||||
popUrl += "?tilesDef=popup";
|
|
||||||
if(!(params == undefined || params == null)){
|
|
||||||
popUrl += "&";
|
|
||||||
popUrl += params;
|
|
||||||
}
|
|
||||||
var popTitle = '';
|
|
||||||
var popOption = '';
|
|
||||||
switch (flag) {
|
|
||||||
case "insert": //등록
|
|
||||||
popTitle = "";
|
|
||||||
popOption = "width=760px, height=890px, resizable=no, scrollbars=yes, location=no, top=50px, left=50px";
|
|
||||||
break;
|
|
||||||
case "detail": //상세
|
|
||||||
popTitle = "단속자료 상세보기";
|
|
||||||
popOption = "width=1500px, height=900px, resizable=no, scrollbars=yes, location=no, top=50px, left=50px";
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
window.open(popUrl, popTitle ,popOption);
|
|
||||||
},
|
|
||||||
/* ========================
|
|
||||||
* 상세 팝업 조회 버튼 클릭
|
|
||||||
-선택한 신청의 상세 조회 팝업을 OPEN 한다.
|
|
||||||
======================== */
|
|
||||||
fnClickRegBtn: function(props){
|
|
||||||
var rowData = props.grid.getRow(props.rowKey);
|
|
||||||
console.log(rowData);
|
|
||||||
var params = "";
|
|
||||||
params += "selectedId=" + rowData.reglt_id;
|
|
||||||
|
|
||||||
Rt0200_main.pagePopup('detail', '<c:url value="/fims/biz/rt/findRt0200.do"/>', params);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* ******************************
|
|
||||||
* Grid 환경 설정
|
|
||||||
****************************** */
|
|
||||||
const columns = [ //Grid 컬럼 정보(명칭,매핑 field, 기타옵션 등)
|
|
||||||
{
|
|
||||||
header: '차량번호',
|
|
||||||
name: 'vhcle_no',
|
|
||||||
// minWidth: 160,
|
|
||||||
sortable: false,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '소유자명',
|
|
||||||
name: 'owner_nm',
|
|
||||||
// minWidth: 160,
|
|
||||||
sortable: false,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '위반장소',
|
|
||||||
name: 'violt_place',
|
|
||||||
// width: 120,
|
|
||||||
sortable: false,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '위반횟수',
|
|
||||||
name: 'violt_co',
|
|
||||||
// width: 110,
|
|
||||||
sortable: false,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '수납금액',
|
|
||||||
name: 'rciv_amount',
|
|
||||||
// width: 150,
|
|
||||||
sortable: false,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '등록일시',
|
|
||||||
name: 'regist_dt',
|
|
||||||
// width: 110,
|
|
||||||
sortable: false,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '최종처리일시',
|
|
||||||
name: 'last_process_dt',
|
|
||||||
// width: 120,
|
|
||||||
sortable: false,
|
|
||||||
align: 'center'
|
|
||||||
}
|
|
||||||
];
|
|
||||||
const options = {
|
|
||||||
el: 'grid_t0',
|
|
||||||
bodyHeight: 350,
|
|
||||||
rowHeight: 30,
|
|
||||||
rowHeaders: ['rowNum'],
|
|
||||||
columns: columns
|
|
||||||
}
|
|
||||||
const dataSource = {
|
|
||||||
readData: {
|
|
||||||
url: '<c:url value="/rt/findRt0200List.do"/>'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//let instance_t1 = init2();
|
|
||||||
let instance_t0 = initGrid(options, dataSource);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const columns2 = [ //Grid 컬럼 정보(명칭,매핑 field, 기타옵션 등)
|
|
||||||
{
|
|
||||||
header: '구간',
|
|
||||||
name: 'pvtcpt_road_sctn_nm',
|
|
||||||
width: 120,
|
|
||||||
sortable: true,
|
|
||||||
align: 'center',
|
|
||||||
sortingType: 'desc',
|
|
||||||
// filter: 'select',
|
|
||||||
/* renderer: {
|
|
||||||
type: XitButtonRenderer,
|
|
||||||
options: {
|
|
||||||
value: '{0}',
|
|
||||||
listColumns: ['cmpny_nm', 'cmpny', 'cmpny_id'], //[0]: 항목값, [1]: 공통팝업종류, [2]: 공통팝업 파라미터
|
|
||||||
callbackFnc: 'bustms1010302_list.fn_cmmnViewPopupBtn'
|
|
||||||
}
|
|
||||||
} */
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '연도',
|
|
||||||
name: 'enfrc_lev_year',
|
|
||||||
width: 120,
|
|
||||||
// sortingType: 'asc',
|
|
||||||
sortable: true,
|
|
||||||
align: 'center'
|
|
||||||
// filter: 'select' //fiter 옵션(select/text/number/date/.. 등이 있으며 설정방법은 상이하므로 사이트 참조)
|
|
||||||
// filter: { type: 'text', showApplyBtn: true, showClearBtn: true },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '회차',
|
|
||||||
name: 'enfrc_lev_tme',
|
|
||||||
width: 120,
|
|
||||||
// sortingType: 'asc',
|
|
||||||
sortable: true,
|
|
||||||
align: 'center'
|
|
||||||
// filter: 'select' //fiter 옵션(select/text/number/date/.. 등이 있으며 설정방법은 상이하므로 사이트 참조)
|
|
||||||
// filter: { type: 'text', showApplyBtn: true, showClearBtn: true },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '순번',
|
|
||||||
name: 'enfrc_lev_sn',
|
|
||||||
// width: 250,
|
|
||||||
// sortingType: 'asc',
|
|
||||||
sortable: true,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '차량번호',
|
|
||||||
name: 'vhcle_no',
|
|
||||||
width: 100,
|
|
||||||
// sortingType: 'asc',
|
|
||||||
sortable: true,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '미납자',
|
|
||||||
name: 'dfltr_nm',
|
|
||||||
width: 120,
|
|
||||||
// sortingType: 'asc',
|
|
||||||
sortable: true,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '고유번호',
|
|
||||||
name: 'dfltr_ihidnum_mask',
|
|
||||||
width: 120,
|
|
||||||
// sortingType: 'asc',
|
|
||||||
sortable: true,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '구분',
|
|
||||||
name: 'dfltr_se_nm',
|
|
||||||
width: 120,
|
|
||||||
// sortingType: 'asc',
|
|
||||||
sortable: true,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '주소',
|
|
||||||
name: 'adres',
|
|
||||||
width: 200,
|
|
||||||
// sortingType: 'asc',
|
|
||||||
sortable: true,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '상세주소',
|
|
||||||
name: 'detail_adres',
|
|
||||||
width: 200,
|
|
||||||
// sortingType: 'asc',
|
|
||||||
sortable: true,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '우편번호',
|
|
||||||
name: 'zip',
|
|
||||||
width: 100,
|
|
||||||
// sortingType: 'asc',
|
|
||||||
sortable: true,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '전화번호',
|
|
||||||
name: 'telno',
|
|
||||||
width: 120,
|
|
||||||
// sortingType: 'asc',
|
|
||||||
sortable: true,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '휴대폰번호',
|
|
||||||
name: 'moblphon_no',
|
|
||||||
width: 120,
|
|
||||||
// sortingType: 'asc',
|
|
||||||
sortable: false,
|
|
||||||
align: 'center'
|
|
||||||
// filter: 'select' //fiter 옵션(select/text/number/date/.. 등이 있으며 설정방법은 상이하므로 사이트 참조)
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '차명',
|
|
||||||
name: 'brwdnm',
|
|
||||||
width: 120,
|
|
||||||
// sortingType: 'asc',
|
|
||||||
sortable: false,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '색상',
|
|
||||||
name: 'color_nm',
|
|
||||||
width: 120,
|
|
||||||
// sortingType: 'asc',
|
|
||||||
sortable: false,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '주소 갱신 일시',
|
|
||||||
name: 'adres_updt_dt',
|
|
||||||
width: 120,
|
|
||||||
// sortingType: 'asc',
|
|
||||||
sortable: false,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '주소 갱신 구분',
|
|
||||||
name: 'adres_updt_se_nm',
|
|
||||||
width: 120,
|
|
||||||
// sortingType: 'asc',
|
|
||||||
sortable: false,
|
|
||||||
align: 'center'
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
const options2 = Object.assign(options, {
|
|
||||||
el: 'ggid_t1',
|
|
||||||
columns: columns2
|
|
||||||
});
|
|
||||||
let instance_t1 = initGrid(options2, dataSource);
|
|
||||||
//var Grid = tui.Grid;
|
|
||||||
//var instance_t0 = GridConfig.instance(Grid); //Grid 인스턴스
|
|
||||||
//var instance_t1 = GridConfig_t1.instance(Grid);
|
|
||||||
/*var instance_t2 = GridConfig_t2.instance(Grid);*/
|
|
||||||
var ARR_INSTANCE = new Array();
|
|
||||||
ARR_INSTANCE[0] = instance_t0;
|
|
||||||
ARR_INSTANCE[1] = instance_t1;
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
|
@ -0,0 +1,230 @@
|
|||||||
|
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||||
|
<%@ include file="/WEB-INF/jsp/framework/taglibs.jsp"%>
|
||||||
|
|
||||||
|
|
||||||
|
<form id="frmSearch" name="frmSearch" method="get">
|
||||||
|
<input type="hidden" id="searchGubun" name="searchGubun" value="excel">
|
||||||
|
<input type="hidden" id="sch_tab_id" name="sch_tab_id" value="0"/>
|
||||||
|
|
||||||
|
<div class="search">
|
||||||
|
<div class="detail_02" style="display: block;">
|
||||||
|
<fieldset class="frmSearch">
|
||||||
|
<legend>상세 검색</legend>
|
||||||
|
<ul class="detailGroup_02">
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<span class="title"><label style="padding-right: 26px;">조회일자 :</label></span>
|
||||||
|
<select id="sch_date_opt" name="sch_date_opt" class="selectBox">
|
||||||
|
<option value="1">위반일자</option>
|
||||||
|
<option value="2">등록일자</option>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- tag lib sample -->
|
||||||
|
<%--<code:select id="sch_date_opt1" name="sch_date_opt1" codeId="ENS003" title="시작날자선택" defaultSelect="99" cls="selectBox" alt="selectBox tag"/>
|
||||||
|
<code:radio id="sch_date_opt2" name="sch_date_opt2" codeId="ENS003" defaultSelect="02" cls="radioBox" alt="radio tag"/>--%>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<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/ens/content/images/common/main/calendar.png"/><em>달력</em></span> --%>
|
||||||
|
<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/ens/content/images/common/main/calendar.png"/><em>달력</em></span> --%>
|
||||||
|
<img style="width:18px;" src="${ctx }/resources/biz/content/images/common/main/calendar.png"/><em>달력</em></span>
|
||||||
|
</button>
|
||||||
|
</span>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li style="padding-bottom:10px; padding-left: 40px;">
|
||||||
|
<span class="title">상태 : </span>
|
||||||
|
<select id="sch_opt" name="sch_opt" class="selectBox">
|
||||||
|
<option value="1">차량번호</option>
|
||||||
|
</select>
|
||||||
|
</li>
|
||||||
|
<input type="text" id="sch_word" name="sch_word" value="">
|
||||||
|
<button type="button" class="btnSearch" id="btnSearch" name="btnSearch">검색</button>
|
||||||
|
</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">
|
||||||
|
/**************************************************************************
|
||||||
|
* Global Variable
|
||||||
|
**************************************************************************/
|
||||||
|
let GRID = null;
|
||||||
|
var callbackSearch = () => fnBiz.search();
|
||||||
|
|
||||||
|
|
||||||
|
/* *******************************
|
||||||
|
* Biz function
|
||||||
|
******************************* */
|
||||||
|
const fnBiz = {
|
||||||
|
search: () => {
|
||||||
|
GRID.reloadData();
|
||||||
|
}
|
||||||
|
,pagePopup: function(flag, params){
|
||||||
|
let url = '<c:url value="/cmm/fimsPopup/fimsTotalPopup.do"/>';
|
||||||
|
let popTitle;
|
||||||
|
let popOption = {width: 1200, height:900};
|
||||||
|
switch (flag) {
|
||||||
|
case "add": //등록
|
||||||
|
popTitle = "게시판 생성 등록";
|
||||||
|
break;
|
||||||
|
case "detail": //상세
|
||||||
|
popTitle = "게시판 생성 상세";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
CmmPopup.open(url, params, popOption, popTitle);
|
||||||
|
}
|
||||||
|
,onClickGrid: function(props){
|
||||||
|
const rowData = props.grid.getRow(props.rowKey);
|
||||||
|
fnBiz.pagePopup('detail', rowData);
|
||||||
|
}
|
||||||
|
,clickRegBtn: function(props){
|
||||||
|
const rowData = props.grid.getRow(props.rowKey);
|
||||||
|
console.log(rowData.reglt_id);
|
||||||
|
fnBiz.pagePopup('detail', {regltId: rowData.reglt_id});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
* event
|
||||||
|
**************************************************************************/
|
||||||
|
$(() => {
|
||||||
|
$('#btnSearch').on('click', () => fnBiz.search());
|
||||||
|
|
||||||
|
$('#btnRegist').on('click', () => {
|
||||||
|
fnBiz.pagePopup('add', {});
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
/* *******************************
|
||||||
|
* Grid
|
||||||
|
******************************* */
|
||||||
|
const initGrid = () => {
|
||||||
|
const gridColumns = [
|
||||||
|
{
|
||||||
|
header: '차량번호',
|
||||||
|
name: 'vhcle_no',
|
||||||
|
minWidth: 120,
|
||||||
|
sortable: true,
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
header: '소유자명',
|
||||||
|
name: 'owner_nm',
|
||||||
|
minWidth: 120,
|
||||||
|
sortable: false,
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
header: '위반장소',
|
||||||
|
name: 'reglt_place',
|
||||||
|
width: 120,
|
||||||
|
sortable: false,
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
header: '위반횟수',
|
||||||
|
name: 'violt_co',
|
||||||
|
width: 110,
|
||||||
|
sortable: false,
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
header: '수납금액',
|
||||||
|
name: 'rciv_amount',
|
||||||
|
width: 150,
|
||||||
|
sortable: false,
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
header: '등록일시',
|
||||||
|
name: 'regist_dt',
|
||||||
|
width: 110,
|
||||||
|
sortable: false,
|
||||||
|
align: 'center',
|
||||||
|
formatter({value}) {
|
||||||
|
return setDateFmt(value); //
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
header: '최종처리일시',
|
||||||
|
name: 'last_process_dt',
|
||||||
|
width: 120,
|
||||||
|
sortable: false,
|
||||||
|
align: 'center',
|
||||||
|
formatter({value}) {
|
||||||
|
return setDateTimeFmt(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
const gridOptions = {
|
||||||
|
el: 'grid',
|
||||||
|
rowHeaders: ['rowNum'],
|
||||||
|
columns: gridColumns
|
||||||
|
};
|
||||||
|
|
||||||
|
const gridDatasource = {
|
||||||
|
initialRequest: false, // 화면 load시 조회 안함 - default
|
||||||
|
api: {
|
||||||
|
readData: {
|
||||||
|
url: '<c:url value="/fims/biz/rt/findRt0200List.do"/>'
|
||||||
|
,serializer: (params) => {
|
||||||
|
const schKey = $('#searchCondition').val();
|
||||||
|
let schValue = $('input[name=searchKeyword]').val();
|
||||||
|
return getPageParam({[schKey]: schValue}, params);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const onDblClickEventSet = function () {
|
||||||
|
GRID.on('dblclick', function (ev){
|
||||||
|
var props = {};
|
||||||
|
var a =ev.instance;
|
||||||
|
console.log('a : ' ,a);
|
||||||
|
console.log(ev.rowKey);
|
||||||
|
|
||||||
|
props['rowKey'] = ev.rowKey;
|
||||||
|
props['grid'] = ev.instance;
|
||||||
|
fnBiz.clickRegBtn(props);
|
||||||
|
})
|
||||||
|
};
|
||||||
|
|
||||||
|
GRID = TuiGrid.of(gridOptions, gridDatasource, (res) => {
|
||||||
|
onDblClickEventSet();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
* initialize
|
||||||
|
**************************************************************************/
|
||||||
|
$(document).ready(function(){
|
||||||
|
initGrid();
|
||||||
|
});
|
||||||
|
</script>
|
Loading…
Reference in New Issue