mjon_git/src/main/webapp/WEB-INF/jsp/agent/MjonMsgAgentSend.jsp
2023-06-12 11:15:02 +09:00

272 lines
7.5 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 prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<script src="/publish/js/jquery-3.5.0.js"></script>
<script src="/publish/js/common.js"></script>
<script type="text/javascript" src="<c:url value="/validator.do"/>"></script>
<script type="text/javascript" src="<c:url value='/js/EgovCmmUtl.js'/>" ></script>
<script src="/js/ncms_common.js"></script>
<script src="/js/txtByteChk.js"></script>
<script src="/js/MJUtill.js"></script>
<meta charset="UTF-8">
<title>전송사별 테스트 문자발송</title>
<script type="text/javascript">
$(document).ready(function(){
//문자 내용 입력시 바이트수 계산하기
$('#smsTxt').keyup(function(e){
var contents = $(this).val();
fnByteString(contents);
});//문자 바이트수 계산하기 끝
});
//문자 바이트수 계산하기 함수
function fnByteString(contents){
var totalByte = 0;
$('#msgLeng').html("");
$('#limitLeng').html("");
var conLeng = conByteLeng(contents); // 내용 문자 입력 바이트 수 계산하기
var msgKind = $("#msgKind").val();
//일반문자, 광고문자에 따른 문자 길이 변경해주기
if(msgKind == "N"){
$('#msgLeng').text(conLeng);
//문자 길이 변수에 저장해주기
$('#smsLen').val(conLeng);
}
if(conLeng > 90){
$('#msgLeng').html(conLeng + " / ");
$('#limitLeng').html("2000");
$('.msg_com').html("장문");
$('#msgType').val("6"); // 메세지 타입 설정
}else{
$('#msgLeng').html(conLeng + " / ");
$('#limitLeng').html("90");
$('.msg_com').html("단문");
$('#msgType').val("4"); // 메세지 타입 설정
}
// 2000byte 초과시 메세지 알림
if(conLeng > 2000){
alert("문자 내용은 2000byte를 넘을 수 없습니다.");
return false;
}
}
function fn_sendMsgData(){
var callToNum = $('#callTo').val();
var callFromNum = $('#callFrom').val();
var agentCode = $("#agentCode option:selected").val();
var smsTxt = $('#smsTxt').val();
if(agentCode == ''){
alert("전송사를 선택해 주세요.");
return false;
}
if(callFromNum == ''){
alert("발신번호를 입력해 주세요.");
return false;
}
if(callToNum == ''){
alert("수신번호를 입력해 주세요.");
return false;
}
//핸드폰 번호 체크
if(!checkHpNum(callToNum)){
alert("정확한 수신자 번호를 입력해 주세요.");
return false;
}
// 그림문자가 아닐경우 문자내용 체크
if ($("#atchMsgFile").val() == "") {
if(smsTxt == ''){
alert("문자내용을 입력헤 주세요.");
return false;
}
}
url = "/uss/ion/msg/insertAdminToMemberSendMsgData2Ajax.do";
var data = new FormData(document.msgForm);
var fileValue = $("#atchMsgFile").val().split("\\");
var fileName = fileValue[fileValue.length-1];
var fileExt = fileName.split('.').pop().toLowerCase();
var atchFileSts = true; //첨부파일 확장자 상태용 변수
if(fileExt.length > 0){
if($.inArray(fileExt, ['exec','exe']) > -1) {
atchFileSts = false;
return false;
}
}
if(!atchFileSts){
alert("첨부할 수 없는 파일형식입니다.");
return false;
}
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;
}else if("LoginFail"==returnData.result){
alert(returnData.message);
return false;
}else{ //문자발송 성공시 처리
var sendCnt = returnData.resultSts;
alert(sendCnt + " 건의 문자 전송이 완료 되었습니다.");
// Clear
setClear();
}
} else if(status== 'fail'){
alert(returnData.message);
}
},
error: function (e) {
//alert("문자 전송에 실패하였습니다.");
alert("ERROR : " + JSON.stringify(e));
console.log("ERROR : ", e);
}
});
}
}
// Clear
function setClear() {
var agent = navigator.userAgent.toLowerCase();
// 문자내용 초기화
$('#smsTxt').val("");
$('#msgLeng').html("0 /");
//파일초기화
if ( (navigator.appName == 'Netscape' && navigator.userAgent.search('Trident') != -1) || (agent.indexOf("msie") != -1) ) {
$("#atchMsgFile").replaceWith($("#atchMsgFile").clone(true));
}else{
$("#atchMsgFile").val("");
}
}
</script>
</head>
<body>
<div class="contWrap">
<div class="pageTitle">
<div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div>
<h2 class="titType1 c_222222 fwBold">전송사별 테스트문자 발송</h2>
<p class="tType6 c_999999">전송사별 테스트 문자발송 페이지 입니다.</p>
</div>
<div class="pageCont">
<form id="msgForm" name="msgForm" method="post">
<input type="hidden" id="msgType" name="msgType" value="4"/>
<input type="hidden" id="msgKind" name="msgKind" value="N"/>
<div class="tableWrap">
<table class="tbType2">
<colgroup>
<col width="20%">
<col width="*">
</colgroup>
<tbody>
<tr>
<th><span class="reqArea">전송사</span></th>
<td>
<select id="agentCode" name="agentCode" style="width: 180px;">
<option value="">전송사 선택</option>
<option value="00">대표 전송사</option>
<option value="01">아이하트(01)</option>
<option value="02">현대퓨처넷(02)</option>
<option value="03">아이엠오(03)</option>
<option value="04">다우기술(04)</option>
<option value="05">제이제이(05)</option>
<option value="07">인비토(07)</option>
<option value="08">제이제이 B01(08)</option>
<option value="09">제이제이 B02(09)</option>
</select>
</td>
</tr>
<tr>
<th><span class="reqArea">발신번호</span></th>
<td>
<input type="text" name="callFrom" id="callFrom" value="01084329333" maxlength="11" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');"/>
</td>
</tr>
<tr>
<th><span class="reqArea">수신번호</span></th>
<td>
<input type="text" name="callTo" id="callTo" value="" maxlength="11" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');"/>
</td>
</tr>
<tr>
<th><span class="reqArea">문자내용</span></th>
<td>
<textarea name="smsTxt" id="smsTxt" style="width: 400px;; height: 150px;"></textarea>
<br /><br />
<span class="fwMd" id="msgLeng">0 /</span>
<span id="limitLeng">90</span>byte
<span class="msg_com">단문</span>
</td>
</tr>
<tr>
<th>이미지 첨부</th>
<td>
<input type="file" name="atchMsgFile" id="atchMsgFile" />
</td>
</tr>
</tbody>
</table>
</div>
</form>
<div class="btnWrap">
<input type="button" class="btnType1" value="문자전송" onclick="fn_sendMsgData();">
</div>
</div>
</div>
</body>
</html>