File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
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; z-index:125;">
<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>
<!-- //팩스 전송 결과 -->
<%--
====================================================================
= 레이어 팝엽 끝 =
====================================================================
--%>