mjon_git/src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataView.jsp
2024-12-18 19:35:37 +09:00

407 lines
19 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" %>
<%@ page import="itn.com.cmm.LoginVO" %>
<!-- <script src="/publish/js/content.js"></script> -->
<script type="text/javascript" src="<c:url value='/js/web/msgdata/init.js?date=20241218'/>"></script>
<script type="text/javascript" src="<c:url value='/js/web/msgdata/msgDataView.js?date=20241218'/>"></script>
<script type="text/javascript">
</script>
<div class="progress_bar_wrap">
<div class="progress_box">
<p class="time_text">0%</p>
<div class="bar">
<span class="change_bar"></span>
</div>
</div>
<div class="btn_wrap">
<!-- <button type="button" class="btnType btnType2" style="margin:50px 0;" onclick="progressStart(10,'완료되었습니다.');">시작</button>
<button type="button" class="btnType btnType2" style="margin:50px 0;" onclick="progressComplete('완료되었습니다.');return false;">멈춤</button> -->
</div>
</div>
<div class="tooltip-wrap">
<!-- 문자발송 성공 레이어팝업 -->
<div class="popup-com pop_msg_success">
<div class="popup_heading">
<p>문자 전송 결과</p>
<button type="button" class="tooltip-close" onclick="msgSuccessClose(this);"><img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button>
</div>
<div class="layer_in">
<div class="msg_text">발송 성공 : <strong>1</strong> 건,수신거부 : <span>0</span>건의<br>문자가 발송 되었습니다.</div>
</div>
<div class="popup_btn">
<button type="button" onclick="msgResultLink(); return false;">문자 발송결과 바로가기</button>
<button type="button" class="tooltip-close" onclick="msgSuccessClose(this);">확인</button>
</div>
</div>
</div>
<div class="tooltip-wrap">
<!-- 문자발송 실패 레이어팝업 -->
<div class="popup-com pop_msg_fails">
<div class="popup_heading">
<p>문자 전송 결과</p>
<button type="button" class="tooltip-close" onclick="msgFailsClose(this);"><img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button>
</div>
<div class="layer_in">
<div class="msg_text">발송 성공 : <strong>1</strong> 건,수신거부 : <span>0</span>건의<br>문자가 발송 되었습니다.</div>
</div>
<div class="popup_btn">
<button type="button" class="tooltip-close" onclick="msgFailsClose(this);">확인</button>
</div>
</div>
</div>
<div class="tooltip-wrap">
<!-- 문자발송 스팸 이용정지 레이어팝업 -->
<div class="popup-com pop_msg_spam">
<div class="popup_heading">
<p>문자 전송 결과</p>
<button type="button" class="tooltip-close" onclick="msgSpamClose(this);"><img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button>
</div>
<div class="layer_in">
<div class="msg_text"></div>
</div>
<div class="popup_btn">
<button type="button" class="tooltip-close" onclick="msgSpamClose(this);">확인</button>
</div>
</div>
</div>
<div class="inner">
<!-- send top -->
<div class="send_top">
<!-- tab button -->
<ul class="tabType1">
<li class="tab ${tabDision eq 'tab01' ? 'active' : ''}">
<button type="button" onclick="javascript:fnMsgDataView(); return false;">일반문자</button>
</li>
<li class="tab ${tabDision eq 'tab02' ? 'active' : ''}">
<button type="button" onclick="javascript:fnMsgExcelDataView(); return false;">대량문자(광고문자)</button>
</li>
</ul><!--// tab button -->
<!-- tab content1 -->
<!-- <span id="contentArea"></span> -->
<div class="top_content ${tabDision eq 'tab02' ? 'get_excel' : ''} current contentArea" id="tab1_1" style="min-height: 555px;"></div>
<!-- tab content2 -->
<!-- <span id="contentExcelArea"></span> -->
<!-- <div class="top_content current get_excel contentExcelArea" id="tab1_2"></div> -->
</div><!--// send top -->
<!-- send bottom -->
<div class="send_bottom">
<!-- tab button -->
<ul class="tabType2 selectedTab" id="tabType2" name="tabType2">
<li class="tab active">
<button type="button" class="" onclick="TabType2(this,'1');">문자 샘플</button>
</li>
<li class="tab">
<button type="button" onclick="TabType2(this,'2');">그림문자 샘플</button>
</li>
<li class="tab">
<button type="button" onclick="TabType2(this,'3');">지도/약도 추가</button>
</li>
<li class="tab">
<button type="button" onclick="TabType2(this,'4');">내 문자함</button>
</li>
</ul>
<!--// tab button -->
<!-- tab content1 -->
<form id="letterForm" name="letterForm" method="post">
<input type="hidden" id="letterType" name="letterType" value="<c:out value='${letterVO.letterType}'/>"/>
<input type="hidden" id="memberType" name="memberType" value="<c:out value='${letterVO.memberType}'/>"/>
<input type="hidden" id="categoryCode" name="categoryCode" value="<c:out value='${letterVO.categoryCode}'/>"/>
<input type="hidden" id="hashTag" name="hashTag" value="<c:out value='${letterVO.hashTag}'/>"/>
<input type="hidden" id="pageIndex" name="pageIndex" value="<c:out value='${letterVO.pageIndex}' default='1' /> "/>
<input type="hidden" id="pageUnit" name="pageUnit" value="<c:out value='${letterVO.pageUnit}'/>"/>
<input type="hidden" id="upperCateNo" name="upperCateNo" value=""/>
<div class="search_sample">
<input type="text" id="searchKeyword" name="searchKeyword" value="<c:out value='${letterVO.searchKeyword}'/>" placeholder="문자샘플 검색하기" onfocus="this.placeholder=''" onblur="this.placeholder='문자샘플 검색하기'" maxlength="10">
<button class="btnSearchF"><img src="/publish/images/search02.png" alt=""></button>
</div>
<!-- tab content1 -->
<div class="bottom_content current" id="tab2_1">
<div class="area_tabs">
<div class="top_tab">
<!-- <div class="tab_depth1 tDep1_mType">
<a href="#none" class="on" value="">전체</a>
<a href="#none" value="B">기업</a>
<a href="#none" value="P">개인</a>
<div class="on_active">전체</div>
</div> -->
<div class="tab_depth2 tDep1_letType">
<a href="#none" class="on" value="S">단문문자</a>
<a href="#none" value="L">장문문자</a>
</div>
<select name="LPageUnit" id="LPageUnit" class="selType2" onChange="fnLPageUnit(); return false;">
<option value="10">2줄보기</option>
<option value="20">4줄보기</option>
<option value="30">6줄보기</option>
</select>
<div class="customReq">
<%-- 맞춤제작 요청 JSPark => 2023.02.21 추가 --%>
<%--
<input type="hidden" id="customPopupOpen" data-tooltip="popup01">
<button type="button" onclick="openMsgCustomPopup(); return false;"><i></i>맞춤제작 요청</button>
--%>
<button type="button" onClick="location.href='/web/mjon/custom/selectMsgCustomView.do'"><i></i>맞춤제작 요청</button>
</div>
</div>
<div class="bottom_tab">
<div class="tab_depth3 tDep1_cateCode">
<a href="#none" class="on cateAll" value="">All</a>
<a href="#none" value="best">BEST</a>
<c:forEach var="cateList" items="${cateCodeList}" varStatus="status">
<a href="#none" value="<c:out value='${cateList.cateCode}'/>"><c:out value="${cateList.cateNm}"/></a>
</c:forEach>
</div>
<div class="tab_depth4 tDep1_threeCateCode" id="tDep1_depThrCateCode"> <!-- 해쉬태그 삭제 및 하위 카테고리 추가로 인해 class="tDep1_hashTag" 삭제 -->
<!-- 하위 카테고리(3뎁스)로 대체 -->
<%-- <a href="#none" class="on hashAll" value="">전체</a>
<c:forEach var="hashList" items="${hashTagList}" varStatus="status">
<a href="#none" value="${hashList.hashNm}">#<c:out value="${hashList.hashNm}"/></a>
</c:forEach> --%>
</div>
</div>
</div>
<div id="letterLoad">
</div>
</div><!--// tab content1 -->
<!--// tab content2 -->
<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>
<select name="PhPageUnit" id="PhPageUnit" class="selType2" onChange="fnPhPageUnit(); return false;">
<option value="10">2줄보기</option>
<option value="20">4줄보기</option>
<option value="30">6줄보기</option>
</select>
<div class="customReq">
<%-- 맞춤제작 요청 JSPark => 2023.02.21 추가 --%>
<%--
<input type="hidden" id="customPopupOpen" data-tooltip="popup01">
<button type="button" onclick="openMsgCustomPopup(); return false;"><i></i>맞춤제작 요청</button>
--%>
<button type="button" onClick="location.href='/web/mjon/custom/selectMsgCustomView.do'"><i></i>맞춤제작 요청</button>
</div>
</div>
<div class="bottom_tab">
<div class="tab_depth3 tDep2_cateCode">
<a href="#none" class="on cateAll" value="">All</a>
<a href="#none" value="best">BEST</a>
<c:forEach var="cateList" items="${cateCodeList}" varStatus="status">
<a href="#none" value="<c:out value='${cateList.cateCode}'/>"><c:out value="${cateList.cateNm}"/></a>
</c:forEach>
</div>
<div class="tab_depth4 tDep2_threeCateCode" id="tDep2_depThrCateCode"><!-- 해쉬태그 삭제 및 하위 카테고리 추가로 인해 class="tDep2_hashTag" 삭제 -->
<!-- 하위 카테고리(3뎁스)로 대체 -->
<%-- <a href="#none" class="on hashAll" value="">전체</a>
<c:forEach var="hashList" items="${hashTagList}" varStatus="status">
<a href="#none" value="${hashList.hashNm}">#<c:out value="${hashList.hashNm}"/></a>
</c:forEach> --%>
</div>
</div>
</div>
<div id="photoLoad">
</div>
<!-- pagination -->
</div><!--// tab content2 -->
</form>
<!--tab content3 -->
<div class="bottom_content" id="tab2_3">
<div class="map_search">
<label for="" class="label"></label>
<div class="mapWrap">
<script src="//t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js"></script>
<script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=7fc7b80a3e32ac964da92f6aa3d6000d&libraries=services"></script>
<input type="text" id="sample5_address" placeholder="도로명 또는 지번을 입력해주세요." onfocus="this.placeholder=''" onblur="this.placeholder='도로명 또는 지번을 입력해주세요.'">
<button type="button" class="btnType map_check" onclick="sample5_execDaumPostcode()">확인</button>
<button type="button" class="btnType map_add" onclick="insertajax();">약도링크 추가</button>
<p><span class="vMiddle">*</span> 지도링크는 입력메시지 끝부분에 추가됩니다.</p>
<div id="map" style="width:100%;height:450px; margin-top: 10px;">&nbsp;</div>
<div class="mapInfo">
</div>
</div>
</div>
<script>
var mapContainer = document.getElementById('map'), // 지도를 표시할 div
mapOption = {
center: new daum.maps.LatLng(37.613898152040385, 127.15319231152851), // 지도의 중심좌표
level: 5 // 지도의 확대 레벨
};
//지도를 미리 생성
var map = new daum.maps.Map(mapContainer, mapOption);
//주소-좌표 변환 객체를 생성
var geocoder = new daum.maps.services.Geocoder();
//마커를 미리 생성
var marker = new daum.maps.Marker({
position: new daum.maps.LatLng(37.613898152040385, 127.15319231152851),
map: map
});
var testcoords = new daum.maps.LatLng(37.613898152040385, 127.15319231152851);
setTimeout(function(){
map.relayout();
map.setCenter(testcoords);
}, 5000);
//lat 위도 lng 경도
var paramLat;
var paramLng;
function sample5_execDaumPostcode() {
new daum.Postcode({
oncomplete: function(data) {
var addr = data.address; // 최종 주소 변수
// 주소 정보를 해당 필드에 넣는다.
document.getElementById("sample5_address").value = addr;
// 주소로 상세 정보를 검색
geocoder.addressSearch(data.address, function(results, status) {
// 정상적으로 검색이 완료됐으면
if (status === daum.maps.services.Status.OK) {
var result = results[0]; //첫번째 결과의 값을 활용
// 해당 주소에 대한 좌표를 받아서
var coords = new daum.maps.LatLng(result.y, result.x);
// 지도를 보여준다.
mapContainer.style.display = "block";
map.relayout();
// 지도 중심을 변경한다.
map.setCenter(coords);
// 마커를 결과값으로 받은 위치로 옮긴다.
marker.setPosition(coords)
paramLat = result.y;
paramLng = result.x;
}
});
}
}).open({
q: document.getElementById("sample5_address").value
});
}
function insertajax(){
if(typeof paramLat == 'undefined' ||typeof paramLng == 'undifined'){
alert("주소를 검색해 주세요.");
return;
}
var mapInsertConfirm = confirm('약도를 추가하시겠습니까?');
if(mapInsertConfirm){
$.ajax({
cache : false,
url : "<c:url value='/MapUrlInsertAjax.do'/>",
type : 'POST',
data : {
"mapLat" : paramLat,
"mapLng" : paramLng
},
dataType:'json',
success : function(returnData, status){
if(status == "success") {
if (returnData.url != 0) {
var smsTxttmp = $('#smsTxtArea').val();
/* document.getElementById("testarea").value = returnData.url + "/MapUrl.do?seq=" + returnData.seq; */
$('#smsTxtArea').val(smsTxttmp+returnData.url + "/MapUrl.do?seq=" + returnData.seq);
smsTxttmp = $('#smsTxtArea').val();
fnByteString(smsTxttmp);
}
}else{ alert("ERROR!");return;}
},
error : function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
else{
alert("취소되었습니다.");
}
}
</script>
</div><!--// tab content3 -->
<!-- tab content4 -->
<form id="myMsgForm" name="myMsgForm" method="post">
<input name="pageIndex" type="hidden" value="1"/>
<input name="msgIdList" type="hidden" value=""/>
<input name="pageUnit" type="hidden" value=""/>
<input name="searchSortOrd" type="hidden" value="desc"/>
<div class="bottom_content" id="tab2_4">
<div class="search_wrap clearfix">
<div class="btn_left">
<span>· 기간</span>
<div class="calendar_wrap">
<input type="text" class="startDate inp calendar" title="검색 시작일" id="startDate" name="myMsgStDt" value="" data-datecontrol="true">
<span class="dateEtc">~</span>
<input type="text" class="endDate inp calendar" title="검색 종료일" id="endDate" name="myMsgEndDt" value="" data-datecontrol="true">
</div>
<div class="search">
<label for="searchWord" class="label"></label>
<input type="text" id="searchWord" name="searchKeyword" placeholder="내 문자함 검색" onfocus="this.placeholder=''" onblur="this.placeholder='내보관함 검색'" maxlength="10">
<button type="button" class="btnType btnType2" onclick="javascript:fnMyMsgSearchListAjax(1); return false;">검색</button>
</div>
</div>
<div class="btn_right">
<button type="button" id="sortOrd" name="sortOrd" onClick="javascript:fnMyMsgSearchListOrd(); return false;"><span id="sortCnd">최근순</span><i></i></button>
<select name="msgType" id="msgType1" class="selType2" onChange="fnMyMsgSearchListAjax(1); return false;">
<option value="">전체보기</option>
<option value="S">단문문자</option>
<option value="L">장문문자</option>
<option value="P">그림문자</option>
</select>
<select name="msgPageUnit" id="msgPageUnit" class="selType2" onChange="fnMsgPageUnit(); return false;">
<option value="10">2줄보기</option>
<option value="20">4줄보기</option>
<option value="30">6줄보기</option>
</select>
</div>
</div>
<div id="myMsgLoad">
</div>
</div><!--// tab content4 -->
</form>
</div><!-- inner close -->
<!-- 맞춤제작 요청 레이어 팝업 -->
<div class="tooltip-wrap" id="customPopup">
</div>
<!--// 맞춤제작 요청 레이어 팝업 -->
</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>
<form id="goPageAjax" name="goPageAjax" method="post">
<input name="tabDision" type="hidden" value="<c:out value='${tabDision }'/>"/>
</form>