File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
2023-06-22
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ page import="itn.com.cmm.LoginVO" %>
<!--
<script>document.write('<script src="http://' + (location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1"></' + 'script>')</script>
-->
<script src="/publish/js/content.js"></script>
<!-- 스프레드시트(타뷸레이터)관련 js -->
<script src="/js/user/fax/tabulator.js"></script>
<!-- 주소록관련 js -->
<script src="/js/user/fax/addr.js"></script>
<!-- 엑셀불러오기관련 js -->
<script src="/js/user/fax/exelUpload.js"></script>
<!-- 주소록 유효성 체크 공통유틸로 인해 추가 -->
<script type="text/javascript" src="<c:url value='/js/web/addr/cmn.js?date=202409021440'/>"></script>
<script type="text/javascript" src="<c:url value='/js/txtSpecialReplace.js?date=202209210001'/>"></script>
<!-- 현재 jsp에서 사용하는 file 관련 js -->
<script type="text/javascript" src="<c:out value='/js/user/fax/file.js' />"></script>
<script type="text/javascript">
var loginVO = '${loginVO}';
var tableL = null; //받는사람 연락처 Tabulator 변수
var tableAddr = null; //주소록 불러오기 팝업 Tabulator 변수
var tableExcel = null; //엑셀 불러오기 팝업 Tabulator 변수
var tableError = null; //엑셀 오류 주소록 상세 팝업 Tabulator 변수
$(document).ready(function(){
//엑섹불러오기 버튼 클릭시 파일 첨부 실행
$('#fileUploadButton').click(function(){ // 엑셀파일 불러오기 선택 시
$("#realFileUploadButton").click();
});
// 미리보기 버튼 클릭 이벤트
$('#previewBtnID').click(function(){
if($("#fileChk").val() == 'N')
{
alert('파일을 첨부해 주세요');
}else{
// 미리보기 버튼 클릭했다는 flag
$('#previewChk').val('Y');
//새창 열림
var popWin = window.open('', 'previewPop', 'scrollbars=yes, width=1400, height=800');
$('#convertForm').attr('action', '/web/mjon/fax/pdfPreview.do');
$('#convertForm').attr('target', 'previewPop');
$('#convertForm').submit();
}
});
// 발송 버튼 클릭
$('#sendBtn').click(function(){
if(loginVO == "" || loginVO == null){
alert("팩스발송 서비스는 로그인 후 이용 가능합니다.");
return false;
}
if(!valueChk()){
return false;
}
if(!confirm("팩스 발송을 하시겠습니까?")){
return false;
}
$('#faxSendForm #faxConvertSeq').val($('#convertForm #faxConvertSeq').val());
$('#faxSendForm #subject').val($('#title').val());
fn_faxSendData();
});
///////////////////////////////////////// Mutation Observer
// 감시 대상 node 선택
// 받는사람 영역
let target01 = document.getElementById('target01');
// 변환된 총 매수
let target02 = document.getElementById('resPage');
// 감시자의 설정
let option = {
subtree : true // 대상 노드의 자식 요소뿐만 아니라 후손 요소의 변화까지 감지
, childList : true // 대상 노드의 자식 요소(텍스트 포함)의 변화 감지
, attributes : true // 해당 노드의 attribute 속성
};
// wrap01 감시자 인스턴스 만들기
let observer_wrap01 = new MutationObserver((mutations) => {
fn_priceClclt();
});
// wrap02 감시자 인스턴스 만들기
let observer_wrap02 = new MutationObserver((mutations) => {
fn_priceClclt();
});
// 대상 노드에 감시자 전달
observer_wrap01.observe(target01, option);
observer_wrap02.observe(target02, option);
///////////////////////////////////////// //Mutation Observer
//////////////////////////////////////// 주소록에서 넘겨받은 주소록청보 처리해주기
modeAddrListInsert();
//주소록 불러오기 버튼 클릭시
$('.popupAddr').click(function(){
if(loginVO == "" || loginVO == null){
alert("로그인 후 이용이 가능합니다.");
return false;
}
});
//엑셀 불러오기 버튼 클릭시
$('.popupAddrExcel').click(function(){
if(loginVO == "" || loginVO == null){
alert("로그인 후 이용이 가능합니다.");
return false;
}
});
});
function modeAddrListInsert(){
var listCnt = '${resultFaxAddrListCnt}';
var addrNmList = '${addrNmList}';
var addrPhoneNoList = '${addrPhoneNoList}';
var moveAddrFlag = '${moveAddrFlag}';
var moveAddrAllFlag = '${moveAddrAllFlag}';
if(moveAddrFlag == 'Y' || moveAddrAllFlag == 'Y'){
//수신자 처리 변수
var tableData = []; //수신자 tabulator 처리 변수
var addrNm = [];
var PhoneNo = [];
addrNmList = addrNmList.replace('[','').replace(']','');
addrPhoneNoList = addrPhoneNoList.replace('[','').replace(']','');
addrNm = addrNmList.split(',');
addrPhoneNo = addrPhoneNoList.split(',');
for(var i = 0; i < listCnt; i++){ // 수신자 리스트 Tabulator에 입력해 주기
tableData.push({
name: addrNm[i]
,phone: removeDash(addrPhoneNo[i])
});
}
// 받는사람 목록에 주소 정보 입력하기
addPhoneInfo(tableData)
}
}
function moneyChk(){
//회원 보유 잔액 비교
var totPriceOnly = stringReplaceAll($('#totalPriceTxt').text() , ",", "");
var userMoneyOnly = stringReplaceAll($('#hdUserMoney').text(), ",", "");
if(parseFloat(userMoneyOnly) < parseFloat(totPriceOnly)){
alert("팩스 발송에 필요한 회원님의 보유 잔액이 부족 합니다.");
return false;
}
return true;
}
function valueChk(){
if($('#title').val() == ''){
alert('제목을 입력해 주세요.');
return false;
}
if($('#previewChk').val() == 'N'){
alert('미리보기 버튼을 클릭해서 변환 파일을 확인해 주세요.');
return false;
}
var nameList = []; //치환문자 이름
var phoneNum = []; //받는사람
var selectedData = tableL.getRows();
if(selectedData.length < 1){
alert('수신번호를 입력후 발송해 주세요 ');
return false;
}
for(var i=0; i < selectedData.length; i++){
//일괄변환 문자에 콤마(,)가 들어가있으면 배열로 넘길때 문제가 발생하여 특수문자(§)로 치환하여 넘겨주도록 한다.
var name = tableL.getRows()[i].getData().name;
var phone = removeDash(tableL.getRows()[i].getData().phone);
if(phone == ""){
alert("수신 목록에 핸드폰 번호가 없는 항목이 있습니다.");
return false;
}
else{
if(typeof(name) != 'undefined' && name != null){
if(!emojiCheck(name)){//이모지 체크 해주기
return false;
}
nameList[i] = name.replaceAll(",","§");
}
phoneNum[i] = phone;
}
}
$('#faxSendForm #callToList').val(phoneNum);
$('#faxSendForm #nameList').val(nameList);
return true;
}
/**
* @description 금액 계산 function
*/
function fn_priceClclt(){
// 수신 번호 개수
var len = tableL.getRows().length;
// 사용자이용단가
var price = "<c:out value='${faxPrice}'/>";
// 변환된 파일의 매수
var resPage = $('#resPage').text();
//총금액
var totalPrice;
if(len == 0){
$('#totalPriceTxt').text(0)
return false;
}
else {
totalPrice = len * price * resPage;
totalPrice = totalPrice.toString().replace(/\B(?<!\.\d*)(?=(\d{3})+(?!\d))/g, ",");
$('#totalPriceTxt').text(totalPrice);
}
tableL.clearCellValidation();
}
//중복 전화번호 체크하여 중복 갯수 리턴하기
function dupliPhoneDataChk(data){
var chk = true; //중복값 유무
var uniqData = []; // 중복값 삭제 후 데이터 저장
var dupCnt = 0;
//첨부 주소 정보에서 연락처가 중복되는 경우 하나만 남기고 나머지는 삭제 하고 보여줌
$.each(data, function(i, item){
chk = true; //중복값 유무
$.each(uniqData, function(j, item2){
if(item.phone.length > 0){
if(item.phone == item2.phone){
chk = false;
dupCnt = dupCnt + 1;
}
}
});
if(chk){
uniqData.push(item);
}
});
return dupCnt;
}
function goPage(){
location.href="<c:url value='/web/mjon/fax/faxSendList.do'/>";
}
//전체 데이터 갯수 구하는 함수
function updateTotCnt(data){
var rowTotCnt = data;
$("#rowTotCnt").text(numberWithCommas(rowTotCnt));
}
</script>
<form id="convertForm" name="convertForm" action="">
<input type="hidden" id="faxConvertSeq" name="faxConvertSeq" value="" />
<input type="hidden" id="faxConvertFilePath" name="faxConvertFilePath" value="" /> <!-- 변환파일 경로 -->
</form>
<form id="faxSendForm" name="faxSendForm" action="">
<input type="hidden" id="subject" name="subject" value="" />
<input type="hidden" id="callToList" name="callToList" value="" />
<!-- 문자온 법인폰 번호 -->
<input type="hidden" id="nameList" name="nameList" value="" />
<input type="hidden" id="faxConvertSeq" name="faxConvertSeq" value="" />
<input type="hidden" id="reserveYn" name="reserveYn" value="N" />
<input type="hidden" id="sendDate" name="sendDate" value="" />
<input type="hidden" id="totalEa" name="totalEa" value="" />
</form>
<div class="loading_execl_layer">
<div class="loading_container">
<div class="bar"></div>
<div class="text">Loading</div>
</div>
</div>
<div>
<div class="inner">
<!-- send top -->
<div class="send_top">
<div class="serv_content fax_content current">
<div class="heading">
<h2>팩스발송</h2>
</div>
<div class="pay_tab_wrap">
<ul class="tabType1">
<li class="tab active">
<button type="button">팩스전송</button>
</li>
<li class="tab">
<button type="button" onclick="goPage()">팩스전송내역</button>
</li>
</ul>
</div>
<!--// tab button 끝-->
<!-- tab content1 -->
<div class="tap_content current" id="tab_content_1">
<div class="send_general">
<!-- send left 문자 보내기 입력 -->
<div class="send_left">
<table class="tType1">
<caption>일반 문자보내기 분류 번호 내용 등을 입력하는 표</caption>
<colgroup>
<col style="width: 100px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<span class="essential">*</span> 팩스제목
</th>
<td>
<input type="text" class="fax_title" maxlength="20" id="title"><span class="reqTxt6"><span class="vMiddle">*</span> 제목은 전송결과 관리용으로 발송내용에 표시되지 않음</span>
</td>
</tr>
<tr>
<th scope="row">
<span class="essential">*</span> 전송문서
</th>
<td>
<div class="file_add upload_area listType list01" id="upload_area">
<%-- 로딩영역 --%>
<div class="loading_layer" style="z-index:95">
<div class="loading_container">
<div class="bar"></div>
<div class="text">변환중...</div>
</div>
</div>
<%-- 로딩영역 끝 --%>
<p><img src="/publish/images/content/file_add.png" alt="">첨부파일을 넣어주세요.</p>
<div class="cf_text_wrap">
<span>전송 가능 확장자</span><br>hwp, hwpml, doc, xls, ppt, pdf, txt, docx, xlsx,<br /> pptx, tif, jpg, jpeg, gif, bmp, gul
</div>
</div>
<div class="file_add upload_area upload_table_wrap" id="upload_area_list" style="display:none">
<table class="file_upload_table">
<colgroup>
<col style="width: auto;" />
<col style="width: 18%;" />
<col style="width: 30%;" />
<col style="width: 60px;" />
</colgroup>
<thead>
<tr>
<th>파일명</th>
<th>크기</th>
<th>등록일시</th>
<th>삭제</th>
</tr>
</thead>
<tbody id="tbody_fiielist" style="height: 87px;">
</tbody>
</table>
</div>
<div class="file_right">
<!-- <button type="button" data-tooltip="popup05" class="btnType btnType9">파일첨부</button> -->
<button type="button" id="fileUploadButton" class="btnType btnType9">파일첨부</button>
<button type="button" id="previewBtnID" class="btnType btnType7">미리보기</button>
<!-- N : 파일 없음 / Y : 파일 있음 -->
<input type="hidden" id="fileChk" value="N" />
<input type="hidden" id="previewChk" value="N" />
<input type="file" id="realFileUploadButton" style="display:none"/>
<p>총 <span class="c_002c9a fwBold" id="resPage">0</span>매</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="vTop"><span class="essential">*</span>받는사람</th>
<td class="putText" id="target01">
<div class="clearfix receipt_num">
<div class="receipt_num_top">
<label for="callTo" class="label">받는 번호입력</label>
<input type="text" id="callTo" name="callTo" maxlength="15" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');" placeholder="번호를 입력하세요" onfocus="this.placeholder=''" onblur="this.placeholder='번호를 입력하세요'" style="width:340px;">
<button type="button" class="btnType btnType6 addCallToF">번호추가</button>
<span><span class="vMiddle">*</span> 중복번호는 한번만 발송됩니다.</span>
</div>
<div class="receipt_num_midde">
<div class="listType list01 callList_box" id="callList_box">
<div class="list_table list_head">
<div class="cb_wrap">
<label for="" class="label"></label>
<input type="checkbox">
</div>
<div class="list_table_num">
<p>번호</p>
<img src="/publish/images/sortUp.png">
<img src="/publish/images/sortDown.png">
</div>
<div class="list_table_name">
<p>이름</p>
<img src="/publish/images/sortUp.png">
<img src="/publish/images/sortDown.png">
</div>
</div>
</div>
<div class="put_right">
<div class="btn_popup_wrap spc_wrap">
<button type="button" data-tooltip="popup06" class="btnType btnType7 popupAddr">주소록 불러오기</button>
</div>
<div class="btn_popup_wrap">
<button type="button" data-tooltip="popup02" class="btnType btnType7 popupAddrExcel">엑셀 불러오기</button>
</div>
<div class="btn_popup_wrap">
<button type="button" data-tooltip="popup03" class="btnType btnType7 tab1">최근 전송내역</button>
</div>
<div class="btn_popup_wrap">
<button type="button" data-tooltip="popup03" class="btnType btnType7 tab2">자주 보내는 번호</button>
</div>
<div class="btn_popup_wrap check_validity_wrap">
<!-- <button type="button" class="btnType btnType7 check_validity">오류 검사 <i class="qmMark"></i></button> -->
<div class="error_hover_cont send_hover_cont">
<p>휴대폰 번호 입력 시 해당 휴대폰 번호에 대한 형식이 어긋나거나 휴대폰 번호에 오류가 있는지 등을 검사하는 기능</p>
<span>(예시) 010-1234-0001(O) / 010-123-0001(X)</span>
</div>
</div>
</div>
</div>
<div class="list_bottom clearfix">
<div class="remove_btnWrap">
<button type="button" class="btnType15 all_del"><i class="remove_img"></i>전체삭제</button>
<button type="button" class="btnType15 select_del"><i class="remove_img"></i>선택삭제</button>
</div>
<div class="list_bottom_right">
<p>총 <span class="c_e40000" id="rowTotCnt">0</span>건 / 중복 <span class="c_002c9a" id="rowDupCnt">0</span>건</p>
</div>
</div>
</div>
</td>
</tr>
<tr>
<th colspan="2">
<div class="final_wrap">
<div class="final_pay_wrap">
<div class="final_pay">
<div class="pay_info_list">
<p>발송금액 :</p>
</div>
<p class="price"><span id="repPriceTxt"></span><span id="totalPriceTxt">0</span> 원<span></span></p>
</div>
<div class="pay_type clearfix">
<fmt:formatNumber type="number" maxFractionDigits="3" value="${userMoney}" var="commaPrice" />
<div>
<input type="radio" id="radio_bill_1" name="radio_bill" checked="checked">
<label for="radio_bill_1">보유잔액</label>
<label for="userMoney" class="label">보유잔액</label>
<input type="text" id="userMoney" name="userMoney" value="<c:out value='${commaPrice}'/>" readonly>
<span class="won">원</span>
<button type="button" class="btnType btnType21" onclick="location.href='/web/member/pay/PayView.do'">충전</button>
</div>
<div><button type="button" id="sendBtn" class="btnType btnType11">발송하기</button></div>
</div>
</div>
</div>
</th>
</tr>
</tbody>
</table>
</div>
<!-- send left 팩스 보내기 입력 끝-->
<!-- send right 팩스 보내기 안내 -->
<div class="send_info_fax">
<p class="fax_title"><i></i>팩스 광고 필수 표시 의무사항</p>
<div class="fax_content">
<img src="/publish/images/content/fax_ex.png" alt="<팩스광고 예시> (광고)○○○샵 전화번호 02-123-4567 주소 경기도 남양주시 다산순환로 20 대량 팩스발송은 여기서 쉽고 빠르게 한번에! 신규회원 첫 결제 ★☆할인 및 적립 이벤트!!☆★ 기간) 20XX.01.01 ~ 20XX.12~31 (광고) 팩스 수신을 원하지않을 경우 080-1234-5678">
<ul>
<li>
<p class="num_title">01</p>
<p>
<b>팩스 시작 부분에 (광고) 문구 표기</b>
(광/고), (광 고), [광고], (00광고) 등과 같이 변칙 표기 금지
<span class="fs14 c_e40000">※ 팩스 본문에 전송자 명칭, 전자우편주소, 전화번호, 주소 등 연락처 표기</span>
</p>
</li>
<li>
<p class="num_title">02</p>
<p>
<b>최대 글자의 1/3 이상의 크기로 무료거부 080번호 표기</b>
수신거부, 수신동의 철회방식을 최대 글자 3분의1 크기 이상으로 표기, 또한 수신자가 비용을 부담하지 아니한다는 것 안내
<span class="fs14 c_e40000">※ 팩스 무료거부 080번호는 별도로 운영 관리</span>
<span class="fs14 c_e40000">※ 수신거부를 받은 경우 14일 이내 처리 통지</span>
</p>
</li>
<li>
<p class="num_title">03</p>
<p>
<b>광고팩스 전송시간 : 08:00~21:00</b>
<span class="fs14 c_e40000">※21:00 이후 광고팩스 전송 불가</span>
</p>
</li>
<li>
<a href="https://www.law.go.kr/LSW/lsInfoP.do?lsId=000030&ancYnChk=0#0000" target="_blank"><i></i>
<p>정보통신망 이용촉진 및 정보보호 등에 관한 법률 전문보기(시행 2024.8.14)</p>
</a>
<a href="/download/msg/K003_불법스팸_방지_안내서_제6차_개정판(수정_2024년).pdf" download="K003_불법스팸_방지_안내서_제6차_개정판(수정_2024년).pdf"><i></i>
<p>불법 스팸방지를 위한 정보통신망법 안내서(2024.3)</p>
</a>
</li>
</ul>
</div>
</div>
<!-- send right 팩스 보내기 안내 끝-->
</div>
</div><!--// tab content1 -->
</div>
</div><!--// send top -->
<!-- send bottom -->
</div>
<form id="msgResendForm" name="msgResendForm" method="post">
<input name="msgResendFlag" type="hidden" value="N"/>
<input name="msgSeqList" type="hidden" value=""/>
</form>
<form id="moveAddrForm" name="moveAddrForm" method="post">
<input name="moveAddrFlag" type="hidden" value="N"/>
<input name="addrIdList" type="hidden" value=""/>
</form>
</div>
<%--
====================================================================
= 레이어 팝엽 시작 =
====================================================================
--%>
<!-- 주소록 불러오기 -->
<div class="tooltip-wrap">
<div class="popup-com import_layer popup06 adr_call_popup" tabindex="0" data-tooltip-con="popup06" data-focus="popup06" data-focus-prev="popup06-close" style="width: 1000px;z-index:98">
<div class="popup_heading">
<p><span>주소록 불러오기</p>
<button type="button" onClick="javascript:addrToList_close(); return false;">
<img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button>
</div>
<div class="layer_in">
<div class="titBox titBox_pad">
<p>- 주소록 수정 및 변경은 <span>[주소록 관리]</span>에서만 가능합니다.</p>
<button type="button" class="adr_admin" onClick="location.href='/web/mjon/fax/addr/selectFaxAddrList.do'">주소록 관리</button>
</div>
<div class="adr_wrap">
<form id="searchAddrGrpForm" name="searchAddrGrpForm" method="post" style="display: flex; justify-content: space-between;">
<input type="hidden" id="searchAddrGrpId" name="searchAddrGrpId" value=""/>
<input type="hidden" id="type" name="type" value="all"/>
<input type="hidden" id="searchKeyword" name="searchKeyword" value=""/>
<input type="hidden" name="searchCondition" id="searchCondition" value="0" />
<div class="adr_pop_left">
<div class="adr_left_search">
<label for="searchKeyword" class="label">그룹명 검색</label>
<input type="text" name="searchGrpKeyword" id="searchGrpKeyword" placeholder="그룹명 검색" onfocus="this.placeholder=''" onblur="this.placeholder='그룹명 검색'" class="inputLight">
<button type="button" onClick="javascrit:fnAddrGrpSearch(); return false;"><img src="/publish/images/popup/search.png" alt="검색"></button>
</div>
<div class="adr_pop_box">
<div id="addrGroupLoad">
</div>
</div>
</div>
<div class="adr_pop_right">
<div class="clearfix">
<div class="btnWrap_last">
<label for="searchAddrCondition" class="label">카테고리 선택</label>
<select id="searchAddrCondition" name="searchAddrCondition" class="selType2">
<option value='0'>전체</option>
<option value='1'>그룹명</option>
<option value='2'>이름</option>
<option value='3'>수신자번호</option>
</select>
<label for="searchAddrKeyword" class="label">검색어 입력</label>
<input type="text" id="searchAddrKeyword" name="searchAddrKeyword" placeholder="검색어를 입력하세요" onfocus="this.placeholder=''" onblur="this.placeholder='검색어를 입력하세요'" >
<button type="button" class="btnType btnType17" onClick="javascrit:fnAddrSearch(); return false;">검색</button>
</div>
<!-- table -->
<div class="adr_excel adr_pop_list2 callAddr_box">
</div>
<!--// table -->
</div>
<div class="popup_btn_wrap2">
<button type="button" onClick="javascript:addrToList_advc('all'); return false;">전체추가</button>
<button type="button" onClick="javascript:addrToList_advc('select'); return false;">선택추가</button>
<button type="button" onClick="javascript:addrToList_close(); return false;">닫기</button>
</div>
<%-- 주소록 레이어 팝업 닫기 실행 코드 --%>
<input type="hidden" name="btnAddrClose" id="btnAddrClose" class="tooltip-close closeAddr" data-focus="popup06-close" />
</div>
</form>
</div>
</div>
</div>
</div>
<!--// 주소록 불러오기 -->
<!-- 엑셀 불러오기 -->
<div class="tooltip-wrap">
<div class="popup-com adr_layer popup02" tabindex="0" data-tooltip-con="popup02" data-focus="popup02" data-focus-prev="popup02-close" style="width: 1000px;">
<div class="tooltip-wrap">
<div class="popup-com adr_layer adr_popup14 adr_detail_result" tabindex="0" data-tooltip-con="adr_popup14" data-focus="adr_popup14" data-focus-prev="adr_popu14-close" style="width: 525px;">
<div class="popup_heading">
<p>주소록 상세 결과</p>
<button type="button" class="tooltip-close" data-focus="adr_popup14-close"><img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button>
</div>
<div class="layer_in" style="padding:30px 20px;">
<div class="table_top">
<p>
총 <span class="c_e40000" id="errorPopTotCnt">0</span>건
/ 중복 <span class="c_002c9a" id="errorPopDupCnt">0</span>건
/ 오류 <span class="c_002c9a" id="errorPopErrorCnt">0</span>건</p>
<button type="button" class="excel_btn btnType" id="errorExcelBtn"><i class="downroad"></i>엑셀 다운로드</button>
</div>
<div class="tb_wrap adr_list" id="tabulator_error">
<!-- $tableError 참고 -->
</div>
<ul class="cf_text_ul">
<li>*중복번호는 하나의 번호만 등록됩니다.</li>
<li>*팩스번호 형식에 맞지 않는 데이터는 삭제 후 업로드 됩니다.</li>
<li>ex) 발송불가 특수문자, 자릿수 오류 등</li>
</ul>
<div class="popup_btn_wrap2">
<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 execl_upload_layer" style="padding: 25px 30px;">
<!-- 엑셀입력 -->
<div class="popCont current pop_more_cont" id="popCont_1">
<div class="titBox">
<p>- 주소록은 한 번에 최대 30만건까지 등록(EXCEL파일, 최대용량 20MB) 가능합니다.</p>
<p>- 엑셀 파일에 비밀번호 설정, 제한된 보기, 수식 등이 설정되어 있는 경우 업로드가 불가합니다.</p>
<p>- 구분선(|), 역슬래시(\, ₩), 큰따옴표("), 이모지(이모티콘) 등 발송불가 특수문자는 저장되지 않습니다.</p>
<p>- 이름 200byte, 메모 250byte까지 입력 가능합니다.</p>
<p>- 팩스 번호는 지역번호(02, 031, 033 등), 타사부가번호(030*, 050*, 060, 070, 080, 1**)로 시작하는 번호만 발송 가능합니다. </p>
<p>- 주소록 등록이 어려우신 경우에는 <a href="<c:url value='/web/mjon/addragency/selectAddrAgencyList.do'/>" style="font-weight: bold; color: blue;">주소록 입력대행</a> 메뉴를 이용하실 수 있습니다. </p>
</div>
<div class="pop_more_wrap">
<button type="button" class="pop_more" onclick="popMore(this);">더보기<i></i></button>
</div>
</div>
<!--// 엑셀입력 -->
<!-- 공통 -->
<div>
<table class="layer_tType1">
<caption>엑셀입력 표</caption>
<colgroup>
<col style="width: 95px">
<col style="width: auto">
</colgroup>
<tbody>
<tr>
<td colspan="2" style="padding:10px 0;">
<div class="file_upload_wrap" style="width:100%;display:flex;">
<div class="file_add exel_upload_area">
<p><img src="/publish/images/content/file_add.png" alt="파일 붙여넣기">마우스로 엑셀파일을 여기에 끌어다 놓으세요</p>
</div>
<input type="file" id="excelFile" accept=".xls, .xlsx" style="display:none"/>
<button type="button" class="excel_btn2 btnType c3"><i class="uproad"></i>엑셀파일 업로드</button>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="excel_middle2">
<p>
총 <span class="c_e40000 fwBold" id="excelRowTotCnt">0</span>건
/ 중복 <span class="c_002c9a fwBold" id="excelRowDupCnt">0</span>건
/ 오류 <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>
</div>
<div class="adr_excel" style="margin-top: 10px; overflow-x:auto;">
<!-- thead -->
<div class="adr_hd select_adr_hd msg" data-group="tableExcel">
<div style="width: 40px;"></div>
<div style="width: 100px;"></div>
<div style="width: 400px;">
<label for="" class="label"></label>
<select class="field-selector">
<option value="">선택하기</option>
<option value="addrNm">이름</option>
<option value="addrFaxNo">팩스번호</option>
</select>
</div>
<div style="width: 400px;">
<label for="" class="label"></label>
<select class="field-selector">
<option value="">선택하기</option>
<option value="addrNm">이름</option>
<option value="addrFaxNo">팩스번호</option>
</select>
</div>
</div>
</div>
<div class="drag_drop_wrap callList_includ_box" id="tabulator_excel"></div>
<div class="excel_middle">
<div class="select_btnWrap clearfix">
<div>
<button type="button" id="allDel"><i class="remove_img"></i>전체삭제</button>
<button type="button" id="in_select_del"><i class="remove_img"></i>선택삭제</button>
</div>
</div>
</div>
<!--// 공통 -->
<div class="popup_btn_wrap2">
<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>
</div>
</div>
<!--// 엑셀 불러오기 -->
<!--// 전송내역 팝업 시작-->
<div class="tooltip-wrap">
<div class="popup-com history_layer popup03" tabindex="0" data-tooltip-con="popup03" data-focus="popup03" data-focus-prev="popup03-close">
<div class="popup_heading">
<p><span>전송내역</p>
<button type="button" class="tooltip-close" data-focus="popup03-close" id="btnLatestAddPhoneClose"><img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button>
</div>
<div class="layer_in">
<!-- tab button -->
<ul class="tabType6">
<li class="tab active"><button type="button" onclick="TabType(this,'1');">최근 전송내역</button></li>
<li class="tab"><button type="button" onclick="TabType(this,'2');">자주보내는 번호</button></li>
</ul><!--// tab button -->
<!-- 최근 전송내역 -->
<div class="history_cont hascont current">
<div class="histroy_trans latestMsgArea" id="latestMsgArea">
<ul id="latestMsgUl">
<c:choose>
<c:when test="${not empty resultLatestMsgList}">
<c:forEach var="latestMsgList" items="${resultLatestMsgList}" varStatus="status">
<li id="latestLi">
<input type="checkbox" id="addrChk_${status.count}" name="latAddrChk" value="<c:out value='${latestMsgList.callTo}'/>">
<label for="addrChk_${status.count}" class="label">최근 전송내역</label>
<p><c:out value="${latestMsgList.callTo}"/></p>
<button type="button" id="latestAddrDel"><img src="/publish/images/popup/close3.png" alt="전화번호 삭제"></button>
</li>
</c:forEach>
</c:when>
<c:otherwise>
<li>
<p>최근 발송 내역이 없습니다.</p>
</li>
</c:otherwise>
</c:choose>
</ul>
</div>
<div class="popup_btn_wrap2 hisroy_btn">
<button type="button" id="latestAddPhone">선택추가</button>
<button type="button" id="latestCancelPhone">선택취소</button>
</div>
</div><!--// 최근 전송내역 -->
<!-- 자주보내는 번호 -->
<div class="history_cont hascont">
<div class="histroy_trans" id="bookMarkMsgArea">
<ul id="bookMsgUl">
<c:choose>
<c:when test="${not empty resultBookMarkMsgList}">
<c:forEach var="bookMarkMsgList" items="${resultBookMarkMsgList}" varStatus="status">
<li id="bookMarkLi">
<input type="checkbox" id="bokAddrChk_${status.count}" name="bookAddrChk" value="<c:out value='${bookMarkMsgList.addrPhoneNo}'/>">
<label for="addrChk_${status.count}" class="label">최근 전송내역</label>
<p><c:out value="${bookMarkMsgList.addrPhoneNo}"/></p>
<button type="button" id="bookMarkAddrDel"><img src="/publish/images/popup/close3.png" alt="전화번호 삭제"></button>
</li>
</c:forEach>
</c:when>
<c:otherwise>
<li>
<p>등록된 자주 보내는 번호 내역이 없습니다.</p>
</li>
</c:otherwise>
</c:choose>
</ul>
</div>
<div class="popup_btn_wrap2 hisroy_btn">
<button type="button" id="bookMarkAddPhone">선택추가</button>
<button type="button" id="bookMarkCancelPhone">선택취소</button>
</div>
</div><!--// 자주보내는 번호 -->
</div>
</div>
</div>
<!--// 전송내역 팝업 -->
<!-- 팩스 전송 결과 -->
<div class="tooltip-wrap">
<!-- 문자발송 성공 레이어팝업 -->
<div class="popup-com pop_msg_success">
<div class="popup_heading">
<p>문자 전송 결과</p>
</div>
<div class="layer_in">
<div class="msg_text">
</div>
</div>
<div class="popup_btn">
<button type="button" onclick="goPage(); return false;">팩스 발송결과 바로가기</button>
<button type="button" class="tooltip-close" onclick="window.location.reload()">확인</button>
</div>
</div>
</div>
<!-- //팩스 전송 결과 -->
<%--
====================================================================
= 레이어 팝엽 끝 =
====================================================================
--%>