+
@@ -1248,11 +1313,19 @@ function fnEmptyId(){
-
+ <%-- 친구톡 발송시간 체크 하기 - 20:50 ~ 익일 08:00 사이에는 발송 금지 --%>
+
+
+
+
+
+
+
+
-
+
날짜 :
@@ -1261,7 +1334,7 @@ function fnEmptyId(){
-
-
--%>
diff --git a/src/main/webapp/js/kakao/ft/friendstalkExcel.js b/src/main/webapp/js/kakao/ft/friendstalkExcel.js
index cad5ebba..3ea21885 100644
--- a/src/main/webapp/js/kakao/ft/friendstalkExcel.js
+++ b/src/main/webapp/js/kakao/ft/friendstalkExcel.js
@@ -100,7 +100,7 @@ function excelExport(event){
if(checkHpNum(item.phone)){
excelAddr.push({phone: item.phone, name: item.name, rep1: item.replace1, rep2: item.replace2, rep3: item.replace3, rep4: item.replace4});
- console.log(item.phone);
+
}/* else{
alert("엑셀 파일 데이터의 형식이 맞지 않는 부분이 있습니다.");
diff --git a/src/main/webapp/js/kakao/ft/ftTabulator.js b/src/main/webapp/js/kakao/ft/ftTabulator.js
index d091e2fb..3da934e5 100644
--- a/src/main/webapp/js/kakao/ft/ftTabulator.js
+++ b/src/main/webapp/js/kakao/ft/ftTabulator.js
@@ -185,15 +185,6 @@ $(document).ready(function (){
//연락처 추가해 주기
addPhoneInfo(tabledata);
- //tableL.addData(tabledata);
-
- //전체 데이터 갯수 구하기
- //totRows = tableL.getRows().length;
- //updateTotCnt(totRows);
-
- //결제 금액 구하기
- totalPriceSum(totRows);
-
$('#callTo').val("");
}
@@ -217,13 +208,67 @@ $(document).ready(function (){
tableL.clearData();
$("#rowTotCnt").text(0); //총건수 수정
$("#rowDupCnt").text(0); //중복건수 수정
- totalPriceSum(0); //결제 금액 수정
+ totalFtPriceSum(0); //결제 금액 수정
}
}
});
+ // 받는사람 선택삭제 버튼 처리해주기
+ $('.select_del').click(function(){
+
+ if(tableL == null || tableL == ""){
+
+ alert("받는사람을 추가해 주세요.");
+ return false;
+
+ }
+
+ var selectedData = tableL.getSelectedRows();
+
+ if(selectedData == "" || selectedData == null){
+
+ alert("삭제할 연락처를 선택해주세요.");
+ return false;
+
+ }else{ // 선택한 Row 데이터 삭제하기
+
+ if(confirm("선택하신 받는 사람을 삭제하시겠습니까?")){
+
+ for(var i=0; i < selectedData.length; i++){
+
+ selectedData[i].delete();
+
+ }
+
+ totRows = tableL.getRows().length;
+
+ var smsTxtArea = $('#inputTemplateContent').val();
+
+ //일괄변환 문구 결제금액 처리
+ if(smsTxtArea.indexOf("#{이름}") > -1
+ || smsTxtArea.indexOf("#{1}") > -1
+ || smsTxtArea.indexOf("#{2}") > -1
+ || smsTxtArea.indexOf("#{3}") > -1
+ || smsTxtArea.indexOf("#{4}") > -1){
+
+ fnFtReplCell();
+
+ }else{
+ //결제 금액 구하기
+ totalFtPriceSum(totRows);
+ }
+
+ //결제금액 합계 파라이터에 입력
+ $('#rowTotCnt').text(numberWithCommas(totRows));
+
+ }
+
+ }
+
+ });
+
//주소록 불러오기 버튼 클릭시
@@ -510,25 +555,28 @@ function addPhoneInfo(data){
_fileIdx = 0; //form file idx 초기화
totRows = tableL.getRows().length;
- updateTotCnt(totRows); //전체 데이터 갯수 구하기
- var smsTxtArea = $('#smsTxtArea').val();
+ var smsTxtArea = $('#inputTemplateContent').val();
+
//일괄변환 문구 결제금액 처리
- if(smsTxtArea.indexOf("[*이름*]") > -1
- || smsTxtArea.indexOf("[*1*]") > -1
- || smsTxtArea.indexOf("[*2*]") > -1
- || smsTxtArea.indexOf("[*3*]") > -1
- || smsTxtArea.indexOf("[*4*]") > -1){
-
- fnReplCell();
+ if(smsTxtArea.indexOf("#{이름}") > -1
+ || smsTxtArea.indexOf("#{1}") > -1
+ || smsTxtArea.indexOf("#{2}") > -1
+ || smsTxtArea.indexOf("#{3}") > -1
+ || smsTxtArea.indexOf("#{4}") > -1){
+
+ fnFtReplCell();
}else{
//결제 금액 구하기
- totalPriceSum(totRows);
+ totalFtPriceSum(totRows);
}
+ //결제금액 합계 파라이터에 입력
+ $('#rowTotCnt').text(numberWithCommas(totRows));
+
}
}
@@ -569,3 +617,212 @@ function addrToList(){
}
}
+
+
+//특정문구 일괄변환 문자길이 체크 하기
+function fnFtReplCell(){
+
+ var smsTxtArea = $('#inputTemplateContent').val();
+
+ //이벤트 잔여 캐시 자동 처리 관련 변수
+ var eachPrice = parseFloat($("#eachPrice").val());
+ var kakaoFtPrice = parseFloat($("#kakaoFtPrice").val());
+ var shortPrice = parseFloat($("#shortPrice").val());
+ var longPrice = parseFloat($("#longPrice").val());
+
+ if(smsTxtArea.indexOf("#{이름}") > -1
+ || smsTxtArea.indexOf("#{1}") > -1
+ || smsTxtArea.indexOf("#{2}") > -1
+ || smsTxtArea.indexOf("#{3}") > -1
+ || smsTxtArea.indexOf("#{4}") > -1){
+
+
+ var rowData = tableL.getRows();
+ var recTableData = tableL.getRows(); // 받는사람 리스트의 전체 목록을 저장
+ //var tableData = [];
+
+ var msg_short = 0; //단문문자 갯수
+ var msg_long = 0; //장문문자 갯수
+
+ //일괄변환문자 포함 여부 변경 - 문자내용에 치환변환 문자는 있지만 받는사람 데이터에 치환 데이터를 안넣는 경우 오류가 발생하여 상태값 입력 위치 상단으로 변경함.
+ //치환데이터가 없는 경우 Alert 띄우고 빠져나가기 때문에 치환문자 상태 체크값이 누락되어서 변경함 - 20230407 우영두
+ $('#txtReplYn').val("Y");
+
+ var nmStatus = false;
+ var rep1Status = false;
+ var rep2Status = false;
+ var rep3Status = false;
+ var rep4Status = false;
+
+ if(smsTxtArea.indexOf("#{이름}") > -1){
+
+ nmStatus = true;
+ }
+
+ if(smsTxtArea.indexOf("#{1}") > -1){
+
+ rep1Status = true;
+ }
+
+ if(smsTxtArea.indexOf("#{2}") > -1){
+
+ rep2Status = true;
+ }
+
+ if(smsTxtArea.indexOf("#{3}") > -1){
+
+ rep3Status = true;
+ }
+
+ if(smsTxtArea.indexOf("#{4}") > -1){
+
+ rep4Status = true;
+ }
+
+
+ //기존 받는사람 리스트를 배열에 미리 담아둔다.
+ if(recTableData.length > 0){
+
+ for(var j=0; j < recTableData.length; j++){
+
+ var smsTxt = smsTxtArea;
+
+ if(typeof recTableData[j].getData().name != 'undefined' && recTableData[j].getData().name != null && recTableData[j].getData().name != ""){
+
+ var name = recTableData[j].getData().name;
+ smsTxt = stringReplaceAll(smsTxt, "#{이름}", name);
+
+ }
+
+ if(typeof recTableData[j].getData().rep1 != 'undefined' && recTableData[j].getData().rep1 != null && recTableData[j].getData().rep1 != ""){
+
+ var rep1 = recTableData[j].getData().rep1;
+ smsTxt = stringReplaceAll(smsTxt, "#{1}", rep1);
+
+ }
+
+ if(typeof recTableData[j].getData().rep2 != 'undefined' && recTableData[j].getData().rep2 != null && recTableData[j].getData().rep2 != ""){
+
+ var rep2 = recTableData[j].getData().rep2;
+ smsTxt = stringReplaceAll(smsTxt, "#{2}", rep2);
+
+ }
+
+ if(typeof recTableData[j].getData().rep3 != 'undefined' && recTableData[j].getData().rep3 != null && recTableData[j].getData().rep3 != ""){
+
+ var rep3 = recTableData[j].getData().rep3;
+ smsTxt = stringReplaceAll(smsTxt, "#{3}", rep3);
+
+ }
+
+ if(typeof recTableData[j].getData().rep4 != 'undefined' && recTableData[j].getData().rep4 != null && recTableData[j].getData().rep4 != ""){
+
+ var rep4 = recTableData[j].getData().rep4;
+ smsTxt = stringReplaceAll(smsTxt, "#{4}", rep4);
+
+ }
+
+
+ var msgLen = strMaxCharacterCnt(smsTxt);
+ var maxLenChar = 1000;
+
+ var imgType = $("#imageType").val();
+
+ //일반 이미지 첨부시 글자수 최대 400글자
+ if(imgType == "I"){
+
+ maxLenChar = 400;
+
+ }else if(imgType == "W"){
+ //와이드 이미지 첨부시 글자수 최대 76글자
+ maxLenChar = 76;
+
+ }
+
+ if(msgLen < 1){
+
+
+ }else if(msgLen > maxLenChar){
+
+ alert("친구톡 내용은 "+ maxLenChar +" 자를 넘을 수 없습니다.");
+ tableL.clearData(); //기존 받는사람 목록을 삭제.
+ return false;
+
+ }
+
+ //첫번째 수신자의 변환 텍스트 내용을 적용하여 미리보기 문자내용에 보여주자.
+ if(j == 0){
+
+ //미리보기에 내용 입력해 주기
+ $('.template_text').text(smsTxt);
+
+ }
+
+ }
+
+ }
+
+ //결제 금액 구하기
+ totalFtPriceSum(tableL.getRows().length);
+
+ }
+
+}
+
+
+//오류 검사 버튼 처리
+$('.check_validity').click(function(){
+
+ var invalid = tableL.getInvalidCells(); //오류 데이터 체크
+ var dataLen = tableL.getRows().length; //연락처 데이터 갯수
+ var totLen = invalid.length; //오류 데이터 갯수
+ var errMsg = ""; //최종 alert에 표시할 메시지 저장 변수
+
+ if(dataLen > 0){ //연락처 정보가 있으면 수행
+
+ if(totLen > 0){ //내용에 오류가 있으면 수행
+
+ //오류 데이터 값 저장
+ for(var i=0; i < totLen; i++){
+
+ var cellValue = invalid[i].getValue();
+
+ if(i == 0){
+
+ errMsg = cellValue;
+
+ }else{
+
+ errMsg = errMsg +", "+ cellValue;
+
+ }
+
+ }
+
+ if(errMsg == "" || errMsg == null){
+
+ alert("내용에 오류가 있습니다.");
+ return false;
+
+ }else{
+
+ alert(errMsg + "의 내용에 오류가 있습니다.");
+ return false;
+
+ }
+
+ }else{
+
+ alert("오류 데이터가 없습니다.");
+ return false;
+
+ }
+
+ }else{
+
+ alert("연락처를 입력해 주세요.");
+ return false;
+
+ }
+
+});
diff --git a/src/main/webapp/js/kakao/templateComm.js b/src/main/webapp/js/kakao/templateComm.js
index a88e42cc..793eb7bb 100644
--- a/src/main/webapp/js/kakao/templateComm.js
+++ b/src/main/webapp/js/kakao/templateComm.js
@@ -70,27 +70,26 @@ function setContentsLengForFriends(contents){
}
-
+ //제한글자수를 넘겼을 경우 최대 글자수까지 잘라주고 미리보기 및 글자수 표시처리
if(conLeng > limitLeng){
var splicecon = strMaxLengthSubstring(contents, limitLeng-1);
$('#inputTemplateContent').val(splicecon);
- return false;
-
- }else{//현재 입력한 글자수 우측 하단에 표시해 주기
-
- var repContent = "";
- repContent = contents.replace(/(?:\r\n|\r|\n)/g, '
');
-
- $('.nowChar').text(conLeng + " /");
- $('.totChar').text(" "+limitLeng);
- $('.template_text').show();
- if(repContent != ''){
- $('.template_text').html(repContent);
- }else{
- $('.template_text').html("내용 미리보기");
- }
+ contents = splicecon;
+ conLeng = strMaxCharacterCnt(contents);
}
+ var repContent = "";
+ repContent = contents.replace(/(?:\r\n|\r|\n)/g, '
');
+
+ $('.nowChar').text(conLeng + " /");
+ $('.totChar').text(" "+limitLeng);
+ $('.template_text').show();
+ if(repContent != ''){
+ $('.template_text').html(repContent);
+ }else{
+ $('.template_text').html("내용 미리보기");
+ }
+
}
\ No newline at end of file