이준호 전자조정시스템 커밋

- sms, email 임의발송 타뷸레이터 적용
This commit is contained in:
leejunho 2023-10-10 14:21:18 +09:00
parent 0401d39021
commit a99b300499
6 changed files with 125 additions and 72 deletions

View File

@ -124,7 +124,7 @@ public class SendMgrEmailController {
"</html>"; "</html>";
model.addAttribute("emailBottom", emailBottom); model.addAttribute("emailBottom", emailBottom);
return "/kccadr/sendMgr/emailSendMgr"; return "/kccadr/sendMgr/emailSendMgr_tabulator";
} }
@RequestMapping(value = "/kccadr/sendMgr/emailSendMgrAjax.do") @RequestMapping(value = "/kccadr/sendMgr/emailSendMgrAjax.do")

View File

@ -52,7 +52,7 @@ public class SendMgrSMSController {
@RequestMapping(value = "/kccadr/sendMgr/smsSendMgr.do") @RequestMapping(value = "/kccadr/sendMgr/smsSendMgr.do")
public String smsSendMgrPage() { public String smsSendMgrPage() {
return "/kccadr/sendMgr/smsSendMgr"; return "/kccadr/sendMgr/smsSendMgr_tabulator";
} }

View File

@ -107,6 +107,9 @@
<form id="emailForm" name="emailForm" method="post"> <form id="emailForm" name="emailForm" method="post">
<input type="hidden" id="emailList" name="emailList"/> <input type="hidden" id="emailList" name="emailList"/>
<input type="hidden" id="emailSendContent" name="emailSendContent"/> <input type="hidden" id="emailSendContent" name="emailSendContent"/>
<input type="hidden" id="emailTop" name="emailTop" value="<c:out value="${emailTop}"/>"/>
<input type="hidden" id="emailBottom" name="emailBottom" value="<c:out value="${emailBottom}"/>"/>
<!-- cont --> <!-- cont -->
<div class="cont_wrap"> <div class="cont_wrap">
<div class="box"> <div class="box">
@ -140,24 +143,24 @@
<input type="text" size="100" id="emailTitle" name="emailTitle"> <input type="text" size="100" id="emailTitle" name="emailTitle">
</td> </td>
</tr> </tr>
<tr> <%-- <tr>
<th>발송탬플릿</th> <th>발송탬플릿</th>
<td> <td>
<textarea name="emailTop" id="emailTop" cols="30" rows="10" readonly="readonly"><c:out value="${emailTop}"/></textarea> <textarea name="emailTop" id="emailTop" cols="30" rows="10" readonly="readonly"><c:out value="${emailTop}"/></textarea>
</td> </td>
</tr> </tr> --%>
<tr> <tr>
<th>발송내용</th> <th>발송내용</th>
<td> <td>
<textarea name="emailContent" id="emailContent" cols="30" rows="10" ></textarea> <textarea name="emailContent" id="emailContent" cols="30" rows="10" ></textarea>
</td> </td>
</tr> </tr>
<tr> <%-- <tr>
<th>발송탬플릿</th> <th>발송탬플릿</th>
<td> <td>
<textarea name="emailBottom" id="emailBottom" cols="30" rows="10" readonly="readonly"><c:out value="${emailBottom}"/></textarea> <textarea name="emailBottom" id="emailBottom" cols="30" rows="10" readonly="readonly"><c:out value="${emailBottom}"/></textarea>
</td> </td>
</tr> </tr> --%>
<tr> <tr>
<th>수신메일주소</th> <th>수신메일주소</th>
<td> <td>

View File

@ -41,9 +41,27 @@
<script type="text/javascript"> <script type="text/javascript">
$( document ).ready(function() { $( document ).ready(function() {
//타뷸레이터 생성
tabulator_create(); tabulator_create();
//버튼을 통한 추가
mailAdd();
//복사붙여넣기
paste();
}); });
function paste(){
$(document).on('paste', function (e) {
var dataArray = e.originalEvent.clipboardData.getData('text').replaceAll("\r","").split("\n");
for(var i = 0 ; i < dataArray.length ; i ++){
alert(dataArray[i] + " = " + (dataArray[i]=="" || dataArray[i] == null));
if(dataArray[i] == "" || dataArray[i] == null){
continue;
}
tabledata.push({mailAdress:dataArray[i]});
}
});
}
function fnEmailSend(){ function fnEmailSend(){
//jquery를 활용하여 간단하게 tabulator 함수 호출 //jquery를 활용하여 간단하게 tabulator 함수 호출
@ -53,6 +71,10 @@
var emailSubject = $("#emailSubject").val(); var emailSubject = $("#emailSubject").val();
var emailContent = $("#emailContent").val(); var emailContent = $("#emailContent").val();
var emailTop = $("#emailTop").val();
var emailBottom = $("#emailBottom").val();
emailContent = emailTop + emailContent + emailBottom;
if(sendLength == 0){ if(sendLength == 0){
alert("수신 메일주소를 입력해 주세요"); alert("수신 메일주소를 입력해 주세요");
@ -75,6 +97,7 @@
} }
$("#emailList").val(emailArr); $("#emailList").val(emailArr);
$("#emailSendContent").val(emailContent);
var data = new FormData(document.emailForm); var data = new FormData(document.emailForm);
$.ajax({ $.ajax({
@ -103,23 +126,21 @@
} }
function tabulator_create(){
var tabledata = [ var tabledata = [
]; ];
function tabulator_create(){
//Build Tabulator //Build Tabulator
//구현 편의성을 위해 jquery 로 만들기 //구현 편의성을 위해 jquery 로 만들기
// jquery로 만들어서 jquery로 함수 호출 가능 // jquery로 만들어서 jquery로 함수 호출 가능
$("#tabulatorArea").tabulator({ var table = new Tabulator("#tabulatorArea", {
/* $("#tabulatorArea").tabulator({ */
//table setup options //table setup options
height:"500px", height:"500px",
data:tabledata, data:tabledata,
layout:"fitDataTable", layout:"fitDataTable",
clipboard:true,
reactiveData:true, reactiveData:true,
clipboardPasteAction:"replace",
validationMode:"highlight", validationMode:"highlight",
columns:[ columns:[
{title:"메일주소", field:"mailAdress", width:200, editor:true}, {title:"메일주소", field:"mailAdress", width:200, editor:true},
@ -131,6 +152,9 @@
] ]
}); });
}
function mailAdd(){
//메일추가 클릭 시 tabulator에 추가 //메일추가 클릭 시 tabulator에 추가
document.getElementById("emailAdd").addEventListener("click", function(){ document.getElementById("emailAdd").addEventListener("click", function(){
var inputEmail = $("#callTo").val(); var inputEmail = $("#callTo").val();
@ -148,14 +172,16 @@
tabledata.push({mailAdress:inputEmail}); tabledata.push({mailAdress:inputEmail});
$("#callTo").val(''); $("#callTo").val('');
// var test = $("#tabulatorArea").tabulator("getInvalidCells"); // var test = $("#tabulatorArea").tabulator("getInvalidCells");
}); });
} }
</script> </script>
<form id="emailForm" name="emailForm" method="post"> <form id="emailForm" name="emailForm" method="post">
<input type="hidden" id="emailList" name="emailList"/> <input type="hidden" id="emailList" name="emailList"/>
<input type="hidden" id="emailSendContent" name="emailSendContent"/>
<input type="hidden" id="emailTop" name="emailTop" value="<c:out value="${emailTop}"/>"/>
<input type="hidden" id="emailBottom" name="emailBottom" value="<c:out value="${emailBottom}"/>"/>
<!-- cont --> <!-- cont -->
<div class="cont_wrap"> <div class="cont_wrap">
<div class="box"> <div class="box">

View File

@ -39,10 +39,30 @@
<script type="text/javascript"> <script type="text/javascript">
$( document ).ready(function() { $( document ).ready(function() {
//타뷸레이터 생성
tabulator_create(); tabulator_create();
//버튼을 통한 추가
phoneAdd();
//복사붙여넣기
paste();
}); });
function fnSmsSend(){ function paste(){
$(document).on('paste', function (e) {
var dataArray = e.originalEvent.clipboardData.getData('text').replaceAll("\r","").split("\n");
for(var i = 0 ; i < dataArray.length ; i ++){
alert(dataArray[i] + " = " + (dataArray[i]=="" || dataArray[i] == null));
if(dataArray[i] == "" || dataArray[i] == null){
continue;
}
tabledata.push({mailAdress:dataArray[i]});
}
});
}
function fnSmsSend(){
var phone = $("#tabulatorArea").tabulator("getData", "phone"); var phone = $("#tabulatorArea").tabulator("getData", "phone");
@ -70,6 +90,7 @@ function fnSmsSend(){
var data = new FormData(document.smsForm); var data = new FormData(document.smsForm);
$.ajax({ $.ajax({
type: "POST" type: "POST"
, url: "/kccadr/sendMgr/smsSendMgrAjax.do" , url: "/kccadr/sendMgr/smsSendMgrAjax.do"
@ -93,12 +114,12 @@ function fnSmsSend(){
console.log("ERROR : ", e); console.log("ERROR : ", e);
} }
}); });
} }
function tabulator_create(){
var tabledata = [ var tabledata = [
]; ];
function tabulator_create(){
//Build Tabulator //Build Tabulator
//구현 편의성을 위해 jquery 로 만들기 //구현 편의성을 위해 jquery 로 만들기
@ -108,9 +129,7 @@ function fnSmsSend(){
height:"500px", height:"500px",
data:tabledata, data:tabledata,
layout:"fitDataTable", layout:"fitDataTable",
clipboard:true,
reactiveData:true, reactiveData:true,
clipboardPasteAction:"replace",
validationMode:"highlight", validationMode:"highlight",
columns:[ columns:[
{title:"수신번호", field:"phone", width:200, editor:true}, {title:"수신번호", field:"phone", width:200, editor:true},
@ -122,7 +141,11 @@ function fnSmsSend(){
] ]
}); });
//메일추가 클릭 시 tabulator에 추가 }
function phoneAdd(){
//추가 클릭 시 tabulator에 추가
document.getElementById("phoneAdd").addEventListener("click", function(){ document.getElementById("phoneAdd").addEventListener("click", function(){
var inputPhone = $("#callTo").val(); var inputPhone = $("#callTo").val();
@ -140,7 +163,6 @@ function fnSmsSend(){
tabledata.push({phone:inputPhone}); tabledata.push({phone:inputPhone});
$("#callTo").val(''); $("#callTo").val('');
}); });
} }
</script> </script>

View File

@ -15,7 +15,9 @@
// 운영라이선스 적용 // 운영라이선스 적용
//var INNORIX_LICENSE = "FXA8KvVU99M9Ubbr3Yrz91zCNqyXdWCqUQ/OO1f7lj3nifVZZjuLqJIlHXjosrbPynCFJat5fwEgP/RVXftvXSsXmAHSnTVLYciyf8XmbxH8SLfUdCIEnFo+zL8="; //var INNORIX_LICENSE = "FXA8KvVU99M9Ubbr3Yrz91zCNqyXdWCqUQ/OO1f7lj3nifVZZjuLqJIlHXjosrbPynCFJat5fwEgP/RVXftvXSsXmAHSnTVLYciyf8XmbxH8SLfUdCIEnFo+zL8=";
// 개발 라이센스 적용 (만료 23.09.30) // 개발 라이센스 적용 (만료 23.09.30)
var INNORIX_LICENSE = "SdFY8+dBdt8IY1M4l8fQkBVO1kBmeR6G5LjSUlLcHuYKCGoA14dIM9d5x6nedAJC2YhgbYjAEsedB+RXglSXElTeOto="; //var INNORIX_LICENSE = "SdFY8+dBdt8IY1M4l8fQkBVO1kBmeR6G5LjSUlLcHuYKCGoA14dIM9d5x6nedAJC2YhgbYjAEsedB+RXglSXElTeOto=";
// 개발 라이센스 적용 (만료 23.12.31)
var INNORIX_LICENSE = "DMhUDOx/+RoGojh0ECXphlfh5DGpLolyCxk7xMuNCAeJ0nqF8SQtKjJdL0jvHs4dgrMIaHrcSeNY+U28a3WFA5No4Pc=";
var INNORIX_VERSION = '1.1.3.458'; var INNORIX_VERSION = '1.1.3.458';
var INNORIX_WIN_VERSION = '1.1.3.458'; var INNORIX_WIN_VERSION = '1.1.3.458';