710 lines
29 KiB
Plaintext
710 lines
29 KiB
Plaintext
<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
|
<%@ page import="itn.com.cmm.LoginVO" %>
|
|
<script src="/publish/js/content.js"></script>
|
|
<script src="/publish/js/popupLayer.js"></script>
|
|
|
|
<script type="text/javascript">
|
|
|
|
var lastfulstday = ""; //전월 시작일
|
|
var lastfuledday = ""; //전월 마지막일
|
|
var thisfulstlday = ""; //당월 시작일
|
|
var thisfuledtlday = ""; //당원 마지막일
|
|
var threefulstday = ""; //3개월전 시작일
|
|
var threefuledday = ""; //3개월전 마지막일
|
|
|
|
$(document).ready(function(){
|
|
|
|
//초기 전체 리스트 페이지 보여주기
|
|
linkPage(1);
|
|
|
|
var date = new Date() ;
|
|
//이전달 첫날/마지막날 조회
|
|
if(date.getMonth()+1 == 1){
|
|
lastfulstday = date.getFullYear()-1 + "/12" + "/01";
|
|
lastfuledday = date.getFullYear()-1 + "/12" + "/"+new Date(date.getFullYear()-1, 12, 0);
|
|
}else{
|
|
lastfulstday = date.getFullYear() + "/" ;
|
|
lastfulstday += date.getMonth() < 10 ? "0"+ (date.getMonth()) : date.getMonth()+"" ;
|
|
lastfuledday = lastfulstday + "/"+ new Date(date.getFullYear(), date.getMonth(), 0).getDate()+"" ;
|
|
lastfulstday += "/01" ;
|
|
}
|
|
|
|
//당월 첫날/마지막날 조회
|
|
thisfulstlday = date.getFullYear() + "/" ;
|
|
thisfulstlday += date.getMonth()+1 < 10 ? "0"+ (date.getMonth()+1) : date.getMonth()+1+"" ;
|
|
thisfuledtlday = thisfulstlday + "/"+ new Date(date.getFullYear(), date.getMonth()+1, 0).getDate()+"";
|
|
thisfulstlday += "/01" ;
|
|
|
|
//3개월 이전 날짜 구해오기
|
|
threefulstday = prevMonth(3);
|
|
threefuledday = today();
|
|
|
|
/* 목록 정렬 항목 아이콘 표시 */
|
|
var searchSortCnd = $("[name='searchSortCnd']").val();
|
|
var searchSortOrd = $("[name='searchSortOrd']").val();
|
|
|
|
if (searchSortCnd != "" && searchSortOrd != "" && searchSortCnd != undefined && searchSortOrd != undefined) {
|
|
var $sort_div = $("#sort_"+ searchSortCnd);
|
|
var sortClass = 'sortBtn' ;
|
|
|
|
if (searchSortOrd == "desc") sortClass = "sortBtnDesc";
|
|
|
|
$sort_div.replaceClass('sortBtn' , sortClass) ;
|
|
$sort_div.attr("sortOrd", searchSortOrd);
|
|
}
|
|
|
|
// 정렬 항목 이벤트
|
|
$(document).on('click', '.sort', function (){
|
|
listSortOrd(this);
|
|
});
|
|
|
|
//목록 정렬 항목 클릭
|
|
function listSortOrd(obj){
|
|
var sortOrd = $(obj).attr("sortOrd");
|
|
var sortCnd = $(obj).attr("id");
|
|
|
|
$("[name='searchSortCnd']").val(sortCnd.substring(5)); // 구분자 제거
|
|
if (sortOrd == "desc") $("[name='searchSortOrd']").val("asc");
|
|
else $("[name='searchSortOrd']").val("desc");
|
|
|
|
linkPage('1'); //각 JSP마다 다를때 메소드 정의해 줘야됨
|
|
}
|
|
|
|
|
|
//전체선택 실행
|
|
var allChkSts = false;
|
|
$("#allCheck").click(function(){
|
|
|
|
if(!allChkSts){// 전체선택이 해제되어 있을 경우
|
|
|
|
$("input[name=resvMsgDel]").prop("checked", true);
|
|
allChkSts = true;
|
|
|
|
}else{
|
|
|
|
$("input[name=resvMsgDel]").prop("checked", false);
|
|
allChkSts = false;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
$(document).on('change','#pageUnit', function(){
|
|
|
|
linkPage(1);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
//오늘날짜 구하기
|
|
function today() {
|
|
var d = new Date();
|
|
return getDateStr(d);
|
|
}
|
|
|
|
//이전 날짜 구하기
|
|
function prevDay(days) {
|
|
var d = new Date();
|
|
var dayOfMonth = d.getDate();
|
|
d.setDate(dayOfMonth - days);
|
|
return getDateStr(d);
|
|
}
|
|
|
|
//이전 월 구하기
|
|
function prevMonth(month) {
|
|
var d = new Date();
|
|
var monthOfYear = d.getMonth();
|
|
d.setMonth(monthOfYear - month);
|
|
return getDateStr(d);
|
|
}
|
|
|
|
//날짜 받아오기
|
|
function getDateStr(myDate){
|
|
var year = myDate.getFullYear();
|
|
var month = ("0"+(myDate.getMonth()+1)).slice(-2);
|
|
var day = ("0"+myDate.getDate()).slice(-2);
|
|
return ( year + '/' + month + '/' + day );
|
|
}
|
|
|
|
//캘린더에 날짜 입력해 주기
|
|
function setCalVal(val,targetObj){
|
|
$('input[name='+targetObj+']').val(val) ;
|
|
}
|
|
|
|
|
|
//검색 버튼 실행
|
|
function linkPage(pageNo){
|
|
|
|
var form = document.searchForm;
|
|
var stateType = form.stateType.value;
|
|
form.pageIndex.value = pageNo;
|
|
|
|
var sendData = $(document.searchForm).serializeArray();
|
|
$(".resvMsgAllLoad").html('<div class="list_info"><table class="tType4"><tbody><tr><td colspan="12">LOADING...1</td></tr></tbody></table></div>');
|
|
$(".resvMsgAllLoad").load("/web/mjon/reservmsg/selectReservMsgListViewAjax.do", sendData ,function(response, status, xhr){
|
|
});
|
|
|
|
}
|
|
|
|
//선택 삭제 실행
|
|
function fnDelete(){
|
|
|
|
var msgId = [];
|
|
if($("input:checkbox[name='resvMsgDel']").is(":checked")==false){
|
|
alert("선택된 항목이 없습니다.");
|
|
return;
|
|
}
|
|
|
|
$("input:checkbox[name='resvMsgDel']:checked").each(function(index){
|
|
|
|
var disabledChk = $(this).prop('disabled');
|
|
if(!disabledChk){ //checkbox disabled 인 것은 제외하고 아이디 저장
|
|
|
|
msgId[index] = $(this).val();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
if(msgId.length > 0){
|
|
|
|
//22.04.25 구글 독스 alert 기준으로 이지우가 수정
|
|
/* if(confirm("선택한 예약문자를 삭제하시겠습니까? 삭제된 문자는 복구가 불가능 합니다.")){ */
|
|
if(confirm("선택한 목록을 삭제하시겠습니까?")){
|
|
|
|
document.searchForm.msgGroupIdList.value = msgId;
|
|
var sendData = $(document.searchForm).serializeArray();
|
|
|
|
$(".resvMsgAllLoad").load("/web/mjon/reservmsg/deleteReservMsgDataAjax.do", sendData ,function(response, status, xhr){
|
|
location.reload(true);
|
|
});
|
|
|
|
}
|
|
|
|
}else{
|
|
|
|
alert("삭제할 문자를 선택해 주세요.");
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//상세보기 버튼 실행
|
|
function fnRevDetailPop(msgGroupId, fileCnt){
|
|
|
|
document.resPopForm.msgGroupId.value = msgGroupId;
|
|
var sendData = $(document.resPopForm).serializeArray();
|
|
|
|
$("#resvMsgDetailPopLoad").load("/web/mjon/reservmsg/selectReservMsgDetailDataAjax.do", sendData ,function(response, status, xhr){
|
|
});
|
|
|
|
}
|
|
|
|
function fnListLoad(pageType, tabNum){
|
|
|
|
var form = document.searchForm;
|
|
var $tab = $(".table_tab_wrap li").eq(tabNum); //
|
|
$tab.addClass("active");
|
|
$tab.find("button").attr("title", "선택됨");
|
|
$tab.siblings("li.tab").removeClass("active");
|
|
$tab.siblings("li.btn_tab").removeClass("active");
|
|
$tab.siblings("li.tab").find("button").removeAttr("title");
|
|
|
|
if(pageType == 'all'){
|
|
|
|
form.stateType.value = "all";
|
|
linkPage(1);
|
|
|
|
}else if(pageType == 'ready'){
|
|
|
|
form.stateType.value = "ready";
|
|
linkPage(1);
|
|
|
|
}else if(pageType == 'complete'){
|
|
|
|
form.stateType.value = "complete";
|
|
linkPage(1);
|
|
|
|
}else if(pageType == 'cancel'){
|
|
|
|
form.stateType.value = "cancel";
|
|
linkPage(1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// 전체/단문/장문/그림 탭 선택 처리
|
|
function fnTabLoad(tabType, tabNum){
|
|
|
|
var form = document.searchForm;
|
|
|
|
form.tabType.value = tabType;
|
|
|
|
//해당 탭의 전체 리스트 내역으로 불러오기
|
|
fnListLoad('all', '0');
|
|
var n=tabNum+1;
|
|
|
|
//탭 선택 CSS 처리
|
|
var $tab = $(".list_tab_wrap2 li:nth-child("+n+")");
|
|
var $tabPrev = $(".list_tab_wrap2 li:nth-child("+n+")").prev("li")
|
|
$tab.addClass("active");
|
|
$tab.find("button").attr("title", "선택됨");
|
|
$tab.siblings("li.tab").removeClass("active");
|
|
$tab.siblings("li.tab").find("button").removeAttr("title");
|
|
|
|
$tab.siblings("li:not(li:last-child)").find("button").css("border-right","1px solid #e5e5e5");
|
|
$tabPrev.find("button").css("border-right","0");
|
|
|
|
console.log('a');
|
|
}
|
|
|
|
function fnSearch(pageNo){
|
|
|
|
var form = document.searchForm;
|
|
|
|
form.pageIndex.value = pageNo ;
|
|
|
|
|
|
form.action="/web/mjon/reservmsg/selectReservMsgView.do";
|
|
form.submit();
|
|
|
|
}
|
|
|
|
function fnReservCancel(msgGroupId, agentCode, msgType){
|
|
|
|
var form = document.resCancelForm;
|
|
var loginVO = '${LoginVO}';
|
|
|
|
form.msgGroupId.value = msgGroupId;
|
|
form.agentCode.value = agentCode;
|
|
form.msgType.value = msgType;
|
|
|
|
if(loginVO == "" || loginVO == null){
|
|
|
|
alert("로그인 후 이용이 가능합니다.");
|
|
return false;
|
|
|
|
}
|
|
|
|
var data = new FormData(form);
|
|
url = "/web/mjon/reservmsg/deleteReservMsgCancelDataAjax.do";
|
|
|
|
if(confirm("정말 예약을 취소하시겠습니까?")){
|
|
|
|
$.ajax({
|
|
type: "POST",
|
|
url: url,
|
|
data: data,
|
|
dataType:'json',
|
|
async: false,
|
|
processData: false,
|
|
contentType: false,
|
|
cache: false,
|
|
success: function (returnData, status) {
|
|
if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나
|
|
if("fail"==returnData.result){
|
|
|
|
alert(returnData.message);
|
|
return false;
|
|
}
|
|
|
|
var smsCnt = returnData.resultSts;
|
|
|
|
alert("예약 발송이 정상적으로 취소 되었습니다.");
|
|
|
|
//예약 관리 리스트 다시 불러오기
|
|
//linkPage(1);
|
|
//현황도 갱신 필요하여 새로고침으로 변경
|
|
location.reload(true);
|
|
|
|
} else if(status== 'fail'){
|
|
alert(returnData.message);
|
|
}
|
|
},
|
|
error: function (e) { alert("예약 취소에 실패하였습니다."); console.log("ERROR : ", e); }
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
function fnExcelDownLoad(pageType, tabType){
|
|
|
|
var form = document.searchForm;
|
|
var loginVO = '${LoginVO}';
|
|
|
|
form.stateType.value = pageType;
|
|
form.tabType.value = tabType;
|
|
|
|
if(loginVO == "" || loginVO == null){
|
|
|
|
alert("로그인 후 이용이 가능합니다.");
|
|
return false;
|
|
|
|
}
|
|
|
|
if(confirm("엑셀 다운로드를 하시겠습니까?")){
|
|
|
|
form.action="/web/mjon/reservmsg/reservMsgExcelDownLoadAjax.do";
|
|
form.submit();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/* 사용내역서 클릭 시 내역서 새창 팝업 오픈 */
|
|
function fnShowPrintPopup() {
|
|
//만들려는 팝업의 크기
|
|
var popup_wid = '840';
|
|
var popup_ht = '900';
|
|
|
|
var popup_left = (window.screen.width/2)-(popup_wid/2);
|
|
var popup_top =(window.screen.height/2)-(popup_ht/2);
|
|
|
|
$("#searchForm").attr("target","reservMsgPrint");
|
|
|
|
window.open('', 'reservMsgPrint', 'width='+ popup_wid +', height='+ popup_ht +', left=' + popup_left + ', top='+ popup_top +',scrollbars=1');
|
|
$("#searchForm").attr({"action":"/web/mjon/reservmsg/printReservMsgDataAjax.do", "method":"post"}).submit();
|
|
|
|
}
|
|
|
|
/* 윈도우팝업 열기 */
|
|
function infoPop(pageUrl){
|
|
document.popForm.pageType.value = pageUrl;
|
|
document.popForm.action = "/web/pop/infoPop.do";
|
|
document.popForm.method = "post";
|
|
window.open("about:blank", 'infoPop', 'width=790, height=330, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=1');
|
|
document.popForm.target = "infoPop";
|
|
document.popForm.submit();
|
|
}
|
|
</script>
|
|
<!-- 문자내용 팝업 data-tooltip: rev_popup01 -->
|
|
<div class="tooltip-wrap">
|
|
<div class="popup-com adr_layer rev_popup01" tabindex="0" data-tooltip-con="rev_popup01" data-focus="rev_popup01" data-focus-prev="rev_popup01-close" style="width: 440px;">
|
|
<div class="popup_heading">
|
|
<p>문자내용</p>
|
|
<button type="button" class="tooltip-close" data-focus="rev_popup01-close"><img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button>
|
|
</div>
|
|
<div class="layer_in" id="resvMsgDetailPopLoad">
|
|
<div class="popup_btn_wrap2" style="justify-content: center;">
|
|
<button type="button" class="tooltip-close" data-focus="rev_popup01-close" data-focus-next="rev_popup01">닫기</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div><!--// 문자내용 팝업 -->
|
|
<div class="inner">
|
|
<!-- send top -->
|
|
<div class="send_top">
|
|
<!-- 결제관리 - 요금 사용내역 -->
|
|
<div class="rev_admin_cont serv_content current">
|
|
<div class="heading">
|
|
<h2>예약관리</h2>
|
|
<button type="button" class="button info" onclick="infoPop('selectReservMsgView');">사용안내</button>
|
|
</div>
|
|
<!-- tab button -->
|
|
<div class="pay_tab_wrap">
|
|
<%@include file="/WEB-INF/jsp/web/kakao/include/KakaoReservTopMentTap.jsp" %>
|
|
</div>
|
|
<!--// tab button -->
|
|
<%--<div class="titBox">
|
|
<p>- 최근 3개월간 예약된 메시지를 확인할 수 있으며, 이후 내역은 자동 삭제됩니다.</p>
|
|
<p>- 예약문자는 수정 가능하며, 예약 발송시간 5분전까지만 취소·삭제 가능합니다.</p>
|
|
<p>- 취소·삭제된 메시지는 복구가 불가하며, 취소·삭제된 건에 대한 금액은 자동 재적립됩니다.</p>
|
|
<p>- 단문문자는 최대 26시간, 장문 및 그림문자는 최대 49시간까지 결과값이 수신되지 않을 경우 실패(비과금) 처리됩니다.</p>
|
|
<p>- 이동통신사 또는 수신자의 사정으로 전송이 지연된 경우 전송결과가 늦게 확인될 수 있습니다.</p>
|
|
<p>- 전송 실패 건에 대해서도 재전송이 가능합니다.</p>
|
|
<p>- 야간(21:00~08:00) 예약전송은 별도의 추가 인증을 받아야 전송 가능합니다.</p>
|
|
</div>--%>
|
|
<form id="searchForm" name="searchForm" method="post">
|
|
<input type="hidden" id="pageIndex" name="pageIndex" value="1"/>
|
|
<input type="hidden" id="msgGroupIdList" name="msgGroupIdList" value=""/>
|
|
<input type="hidden" name="searchSortCnd" value="<c:out value="${searchVO.searchSortCnd}" />" />
|
|
<input type="hidden" name="searchSortOrd" value="<c:out value="${searchVO.searchSortOrd}" />" />
|
|
<input type="hidden" id="tabType" name="tabType" value="all"/><!-- 탭 종류 -->
|
|
<input type="hidden" id="stateType" name="stateType" value="all"/><!-- 발송상태 종류 -->
|
|
|
|
|
|
<div class="rev_content" id="tab5_1">
|
|
<div class="rev_admin">
|
|
<div class="rev_admin_in">
|
|
<div class="rev_admin_top clearfix">
|
|
<p>전체</p>
|
|
<c:set var="allTotal" value="${H_allSentCntVO.totCnt + A_allSentCntVO.totCnt }" />
|
|
<p><span><fmt:formatNumber value="${allTotal }" pattern="#,###"/></span> 건</p>
|
|
</div>
|
|
<div class="rev_admin_btm admin_btm">
|
|
<P class="title_top reserve_top">WEB<span class="title_num"><fmt:formatNumber value="${H_allSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
|
|
<dl>
|
|
<dt>대기</dt>
|
|
<dd><span class="c_002c9a"><fmt:formatNumber value="${H_allSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt>성공</dt>
|
|
<dd><span class="c_002c9a"><fmt:formatNumber value="${H_allSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt>실패</dt>
|
|
<dd><span class="c_e40000"><fmt:formatNumber value="${H_allSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt>예약취소</dt>
|
|
<dd><span class="c_e40000"><fmt:formatNumber value="${H_allSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
</div>
|
|
<c:if test="${appMgmt }">
|
|
<div class="rev_admin_btm admin_btm admin_btm_api">
|
|
<P class="title_top reserve_top">API<span class="title_num"><fmt:formatNumber value="${A_allSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
|
|
<dl>
|
|
<dt>대기</dt>
|
|
<dd><span class="c_002c9a"><fmt:formatNumber value="${A_allSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt>성공</dt>
|
|
<dd><span class="c_002c9a"><fmt:formatNumber value="${A_allSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt>실패</dt>
|
|
<dd><span class="c_e40000"><fmt:formatNumber value="${A_allSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt>예약취소</dt>
|
|
<dd><span class="c_e40000"><fmt:formatNumber value="${A_allSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
</div>
|
|
</c:if>
|
|
</div>
|
|
<div class="rev_admin_in">
|
|
<div class="rev_admin_top clearfix">
|
|
<p>단문(SMS)</p>
|
|
<c:set var="smsTotal" value="${H_smsSentCntVO.totCnt + A_smsSentCntVO.totCnt }" />
|
|
<p><span><fmt:formatNumber value="${smsTotal }" pattern="#,###"/></span> 건</p>
|
|
</div>
|
|
<div class="rev_admin_btm admin_btm">
|
|
<P class="title_top reserve_top">WEB<span class="title_num"><fmt:formatNumber value="${H_smsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
|
|
<dl>
|
|
<dt>대기</dt>
|
|
<dd><span class="c_002c9a"><fmt:formatNumber value="${H_smsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt>성공</dt>
|
|
<dd><span class="c_002c9a"><fmt:formatNumber value="${H_smsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt>실패</dt>
|
|
<dd><span class="c_e40000"><fmt:formatNumber value="${H_smsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt>예약취소</dt>
|
|
<dd><span class="c_e40000"><fmt:formatNumber value="${H_smsSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
</div>
|
|
<c:if test="${appMgmt }">
|
|
<div class="rev_admin_btm admin_btm admin_btm_api">
|
|
<P class="title_top reserve_top">API<span class="title_num"><fmt:formatNumber value="${A_smsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
|
|
<dl>
|
|
<dt>대기</dt>
|
|
<dd><span class="c_002c9a"><fmt:formatNumber value="${A_smsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt>성공</dt>
|
|
<dd><span class="c_002c9a"><fmt:formatNumber value="${A_smsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt>실패</dt>
|
|
<dd><span class="c_e40000"><fmt:formatNumber value="${A_smsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt>예약취소</dt>
|
|
<dd><span class="c_e40000"><fmt:formatNumber value="${A_smsSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
</div>
|
|
</c:if>
|
|
</div>
|
|
<div class="rev_admin_in">
|
|
<div class="rev_admin_top clearfix">
|
|
<p>장문(LMS)</p>
|
|
<c:set var="lmsTotal" value="${H_lmsSentCntVO.totCnt + A_lmsSentCntVO.totCnt }" />
|
|
<p><span><fmt:formatNumber value="${lmsTotal }" pattern="#,###"/></span> 건</p>
|
|
</div>
|
|
<div class="rev_admin_btm admin_btm">
|
|
<P class="title_top reserve_top">WEB<span class="title_num"><fmt:formatNumber value="${H_lmsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
|
|
<dl>
|
|
<dt>대기</dt>
|
|
<dd><span class="c_002c9a"><fmt:formatNumber value="${H_lmsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt>성공</dt>
|
|
<dd><span class="c_002c9a"><fmt:formatNumber value="${H_lmsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt>실패</dt>
|
|
<dd><span class="c_e40000"><fmt:formatNumber value="${H_lmsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt>예약취소</dt>
|
|
<dd><span class="c_e40000"><fmt:formatNumber value="${H_lmsSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
</div>
|
|
<c:if test="${appMgmt }">
|
|
<div class="rev_admin_btm admin_btm admin_btm_api">
|
|
<P class="title_top reserve_top">API<span class="title_num"><fmt:formatNumber value="${A_lmsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
|
|
<dl>
|
|
<dt>대기</dt>
|
|
<dd><span class="c_002c9a"><fmt:formatNumber value="${A_lmsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt>성공</dt>
|
|
<dd><span class="c_002c9a"><fmt:formatNumber value="${A_lmsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt>실패</dt>
|
|
<dd><span class="c_e40000"><fmt:formatNumber value="${A_lmsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt>예약취소</dt>
|
|
<dd><span class="c_e40000"><fmt:formatNumber value="${A_lmsSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
</div>
|
|
</c:if>
|
|
</div>
|
|
<div class="rev_admin_in">
|
|
<div class="rev_admin_top clearfix">
|
|
<p>그림(MMS)</p>
|
|
<c:set var="mmsTotal" value="${H_mmsSentCntVO.totCnt + A_mmsSentCntVO.totCnt }" />
|
|
<p><span><fmt:formatNumber value="${mmsTotal }" pattern="#,###"/></span> 건</p>
|
|
</div>
|
|
<div class="rev_admin_btm admin_btm">
|
|
<P class="title_top reserve_top">WEB<span class="title_num"><fmt:formatNumber value="${H_mmsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
|
|
<dl>
|
|
<dt>대기</dt>
|
|
<dd><span class="c_002c9a"><fmt:formatNumber value="${H_mmsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt>성공</dt>
|
|
<dd><span class="c_002c9a"><fmt:formatNumber value="${H_mmsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt>실패</dt>
|
|
<dd><span class="c_e40000"><fmt:formatNumber value="${H_mmsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt>예약취소</dt>
|
|
<dd><span class="c_e40000"><fmt:formatNumber value="${H_mmsSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
</div>
|
|
<c:if test="${appMgmt }">
|
|
<div class="rev_admin_btm admin_btm admin_btm_api">
|
|
<P class="title_top reserve_top">API<span class="title_num"><fmt:formatNumber value="${A_mmsSentCntVO.totCnt}" pattern="#,###"/><span>건</span></span></P>
|
|
<dl>
|
|
<dt>대기</dt>
|
|
<dd><span class="c_002c9a"><fmt:formatNumber value="${A_mmsSentCntVO.waitCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt>성공</dt>
|
|
<dd><span class="c_002c9a"><fmt:formatNumber value="${A_mmsSentCntVO.succCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt>실패</dt>
|
|
<dd><span class="c_e40000"><fmt:formatNumber value="${A_mmsSentCntVO.failCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt>예약취소</dt>
|
|
<dd><span class="c_e40000"><fmt:formatNumber value="${A_mmsSentCntVO.cnclCnt}" pattern="#,###"/></span>건</dd>
|
|
</dl>
|
|
</div>
|
|
</c:if>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="excel_middle">
|
|
<div class="select_btnWrap clearfix">
|
|
<div class="btn_left">
|
|
<span class="cal_label">기간선택</span>
|
|
<div class="calendar_wrap">
|
|
<input type="text" class="startDate inp calendar" title="검색 시작일" id="startDate" name="startDate" value="<c:out value='${mjonResvMsgVO.startDate}'/>" data-datecontrol="true">
|
|
<span class="dateEtc">~</span>
|
|
<input type="text" class="endDate inp calendar" title="검색 종료일" id="endDate" name="endDate" value="<c:out value='${mjonResvMsgVO.endDate}'/>" data-datecontrol="true">
|
|
</div>
|
|
<button type="button" onclick="setCalVal(lastfulstday,'startDate');setCalVal( lastfuledday,'endDate'); return false;" class="btnType btnType19">전월</button>
|
|
<button type="button" onclick="setCalVal(thisfulstlday,'startDate');setCalVal( thisfuledtlday,'endDate'); return false;" class="btnType btnType19">당월</button>
|
|
<button type="button" onclick="setCalVal(threefulstday,'startDate');setCalVal( threefuledday,'endDate'); return false;" class="btnType btnType19">3개월</button>
|
|
<button type="button" class="btnType6" onClick="javascript:fnSearch(1); return false;">조회</button>
|
|
</div>
|
|
<div class="btn_right">
|
|
<c:if test="${appMgmt }">
|
|
<label for="searchCondition_01" class="label">발신방식 == ${mjonResvMsgVO.searchCondition_01}</label>
|
|
<select name="searchCondition_01" id="searchCondition_01" class="selType2 select_all_btn">
|
|
<option value="" <c:if test="${empty mjonResvMsgVO.searchCondition_01 }">selected</c:if> >발송방식 전체</option>
|
|
<option value="H" <c:if test="${mjonResvMsgVO.searchCondition_01 == 'H'}">selected</c:if> >WEB</option>
|
|
<option value="A" <c:if test="${mjonResvMsgVO.searchCondition_01 == 'A'}">selected</c:if> >API</option>
|
|
</select>
|
|
</c:if>
|
|
<label for="searchCondition" class="label">발신번호 선택 == ${mjonResvMsgVO.searchCondition}</label>
|
|
<select name="searchCondition" id="searchCondition" class="selType2 select_btn">
|
|
<%-- <option value="1" <c:if test="${mjonResvMsgVO.searchCondition == '1'}">selected</c:if> >제목</option> --%>
|
|
<option value="2" <c:if test="${mjonResvMsgVO.searchCondition == '2'}">selected</c:if> >발신번호</option>
|
|
</select>
|
|
<div class="search">
|
|
<label for="id" class="label"></label>
|
|
<%-- <input type="text" id="searchKeyword" name="searchKeyword" value="<c:out value='${searchKeyword}'/>" placeholder="검색어를 입력하세요." onfocus="this.placeholder=''" onblur="this.placeholder='검색어를 입력하세요.'"> --%>
|
|
<input type="text" class="send_text" id="searchKeyword" name="searchKeyword" value="<c:out value='${searchKeyword}'/>" placeholder="검색어를 입력하세요." onfocus="this.placeholder=''" onblur="this.placeholder='검색어를 입력하세요.'">
|
|
<button type="button" class="btnType btnType2" onClick="javascript:fnSearch(1); return false;">검색</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="list_tab_wrap2 type4">
|
|
<!-- tab button -->
|
|
<ul class="list_tab">
|
|
<li class="tab active"><button type="button" onclick="fnTabLoad('all',0); return false;">전체</button></li>
|
|
<li class="tab"><button type="button" onclick="fnTabLoad('S',1); return false;">단문(SMS)</button></li>
|
|
<li class="tab"><button type="button" onclick="fnTabLoad('L',2); return false;">장문(LMS)</button></li>
|
|
<li class="tab"><button type="button" onclick="fnTabLoad('M',3); return false;">그림(MMS)</button></li>
|
|
</ul><!--// tab button -->
|
|
</div>
|
|
<!-- 예약관리 > 전체 -->
|
|
<div class="price_history_cont current" id="listTab_2">
|
|
<!-- tab button -->
|
|
<div class="table_tab_wrap">
|
|
<ul>
|
|
<li class="tab active"><button type="button" onclick="fnListLoad('all','0'); return false;">전체</button></li>
|
|
<li class="tab"><button type="button" onclick="fnListLoad('ready','1'); return false;">발송대기</button></li>
|
|
<li class="tab"><button type="button" onclick="fnListLoad('complete','2'); return false;">발송완료</button></li>
|
|
<li class="tab"><button type="button" onclick="fnListLoad('cancel','3'); return false;">예약취소</button></li>
|
|
</ul><!--// tab button -->
|
|
</div>
|
|
<!-- 예약관리 리스트 -->
|
|
<div class="table_cont current resvMsgAllLoad" id="tableCont_1">
|
|
</div><!-- //전체 종료 -->
|
|
<div class="table_cont current resvMsgReadyLoad" id="tableCont_2">
|
|
</div><!-- 발송대기 종료 -->
|
|
<div class="table_cont current resvMsgCompleteLoad" id="tableCont_3">
|
|
</div><!-- 발송완료 종료 -->
|
|
<div class="table_cont current resvMsgCancelLoad" id="tableCont_4">
|
|
</div><!-- 예약 취소 종료 -->
|
|
<!-- table -->
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div><!--// send top -->
|
|
</div>
|
|
<form id="resPopForm" name="resPopForm" method="post">
|
|
<input type="hidden" id="msgGroupId" name="msgGroupId" value=""/>
|
|
<input type="hidden" id="fileCnt" name="fileCnt" value=""/>
|
|
</form>
|
|
<form id="resCancelForm" name="resCancelForm" method="post">
|
|
<input type="hidden" id="msgGroupId" name="msgGroupId" value=""/>
|
|
<input type="hidden" id="agentCode" name="agentCode" value=""/>
|
|
<input type="hidden" id="msgType" name="msgType" value=""/>
|
|
</form>
|
|
<form name="popForm" id="popForm" method="post">
|
|
<input type="hidden" name="pageType" id="pageType" value=""/>
|
|
</form>
|
|
|