수정완료
This commit is contained in:
parent
faedf7f75f
commit
681bdadb7d
@ -474,7 +474,7 @@ function upImgClick(){
|
||||
if (!link) {
|
||||
|
||||
|
||||
if(!confirm("URL먼저 입력을 안하면 이미지에 URL 저장이 안됩니다.\n계속하시겠습니까?")){
|
||||
if(!confirm("먼저 URL을 입력하지 않으면 이미지에 URL이 저장되지 않습니다. 계속하시겠습니까?")){
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -1551,6 +1551,9 @@ function updateButtons(){
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<!-- 로딩바 -->
|
||||
@ -2143,13 +2146,13 @@ function updateButtons(){
|
||||
<div class="btn_popup_wrap">
|
||||
<button type="button" data-tooltip="popup03" class="btnType btnType7 tab2">자주보내는 번호</button>
|
||||
</div>
|
||||
<div class="btn_popup_wrap check_validity_wrap">
|
||||
<!-- <div class="btn_popup_wrap check_validity_wrap">
|
||||
<button type="button" class="btnType btnType7 check_validity">오류 검사<i class="qmMark error_qm"></i></button>
|
||||
<div class="error_hover_cont send_hover_cont">
|
||||
<p>휴대폰 번호 입력 시 해당 휴대폰 번호에 대한 형식이 어긋나거나 휴대폰 번호에 오류가 있는지 등을 검사하는 기능</p>
|
||||
<span>(예시) 010-1234-0001(O) / 010-12345-0001(X)</span>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="list_bottom clearfix">
|
||||
|
||||
@ -20,46 +20,41 @@ $(document).ready(function (){
|
||||
tableL = new Tabulator(".callList_box", {
|
||||
height:"255px",
|
||||
layout:"fitColumns",
|
||||
//data:tabledata,
|
||||
//autoColumns:true,
|
||||
headerHozAlign:"center",
|
||||
validationMode:"highlight",
|
||||
//clipboard:false,
|
||||
//clipboardCopySelector:"table",
|
||||
//clipboardPasteAction:"insert", // insert, update, replace
|
||||
placeholder:"복사(Ctrl+C)한 내용을 여기에 붙여넣기(Ctrl+V) 해주세요.", //fit columns to width of table (optional)
|
||||
resizableColumns:false,
|
||||
columnDefaults:{ // 공통설정
|
||||
hozAlign: "center",
|
||||
headerHozAlign: "center",
|
||||
editor: "input",
|
||||
editor: false,
|
||||
editor: false
|
||||
},
|
||||
columns:[ //Define Table Columns
|
||||
{formatter:"rowSelection", headerHozAlign:"center", titleFormatter:"rowSelection",clipboard:false, hozAlign:"center", width:5, headerSort:false, cellClick:function(e, cell){
|
||||
cell.getRow().toggleSelect();
|
||||
}},
|
||||
{title:"이름", hozAlign:"center", field:"name", editor:"input", validator:["maxLength:12"], cellEdited:function(cell){
|
||||
{title:"이름", hozAlign:"center", field:"name", validator:["maxLength:12"], cellEdited:function(cell){
|
||||
//cell - cell component
|
||||
fnReplCell();
|
||||
}},
|
||||
{title:"휴대폰", hozAlign:"center", field:"phone", editor:"input", width:100, validator:["required","minLength:10", "maxLength:12"], cellEdited:function(cell){
|
||||
{title:"휴대폰", hozAlign:"center", field:"phone", width:100, validator:["required","minLength:10", "maxLength:12"], cellEdited:function(cell){
|
||||
//cell - cell component
|
||||
fnDuplPhone();
|
||||
}},
|
||||
{title:"[*1*]", hozAlign:"center", field:"rep1", editor:"input", minWidth:60, validator:["maxLength:40"], cellEdited:function(cell){
|
||||
{title:"[*1*]", hozAlign:"center", field:"rep1", minWidth:60, validator:["maxLength:40"], cellEdited:function(cell){
|
||||
//cell - cell component
|
||||
fnReplCell();
|
||||
}},
|
||||
{title:"[*2*]", hozAlign:"center", field:"rep2", editor:"input", minWidth:60, validator:["maxLength:40"], cellEdited:function(cell){
|
||||
{title:"[*2*]", hozAlign:"center", field:"rep2", minWidth:60, validator:["maxLength:40"], cellEdited:function(cell){
|
||||
//cell - cell component
|
||||
fnReplCell();
|
||||
}},
|
||||
{title:"[*3*]", hozAlign:"center", field:"rep3", editor:"input", minWidth:60, validator:["maxLength:40"], cellEdited:function(cell){
|
||||
{title:"[*3*]", hozAlign:"center", field:"rep3", minWidth:60, validator:["maxLength:40"], cellEdited:function(cell){
|
||||
//cell - cell component
|
||||
fnReplCell();
|
||||
}},
|
||||
{title:"[*4*]", hozAlign:"center", field:"rep4", editor:"input", minWidth:60, validator:["maxLength:40"], cellEdited:function(cell){
|
||||
{title:"[*4*]", hozAlign:"center", field:"rep4", minWidth:60, validator:["maxLength:40"], cellEdited:function(cell){
|
||||
//cell - cell component
|
||||
fnReplCell();
|
||||
}},
|
||||
@ -556,6 +551,207 @@ $(document).ready(function (){
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//받는사람 목록에 복사/붙여넣기 기능 처리
|
||||
$('.callList_box').on('paste', function (e) {
|
||||
console.log(' :: callList _box :: ');
|
||||
|
||||
var element = e.originalEvent.clipboardData.getData('text'); // 클립보드에 복사한 데이터 가져오기
|
||||
|
||||
var elmSplit= [];
|
||||
|
||||
elmSplit = element.split("\n");
|
||||
|
||||
var elmLen = elmSplit.length;
|
||||
|
||||
|
||||
if(elmLen < 0){
|
||||
|
||||
alert("붙여넣을 연락처를 복사해주세요.");
|
||||
return false;
|
||||
|
||||
}else{
|
||||
tableErrorData.length = 0; // 오류 번호 배열 초기화
|
||||
|
||||
var splitData = [];
|
||||
var realPhone = [];
|
||||
for(var i=0; i < elmLen; i++){
|
||||
|
||||
var splitStr = elmSplit[i];
|
||||
var tabData = [];
|
||||
var comData = [];
|
||||
|
||||
if(splitStr.indexOf('\t') != -1){
|
||||
splitData = splitStr.split('\t'); //탭 구분으로 데이터 분할
|
||||
}else if(splitStr.indexOf(',') != -1){
|
||||
splitData = splitStr.split(','); //콤마 구분으로 데이터 분할
|
||||
}else{
|
||||
splitData = splitStr.split(' ');
|
||||
}
|
||||
|
||||
|
||||
if(splitData.length == 0){// 데이터가 없는경우
|
||||
|
||||
alert("탭으로 구분하여 데이터를 복사해 주세요.");
|
||||
return false;
|
||||
|
||||
}else if(splitData.length == 1){// 데이터가 탭으로 구분이 없는 경우
|
||||
|
||||
for(var j=0; j < splitData.length; j++){
|
||||
if(checkHpNum(splitData[j].trim())){//핸드폰 양식이 맞는지 확인
|
||||
//배열 끝에 데이터 추가해 주기
|
||||
realPhone.push({phone: removeDash(splitData[j].trim()), name: ""});
|
||||
}
|
||||
else {
|
||||
if (splitData[j].trim() != '' && splitData[j].trim() != null && splitData[j].trim() != undefined) {
|
||||
tableErrorData.push(splitData[j].trim());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}else{//데이터가 탭으로 구분되어 이름, 연락처로 구분된 경우
|
||||
|
||||
var phone = ""; //핸드폰번호
|
||||
var name = ""; //이름
|
||||
var rep1 = ""; //치환문자1
|
||||
var rep2 = ""; //치환문자2
|
||||
var rep3 = ""; //치환문자3
|
||||
var rep4 = ""; //치환문자4
|
||||
var isPhoneValid = false;
|
||||
for(var j=0; j < splitData.length; j++){
|
||||
|
||||
if(j == 0){
|
||||
|
||||
name = splitData[j].trim();
|
||||
|
||||
}
|
||||
|
||||
if(j == 1){
|
||||
|
||||
if(checkHpNum(splitData[j].trim())){//핸드폰 양식이 맞는지 확인
|
||||
phone = removeDash(splitData[j].trim());
|
||||
isPhoneValid = true;
|
||||
}else{
|
||||
if (splitData[j].trim() != '' && splitData[j].trim() != null && splitData[j].trim() != undefined) {
|
||||
tableErrorData.push(splitData[j].trim());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(j == 2){ //치환문자1
|
||||
|
||||
rep1 = splitData[j].trim();
|
||||
|
||||
}
|
||||
|
||||
if(j == 3){ //치환문자2
|
||||
|
||||
rep2 = splitData[j].trim();
|
||||
|
||||
}
|
||||
|
||||
if(j == 4){ //치환문자3
|
||||
|
||||
rep3 = splitData[j].trim();
|
||||
|
||||
}
|
||||
|
||||
if(j == 5){ //치환문자4
|
||||
|
||||
rep4 = splitData[j].trim();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (isPhoneValid == true) {
|
||||
//배열 끝에 데이터 추가해 주기
|
||||
realPhone.push({phone: phone, name: name, rep1 : rep1, rep2 : rep2, rep3 : rep3, rep4 : rep4 });
|
||||
}
|
||||
|
||||
}//else end
|
||||
|
||||
}
|
||||
|
||||
var recTableData = tableL.getRows(); // 받는사람 리스트의 전체 목록을 저장
|
||||
var tableData = [];
|
||||
|
||||
//기존 받는사람 리스트를 배열에 미리 담아둔다.
|
||||
if(recTableData.length > 0){
|
||||
|
||||
for(var j=0; j < recTableData.length; j++){
|
||||
|
||||
tableData.push({phone: removeDash(recTableData[j].getData().phone.trim()) , name: recTableData[j].getData().name, rep1: recTableData[j].getData().rep1, rep2: recTableData[j].getData().rep2, rep3: recTableData[j].getData().rep3, rep4: recTableData[j].getData().rep4, });
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(realPhone.length > 0){
|
||||
|
||||
for(var j=0; j < realPhone.length; j++){
|
||||
|
||||
tableData.push({phone: removeDash(realPhone[j].phone.trim()) , name: realPhone[j].name, rep1: realPhone[j].rep1, rep2: realPhone[j].rep2, rep3: realPhone[j].rep3, rep4: realPhone[j].rep4});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//tableData.push(realPhone);
|
||||
|
||||
//중복 연락처 1개만 남기고 삭제하기
|
||||
var removeDuplPhone = dupliPhoneData(tableData);
|
||||
|
||||
//수신자 리스트에 전화번호 추가해주기
|
||||
//tableL.addData(removeDuplPhone);
|
||||
tableL.setData(removeDuplPhone);
|
||||
|
||||
totRows = tableL.getRows().length;
|
||||
updateTotCnt(totRows); //전체 데이터 갯수 구하기
|
||||
|
||||
var smsTxtArea = $('#smsTxtArea').val();
|
||||
|
||||
//일괄변환 문구 결제금액 처리
|
||||
if(smsTxtArea.indexOf("[*이름*]") > -1
|
||||
|| smsTxtArea.indexOf("[*1*]") > -1
|
||||
|| smsTxtArea.indexOf("[*2*]") > -1
|
||||
|| smsTxtArea.indexOf("[*3*]") > -1
|
||||
|| smsTxtArea.indexOf("[*4*]") > -1){
|
||||
|
||||
fnReplCell_advc();
|
||||
}else{
|
||||
//결제 금액 구하기
|
||||
totalPriceSum(totRows);
|
||||
}
|
||||
|
||||
if (tableErrorData.length > 0) {
|
||||
alert("올바르지 않은 휴대폰 번호가 "+ tableErrorData.length +" 건 있습니다.");
|
||||
}
|
||||
|
||||
|
||||
// 미리보기 버튼 활성화
|
||||
updateButtons(0);
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
var tableErrorData = [];
|
||||
@ -566,9 +762,9 @@ var totRows = 0; // 좌측 받는사람 총 갯수
|
||||
* 토탈 카운트 화면에 노출
|
||||
* 변수 없는 리스트만 체크
|
||||
*/
|
||||
function updateTotCnt(){
|
||||
function updateTotCnt(cnt){
|
||||
|
||||
$("#rowTotCnt").text($('#wrap01_body .list_body').length);
|
||||
$("#rowTotCnt").text(cnt);
|
||||
|
||||
}
|
||||
|
||||
@ -927,3 +1123,8 @@ $('.check_validity').click(function(){
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user