From ab889486ae42bf749741bf5cb4f80eb511322592 Mon Sep 17 00:00:00 2001 From: rosewiper Date: Mon, 29 Jan 2024 17:02:38 +0900 Subject: [PATCH] =?UTF-8?q?=EB=AC=B8=EC=9E=90=EC=A0=84=EC=86=A1,=20?= =?UTF-8?q?=EC=84=A0=EA=B1=B0=EB=AC=B8=EC=9E=90=20=EC=A3=BC=EC=86=8C?= =?UTF-8?q?=EB=A1=9D=20=EB=B6=88=EB=9F=AC=EC=98=A4=EA=B8=B0=20=EC=86=8D?= =?UTF-8?q?=EB=8F=84=20=EA=B0=9C=EC=84=A0=20=20-=20=EC=A3=BC=EC=86=8C?= =?UTF-8?q?=EB=A1=9D=20=EB=B6=88=EB=9F=AC=EC=98=A4=EA=B8=B0=20=ED=8C=9D?= =?UTF-8?q?=EC=97=85=20=EA=B7=B8=EB=A3=B9=20=EC=84=A0=ED=83=9D=EC=8B=9C=20?= =?UTF-8?q?=EB=A1=9C=EB=94=A9=EB=B0=94=20=ED=91=9C=EC=8B=9C=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20=20-=20=EC=A3=BC=EC=86=8C=20=EC=B6=94=EA=B0=80?= =?UTF-8?q?=EC=8B=9C=20=EC=A4=91=EB=B3=B5=20=EB=B2=88=ED=98=B8=20=EC=B2=B4?= =?UTF-8?q?=ED=81=AC=20=EB=A1=9C=EC=A7=81=20=EC=86=8D=EB=8F=84=20=EA=B0=9C?= =?UTF-8?q?=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsp/web/msgcampain/MsgDataSMLView.jsp | 18 +++++++++++++++--- .../jsp/web/msgcampain/tw/MsgTWDataSMLView.jsp | 17 ++++++++++++----- .../WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp | 18 +++++++++++++++--- src/main/webapp/js/MJUtill.js | 18 ++++++++++++++++++ 4 files changed, 60 insertions(+), 11 deletions(-) diff --git a/src/main/webapp/WEB-INF/jsp/web/msgcampain/MsgDataSMLView.jsp b/src/main/webapp/WEB-INF/jsp/web/msgcampain/MsgDataSMLView.jsp index 0c4f8fe6..d3126162 100644 --- a/src/main/webapp/WEB-INF/jsp/web/msgcampain/MsgDataSMLView.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/msgcampain/MsgDataSMLView.jsp @@ -65,7 +65,9 @@ function addPhoneInfo(data){ //기존 수신 리스트를 지워준 후 신규 전체 리스트를 추가해준다. tableL.clearData(); //기존 받는사람 목록을 삭제. - tableL.addData(dupliPhoneData(tableData)); // 받는사람 목록에 주소 정보 입력하기 + //tableL.addData(dupliPhoneData(tableData)); // 받는사람 목록에 주소 정보 입력하기 + tableL.addData(getSpupDupliPhoneDataChk(tableData)); // 속도 개선된 중복 검사 호출 + _fileForm2 = []; //form file data 초기화 _fileIdx = 0; //form file idx 초기화 @@ -2429,7 +2431,7 @@ function loadAddrList(){ url: url, data: data, dataType:'json', - async: false, + async: true, cache: false, success: function (returnData, status) { if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나 @@ -2467,7 +2469,17 @@ function loadAddrList(){ alert("주소록 불러오기에 실패하였습니다. !!"); } }, - error: function (e) { alert("주소록 불러오기에 실패하였습니다."); console.log("ERROR : ", e); } + error: function (e) { + alert("주소록 불러오기에 실패하였습니다."); console.log("ERROR : ", e); + }, + beforeSend : function(xmlHttpRequest) { + //로딩창 show + $('.loading_layer').addClass('active'); + }, + complete : function(xhr, textStatus) { + //로딩창 hide + $('.loading_layer').removeClass('active'); + } }); } diff --git a/src/main/webapp/WEB-INF/jsp/web/msgcampain/tw/MsgTWDataSMLView.jsp b/src/main/webapp/WEB-INF/jsp/web/msgcampain/tw/MsgTWDataSMLView.jsp index 01ea61bc..a9d2bb43 100644 --- a/src/main/webapp/WEB-INF/jsp/web/msgcampain/tw/MsgTWDataSMLView.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/msgcampain/tw/MsgTWDataSMLView.jsp @@ -2564,13 +2564,12 @@ function loadAddrList(){ url: url, data: data, dataType:'json', - async: false, + async: true, cache: false, success: function (returnData, status) { if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나 if(returnData.result == "success"){ - var addrList = returnData.resultAddrList; var tableData = []; @@ -2580,14 +2579,12 @@ function loadAddrList(){ tableAddr.setData(tableData); return false; } - //받는사람 리스트를 담아둔 배열에 신규 추가 데이터를 추가해 준다. for(var i=0; i < addrList.length; i++){ tableData.push({addrGroupNm: addrList[i].addrGrpNm, addrPhone: removeDash(addrList[i].addrPhoneNo) , addrName: addrList[i].addrNm, addrRep1: addrList[i].addrInfo1, addrRep2: addrList[i].addrInfo2, addrRep3: addrList[i].addrInfo3, addrRep4: addrList[i].addrInfo4}); } - //우측 주소록 리스트 Tabulator에 입력해주기 tableAddr.setData(tableData); @@ -2602,7 +2599,17 @@ function loadAddrList(){ alert("주소록 불러오기에 실패하였습니다. !!"); } }, - error: function (e) { alert("주소록 불러오기에 실패하였습니다."); console.log("ERROR : ", e); } + error: function (e) { + alert("주소록 불러오기에 실패하였습니다."); console.log("ERROR : ", e); + }, + beforeSend : function(xmlHttpRequest) { + //로딩창 show + $('.loading_layer').addClass('active'); + }, + complete : function(xhr, textStatus) { + //로딩창 hide + $('.loading_layer').removeClass('active'); + } }); } diff --git a/src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp b/src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp index ce81deff..aea55243 100644 --- a/src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp @@ -65,7 +65,9 @@ function addPhoneInfo(data){ //기존 수신 리스트를 지워준 후 신규 전체 리스트를 추가해준다. tableL.clearData(); //기존 받는사람 목록을 삭제. - tableL.addData(dupliPhoneData(tableData)); // 받는사람 목록에 주소 정보 입력하기 + //tableL.addData(dupliPhoneData(tableData)); // 받는사람 목록에 주소 정보 입력하기 + tableL.addData(getSpupDupliPhoneDataChk(tableData)); // 받는사람 목록에 주소 정보 입력하기 + _fileForm2 = []; //form file data 초기화 _fileIdx = 0; //form file idx 초기화 @@ -2691,7 +2693,7 @@ function loadAddrList(){ url: url, data: data, dataType:'json', - async: false, + async: true, cache: false, success: function (returnData, status) { if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나 @@ -2729,7 +2731,17 @@ function loadAddrList(){ alert("주소록 불러오기에 실패하였습니다. !!"); } }, - error: function (e) { alert("주소록 불러오기에 실패하였습니다."); console.log("ERROR : ", e); } + error: function (e) { + alert("주소록 불러오기에 실패하였습니다."); console.log("ERROR : ", e); + }, + beforeSend : function(xmlHttpRequest) { + //로딩창 show + $('.loading_layer').addClass('active'); + }, + complete : function(xhr, textStatus) { + //로딩창 hide + $('.loading_layer').removeClass('active'); + } }); } diff --git a/src/main/webapp/js/MJUtill.js b/src/main/webapp/js/MJUtill.js index 57858288..3b7cd513 100644 --- a/src/main/webapp/js/MJUtill.js +++ b/src/main/webapp/js/MJUtill.js @@ -575,6 +575,7 @@ var dupliPhoneDataRealList = []; //중복 전화번호 체크하기 function dupliPhoneData(data){ + var chk = true; //중복값 유무 var uniqData = []; // 중복값 삭제 후 데이터 저장 var dupCnt = 0; @@ -622,6 +623,23 @@ function dupliPhoneData(data){ return uniqData; } + +//연락처 중복검사 속도 개선 버전 +function getSpupDupliPhoneDataChk(data){ + + var dataLen = data.length; + const arrUnique = data.filter((character, idx, arr)=>{ + return arr.findIndex((item) => item.phone === character.phone) === idx + }); + + var uniqLen = arrUnique.length; + var dupCnt = dataLen - uniqLen; + //중복건수 텍스트 입력해 주기 + $("#rowDupCnt").text(dupCnt); + + return arrUnique; +} + // Get 중복 연락처 function GetDupliPhoneDataReal(item) { var isDuplicate = false;