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

- 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>";
model.addAttribute("emailBottom", emailBottom);
return "/kccadr/sendMgr/emailSendMgr";
return "/kccadr/sendMgr/emailSendMgr_tabulator";
}
@RequestMapping(value = "/kccadr/sendMgr/emailSendMgrAjax.do")

View File

@ -52,7 +52,7 @@ public class SendMgrSMSController {
@RequestMapping(value = "/kccadr/sendMgr/smsSendMgr.do")
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">
<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 -->
<div class="cont_wrap">
<div class="box">
@ -140,24 +143,24 @@
<input type="text" size="100" id="emailTitle" name="emailTitle">
</td>
</tr>
<tr>
<%-- <tr>
<th>발송탬플릿</th>
<td>
<textarea name="emailTop" id="emailTop" cols="30" rows="10" readonly="readonly"><c:out value="${emailTop}"/></textarea>
</td>
</tr>
</tr> --%>
<tr>
<th>발송내용</th>
<td>
<textarea name="emailContent" id="emailContent" cols="30" rows="10" ></textarea>
</td>
</tr>
<tr>
<%-- <tr>
<th>발송탬플릿</th>
<td>
<textarea name="emailBottom" id="emailBottom" cols="30" rows="10" readonly="readonly"><c:out value="${emailBottom}"/></textarea>
</td>
</tr>
</tr> --%>
<tr>
<th>수신메일주소</th>
<td>

View File

@ -41,9 +41,27 @@
<script type="text/javascript">
$( document ).ready(function() {
//타뷸레이터 생성
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(){
//jquery를 활용하여 간단하게 tabulator 함수 호출
@ -53,6 +71,10 @@
var emailSubject = $("#emailSubject").val();
var emailContent = $("#emailContent").val();
var emailTop = $("#emailTop").val();
var emailBottom = $("#emailBottom").val();
emailContent = emailTop + emailContent + emailBottom;
if(sendLength == 0){
alert("수신 메일주소를 입력해 주세요");
@ -75,6 +97,7 @@
}
$("#emailList").val(emailArr);
$("#emailSendContent").val(emailContent);
var data = new FormData(document.emailForm);
$.ajax({
@ -103,23 +126,21 @@
}
function tabulator_create(){
var tabledata = [
];
function tabulator_create(){
//Build Tabulator
//구현 편의성을 위해 jquery 로 만들기
// jquery로 만들어서 jquery로 함수 호출 가능
$("#tabulatorArea").tabulator({
var table = new Tabulator("#tabulatorArea", {
/* $("#tabulatorArea").tabulator({ */
//table setup options
height:"500px",
data:tabledata,
layout:"fitDataTable",
clipboard:true,
reactiveData:true,
clipboardPasteAction:"replace",
validationMode:"highlight",
columns:[
{title:"메일주소", field:"mailAdress", width:200, editor:true},
@ -131,6 +152,9 @@
]
});
}
function mailAdd(){
//메일추가 클릭 시 tabulator에 추가
document.getElementById("emailAdd").addEventListener("click", function(){
var inputEmail = $("#callTo").val();
@ -151,11 +175,13 @@
// var test = $("#tabulatorArea").tabulator("getInvalidCells");
});
}
</script>
<form id="emailForm" name="emailForm" method="post">
<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 -->
<div class="cont_wrap">
<div class="box">

View File

@ -39,9 +39,29 @@
<script type="text/javascript">
$( document ).ready(function() {
//타뷸레이터 생성
tabulator_create();
//버튼을 통한 추가
phoneAdd();
//복사붙여넣기
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 fnSmsSend(){
@ -70,6 +90,7 @@ function fnSmsSend(){
var data = new FormData(document.smsForm);
$.ajax({
type: "POST"
, url: "/kccadr/sendMgr/smsSendMgrAjax.do"
@ -95,10 +116,10 @@ function fnSmsSend(){
});
}
function tabulator_create(){
var tabledata = [
];
function tabulator_create(){
//Build Tabulator
//구현 편의성을 위해 jquery 로 만들기
@ -108,9 +129,7 @@ function fnSmsSend(){
height:"500px",
data:tabledata,
layout:"fitDataTable",
clipboard:true,
reactiveData:true,
clipboardPasteAction:"replace",
validationMode:"highlight",
columns:[
{title:"수신번호", field:"phone", width:200, editor:true},
@ -122,7 +141,11 @@ function fnSmsSend(){
]
});
//메일추가 클릭 시 tabulator에 추가
}
function phoneAdd(){
//추가 클릭 시 tabulator에 추가
document.getElementById("phoneAdd").addEventListener("click", function(){
var inputPhone = $("#callTo").val();
@ -140,7 +163,6 @@ function fnSmsSend(){
tabledata.push({phone:inputPhone});
$("#callTo").val('');
});
}
</script>

View File

@ -15,7 +15,9 @@
// 운영라이선스 적용
//var INNORIX_LICENSE = "FXA8KvVU99M9Ubbr3Yrz91zCNqyXdWCqUQ/OO1f7lj3nifVZZjuLqJIlHXjosrbPynCFJat5fwEgP/RVXftvXSsXmAHSnTVLYciyf8XmbxH8SLfUdCIEnFo+zL8=";
// 개발 라이센스 적용 (만료 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_WIN_VERSION = '1.1.3.458';