위택스 납부자 변경 화면 추가

main
이범준 1 month ago
parent cc5cb5a0ac
commit 934d50c938

@ -0,0 +1,187 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<c:set var="prefixName" scope="request">위택스 납부자 변경 메인</c:set>
<!-- inner page html -->
<div class="content-wrapper" data-doctx="${pageName}">
<!-- Content -->
<div class="container-xxl flex-grow-1 px-0">
<div class="card wrapper-list">
<form action="" class="dropzone flex-grow-1" method="post" enctype="multipart/form-data" name="dropzone">
<div class="dz-message needsclick">
여기에 파일을 놓거나 클릭하여 업로드하세요.
<span class="note needsclick">위택스 법인과태료대상목록 엑셀파일을 업로드하세요.</span>
</div>
<div class="fallback">
<input name="file" name="files" multiple />
</div>
</form>
<div>
<div class="container-page-btn" name="gridButtonArea" hidden>
<!-- 업무 버튼 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-excel w-px-120" name="btnExcel" title="엑셀 다운로드">
엑셀 다운로드
</button>
</span>
</div>
</div>
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap" name="excelResult" hidden>
<div class="dataTables_wrapper dt-bootstrap5 no-footer">
<div class="table-responsive ox-scroll oy-scroll h-px-700" name="tableRspns">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr name="theadTr" data-search-target="[data-doctx='${pageName}']">
<th class="cmn" style="width: 160px;">관리번호</th>
<th class="cmn" style="width: 180px;">전자납부번호</th>
<th class="cmn" style="width: 120px;">관할자치단체</th>
<th class="cmn" style="width: 120px;">부과대상</th>
<th class="cmn" style="width: 160px;">위반장소</th>
<th class="cmn" style="width: 160px;">위반내용</th>
<th class="cmn" style="width: 120px;">위반일시</th>
<th class="cmn" style="width: 140px;">과태료부과금액</th>
<th class="cmn" style="width: 140px;">의견제출시작일</th>
<th class="cmn" style="width: 140px;">의견제출종료일</th>
<th class="cmn" style="width: 200px;">변경자<br/>성명/법인명</th>
<th class="cmn" style="width: 200px;">변경자<br/>운전면허번호</th>
<th class="cmn" style="width: 200px;">변경자<br/>주민/법인번호</th>
<th class="cmn" style="width: 200px;">변경자주소</th>
<th class="cmn" style="width: 200px;">변경자 상세주소</th>
<th class="cmn" style="width: 200px;">변경자 우편번호</th>
<th class="cmn dummy-th"></th>
</tr>
</thead>
<tbody name="tbodyList">
</tbody>
<template is="curly-brackets" name="tmpltRows">
<tr data-index="{data-index}">
<td class="cmn text-start" onclick ondblclick>{A}</td>
<td class="cmn text-center" onclick ondblclick>{B}</td>
<td class="cmn text-center" onclick ondblclick>{C}</td>
<td class="cmn text-start" onclick ondblclick>{D}</td>
<td class="cmn text-center" onclick ondblclick>{E}</td>
<td class="cmn text-center" onclick ondblclick>{F}</td>
<td class="cmn text-center" onclick ondblclick>{G}</td>
<td class="cmn text-center" onclick ondblclick>{H}</td>
<td class="cmn text-center" onclick ondblclick>{I}</td>
<td class="cmn text-center" onclick ondblclick>{J}</td>
<td class="cmn text-center" onclick ondblclick><input type="text" value="{K}"/></td>
<td class="cmn text-center" onclick ondblclick><input type="text" value="{L}"/></td>
<td class="cmn text-center" onclick ondblclick><input type="text" value="{M}"/></td>
<td class="cmn text-center" onclick ondblclick><input type="text" value="{N}"/></td>
<td class="cmn text-center" onclick ondblclick><input type="text" value="{O}"/></td>
<td class="cmn text-center" onclick ondblclick><input type="text" value="{P}"/></td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template name="tmpltNotFound">
<tr class="cmn">
<td valign="top" colspan="17" class="dataTables_empty text-center">정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div>
</div>
</div>
<!-- DataTables(그리드) -->
</div> <!-- <div class="card wrapper-list"> -->
</div> <!-- <div class="container-xxl flex-grow-1 px-0"> -->
<!-- Content -->
<div class="content-backdrop fade"></div>
</div>
<!-- / inner page html <div class="content-wrapper"> -->
<script>
// LoadScript("rent01010Script", wctx.url("/webjars/js/fims/rent/rent01010.js?ver=${ver}"));
/**************************************************************************
* Global Variable
**************************************************************************/
pageObject["${pageName}"] = newDoctxFinder("${pageName}");
/**************************************************************************
* script 진입
**************************************************************************/
$(document).ready(function() {
// pageObject
let $P = pageObject["${pageName}"];
$P.ctrl = new DatasetControl({
keymapper: info => info ? info.A : "",
dataGetter: obj => obj,
infoSize: "md",
urls: { load: "" }
});
$P.ctrl.onDatasetChange = (obj) => {
// 데이터 셋
let cds = $P.ctrl.dataset;
let empty = cds.empty;
let foundTr = $P.findn("tmpltRows").innerHTML;
let notFoundTr = $P.findn("tmpltNotFound").innerHTML;
let trs = empty ? [notFoundTr] : cds.inStrings(foundTr, null);
$P.$findn("tbodyList").html(trs.join());
};
$P.dropzone = new Dropzone($P.selectorn("dropzone"), {
maxFiles: 1,
headers: getCsrf(),
url : wctx.url("/rent/rent04/010/upload.do"),
autoProcessQueue: true, // 자동으로 보내기. true : 파일 업로드 되자마자 서버로 요청, false : 서버에는 올라가지 않은 상태. 따로 this.processQueue() 호출시 전송
autoQueue: true, // 드래그 드랍 후 바로 서버로 전송
addRemoveLinks: true, // 업로드 후 파일 삭제버튼 표시 여부
dictRemoveFile: '삭제', // 삭제버튼 표시 텍스트
acceptedFiles : ".xlsx,.xls",
maxFilesize: 256
});
$P.dropzone.on("sending", function(file, formData) {
$.blockUI();
});
$P.dropzone.on("complete", function(file){
$.unblockUI();
let resp = JSON.parse(file.xhr.response);
$P.dropzone.removeFile(file);
if(resp.saved){
$P.$findn("dropzone").attr("hidden","hidden");
$P.$findn("excelResult").removeAttr("hidden");
$P.$findn("gridButtonArea").removeAttr("hidden");
//그리드렌더링
$P.ctrl.setData(resp.data);
}
});
//엑셀파일 다운로드버튼 클릭
$P.$findn("btnExcel").on("click",function(){
let params = {};
params.cellDataDef = JSON.stringify($P.ctrl.dataset.getDataset());
download.get({
url: wctx.url("/rent/rent04/010/download.do"),
data: params
});
});
});
function getCsrf(){
return JSON.parse('{ "'+wctx.csrf.header+'" : "'+wctx.csrf.token+'" }');
}
</script>
Loading…
Cancel
Save