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;