Merge branch 'master' into 4891_발송결과_속도개선
This commit is contained in:
commit
4353d4939f
@ -5,6 +5,7 @@ import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.http.HttpStatus;
|
||||
@ -158,7 +159,8 @@ public class CertPhoneController {
|
||||
|
||||
|
||||
@RequestMapping(value = {"/cert/phone/sendSysMsgDataAjax.do"})
|
||||
public ResponseEntity<StatusResponse> sendSysMsgDataAjax(MberCertPhoneVO mberCertPhoneVO) throws Exception {
|
||||
public ResponseEntity<StatusResponse> sendSysMsgDataAjax(MberCertPhoneVO mberCertPhoneVO,
|
||||
HttpServletRequest request) throws Exception {
|
||||
|
||||
|
||||
//로그인 권한정보 불러오기
|
||||
@ -178,7 +180,7 @@ public class CertPhoneController {
|
||||
|
||||
MjonMsgVO mjonMsgVO = new MjonMsgVO();
|
||||
mjonMsgVO.setCallTo(mberCertPhoneVO.getMbtlnum());
|
||||
MjonMsgReturnVO returnVO = mjonMsgDataService.sendSysMsgData(mjonMsgVO);
|
||||
MjonMsgReturnVO returnVO = mjonMsgDataService.sendSysMsgData(mjonMsgVO, request);
|
||||
|
||||
String resultSts = returnVO.getSendMsgCnt();
|
||||
String resultBlockSts = returnVO.getSendMsgBlockCnt();
|
||||
|
||||
@ -140,6 +140,9 @@ public class KakaoAlimTalkSendController {
|
||||
|
||||
@Autowired
|
||||
KakaoApiJsonSave kakaoApiJsonSave;
|
||||
|
||||
@Autowired
|
||||
private MjonCommon mjonCommon;
|
||||
|
||||
@RequestMapping(value= {"/web/mjon/alimtalk/kakaoAlimtalkMsgDataView.do"})
|
||||
public String KakaoAlimtalkMsgDataView(ModelMap model
|
||||
@ -1385,8 +1388,7 @@ public class KakaoAlimTalkSendController {
|
||||
|
||||
if(!smishingAlarmPassSts) {//평일,주말, 공휴일 알림설정 시간에 포함되지 않는 경우 슬랙 알림 발송
|
||||
|
||||
MjonCommon comm = new MjonCommon();
|
||||
comm.getAdminKakaoAtSandSlack(kakaoVO);
|
||||
mjonCommon.getAdminKakaoAtSandSlack(kakaoVO);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -63,16 +63,57 @@ public class MjonCommon {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @methodName : getAdminSandSlack
|
||||
* @methodName : getAdminMsgSandSlack
|
||||
* @author : 이호영
|
||||
* @date : 2024.12.04
|
||||
* @description : 기존 메소드 리펙토링
|
||||
* @param mjonMsgVO
|
||||
*/
|
||||
public void getAdminSandSlack(MjonMsgVO mjonMsgVO) {
|
||||
public void getAdminSandSlack(String smsTxt, String sandName) {
|
||||
|
||||
HttpClient client = new HttpClient();
|
||||
PostMethod post = new PostMethod(SLACK_URL);
|
||||
|
||||
try {
|
||||
// 메시지 내용 설정
|
||||
|
||||
// Slack 메시지 생성
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("channel", SLACK_CHANNEL);
|
||||
json.put("text", smsTxt);
|
||||
json.put("username", sandName);
|
||||
|
||||
// Slack 요청
|
||||
post.addParameter("payload", json.toString());
|
||||
post.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
|
||||
|
||||
// Slack 응답 처리
|
||||
int responseCode = client.executeMethod(post);
|
||||
if (responseCode != HttpStatus.SC_OK) {
|
||||
log.warn("Slack 메시지 전송 실패. Response: {}", post.getResponseBodyAsString());
|
||||
}
|
||||
|
||||
} catch (IllegalArgumentException e) {
|
||||
log.error("Slack 메시지 전송 중 IllegalArgumentException 발생", e);
|
||||
} catch (IOException e) {
|
||||
log.error("Slack 메시지 전송 중 IOException 발생", e);
|
||||
} catch (Exception e) {
|
||||
log.error("Slack 메시지 전송 중 Exception 발생", e);
|
||||
} finally {
|
||||
post.releaseConnection();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @methodName : getAdminMsgSandSlack
|
||||
* @author : 이호영
|
||||
* @date : 2024.12.04
|
||||
* @description : 기존 메소드 리펙토링
|
||||
* @param mjonMsgVO
|
||||
*/
|
||||
public void getAdminMsgSandSlack(MjonMsgVO mjonMsgVO) {
|
||||
|
||||
HttpClient client = new HttpClient();
|
||||
PostMethod post = new PostMethod(SLACK_URL);
|
||||
@ -116,7 +157,7 @@ public class MjonCommon {
|
||||
* @작성자 : WYH
|
||||
* @Method 설명 : slack 메시지 전송
|
||||
*/
|
||||
/*public void getAdminSandSlack(MjonMsgVO mjonMsgVO) {
|
||||
/*public void getAdminMsgSandSlack(MjonMsgVO mjonMsgVO) {
|
||||
|
||||
HttpClient client = new HttpClient();
|
||||
PostMethod post = new PostMethod(url);
|
||||
|
||||
@ -30,6 +30,7 @@ import org.apache.poi.xssf.usermodel.XSSFSheet;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
@ -185,6 +186,9 @@ public class MjonMsgCampainDataController {
|
||||
@Resource(name = "MsgHolidayService")
|
||||
private MsgHolidayService msgHolidayService;
|
||||
|
||||
@Autowired
|
||||
private MjonCommon mjonCommon;
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(MjonMsgCampainDataController.class);
|
||||
|
||||
/**
|
||||
@ -3288,9 +3292,11 @@ public class MjonMsgCampainDataController {
|
||||
|
||||
if(!smishingAlarmPassSts) {//평일,주말, 공휴일 알림설정 시간에 포함되지 않는 경우 슬랙 알림 발송
|
||||
|
||||
/*
|
||||
MjonCommon comm = new MjonCommon();
|
||||
comm.getAdminSandSlack(mjonMsgVO);
|
||||
|
||||
comm.getAdminMsgSandSlack(mjonMsgVO);
|
||||
*/
|
||||
mjonCommon.getAdminMsgSandSlack(mjonMsgVO);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -12,6 +12,7 @@ import java.util.stream.Collectors;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
@ -150,6 +151,9 @@ public class MjonMsgCampainHGDataController {
|
||||
@Resource(name = "MsgHolidayService")
|
||||
private MsgHolidayService msgHolidayService;
|
||||
|
||||
@Autowired
|
||||
private MjonCommon mjonCommon;
|
||||
|
||||
/**
|
||||
* 선거 문자 대량 발송 화면
|
||||
* @param searchVO
|
||||
@ -1138,10 +1142,11 @@ public class MjonMsgCampainHGDataController {
|
||||
boolean smishingAlarmPassSts = mjonHolidayApi.getHolidaySmishingPassStatus(resultAlarmList, resultHolidayList);
|
||||
|
||||
if(!smishingAlarmPassSts) {//평일,주말, 공휴일 알림설정 시간에 포함되지 않는 경우 슬랙 알림 발송
|
||||
|
||||
/*
|
||||
MjonCommon comm = new MjonCommon();
|
||||
comm.getAdminSandSlack(mjonMsgVO);
|
||||
|
||||
comm.getAdminMsgSandSlack(mjonMsgVO);
|
||||
*/
|
||||
mjonCommon.getAdminMsgSandSlack(mjonMsgVO);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -29,6 +29,7 @@ import org.apache.poi.xssf.usermodel.XSSFSheet;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
@ -174,6 +175,9 @@ public class MjonMsgCampainTWDataController {
|
||||
@Resource(name = "MsgHolidayService")
|
||||
private MsgHolidayService msgHolidayService;
|
||||
|
||||
@Autowired
|
||||
private MjonCommon mjonCommon;
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(MjonMsgCampainTWDataController.class);
|
||||
|
||||
/**
|
||||
@ -2122,10 +2126,11 @@ public class MjonMsgCampainTWDataController {
|
||||
boolean smishingAlarmPassSts = mjonHolidayApi.getHolidaySmishingPassStatus(resultAlarmList, resultHolidayList);
|
||||
|
||||
if(!smishingAlarmPassSts) {//평일,주말, 공휴일 알림설정 시간에 포함되지 않는 경우 슬랙 알림 발송
|
||||
|
||||
/*
|
||||
MjonCommon comm = new MjonCommon();
|
||||
comm.getAdminSandSlack(mjonMsgVO);
|
||||
|
||||
comm.getAdminMsgSandSlack(mjonMsgVO);
|
||||
*/
|
||||
mjonCommon.getAdminMsgSandSlack(mjonMsgVO);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -188,7 +188,7 @@ public interface MjonMsgDataService {
|
||||
|
||||
public StatusResponse sendMsgData_advc(MjonMsgVO mjonMsgVO, HttpServletRequest request) throws Exception;
|
||||
|
||||
public MjonMsgReturnVO sendSysMsgData(MjonMsgVO mjonMsgVO) throws Exception;
|
||||
public MjonMsgReturnVO sendSysMsgData(MjonMsgVO mjonMsgVO, HttpServletRequest request) throws Exception;
|
||||
|
||||
|
||||
|
||||
|
||||
@ -2,6 +2,7 @@ package itn.let.mjo.msgdata.service.impl;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.net.URI;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
@ -147,6 +148,7 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M
|
||||
|
||||
@Autowired
|
||||
private MjonCommon mjonCommon;
|
||||
|
||||
|
||||
public List<MjonMsgDataVO> selectCcmCmmCodeList() throws Exception {
|
||||
|
||||
@ -4172,7 +4174,7 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M
|
||||
|
||||
if (isNotified) {
|
||||
System.out.println("스미싱 알림이 처리되었습니다.");
|
||||
mjonCommon.getAdminSandSlack(mjonMsgVO);
|
||||
mjonCommon.getAdminMsgSandSlack(mjonMsgVO);
|
||||
} else if("Y".equalsIgnoreCase(mjonMsgVO.getSpamStatus())){
|
||||
System.out.println("==알림 예외 시간==");
|
||||
mjonMsgDAO.insertSpamPassMsgData(mjonMsgVO);
|
||||
@ -5022,7 +5024,7 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M
|
||||
}
|
||||
|
||||
@Override
|
||||
public MjonMsgReturnVO sendSysMsgData(MjonMsgVO mjonMsgVO) throws Exception {
|
||||
public MjonMsgReturnVO sendSysMsgData(MjonMsgVO mjonMsgVO,HttpServletRequest request) throws Exception {
|
||||
|
||||
|
||||
|
||||
@ -5099,6 +5101,22 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M
|
||||
|
||||
mjonMsgDataService.insertSysMsgLog(sendLogVO);
|
||||
|
||||
|
||||
String fullUrl = request.getRequestURL().toString();
|
||||
try {
|
||||
URI uri = new URI(fullUrl);
|
||||
String domain = uri.getHost(); // www.munjaon.co.kr 반환
|
||||
|
||||
if(domain.indexOf("munjaon.co.kr") < 0) {
|
||||
mjonCommon.getAdminSandSlack(contents, "로그인 인증번호 "+mjonMsgVO.getCallTo());
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
return returnVO;
|
||||
}
|
||||
|
||||
|
||||
@ -40,6 +40,7 @@ import org.apache.poi.xssf.usermodel.XSSFSheet;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
@ -193,6 +194,9 @@ public class MjonMsgDataController {
|
||||
@Resource(name = "MsgHolidayService")
|
||||
private MsgHolidayService msgHolidayService;
|
||||
|
||||
@Autowired
|
||||
private MjonCommon mjonCommon;
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(MjonMsgDataController.class);
|
||||
|
||||
/**
|
||||
@ -3447,10 +3451,11 @@ public class MjonMsgDataController {
|
||||
boolean smishingAlarmPassSts = mjonHolidayApi.getHolidaySmishingPassStatus(resultAlarmList, resultHolidayList);
|
||||
|
||||
if(!smishingAlarmPassSts) {//평일,주말, 공휴일 알림 예외설정 시간에 포함되지 않는 경우 슬랙 알림 발송
|
||||
|
||||
/*
|
||||
MjonCommon comm = new MjonCommon();
|
||||
comm.getAdminSandSlack(mjonMsgVO);
|
||||
|
||||
comm.getAdminMsgSandSlack(mjonMsgVO);
|
||||
*/
|
||||
mjonCommon.getAdminMsgSandSlack(mjonMsgVO);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -242,6 +242,9 @@ public class TestController {
|
||||
@Resource(name="MjonMsgDataDAO")
|
||||
private MjonMsgDataDAO mjonMsgDataDAO;
|
||||
|
||||
@Autowired
|
||||
private MjonCommon mjonCommon;
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(TestController.class);
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////
|
||||
@ -2173,16 +2176,17 @@ public class TestController {
|
||||
boolean smishingAlarmPassSts = mjonHolidayApi.getHolidaySmishingPassStatus(resultAlarmList, resultHolidayList);
|
||||
|
||||
if(!smishingAlarmPassSts) {//평일,주말, 공휴일 알림설정 시간에 포함되지 않는 경우 슬랙 알림 발송
|
||||
|
||||
/*
|
||||
MjonCommon comm = new MjonCommon();
|
||||
comm.getAdminSandSlack(mjonMsgVO);
|
||||
|
||||
comm.getAdminMsgSandSlack(mjonMsgVO);
|
||||
*/
|
||||
mjonCommon.getAdminMsgSandSlack(mjonMsgVO);
|
||||
}
|
||||
|
||||
//Slack으로 메세지 전송 처리
|
||||
/*MjonCommon comm = new MjonCommon();
|
||||
System.out.println("slack noti");
|
||||
comm.getAdminSandSlack(mjonMsgVO);*/
|
||||
comm.getAdminMsgSandSlack(mjonMsgVO);*/
|
||||
}
|
||||
}
|
||||
/*else {//야간스미싱 알림 비활성화인 경우 - 알림일정에 포함되지 않으면 슬랙 발송 처리(알림일정에 포함되면 슬랙발송 X - 알림 비활성화이기 때문에 발송X)
|
||||
@ -2211,7 +2215,7 @@ public class TestController {
|
||||
if(!smishingAlarmPassSts) {//평일,주말, 공휴일 알림설정 시간에 포함되지 않는 경우 슬랙 알림 발송
|
||||
|
||||
MjonCommon comm = new MjonCommon();
|
||||
comm.getAdminSandSlack(mjonMsgVO);
|
||||
comm.getAdminMsgSandSlack(mjonMsgVO);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -3632,7 +3632,7 @@ public class EgovLoginController {
|
||||
*/
|
||||
@RequestMapping(value = { "/web/user/sendSysMsgDataAjax.do" })
|
||||
public ModelAndView sendSysMsgDataAjax(@ModelAttribute("searchVO") MjonMsgVO mjonMsgVO,
|
||||
RedirectAttributes redirectAttributes, ModelMap model) throws Exception {
|
||||
RedirectAttributes redirectAttributes, ModelMap model, HttpServletRequest request) throws Exception {
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
modelAndView.setViewName("jsonView");
|
||||
@ -3710,7 +3710,7 @@ public class EgovLoginController {
|
||||
|
||||
|
||||
|
||||
MjonMsgReturnVO returnVO = mjonMsgDataService.sendSysMsgData(mjonMsgVO);
|
||||
MjonMsgReturnVO returnVO = mjonMsgDataService.sendSysMsgData(mjonMsgVO, request);
|
||||
|
||||
resultSts = returnVO.getSendMsgCnt();
|
||||
resultBlockSts = returnVO.getSendMsgBlockCnt();
|
||||
|
||||
@ -1225,9 +1225,6 @@ public class EgovUserManageController {
|
||||
vo.setCodeId("ITN024");
|
||||
model.addAttribute("flowTypeCode", cmmUseService.selectCmmCodeDetail(vo));
|
||||
|
||||
vo.setCodeId("ITN056");
|
||||
model.addAttribute("smsSandCode", cmmUseService.selectCmmCodeDetail(vo));
|
||||
|
||||
|
||||
//최근 발송 문자 내용 불러오기 - 최근 3개 내역만
|
||||
List<MjonMsgSentVO> mjonMsgSentList = mberManageService.selectMberMsgSentLatestListNew20240320(userId);
|
||||
|
||||
@ -21,6 +21,7 @@
|
||||
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||
<%@ taglib prefix="double-submit" uri="http://www.egovframe.go.kr/tags/double-submit/jsp" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%>
|
||||
<% pageContext.setAttribute("newLineChar", "\r\n"); %>
|
||||
<% pageContext.setAttribute("newLineChar2", "\n"); %>
|
||||
<% String serverName = request.getServerName(); %>
|
||||
@ -6075,13 +6076,15 @@ function fnInputSmsTxt(){
|
||||
<li><input type="radio" name="msgKind" id="msgKind3" value="C"/><label for="msgKind3">선거</label></li>
|
||||
</ul> --%>
|
||||
<input type="hidden" name="msgKind" id="msgKind" value="N"/>
|
||||
<select id="inputSmsTxt" onchange="fnInputSmsTxt();">
|
||||
<ec:select codeId="ITN056" id="inputSmsTxt" script="onchange='fnInputSmsTxt();'"
|
||||
defaultValue="" defaultText="직접입력" />
|
||||
<%-- <select id="inputSmsTxt" onchange="fnInputSmsTxt();">
|
||||
<c:forEach var="result" items="${smsSandCode}" varStatus="status">
|
||||
<option value="${result.code}">
|
||||
<c:out value="${result.codeNm}"/>
|
||||
</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</select> --%>
|
||||
<textarea name="smsTxt" id="smsTxt"></textarea>
|
||||
<span class="fwMd" id="msgLeng">0 /</span>
|
||||
<span id="limitLeng">90</span>byte
|
||||
|
||||
@ -516,7 +516,7 @@ $(document).ready(function(){
|
||||
var updatedData = currentData.map(row => {
|
||||
var newRow = {};
|
||||
fieldMapping.forEach((field, index) => {
|
||||
newRow[field] = row[Object.keys(row)[index]] || "";
|
||||
newRow[field] = row[Object.keys(row)[index]] ?? "";
|
||||
});
|
||||
return newRow;
|
||||
});
|
||||
|
||||
@ -501,7 +501,7 @@ function updateTableFields($objTabul) {
|
||||
var updatedData = currentData.map(row => {
|
||||
var newRow = {};
|
||||
fieldMapping.forEach((field, index) => {
|
||||
newRow[field] = row[Object.keys(row)[index]] || "";
|
||||
newRow[field] = row[Object.keys(row)[index]] ?? "";
|
||||
});
|
||||
return newRow;
|
||||
});
|
||||
|
||||
@ -14,10 +14,40 @@ var msgResendAllFlag = "${msgResendAllFlag}";
|
||||
var msgResendAllGroupId = "${msgResendAllGroupId}";
|
||||
var msgResendAllReplaceYn = "${msgResendAllReplaceYn}";
|
||||
|
||||
//맞춤제작 내보관함 이미지 선택시 처리
|
||||
var customImgFlag = '${customImgVO.customImgFlag}';
|
||||
var customAtchFileId = '${customImgVO.atchFileId1}';
|
||||
var customFileSn = '${customImgVO.fileSn}';
|
||||
var customStrImgPath = '${customImgVO.strImgPath}';
|
||||
|
||||
//메인화면 그림문자 이미지 선택시 처리
|
||||
var mainImgFlag = '${mainImgVO.mainImgFlag}';
|
||||
var mainAtchFileId = '${mainImgVO.atchFileId1}';
|
||||
var mainFileSn = '${mainImgVO.fileSn}';
|
||||
var mainStrImgPath = '${mainImgVO.strImgPath}';
|
||||
|
||||
//메인화면 인기문자 메세지 선택시 처리
|
||||
var mainLetterFlag = '${mainLetterVO.mainLetterFlag}';
|
||||
var mainSmsTxt = '${mainLetterVO.smsTxt}';
|
||||
|
||||
//공통 설정
|
||||
var cateNo = "${cateCodeVO.cateNo}";
|
||||
var mainLetterTypeFlag = '${searchVO.mainLetterTypeFlag}';
|
||||
var moreSamFlag = '${moreSampleYn}';
|
||||
|
||||
//문자 재전송 처리
|
||||
var msgResendFlag = '${reSendMsgVO.msgResendFlag}';
|
||||
var msgSeqList = [];
|
||||
msgSeqList = '${reSendMsgVO.msgSeqList}';
|
||||
|
||||
//주소록에서 주소를 전송한 경우 처리
|
||||
var moveAddrFlag = '${addrVO.moveAddrFlag}';
|
||||
var addrIdList = [];
|
||||
addrIdList = '${addrVO.addrIdList}';
|
||||
|
||||
|
||||
$(document).ready(function(){
|
||||
|
||||
console.log('loginVO : ', loginVO);
|
||||
|
||||
// 내보관함 리스트 로그인이 완료된 경우에만 로드되도록
|
||||
if(loginVO != "" && loginVO != null){
|
||||
//최 하단 내문자함 탭 리스트 내용 불러오기
|
||||
|
||||
@ -554,9 +554,10 @@ function updateTableFields($objTabul) {
|
||||
});
|
||||
|
||||
var updatedData = currentData.map(row => {
|
||||
console.log('row : ', row);
|
||||
var newRow = {};
|
||||
fieldMapping.forEach((field, index) => {
|
||||
newRow[field] = row[Object.keys(row)[index]] || "";
|
||||
newRow[field] = row[Object.keys(row)[index]] ?? "";
|
||||
});
|
||||
return newRow;
|
||||
});
|
||||
|
||||
@ -303,7 +303,9 @@ $(document).ready(function(){
|
||||
var updatedData = currentData.map(row => {
|
||||
var newRow = {};
|
||||
fieldMapping.forEach((field, index) => {
|
||||
newRow[field] = row[Object.keys(row)[index]] || "";
|
||||
newRow[field] = row[Object.keys(row)[index]] !== null && row[Object.keys(row)[index]] !== undefined
|
||||
? row[Object.keys(row)[index]]
|
||||
: "";
|
||||
});
|
||||
return newRow;
|
||||
});
|
||||
|
||||
@ -367,7 +367,9 @@ function updateTableFields(objTabul) {
|
||||
var updatedData = currentData.map(row => {
|
||||
var newRow = {};
|
||||
fieldMapping.forEach((field, index) => {
|
||||
newRow[field] = row[Object.keys(row)[index]] || "";
|
||||
newRow[field] = row[Object.keys(row)[index]] !== null && row[Object.keys(row)[index]] !== undefined
|
||||
? row[Object.keys(row)[index]]
|
||||
: "";
|
||||
});
|
||||
return newRow;
|
||||
});
|
||||
|
||||
@ -364,7 +364,9 @@ $(document).ready(function(){
|
||||
var updatedData = currentData.map(row => {
|
||||
var newRow = {};
|
||||
fieldMapping.forEach((field, index) => {
|
||||
newRow[field] = row[Object.keys(row)[index]] || "";
|
||||
newRow[field] = row[Object.keys(row)[index]] !== null && row[Object.keys(row)[index]] !== undefined
|
||||
? row[Object.keys(row)[index]]
|
||||
: "";
|
||||
});
|
||||
return newRow;
|
||||
});
|
||||
|
||||
@ -225,20 +225,16 @@ function listMsgDataView(){
|
||||
$('html').animate({scrollTop : offset.top}, 400);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
//메인화면 더많은 샘플보기 버튼 선택시 처리
|
||||
var moreSamFlag = '${moreSampleYn}';
|
||||
|
||||
if(moreSamFlag == 'Y'){
|
||||
|
||||
//문자 샘플 탭 활성화 시키기
|
||||
var mainLetterTypeFlag = '${searchVO.mainLetterTypeFlag}';
|
||||
// var mainLetterTypeFlag = '${searchVO.mainLetterTypeFlag}';
|
||||
var letterTab = '0';
|
||||
var cateNo = "${cateCodeVO.cateNo}";
|
||||
// var cateNo = "${cateCodeVO.cateNo}";
|
||||
if(mainLetterTypeFlag == 'P'){
|
||||
TabType2($('.tabType2 li').eq(1), '2');
|
||||
}else{
|
||||
@ -278,10 +274,12 @@ function listMsgDataView(){
|
||||
|
||||
|
||||
//메인화면 그림문자 이미지 선택시 처리
|
||||
var mainImgFlag = '${mainImgVO.mainImgFlag}';
|
||||
console.log('메인화면 그림문자 이미지 선택시 처리');
|
||||
console.log('mainImgFlag : ' + mainImgFlag);
|
||||
// var mainImgFlag = '${mainImgVO.mainImgFlag}';
|
||||
if(mainImgFlag == 'Y'){
|
||||
//카테고리 처리
|
||||
var cateNo = "${cateCodeVO.cateNo}";
|
||||
// var cateNo = "${cateCodeVO.cateNo}";
|
||||
$('.tDep2_cateCode').find('.on').removeClass('on');
|
||||
$('.tDep2_cateCode a').each(function(index){
|
||||
if($(this).attr('value') == cateNo){
|
||||
@ -289,72 +287,84 @@ function listMsgDataView(){
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
var atchFileId = '${mainImgVO.atchFileId1}';
|
||||
var fileSn = '${mainImgVO.fileSn}';
|
||||
var strImgPath = '${mainImgVO.strImgPath}';
|
||||
|
||||
fnCustomImgSendMsg(atchFileId, fileSn, strImgPath);
|
||||
// var atchFileId = '${mainImgVO.atchFileId1}';
|
||||
// var fileSn = '${mainImgVO.fileSn}';
|
||||
// var strImgPath = '${mainImgVO.strImgPath}';
|
||||
console.log('mainAtchFileId : ' + mainAtchFileId
|
||||
+ ' / mainFileSn : ' + mainFileSn
|
||||
+ ' / mainStrImgPath : ' + mainStrImgPath
|
||||
);
|
||||
fnCustomImgSendMsg(mainAtchFileId, mainFileSn, mainStrImgPath);
|
||||
|
||||
}
|
||||
|
||||
//메인화면 인기문자 메세지 선택시 처리
|
||||
var mainLetterFlag = '${mainLetterVO.mainLetterFlag}';
|
||||
console.log('메인화면 인기문자 메세지 선택시 처리');
|
||||
console.log('mainLetterFlag : ' + mainLetterFlag);
|
||||
// var mainLetterFlag = '${mainLetterVO.mainLetterFlag}';
|
||||
if(mainLetterFlag == 'Y'){
|
||||
var letterTab = '0';
|
||||
//문자샘플 활성화 처리
|
||||
TabType2($('.tabType2 li').eq(0), '1');
|
||||
//단문,장문 탭 활성화 처리
|
||||
var mainLetterTypeFlag = '${searchVO.mainLetterTypeFlag}';
|
||||
// var mainLetterTypeFlag = '${searchVO.mainLetterTypeFlag}';
|
||||
if(mainLetterTypeFlag == 'L'){
|
||||
$('.tDep1_letType a').removeClass('on');
|
||||
$('.tDep1_letType a').eq(1).addClass('on');
|
||||
}
|
||||
//카테고리 활성화 처리
|
||||
var cateNo = "${cateCodeVO.cateNo}";
|
||||
// var cateNo = "${cateCodeVO.cateNo}";
|
||||
$('.tDep1_cateCode').find('.on').removeClass('on');
|
||||
$('.tDep1_cateCode a').each(function(index){
|
||||
if($(this).attr('value') == cateNo){
|
||||
$(this).addClass('on');
|
||||
}
|
||||
})
|
||||
var smsTxt = '${mainLetterVO.smsTxt}';
|
||||
if(smsTxt != null){
|
||||
|
||||
// var smsTxt = '${mainLetterVO.smsTxt}';
|
||||
if(mainSmsTxt != null){
|
||||
|
||||
smsTxt = smsTxt.replaceAll("<br/>", "\n"); //줄발꿈문자 변환하기
|
||||
$("#smsTxtArea").val(smsTxt);
|
||||
fnByteString(smsTxt);
|
||||
mainSmsTxt = mainSmsTxt.replaceAll("<br/>", "\n"); //줄발꿈문자 변환하기
|
||||
$("#smsTxtArea").val(mainSmsTxt);
|
||||
fnByteString(mainSmsTxt);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//맞춤제작 내보관함 이미지 선택시 처리
|
||||
var customImgFlag = '${customImgVO.customImgFlag}';
|
||||
// 맞춤제작 내보관함 이미지 선택시 처리
|
||||
console.log('커스텀 문자정보');
|
||||
console.log('customImgFlag : ' + customImgFlag);
|
||||
// var customImgFlag = '${customImgVO.customImgFlag}';
|
||||
if(customImgFlag == 'Y'){
|
||||
|
||||
var atchFileId = '${customImgVO.atchFileId1}';
|
||||
var fileSn = '${customImgVO.fileSn}';
|
||||
var strImgPath = '${customImgVO.strImgPath}';
|
||||
|
||||
fnCustomImgSendMsg(atchFileId, fileSn, strImgPath);
|
||||
//var atchFileId = '${customImgVO.atchFileId1}';
|
||||
//var fileSn = '${customImgVO.fileSn}';
|
||||
//var strImgPath = '${customImgVO.strImgPath}';
|
||||
console.log(' customAtchFileId : ' + customAtchFileId
|
||||
+ ' / customFileSn : ' + customFileSn
|
||||
+ ' / customStrImgPath : ' + customStrImgPath
|
||||
);
|
||||
fnCustomImgSendMsg(customAtchFileId, customFileSn, customStrImgPath);
|
||||
|
||||
}
|
||||
|
||||
//문자 재전송 처리
|
||||
var msgResendFlag = '${reSendMsgVO.msgResendFlag}';
|
||||
var msgSeqList = [];
|
||||
msgSeqList = '${reSendMsgVO.msgSeqList}';
|
||||
console.log('문자 재전송 처리');
|
||||
// var msgResendFlag = '${reSendMsgVO.msgResendFlag}';
|
||||
// var msgSeqList = [];
|
||||
// msgSeqList = '${reSendMsgVO.msgSeqList}';
|
||||
if(msgSeqList.length > 0){
|
||||
|
||||
console.log('msgSeqList.length : ' + msgSeqList.length);
|
||||
fnMsgResend(msgResendFlag, msgSeqList);
|
||||
|
||||
}
|
||||
|
||||
//주소록에서 주소를 전송한 경우 처리
|
||||
var moveAddrFlag = '${addrVO.moveAddrFlag}';
|
||||
var addrIdList = [];
|
||||
addrIdList = '${addrVO.addrIdList}';
|
||||
// var moveAddrFlag = '${addrVO.moveAddrFlag}';
|
||||
// var addrIdList = [];
|
||||
// addrIdList = '${addrVO.addrIdList}';
|
||||
console.log('주소록에서 주소를 전송한 경우 처리');
|
||||
if(addrIdList.length > 0) {
|
||||
fnAddrSet(moveAddrFlag, addrIdList);
|
||||
}
|
||||
@ -377,7 +387,6 @@ function listMsgDataView(){
|
||||
|
||||
function fnCustomImgSendMsg(atchFileId, fileSn, filePath){
|
||||
|
||||
|
||||
var imgId = "";
|
||||
var imgSrc = "";
|
||||
|
||||
|
||||
@ -2353,6 +2353,18 @@ button.check_validity:hover {border: 1px solid #a3a3a3;box-shadow: 0px 0px 5px
|
||||
.spam_content .spam_conbox .spam_table tbody tr td{text-align: left;}
|
||||
.spam_content .spam_conbox .spam_table tbody tr td li .conlist8{padding: 0 0 0 18px;}
|
||||
|
||||
/*발송결과 수정_2025*/
|
||||
.price_wrap .table_tab_wrap .tab_btnbox .price_hover{width: 330px;}
|
||||
.price_wrap .table_tab_wrap .tab_btnbox .price_hover .last{padding: 5px 0 0 0;}
|
||||
|
||||
.price_wrap .current .tb_wrap .tType4 tbody tr .result_cont a{height: 16px;}
|
||||
.price_wrap .current .tb_wrap .tType4 tbody tr .result_cont a:hover{text-decoration: underline;}
|
||||
.price_wrap .current .tb_wrap .tType4 tbody tr .result_cont .icon_wrap{display: flex; align-items: center;}
|
||||
.price_wrap .current .tb_wrap .tType4 tbody tr .result_cont .icon_wrap span{padding: 5px 8px; margin: 0 3px; border-radius: 20px; font-size: 14px;}
|
||||
.price_wrap .current .tb_wrap .tType4 tbody tr .result_cont .icon_wrap .re{background-color: #e8f0ff; color: #2c5dd6;}
|
||||
.price_wrap .current .tb_wrap .tType4 tbody tr .result_cont .icon_wrap .di{background-color: #e7f5ec; color: #359b59;}
|
||||
|
||||
|
||||
@keyframes rotate-loading {
|
||||
0% {transform:rotate(0)}
|
||||
100% {transform:rotate(360deg);}
|
||||
|
||||
@ -1234,6 +1234,14 @@
|
||||
.adr_layer.adr_popup14 .cf_text_ul li{font-size:14px;color:#666;margin:0 0 5px 0;}
|
||||
.adr_layer.adr_popup14 .cf_text_ul li:last-child{margin:0;}
|
||||
|
||||
/* 주소록 대량등록 팝업 헤더 수정 */
|
||||
.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter{z-index: 1;}
|
||||
.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter{z-index: 1;}
|
||||
.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter{z-index: 1;}
|
||||
.tabulator .tabulator-header .tabulator-col::after{position: absolute; content: " "; width: 100%; height: 14px; background-color: #e5e5e5; bottom: 0; left: 0; z-index: 0;}
|
||||
.tabulator .tabulator-header .tabulator-col .tabulator-col-content{background-color: #ededed;}
|
||||
.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title-holder .tabulator-col-title{position: relative; z-index: 1;}
|
||||
|
||||
|
||||
|
||||
/* ie */
|
||||
|
||||
@ -18,6 +18,7 @@
|
||||
<!-- <p>***<span class="font1"> (컨텐츠)</span> : 반복적으로 사용 안함</p>
|
||||
<p>***<span class="font2"> (보드)</span> : 반복적으로 사용</p> -->
|
||||
<ul class="page">
|
||||
<li><a href="/publish/textingmsg_2025_list.html">textingmsg_2025_list.html</a>[개선] 발송결과 수정</li>
|
||||
<li><a href="/publish/service3_spam_2024.html">service3_spam_2024.html</a>불법스팸방지정책 (2024.11.29)</li>
|
||||
<li><a href="/publish/service1_2024.html">service1_2024.html</a>이용약관 (2024.11.29)</li>
|
||||
<li><a href="/publish/service1_2023.html">service1_2023.html</a>이용약관 (2023.04.26~2024.11.28)</li>
|
||||
|
||||
948
src/main/webapp/publish/textingmsg_2025_list.html
Normal file
948
src/main/webapp/publish/textingmsg_2025_list.html
Normal file
@ -0,0 +1,948 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<title>문자온_발송결과</title>
|
||||
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap"
|
||||
rel="stylesheet">
|
||||
<link rel="stylesheet" href="/publish/css/reset.css">
|
||||
<link rel="stylesheet" href="/publish/css/jquery.mCustomScrollbar.css">
|
||||
<link rel="stylesheet" href="/publish/css/common.css">
|
||||
<link rel="stylesheet" href="/publish/css/button.css">
|
||||
<link rel="stylesheet" href="/publish/css/content.css">
|
||||
<link rel="stylesheet" href="/publish/css/mem.css">
|
||||
<link rel="stylesheet" href="/publish/css/font.css">
|
||||
<link rel="stylesheet" href="/publish/css/popupLayer.css">
|
||||
<link rel="stylesheet" href="/publish/js/datepicker/classic.css">
|
||||
<link rel="stylesheet" href="/publish/js/datepicker/classic.date.css">
|
||||
|
||||
|
||||
<script src="/publish/js/jquery-3.5.0.js"></script>
|
||||
<script src="/publish/js/jquery.mCustomScrollbar.concat.min.js"></script>
|
||||
<script src="/publish/js/common.js"></script>
|
||||
<script src="/publish/js/content.js"></script>
|
||||
<script src="/publish/js/popupLayer.js"></script>
|
||||
<script type="text/javascript" src="/publish/js/datepicker/picker.js"></script>
|
||||
<script type="text/javascript" src="/publish/js/datepicker/picker.date.js"></script>
|
||||
<script type="text/javascript" src="/publish/js/datepicker/ko_KR.js"></script>
|
||||
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$(".table_tab_wrap .tab_depth1 a").click(function () {
|
||||
var tab_num = $(this).index();
|
||||
$(".table_cont .tb_wrap").eq(tab_num).show();
|
||||
$(".table_cont .tb_wrap").eq(tab_num).siblings(".tb_wrap").hide();
|
||||
if($(".table_tab_wrap .tab_depth1 a:visible").length == tab_num+1){
|
||||
$(this).css("border-radius","0 5px 5px 0");
|
||||
}else{}
|
||||
})
|
||||
});
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="mask"></div>
|
||||
|
||||
<!-- skip 메뉴 -->
|
||||
<div class="skip_menu">
|
||||
<a href="#cont" title="본문 바로가기" class="contGo">본문 바로가기</a>
|
||||
</div>
|
||||
<!--// skip 메뉴 -->
|
||||
<!-- quick 메뉴 -->
|
||||
<div class="quickMenu">
|
||||
<div>
|
||||
<p class="quick_title">QUICK<br>MENU</p>
|
||||
<p class="quick_title2">QUICK</p>
|
||||
<ul class="quickMenuIn">
|
||||
<li>
|
||||
<a href="/publish/index.html"><i class="quick1"></i><span>이용안내</span></a>
|
||||
<div class="hover_cont">이용안내</div>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#"><i class="quick2"></i><span>채팅상담</span></a>
|
||||
<div class="hover_cont">채팅상담</div>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#"><i class="quick3"></i><span>원격지원</span></a>
|
||||
<div class="hover_cont">원격지원</div>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#"><i class="quick4"></i><span>맞춤제작</span></a>
|
||||
<div class="hover_cont">맞춤제작</div>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#"><i class="quick5"></i><span>주소록 등록</span></a>
|
||||
<div class="hover_cont">주소록 등록</div>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#"><i class="quick6"></i><span>엑셀 전송</span></a>
|
||||
<div class="hover_cont">엑셀 대량전송</div>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#"><i class="quick7"></i><span>견적서</span></a>
|
||||
<div class="hover_cont">견적서</div>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#"><i class="quick8"></i><span>결제</span></a>
|
||||
<div class="hover_cont">결제</div>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#"><i class="quick9"></i><span>영수증/계산서</span></a>
|
||||
<div class="hover_cont">영수증/계산서</div>
|
||||
</li>
|
||||
</ul>
|
||||
<button type="button" class="goTop" title="맨 위로 이동">TOP<i></i></button>
|
||||
</div>
|
||||
</div>
|
||||
<!--// quick 메뉴 -->
|
||||
<!-- header 영역 -->
|
||||
<header id="header" class="header">
|
||||
<!-- header top 영역 -->
|
||||
<div class="header_top">
|
||||
<div class="inner">
|
||||
<ul class="menu_left">
|
||||
<li><a href="#"><i class="hdTop_fav"></i>즐겨찾기추가</a></li>
|
||||
<li><a href="#"><i class="hdTop_mypage"></i>마이페이지</a></li>
|
||||
<li><a href="#"><i class="hdTop_center"></i>고객센터</a></li>
|
||||
</ul>
|
||||
<ul class="menu_right">
|
||||
<li><a href="#">충전하기</a></li>
|
||||
<li class="SortLine"><a href="#">요금안내</a></li>
|
||||
<li class="SortLine"><a href="#">이용안내</a></li>
|
||||
<li class="SortLine"><a href="#">1:1고객상담</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- header top 영역 -->
|
||||
<!-- header body 영역 -->
|
||||
<div class="header_body">
|
||||
<div class="inner table">
|
||||
<h1 class="logo"><a href="/publish/index.html" alt="문자온 메인 바로가기"><img src="/publish/images/CI.png"
|
||||
alt="문자온 CI"></a></h1>
|
||||
<ul class="gnbWrap table_cell">
|
||||
<li><a href="#">문자발송</a></li>
|
||||
<li><a href="#">선거문자</a></li>
|
||||
<li><a href="#">맞춤제작</a></li>
|
||||
<li><a href="#">비즈톡</a></li>
|
||||
<li><a href="#">주소록 관리</a></li>
|
||||
<li><a href="#">발송결과</a></li>
|
||||
<li><a href="#">예약관리</a></li>
|
||||
<li><a href="#">결제내역</a></li>
|
||||
</ul>
|
||||
<div class="s_menu">
|
||||
<i class="allSearch_info"><span>문자검색</span></i>
|
||||
<button type="button" title="전체검색" class="allSearch" onclick="searchToggle();"><img
|
||||
src="/publish/images/search.png" alt="검색영역 열기" class="allMenu"></button>
|
||||
<button type="button" title="전체메뉴"><img src="/publish/images/all_menu.png" alt="전체메뉴 열기"></button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- search popup 영역 -->
|
||||
<div class="pop_search">
|
||||
<div class="inner">
|
||||
<div class="area_search">
|
||||
<select name="" id="">
|
||||
<option value="">그림문자</option>
|
||||
<option value="">단문문자</option>
|
||||
<option value="">장문문자</option>
|
||||
<option value="">GIF</option>
|
||||
</select>
|
||||
<input type="text" placeholder="문자샘플 검색하기">
|
||||
<button><img src="/publish/images/search02.png" alt=""></button>
|
||||
</div>
|
||||
<div class="area_popular">
|
||||
<p><i></i>인기검색어</p>
|
||||
<ul class="popular_tag">
|
||||
<li><a href="#">#정월대보름</a></li>
|
||||
<li class="on"><a href="#">#추석</a></li>
|
||||
<li><a href="#">#가을인사</a></li>
|
||||
<li><a href="#">#좋은하루</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<button class="btn_close" onclick="searchToggle();"><img src="/publish/images/btn_searchclose.png"
|
||||
alt=""></button>
|
||||
</div>
|
||||
</div>
|
||||
<!--// search popup 영역 -->
|
||||
</div>
|
||||
<!--// header body 영역 -->
|
||||
<div id="login" class="login">
|
||||
<div class="inner table">
|
||||
<div class="login_left table_cell">
|
||||
<div class="login_put">
|
||||
<label for="id_text" class="label"></label>
|
||||
<input type="text" placeholder="아이디를 입력해주세요" id="id_text" class="id_text" maxlength="30"
|
||||
size="18">
|
||||
<label for="password_text" class="label"></label>
|
||||
<input type="password" placeholder="비밀번호를 입력해주세요" id="password_text" class="password_text"
|
||||
maxlength="30" size="18">
|
||||
<label for="login_button" class="label"></label>
|
||||
<button type="submit" class="btnType btnType1" class="login_button">로그인</button>
|
||||
</div>
|
||||
<div class="login_save">
|
||||
<input type="checkbox" id="save_id">
|
||||
<label for="save_id">아이디 저장</label>
|
||||
</div>
|
||||
<div class="login_find">
|
||||
<a href="#">아이디찾기 /</a>
|
||||
<a href="#">비밀번호 찾기</a>
|
||||
</div>
|
||||
<div>
|
||||
<button type="button" class="btnType btnType2">회원가입</button>
|
||||
<button type="button" class="btnType btnType3">둘러보기</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="login_right">
|
||||
<span><i></i>이달의 이벤트</span>
|
||||
<button type="button" class="btnType btnType4">바로가기</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--// login 영역 -->
|
||||
</header>
|
||||
<!--// header 영역 -->
|
||||
<!-- login 영역 -->
|
||||
<!-- content 영역 -->
|
||||
<div id="container" class="cont sub">
|
||||
<div class="inner">
|
||||
<!-- send top -->
|
||||
<div class="send_top">
|
||||
<!-- 발송결과 화면 -->
|
||||
<div class="rev_admin_cont serv_content current">
|
||||
<div class="heading">
|
||||
<h2>발송결과</h2>
|
||||
</div>
|
||||
|
||||
<div class="pay_tab_wrap">
|
||||
<!-- tab button -->
|
||||
<ul class="tabType1">
|
||||
<li class="tab active"><button type="button" onclick="TabType5(this,'1');return false;">문자</button>
|
||||
</li>
|
||||
<li class="tab "><button type="button"
|
||||
onclick="TabType5(this,'2');return false;">카카오톡</button></li>
|
||||
</ul>
|
||||
<!--// tab button -->
|
||||
</div>
|
||||
<div class="rev_content" id="tab5_1">
|
||||
<!-- 발송결과 개선 : 문구추가 -->
|
||||
<div class="titBox_result">
|
||||
<p>- 최대 3개월간의 발송내역만 확인하실 수 있습니다.</p>
|
||||
<p>- 전송내역이 필요한 경우 기간 내에 다운로드하여 주시기 바랍니다.</p>
|
||||
<p>- 단문문자는 최대 24시간, 장문 및 그림문자는 최대 72시간까지 결과값이 수신되지 않은 경우 실패(비과금) 처리됩니다.</p>
|
||||
</div>
|
||||
<!--// 발송결과 개선 : 문구추가 -->
|
||||
|
||||
<div class="excel_middle">
|
||||
<div class="select_btnWrap clearfix">
|
||||
<div class="btn_left">
|
||||
<span class="cal_label">기간선택</span>
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" class="startDate inp calendar picker__input" title="검색 시작일"
|
||||
id="startDate" name="startDate" value="" data-datecontrol="true" readonly=""
|
||||
aria-haspopup="true" aria-expanded="false" aria-readonly="false"
|
||||
aria-owns="startDate_root">
|
||||
<span class="dateEtc">~</span>
|
||||
<input type="text" class="endDate inp calendar picker__input" title="검색 종료일"
|
||||
id="endDate" name="endDate" value="" data-datecontrol="true" readonly=""
|
||||
aria-haspopup="true" aria-expanded="false" aria-readonly="false"
|
||||
aria-owns="endDate_root">
|
||||
</div>
|
||||
<button type="button">전월</button>
|
||||
<button type="button">당월</button>
|
||||
<button type="button">3개월</button>
|
||||
<button type="button" class="btnType6">조회</button>
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<label for="" class="label">발송방식 전체 선택</label>
|
||||
<select name="" id="" class="selType2 select_all_btn">
|
||||
<option value="">발송방식 전체</option>
|
||||
<option value="">WEB</option>
|
||||
<option value="">API</option>
|
||||
</select>
|
||||
<label for="" class="label">발신번호 선택</label>
|
||||
<select name="" id="" class="selType2 select_btn">
|
||||
<option value="">발신번호</option>
|
||||
<option value="">문자내용</option>
|
||||
</select>
|
||||
<div class="search">
|
||||
<label for="id" class="label"></label>
|
||||
<input class="send_text" type="text" id="id" placeholder="검색어를 입력하세요." onfocus="this.placeholder=''" onblur="this.placeholder='검색어를 입력하세요.'">
|
||||
<button type="button" class="btnType btnType2">검색</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rev_admin ">
|
||||
<div class="rev_admin_in">
|
||||
<div class="rev_admin_top clearfix">
|
||||
<p>전체</p>
|
||||
<p><span>134</span> 건</p>
|
||||
</div>
|
||||
|
||||
<div class="rev_admin_btm">
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a">3</span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a">115</span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000">16</span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rev_admin_in">
|
||||
<div class="rev_admin_top clearfix">
|
||||
<p>단문(SMS)</p>
|
||||
<p><span>78</span> 건</p>
|
||||
</div>
|
||||
<div class="rev_admin_btm">
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a">0</span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a">75</span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000">3</span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rev_admin_in">
|
||||
<div class="rev_admin_top clearfix">
|
||||
<p>장문(LMS)</p>
|
||||
<p><span>30</span> 건</p>
|
||||
</div>
|
||||
<div class="rev_admin_btm">
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a">0</span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a">23</span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000">7</span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rev_admin_in">
|
||||
<div class="rev_admin_top clearfix">
|
||||
<p>그림(MMS)</p>
|
||||
<p><span>26</span> 건</p>
|
||||
</div>
|
||||
<div class="rev_admin_btm">
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a">3</span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a">17</span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000">6</span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="list_tab_wrap2 type4">
|
||||
<!-- tab button -->
|
||||
<ul class="list_tab">
|
||||
<li class="tab active"><button type="button" onclick="listTab2(this,'1');">전체</button>
|
||||
</li>
|
||||
<li class="tab"><button type="button" onclick="listTab2(this,'2');">단문(SMS)</button>
|
||||
</li>
|
||||
<li class="tab"><button type="button" onclick="listTab2(this,'3');">장문(LMS)</button>
|
||||
</li>
|
||||
<li class="tab"><button type="button" onclick="listTab2(this,'4');">그림(MMS)</button>
|
||||
</li>
|
||||
</ul>
|
||||
<!--// tab button -->
|
||||
</div>
|
||||
<!-- 발송관리 -->
|
||||
<div class="price_history_cont price_wrap" id="listTab_2">
|
||||
|
||||
<div class="table_tab_wrap">
|
||||
<!-- tab button -->
|
||||
<ul>
|
||||
<li class="tab active"><button type="button">전체</button></li>
|
||||
<li class="tab"><button type="button">즉시</button></li>
|
||||
<li class="tab"><button type="button">예약</button></li>
|
||||
</ul>
|
||||
<!--// tab button -->
|
||||
<!-- 발송화면 개선 : 발송결과 추가-->
|
||||
<div class="tab_btnbox">
|
||||
<button type="button" class="btnType btnType14 check_validity">발송결과<i class="qmMark"></i></button>
|
||||
<div class="info_hover_cont send_hover_cont price_hover">
|
||||
<dl>
|
||||
<dt class="c_222">[<span>대기</span>]</dt>
|
||||
<dd>
|
||||
발송은 성공하였으며, 수신자측 통신사로부터 수신여부를 확인중인 상태 <br>
|
||||
<span>※ 예약문자의 경우 실발송 전까지는 “대기”로 표시</span>
|
||||
</dd>
|
||||
<dt class="c_002c9a">[<span>성공</span>]</dt>
|
||||
<dd>발송 및 수신이 완료된 상태</dd>
|
||||
<dt class="c_e40000">[<span>실패</span>]</dt>
|
||||
<dd class="last">결번, 일시정지, 전화번호 오류 등의 사유로 발송이
|
||||
불가한 상태</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
<!--// 발송화면 개선 : 발송결과 추가-->
|
||||
</div>
|
||||
|
||||
<div class="table_cont current">
|
||||
<div class="list_info">
|
||||
<p>총 <span class="c_e40000">171</span>건</p>
|
||||
<div>
|
||||
<p class="cf_text c_e40000">※ 예약문자 발송취소는 예약 발송시간 기준 5분 전까지만 가능</p>
|
||||
<label for="" class="label">카테고리 선택</label>
|
||||
<label for="" class="label">줄보기 선택</label>
|
||||
<select id="" class="selType2">
|
||||
<option>10개보기</option>
|
||||
<option>20개보기</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 발송화면 개선 : 테이블 수정-->
|
||||
<div class="tb_wrap">
|
||||
<table class="tType4">
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 7%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th rowspan="2">발송일시
|
||||
<div class="sort_wrap">
|
||||
<input type="button" class="sort sortBtn" id="sort_reqdate">
|
||||
</div>
|
||||
</th>
|
||||
<th rowspan="2">형태
|
||||
<div class="sort_wrap">
|
||||
<input type="button" class="sort sortBtn" id="sort_orderByCode">
|
||||
</div>
|
||||
</th>
|
||||
<th rowspan="2">내용</th>
|
||||
<th rowspan="2">발송건수
|
||||
<div class="sort_wrap">
|
||||
<input type="button" class="sort sortBtn" id="sort_msgGroupCnt">
|
||||
</div>
|
||||
</th>
|
||||
<th colspan="3">발송결과</th>
|
||||
<th rowspan="2">금액(원)</th>
|
||||
<th rowspan="2">진행상황</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>대기</th>
|
||||
<th>성공</th>
|
||||
<th>실패</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>2024-01-09 17:42</td>
|
||||
<td>단문</td>
|
||||
<td class="result_cont">
|
||||
<div class="icon_wrap">
|
||||
<span class="re">예약</span>
|
||||
<span class="di">분할</span>
|
||||
<a href="#">내용을 클릭하면 상세보기 화면으로 이동합니다.</a>
|
||||
</div>
|
||||
</td>
|
||||
<td>0</td>
|
||||
<td>
|
||||
<p class="c_666">0</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="c_002c9a">0</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="c_e40000">0</p>
|
||||
</td>
|
||||
<td>
|
||||
8,485,258
|
||||
</td>
|
||||
<td>
|
||||
<p><button class="btnType btnType20">예약취소</button></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2024-01-09 17:42</td>
|
||||
<td>단문</td>
|
||||
<td class="result_cont">
|
||||
<div class="icon_wrap">
|
||||
<span class="re">예약</span>
|
||||
<a href="#">내용을 클릭하면 상세보기 화면으로 이동합니다.</a>
|
||||
</div>
|
||||
</td>
|
||||
<td>0</td>
|
||||
<td>
|
||||
<p class="c_666">0</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="c_002c9a">0</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="c_e40000">0</p>
|
||||
</td>
|
||||
<td>-</td>
|
||||
<td>예약취소</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2024-01-09 17:42</td>
|
||||
<td>단문</td>
|
||||
<td class="result_cont">
|
||||
<div class="icon_wrap">
|
||||
<a href="#">내용을 클릭하면 상세보기 화면으로 이동합니다.</a>
|
||||
</div>
|
||||
</td>
|
||||
<td>458,002</td>
|
||||
<td>
|
||||
<p class="c_666">1</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="c_002c9a">458,000</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="c_e40000">1</p>
|
||||
</td>
|
||||
<td>12,580</td>
|
||||
<td>진행중</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2024-01-09 17:42</td>
|
||||
<td>단문</td>
|
||||
<td class="result_cont">
|
||||
<div class="icon_wrap">
|
||||
<a href="#">내용을 클릭하면 상세보기 화면으로 이동합니다.</a>
|
||||
</div>
|
||||
</td>
|
||||
<td>458,002</td>
|
||||
<td>
|
||||
<p class="c_666">1</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="c_002c9a">458,000</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="c_e40000">1</p>
|
||||
</td>
|
||||
<td>12,580</td>
|
||||
<td>완료</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--// 발송화면 개선 : 테이블 수정-->
|
||||
|
||||
<div class="table_btn clearfix">
|
||||
<!-- <div class="table_btn_left">
|
||||
<button type="button" data-tooltip="rev_popup02" class="btnType btnType15"><i class="add_img"></i>그룹등록</button>
|
||||
<button type="button" class="btnType btnType15" onclick="javascript:fnDeleteAddrNo('groupList'); return false;"><i class="remove_img"></i>주소록에서 번호 삭제</button>
|
||||
<button type="button" class="btnType btnType15" onclick="javascript:fnAddBlockNo('groupList'); return false;">수신거부번호 등록</button>
|
||||
</div>
|
||||
<div class="table_btn_right">
|
||||
<button type="button" class="excel_btn btnType"><i class="downroad"></i>엑셀
|
||||
다운로드</button>
|
||||
<button type="button" class="print_btn btnType"><i class="print_img"></i>발송결과
|
||||
출력하기</button>
|
||||
</div>-->
|
||||
</div>
|
||||
|
||||
<!-- pagination -->
|
||||
<ul class="pagination">
|
||||
<li class="page_first"><button><img src="/publish/images/content/page_first.png"
|
||||
alt=""></button></li>
|
||||
<li class="page_prev"><button><img src="/publish/images/content/page_prev.png"
|
||||
alt=""></button></li>
|
||||
<li class="on"><button>1</button></li>
|
||||
<li><button>2</button></li>
|
||||
<li><button>3</button></li>
|
||||
<li><button>4</button></li>
|
||||
<li><button>5</button></li>
|
||||
<li><button>6</button></li>
|
||||
<li><button>7</button></li>
|
||||
<li><button>8</button></li>
|
||||
<li><button>9</button></li>
|
||||
<li><button>10</button></li>
|
||||
<li class="page_next"><button><img src="/publish/images/content/page_next.png"
|
||||
alt=""></button></li>
|
||||
<li class="page_last"><button><img src="/publish/images/content/page_last.png"
|
||||
alt=""></button></li>
|
||||
</ul><!-- pagination -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div><!-- // 발송관리 -->
|
||||
</div>
|
||||
|
||||
<div class="rev_content kakao_rev_content" id="tab5_2" style="display: none;">
|
||||
<!-- 발송결과 개선 : 문구추가 -->
|
||||
<div class="titBox_result">
|
||||
<p>- 최대 3개월간의 발송내역만 확인하실 수 있습니다.</p>
|
||||
<p>- 전송내역이 필요한 경우 기간 내에 다운로드하여 주시기 바랍니다.</p>
|
||||
<p>- 단문문자는 최대 24시간, 장문 및 그림문자는 최대 72시간까지 결과값이 수신되지 않은 경우 실패(비과금) 처리됩니다.</p>
|
||||
</div>
|
||||
<!--// 발송결과 개선 : 문구추가 -->
|
||||
|
||||
<div class="excel_middle">
|
||||
<div class="select_btnWrap clearfix">
|
||||
<div class="btn_left">
|
||||
<span class="cal_label">기간선택</span>
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" class="startDate inp calendar picker__input" title="검색 시작일"
|
||||
id="startDate" name="startDate" value="" data-datecontrol="true" readonly=""
|
||||
aria-haspopup="true" aria-expanded="false" aria-readonly="false"
|
||||
aria-owns="startDate_root">
|
||||
<span class="dateEtc">~</span>
|
||||
<input type="text" class="endDate inp calendar picker__input" title="검색 종료일"
|
||||
id="endDate" name="endDate" value="" data-datecontrol="true" readonly=""
|
||||
aria-haspopup="true" aria-expanded="false" aria-readonly="false"
|
||||
aria-owns="endDate_root">
|
||||
</div>
|
||||
<button type="button">전월</button>
|
||||
<button type="button">당월</button>
|
||||
<button type="button">3개월</button>
|
||||
<button type="button" class="btnType6">조회</button>
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<label for="" class="label">발신번호 선택</label>
|
||||
<select name="" id="" class="selType2">
|
||||
<option value="">발신번호</option>
|
||||
<option value="">발신번호</option>
|
||||
<option value="">발신번호</option>
|
||||
</select>
|
||||
<div class="search">
|
||||
<label for="id" class="label"></label>
|
||||
<input type="text" id="id" placeholder="검색어를 입력하세요."
|
||||
onfocus="this.placeholder=''" onblur="this.placeholder='검색어를 입력하세요.'">
|
||||
<button type="button" class="btnType btnType2">검색</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rev_admin">
|
||||
<div class="rev_admin_in">
|
||||
<div class="rev_admin_top clearfix">
|
||||
<p>전체</p>
|
||||
<p><span>171</span> 건</p>
|
||||
</div>
|
||||
<div class="rev_admin_btm">
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a">160</span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a">160</span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000">0</span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rev_admin_in">
|
||||
<div class="rev_admin_top clearfix">
|
||||
<p>알림톡</p>
|
||||
<p><span>171</span> 건</p>
|
||||
</div>
|
||||
<div class="rev_admin_btm">
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a">160</span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a">160</span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000">0</span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="rev_admin_in">
|
||||
<div class="rev_admin_top clearfix">
|
||||
<p>친구톡</p>
|
||||
<p><span>171</span> 건</p>
|
||||
</div>
|
||||
<div class="rev_admin_btm">
|
||||
<dl>
|
||||
<dt>대기</dt>
|
||||
<dd><span class="c_002c9a">160</span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>성공</dt>
|
||||
<dd><span class="c_002c9a">160</span>건</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>실패</dt>
|
||||
<dd><span class="c_e40000">0</span>건</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
|
||||
<div class="list_tab_wrap2 type4">
|
||||
<!-- tab button -->
|
||||
<ul class="list_tab">
|
||||
<li class="tab active"><button type="button" onclick="listTab2(this,'1');">전체</button>
|
||||
</li>
|
||||
<li class="tab"><button type="button" onclick="listTab2(this,'2');">알림톡</button></li>
|
||||
<li class="tab"><button type="button" onclick="listTab2(this,'3');">친구톡</button></li>
|
||||
</ul>
|
||||
<!--// tab button -->
|
||||
</div>
|
||||
<!-- 발송관리 > 전체 -->
|
||||
<div class="price_history_cont" id="listTab_2">
|
||||
|
||||
<div class="table_tab_wrap">
|
||||
<!-- tab button -->
|
||||
<ul>
|
||||
<li class="tab active"><button type="button">전체</button></li>
|
||||
<li class="tab"><button type="button">대기</button></li>
|
||||
<li class="tab"><button type="button">성공</button></li>
|
||||
<li class="tab"><button type="button">실패</button></li>
|
||||
<li class="tab"><button type="button">예약</button></li>
|
||||
</ul>
|
||||
<!--// tab button -->
|
||||
<!-- 발송화면 개선 : 발송결과 추가-->
|
||||
<div class="tab_btnbox" style="z-index:999;">
|
||||
<button type="button" class="btnType btnType14 check_validity" >발송결과<i class="qmMark"></i></button>
|
||||
<div class="info_hover_cont send_hover_cont">
|
||||
<dl>
|
||||
<dt class="c_666">[<span>대기</span>]</dt>
|
||||
<dd>발송은 성공하였으며, 수신자측 통신사로부터 수신여부를
|
||||
확인중인 상태</dd>
|
||||
<dt class="c_002c9a">[<span>성공</span>]</dt>
|
||||
<dd>발송 및 수신이 완료된 상태</dd>
|
||||
<dt class="c_e40000">[<span>실패</span>]</dt>
|
||||
<dd>결번, 일시정지, 전화번호 오류 등의 사유로 발송이
|
||||
불가한 상태</dd>
|
||||
<dt class="c_222">[<span>예약</span>]</dt>
|
||||
<dd>예약 발송 대기 상태</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
<!--// 발송화면 개선 : 발송결과 추가-->
|
||||
</div>
|
||||
|
||||
<div class="table_cont current">
|
||||
<div class="list_info">
|
||||
<p>총 발송건수 <span class="c_e40000">171</span>건</p>
|
||||
<div>
|
||||
<p class="cf_text c_e40000">※ 예약문자 발송취소는 예약 발송시간 기준 5분 전까지만 가능</p>
|
||||
<label for="" class="label">줄보기 선택</label>
|
||||
<select id="" class="selType2">
|
||||
<option>10개보기</option>
|
||||
<option>20개보기</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 발송화면 개선 : 카카오톡 테이블 수정 -->
|
||||
<div class="tb_wrap">
|
||||
<table class="tType4">
|
||||
<colgroup>
|
||||
<col style="width: 45px;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 8%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 9%;">
|
||||
<col style="width: 11%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th rowspan="2">
|
||||
<label for="" class="label">전체 선택</label>
|
||||
<input type="checkbox">
|
||||
</th>
|
||||
<th rowspan="2">발송일시
|
||||
<div class="sort_wrap">
|
||||
<input type="button" class="sort sortBtn" id="sort_reqdate">
|
||||
</div>
|
||||
</th>
|
||||
<th rowspan="2">형태
|
||||
<div class="sort_wrap">
|
||||
<input type="button" class="sort sortBtn" id="sort_orderByCode">
|
||||
</div>
|
||||
</th>
|
||||
<th rowspan="2">내용</th>
|
||||
<th rowspan="2">발송건수
|
||||
<div class="sort_wrap">
|
||||
<input type="button" class="sort sortBtn" id="sort_msgGroupCnt">
|
||||
</div>
|
||||
</th>
|
||||
<th colspan="4">카카오톡 결과</th>
|
||||
<th colspan="2">대체문자 결과</th>
|
||||
<th rowspan="2">금액</th>
|
||||
<th rowspan="2">예약관리</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>대기</th>
|
||||
<th>성공</th>
|
||||
<th>실패</th>
|
||||
<th>예약</th>
|
||||
<th>성공</th>
|
||||
<th>실패</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<label for="" class="label">선택</label>
|
||||
<input type="checkbox">
|
||||
</td>
|
||||
<td>2024-01-09 17:42</td>
|
||||
<td>단문</td>
|
||||
<td class="result_cont"><a href="#">내용을 클릭하면 상세보기 화면으로 이동합니다.</a></td>
|
||||
<td>125,895</td>
|
||||
<td>
|
||||
<p class="c_666">0</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="c_002c9a">0</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="c_e40000">0</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="c_002c9a">0</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="c_002c9a">0</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="c_e40000">125,895</p>
|
||||
</td>
|
||||
<td>
|
||||
8,485,258원
|
||||
</td>
|
||||
<td>
|
||||
<p><button class="btnType btnType20">예약취소</button></p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--// 발송화면 개선 : 카카오톡 테이블 수정 -->
|
||||
|
||||
<div class="table_btn clearfix">
|
||||
<div class="table_btn_left">
|
||||
|
||||
<button type="button" data-tooltip="rev_popup02" class="btnType btnType15"><i
|
||||
class="add_img"></i>그룹등록</button>
|
||||
<button type="button" class="btnType btnType15"><i class="remove_img"></i>주소록에서
|
||||
번호 삭제</button>
|
||||
<button type="button" class="btnType btnType15">수신거부번호 등록</button>
|
||||
</div>
|
||||
<div class="table_btn_right">
|
||||
<button type="button" class="excel_btn btnType"><i class="downroad"></i>엑셀
|
||||
다운로드</button>
|
||||
<button type="button" class="print_btn btnType"><i class="print_img"></i>발송결과
|
||||
출력하기</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- pagination -->
|
||||
<ul class="pagination">
|
||||
<li class="page_first"><button><img src="/publish/images/content/page_first.png"
|
||||
alt=""></button></li>
|
||||
<li class="page_prev"><button><img src="/publish/images/content/page_prev.png"
|
||||
alt=""></button></li>
|
||||
<li class="on"><button>1</button></li>
|
||||
<li><button>2</button></li>
|
||||
<li><button>3</button></li>
|
||||
<li><button>4</button></li>
|
||||
<li><button>5</button></li>
|
||||
<li><button>6</button></li>
|
||||
<li><button>7</button></li>
|
||||
<li><button>8</button></li>
|
||||
<li><button>9</button></li>
|
||||
<li><button>10</button></li>
|
||||
<li class="page_next"><button><img src="/publish/images/content/page_next.png"
|
||||
alt=""></button></li>
|
||||
<li class="page_last"><button><img src="/publish/images/content/page_last.png"
|
||||
alt=""></button></li>
|
||||
</ul><!-- pagination -->
|
||||
|
||||
</div>
|
||||
</div><!-- // 발송관리 > 전체 -->
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!--// send top -->
|
||||
</div>
|
||||
</div>
|
||||
<!--// content 영역 -->
|
||||
<!-- footer 영역 -->
|
||||
<footer id="footer" class="footer" style="display:none;">
|
||||
<div class="footer_top">
|
||||
<div class="inner table">
|
||||
<ul class="table_cell">
|
||||
<li><a href="#">이용약관</a></li>
|
||||
<li class="SortLine fwRg c_white"><a href="#">개인정보취급방침</a></li>
|
||||
<li class="SortLine fwRg c_white"><a href="#">스팸관리정책</a></li>
|
||||
<li class="SortLine"><a href="#">불법스팸예방안내</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_body">
|
||||
<div class="inner table">
|
||||
<div class="table_cell">
|
||||
<a href="#" class="footer_logo"><img src="/publish/images/CI_white.png" alt="문자온 CI"></a>
|
||||
<div class="footer_info">
|
||||
<p>주소 : 경기도 남양주시 다산중앙로 19번길 21 1027호, 1028호(블루웨일 지식산업센터 1차)</p>
|
||||
<p>사업자번호 : 653-87-00858 | 대표 : 유인식 | 통신판매등록번호 : 제 다산-12345호 | 문의전화 : 070-4786-0007</p>
|
||||
<p>Copyright 2020 ⓒ MUNJAON co. Ltd, All rights reserved.</p>
|
||||
</div>
|
||||
<div class="footer_service_center">
|
||||
<i></i>
|
||||
<div>
|
||||
<p>고객센터</p>
|
||||
<span class="footer_service_num">070-4786-0008</span>
|
||||
<span>E-mail : help@iten.co.kr</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
<!--// footer 영역 -->
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Loading…
Reference in New Issue
Block a user