File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
$(document).on('click', '.addressregi_btn', function() {
var tableData = tableL.getRows();
var dataLen = tableL.getRows().length;
if(dataLen == 0){
alert("연락처 정보를 등록해 주세요.");
return false;
}else{
$('.addressregi_layer').css({'width':'680px','display':'block','left':'50%','top':'50%','transform':'translate(-50%,-50%)'});
setTimeout(function(){
$('.addressregi_layer').css({'opacity':'1'});
},150);
$('.mask').addClass('on');
getAddrGroupList();
}
});
$(document).on('click', '.addressregi_layer .tooltip-close', function() {
$('.addressregi_layer').attr('style','');
$("#addrGrpNm").val("");
});
$(document).on('change', '#addrGrpIdInfo', function() {
if ($("#addrGrpIdInfo option:selected").val() != "NEW") {
$("#addrGrpNm").val(""); // 새그룹명 Clear;
}
});
//주소록 그룹정보 불러오기
function getAddrGroupList() {
$.ajax({
type : "POST",
async : false,
url : "/web/mjon/addr/addrGroupListAjax.do",
data : {},
dataType:'json',
success : function(data) {
//alert(JSON.stringify(data.addrGroupList));
// Show Html
getAddrGroupListShow(data.addrGroupList);
},
error : function(xhr, status, error) {
alert(error);
return false;
}
});
}
//Show Html
function getAddrGroupListShow(jsonList) {
var sHtml = "";
sHtml += "<option value='NEW'>그룹추가</option>";
sHtml += "<option value='0'>그룹미지정</option>";
sHtml += "<option value='bookmark'>자주보내는 번호</option>";
for (var j = 0; j < jsonList.length; j++) {
sHtml += " <option value='" + $.trim(jsonList[j].addrGrpId) + "' />" + $.trim(jsonList[j].addrGrpNm) + "</option>";
}
$("#addrGrpIdInfo").html(sHtml);
}
//주소록 그룹 중복체크
function getAddrGroupDuplCheckAjax(addrGrpNm) {
console.log('addrGrpNm : ', addrGrpNm)
console.log('getAddrGroupDuplCheckAjax()')
var isReturn = true;
$.ajax({
url : "<c:url value='/web/addr/getAddrGroupDuplCheckAjax.do' />",
type : 'POST',
data : {"addrGrpNm" : addrGrpNm},
dataType:'json',
async: false, // 동기
success : function(data, status){
if(data.isSuccess == true) {
if(data.isDupl == true) {
//alert("중복된 그룹명입니다.");
isReturn = false;
}
}
else {
//alert("Message : " + msg);
}
},
error: function (e) {
//alert("주소록 중복체크에 실패했습니다.");
}
});
return isReturn;
}
//주소록 팝업 닫기 기능
function addrClose(){
$(".closeAddr").trigger("click");
//주소록 레이어 팝업의 Tabulator 데이터 지워주기
tableAddr.clearData();
}
//주소록 불러오기에서 수신자 리스트 추가해 주기
/*
function addrToList(){
var selectedData = tableAddr.getSelectedRows();
var tableData = [];
if(selectedData == "" || selectedData == null){
alert("주소록을 선택해 주세요.");
return false;
}else{ // 선택한 Row 데이터 저장해주기
// 선택한 Row 데이터 저장해주기
// if(selectedData.length > 500){
// alert("최대 발송 건수는 500 입니다.");
// return false;
// }else{
for(var i=0; i < selectedData.length; i++){
//좌측 받는사람 리스트를 담아둔 배열에 데이터를 추가해 준다.
tableData.push({
phone: removeDash(selectedData[i].getData().addrPhone)
, name: selectedData[i].getData().addrName
// , rep1: selectedData[i].getData().addrRep1
// , rep2: selectedData[i].getData().addrRep2
// , rep3: selectedData[i].getData().addrRep3
// , rep4: selectedData[i].getData().addrRep4
});
}
//선택한 데이터 받는사람 리스트에 추가해 주기
addPhoneInfo(tableData);
$(".closeAddr").trigger("click");
//주소록 레이어 팝업의 Tabulator 데이터 지워주기
tableAddr.clearData();
// }
}
}
*/
//주소록 불러오기에서 수신자 리스트 추가해 주기
function addrToList_advc(type){
// 선택된 데이터 또는 전체 데이터 변수 초기화
let selectedData = type === 'select' ? tableAddr.getSelectedRows() : tableAddr.getData();
// 데이터가 비어있으면 경고 후 종료
if (!selectedData || selectedData.length < 1) {
if(tableAddr.getDataCount() < 1){
alert("주소록을 선택해 주세요.");
}else{
alert("전화번호를 선택해 주세요.");
}
return false;
}
// 데이터 변환 로직
const addrData = selectedData.map(row => {
const rowData = type === 'select' ? row.getData() : row; // 'select'는 행 객체에서 데이터 추출
return {
phone: removeDash(rowData.phone),
};
})
.filter(row => checkHpNum(row.phone)); // 유효한 번호만 필터링;
// 기존 tableL의 데이터를 가져옵니다.
var existingData = tableL.getData();
// 기존 데이터와 새로운 데이터를 합칩니다.
var combinedData = existingData.concat(addrData);
// @ phone을 기준으로 중복 제거 및 갯수 계산
const result = removeDuplicatesAndCount(combinedData, 'phone');
// 총 30만건이 넘으면 false
if (!validateRowLimit(result.uniqueCount)) {
return false;
}
setAllCntData(result);
// 미리보기 버튼 활성화
$(".closeAddr").trigger("click");
//주소록 레이어 팝업의 Tabulator 데이터 지워주기
tableAddr.clearData();
fn_priceClclt();
}
function loadAddrList(){
/*
serialize 를 사용할때는 processDa ta, contentType 옵션 제가할것
*/
var data = $("#searchAddrGrpForm").serialize();
var url = "/web/mjon/msgdata/selectMsgAddrListAjax_advc.do";
$.ajax({
type: "POST",
url: url,
data: data,
dataType:'json',
async: true,
cache: false,
success: function (data) {
console.log('data : ', data);
if(data.status == "OK"){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나
var addrList = data.object;
if(addrList.length == 0){
alert("주소록 정보가 없습니다.");
// tableAddr.setData([]);
return false;
}
// console.log('data : ', data);
tableAddr.setData(addrList);
}
else
{
alert("주소록 불러오기에 실패하였습니다. !!");
}
},
error: function (jqXHR, textStatus, errorThrown) {
alert("주소록 불러오기에 실패하였습니다.");
console.error("Error:", jqXHR.status, textStatus, errorThrown);
console.error("Response Text:", jqXHR.responseText);
try {
let json = JSON.parse(jqXHR.responseText);
console.log("Parsed JSON Response:", json);
} catch (e) {
console.error("JSON Parse Error:", e);
}
},
beforeSend : function(xmlHttpRequest) {
//로딩창 show
$('.loading_layer').addClass('active');
},
complete : function(xhr, textStatus) {
//로딩창 hide
$('.loading_layer').removeClass('active');
}
});
}
function fnAddrSearch(){
var form = document.searchAddrGrpForm;
form.searchKeyword.value = form.searchAddrKeyword.value;
form.searchCondition.value = form.searchAddrCondition.value;
loadAddrList();
}
//주소록 불러오기 팝업의 그룹 선택시 우측에 주소록 불러오기
function fnSelectAddrList(type,addrGrpId,item){
// 주소록 그룹 열림, 닫힘 폴더이미지 초기화
$(".adr_pop_list div p").each(function (index, item) {
$(item).find("img").attr("src", "/publish/images/content/close_folder2.png");
$(item).find("img").attr("alt", "폴더 닫힘");
});
var form = document.searchAddrGrpForm;
form.type.value = type;
form.searchAddrGrpId.value = addrGrpId;
form.searchKeyword.value = "";
form.searchCondition.value = form.searchAddrCondition.value;
//왼쪽 그룹리스트의 그룸명을 선택시 검색어를 초기화해준다.
form.searchAddrKeyword.value="";
/*
$(item).toggleClass("open");
if ($(item).hasClass("open") === true) {
$(item).find("img").attr("src", "/publish/images/content/open_folder2.png");
$(item).find("img").attr("alt", "폴더 열림");
}
else {
$(item).find("img").attr("src", "/publish/images/content/close_folder2.png");
$(item).find("img").attr("alt", "폴더 닫힘");
}
*/
$(item).find("img").attr("src", "/publish/images/content/open_folder2.png");
$(item).find("img").attr("alt", "폴더 열림");
loadAddrList();
}
//주소록 불러오기 그룹명 검색 기능처리
function fnAddrGrpSearch(){
var form = document.searchAddrGrpForm;
form.searchKeyword.value = form.searchGrpKeyword.value;
form.searchCondition.value = "";
var sendData = $(document.searchAddrGrpForm).serializeArray();
$("#addrGroupLoad").load("/web/mjon/msgdata/selectAddrGroupListAjax.do", sendData ,function(response, status, xhr){
//리스트 스크롤 처리해주기
$(".adr_pop_list").mCustomScrollbar({
axis: 'y',
scrollbarPosition: "outside",
theme: "dark",
autoHideScrollbar: false
});
});
}
/*
//문자발송 받는사람 목록 주소록에 등록하기 기능 처리
$('.registAddr').click(function(){
var tableData = tableL.getRows();
var dataLen = tableL.getRows().length;
var nameList = []; //치환문자 이름
var phoneNum = []; //받는사람
var rep1List = []; //치환문자1
var rep2List = []; //치환문자2
var rep3List = []; //치환문자3
var rep4List = []; //치환문자4
if(dataLen > 0){
for(var i=0; i < dataLen; i++){
var name = tableData[i].getData().name;
var phone = removeDash(tableData[i].getData().phone);
var rep1 = tableData[i].getData().rep1;
var rep2 = tableData[i].getData().rep2;
var rep3 = tableData[i].getData().rep3;
var rep4 = tableData[i].getData().rep4;
if(phone == "" || phone == null){
alert("수신 목록에 핸드폰 번호가 없는 항목이 있습니다.");
return false;
}else if(!checkHpNum(phone)){
alert("수신 목록에 잘 못된 핸드폰 번호가 있습니다. 핸드폰 번호 : " + phone + " 입니다.");
return false;
}
nameList[i] = name;
phoneNum[i] = phone;
if(rep1 == "" || rep1 == null){
rep1List[i] = "-";
}else{
rep1List[i] = rep1;
}
if(rep2 == "" || rep2 == null){
rep2List[i] = "-";
}else{
rep2List[i] = rep2;
}
if(rep3 == "" || rep3 == null){
rep3List[i] = "-";
}else{
rep3List[i] = rep3;
}
if(rep4 == "" || rep4 == null){
rep4List[i] = "-";
}else{
rep4List[i] = rep4;
}
if(name == "" || name == null){
alert("수신 목록에 이름이 없는 항목이 있습니다. 이름을 입력해 주세요");
return false;
}else{
nameList[i] = name;
phoneNum[i] = phone;
if(rep1 == "" || rep1 == null){
rep1List[i] = "-";
}else{
rep1List[i] = rep1;
}
if(rep2 == "" || rep2 == null){
rep2List[i] = "-";
}else{
rep2List[i] = rep2;
}
if(rep3 == "" || rep3 == null){
rep3List[i] = "-";
}else{
rep3List[i] = rep3;
}
if(rep4 == "" || rep4 == null){
rep4List[i] = "-";
}else{
rep4List[i] = rep4;
}
}
}
//주소록 정보를 Form에 넣어준다.
var form = document.msgForm;
form.callToList.value = phoneNum;
form.nameList.value = nameList;
form.rep1List.value = rep1List;
form.rep2List.value = rep2List;
form.rep3List.value = rep3List;
form.rep4List.value = rep4List;
form.addrGrpId.value = $("#addrGrpIdInfo").val();
form.addrGrpNm.value = $("#addrGrpNm").val();
if ($("#addrGrpIdInfo option:selected").val() == "NEW" && ($("#addrGrpNm").val() == "" || $("#addrGrpNm").val() == null || $("#addrGrpNm").val() == undefined)) {
alert("저장할 그룹을 선택하거나 새 그룹명을 입력해주세요.");
return false;
}else if ($("#addrGrpIdInfo option:selected").val() == "NEW" && $("#addrGrpNm").val() != "") {
//주소록 중복체크
if (getAddrGroupDuplCheckAjax() == false) {
alert("중복된 그룹명입니다. 새 그룹명을 입력해주세요.");
return false;
}
}
if(confirm("연락처 정보를 주소록에 등록 하시겠습니까?")){
var data = new FormData(form);
var url = "/web/mjon/msgdata/insertMsgAddrListAjax.do";
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: url,
data: data,
dataType:'json',
async: true,
processData: false,
contentType: false,
cache: false,
//timeout: 600000,
success: function (returnData, status) {
if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나
if(returnData.result == "success"){
var alertMsg = "총 " + returnData.resultCnt + "건의 " +returnData.message;
if(returnData.dupliCnt > 0) {
alertMsg += "\n"+numberWithCommas(returnData.dupliCnt) + "건은 이미 등록되어있는 번호입니다.";
}
alert(alertMsg);
$("#addrGrpNm").val("");
$('.addressregi_layer').attr('style','');
$('.mask').removeClass('on');
return false;
}else if(returnData.result == "allDupl") {
alert("요청하신 "+returnData.dupliCnt+"건의 번호가 주소록에 이미 등록되어있습니다.");
$("#addrGrpNm").val("");
$('.addressregi_layer').attr('style','');
$('.mask').removeClass('on');
return false;
}else{
alert(returnData.message);
$("#addrGrpNm").val("");
$('.addressregi_layer').attr('style','');
$('.mask').removeClass('on');
return false;
}
} else if(status== 'fail'){
alert("주소록 등록에 실패하였습니다. !!");
}
},
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');
}
});
}
}else{
alert("연락처 정보를 등록해 주세요.");
return false;
}
});
*/