카카오 친구톡 발송화면 Tabulator 적용중
This commit is contained in:
parent
91c22a826b
commit
a94a7529cd
@ -76,9 +76,11 @@ public class KakaoFriendsTalkSendController {
|
||||
String author = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getAuthority());
|
||||
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
||||
|
||||
if(userId == "") {
|
||||
/*if(userId == "") {
|
||||
return "redirect:/web/user/login/login.do";
|
||||
}
|
||||
}*/
|
||||
|
||||
model.addAttribute("loginVO", loginVO);
|
||||
|
||||
try {
|
||||
|
||||
|
||||
@ -651,6 +651,11 @@ public class KakaoFriendsTalkTemplateController {
|
||||
paginationInfo.setTotalRecordCount(kakaoTemplateInfoList.size() > 0 ? ((KakaoVO)kakaoTemplateInfoList.get(0)).getTotCnt() : 0);
|
||||
model.addAttribute("paginationInfo", paginationInfo);
|
||||
|
||||
//사용자 등록 발신프로필 정보 조회해오기
|
||||
searchVO.setUserId(userId);
|
||||
List<KakaoVO> resultProfileList = kakaoApiService.selectKakaoProfileList(searchVO);
|
||||
model.addAttribute("resultProfileList", resultProfileList);
|
||||
|
||||
} catch (Exception e) {
|
||||
System.out.println("selectKakaoFriendsTemplateListAjax Controller Error !!! " + e);
|
||||
}
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ page import="itn.com.cmm.LoginVO" %>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
@ -6,16 +6,19 @@
|
||||
|
||||
<script src="/js/kakao/templateComm.js"></script>
|
||||
|
||||
<script type="text/javascript" src="<c:out value='/js/kakao/at/tabulator.js' />"></script>
|
||||
<script type="text/javascript" src="<c:out value='/js/MJUtill.js' />"></script>
|
||||
<script type="text/javascript" src="<c:out value='/js/kakao/ft/ftTabulator.js' />"></script>
|
||||
<script type="text/javascript" src="<c:out value='/js/kakao/at/addr.js' />"></script>
|
||||
<script type="text/javascript" src="<c:out value='/js/common/popup.js' />"></script>
|
||||
<script type="text/javascript" src="<c:out value='/js/kakao/ft/friendstalkExcel.js' />"></script>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
/* 파일등록 */
|
||||
var _fileIdx = 0;
|
||||
var _fileForm2 = new Array();
|
||||
var fileExt = ""; // 첨부파일 확장자
|
||||
var excelAddr = []; //엑셀 불러오기에서 내용 저장하는 배열 변수
|
||||
|
||||
$(document).ready(function (){
|
||||
|
||||
@ -46,6 +49,27 @@ $(document).ready(function (){
|
||||
setContentsLengForFriends(contents);
|
||||
|
||||
});
|
||||
|
||||
$("#excelAdd").click(function(){
|
||||
|
||||
if(excelAddr.length > 0){
|
||||
|
||||
//첨부파일로 불러온 데이터를 받는사람 목록에 추가해 준다.
|
||||
addPhoneInfo(excelAddr);
|
||||
|
||||
//첨부파일 초기화 시켜주기
|
||||
$("#excelFile").val("");
|
||||
$("#excelNm").val("");
|
||||
|
||||
}else{
|
||||
|
||||
alert("추가 엑셀 데이터가 없습니다.");
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
function initFormChk(){
|
||||
@ -87,9 +111,11 @@ function initFormChk(){
|
||||
|
||||
//미리보기에 이미지 표시해주기
|
||||
var imgUrl = '${resultTemplateVO.templateImageUrl}';
|
||||
$('.kakao_image').css("display", "block");
|
||||
$("#kakaoImg").attr("src", imgUrl);
|
||||
|
||||
if(imgUrl != ''){
|
||||
$('.kakao_image').css("display", "block");
|
||||
$("#kakaoImg").attr("src", imgUrl);
|
||||
}
|
||||
|
||||
//초기 템플릿 내용 글자수 처리해주기
|
||||
var tmpContents = $('#inputTemplateContent').val();
|
||||
@ -585,6 +611,13 @@ $('.popupAddr').click(function(){
|
||||
|
||||
});
|
||||
|
||||
function fnEmptyId(){
|
||||
|
||||
alert("로그인 후 이용이 가능합니다.");
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<!-- 로딩바 -->
|
||||
@ -636,7 +669,7 @@ $('.popupAddr').click(function(){
|
||||
<tr>
|
||||
<th>채널ID</th>
|
||||
<td>
|
||||
<label for="" class="채널ID 선택"></label>
|
||||
<label for="selectAgentCode" class="채널ID 선택"></label>
|
||||
<select class="select_gray_type" name="selectAgentCode" id="selectAgentCode" onchange="javascript:fnAgentCodeChg();">
|
||||
<option value="">채널ID 선택</option>
|
||||
<c:forEach var="kakaoProfileInfo" items="${resultProfileList}" varStatus="status">
|
||||
@ -842,10 +875,25 @@ $('.popupAddr').click(function(){
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn_popup_wrap template_call_wrap">
|
||||
<button type="button" class="btnType btnType8" onclick="window.open('/web/mjon/kakao/template/selectKakaoFriendsTemplateListPopupAjax.do','_blank','width=930, height=780, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=yes')">템플릿 불러오기</button>
|
||||
<c:choose>
|
||||
<c:when test="${not empty loginVO.id}">
|
||||
<button type="button" class="btnType btnType8" onclick="window.open('/web/mjon/kakao/template/selectKakaoFriendsTemplateListPopupAjax.do','_blank','width=930, height=780, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=yes')">템플릿 불러오기</button>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<button type="button" class="btnType btnType8" onclick="javascript:fnEmptyId();">템플릿 불러오기</button>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
<div class="send_btnWrap">
|
||||
<button type="button" class="btnType btn_text_save" onclick="javascript:myTemplateSave();">내용 저장하기</button>
|
||||
<c:choose>
|
||||
<c:when test="${not empty loginVO.id}">
|
||||
<button type="button" class="btnType btn_text_save" onclick="javascript:myTemplateSave();">내용 저장하기</button>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<button type="button" class="btnType btn_text_save" onclick="javascript:fnEmptyId();">내용 저장하기</button>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
|
||||
<button type="button" class="btnType btnType9" onclick="javascript:fnContentsReset();">초기화</button>
|
||||
</div>
|
||||
</div>
|
||||
@ -854,7 +902,7 @@ $('.popupAddr').click(function(){
|
||||
<tr>
|
||||
<th>버튼</th>
|
||||
<td class="template_button">
|
||||
<select name="" id="" class="select_gray_type template_button_select">
|
||||
<select name="tmpBtnSelect" id="tmpBtnSelect" class="select_gray_type template_button_select">
|
||||
<option value="button_type_0">버튼타입 선택</option>
|
||||
<option value="button_type_1">배송조회</option>
|
||||
<option value="button_type_2">웹링크</option>
|
||||
@ -999,16 +1047,16 @@ $('.popupAddr').click(function(){
|
||||
<td class="putText">
|
||||
<div class="clearfix receipt_num">
|
||||
<div class="receipt_num_top">
|
||||
<label for="" class="label">받는 번호입력</label>
|
||||
<input type="text" placeholder="번호를 입력하세요" onfocus="this.placeholder=''" onblur="this.placeholder='번호를 입력하세요'" style="width:340px;">
|
||||
<button type="button" class="btnType btnType6">번호추가</button>
|
||||
<label for="callTo" class="label">받는 번호입력</label>
|
||||
<input type="text" placeholder="번호를 입력하세요" id="callTo" name="callTo" onfocus="this.placeholder=''" onblur="this.placeholder='번호를 입력하세요'" style="width:340px;">
|
||||
<button type="button" class="btnType btnType6 addCallToF">번호추가</button>
|
||||
<span><span class="vMiddle">*</span> 중복번호는 한번만 발송됩니다.</span>
|
||||
</div>
|
||||
<div class="receipt_num_midde">
|
||||
<div class="listType list01 callList_box" id="callList_box">
|
||||
<div class="list_table list_head">
|
||||
<div class="cb_wrap">
|
||||
<label for="" class="label"></label>
|
||||
<label for="select_all" class="label"></label>
|
||||
<input type="checkbox" id="select_all">
|
||||
</div>
|
||||
<div class="list_table_num">
|
||||
@ -1091,7 +1139,8 @@ $('.popupAddr').click(function(){
|
||||
<tr>
|
||||
<th colspan="2" class="replace_send_th">
|
||||
<div class="title_th"><p>대체문자</p>
|
||||
<input type="checkbox" id="send_fail_check" class="send_fail_check"><label for="send_fail_check">친구톡 전송 실패 시 문자 전송</label>
|
||||
<input type="checkbox" id="send_fail_check" class="send_fail_check">
|
||||
<label for="send_fail_check">친구톡 전송 실패 시 문자 전송</label>
|
||||
</div>
|
||||
<div class="replace_send_wrap">
|
||||
<table class="tType1">
|
||||
@ -1103,7 +1152,7 @@ $('.popupAddr').click(function(){
|
||||
<tr>
|
||||
<th>발신번호</th>
|
||||
<td>
|
||||
<label for="callFrom" class="label"></label>
|
||||
<label for="callFromList" class="label"></label>
|
||||
<select id="callFromList" name="callFromList" class="sel_number">
|
||||
<c:choose>
|
||||
<c:when test="${not empty resultPhonList}">
|
||||
@ -1210,7 +1259,7 @@ $('.popupAddr').click(function(){
|
||||
<input type="text" class="startDate2 inp resDate calendar picker__input picker__input--active" title="검색 시작일" id="startDate2" name="startDate2" value="" data-datecontrol="true" readonly="" aria-haspopup="true" aria-expanded="true" aria-readonly="false" aria-owns="startDate2_root">
|
||||
</div>
|
||||
<div class="selBox">
|
||||
<label for="" class="label">시 선택</label>
|
||||
<label for="msgResHour" class="label">시 선택</label>
|
||||
<select class="selType1" id="msgResHour" name="msgResHour">
|
||||
<c:forEach var="hour" begin="0" end="23" step="1" varStatus="status">
|
||||
<c:choose>
|
||||
@ -1223,7 +1272,7 @@ $('.popupAddr').click(function(){
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</select>
|
||||
<label for="" class="label">분 선택</label>
|
||||
<label for="msgResMin" class="label">분 선택</label>
|
||||
<select class="selType1" id="msgResMin" name="msgResMin">
|
||||
<c:forEach var="min" begin="0" end="55" step="5">
|
||||
<c:choose>
|
||||
@ -1240,7 +1289,7 @@ $('.popupAddr').click(function(){
|
||||
</div>
|
||||
<div class="rev_bottom">
|
||||
<input type="checkbox" id="inputDivideChk" name="inputDivideChk">
|
||||
<label for="">분할전송</label>
|
||||
<label for="inputDivideChk">분할전송</label>
|
||||
<select class="selType1" id="divideCnt" name="divideCnt">
|
||||
<option value="2">2</option>
|
||||
<option value="10">10</option>
|
||||
@ -1288,7 +1337,7 @@ $('.popupAddr').click(function(){
|
||||
<input type="hidden" name="searchCondition" id="searchCondition" value="0" />
|
||||
<div class="adr_pop_left">
|
||||
<div class="adr_left_search">
|
||||
<label for="searchKeyword" class="label">그룹명 검색</label>
|
||||
<label for="searchGrpKeyword" class="label">그룹명 검색</label>
|
||||
<input type="text" name="searchGrpKeyword" id="searchGrpKeyword" placeholder="그룹명 검색" onfocus="this.placeholder=''" onblur="this.placeholder='그룹명 검색'" class="inputLight">
|
||||
<button type="button" onClick="javascrit:fnAddrGrpSearch(); return false;"><img src="/publish/images/popup/search.png" alt="검색"></button>
|
||||
</div>
|
||||
@ -1353,7 +1402,7 @@ $('.popupAddr').click(function(){
|
||||
<button type="button" class="excel_btn" onclick="location.href='/download/msg/엑셀주소록_등록양식.xlsx'"><i class="downroad"></i>샘플파일 다운로드</button>
|
||||
</div>
|
||||
<div class="attachedFile">
|
||||
<label for="" class="attachedFile_label">첨부파일</label>
|
||||
<label for="excelNm" class="attachedFile_label">첨부파일</label>
|
||||
<input type="text" id="excelNm" value="" readonly>
|
||||
<input type="file" id="excelFile" accept=".xls, .xlsx" onchange="excelExport(event); return false;" style="display:none"/>
|
||||
<button type="button" class="btnType btnType6 c1">찾아보기</button>
|
||||
@ -1362,7 +1411,7 @@ $('.popupAddr').click(function(){
|
||||
</div>
|
||||
</div><!--// 엑셀파일 불러오기 -->
|
||||
<div class="popup_btn_wrap2">
|
||||
<button type="button" class="tooltip-close" data-focus="popup02-close" data-focus-next="popup02" onclick="excelAdd()">추가</button>
|
||||
<button type="button" class="tooltip-close" data-focus="popup02-close" data-focus-next="popup02" id="excelAdd">추가</button>
|
||||
<button type="button" class="tooltip-close" data-focus="popup02-close" data-focus-next="popup02">닫기</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -426,7 +426,7 @@ function fnGoSampleTemplate(){
|
||||
</c:forEach>
|
||||
</select>
|
||||
<div class="search">
|
||||
<label for="id" class="label"></label>
|
||||
<label for="inputSearchKeyword" class="label"></label>
|
||||
<input type="text" class="search_input" id="inputSearchKeyword" name="inputSearchKeyword" value="<c:out value=""/>" placeholder="템플릿명을 입력하세요." onfocus="this.placeholder=''" onblur="this.placeholder='검색어를 입력하세요.'">
|
||||
<button type="button" class="btnType btnType2" onclick="selectTemplateListLoad('1');">검색</button>
|
||||
</div>
|
||||
|
||||
@ -106,7 +106,8 @@
|
||||
function selectTemplateListLoad(page){
|
||||
|
||||
var form = document.listForm;
|
||||
|
||||
form.searchKeyword.value = $("#inputSearchKeyword").val();
|
||||
form.senderKey.value = $("select[name='selectAgentCode_select']").val();
|
||||
form.pageIndex.value = page;
|
||||
form.action = "/web/mjon/kakao/template/selectKakaoFriendsTemplateListPopupAjax.do";
|
||||
form.submit();
|
||||
@ -123,9 +124,11 @@
|
||||
|
||||
</script>
|
||||
<body>
|
||||
|
||||
<form id="listForm" name="listForm" method="post">
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value="1"/>
|
||||
|
||||
<input type="hidden" id="searchKeyword" name="searchKeyword" value=""/>
|
||||
<input type="hidden" id="senderKey" name="senderKey" value=""/>
|
||||
</form>
|
||||
<div class="info_popup ad_layer template_choice_popup adpopup01" style="width:930px;">
|
||||
<div class="popup_heading">
|
||||
@ -133,21 +136,22 @@
|
||||
</div>
|
||||
<div class="layer_in">
|
||||
<div class="popup_search_wrap type2 grayborder grayfill">
|
||||
<select name="" id="" class="popup_select_type template_type">
|
||||
<option value="">전체메시지</option>
|
||||
<select name="selectAgentCode_select" id="selectAgentCode_select" class="selType2">
|
||||
<option value="">채널ID 선택</option>
|
||||
<c:forEach var="kakaoProfileInfo" items="${resultProfileList}" varStatus="status">
|
||||
<option value="${kakaoProfileInfo.senderKey}" <c:if test="${searchVO.senderKey eq kakaoProfileInfo.senderKey}">selected</c:if> ><c:out value='${kakaoProfileInfo.yellowId}'/></option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
<select name="" id="" class="popup_select_type emphasis_type">
|
||||
<option value="">정렬방법</option>
|
||||
</select>
|
||||
<input type="text" placeholder="템플릿명을 입력해주세요." class="inputType template_name">
|
||||
<button type="button" class="popup_button_type bluefill">검색</button>
|
||||
<label for="searchKeyword" class="label"></label>
|
||||
<input type="text" class="search_input" id="inputSearchKeyword" name="inputSearchKeyword" value="<c:out value="${searchVO.searchKeyword}"/>" placeholder="템플릿명을 입력하세요." onfocus="this.placeholder=''" onblur="this.placeholder='검색어를 입력하세요.'">
|
||||
<button type="button" class="btnType btnType2" onclick="selectTemplateListLoad('1');">검색</button>
|
||||
</div>
|
||||
<div class="template_list">
|
||||
<ul class="kakao_template_list thumbnail_list">
|
||||
<c:choose>
|
||||
<c:when test="${not empty kakaoTemplateInfoList}">
|
||||
<c:forEach var="templatInfoList" items="${kakaoTemplateInfoList}" varStatus="status">
|
||||
<li>
|
||||
<li onClick="fnTemplateDetail('<c:out value="${templatInfoList.friendId}"/>'); return false;" style="cursor:pointer;">
|
||||
<div class="kakao_template_wrap">
|
||||
<div class="template_cont">
|
||||
<div class="title">
|
||||
@ -177,10 +181,10 @@
|
||||
<p class="cf_text">수신거부 | 홈 > 채널차단</p>
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="btn_wrap">
|
||||
<%-- <div class="btn_wrap">
|
||||
<button type="button" class="btnType btnType3 btn_template_use" onClick="fnTemplateDetail('<c:out value="${templatInfoList.friendId}"/>'); return false;">템플릿 사용하기</button>
|
||||
</div>
|
||||
<%-- <div class="kakao_template_info">
|
||||
</div> --%>
|
||||
<div class="kakao_template_info">
|
||||
<dl>
|
||||
<dt>템플릿명</dt>
|
||||
<dd>
|
||||
@ -191,7 +195,7 @@
|
||||
<dt>등록일</dt>
|
||||
<dd><c:out value="${templatInfoList.frstRegistPnttm}"/></dd>
|
||||
</dl>
|
||||
</div> --%>
|
||||
</div>
|
||||
</li>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
|
||||
@ -29,6 +29,130 @@ $(document).ready(function(){
|
||||
//엑셀 파일 불러오기
|
||||
function excelExport(event){
|
||||
|
||||
var data = new FormData(document.excelForm);
|
||||
data.append("file0", $('#excelFile').prop('files')[0]);
|
||||
|
||||
var fileValue = $("#excelFile").val().split("\\");
|
||||
var fileName = fileValue[fileValue.length-1];
|
||||
|
||||
var fileExt = fileName.split('.').pop().toLowerCase();
|
||||
|
||||
if(fileExt.length > 0){
|
||||
if($.inArray(fileExt, ['txt','xls','xlsx']) == -1) {
|
||||
|
||||
alert('txt, xls, xlsx 파일만 업로드 할수 있습니다.');
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
var url = "";
|
||||
|
||||
if(fileExt == "xls" || fileExt == "xlsx"){
|
||||
|
||||
url = "/web/mjon/msgdata/sendExelFilePhoneNumAjax.do";
|
||||
|
||||
}else if(fileExt = "txt"){
|
||||
|
||||
url = "/web/mjon/msgdata/sendTxtFilePhoneNumAjax.do";
|
||||
|
||||
}else{
|
||||
|
||||
alert('txt, xls, xlsx 파일만 업로드 할수 있습니다.');
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
//엑셀 데이터 변수에 자료가 있으면 지워준다.
|
||||
if(excelAddr.length > 0){
|
||||
|
||||
excelAddr = [];
|
||||
|
||||
}
|
||||
|
||||
$.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.success){
|
||||
|
||||
var data = returnData.data;
|
||||
var message = returnData.message;
|
||||
|
||||
if(message != '' ){
|
||||
alert(returnData.message);
|
||||
}
|
||||
|
||||
if(data != null){
|
||||
|
||||
$.each(data, function(i, item){
|
||||
|
||||
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("엑셀 파일 데이터의 형식이 맞지 않는 부분이 있습니다.");
|
||||
excelAddr = []; //엑셀 데이터 저장 변수 초기화
|
||||
$("#excelFile").val(""); //첨부파일 input 초기화
|
||||
$("#excelNm").val(""); // 첨부파일 명 초기화
|
||||
fileName = "";
|
||||
return;
|
||||
|
||||
} */
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}else{
|
||||
alert(returnData.message);
|
||||
// alert("첨부파일 불러오는 중 오류가 발생하였습니다.");
|
||||
excelAddr = []; //엑셀 데이터 저장 변수 초기화
|
||||
$("#excelFile").val(""); //첨부파일 input 초기화
|
||||
$("#excelNm").val(""); // 첨부파일 명 초기화
|
||||
fileName = "";
|
||||
return;
|
||||
|
||||
}
|
||||
} else if(status== 'fail'){
|
||||
alert("첨부파일 불러오는 중 오류가 발생하였습니다.");
|
||||
console.log("status : fail ~");
|
||||
}
|
||||
},
|
||||
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');
|
||||
}
|
||||
});
|
||||
|
||||
$("#excelFile").val("");
|
||||
$("#excelNm").val(fileName);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
/*function excelExport(event){
|
||||
|
||||
var fileValue = $("#excelFile").val().split("\\");
|
||||
var fileName = fileValue[fileValue.length-1];
|
||||
|
||||
@ -48,7 +172,7 @@ function excelExport(event){
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}*/
|
||||
|
||||
|
||||
//엑셀파일 자료 데이터베이스에 입력해주기
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
* @author : 우영두
|
||||
* @fileName : ftTabulator.js
|
||||
* @date : 2024.01.09
|
||||
* @description : tabulator 관련 js
|
||||
* @description : 받는사람 목록 tabulator 관련 js
|
||||
* ===========================================================
|
||||
* DATE AUTHOR NOTE
|
||||
* ----------------------------------------------------------- *
|
||||
@ -14,7 +14,7 @@
|
||||
*/
|
||||
|
||||
$(document).ready(function (){
|
||||
/**
|
||||
|
||||
//받는사람 연락처 내용 처리
|
||||
//Tabulator AJAX Data Loading
|
||||
tableL = new Tabulator(".callList_box", {
|
||||
@ -88,7 +88,7 @@ $(document).ready(function (){
|
||||
|
||||
});
|
||||
|
||||
*/
|
||||
|
||||
//주소록 불러오기 팝업 내용
|
||||
//Tabulator AJAX Data Loading
|
||||
tableAddr = new Tabulator(".callAddr_box", {
|
||||
@ -147,38 +147,57 @@ $(document).ready(function (){
|
||||
|
||||
//핸드폰 번호에 '-' 문자 제거하기
|
||||
callToNum = removeDash(callToNum);
|
||||
|
||||
var dpCnt = 0;
|
||||
$(".phoneArea p").each(function(index, item){
|
||||
if(this.textContent == callToNum){
|
||||
|
||||
dpCnt++;
|
||||
|
||||
alert("받는사람 리스트에 동일한 연락처가 있습니다.");
|
||||
$('#callTo').val("");
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
//기존 받는사람 연락처 모두 불러오기
|
||||
var data = tableL.getRows();
|
||||
var tableData = [];
|
||||
var dpCnt = 0;
|
||||
for(var i=0; i < tableL.getRows().length; i++){
|
||||
|
||||
if(callToNum == data[i].getData().phone){
|
||||
|
||||
dpCnt++;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(dpCnt > 0){
|
||||
|
||||
alert("받는사람 리스트에 동일한 연락처가 있습니다.");
|
||||
$('#callTo').val("");
|
||||
return false;
|
||||
|
||||
}else{
|
||||
|
||||
tabledata = [{phone: callToNum},];
|
||||
|
||||
//빈 row 데이터 삭제하기
|
||||
var befData = tableL.getRows();
|
||||
var totLen = tableL.getRows().length;
|
||||
|
||||
for(var i=0; i < totLen; i++){
|
||||
|
||||
tableData.push({phone: data[i].getData().phone.trim(), name: data[i].getData().name});
|
||||
|
||||
}
|
||||
|
||||
//연락처 추가해 주기
|
||||
addPhoneInfo(tabledata);
|
||||
|
||||
//tableL.addData(tabledata);
|
||||
|
||||
//전체 데이터 갯수 구하기
|
||||
//totRows = tableL.getRows().length;
|
||||
//updateTotCnt(totRows);
|
||||
|
||||
//결제 금액 구하기
|
||||
totalPriceSum(totRows);
|
||||
|
||||
$('#callTo').val("");
|
||||
|
||||
}
|
||||
|
||||
if(dpCnt > 0){
|
||||
alert("받는사람 리스트에 동일한 연락처가 있습니다.");
|
||||
$('#callTo').val("");
|
||||
return false;
|
||||
}else{
|
||||
// fn_displayJsonToHtmlTable 재사용을 위한
|
||||
// 파라미터 형변환
|
||||
var data =[];
|
||||
data.push({ phone: callToNum, name: ''});
|
||||
fn_displayJsonToHtmlTable(data);
|
||||
|
||||
/*
|
||||
* 토탈 카운트 화면에 노출
|
||||
*/
|
||||
updateTotCnt();
|
||||
|
||||
// 번호 추가란 초기화
|
||||
$('#callTo').val('');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@ -449,68 +468,104 @@ function updateTotCnt(){
|
||||
}
|
||||
|
||||
//주소록 불러오기에서 수신자 리스트 화면에 추가해주기
|
||||
function addPhoneInfo(taData){
|
||||
function addPhoneInfo(data){
|
||||
|
||||
if(taData == null){
|
||||
if(data == null){
|
||||
|
||||
alert("연락처 정보가 없습니다.");
|
||||
return;
|
||||
|
||||
}else{
|
||||
|
||||
var idx = 0;
|
||||
var newData = data;//중복 연락처는 하나만 남기고 모두 제거
|
||||
|
||||
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) , 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});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//받는사람 리스트를 담아둔 배열에 신규 추가 데이터를 추가해 준다.
|
||||
for(var i=0; i < newData.length; i++){
|
||||
|
||||
tableData.push({phone: removeDash(newData[i].phone) , name: newData[i].name, rep1: newData[i].rep1, rep2: newData[i].rep2, rep3: newData[i].rep3, rep4: newData[i].rep4});
|
||||
|
||||
}
|
||||
|
||||
var temp = tableData.length;
|
||||
|
||||
//기존 수신 리스트를 지워준 후 신규 전체 리스트를 추가해준다.
|
||||
tableL.clearData(); //기존 받는사람 목록을 삭제.
|
||||
tableL.addData(dupliPhoneData(tableData)); // 받는사람 목록에 주소 정보 입력하기
|
||||
_fileForm2 = []; //form file data 초기화
|
||||
_fileIdx = 0; //form file idx 초기화
|
||||
|
||||
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();
|
||||
|
||||
}else{
|
||||
|
||||
//결제 금액 구하기
|
||||
totalPriceSum(totRows);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* 주소록 데이터 화면에 추가
|
||||
*/
|
||||
this.fn_displayJsonToHtmlTable(taData);
|
||||
}
|
||||
|
||||
/*
|
||||
* 토탈 카운트 화면에 노출
|
||||
*/
|
||||
this.updateTotCnt();
|
||||
|
||||
function addrToList(){
|
||||
|
||||
var selectedData = tableAddr.getSelectedRows();
|
||||
var tableData = [];
|
||||
|
||||
if(selectedData == "" || selectedData == null){
|
||||
|
||||
alert("주소록을 선택해 주세요.");
|
||||
return false;
|
||||
|
||||
}else{ // 선택한 Row 데이터 저장해주기
|
||||
|
||||
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 fn_displayJsonToHtmlTable(taData){
|
||||
|
||||
// fn_viewDataInit01();
|
||||
// 치환문자가 있으면 데이터 초기화
|
||||
|
||||
|
||||
var $htmlBody = $('#wrap01_body');
|
||||
|
||||
var addHtml = '<div class="list_table list_body excelBody01">'
|
||||
+'\t<div class="cb_wrap">'
|
||||
+'\t\t<label for="" class="label"></label>'
|
||||
+'\t\t<input type="checkbox" class="wrap01C">'
|
||||
+'\t</div>'
|
||||
+'\t<div class="list_table_num phoneArea">'
|
||||
+'\t\t<p>$PHONE$</p>'
|
||||
+'\t</div>'
|
||||
/*23.04.06 이름제거 요청으로인한 화면 이름 제거*/
|
||||
/*+'\t<div class="list_table_name">'
|
||||
+'\t\t<p>$NAME$</p>'
|
||||
+'\t</div>'*/
|
||||
+'</div>';
|
||||
|
||||
|
||||
|
||||
|
||||
var totalDuplCnt = $('#rowDupCnt').text();
|
||||
|
||||
var itemPhone;
|
||||
var itemName;
|
||||
$.each(taData, function(index, item){
|
||||
itemPhone = item.phone;
|
||||
itemName = item.name;
|
||||
// == null ? '': item.name;
|
||||
if(!phoneDupl(itemPhone))
|
||||
/*23.04.06 이름제거 요청으로인한 화면 이름 제거*/
|
||||
// $htmlBody.append(addHtml.replace('$PHONE$', itemPhone).replace('$NAME$', itemName ??= ''));
|
||||
$htmlBody.append(addHtml.replace('$PHONE$', itemPhone));
|
||||
else
|
||||
totalDuplCnt++;
|
||||
});
|
||||
$('#rowDupCnt').text(totalDuplCnt);
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user