mjon_git/src/main/webapp/js/web/msgdata/msgDataView.js
2025-02-12 11:19:02 +09:00

1764 lines
50 KiB
JavaScript

/**
* 20241218 advc 이호영
* @기존 MsgDataView.jsp에 있는 js를 가져와서 분기 처리중
* - document.ready는 init.js로 이동함
*
*
*/
// 문자 그룹정보 => 재전송용
function getMjMsgGroupInfoByResend() {
console.log('재전송 시 싱행되는 function');
$.ajax({
type: "POST",
url: "/web/mjon/msgdata/selectMjMsgGroupInfoByResendAjax.do",
data: {"msgResendAllGroupId" : msgResendAllGroupId},
dataType:'json',
async: false,
success: function (data) {
//alert(JSON.stringify(data));
if(data.isSuccess == true){
var msgData = data.resultMsgInfo;
var fileData = data.resultMsgAddPhotoInfo;
// 발신번호
var reCallFrom = $.trim(removeDash($("#callFromList option:selected").val()));
if ($.trim(removeDash(msgData.callFrom)) != reCallFrom) {
alert("발신번호가 이전에 발송한 번호가 아닙니다.\n발신번호를 확인해주세요.")
}
var smsTxt = msgData.smsTxt;
var subject = msgData.subject;
var subjectChkYn = msgData.subjectChkYn;
var fileId = "";
var filePath = "";
var len = fileData.length;
// 기존 내용 지워주기
//$(".btnReset").trigger("click");
$('.delLi').each(function(){
$(this).remove();
});
$('.preBoxF').each(function(){
$(this).remove();
});
$('#imgCnt').val(0);
// 기존 imgFileId, imgFilePath 배열에 있는 내용 초기화 해주기
imgFilePath = [];
imgFileId = [];
console.log('msgData : ', msgData);
console.log('msgData : ', msgData);
// 문자제목
if (subject != null && subject != "") {
if(subjectChkYn == 'Y'){
$('.msg_title').addClass('active');
$("input:radio[name='subjectChkYn']:radio[value='Y']").prop('checked', true); // 선택하기
$('.textbox').show();
$("#mmsSubject").val(subject);
}
}
// 문자내용
if (smsTxt.indexOf("(광고)") == 0) {
// $('#send_adYnY').prop('checked', true);
//광고 상하단 내용 넣어주기
// advMsgInsert();
// 광고 기본정보 제거
smsTxt = $.trim(smsTxt.replace("(광고)", ""));
var smsTxtLastIdxCnt = smsTxt.lastIndexOf("무료거부");
if (smsTxtLastIdxCnt != -1) {
smsTxt = $.trim(smsTxt.substring(0, smsTxtLastIdxCnt));
}
}
$('#smsTxtArea').val(smsTxt);
// 첨부 이미지가 있는경우 이미지 처리해주기
if(len > 0) {
for(var i=0; i < len; i++) {
var num = i + 1;
var imgId = fileData[i].atchFileId;
var imgSn = fileData[i].fileSn;
var fileStreCours = fileData[i].fileStreCours;
var streFileNm = fileData[i].streFileNm;
var fileExtsn = fileData[i].fileExtsn;
/* var imgSrc = fileStreCours + "/" + streFileNm + "." + fileExtsn; */
var imgSrc = '/cmm/fms/getImage2.do?atchFileId=' + imgId + '&fileSn=' + imgSn;
myMsgImageControl(imgSrc, "edit_n", "Template", imgId);
}
fnByteString($('#smsTxtArea').val());
}
else {
fnByteString($('#smsTxtArea').val());
}
// 문자전송 상단으로 이동
var sendOfT=$('.send_top').offset().top;
$('html,body').stop().animate({'scrollTop':sendOfT-60},250);
} else {
//alert("Message : " + msg);
}
},
error: function (e) {
//alert("저장에 실패하였습니다.");
//console.log("ERROR : ", e);
}
});
}
// 문자 상세정보 => 재전송용
function getMjMsgListByResend() {
$.ajax({
type: "POST",
url: "/web/mjon/msgdata/selectMjMsgListByResendAjax.do",
data: {"msgResendAllGroupId" : msgResendAllGroupId},
dataType:'json',
async: false,
success: function (data) {
console.log('data : ', data);
if(data.isSuccess == true){
var listCnt = data.resultList.length;
//수신자 처리 변수
var callToList = []; //수신자 처리 리스트
var tableData = []; //수신자 tabulator 처리 변수
for(var i = 0; i < listCnt; i++){ // 수신자 리스트 Tabulator에 입력해 주기
callToList[i] = data.resultList[i].callTo;
tableData.push({phone: removeDash(callToList[i])});
}
console.log('tableData : ', tableData);
if(tableData.length > 0){
// 데이터 추가
setTimeout(() => {
tableL.addData(dupliPhoneData(tableData));
totRows = tableL.getRows().length;
console.log('totRows : ', totRows);
updateTotCnt(totRows); //전체 데이터 갯수 구하기
//결제 금액 구하기
totalPriceSum(totRows);
}, 0); // 초기화 직후에 실행
}
} else {
//alert("Message : " + msg);
}
},
error: function (e) {
//alert("저장에 실패하였습니다.");
//console.log("ERROR : ", e);
}
});
}
// 문자발송 URL Move
function goMsgUrlMove() {
document.location.href = "/web/mjon/msgdata/selectMsgDataView.do";
}
function listMsgDataView(){
var sendData = $(document.goPageAjax).serializeArray() ;
console.log('sendData : ', sendData)
$(".contentArea").load("/web/mjon/msgdata/selectMsgDataSMLViewAjax.do", sendData ,function(response, status, xhr){
console.log(' contentArea : 문자전송 부분 로딩');
//문자 재전송 및 주소록 전달 처리를 위해 사용
$("#msgForm").ready(function(){ //문자 내용 폼이 로드된 후 실행
console.log(' contentArea : 문자전송 부분 로딩');
//헤더 문자검색 결과 처리
var headerMsgSearchFlag = '${headerMsgSearchVO.headerMsgSearchFlag}';
if(headerMsgSearchFlag == 'Y'){
var letterType = '${headerMsgSearchVO.msgType}';
var form = document.letterForm;
var searchKeyword = '${headerMsgSearchVO.searchKeyword}';
form.letterType.value = letterType;
form.searchKeyword.value = searchKeyword;
if(letterType == 'P'){
//최 하단 그림문자 탭 리스트 내용 불러오기
fnPhotoListAjax(1);
//문자 샘플 탭 활성화 시키기
TabType2($('.tabType2 li').eq(1), '2');
//하단 리스트 탭으로 이동 시키기
var offset = $('.tabType2').offset();
$('html').animate({scrollTop : offset.top}, 400);
}else if(letterType == 'L' || letterType == 'S' ){
//문자 샘플 탭 활성화 시키기
TabType2($('.tabType2 li').eq(0), '1');
//최 하단 문자 샘플 탭 리스트 내용 불러오기
fnLetterListAjax(1);
if(letterType == 'S'){
$('.tDep1_letType a').eq(0).addClass('on');
$('.tDep1_letType a:last-child').removeClass('on');
}else{
$('.tDep1_letType a').eq(0).removeClass('on');
$('.tDep1_letType a:last-child').addClass('on');
}
//하단 리스트 탭으로 이동 시키기
var offset = $('.tabType2').offset();
$('html').animate({scrollTop : offset.top}, 400);
}
}
//메인화면 더많은 샘플보기 버튼 선택시 처리
if(moreSamFlag == 'Y'){
//문자 샘플 탭 활성화 시키기
// var mainLetterTypeFlag = '${searchVO.mainLetterTypeFlag}';
var letterTab = '0';
// var cateNo = "${cateCodeVO.cateNo}";
if(mainLetterTypeFlag == 'P'){
TabType2($('.tabType2 li').eq(1), '2');
}else{
TabType2($('.tabType2 li').eq(letterTab), '1');
}
//장문 일 시 tDep1_letType 탭 세팅
if(mainLetterTypeFlag == 'L'){
$('.tDep1_letType a').removeClass('on');
$('.tDep1_letType a').eq(1).addClass('on');
}
//카테고리 탭 활성화 처리
if(mainLetterTypeFlag == 'P'){ //그림문자 샘플로 이동 왔을 시
$('.tDep2_cateCode').find('.on').removeClass('on');
$('.tDep2_cateCode a').each(function(index){
if($(this).attr('value') == cateNo){
$(this).addClass('on');
}
})
}
if(mainLetterTypeFlag != 'P'){ //단문,장문 샘플로 왔을 시
$('.tDep1_cateCode').find('.on').removeClass('on');
$('.tDep1_cateCode a').each(function(index){
if($(this).attr('value') == cateNo){
$(this).addClass('on');
}
})
}
//하단 리스트 탭으로 이동 시키기
var offset = $('.tabType2').offset();
$('html').animate({scrollTop : offset.top}, 400);
}
//메인화면 그림문자 이미지 선택시 처리
console.log('메인화면 그림문자 이미지 선택시 처리');
console.log('mainImgFlag : ' + mainImgFlag);
// var mainImgFlag = '${mainImgVO.mainImgFlag}';
if(mainImgFlag == 'Y'){
//카테고리 처리
// var cateNo = "${cateCodeVO.cateNo}";
$('.tDep2_cateCode').find('.on').removeClass('on');
$('.tDep2_cateCode a').each(function(index){
if($(this).attr('value') == cateNo){
$(this).addClass('on');
}
})
// var atchFileId = '${mainImgVO.atchFileId1}';
// var fileSn = '${mainImgVO.fileSn}';
// var strImgPath = '${mainImgVO.strImgPath}';
console.log('mainAtchFileId : ' + mainAtchFileId
+ ' / mainFileSn : ' + mainFileSn
+ ' / mainStrImgPath : ' + mainStrImgPath
);
fnCustomImgSendMsg(mainAtchFileId, mainFileSn, mainStrImgPath);
}
//메인화면 인기문자 메세지 선택시 처리
console.log('메인화면 인기문자 메세지 선택시 처리');
console.log('mainLetterFlag : ' + mainLetterFlag);
// var mainLetterFlag = '${mainLetterVO.mainLetterFlag}';
if(mainLetterFlag == 'Y'){
var letterTab = '0';
//문자샘플 활성화 처리
TabType2($('.tabType2 li').eq(0), '1');
//단문,장문 탭 활성화 처리
// var mainLetterTypeFlag = '${searchVO.mainLetterTypeFlag}';
if(mainLetterTypeFlag == 'L'){
$('.tDep1_letType a').removeClass('on');
$('.tDep1_letType a').eq(1).addClass('on');
}
//카테고리 활성화 처리
// var cateNo = "${cateCodeVO.cateNo}";
$('.tDep1_cateCode').find('.on').removeClass('on');
$('.tDep1_cateCode a').each(function(index){
if($(this).attr('value') == cateNo){
$(this).addClass('on');
}
})
// var smsTxt = '${mainLetterVO.smsTxt}';
if(mainSmsTxt != null){
mainSmsTxt = mainSmsTxt.replaceAll("<br/>", "\n"); //줄발꿈문자 변환하기
$("#smsTxtArea").val(mainSmsTxt);
fnByteString(mainSmsTxt);
}
}
// 맞춤제작 내보관함 이미지 선택시 처리
console.log('커스텀 문자정보');
console.log('customImgFlag : ' + customImgFlag);
// var customImgFlag = '${customImgVO.customImgFlag}';
if(customImgFlag == 'Y'){
//var atchFileId = '${customImgVO.atchFileId1}';
//var fileSn = '${customImgVO.fileSn}';
//var strImgPath = '${customImgVO.strImgPath}';
console.log(' customAtchFileId : ' + customAtchFileId
+ ' / customFileSn : ' + customFileSn
+ ' / customStrImgPath : ' + customStrImgPath
);
fnCustomImgSendMsg(customAtchFileId, customFileSn, customStrImgPath);
}
//문자 재전송 처리
console.log('문자 재전송 처리');
// var msgResendFlag = '${reSendMsgVO.msgResendFlag}';
// var msgSeqList = [];
// msgSeqList = '${reSendMsgVO.msgSeqList}';
if(msgSeqList.length > 0){
console.log('msgSeqList.length : ' + msgSeqList.length);
fnMsgResend(msgResendFlag, msgSeqList);
}
//주소록에서 주소를 전송한 경우 처리
// var moveAddrFlag = '${addrVO.moveAddrFlag}';
// var addrIdList = [];
// addrIdList = '${addrVO.addrIdList}';
console.log('주소록에서 주소를 전송한 경우 처리');
if(addrIdList.length > 0) {
fnAddrSet(moveAddrFlag, addrIdList);
}
// 문자 재전송 New
if (msgResendAllFlag == "Y") {
if (msgResendAllReplaceYn != "Y") {
// 문자 그룹정보 => 재전송용
getMjMsgGroupInfoByResend();
}
// 문자 상세정보 => 재전송용
getMjMsgListByResend();
}
});
}).slideDown();
}
function fnCustomImgSendMsg(atchFileId, fileSn, filePath){
var imgId = "";
var imgSrc = "";
/* imgSrc = filePath.replace("/usr/local/tomcat_mjon/webapps/mjon",""); */
/* imgSrc = filePath; */
imgId = atchFileId;
imgSrc = '/cmm/fms/getImage2.do?atchFileId=' + atchFileId + '&fileSn=' + fileSn;
myMsgImageControl(imgSrc, "edit_n", "Template", imgId);
}
function fnMsgResend(msgResendFlag, msgSeqList){
if(msgResendFlag == 'Y'){ // 문자재전송에서 넘어오는 경우
var form = document.msgResendForm;
form.msgSeqList.value = msgSeqList;
var data = new FormData(form);
url = "/web/mjon/msgdata/selectReSendMsgDataListAjax.do";
$.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 if(returnData.resultListCnt == '0'){
alert("재전송 문자내용이 없습니다.");
return false;
}else{
var data = returnData;
var listCnt = returnData.resultListCnt;
var photoInfo = returnData.resultMsgPhotoInfo;
//수신자 처리 변수
var callToList = []; //수신자 처리 리스트
var tableData = []; //수신자 tabulator 처리 변수
//var subject = data.resultList[0].subject; //제목
//var smsTxt = data.resultList[0].smsTxt; //문자내용
//var fileCnt = data.resultList[0].fileCnt; //그림문자 이미지 갯수
//var filePath1 = data.resultList[0].fileType1; //이미지1 파일 경로
//var filePath2 = data.resultList[0].fileType2; //이미지2 파일 경로
//var filePath3 = data.resultList[0].fileType3; //이미지3 파일 경로
//var atchFileId1 = photoInfo.atchFileId1; //이미지1 파일 번호
//var atchFileId2 = photoInfo.atchFileId2; //이미지2 파일 번호
//var atchFileId3 = photoInfo.atchFileId3; //이미지3 파일 번호
for(var i = 0; i < listCnt; i++){ // 수신자 리스트 Tabulator에 입력해 주기
callToList[i] = data.resultList[i].callTo;
tableData.push({phone: removeDash(callToList[i])});
}
if(tableData.length > 0){
tableL.addData(dupliPhoneData(tableData)); // 받는사람 목록에 주소 정보 입력하기
//totRows = tableL.getRows().length;
//updateTotCnt(totRows); //전체 데이터 갯수 구하기
//결제 금액 구하기
//totalPriceSum(totRows);
}
return false;
}
} else if(status== 'fail'){
alert(returnData.message);
}
},
error: function (e) { alert("문자 재전송 번호 등록에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}
function fnAddrSet(moveAddrFlag, addrIdList){
if(moveAddrFlag == 'Y'){ // 주소록에서 넘어오는 경우
var form = document.moveAddrForm;
form.addrIdList.value = addrIdList;
var data = new FormData(form);
url = "/web/mjon/addr/selectAddrDataListAjax.do";
$.ajax({
type: "POST",
url: url,
data: data,
dataType:'json',
async: true,
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 if(returnData.resultListCnt == '0'){
alert("전달된 주소록이 없습니다.");
return false;
}else{
var listCnt = returnData.resultListCnt;
//수신자 처리 변수
var tableData = []; //수신자 tabulator 처리 변수
for(var i = 0; i < listCnt; i++){ // 수신자 리스트 Tabulator에 입력해 주기
tableData.push({
name: returnData.resultList[i].addrNm
,phone: removeDash(returnData.resultList[i].addrPhoneNo)
,rep1: returnData.resultList[i].addrInfo1
,rep2: returnData.resultList[i].addrInfo2
,rep3: returnData.resultList[i].addrInfo3
,rep4: returnData.resultList[i].addrInfo4
});
}
tableL.addData(dupliPhoneData(tableData)); // 받는사람 목록에 주소 정보 입력하기
totRows = tableL.getRows().length;
updateTotCnt(totRows); //전체 데이터 갯수 구하기
//결제 금액 구하기
totalPriceSum(totRows);
return false;
}
} else if(status== 'fail'){
alert(returnData.message);
}
},
error: function (e) {
alert("주소록 가져오기에 실패하였습니다.");
console.log("ERROR : ", e);
},
beforeSend : function(xmlHttpRequest) {
//로딩창 show
$('.loading_layer').addClass('active');
},
complete : function(xhr, textStatus) {
//로딩창 hide
$('.loading_layer').removeClass('active');
}
});
}
}
function fnLetterListAjax(index){
var form = document.letterForm;
var letterType = form.letterType.value;
if($('.tDep1_letType a').eq(0).hasClass('on')) {
form.letterType.value='S';
} else if ($('.tDep1_letType a').eq(1).hasClass('on')) {
form.letterType.value='L';
}
//검색자 입력 검색 시 카테고리, 해쉬태그 전체 초기화
if(form.searchKeyword.value != '') {
form.categoryCode.value = "";
form.hashTag.value = "";
$('.tDep1_cateCode').find('.on').removeClass('on');
$('.tDep1_cateCode').find('.cateAll').addClass('on');
$('.tDep1_hashTag').find('.on').removeClass('on');
$('.tDep1_hashTag').find('.hashAll').addClass('on');
}else{
//해시태그가 선택되어 있을 경우 해당 태그 검색어를 전달해줌
var strTagTxt = $('.tDep1_hashTag').find('.on').text().replace("#","");
if(strTagTxt == "전체"){
form.hashTag.value = "";
}else{
form.hashTag.value = strTagTxt;
}
}
form.pageIndex.value = index;
form.letterType.value = letterType;
var sendData = $(document.letterForm).serializeArray();
//하위 카테고리
$("#tDep1_depThrCateCode").load("/web/mjon/msgdata/selectCateConfThrDptListAjax.do", sendData ,function(response, status, xhr){
if(document.letterForm.searchKeyword.value == ''){
$('.bottom_content .area_total_count').hide();
}
if(form.hashTag.value != ''){
if($('#letterLoad .nodata_box').length > 0){
$('#letterLoad .nodata_box').hide().next('.nodata_box.hashTag').show();
}
}
});
//문자샘플
$("#letterLoad").load("/web/mjon/msgdata/selectLetterDataListAjax.do", sendData ,function(response, status, xhr){
if(document.letterForm.searchKeyword.value == ''){
$('.bottom_content .area_total_count').hide();
}
if(form.hashTag.value != ''){
if($('#letterLoad .nodata_box').length > 0){
$('#letterLoad .nodata_box').hide().next('.nodata_box.hashTag').show();
}
}
});
}
function fnPhotoListAjax(index){
var form = document.letterForm;
//검색자 입력 검색 시 카테고리, 해쉬태그 전체 초기화
if(form.searchKeyword.value != '') {
form.categoryCode.value = "";
form.hashTag.value = "";
$('.tDep2_cateCode').find('.on').removeClass('on');
$('.tDep2_cateCode').find('.cateAll').addClass('on');
$('.tDep2_hashTag').find('.on').removeClass('on');
$('.tDep2_hashTag').find('.hashAll').addClass('on');
}else{
//해시태그가 선택되어 있을 경우 해당 태그 검색어를 전달해줌
var strTagTxt = $('.tDep2_hashTag').find('.on').text().replace("#","");
if(strTagTxt == "전체"){
form.hashTag.value = "";
}else{
form.hashTag.value = strTagTxt;
}
}
form.letterType.value = 'P';
form.pageIndex.value = index;
var sendData = $(document.letterForm).serializeArray();
//하위 카테고리
$("#tDep2_depThrCateCode").load("/web/mjon/msgdata/selectCateConfThrDptListAjax.do", sendData ,function(response, status, xhr){
if(document.letterForm.searchKeyword.value == ''){
$('.bottom_content .area_total_count').hide();
}
if(form.hashTag.value != ''){
if($('#letterLoad .nodata_box').length > 0){
$('#letterLoad .nodata_box').hide().next('.nodata_box.hashTag').show();
}
}
});
$("#photoLoad").load("/web/mjon/msgdata/selectPhotoDataListAjax.do", sendData ,function(response, status, xhr){
photoLayerView();
if(document.letterForm.searchKeyword.value == ''){
$('.bottom_content .area_total_count').hide();
}
if(form.hashTag.value != ''){
if($('#photoLoad .nodata_box').length > 0){
$('#photoLoad .nodata_box').hide().next('.nodata_box.hashTag').show();
}
}
});
}
function fnMyMsgListAjax(index){
if(loginVO == "" || loginVO == null){
//alert("로그인 후 사용이 가능합니다.");
location.href="/web/user/login/login.do";
return false;
}else{
document.myMsgForm.pageIndex.value = index;
var sendData = $(document.myMsgForm).serializeArray();
$("#myMsgLoad").load("/web/mjon/msgdata/selectMyMsgDataListAjax.do", sendData ,function(response, status, xhr){
/* $(".msg_cont").mCustomScrollbar({
axis: 'y',
scrollbarPosition: "inside",
theme: "dark",
autoHideScrollbar: false
}); */
});
}
}
function fnMyMsgSearchListAjax(index){
document.myMsgForm.pageIndex.value = index;
var sendData = $(document.myMsgForm).serializeArray();
$("#myMsgLoad").load("/web/mjon/msgdata/selectMyMsgDataListAjax.do", sendData ,function(response, status, xhr){
/* $(".msg_cont").mCustomScrollbar({
axis: 'y',
scrollbarPosition: "inside",
theme: "dark",
autoHideScrollbar: false
}); */
});
}
function fnMsgExcelDataView(){
/* var sendData = $(document.searchForm).serializeArray() ;
//엑셀 문자 탭 활성화 시키기
TabType1($('.tabType1 li').eq(1), '2');
$(".contentExcelArea").load("/web/mjon/msgdata/selectMsgExcelDataViewAjax.do", sendData ,function(response, status, xhr){
}); */
location.href="/web/mjon/msgdata/excel/selectMsgExcelDataView.do";
}
function fnMsgDataView(){
location.href="/web/mjon/msgdata/selectMsgDataView.do";
}
function fn_saveMyMsg(){ // 내 문자 보관함 저장
var form = document.msgForm;
var myImgFileId = []; //신규 이미지 추가 파일 Id 저장 변수
// var adverYn = $("input[name='send_adYn']:checked").val(); //광고 체크여부
var adverYn = $('#send_adYn').val(); //광고 체크여부
/*
이미지 에디터를 사용하여 추가한 경우 이미지 업로드 처리 - 단 에디터에서 템플릿을 선택한 경우는 업로드안함
신규 이미지 추가를 한 경우만 이미지 파일 업로드 처리함
*/
$('.thumb_wrap').find('.thumb_img').each(function(idx, el) {
if($("#delLi"+idx).hasClass("Template")){ //이미지 에디터 템플릿 이미지 선택 여부 확인
templateYn.push("Y");
} else {
templateYn.push("N");
}
if($(el).hasClass("edit_y")) { //에디터를 사용했고
//이미지 변환
const imgBase64 = $(el).attr("src");
const decodImg = atob(imgBase64.split(',')[1]); // base64~ 부분을 제외하고 데이터 디코딩
let array = [];
for (let i = 0; i < decodImg.length; i++) {
array.push(decodImg.charCodeAt(i));
}
const file = new Blob([new Uint8Array(array)], {type: 'image/jpeg'});
const fileName = 'canvas_img_' + new Date().getMilliseconds() + '.jpg';
let formData = new FormData();
formData.append('file', file, fileName);
$.ajax({
type: 'post',
url: '/web/mjon/msgdata/insertEditImageAjax.do',
cache: false,
data: formData,
dataType:'json',
processData: false,
contentType: false,
async: false,
success: function (returnData, status) {
if(status == 'success'){
// imgFilePath 에 배열로 담아주기(이미지 순서대로)
//console.log(imgFilePath);
//imgFilePath.push(returnData.filefullPath);
myImgFileId.push(returnData.atchFileId);
} else if(status== 'fail'){
alert(returnData.message);
}
},
error: function (e) { alert("이미지 업로드에 실패하였습니다."); console.log("ERROR : ", e); }
});
} else {
//에디터 안거친 템플릿 이미지면 바로 src 때림
imgFilePath.push($(el).attr("src"));
}
});
if(myImgFileId.length > 0 && imgFileId.length > 0){ //기존 샘플 이미지와 이미지 에디터 둘다 사용한 경우
var tempImgId = [];
tempImgId.push(myImgFileId);
tempImgId.push(imgFileId);
form.imgFileId.value = tempImgId;
}else if(myImgFileId.length > 0){ //이미지 에디터에서 신규 등록한 이미지
form.imgFileId.value = myImgFileId;
}else{ //샘플 이미지 선택만 했을경우(이미지 에디터 사용 안했을때)
form.imgFileId.value = imgFileId;
}
//광고 문자 내용 합쳐주기
if(adverYn == 'Y'){
var adTxt = $('.ad_txt').text();
var denyTxt = $('.deny_txt').text();
var smsTxt = form.smsTxtArea.value;
//var adverTxt = adTxt + '\n\n' + smsTxt + '\n\n' + denyTxt;
var adverTxt = smsTxt;
form.smsTxt.value = adverTxt;
}else{
var smsTxt = form.smsTxtArea.value;
form.smsTxt.value = smsTxt;
}
//문자 종류 설정(S:단문 , L:장문 , P:그림)
var photoSts = $('.delLi').length;
var conLeng = conByteLeng(form.smsTxt.value); // 내용 문자 입력 바이트 수 계산하기
if(photoSts > 0){
form.msgType.value = 'P';
}else if(conLeng > 90){
form.msgType.value = 'L';
}else{
form.msgType.value = 'S';
}
if(photoSts == '0' && conLeng == '0'){
alert("문자내용을 입력해 주세요.");
return false;
}
var data = new FormData(form);
url = "/web/mjon/msgdata/insertMyMsgDataAjax.do";
$.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{
alert("내 문자함에 저장되었습니다.");
//내 문자함 탭 활성화 시키기
TabType2($('.tabType2 li').eq(3), '4');
var offset = $('.tabType2').offset();
$('html, body').animate({scrollTop : offset.top-140}, 400);
//최 하단 내문자함 탭 리스트 내용 불러오기
var sendData = $(document.myMsgForm).serializeArray();
$("#myMsgLoad").load("/web/mjon/msgdata/selectMyMsgDataListAjax.do", sendData ,function(response, status, xhr){
});
}
} else if(status== 'fail'){
alert(returnData.message);
}
},
error: function (e) { alert("문자 저장에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
//내 문자함으로 탭이동
function fnGoMyMsg(){
//내 문자함 탭 활성화 시키기
TabType2($('.tabType2 li').eq(3), '4');
var offset = $('.tabType2').offset();
$('html, body').animate({scrollTop : offset.top-140}, 400);
}
// MJ_MSG_GROUP_DATA 누락데이터 체크
function getMsgGroupDataErrorCheck() {
var isError = false;
$.ajax({
type: "POST",
url: "/web/mjon/msgdata/selectMsgGroupNotExistInfoAjax.do",
data: {},
dataType:'json',
async: false,
success: function (data) {
if (data.isSuccess) {
if (data.isError == true) {
isError = true;
}
}
},
error: function (e) {
}
});
return isError;
}
function checkConf() {
var confCheck = false;
$.ajax({
type: "POST",
url: "/web/mjon/conf/selectMjonMsgUseConfAjax.do",
data: {},
dataType:'json',
async: false,
success: function (returnData, status) {
if(returnData.result == "fail") {
console.log(returnData.message);
}else if(returnData.result == "success"){
confCheck = true;
}
}
,error: function (e) {console.log("ERROR : ", e); }
});
return confCheck;
}
function blineSendCheck(blineCode) {
var confCheck = false;
$.ajax({
type: "POST",
url: "/web/mjon/conf/selectBlineSendCheckAjax.do",
data: {"agentCode":blineCode},
dataType:'json',
async: false,
success: function (returnData, status) {
if(returnData.result == "fail") {
console.log(returnData.message);
}else if(returnData.result == "success"){
confCheck = true;
}
}
,error: function (e) {console.log("ERROR : ", e); }
});
return confCheck;
}
//문자발송 처리 함수
function fn_sendMsgData(){
// 타블레이터 호출
var $selectedData = tableL.getData(); // 데이터 가져오기
if(!checkConf()){ //문자온 conf-check
alert("현재 문자 발송하기 기능 점검 중입니다.\n\n1분 후 다시 시도해주세요.");
return false;
}
var form = document.msgForm;
var totPriceOnly = stringReplaceAll(form.totPrice.value, ",", "");
var userMoneyOnly = stringReplaceAll(form.myPrice.value, ",", "");
// test 주석
if(parseFloat(userMoneyOnly) < parseFloat(totPriceOnly)){
alert("문자 발송에 필요한 회원님의 보유 잔액이 부족 합니다.");
return false;
}
// 폼 유효성 검사
if (!validateForm(form)) return false;
var spamStatus = false;
var exceptSpamYn = $("#exceptSpamYn").val(); //금지어 필터링 예외 여부 - N 일 경우만 스팸 검사를 진행
var blineCodeYn = $("#blineCode").val();
if(blineCodeYn != 'N'){
if(!blineSendCheck(blineCodeYn)){ //문자온 conf-check
alert("현재 문자 발송하기 기능 점검 중입니다.\n\n잠시 후 다시 시도해주세요.");
return false;
}
}
if($selectedData.length > 300000){
alert("30만건까지 발송이 가능합니다.\n받는사람 목록을 확인해주세요.");
return false;
}
if(!confirm("문자를 전송하시겠습니까?")){
return false;
}
//총 결제금액 천단위 콤마 삭제 후 전송
var totPrice = form.totPrice.value;
form.totPrice.value = totPrice.replace(",","");
//이벤트 진행중 회원의 경우 이벤트 잔여금액 비교 처리 필요.
//이벤트 캐시가 부족한 경우 이벤트 캐시로 발송 가능한 만큼만 이벤트 금액으로 발송 처리해줌.
//이 후 나머지 발송 건수는 이벤트 캐시가 아닌 일반 단가로 발송 처리를 진행 함.
var eventStatus = form.eventStatus.value;
if(eventStatus == 'Y'){ //이벤트 진행 대상자이면 문자종류에 이벤트로 구분
form.eventYn.value = "Y"; //이벤트문자 종류 설정
}
var eventRemainCash = parseFloat(form.eventRemainCash.value);
console.log('eventStatus : ', eventStatus);
if(eventStatus == 'Y' && parseFloat(eventRemainCash) < parseFloat(totPriceOnly))
{
// 이벤트 금액 부족 상태 요청하신 모두 발송할 수 없습니다
console.log('eventRemainCash : ', eventRemainCash);
if(!confirm("고객님의 이벤트 캐시 잔액(" + eventRemainCash + "원) 부족으로 요청하신 문자("+numberWithCommas($selectedData.length)+"건)를 모두 발송할 수 없습니다. 이벤트 캐시 초과 건에 대해서는 일반 단가를 적용하여 발송하시겠습니까?")){
return false;
}
// 이벤트 캐시 초과 건에 대해서는 일반 단가를 적용하여 발송하시겠습니까
var evnMsgType = $("#msgType").val(); // 문자전송 타입
var norEachPrice = getNorEachPrice(evnMsgType); // 일반전송 금액
var eventEachPrice = getEventEachPrice(evnMsgType); // 이벤트 전송 금액
var eventCount = eventRemainCash/eventEachPrice; // 이벤트금액으로 전송가능한 수량
console.log('eventCount : ', parseInt(eventCount));
var norCount = numberWithCommas($selectedData.length)-parseInt(eventCount); // 일반금액으로 전송수량
console.log('norCount : ', parseInt(norCount));
var norAccount = norCount * norEachPrice; // 일반금액으로 변경한 발송금액
var totAccount = userMoneyOnly - norAccount //
console.log('norAccount : ', norAccount);
console.log('userMoneyOnly : ', userMoneyOnly);
console.log('totAccount : ', totAccount);
if(totAccount < 0){
alert("고객님의 이벤트 캐시 잔액(" + parseInt(totAccount)*-1 + "원) 부족으로 요청하신 문자("+numberWithCommas($selectedData.length)+"건)를 모두 발송할 수 없습니다.");
return false;
}
}
console.log(' !!! imgFilePath : ', imgFilePath);
// img 처리 영역
imgFilePath = [];
$('.thumb_wrap').find('.thumb_img').each(function(idx, el) {
if($("#delLi"+idx).hasClass("Template")){
templateYn.push("Y");
} else {
templateYn.push("N");
}
if($(el).hasClass("edit_y")) {
//이미지 변환
const imgBase64 = $(el).attr("src");
const decodImg = atob(imgBase64.split(',')[1]); // base64~ 부분을 제외하고 데이터 디코딩
let array = [];
for (let i = 0; i < decodImg.length; i++) {
array.push(decodImg.charCodeAt(i));
}
const file = new Blob([new Uint8Array(array)], {type: 'image/jpeg'});
const fileName = 'canvas_img_' + new Date().getMilliseconds() + '.jpg';
let formData = new FormData();
formData.append('file', file, fileName);
$.ajax({
type: 'post',
url: '/web/mjon/msgdata/insertEditImageAjax.do',
cache: false,
data: formData,
dataType:'json',
processData: false,
contentType: false,
async: false,
success: function (returnData, status) {
if(status == 'success'){
console.log('returnData : ',returnData)
// imgFilePath 에 배열로 담아주기(이미지 순서대로)
//console.log(imgFilePath);
imgFilePath.push(returnData.filefullPath);
imgFileId.push(returnData.atchFileId);
} else if(status== 'fail'){
alert(returnData.message);
}
},
error: function (e) { alert("이미지 업로드에 실패하였습니다."); console.log("ERROR : ", e); }
});
} else {
if(imgFilePath.length != imgFileId.length){
//에디터 안거친 템플릿 이미지면 바로 src 때림
imgFilePath.push($(el).attr("src"));
}
}
});
//form.reserveYn.value = reserYn; // 즉시 / 예약 문자 선택 여부
form.templateYnAdvc.value = templateYn;
form.imgFilePathAdvc.value = imgFilePath;
form.imgFileIdAdvc.value = imgFileId;
// form.imgFilePath.value = JSON.stringify(imgFilePath).replace(/\\/g, '');
// form.imgFileId.value = JSON.stringify(imgFileId).replace(/\\/g, '');
form.callFrom.value = removeDash($('#callFromList').val()); // 발신번호 대쉬(-) 문자 없애주기
//광고 종류 설정
// var adverYn = $("input[name='send_adYn']:checked").val();
var adverYn = $('#send_adYn').val();
if(adverYn == 'Y'){
form.msgKind.value = "A"; //광고문자 종류 설정
}else{
form.msgKind.value = "N"; //일반문자 종류 설정
}
// 예약 확인
var reserYn = $("input[name=reserYn]:checked").val(); // 예약 발송 여부 확인
form.reserveYn.value = reserYn; // 즉시 / 예약 문자 선택 여부
if(reserYn == 'Y'){
var date = $(".resDate").val();//form.msgResDate.value;
var hour = form.msgResHour.value;
var min = form.msgResMin.value;
if(date == ""){
alert("예약전송 날짜를 선택해 주세요.");
return false;
}else{
var now = new Date();
var reqDate = date + " " + hour + ":" + min + ":00";
var gapDate = getGapDayTime(date, hour, min);
if(gapDate < 0){ // 음수이면 이전날짜, 크면 이후 날짜.
alert("예약 날짜는 현재 시간 이후의 날짜 및 시간을 선택해 주세요.");
return false;
}else{
form.reqDate.value = reqDate; //예약일자 파라미터 저장
}
}
}else{
form.reqDate.value = "";
}
//발송 Ajax 호출해주기
sendMsgAjax_advc();
}
// 선택된 데이터의 길이에 따라 예상 시간 계산 함수
function calculateEstimatedTime(selectedCount) {
//기준값
// const processTimePerBatch = 130; // 130초
// 30만건 기준 10분으로 기준을 잡아서
// 시간계산함
const processTimePerBatch = 600;
const batchSize = 300000;
// 1건당 처리 시간
const timePerRecord = processTimePerBatch / batchSize;
// 예상 시간 계산
const estimatedTimeInSeconds = selectedCount * timePerRecord;
return estimatedTimeInSeconds.toFixed(2);
}
function sendMsgAjax_advc(){
// 타블레이터 호출
var $selectedData = tableL.getData(); // 데이터 가져오기
// 폼 데이터를 배열로 직렬화
var form = $('#msgForm');
var formDataArray = form.serializeArray();
// 배열을 객체로 변환
var formData = {};
$.each(formDataArray, function(index, field) {
formData[field.name] = field.value;
});
// 빈 값 제거
removeEmptyValues(formData);
// 선택된 데이터 추가
formData["mjonMsgSendVOList"] = $selectedData;
// JSON 데이터 확인
console.log("최종 formData:", JSON.stringify(formData));
var url = "/web/mjon/msgdata/sendMsgDataAjax_advc.do";
// 시작 시간
const startTime = new Date();
// 프로그래스파 시간을 위한 계산
var estimtedTime = calculateEstimatedTime($selectedData.length);
$.ajax({
type: "POST",
url: url,
data: JSON.stringify(formData),
contentType: 'application/json',
dataType: 'json',
success: function (data) {
var status = data.status;
if("OK" == status){ // 성공
var smsCnt = Number(data.object.resultSts);
var blockCnt = Number(data.object.resultBlockSts);
if((smsCnt + blockCnt) == 0){
$('.pop_msg_spam').css({'display':'block','opacity':'1','left':'50%','top':'50%','transform':'translate(-50%,-50%)'});
$('.pop_msg_spam .msg_text').html("문자 발송(예약)에 실패하였습니다.<br/> 다시 시도해주세요. <br/>* 정상적으로 발송 시도하였으나 실패하신 경우 혹시 문자내용에 사용불가 이모지 <br/>또는 복사-붙여넣기로 인한 보이지 않는 특수문자가 포함되었는지 확인 후 다시 시도해주세요.");
$('.mask').addClass('on');
}else{
$('.pop_msg_success').css({'display':'block','opacity':'1','left':'50%','top':'50%','transform':'translate(-50%,-50%)'});
//예약발송 건의 경우 결과 팝업 문구 변경
var reserYn = $("input[name=reserYn]:checked").val();
var resText = (reserYn === 'Y') ? '예약' : '발송';
$('.pop_msg_success .msg_text').html(resText+" 성공 : <strong>"+ smsCnt + "</strong>건,수신거부 : <span>" + blockCnt + "</span>건의<br>문자가 "+resText+" 되었습니다.");
$('.mask').addClass('on');
}
}else if("BAD_REQUEST" == status){ // 오류
alert(data.message);
return false;
}else if("UNAUTHORIZED" == status){ // 정지 회원 처리
alert(data.message);
//문자발송 URL Move
goMsgUrlMove();
return false;
}else if("NO_CONTENT" == status){ // 발송로직에서 이미지 처리 오류 시 처리
$('.pop_msg_fails').css({'display':'block','opacity':'1','left':'50%','top':'50%','transform':'translate(-50%,-50%)'});
$('.pop_msg_fails .msg_text').html(returnData.message);
$('.mask').addClass('on');
}
},
beforeSend : function(xmlHttpRequest) {
// 프로그래스 바 실행
progressStart(estimtedTime);
},
complete : function(xhr, textStatus) {
// 프로그래스 바 종료
progressComplete();;
},
error: function (e) { alert("문자 발송에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
//폼 유효성 검사 함수
function validateForm(form) {
// 타블레이터 호출
var $selectedData = tableL.getData(); // 데이터 가져오기
if($selectedData.length < 1){
alert("받는사람 내역을 입력해주세요.");
return false;
}
if(form.callFromList.value == ""){
alert("발신번호를 입력해 주세요.");
return false;
}
if (form.subjectChkYn.value === 'N') {
form.mmsSubject.value = "";
} else if (getSpacialStringChk(form.mmsSubject.value)) {
alert("문자 제목에는 치환문자(엑셀 내 *이름*, *1*, *2*, *3*, *4* 등)를 사용하실 수 없습니다.");
return false;
}
//문자제목에 이모지가 있는지 체크
var titleStatusYn = $("input[name='subjectChkYn']:checked").val();
if(titleStatusYn == 'Y') {
if(!emojiCheck(form.mmsSubject.value)) return false;
}
// 문자내용에 이모지가 있는지 체크
var strCont = form.smsTxtArea.value;
if (!emojiCheck(strCont)) return false;
var rtnStr = strChinJpnCheck(strCont);
if(rtnStr.length > 0){
alert("입력하신 문구 중 \" " + rtnStr + " \" 는 일부 휴대폰에서 표기되지 않을 수 있습니다.");
}
if (imgFilePath.length === 0 && !form.smsTxtArea.value) {
alert("문자내용을 입력해 주세요.");
return false;
}
return true;
}
//이벤트가 아닌 일반 개별 단가 셋팅해주기
function getNorEachPrice(evnMsgType){
var norEachPrice = 0;
var evnImgCnt = $("#imgCnt").val();
//일반 단가로 변경해주기
if(evnMsgType == '4'){
norEachPrice = $("#norsPrice").val();
console.log("norEachPrice Short::: "+norEachPrice);
}else if(evnMsgType == '6'){
if(evnImgCnt == 0){//장문 가격
norEachPrice = $("#normPrice").val();
console.log("norEachPrice Long ::: "+norEachPrice);
}else if(evnImgCnt == 1){
norEachPrice = $("#norpPrice").val();
console.log("norEachPrice p1 ::: "+norEachPrice);
}else if(evnImgCnt == 2){
norEachPrice = $("#norp2Price").val();
console.log("norEachPrice p2 ::: "+norEachPrice);
}else if(evnImgCnt == 3){
norEachPrice = $("#norp3Price").val();
console.log("norEachPrice p3 ::: "+norEachPrice);
}
}
return norEachPrice;
}
//이벤트가 아닌 일반 개별 단가 셋팅해주기
function getEventEachPrice(evnMsgType){
var eventEachPrice = 0;
var evnImgCnt = $("#imgCnt").val();
//일반 단가로 변경해주기
if(evnMsgType == '4'){
eventEachPrice = $("#sPrice").val();
console.log("eventEachPrice Short::: "+eventEachPrice);
}else if(evnMsgType == '6'){
if(evnImgCnt == 0){//장문 가격
eventEachPrice = $("#mPrice").val();
console.log("eventEachPrice Long ::: "+eventEachPrice);
}else if(evnImgCnt == 1){
eventEachPrice = $("#pPrice").val();
console.log("eventEachPrice p1 ::: "+eventEachPrice);
}else if(evnImgCnt == 2){
eventEachPrice = $("#p2Price").val();
console.log("eventEachPrice p2 ::: "+eventEachPrice);
}else if(evnImgCnt == 3){
eventEachPrice = $("#p3Price").val();
console.log("eventEachPrice p3 ::: "+eventEachPrice);
}
}
return eventEachPrice;
}
//빈 값이나 null 값을 제거하는 함수
function removeEmptyValues(obj) {
Object.keys(obj).forEach(function(key) {
if (obj[key] === null || obj[key] === '') {
delete obj[key];
}
});
}
function sendMsgAjax(paramSmsCnt, paramBlockCnt){
var form = document.msgForm;
var reserYn = $("#reserveYn").val();
var data = new FormData(form);
url = "/web/mjon/msgdata/sendMsgDataAjax.do";
$.ajax({
type: "POST",
url: url,
data: data,
dataType:'json',
async: true,
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 if("smsLengFail" == returnData.result){
alert(returnData.message);
return false;
}else if("imgSourceFail" == returnData.result){
$('.pop_msg_fails').css({'display':'block','opacity':'1','left':'50%','top':'50%','transform':'translate(-50%,-50%)'});
$('.pop_msg_fails .msg_text').html(returnData.message);
$('.mask').addClass('on');
}else if("spamKeyWordFail" == returnData.result){//스팸 및 스미싱 단어가 들어간 문자 발송시 회원 이용정지 처리
$('.pop_msg_spam').css({'display':'block','opacity':'1','left':'50%','top':'50%','transform':'translate(-50%,-50%)'});
$('.pop_msg_spam .msg_text').html(returnData.message);
$('.mask').addClass('on');
}else if("statusFail" == returnData.result){
alert(returnData.message);
//문자발송 URL Move
goMsgUrlMove();
return false;
}else{
var smsCnt = Number(returnData.resultSts);
var blockCnt = Number(returnData.resultBlockSts);
smsCnt = Number(smsCnt) + Number(paramSmsCnt);
blockCnt = Number(blockCnt) + Number(paramBlockCnt);
if((smsCnt + blockCnt) == 0){
$('.pop_msg_spam').css({'display':'block','opacity':'1','left':'50%','top':'50%','transform':'translate(-50%,-50%)'});
$('.pop_msg_spam .msg_text').html("문자 발송(예약)에 실패하였습니다.<br/> 다시 시도해주세요. <br/>* 정상적으로 발송 시도하였으나 실패하신 경우 혹시 문자내용에 사용불가 이모지 <br/>또는 복사-붙여넣기로 인한 보이지 않는 특수문자가 포함되었는지 확인 후 다시 시도해주세요.");
$('.mask').addClass('on');
}else{
$('.pop_msg_success').css({'display':'block','opacity':'1','left':'50%','top':'50%','transform':'translate(-50%,-50%)'});
//예약발송 건의 경우 결과 팝업 문구 변경
if(reserYn == 'Y'){
$('.pop_msg_success .msg_text').html("예약 성공 : <strong>"+ smsCnt + "</strong>건,수신거부 : <span>" + blockCnt + "</span>건의<br>문자가 예약 되었습니다.");
}else{
$('.pop_msg_success .msg_text').html("발송 성공 : <strong>"+ smsCnt + "</strong>건,수신거부 : <span>" + blockCnt + "</span>건의<br>문자가 발송 되었습니다.");
}
$('.mask').addClass('on');
}
}
} else if(status== 'fail'){
alert(returnData.message);
}
},
beforeSend : function(xmlHttpRequest) {
//로딩창 show
$('.loading_layer').addClass('active');
},
complete : function(xhr, textStatus) {
//로딩창 hide
$('.loading_layer').removeClass('active');
},
error: function (e) { alert("문자 발송에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
function linkPage(pageNo){
fnLetterListAjax(pageNo);
}
function linkPhoPage(pageNo){
fnPhotoListAjax(pageNo);
}
function myMsgPage(pageNo){
fnMyMsgListAjax(pageNo);
}
function fnMyMsgCheckDelete(){
var msgId = [];
if($("input:checkbox[name='myMsgDel']").is(":checked")==false){
alert("선택된 항목이 없습니다.");
return;
}
$("input:checkbox[name='myMsgDel']:checked").each(function(index){
msgId[index] = $(this).val();
});
if(msgId.length > 0){
document.myMsgForm.msgIdList.value = msgId;
var sendData = $(document.myMsgForm).serializeArray();
$("#myMsgLoad").load("/web/mjon/msgdata/deleteMyMsgDataListAjax.do", sendData ,function(response, status, xhr){
//문자 내용 스크롤 적용
/* $(".msg_cont").mCustomScrollbar({
axis: 'y',
scrollbarPosition: "inside",
theme: "dark",
autoHideScrollbar: false
}); */
});
}else{
alert("삭제할 문자를 선택해 주세요.");
return false;
}
}
//문자 샘플 2줄, 4줄 보기 기능
function fnLPageUnit(){
var form = document.letterForm;
var pageUnit = form.LPageUnit.value;
form.pageUnit.value = pageUnit;
fnLetterListAjax(1);
}
//그림문자 샘플 2줄, 4줄 보기 기능
function fnPhPageUnit(){
var form = document.letterForm;
var pageUnit = form.PhPageUnit.value;
form.pageUnit.value = pageUnit;
fnPhotoListAjax(1);
}
//내문자함 2줄 4줄보기 기능
function fnMsgPageUnit(){
var form = document.myMsgForm;
var pageUnit = form.msgPageUnit.value;
form.pageUnit.value = pageUnit;
fnMyMsgListAjax(1);
}
function fnMyMsgSearchListOrd(){
var form = document.myMsgForm;
var sortOrd = form.searchSortOrd.value;
if(sortOrd == 'desc'){
form.searchSortOrd.value = 'asc';
$('#sortCnd').text('등록순');
}else{
form.searchSortOrd.value = 'desc';
$('#sortCnd').text('최근순');
}
//내문자함 내용 검색하기
fnMyMsgSearchListAjax(1);
}
function msgSuccessClose(obj){
$(obj).closest('.pop_msg_success').attr('style','');
//문자발송 URL Move
goMsgUrlMove();
$('html').scrollTop(0);
}
function msgFailsClose(obj){
$(obj).closest('.pop_msg_fails').attr('style','');
}
function msgSpamClose(obj){
$(obj).closest('.pop_msg_spam').attr('style','');
//location.href="/web/uat/uia/actionLogout.do";
}
function msgResultLink(){
var reserYn = $("input[name=reserYn]:checked").val(); // 예약 발송 여부 확인
/*if(reserYn == 'Y'){
location.href="/web/mjon/reservmsg/selectReservMsgView.do";
}else{*/
location.href="/web/mjon/msgsent/selectMsgSentView.do";
/*}*/
}
//START
//맞춤제작 요청 JSPark => 2023.02.21 추가
//맞춤제작 등록 Popup
function customPopup(){
$("#customPopup").load("/web/mjon/custom/selectMsgCustomPopupAjax.do", "" ,function(response, status, xhr){
popupImgList(1);
});
}
function openMsgCustomPopup() {
if(loginVO == "" || loginVO == null){
alert("로그인 후 이용이 가능합니다.");
return false;
} else {
$("#customPopupOpen").trigger("click");
}
$("#customType04").hide();
popCustomScrT=$(window).scrollTop();
popScrTarget();
}
$(window).on('load',function(){
setTimeout(function(){
popScrTarget();
},500);
});
function popScrTarget(){
var closeTarget=$('.custom_layer .tooltip-close');
closeTarget.attr('onclick','popScrCloseSetting();');
}
function popScrCloseSetting(){
setTimeout(function(){
$(window).scrollTop(popCustomScrT);
},1);
}
//END