데이터 필터링 및 이첩취소기능 추가

dev
Kurt92 2 years ago
parent a5a0c7c05d
commit 46c2c332f6

@ -273,6 +273,7 @@
<th colspan="4">
<button type="button" id="uptAdresFromCarLink_btn" class="btn sm gray" style="margin: 5px 0;"><img src="/resource/images/common/search.png" alt="주소업데이트(자망)"/>주소업데이트(자망)</button>
<button type="button" id="uptAdresFromJuminLink_btn" class="btn sm gray" style="margin: 5px 0;"><img src="/resource/images/common/search.png" alt="주소업데이트(주민망)"/>주소업데이트(주민망)</button>
<button type="button" id="filterData" class="btn sm gray" style="margin: 5px 0;"><img src="/resource/images/common/search.png" alt="데이터 필터링"/>데이터 필터링</button>
</th>
</tr>
</tbody>
@ -280,13 +281,13 @@
</div>
<!-- //조회 -->
<!-- //보고서 출력 -->
<!-- <div class="page_btn"> -->
<!-- <span class="fll"> -->
<!-- </span> -->
<!-- <span class="flr"> -->
<!-- <input class="btn_search" type="button" id="search_btn" value="조회" /> -->
<!-- </span> -->
<!-- </div> -->
<!-- <div class="page_btn"> -->
<!-- <span class="fll"> -->
<!-- </span> -->
<!-- <span class="flr"> -->
<!-- <input class="btn_search" type="button" id="search_btn" value="조회" /> -->
<!-- </span> -->
<!-- </div> -->
<!-- //page_btn -->
</div>
@ -300,8 +301,8 @@
<!-- 대장생성처리 버튼 클릭 dialog -->
<div id="dia" class="dialog" style="display: none">
<!-- 대장생성처리 버튼 클릭 dialog -->
<div id="dia" class="dialog" style="display: none">
<div class="grp">
<table class="tbl04">
<colgroup>
@ -312,7 +313,7 @@
<th>
<input type="checkbox" id="isExistsDataIgnor" name="isExistsDataIgnor" value="Y"/>
<label for="isExistsDataIgnor">대장유무체크안함</label>
</th>
</th>
</tr>
<tr>
<td style="color: #006fbd;">
@ -332,12 +333,52 @@
</th>
</tr>
</table>
</div>
<!-- //대장생성처리 버튼 클릭 dialog -->
<!-- 자료제거 버튼 클릭 dialog -->
<div id="diaRegexRemove" class="dialog" style="display: none">
<div class="grp">
<table class="tbl04">
<colgroup>
<col style="width: ;"/>
</colgroup>
<tbody>
<tr>
<td style="color: #006fbd;">
<span style="font-weight: bold;">※데이터 필터링</span>
<br/><span>- 아래 입력한 단어가 포함된 자료를 리스트에서 제외합니다.</span>
<br/><span>- 특수문자 사용은 불가 합니다.</span>
<br/><span>- ex)상품용 </span>
</td>
</tr>
<tr>
<td style="display: flex">
<select id="filterSelectBox" style="width: 100px">
</select>
<input type="text" id="filteringInput">
</td>
</tr>
</tbody>
</table>
</div>
<!-- //대장생성처리 버튼 클릭 dialog -->
<table>
<tr>
<th colspan="2">
<button type="button" id="filterRemove_btn" class="btn gray">적용</button>
<button type="button" id="filterReturn_btn" class="btn gray">되돌리기</button>
<button type="button" id="filterCancel_btn2" name="cancel_btn" class="btn gray">닫기</button>
</th>
</tr>
</table>
</div>
<script type="text/javascript">
$(document).ready(function(){
$(document).ready(function(){
$(".loading-bar").after("<div class='work-percent'></div>");
fn_initTagByLinkDataSe(); //자료구분 속성별 태그 초기화
//검사일자 초기화
@ -346,10 +387,10 @@ $(document).ready(function(){
$('#sch_regist_de_end').val('<fmt:formatDate value="${toDay}" pattern="yyyy-MM-dd" />');
}
});
});
/* 주소업데이트(주민망) 버튼 */
$('#uptAdresFromJuminLink_btn').on({
/* 주소업데이트(주민망) 버튼 */
$('#uptAdresFromJuminLink_btn').on({
click : function(){
// var msg = '이전과 동일한 처리를 위한 작업 진행 중 입니다.';
// msg += '\n작업이 완료되기 전까지 다음 절차를 이용해주시기 바랍니다.';
@ -383,9 +424,9 @@ $('#uptAdresFromJuminLink_btn').on({
document.body.appendChild(form);
form.submit();
}
});
/* 주소업데이트(주민망) callback 이벤트 */
function fn_callbackJuminLinkAdresInfo(data){
});
/* 주소업데이트(주민망) callback 이벤트 */
function fn_callbackJuminLinkAdresInfo(data){
//주소데이터 매핑
var matchCompleted = new Object();
@ -424,11 +465,11 @@ function fn_callbackJuminLinkAdresInfo(data){
DATASET[idx].sttus_cd = obj.sttus_cd; //거주상태코드
DATASET[idx].sttus_cd_nm = obj.sttus_cd_nm; //거주상태코드명
}
}
}
/* 주소업데이트(자동차망) 버튼 */
$('#uptAdresFromCarLink_btn').on({
/* 주소업데이트(자동차망) 버튼 */
$('#uptAdresFromCarLink_btn').on({
click : function(){
// var msg = '이전과 동일한 처리를 위한 작업 진행 중 입니다.';
// msg += '\n작업이 완료되기 전까지 다음 절차를 이용해주시기 바랍니다.';
@ -466,9 +507,9 @@ $('#uptAdresFromCarLink_btn').on({
document.body.appendChild(form);
form.submit();
}
});
/* 주소업데이트(자동차망) callback 이벤트 */
function fn_callbackCarLinkAdresInfo(data){
});
/* 주소업데이트(자동차망) callback 이벤트 */
function fn_callbackCarLinkAdresInfo(data){
//주소데이터 매핑
var matchCompleted = new Object();
@ -538,17 +579,17 @@ function fn_callbackCarLinkAdresInfo(data){
DATASET[idx].transr_regist_de =obj.transr_regist_de; //양수일자
// DATASET[idx].moblphon_no = obj.moblphon_no; //휴대전화번호
}
}
}
/* 검색 버튼 클릭 */
$("#btn_search").click(function(){
/* 검색 버튼 클릭 */
$("#btn_search").click(function(){
$("#currentPageNo").val(1);
fn_search();
});
});
/* 엑셀저장 버튼 클릭 */
$("#excel_btn").click(function(){
/* 엑셀저장 버튼 클릭 */
$("#excel_btn").click(function(){
// $("#searchForm").attr('action', '<c:url value="/category/rev/rev0101/rev010102_down_excel.do"/>');
// $("#searchForm").submit();
if($("#div_tbody tbody tr").length > 999 || (DateUtil.getDayOfWeek() =="일" && $("#div_tbody tbody tr").length > 499) || (DateUtil.getDayOfWeek() =="토" && $("#div_tbody tbody tr").length > 499)){
@ -644,8 +685,8 @@ $("#excel_btn").click(function(){
});
});
/* 페이징 버튼 클릭 */
function fn_pagingSearch(currentPageNo, button) {
/* 페이징 버튼 클릭 */
function fn_pagingSearch(currentPageNo, button) {
var totalRecordCount = $('#totalRecordCount').val();
var recordCountPerPage = $('#recordCountPerPage').val();
@ -658,20 +699,20 @@ function fn_pagingSearch(currentPageNo, button) {
}
fn_search(); //검색버튼 이벤트 함수 호출
}
}
/* 페이지당 건수 selectbox Event */
$('#recordCountPerPage').on({
/* 페이지당 건수 selectbox Event */
$('#recordCountPerPage').on({
change: function(){
$('#currentPageNo').val('1');
fn_search();
}
});
});
/* 검색 Event */
var DATASET = new Array(); //데이터셋
function fn_search(){
/* 검색 Event */
var DATASET = new Array(); //데이터셋
function fn_search(){
//case1.동기호출 방식
// $("#searchAt").attr('value', 'Y');
// $("#searchForm").attr('action', '<c:url value="/category/rev/rev0101/rev010104_list.do"/>');
@ -701,13 +742,13 @@ function fn_search(){
$(".work-percent").css("display","none");
}
});
}
}
/*2020-04-14 황대한
*주소 업데이트 진행 시, 완료되는 시점을 알려주기 위해
*LOADING 바가 돌아가는 동안 몇건 중에 몇건이 완료되었는지 표시
*/
function workTime() {
/*2020-04-14 황대한
*주소 업데이트 진행 시, 완료되는 시점을 알려주기 위해
*LOADING 바가 돌아가는 동안 몇건 중에 몇건이 완료되었는지 표시
*/
function workTime() {
$.ajax({
type :"POST",
url:'<c:url value="/category/rev/rev0101/progressCheck.ajax"/>',
@ -719,10 +760,10 @@ function workTime() {
alert(status + " " + err);
}
});
}
}
function fn_gridDraw(dataset){
function fn_gridDraw(dataset){
var html = '';
dataset.forEach(function(row){
html += '<tr atdrc_cd="'+row.atdrc_cd+'" vhcle_no="'+row.vhcle_no+'" owner_no="'+row.owner_no+'" owner_nm="'+row.owner_nm+'" daepyoja_nm="'+row.owner_nm+'" valid_end_de="'+row.valid_end_de+'" regist_end_de="'+row.regist_end_de+'" regist_de="'+row.regist_de+'" >';
@ -761,7 +802,7 @@ function fn_gridDraw(dataset){
$('#div_tbody tbody').html(html);
$('#div_tbody').siblings('div.cnt_tbody').text(dataset.length+' 건'); //조회건수 설정
$('#checkAll').prop('checked',false).trigger('click'); //출력자료 체크박스 전체선택
}
}
/* 체크박스 Event */
@ -819,7 +860,7 @@ function fn_gridDraw(dataset){
});
/* 대장생성처리 취소 btn */
$('#cancel_btn').click(function(){
$('.cancel_btn').click(function(){
$('#dia').dialog('close');
});
@ -866,4 +907,56 @@ function fn_gridDraw(dataset){
}
});
});
/** 2023.03.28 최정민
* 데이터 필터링 기능 추가
* 그리드에 뿌려진 데이터를 정규식으로 검색하여 제거.
* 2023.04.03 최정민
* 들어오는 인풋데이터의 유연성을 주기 위해 정규식으로 검색하던 방식에서 문자열로 변경
*
* 해당기능 다른 페이지에서도 쓸수 있도록 공통화 진행
* 1. options 객체 = 다이얼 로그 내에 셀렉트 박스 구성
* key : view에 보여질 한글 옵션명
* value : 제거 로직에서 쓰일 attr값
* 2. obj 객체 = 다이얼로그 타이틀, 테이터셋, options에서 셋팅한 값 가져감
* obj는 수정하지 말것
* 해당 리스너를 호출한 태그 text를 title로 가져감
* */
$('#filterData').click(function(){
//원본데이터 저장
let copyDataSet = DATASET;
let options = {
"소유자명":"owner_nm",
"차량번호":"vhcle_no",
};
let obj = {
title : document.querySelector('#filterData').innerText,
data : DATASET,
options : options,
}
const filter = new DataFilter(obj);
filter.createDialog(); // 다이얼로그 생성
filter.dialogOpen(); //
//제거 버튼 클릭
document.querySelector('#filterRemove_btn').onclick = function(){
let option = document.querySelector('#filterSelectBox').value;
let param = document.querySelector('#filteringInput').value;
DATASET = filter.dataFilter(option, param);
}
//되돌리기 버튼 클릭
document.querySelector('#filterReturn_btn').onclick = function(){
DATASET=copyDataSet;
filter.dataRollBack(copyDataSet);
}
document.querySelector('#filterCancel_btn2').onclick = function(){
$('#diaRegexRemove').dialog('close');
}
});
</script>
Loading…
Cancel
Save