356 lines
11 KiB
JavaScript
356 lines
11 KiB
JavaScript
$(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) {
|
|
// 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() {
|
|
var isReturn = true;
|
|
|
|
$.ajax({
|
|
url : "<c:url value='/web/addr/getAddrGroupDuplCheckAjax.do' />",
|
|
type : 'POST',
|
|
data : {"addrGrpNm" : $("#addrGrpNm").val()},
|
|
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 addrToList_advc(type){
|
|
|
|
var tableSize = tableAddr.getDataCount();
|
|
var tableData = [];
|
|
|
|
if(tableSize < 1){
|
|
alert("주소록을 선택해 주세요.");
|
|
return false;
|
|
}else{
|
|
|
|
// 선택한 Row 데이터 저장해주기
|
|
var existingData = tableL.getData();
|
|
var addrData;
|
|
|
|
if(type == 'all'){
|
|
addrData = tableAddr.getData();
|
|
}else{
|
|
addrData = tableAddr.getSelectedData();
|
|
}
|
|
|
|
// 기존 데이터와 새로운 데이터를 합칩니다.
|
|
var combinedData = existingData.concat(addrData);
|
|
// 합쳐진 데이터를 tableL에 설정합니다.
|
|
tableL.setData(combinedData);
|
|
|
|
var totRows = 0; // 좌측 받는사람 총 갯수
|
|
totRows = tableL.getRows().length;
|
|
updateTotCnt(totRows); //전체 데이터 갯수 구하기
|
|
$(".closeAddr").trigger("click");
|
|
|
|
//주소록 레이어 팝업의 Tabulator 데이터 지워주기
|
|
tableAddr.clearData();
|
|
}
|
|
}
|
|
|
|
//주소록 팝업 닫기 기능
|
|
function addrToList_close(){
|
|
$(".closeAddr").trigger("click");
|
|
//주소록 레이어 팝업의 Tabulator 데이터 지워주기
|
|
tableAddr.clearData();
|
|
}
|
|
|
|
//주소록 검색 기능처리
|
|
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).find("img").attr("src", "/publish/images/content/open_folder2.png");
|
|
$(item).find("img").attr("alt", "폴더 열림");
|
|
|
|
loadAddrList();
|
|
}
|
|
|
|
//주소록 목록 조회
|
|
function loadAddrList(){
|
|
|
|
/*
|
|
serialize 를 사용할때는 processData, contentType 옵션 제가할것
|
|
*/
|
|
var data = $("#searchAddrGrpForm").serialize();
|
|
var url = "/web/mjon/fax/addr/selectFaxAddrListAjax.do";
|
|
|
|
$.ajax({
|
|
type: "POST",
|
|
url: url,
|
|
data: data,
|
|
dataType:'json',
|
|
async: false,
|
|
cache: false,
|
|
success: function (returnData, status) {
|
|
console.log('returnData :: ', returnData);
|
|
console.log('status :: ', status);
|
|
if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나
|
|
|
|
if(returnData.result == "success"){
|
|
|
|
var addrList = returnData.resultAddrList;
|
|
var tableData = [];
|
|
|
|
if(addrList.length == 0){
|
|
alert("주소록 정보가 없습니다.");
|
|
tableAddr.setData(tableData);
|
|
return false;
|
|
}
|
|
|
|
//받는사람 리스트를 담아둔 배열에 신규 추가 데이터를 추가해 준다.
|
|
for(var i=0; i < addrList.length; i++){
|
|
tableData.push({groupNm: addrList[i].addrGrpNm, phone: removeDash(addrList[i].addrPhoneNo) , name: addrList[i].addrNm});
|
|
}
|
|
|
|
//우측 주소록 리스트 Tabulator에 입력해주기
|
|
tableAddr.setData(tableData);
|
|
|
|
}else{
|
|
alert(returnData.message);
|
|
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');
|
|
}
|
|
});
|
|
}
|
|
|
|
//주소록 불러오기 그룹명 검색 기능처리
|
|
function fnAddrGrpSearch(){
|
|
|
|
var form = document.searchAddrGrpForm;
|
|
form.searchKeyword.value = form.searchGrpKeyword.value;
|
|
form.searchCondition.value = "";
|
|
|
|
var sendData = $(document.searchAddrGrpForm).serializeArray();
|
|
|
|
$("#addrGroupLoad").load("/web/mjon/fax/addr/selectFaxAddrGroupListAjaxView.do", sendData ,function(response, status, xhr){
|
|
//리스트 스크롤 처리해주기
|
|
$(".adr_pop_list").mCustomScrollbar({
|
|
axis: 'y',
|
|
scrollbarPosition: "outside",
|
|
theme: "dark",
|
|
autoHideScrollbar: false
|
|
});
|
|
});
|
|
|
|
}
|
|
|
|
$(document).ready(function (){
|
|
//문자발송 받는사람 목록 주소록에 등록하기 기능 처리
|
|
$('.registAddr').click(function(){
|
|
|
|
var tableData = tableL.getRows();
|
|
var dataLen = tableL.getRows().length;
|
|
|
|
var nameList = []; //이름
|
|
var phoneNum = []; //받는사람
|
|
|
|
if(dataLen > 0){
|
|
for(var i=0; i < dataLen; i++){
|
|
var name = tableData[i].getData().name;
|
|
var phone = removeDash(tableData[i].getData().phone);
|
|
|
|
if(phone == "" || phone == null){
|
|
alert("수신 목록에 번호가 없는 항목이 있습니다.");
|
|
return false;
|
|
}else if(!checkHpNum(phone)){
|
|
alert("수신 목록에 잘 못된 핸드폰 번호가 있습니다. 핸드폰 번호 : " + phone + " 입니다.");
|
|
return false;
|
|
}
|
|
|
|
nameList[i] = name;
|
|
phoneNum[i] = phone;
|
|
}
|
|
|
|
//주소록 정보를 Form에 넣어준다.
|
|
var form = document.msgForm;
|
|
form.callToList.value = phoneNum;
|
|
form.nameList.value = nameList;
|
|
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;
|
|
}
|
|
});
|
|
}); |