선거문자 엑셀 불러오기 기능 수정, 주소록 불러오기 오류 수정, 불필요한 코드 제거

This commit is contained in:
wyh 2024-10-11 11:25:39 +09:00
parent b82f63b014
commit 572b0e58c0
4 changed files with 1877 additions and 3032 deletions

View File

@ -232,7 +232,7 @@ public class MjonMsgCampainDataController {
model.addAttribute("addrVO", searchVO);
}
//주소록에서 선택시 넘어오는 파라미터
//주소록에서 전체전송 넘어오는 파라미터
if("Y".equals(searchVO.getMoveAddrAllFlag())) {
AddrVO addrVO = new AddrVO();

File diff suppressed because it is too large Load Diff

View File

@ -202,21 +202,20 @@ function goMsgUrlMove() {
document.location.href = "/web/mjon/msgcampain/selectMsgDataView.do";
}
// 문자
function listMsgDataView(){
var sendData = $(document.searchForm).serializeArray() ;
$(".contentArea").load("/web/mjon/msgcampain/selectMsgDataSMLViewAjax.do", sendData ,function(response, status, xhr){
//문자 재전송 처리를 위해 사용
$("#msgForm").ready(function(){ //문자 내용 폼이 로드된 후 실행
//문자 내용 폼이 로드된 후 실행
$("#msgForm").ready(function(){
var msgResendFlag = '${reSendMsgVO.msgResendFlag}';
var msgSeqList = [];
msgSeqList = '${reSendMsgVO.msgSeqList}';
if(msgSeqList.length > 0){
fnMsgResend(msgResendFlag, msgSeqList);
}
//주소록에서 주소를 전송한 경우 처리
@ -227,6 +226,7 @@ function listMsgDataView(){
fnAddrSet(moveAddrFlag, addrIdList);
}
// 문자 재전송 New
if (msgResendAllFlag == "Y") {
if (msgResendAllReplaceYn != "Y") {
@ -240,7 +240,6 @@ function listMsgDataView(){
});
}).slideDown();
}
@ -379,77 +378,17 @@ function fnMsgResend(msgResendFlag, msgSeqList){
//수신자 처리 변수
var callToList = []; //수신자 처리 리스트
var tableData = []; //수신자 tabulator 처리 변수
//var subject = data.resultList[0].subject; //제목
//var smsTxt = data.resultList[0].smsTxt; //문자내용
//var fileCnt = data.resultList[0].fileCnt; //그림문자 이미지 갯수
//var filePath1 = data.resultList[0].fileType1; //이미지1 파일 경로
//var filePath2 = data.resultList[0].fileType2; //이미지2 파일 경로
//var filePath3 = data.resultList[0].fileType3; //이미지3 파일 경로
var atchFileId1 = photoInfo.atchFileId1; //이미지1 파일 번호
var atchFileId2 = photoInfo.atchFileId2; //이미지2 파일 번호
var atchFileId3 = photoInfo.atchFileId3; //이미지3 파일 번호
/* if(smsTxt != null){
$("#smsTxtArea").val(smsTxt);
fnByteString(smsTxt);
}
if(subject != null){
$("#mmsSubject").val(subject);
}
if(fileCnt > 0){ //문자 내용 이미지 처리해주기
for(var i=0; i < fileCnt; i++){
var imgId = "";
var imgSrc = "";
if(i == 0){
imgSrc = filePath1.replace("/usr/local/tomcat_mjon/webapps/mjon","");
imgId = atchFileId1;
}else if(i == 1){
imgSrc = filePath2.replace("/usr/local/tomcat_mjon/webapps/mjon","");
imgId = atchFileId2;
}else{
imgSrc = filePath3.replace("/usr/local/tomcat_mjon/webapps/mjon","");
imgId = atchFileId3;
}
myMsgImageControl(imgSrc, "edit_n", "Template", imgId);
}
} */
for(var i = 0; i < listCnt; i++){ // 수신자 리스트 Tabulator에 입력해 주기
callToList[i] = data.resultList[i].callTo;
tableData.push({phone: removeDash(callToList[i])});
}
if(tableData.length > 0){
tableL.addData(dupliPhoneData(tableData)); // 받는사람 목록에 주소 정보 입력하기
//totRows = tableL.getRows().length;
//updateTotCnt(totRows); //전체 데이터 갯수 구하기
//결제 금액 구하기
//totalPriceSum(totRows);
}
return false;
@ -462,9 +401,7 @@ function fnMsgResend(msgResendFlag, msgSeqList){
},
error: function (e) { alert("문자 재전송 번호 등록에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}
function fnLetterListAjax(index){
@ -589,43 +526,23 @@ function fnMyMsgListAjax(index){
}
function fnMyMsgSearchListAjax(index){
document.myMsgForm.pageIndex.value = index;
var sendData = $(document.myMsgForm).serializeArray();
$("#myMsgLoad").load("/web/mjon/msgcampain/selectMyMsgDataListAjax.do", sendData ,function(response, status, xhr){
/* $(".msg_cont").mCustomScrollbar({
axis: 'y',
scrollbarPosition: "inside",
theme: "dark",
autoHideScrollbar: false
}); */
});
}
// 엑셀문자텝 보기
function fnMsgExcelDataView(){
/* var sendData = $(document.searchForm).serializeArray() ;
//엑셀 문자 탭 활성화 시키기
TabType1($('.tabType1 li').eq(1), '2');
$(".contentExcelArea").load("/web/mjon/msgcampain/selectMsgExcelDataViewAjax.do", sendData ,function(response, status, xhr){
}); */
location.href="/web/mjon/msgcampain/excel/selectMsgExcelDataView.do";
}
function fnMsgTWDataView(){
location.href="/web/mjon/msgcampain/selectMsgTWDataView.do";
}
function fn_saveMyMsg(){ // 내 문자 보관함 저장
//내 문자 보관함 저장
function fn_saveMyMsg(){
var form = document.msgForm;
var myImgFileId = []; //신규 이미지 추가 파일 Id 저장 변수
@ -670,11 +587,7 @@ function fn_saveMyMsg(){ // 내 문자 보관함 저장
async: false,
success: function (returnData, status) {
if(status == 'success'){
// imgFilePath 에 배열로 담아주기(이미지 순서대로)
//console.log(imgFilePath);
//imgFilePath.push(returnData.filefullPath);
myImgFileId.push(returnData.atchFileId);
} else if(status== 'fail'){
alert(returnData.message);
}
@ -873,20 +786,6 @@ function fn_sendMsgData(){
var spamStatus = false;
var exceptSpamYn = $("#exceptSpamYn").val(); //금지어 필터링 예외 여부 - N 일 경우만 스팸 검사를 진행
/* //이벤트 진행중 회원의 경우 이벤트 잔여금액 비교 처리 필요.
var eventStatus = form.eventStatus.value;
var eventRemainCash = parseFloat(form.eventRemainCash.value);
if(eventStatus == 'Y'){
if(parseFloat(eventRemainCash) < parseFloat(totPriceOnly)){
alert("고객님의 이벤트 캐시 잔액은 " + eventRemainCash + "원으로 입력하신 수량의 문자를 전부 발송할 수 없습니다. 잔액 이하로 발송건수를 재설정하시기 바랍니다.");
return false;
}
} */
if(loginVO == "" || loginVO == null){
alert("문자발송 서비스는 로그인 후 이용 가능합니다.");
@ -894,12 +793,6 @@ function fn_sendMsgData(){
}
//MJ_MSG_GROUP_DATA 누락데이터 체크
//if (getMsgGroupDataErrorCheck() == false) {
// alert("고객님께서 발송한 최근문자가 발송결과에 표시되지않아, 문자발송이 임시로 차단되었습니다.\n문자온 고객센터에 문의해주세요.");
// return false;
//}
if(form.callFromList.value == ""){
alert("발신번호를 입력해 주세요.");
@ -941,19 +834,6 @@ function fn_sendMsgData(){
}
//문자내용 첫글자에 특수기호 포함 여부 체크
/* var strCont = form.smsTxtArea.value;
var repStr = strFirstCharCheck(strCont);
if(repStr.length > 0){
alert("문자 내용 첫 글자는 특수기호가 들어갈 수 없습니다.");
$('#smsTxtArea').val(strCont.replace(repStr, ""));
fnByteString(strCont.replace(repStr, ""));
return false;
} */
if(imgFilePath.length == 0){ // 그림문자일 경우 내용이 없어도 됨 , 장문 문자일 경우만 문자내용 체크함
if(form.smsTxtArea.value == ""){
@ -1066,11 +946,8 @@ function fn_sendMsgData(){
}
rep4List[i] = rep4.replaceAll(",","§");
}
}
}
}
var reserYn = $("input[name=reserYn]:checked").val(); // 예약 발송 여부 확인
@ -1813,15 +1690,6 @@ function fnMyMsgCheckDelete(){
var sendData = $(document.myMsgForm).serializeArray();
$("#myMsgLoad").load("/web/mjon/msgcampain/deleteMyMsgDataListAjax.do", sendData ,function(response, status, xhr){
//문자 내용 스크롤 적용
/* $(".msg_cont").mCustomScrollbar({
axis: 'y',
scrollbarPosition: "inside",
theme: "dark",
autoHideScrollbar: false
}); */
});
}else{
@ -1911,7 +1779,6 @@ function msgFailsClose(obj){
function msgSpamClose(obj){
$(obj).closest('.pop_msg_spam').attr('style','');
//location.href="/web/uat/uia/actionLogout.do";
}
function msgResultLink(){
@ -2112,12 +1979,6 @@ function popScrCloseSetting(){
<div class="bottom_content" id="tab2_2">
<div class="area_tabs">
<div class="top_tab">
<!-- <div class="tab_depth1 tDep2_mType">
<a href="#none" class="on" value="">전체</a>
<a href="#none" value="B">기업</a>
<a href="#none" class="on" value="P">개인</a>
<div class="on_active">전체</div>
</div> -->
<div class="tab_depth2 tDep2_letType">
<a href="#none" class="on" value="P">그림문자</a>
</div>
@ -2323,6 +2184,7 @@ function popScrCloseSetting(){
</div>
<!--// 맞춤제작 요청 레이어 팝업 -->
</div>
<form id="msgResendForm" name="msgResendForm" method="post">
<input name="msgResendFlag" type="hidden" value="N"/>
<input name="msgSeqList" type="hidden" value=""/>

View File

@ -69,9 +69,6 @@ $(document).ready(function(){
},
});
// 타뷸레이터 width값 변경 시 위에 select width 값 변경
var titleArray = ["No","A","B","C","D","E","F"];
@ -83,7 +80,6 @@ $(document).ready(function(){
$('.select_adr_hd>div').eq(titleIndex).css('width', column._column.width);
}else{
$('.select_adr_hd>div').eq(0).css('width', column._column.width);
}
});
@ -96,9 +92,6 @@ $(document).ready(function(){
$(".tabulator-tableholder").scrollLeft($(this).scrollLeft());
});
$("#excelFile").on("change", function(event) {
var fileInfo = event.target.files;
if(fileInfo.length > 0){
@ -109,24 +102,26 @@ $(document).ready(function(){
}
});
// 대량등록 팝업닫기
$(document).on('click', '#btnAddrMassClose', function() {
$('.field-selector').each(function() { $(this).val(''); });
setAddrMassClose();
});
// 대량등록 팝업닫기
$(document).on('click', '#closeBtn', function() {
// 대량등록 닫기
setAddrMassClose();
});
// excel 오류정보 테스트
$(document).on('click', '#errorExcelBtn', function() {
if($tableError.getDataCount()<1){
alert('오류 정보가 없습니다.');
return false;
}
$tableError.download("xlsx", "error_data.xlsx");
});
// 엑셀등록 닫기
// 엑셀등록 초기화 값 설정
function setAddrMassClose() {
$tableExcel.clearData();
$("#excelRowTotCnt").text(0); //총건수 수정
@ -135,6 +130,7 @@ $(document).ready(function(){
dupliPhoneDataRealList.length = 0; // 중복 휴대폰번호 초기화
addrMassDupliSaveList = null;
$('#excelFile').val(''); //첨부파일 값 초기화
// popup 영역
$tableError.clearData();
@ -144,8 +140,8 @@ $(document).ready(function(){
$("#errorPopErrorCnt").text(0);
//
$("#errorPopTotCnt").text(0);
// select 선택값 초기화
$('.field-selector').each(function() { $(this).val(''); });
}
//#############################################################################################
@ -155,7 +151,6 @@ $(document).ready(function(){
$(document).on("dragenter",".upload_area",function(e){
e.stopPropagation();
e.preventDefault();
//$(this).css('border', '2px solid #0B85A1');
});
$(document).on("dragover",".upload_area",function(e){
e.stopPropagation();
@ -175,7 +170,6 @@ $(document).ready(function(){
$(document).on('dragover', function (e){
e.stopPropagation();
e.preventDefault();
//objDragAndDrop.css('border', '2px dotted #0B85A1');
});
$(document).on('drop', function (e){
e.stopPropagation();
@ -183,10 +177,6 @@ $(document).ready(function(){
});
//파일 드래그앤드롭 종료
//타이틀 select 선택 이벤트
$('.field-selector').on('change', function() {
fn_loadAddActive();
@ -216,7 +206,6 @@ $(document).ready(function(){
}
});
//
updateTableFields($tableExcel);
@ -228,44 +217,42 @@ $(document).ready(function(){
}, 0); // 지연 없이 즉시 실행되도록 0ms 지연을 설정
});
//받는사람 전체삭제 버튼 처리
$('#allDel').click(function(){
var data = $tableExcel.getRows();
$tableExcel.clearData();
$("#excelRowTotCnt").text(0); //총건수 수정
$("#excelRowDupCnt").text(0); //중복건수 수정
dupliPhoneDataRealList.length = 0; // 중복 휴대폰번호 초기화
// select box 초기화
$('.field-selector').each(function() { $(this).val(''); });
});
// 받는사람 선택삭제 버튼 처리해주기
$('#in_select_del').click(function(){
if($tableExcel == null || $tableExcel == ""){
alert("받는사람을 추가해 주세요.");
return false;
}
var selectedData = $tableExcel.getSelectedRows();
if(selectedData == "" || selectedData == null){
alert("삭제할 연락처를 선택해주세요.");
return false;
}else{ // 선택한 Row 데이터 삭제하기
if(confirm("선택하신 받는 사람을 삭제하시겠습니까?")){
// 선택 데이터 삭제
selectedData.forEach(row => row.delete());
totRows = $tableExcel.getRows().length;
$("#excelRowTotCnt").text(totRows);
}
}
});
// 추가버튼
@ -282,16 +269,12 @@ $(document).ready(function(){
// tableExcel 그룹의 select 요소들을 확인
// var isPhoneSelected = false;
// var isNameSelected = false;
var columns = $tableExcel.getColumns();
var isAddrPhoneNoSelected = columns.some(column => column.getField() === 'addrPhoneNo');
if (!isAddrPhoneNoSelected) {
// isPhoneSelected = true;
alert('휴대폰이 선택되지 않았습니다.');
return false;
}
var addrData = $tableExcel.getData().map((row, index) => ({
@ -303,11 +286,6 @@ $(document).ready(function(){
rep4: row.addrInfo4,
}));
// 기존 tableL의 데이터를 가져옵니다.
var existingData = tableL.getData();
// 기존 데이터와 새로운 데이터를 합칩니다.
@ -315,9 +293,6 @@ $(document).ready(function(){
// 합쳐진 데이터를 tableL에 설정합니다.
tableL.setData(combinedData);
// 미리보기 버튼 활성화
updateButtons(0);
var totRows = tableL.getRows().length;
updateTotCnt(totRows); //전체 데이터 갯수 구하기
console.log('totRows : ', totRows);
@ -334,35 +309,14 @@ $(document).ready(function(){
//결제 금액 구하기
totalPriceSum(totRows);
}
setAddrMassClose();
$('.field-selector').each(function() { $(this).val(''); });
$('#closeBtn').click();
});
//받는사람 전체삭제 버튼 처리
$('#allDel').click(function(){
var data = $tableExcel.getRows();
$tableExcel.clearData();
$("#excelRowTotCnt").text(0); //총건수 수정
$("#excelRowDupCnt").text(0); //중복건수 수정
dupliPhoneDataRealList.length = 0; // 중복 휴대폰번호 초기화
// select box 초기화
$('.field-selector').each(function() { $(this).val(''); });
});
});
function excelFileChange(file) {
if (file) {
@ -406,25 +360,19 @@ function excelFileChange(file) {
function processExcelData(data) {
var keys = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
var tableData = [];
var totalRows = data.length - 2; // 전체 데이터 수 (1, 2행 제외)
// 3번째 행부터 입력
data.slice(0).forEach((row, index) => {
var rowData = {};
keys.forEach((key, idx) => { // index 변수명 변경 (내부와 외부에서 사용되므로 충돌 방지)
// console.log('row[idx] : ', row[idx]);
// rowData[key] = row[idx] ? row[idx].trim() : ""; // 각 컬럼에 대해 기본값을 설정
rowData[key] = (typeof row[idx] === 'string') ? row[idx].trim() : row[idx];
});
tableData.push(rowData);
tableData.push(rowData);
});
updateTable(tableData);
}
// 텍스트 데이터 처리 함수
function processTextData(text) {
var lines = text.split('\n'); // 각 줄을 배열로 분리
@ -437,6 +385,7 @@ function processTextData(text) {
keys.forEach((key, index) => {
rowData[key] = row[index] ? row[index].trim() : ""; // 각 컬럼에 대해 기본값을 설정
});
tableData.push(rowData);
});
@ -695,7 +644,6 @@ function popMore(e){
<div class="popup_btn_wrap2" style="margin-top: 0px;">
<button type="button" class="tooltip-close" data-focus="addrMassDupli_layer-close" data-focus-next="addrMassDupli_layer">닫기</button>
</div>
</div>
</div>
@ -724,27 +672,18 @@ function popMore(e){
<li>ex) 발송불가 특수문자, 자릿수 오류 등</li>
</ul>
<div class="popup_btn_wrap2">
<!-- <button type="button">저장</button> -->
<button type="button" class="tooltip-close" data-focus="adr_popup14-close" data-focus-next="adr_popup14">닫기</button>
</div>
</div>
</div>
</div>
<!--// 중복전화번호 팝업 -->
<div class="popup_heading">
<p>엑셀 불러오기</p>
<button type="button" class="tooltip-close" id="closeBtn" data-focus="popup02-close"><img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button>
</div>
<div class="layer_in" style="padding: 25px 30px;">
<!-- <div class="list_tab_wrap2"> -->
<!-- tab button -->
<!-- <ul class="list_tab" id="tbTabl"> -->
<!-- <li class="tab active" data-tabul="tableExcel"><button type="button" onclick="popupTab(this,'1'); fn_tabToggle('1');">엑셀입력</button></li> -->
<!-- <li class="tab" data-tabul="tableClip"><button type="button" onclick="popupTab(this,'2'); fn_tabToggle('2');">붙여넣기</button></li> -->
<!-- <li class="tab" data-tabul="tableSelf"><button type="button" onclick="popupTab(this,'3'); fn_tabToggle('3');">직접입력</button></li> -->
<!-- </ul>// tab button -->
<!-- </div> -->
<!-- 엑셀입력 -->
<div class="popCont current pop_more_cont" id="popCont_1">
<div class="titBox">
@ -757,7 +696,8 @@ function popMore(e){
<div class="pop_more_wrap">
<button type="button" class="pop_more" onclick="popMore(this);">더보기<i></i></button>
</div>
</div><!--// 엑셀입력 -->
</div>
<!--// 엑셀입력 -->
<!-- 공통 -->
<div>
@ -769,16 +709,6 @@ function popMore(e){
</colgroup>
<tbody>
<tr>
<!-- <th>그룹 선택</th>
<td>
<label for="" class="label">그룹 선택</label>
<select id="addrGrpIdInfo" name="addrGrpIdInfo">
</select>
<label for="" class="label">그룹명 입력</label>
<input type="text" id="addrGrpNm" name="addrGrpNm" placeholder="새 그룹명을 입력해주세요." onfocus="this.placeholder=''" onblur="this.placeholder='새 그룹명을 입력해주세요.'"class="inputLight" style="width: 300px;">
<input type="file" id="excelFile" accept=".xls, .xlsx, .txt" style="display:none"/>
<button type="button" class="excel_btn2 btnType c3"><i class="uproad"></i>엑셀, TXT파일 업로드</button>
</td> -->
<td colspan="2" style="padding:20px 0;">
<div class="file_upload_wrap" style="width:100%;display:flex;">
<div class="file_add upload_area">
@ -793,7 +723,6 @@ function popMore(e){
</table>
</div>
<div class="excel_middle2">
<p>
총 <span class="c_e40000 fwBold" id="excelRowTotCnt">0</span>건
@ -801,19 +730,8 @@ function popMore(e){
/ 오류 <span class="c_002c9a fwBold" id="excelRowErrorCnt">0</span>건
<button type="button" class="btn_list_detail" data-tooltip="adr_popup14"><img src="/publish/images/search.png"></button>
</p>
<!-- &nbsp; -->
<!-- <button type="button" class="btnType btnType6" data-tooltip="addrMassDupli_layer" id="tableExcelDupliBtn">중복번호</button> -->
<!-- &nbsp; -->
<!-- <button type="button" class="btnType btnType6" data-tooltip="addrMassSaveDupli_layer" onclick="GetAddrMassSaveDupli()" id="btnAddrMassSaveDupli">중복번호</button> -->
</p>
<!-- <button type="button" class="btnType btnType6 addCallToF">번호추가</button> -->
</div>
<div class="adr_excel" style="margin-top: 13px; overflow-x:auto;">
<!-- <div class="adr_excel" style="margin-top: 13px;"> -->
<!-- thead -->
<div class="adr_hd select_adr_hd msg" data-group="tableExcel">
<div style="width: 100px;"></div>
@ -828,7 +746,6 @@ function popMore(e){
<option value="addrInfo2">[*2*]</option>
<option value="addrInfo3">[*3*]</option>
<option value="addrInfo4">[*4*]</option>
<!-- <option value="addrComment">메모</option> -->
</select>
</div>
<div style="width: 140px;">
@ -841,7 +758,6 @@ function popMore(e){
<option value="addrInfo2">[*2*]</option>
<option value="addrInfo3">[*3*]</option>
<option value="addrInfo4">[*4*]</option>
<!-- <option value="addrComment">메모</option> -->
</select>
</div>
<div style="width: 140px;">
@ -854,7 +770,6 @@ function popMore(e){
<option value="addrInfo2">[*2*]</option>
<option value="addrInfo3">[*3*]</option>
<option value="addrInfo4">[*4*]</option>
<!-- <option value="addrComment">메모</option> -->
</select>
</div>
<div style="width: 140px;">
@ -867,7 +782,6 @@ function popMore(e){
<option value="addrInfo2">[*2*]</option>
<option value="addrInfo3">[*3*]</option>
<option value="addrInfo4">[*4*]</option>
<!-- <option value="addrComment">메모</option> -->
</select>
</div>
<div style="width: 140px;">
@ -880,7 +794,6 @@ function popMore(e){
<option value="addrInfo2">[*2*]</option>
<option value="addrInfo3">[*3*]</option>
<option value="addrInfo4">[*4*]</option>
<!-- <option value="addrComment">메모</option> -->
</select>
</div>
<div style="width: 140px;">
@ -893,28 +806,11 @@ function popMore(e){
<option value="addrInfo2">[*2*]</option>
<option value="addrInfo3">[*3*]</option>
<option value="addrInfo4">[*4*]</option>
<!-- <option value="addrComment">메모</option> -->
</select>
</div>
<!-- <div style="width: 125px;">
<label for="" class="label"></label>
<select class="field-selector">
<option value="">선택하기</option>
<option value="addrNm">이름</option>
<option value="addrPhoneNo">휴대폰</option>
<option value="addrInfo1">[*1*]</option>
<option value="addrInfo2">[*2*]</option>
<option value="addrInfo3">[*3*]</option>
<option value="addrInfo4">[*4*]</option>
<option value="addrComment">메모</option>
</select>
</div> -->
</div>
</div>
<div class="drag_drop_wrap callList_includ_box" id="tabulator_excel">
<!-- <img src="/publish/images/content/excel.jpg" style="width: 100%;"> -->
</div>
<div class="drag_drop_wrap callList_includ_box" id="tabulator_excel"></div>
<div class="excel_middle">
<div class="select_btnWrap clearfix">
<div>
@ -923,21 +819,11 @@ function popMore(e){
</div>
</div>
</div><!--// 공통 -->
</div>
<!--// 공통 -->
<!-- 붙여놓기 설명 -->
<!-- <div class="req_area"> -->
<!-- <div class="text_box"> -->
<!-- - 휴대폰 번호가 입력된 txt 파일을 열어 복사(Ctrl+c) + 붙여넣기(Ctrl+v)로도 입력하실 수 있습니다.<br> -->
<!-- - 휴대폰 번호는 필수입력 항목입니다.<br> -->
<!-- - 이름,휴대폰 번호,[*1*],[*2*],[*3*],[*4*],메모 순서대로 입력해주세요.(예 : 010-1234-5678,홍길동,변수1…메모)<br> -->
<!-- - 이름은 24byte, [*1*]~[*4*] 40byte, 메모는 250byte까지 입력 가능합니다.<br> -->
<!-- - '오류 검사'를 통해 등록된 데이터에 전화번호 입력 오류를 확인하실 수 있습니다. -->
<!-- </div> -->
<!-- </div> -->
<div class="popup_btn_wrap2" style="margin: 0 auto 30px auto;">
<button type="button" id="btnAddrMassReg">추가</button>
<button type="button" id="btnAddrMassClose" class="tooltip-close" data-focus="adr_popup01-close" data-focus-next="popup02">닫기</button>
</div>
</div>