parent
1127980315
commit
c765dc6fcc
@ -0,0 +1,201 @@
|
||||
<%--
|
||||
Created by IntelliJ IDEA.
|
||||
User: kurt
|
||||
Date: 2025. 12. 12.
|
||||
Time: 오후 4:21
|
||||
To change this template use File | Settings | File Templates.
|
||||
--%>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
|
||||
|
||||
<div id="preNoticeWrap_dialog" style="display:none;">
|
||||
<div class="left">
|
||||
<div class="form-grid">
|
||||
</div>
|
||||
<div class="gs_booking">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="box_column">
|
||||
<div class="containers">
|
||||
<div id="grid"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="disdoc-btn-area">
|
||||
<button type="button" class="btn btn-light disdoc-btn" name="" id="guideSave">묶음자료 생성</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
let PRE_NOTICE_WRAP_DIALOG_GRID = null;
|
||||
|
||||
let fnPreNoticeWrap = {
|
||||
init: () => {
|
||||
initGrid();
|
||||
|
||||
},
|
||||
|
||||
setCode: () => {
|
||||
|
||||
},
|
||||
|
||||
updateGuide: () => {
|
||||
const { cursor, mmCodes } = JSON.parse(localStorage.getItem("TOTAL_INFO_STATE"));
|
||||
$.ajax({
|
||||
// url: `/common/update/\${cursor}/83/state.ajax`,
|
||||
type: "PUT",
|
||||
data: JSON.stringify({
|
||||
"itEtc" : $("#cpInstructAnswer").val() ,
|
||||
"itDate": $("#itDate").val(),
|
||||
}),
|
||||
contentType: 'application/json',
|
||||
success: function(response) {
|
||||
|
||||
alert("계도처리 성공")
|
||||
//다이얼로그 하이드
|
||||
|
||||
|
||||
//네이게이팅 다음으로
|
||||
|
||||
|
||||
|
||||
//로컬스토리지 mmCodes에 해당 mmCode 제거
|
||||
|
||||
|
||||
//그리드는 어떻게 할꺼??
|
||||
//1. 로우만 remove -> 페이징 괜찮나??
|
||||
//2. 재조회 -> 하면 1페이지로 돌아감
|
||||
|
||||
|
||||
|
||||
},
|
||||
error: function(xhr, status, error) {
|
||||
$("#result").text("서손처리 실패");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
|
||||
eventListener: () => {
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/** tui-grid Set */
|
||||
let preNoticeWrapInitGrid = () => {
|
||||
const gridColumns = [
|
||||
{header: '등록구분', name: 'mmDlgb', sortable: true, width: 100,},
|
||||
{header: '목록번호', name: 'asBbsNo', sortable: true, width: 100,},
|
||||
{header: '접수일', name: 'asJsdate', sortable: true, width: 100,},
|
||||
{header: '신고자', name: 'mmSgnm', sortable: true, width: 100,},
|
||||
{header: '담당자', name: 'mmSgtel', width: 100,},
|
||||
{header: '위반내용', name: 'vlId', sortable: true, width: 100,},
|
||||
{header: '위반일시', name: 'mmDate', sortable: true, width: 100,},
|
||||
{header: '차량번호', name: 'mmCarno', sortable: true, width: 150,},
|
||||
{header: '소유자', name: 'omName', width: 150,},
|
||||
{header: '소유주구분', name: 'omNogb', width: 100,},
|
||||
{header: '주민번호', name: 'omJno', width: 250,},
|
||||
{header: '위반장소', name: 'mmSgpos', sortable: true, width: 150,},
|
||||
{header: 'mmCode', name: 'mmCode', sortable: true, width: 150, align: 'center', hidden: true}
|
||||
];
|
||||
let gridDatasource = {
|
||||
api: {
|
||||
readData: {
|
||||
url: '<c:url value="/post/preNotice/sendTarget/sendTargetList.ajax"/>',
|
||||
method: 'POST',
|
||||
contentType: 'application/x-www-form-urlencoded',
|
||||
processData: true
|
||||
}
|
||||
},
|
||||
initialRequest: false, //초기화시 조회
|
||||
serializer: function (params) {
|
||||
setSearchCond();
|
||||
SEARCH_COND.perPage = params.perPage;
|
||||
SEARCH_COND.page = params.page;
|
||||
return $.param(SEARCH_COND);
|
||||
}
|
||||
}
|
||||
|
||||
let gridOptions = {
|
||||
el: 'grid',
|
||||
rowHeaders: ['checkbox'],
|
||||
columns: gridColumns,
|
||||
noData: "조회된 사전통보 대상이 없습니다.",
|
||||
pageOptions: {
|
||||
useClient: true, // 클라이언트 페이징 여부(false: 서버 페이징)
|
||||
perPage: perPage,
|
||||
},
|
||||
};
|
||||
|
||||
PRE_NOTICE_WRAP_DIALOG_GRID = TuiGrid.of(gridOptions, gridDatasource, (res) => {
|
||||
|
||||
GRID.on("dblclick", (e) => {
|
||||
var popUrl = '/total/info.do';
|
||||
var popTitle = "TotalPopup";
|
||||
var popOption = "width=1400px, height=900px, resizable=yes, scrollbars=yes, location=no, top=100px, left=100px";
|
||||
|
||||
// 1) localStorage에 저장
|
||||
console.log(e)
|
||||
let cursor = e.instance.getValue(e.rowKey, 'mmCode');
|
||||
let mmCodes = e.instance.getData().map(row => row.mmCode);
|
||||
|
||||
const state = { cursor, mmCodes, savedAt: Date.now() };
|
||||
localStorage.setItem('TOTAL_INFO_STATE', JSON.stringify(state));
|
||||
|
||||
// 2) 팝업이 없거나 닫혀 있으면 새로 열기
|
||||
if (!TOTAL_POPUP || TOTAL_POPUP.closed) {
|
||||
TOTAL_POPUP = window.open(popUrl, popTitle, popOption);
|
||||
} else {
|
||||
// 이미 떠 있으면 새로 안 만들고, 그 창에 포커스만 줌
|
||||
TOTAL_POPUP.focus();
|
||||
TOTAL_POPUP.TOTAL_INFO_POPUP_API.search();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
$(function () {
|
||||
|
||||
/* 다이얼로그 설정 */
|
||||
$("#preNoticeWrap_dialog").dialog({
|
||||
autoOpen: false,
|
||||
modal: true,
|
||||
resizable: true,
|
||||
// width: "auto",
|
||||
width: 500,
|
||||
maxHeight: 800,
|
||||
show: { effect: "drop", direction: "left", duration: 200 },
|
||||
hide: { effect: "drop", direction: "left", duration: 200 },
|
||||
title: "사전통보 묶음자료(대장) 생성",
|
||||
open: function () {
|
||||
fnPreNoticeWrap.init();
|
||||
}
|
||||
});
|
||||
|
||||
/* 오늘날짜 기본세팅 */
|
||||
$('#guideDate').datepicker('setDate', new Date());
|
||||
|
||||
fnPreNoticeWrap.eventListener();
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
Loading…
Reference in New Issue