초기소스
This commit is contained in:
173
src/main/webapp/WEB-INF/views/crm/bbs/GoodsInqryListR.jsp
Normal file
173
src/main/webapp/WEB-INF/views/crm/bbs/GoodsInqryListR.jsp
Normal file
@@ -0,0 +1,173 @@
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
|
||||
|
||||
<%--
|
||||
Class Name : GoodsInqryListR.jsp
|
||||
Description : CRM 상품문의 jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-05-27 김혜인 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
||||
<section class="content-section">
|
||||
<form>
|
||||
<div class="form-control-container">
|
||||
<div class="left">
|
||||
<div class="search-number">
|
||||
<span class="search-number__text">총 <strong><c:out value="${ resultMap.paginationInfo.totalRecordCount }"/></strong>건</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="center">
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="select-box">
|
||||
<select id="pageUnit" name="pageUnit" title="페이지당 출력될 목록건수" onchange="fn_select_bbsctt_list('1');">
|
||||
<c:forEach items="${ resultMap.paginationInfo.pageUnitArr }" var="pageUnit"
|
||||
varStatus="pageUnitStatus">
|
||||
<option value="<c:out value="${ pageUnit }"/>"
|
||||
<c:if test="${ resultMap.paginationInfo.recordCountPerPage eq pageUnit }">selected="selected"</c:if>>
|
||||
<c:out value="${ pageUnit }"/>개씩
|
||||
</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="spacing">
|
||||
<div class="table-wrapper">
|
||||
<table class="table vertical">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: 4%;">
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 26%;">
|
||||
<col style="width: auto">
|
||||
<c:if test = "${resultMap.bbsInfo.answRegist eq 'Y'}">
|
||||
<col style="width: 6%">
|
||||
</c:if>
|
||||
<col style="width: 8%">
|
||||
<col style="width: 7%">
|
||||
<col style="width: 7%">
|
||||
<col style="width: 14%">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>번호</th>
|
||||
<th>분류</th>
|
||||
<th>상품</th>
|
||||
<th>제목</th>
|
||||
<c:if test = "${resultMap.bbsInfo.answRegist eq 'Y'}">
|
||||
<th>답변상태</th>
|
||||
</c:if>
|
||||
<th>등록일</th>
|
||||
<th>조회수</th>
|
||||
<th>지급</th>
|
||||
<th>관리</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.resultList.resultList }">
|
||||
<c:forEach items="${ resultMap.resultList.resultList }" var="resultList" varStatus="status">
|
||||
<tr>
|
||||
<td>
|
||||
<c:out value="${ resultMap.paginationInfo.totalRecordCount - resultList.rnum +1 }" />
|
||||
</td>
|
||||
<td><c:out value="${resultList.answCn}" /></td>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="product-search-box__product">
|
||||
<c:if test = "${not empty resultList.img}">
|
||||
<img src="${cdnurl}${resultList.img}" onerror="this.src='<c:url value="/mngr/images/image_placeholder.png"/>'" width="64" alt="상품이미지">
|
||||
<div class="product-search-box__detail">
|
||||
<p class="product-search-box__detail-name">
|
||||
<c:out value = "${resultList.goodsNm}"/>
|
||||
</p>
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="left">
|
||||
<a class="under-line moveDetil"
|
||||
bbsctt-innb = "<c:out value="${ resultList.bbscttInnb }"/>"
|
||||
bbs-id ="<c:out value="${ resultList.bbsId }"/>"
|
||||
regusr-dv = "02">
|
||||
<c:out value="${ resultList.sj }"/>
|
||||
</a>
|
||||
<c:if test="${resultList.isfiles eq 1}">
|
||||
<i class="icon icon_image-badge"></i>
|
||||
</c:if>
|
||||
<c:if test="${resultList.newAt eq 'Y'}">
|
||||
<i class="icon icon_new-badge"></i>
|
||||
</c:if>
|
||||
<c:if test="${resultList.popularAt eq 'Y'}">
|
||||
<i class="icon icon_hot-badge"></i>
|
||||
</c:if>
|
||||
<c:if test="${ resultList.secretBbscttAt eq 'Y' }">
|
||||
<i class="icon icon_lock"></i>
|
||||
</c:if>
|
||||
</td>
|
||||
<c:if test = "${resultMap.bbsInfo.answRegist eq 'Y'}">
|
||||
<td>
|
||||
<c:if test = "${not empty resultList.answBbscttInnb}">답변완료</c:if>
|
||||
<c:if test = "${empty resultList.answBbscttInnb}">답변대기</c:if>
|
||||
</td>
|
||||
</c:if>
|
||||
<td><c:out value="${ resultList.registDt }"/></td>
|
||||
<td><fmt:formatNumber value="${resultList.inqireCnt}" pattern="#,##0"/></td>
|
||||
<td>
|
||||
<c:if test="${resultList.useAt eq 'Y'}">
|
||||
<div class="manage-btn-container">
|
||||
<button type="button" class="btn xsm gray milBtn">지급</button>
|
||||
</div>
|
||||
</c:if>
|
||||
</td>
|
||||
<td>
|
||||
<div class="manage-btn-container">
|
||||
<c:if test="${ resultList.useAt eq 'Y' }">
|
||||
<button type ="button" class="btn xsm outline primary" onclick="fn_select_bbsctt_update_pop('<c:out value="${ resultList.bbscttInnb }"/>','<c:out value="${ resultList.bbsId }"/>','');"><spring:message code="button.update"/></button>
|
||||
<c:if test = "${resultMap.bbsInfo.answRegist eq 'Y'}">
|
||||
<c:choose>
|
||||
<c:when test="${not empty resultList.answBbscttInnb}">
|
||||
<button type ="button" class="btn xsm primary outline" onclick="fn_select_answ_update_pop('<c:out value="${ resultList.bbscttInnb }"/>', '<c:out value="${ resultList.answBbscttInnb}"/>','<c:out value="${ resultList.bbsId }"/>','');">답변 <spring:message code="button.update"/></button>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<button type ="button" class="btn xsm primary" onclick="fn_select_answ_regist_pop('<c:out value="${ resultList.bbscttInnb }"/>','<c:out value="${ resultList.bbsId }"/>','');">답변 <spring:message code="button.insert"/></button>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:if>
|
||||
</c:if>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr>
|
||||
<td colspan="100%"><spring:message code="common.nodata"/></td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
<div class="pagination__container">
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value="1"/>
|
||||
<div class="pagination__container">
|
||||
<ui:pagination paginationInfo="${resultMap.paginationInfo}" type="image" jsFunction="fn_select_bbsctt_list" />
|
||||
</div>
|
||||
</html>
|
||||
1411
src/main/webapp/WEB-INF/views/crm/bbs/GoodsInqryListRForm.jsp
Normal file
1411
src/main/webapp/WEB-INF/views/crm/bbs/GoodsInqryListRForm.jsp
Normal file
File diff suppressed because it is too large
Load Diff
155
src/main/webapp/WEB-INF/views/crm/bbs/GoodsRvwListR.jsp
Normal file
155
src/main/webapp/WEB-INF/views/crm/bbs/GoodsRvwListR.jsp
Normal file
@@ -0,0 +1,155 @@
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
|
||||
|
||||
<%--
|
||||
Class Name : GoodsRvwListR.jsp
|
||||
Description : CRM 상품후기 jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-05-27 김혜인최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
||||
<section class="content-section">
|
||||
<div class="form-control-container">
|
||||
<div class="left">
|
||||
<div class="search-number">
|
||||
<span class="search-number__text">총 <strong><c:out value="${ resultMap.paginationInfo.totalRecordCount }"/></strong>건</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="center">
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="select-box">
|
||||
<select id="pageUnit" name="pageUnit" title="페이지당 출력될 목록건수" onchange="fn_select_bbsctt_list('1');">
|
||||
<c:forEach items="${ resultMap.paginationInfo.pageUnitArr }" var="pageUnit" varStatus="pageUnitStatus">
|
||||
<option value="<c:out value="${ pageUnit }"/>" <c:if test="${ resultMap.paginationInfo.recordCountPerPage eq pageUnit }">selected="selected"</c:if>><c:out value="${ pageUnit }"/>개씩</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<form id="listForm">
|
||||
<hr class="horizontal-line">
|
||||
<div class="form-control-container">
|
||||
<div class="left">
|
||||
</div>
|
||||
<div class="center">
|
||||
</div>
|
||||
<div class="right">
|
||||
</div>
|
||||
</div>
|
||||
<hr class="spacing">
|
||||
<div class="table-wrapper">
|
||||
<table class="table vertical">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 3%;">
|
||||
<col style="width: 3%;">
|
||||
<col style="width: 18%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 7%;">
|
||||
<col style="width: 10%">
|
||||
<col style="width: 8%">
|
||||
<col style="width: 8%">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>번호</th>
|
||||
<th>베스트</th>
|
||||
<th>상품</th>
|
||||
<th>내용</th>
|
||||
<th>등록일</th>
|
||||
<th>조회수</th>
|
||||
<th>주문번호/지급마일리지</th>
|
||||
<th>지급</th>
|
||||
<th>관리</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id ="contentSection">
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.resultList.resultList }">
|
||||
<c:forEach items="${ resultMap.resultList.resultList }" var="resultList" varStatus="status">
|
||||
<tr>
|
||||
<td>
|
||||
<c:out value="${ resultMap.paginationInfo.totalRecordCount - resultList.rnum +1 }" />
|
||||
</td>
|
||||
<td>
|
||||
<label class="star-checkbox">
|
||||
<input type="checkbox" name ="bstAt" class = "bstAt" value = "Y" bbsctt-innb = "<c:out value = '${resultList.bbscttInnb}'/>" bbs-id="<c:out value = '${resultList.bbsId}'/>"
|
||||
<c:if test = "${resultList.bstAt eq 'Y'}">checked</c:if>>
|
||||
<span class="visually-hidden">베스트</span>
|
||||
</label>
|
||||
</td>
|
||||
<td class="text-left">
|
||||
<div class="product-search-box__product">
|
||||
<img src="<c:out value="${cdnurl}${resultList.img}"/>" onerror="this.src='<c:url value="/mngr/images/image_placeholder.png"/>'" alt="상품이미지" width="64">
|
||||
<c:out value = "${resultList.goodsNm}"/>
|
||||
</div>
|
||||
</td>
|
||||
<td class="left">
|
||||
<a class="under-line moveDetil"
|
||||
bbsctt-innb = "<c:out value="${ resultList.bbscttInnb }"/>"
|
||||
bbs-id ="<c:out value="${ resultList.bbsId }"/>"
|
||||
bbs-ty-cd = "<c:out value="${ resultList.bbsTyCd}"/>"
|
||||
regusr-dv="02">
|
||||
<c:out value="${ resultList.sj}"/>
|
||||
</a>
|
||||
<c:if test="${resultList.newAt eq 'Y'}">
|
||||
<i class="icon icon_new-badge"></i>
|
||||
</c:if>
|
||||
<c:if test="${resultList.popularAt eq 'Y'}">
|
||||
<i class="icon icon_hot-badge"></i>
|
||||
</c:if>
|
||||
<c:if test="${ resultList.secretBbscttAt eq 'Y' }">
|
||||
<i class="icon icon_lock"></i>
|
||||
</c:if>
|
||||
</td>
|
||||
<td><c:out value = "${resultList.registDt}"/></td>
|
||||
<td><fmt:formatNumber value="${resultList.inqireCnt}" pattern="#,##0"/></td>
|
||||
<td>
|
||||
<c:out value = "${resultList.ordrInnb}"/><br>
|
||||
<fmt:formatNumber value="${resultList.mlgAmt}" pattern="#,###"/>마일리지
|
||||
</td>
|
||||
<td>
|
||||
<c:if test = "${resultList.useAt eq 'Y'}">
|
||||
<div class="manage-btn-container"><button type="button" class="btn xsm gray milBtn">지급</button></div>
|
||||
</c:if>
|
||||
</td>
|
||||
<td>
|
||||
<c:if test="${ resultList.useAt eq 'Y' }">
|
||||
<div class="manage-btn-container">
|
||||
<button class="btn xsm dark" type="button" onclick="fn_select_bbsctt_update_pop('<c:out value="${ resultList.bbscttInnb }"/>','','<c:out value="${ resultList.bbsId }"/>');"><spring:message code="button.update"/></button>
|
||||
</div>
|
||||
</c:if>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr>
|
||||
<td colspan="100%"><spring:message code="common.nodata"/></td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
<input type="hidden" id="sopmalCd" value="<c:out value="${resultMap.bbscttVO.sopmalCd}"/>"/>
|
||||
</section>
|
||||
<div class="pagination__container">
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value="${resultMap.bbscttVO.pageIndex}"/>
|
||||
<ui:pagination paginationInfo="${resultMap.paginationInfo}" type="image" jsFunction="fn_select_bbsctt_list" />
|
||||
</div>
|
||||
</html>
|
||||
1326
src/main/webapp/WEB-INF/views/crm/bbs/GoodsRvwListRForm.jsp
Normal file
1326
src/main/webapp/WEB-INF/views/crm/bbs/GoodsRvwListRForm.jsp
Normal file
File diff suppressed because it is too large
Load Diff
164
src/main/webapp/WEB-INF/views/crm/cnslt/CnsltDtlUpdtPopupU.jsp
Normal file
164
src/main/webapp/WEB-INF/views/crm/cnslt/CnsltDtlUpdtPopupU.jsp
Normal file
@@ -0,0 +1,164 @@
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
|
||||
|
||||
|
||||
<%--
|
||||
Class Name : CstmrCnsltDtlUpdtPopupR.jsp
|
||||
Description : 통합상담 상세 팝업
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-01-26 추지훈 최초 생성
|
||||
|
||||
--%>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// input 반복
|
||||
<%-- $('input[type="text"]').each(function() {
|
||||
// 현재값 확인
|
||||
var inputValue = $(this).val();
|
||||
// 값이 있으면 readonly 처리
|
||||
if (inputValue.trim() !== "") {
|
||||
$(this).prop('readonly', true);
|
||||
}
|
||||
}); --%>
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<!-- 상담 내역 수정 팝업 -->
|
||||
<div id="cntmrCnsltDtlPopup" class="modal">
|
||||
<div class="modal-header">
|
||||
<h4>상담 내역 수정</h4>
|
||||
</div>
|
||||
<form id="cnsltPopupForm" name="cnsltPopupForm" method="post">
|
||||
<div class="modal-content">
|
||||
<div class="table-wrapper mb-40">
|
||||
<table class="table">
|
||||
<caption>상담 내역</caption>
|
||||
<colgroup>
|
||||
<col style="width: 25%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>상담번호</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input type="text" id="cnsltDtlsInnb" name="cnsltDtlsInnb" value="<c:out value="${ resultMap.cnsltVO.cnsltDtlsInnb }"/>" readonly/>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>상담자</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input type="text" id="mngrNm" name="mngrNm" value="<c:out value="${ resultMap.cnsltVO.mngrNm }"/>" readonly/>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>인콜/아웃콜</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<c:forEach var="codeList" items="${ resultMap.telnbDvCdList }" varStatus="">
|
||||
<c:if test="${codeList.cd eq resultMap.cnsltVO.telnbDvCd}">
|
||||
<c:out value="${ codeList.cdNm }"/>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>주문번호</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text full" type="text" id="ordrNb" name="ordrNb" value="<c:out value="${ resultMap.cnsltVO.ordrInnb }"/>" title="주문번호" >
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>출고번호</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text full" type="text" id="dlivyInnb" name="dlivyInnb" value="<c:out value="${ resultMap.cnsltVO.dlivyCdNb }"/>" title="출고번호" placeholder="ex) D25020511900000">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>반품환불번호</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text full" type="text" id="refndCdNb" name="refndCdNb" value="<c:out value="${ resultMap.cnsltVO.refundCdNb }"/>" title="환불번호" placeholder="ex) C25021118500000">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>상품문의</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text full" type="text" id="goodsInqryBbscttNb" name="goodsInqryBbscttNb" value="<c:out value="${ resultMap.cnsltVO.goodsInqryBbscttNb }"/>" title="상품문의">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>상품후기</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text full" type="text" id="goodsRvwBbscttNb" name="goodsRvwBbscttNb" value="<c:out value="${ resultMap.cnsltVO.goodsRvwBbscttNb }"/>" title="상품후기">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>처리상태</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select id="procsSttusCd" name="procsSttusCd" title="처리상태">
|
||||
<c:forEach var="codeList" items="${ resultMap.procsSttusCdList }" varStatus="">
|
||||
<option value="<c:out value="${ codeList.cd }"/>" <c:if test="${ codeList.cd eq resultMap.cnsltVO.procsSttusCd }">selected="selected"</c:if>>
|
||||
<c:out value="${ codeList.cdNm }"/>
|
||||
</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="2" class="text-center">상담내용</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" class="border-left border-right">
|
||||
<textarea class="textarea" id="cnsltCn" name="cnsltCn" title="상담내용" cols="30" rows="10"><c:out value="${ resultMap.cnsltVO.cnsltCn }"/></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<div class="modal-footer">
|
||||
<a href="#" rel="modal:close" class="btn outline">취소</a>
|
||||
<button class="btn primary" type="button" onclick="fn_updt_cnslt(); return false;"><spring:message code="button.update"/></button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
147
src/main/webapp/WEB-INF/views/crm/cnslt/CnsltDtlsR.jsp
Normal file
147
src/main/webapp/WEB-INF/views/crm/cnslt/CnsltDtlsR.jsp
Normal file
@@ -0,0 +1,147 @@
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
|
||||
|
||||
<%--
|
||||
Class Name : CnsltDtlsR.jsp
|
||||
Description : CRM 상담 내역 jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-02-16 추지훈 최초 생성
|
||||
--%>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
$("#cnsltPageUnit").niceSelect();
|
||||
fn_set_date();
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
<section class="content-section">
|
||||
<div class="form-control-container">
|
||||
<div class="left">
|
||||
<div class="search-number">
|
||||
<span class="search-number__text">총 <strong><c:out value="${ resultMap.paginationInfo.totalRecordCount }"/></strong>건</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="center">
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="select-box">
|
||||
<select id="cnsltPageUnit" name="pageUnit" title="페이지당 출력될 목록건수" onchange="fn_select_crm_cnslt_list('1');">
|
||||
<c:forEach items="${ resultMap.paginationInfo.pageUnitArr }" var="pageUnit" varStatus="pageUnitStatus">
|
||||
<option value="<c:out value="${ pageUnit }"/>" <c:if test="${ resultMap.paginationInfo.recordCountPerPage eq pageUnit}">selected="selected"</c:if>><c:out value="${ pageUnit }"/>개씩</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="spacing">
|
||||
<div class="table-wrapper">
|
||||
<table class="table vertical">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 17%;">
|
||||
<col style="width: 11%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>번호</th>
|
||||
<th>분류</th>
|
||||
<th>상담내용</th>
|
||||
<th>관련번호</th>
|
||||
<th>상담일시</th>
|
||||
<th>처리여부</th>
|
||||
<th>상담자</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.resultList && fn:length(resultMap.resultList) > 0 }">
|
||||
<c:forEach items="${ resultMap.resultList }" var="cnsltList" varStatus="status">
|
||||
<tr>
|
||||
<td>
|
||||
<c:out value="${ resultMap.paginationInfo.totalRecordCount - cnsltList.rnum + 1 }" />
|
||||
<input type="hidden" id="cnsltDtlsInnb" name="cnsltDtlsInnb" value="<c:out value="${ cnsltList.cnsltDtlsInnb }" />"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${ cnsltList.lrgeClNm}"/>
|
||||
<c:if test = "${not empty cnsltList.middlClNm}">
|
||||
> <c:out value="${cnsltList.middlClNm}"/>
|
||||
</c:if>
|
||||
</td>
|
||||
<td class="text-left">
|
||||
<span class="blue-6 fw-500" style="cursor: pointer; white-space: pre-wrap;" onclick="fn_open_modal_cnslt_dtl_popup('#cnsltDtlPopupDiv', '#cntmrCnsltDtlPopup', '<c:url value="/mngr/bbs/cnslt/selectCstmrCnsltDtlUpdtInqirePopup"/>', '<c:out value="${ cnsltList.cnsltDtlsInnb }"/>' ); return false;"><c:out value="${ cnsltList.cnsltCn }"/></span>
|
||||
</td>
|
||||
<td>
|
||||
<c:if test="${not empty cnsltList.ordrInnb}">
|
||||
주문번호 : <a class="blue-6 fw-500" onclick="fn_move_dtlpage('ordr',this); return false;" style="cursor:pointer"><c:out value="${cnsltList.ordrInnb }"/></a><br>
|
||||
</c:if>
|
||||
<c:if test="${not empty cnsltList.dlivyCdNb}">
|
||||
출고코드 : <a class="blue-6 fw-500" onclick="fn_move_dtlpage('export',this); return false;" style="cursor:pointer"><c:out value="${cnsltList.dlivyCdNb }"/></a><br>
|
||||
</c:if>
|
||||
<c:if test="${not empty cnsltList.refundCdNb}">
|
||||
반품환불코드 : <a class="blue-6 fw-500" onclick="fn_move_dtlpage('refund',this); return false;" style="cursor:pointer"><c:out value="${cnsltList.refundCdNb}"/></a><br>
|
||||
</c:if>
|
||||
<c:if test="${not empty cnsltList.goodsInqryBbscttNb}">
|
||||
<a class="blue-6 fw-500" onclick="fn_move_dtlpage('qna',this); return false;" style="cursor:pointer">상품문의</a><br>
|
||||
</c:if>
|
||||
<c:if test="${not empty cnsltList.goodsRvwBbscttNb}">
|
||||
<a class="blue-6 fw-500" onclick="fn_move_dtlpage('rvw',this); return false;" style="cursor:pointer">상품후기</a><br>
|
||||
</c:if>
|
||||
<input type = "hidden" value = "<c:out value = "${cnsltList.ordrInnb}"/>" class="ordrInnb"/>
|
||||
<input type = "hidden" value = "<c:out value = "${cnsltList.dlivyInnb}"/>" class="dlivyInnb"/>
|
||||
<input type = "hidden" value = "<c:out value = "${cnsltList.dlivyOrdrInnb}"/>" class="dlivyOrdrInnb"/>
|
||||
<input type = "hidden" value = "<c:out value = "${cnsltList.orderRefundInnb}"/>" class="refundInnb"/>
|
||||
<input type = "hidden" value = "<c:out value = "${cnsltList.refundOrdrInnb}"/>" class="refundOrdrInnb"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${ cnsltList.registDt }"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${cnsltList.procsSttusCd eq '03'}">
|
||||
<c:out value="${ cnsltList.procsSttusCdNm }"/><br>
|
||||
<c:out value="${ cnsltList.procsDt }"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:out value="${ cnsltList.procsSttusCdNm }"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${ cnsltList.mngrNm }"/>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr>
|
||||
<td colspan="100%" ><spring:message code="common.nodata"/></td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
<div class="pagination__container">
|
||||
<ui:pagination paginationInfo="${resultMap.paginationInfo}" type="image" jsFunction="fn_select_crm_cnslt_list" />
|
||||
</div>
|
||||
381
src/main/webapp/WEB-INF/views/crm/cnslt/CnsltDtlsRForm.jsp
Normal file
381
src/main/webapp/WEB-INF/views/crm/cnslt/CnsltDtlsRForm.jsp
Normal file
@@ -0,0 +1,381 @@
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
|
||||
|
||||
<%--
|
||||
Class Name : CnsltDtlsRForm.jsp
|
||||
Description : CRM 상담 내역 jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-02-19 추지훈 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
|
||||
<head>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Include.jsp"%>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
//crm 정보 조회
|
||||
/*회원 crm에서 비회원으로 상담한 것도 보여달라는 CS팀 요구사항으로 인해
|
||||
gcone.js 에서 fn_get_crm_info 함수에 휴대폰번호 값을 세팅 후 리스트 조회하는 것으로 로직 변경
|
||||
수정 20241119 고객검수요구사항*/
|
||||
if ($("#mbrTyCd").val() === '01') {
|
||||
fn_get_crm_info($("#leftMbrInnb").val(), $("#leftMbrDvCd").val());
|
||||
} else {
|
||||
fn_get_crm_info_nmbr($("#leftMbtlnb").val(), $("#leftOrdrInnb").val());
|
||||
let txt = '';
|
||||
if (!fn_is_empty($("#leftMbrNm").val())) {
|
||||
txt = $("#leftMbrNm").val() + "(" + fn_format_mbtlnb($("#leftMbtlnb").val()) + ")";
|
||||
} else {
|
||||
txt = "비회원 (" + fn_format_mbtlnb($("#leftMbtlnb").val()) + ")";
|
||||
}
|
||||
$("#nmbrMbr").text(txt);
|
||||
let pageIndex = '<c:out value="${ resultMap.paramVO.pageIndex }"/>';
|
||||
let pageUnit = '<c:out value="${ resultMap.paramVO.pageUnit }"/>';
|
||||
}
|
||||
|
||||
fn_display_start();
|
||||
|
||||
});
|
||||
|
||||
|
||||
/********************************************************
|
||||
* 시작 화면 제어 함수
|
||||
* ******************************************************/
|
||||
const fn_display_start = function() {
|
||||
fn_set_date('srchStartDate','srchEndDate','srchEndDate');
|
||||
$("#sixMonth").click();
|
||||
$('#listForm').on('keydown', function(e) {
|
||||
if (e.keyCode == 13) {
|
||||
e.preventDefault();
|
||||
$('#searchBtn').trigger("click");
|
||||
}
|
||||
});
|
||||
|
||||
$('#allDays').on('click', function() {
|
||||
$('#srchStartDate, #srchEndDate').val('');
|
||||
});
|
||||
|
||||
let cnsltDtlsInnb = '<c:out value="${ resultMap.paramVO.cnsltDtlsInnb }"/>';
|
||||
if (!fn_is_empty(cnsltDtlsInnb)) { //상담 내역 고유번호로 들어 올 경우(활동정보 > 상담고유번호 클릭 시)
|
||||
fn_open_modal_cnslt_dtl_popup('#cnsltDtlPopupDiv', '#cntmrCnsltDtlPopup', '<c:url value="/mngr/bbs/cnslt/selectCstmrCnsltDtlUpdtInqirePopup"/>', cnsltDtlsInnb );
|
||||
}
|
||||
$("#srchProcsSttusAll").click();
|
||||
}
|
||||
|
||||
|
||||
/************************************************
|
||||
* 상담 상세 조회 모달
|
||||
*************************************************/
|
||||
const fn_open_modal_cnslt_dtl_popup = function(modalDivSltr, modalSlrt, url, param, callback) {
|
||||
var cnsltDtlsInnb = param
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: url,
|
||||
data: {
|
||||
cnsltDtlsInnb
|
||||
},
|
||||
success: function (data) {
|
||||
//callback함수가 없을 경우 default로 지정된 영역에 모달팝업 화면을 교체하고 화면 로딩
|
||||
if(!callback) {
|
||||
$(modalSlrt).remove();
|
||||
$(modalDivSltr).html(data);
|
||||
$(modalSlrt).modal();
|
||||
|
||||
} else {
|
||||
callback(data);
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
/******************************************************
|
||||
* CRM 상담 목록 조회
|
||||
*******************************************************/
|
||||
const fn_select_crm_cnslt_list = function(pageIndex, pageUnit) {
|
||||
let dataStr;
|
||||
if(!pageIndex) {
|
||||
$('#pageIndex').val(1);
|
||||
} else {
|
||||
$('#pageIndex').val(pageIndex);
|
||||
}
|
||||
|
||||
if(!pageUnit) {
|
||||
dataStr = $('#listForm').serialize();
|
||||
} else {
|
||||
if($('#cnsltPageUnit').length){
|
||||
$('#cnsltPageUnit').val(pageUnit);
|
||||
dataStr = $('#listForm').serialize();
|
||||
} else {
|
||||
dataStr = $('#listForm').serialize()+'&pageUnit='+pageUnit;
|
||||
}
|
||||
}
|
||||
|
||||
$('#pageIndex').val(pageIndex);
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url : "<c:url value="/crm/cnslt/selectCnsltDtlsInqire"/>",
|
||||
data : dataStr,
|
||||
success:function(resultHtml) {
|
||||
$('#pageDiv').html(resultHtml);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
/************************************************
|
||||
* 삼당 수정
|
||||
*************************************************/
|
||||
const fn_updt_cnslt = function() {
|
||||
let data = $('#cnsltPopupForm').serialize();
|
||||
if (confirm('상담 내역을 <spring:message code="confirm.common.update"/>')) {
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: "/mngr/bbs/cnslt/updateCstmrCnsltUpdt",
|
||||
data: data,
|
||||
success: function (result) {
|
||||
fn_close_modal('cntmrCnsltDtlPopup');
|
||||
fn_select_crm_cnslt_list(1);
|
||||
result = JSON.parse(result.resBody.result);
|
||||
result = result.result;
|
||||
if(result === 'success'){
|
||||
if ($("#mbrTyCd").val() !== '02') { //회원 조회
|
||||
const mbrInnb = '<c:out value="${cnsltVO.mbrInnb}"/>';
|
||||
const mbrDvCd = '<c:out value="${cnsltVO.mbrDvCd}"/>';
|
||||
location.href = "/crm/cnslt/selectCnsltDtlsForm?mbrInnb=" + mbrInnb + "&mbrDvCd=" + mbrDvCd;
|
||||
} else { //비회원 조회
|
||||
const mbtlnb = '<c:out value="${cnsltVO.mbtlnb}"/>';
|
||||
const mbrTyCd = '<c:out value="${cnsltVO.mbrTyCd}"/>';
|
||||
location.href = "/crm/cnslt/selectCnsltDtlsForm?mbtlnb=" + mbtlnb + "&mbrTyCd=" + mbrTyCd;
|
||||
}
|
||||
}
|
||||
alert('<spring:message code="success.common.update"/>');
|
||||
}
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
||||
/************************************************
|
||||
* 관련번호 상세페이지 이동
|
||||
*************************************************/
|
||||
const fn_move_dtlpage = function (actionDv, target) {
|
||||
let url;
|
||||
if (actionDv === 'ordr') {//주문 상세 이동
|
||||
let ordrInnb = $(target).closest("td").find(".ordrInnb").val();
|
||||
|
||||
url = '/mngr/ordr/ordrmngr/selectOrdrDtlInqire?ordrInnb=' + ordrInnb;
|
||||
|
||||
} else if (actionDv === 'export') {//출고 상세 이동
|
||||
let dlivyInnb = $(target).closest("td").find(".dlivyInnb").val();
|
||||
let dlivyOrdrInnb = $(target).closest("td").find(".dlivyOrdrInnb").val();
|
||||
|
||||
url = '/mngr/ordr/dlivy/selectDlivyDtlInqire?dlivyInnb=' + dlivyInnb + '&ordrInnb=' + dlivyOrdrInnb;
|
||||
|
||||
} else if (actionDv === 'refund') {//반품환불상세이동
|
||||
let orderReInnb;
|
||||
let ordrInnb;
|
||||
orderReInnb = $(target).closest("td").find(".refundInnb").val();
|
||||
ordrInnb = $(target).closest("td").find(".refundOrdrInnb").val();
|
||||
|
||||
url = '/mngr/ordr/refnd/selectRtngudRefndDtlInqire?ordrInnb=' + ordrInnb + '&orderReInnb=' + orderReInnb;
|
||||
|
||||
} else if (actionDv === 'qna' || actionDv === 'rvw') {//crm 상품문의 혹은 상품후기로 이동
|
||||
let mbrInnb = '<c:out value="${cnsltVO.mbrInnb}"/>';
|
||||
let mbrDvCd = '<c:out value="${cnsltVO.mbrDvCd}"/>';
|
||||
|
||||
if (actionDv === 'rvw') {
|
||||
url = "/crm/bbs/selectGoodsRvwInqireForm?mbrInnb=" + mbrInnb + "&mbrDvCd=" + mbrDvCd;
|
||||
} else {
|
||||
url = "/crm/bbs/selectGoodsInqryInqireForm?mbrInnb=" + mbrInnb + "&mbrDvCd=" + mbrDvCd;
|
||||
}
|
||||
}
|
||||
|
||||
//상품문의,상품후기 제외한 상세보기는 다른 창으로 오픈
|
||||
if(!(actionDv === 'qna' || actionDv === 'rvw')){
|
||||
window.open(url, '_blank');
|
||||
}else{
|
||||
location.href = url;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Header.jsp"%>
|
||||
<main class="main">
|
||||
<%-- CRM left 공통 --%>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Left.jsp"%>
|
||||
<div class="content">
|
||||
<div class="content__inner">
|
||||
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
|
||||
<div class="page-title">
|
||||
<h2 class="page-title__title">상담</h2>
|
||||
<div class="page-title__btn-container">
|
||||
</div>
|
||||
</div>
|
||||
<form id="listForm" name="listForm" method="post">
|
||||
<input type="hidden" id="cnsltDtlsInnb" name="cnsltDtlsInnb"/>
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value="<c:out value="${ resultMap.paramVO.pageIndex }"/>"/>
|
||||
<input type="hidden" id="recordCountPerPage" name="recordCountPerPage" value="<c:out value="${ resultMap.paramVO.recordCountPerPage }"/> "/>
|
||||
<input type="hidden" id="sopmalCd" name="sopmalCd"/>
|
||||
<input type="hidden" id="mbrInnb" name="mbrInnb" value="<c:out value="${ resultMap.paramVO.mbrInnb }"/>"/>
|
||||
<input type="hidden" id="mbrDvCd" name="mbrDvCd" value="<c:out value="${ resultMap.paramVO.mbrDvCd }"/>"/>
|
||||
<input type="hidden" id="mbtlnb" name="mbtlnb" value="${ resultMap.paramVO.mbtlnb}"/>
|
||||
<c:choose>
|
||||
<c:when test = "${not empty resultMap.paramVO.mbrDvCd}">
|
||||
<input type="hidden" id="mbrTyCd" name="mbrTyCd" value="01"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<input type="hidden" id="mbrTyCd" name="mbrTyCd" value="02"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<section class="content-section" id="crmCnsltSrchSection">
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>등록일</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select id="srchDtDv" name="srchDtDv" title="해당 셀렉트에 대한 설명">
|
||||
<option value="cnstlDt">상담일</option>
|
||||
<option value="procsDt">처리일</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input-container">
|
||||
<input type="text" name="srchStartDate" id="srchStartDate" class="datepicker" title="시작 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd">
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" name="srchEndDate" id="srchEndDate" class="datepicker" title="종료 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd">
|
||||
</div>
|
||||
<div class="dateRange-btnContainer">
|
||||
<button type="button" class="dateRange-btn" id="yesterday" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1D')">어제</button>
|
||||
<button type="button" class="dateRange-btn" id="today" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','0')">오늘</button>
|
||||
<button type="button" class="dateRange-btn" id="threeDays" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','3D')">3일간</button>
|
||||
<button type="button" class="dateRange-btn" id="sevenDays" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','7D')">일주일</button>
|
||||
<button type="button" class="dateRange-btn" id="oneMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1M')">1개월</button>
|
||||
<button type="button" class="dateRange-btn" id="threeMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','3M')">3개월</button>
|
||||
<button type="button" class="dateRange-btn" id="sixMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','6M')">6개월</button>
|
||||
<button type="button" class="dateRange-btn" id="oneYear" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1Y')">1년</button>
|
||||
<button type="button" class="dateRange-btn selected" id="allDays">전체</button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>상담자</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text" type="text" id="srchMngrNm" name="srchMngrNm" title="해당 인풋에 대한 설명">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>처리 상태</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container" id="srchProcsSttusCdDiv">
|
||||
<label class="b-checkbox checkbox check-all">
|
||||
<input type="checkbox" id="srchProcsSttusAll" value="" >
|
||||
<span class="check"></span>
|
||||
<span class="control-label">전체</span>
|
||||
</label>
|
||||
<c:forEach var="codeList" items="${ resultMap.procsSttusCdList }" varStatus="">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" class="procsSttusCdCheckbox" name="srchProcsSttusCd" value="<c:out value="${ codeList.cd }"/>"
|
||||
onchange="fn_ctr_pCheckbox('#srchProcsSttusAll', '.procsSttusCdCheckbox');"
|
||||
<c:if test="${ resultMap.paramVO.srchProcsSttusCd eq codeList.cd }">checked="checked"</c:if>>
|
||||
<span class="check"></span>
|
||||
<span class="control-label"><c:out value="${ codeList.cdNm }"/></span>
|
||||
</label>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>관련 번호</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select id="srchRelateDv" name="srchRelateDv" title="해당 셀렉트에 대한 설명">
|
||||
<option value="relateOrdrnb">주문번호</option>
|
||||
<option value="dlivyCd">출고코드</option>
|
||||
<option value="refndCd">반품환불코드</option>
|
||||
<option value="relateGoodsInqry">상품문의</option>
|
||||
<option value="goodsRvwBbscttNb">상품후기</option>
|
||||
</select>
|
||||
</div>
|
||||
<input class="input-text" type="text" id="srchRelateNm" name="srchRelateNm" title="해당 인풋에 대한 설명">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>상담내용</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text xl" type="text" id="srchCnsltCn" name="srchCnsltCn" title="검색할 상담 내용">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="form-control-container">
|
||||
<div class="left"></div>
|
||||
<div class="center">
|
||||
<button class="btn outline" id="resetBtn" type="button" onclick="fn_reset_form('crmCnsltSrchSection'); return false;">초기화</button>
|
||||
<button class="btn primary" id="searchBtn" type="button" onclick="fn_select_crm_cnslt_list(1); return false;">검색</button>
|
||||
</div>
|
||||
<div class="right">
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<%-- 상담 목록 DIV --%>
|
||||
<div id="pageDiv">
|
||||
|
||||
</div>
|
||||
|
||||
<%-- 상담 내역 수정 팝업 DIV --%>
|
||||
<div id="cnsltDtlPopupDiv">
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
|
||||
</div>
|
||||
<%-- CRM right 공통 --%>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Right.jsp"%>
|
||||
|
||||
</div>
|
||||
</main>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
162
src/main/webapp/WEB-INF/views/crm/cnslt/CnsltRegistPopupC.jsp
Normal file
162
src/main/webapp/WEB-INF/views/crm/cnslt/CnsltRegistPopupC.jsp
Normal file
@@ -0,0 +1,162 @@
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
|
||||
|
||||
|
||||
<%--
|
||||
Class Name : CnsltRegistPopupC.jsp
|
||||
Description : CRM 상담 등록 우층 화면
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-01-26 추지훈 최초 생성
|
||||
|
||||
--%>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('.cnsltRegistSelect').niceSelect();
|
||||
|
||||
//전화번호 set
|
||||
$("#telnb").val($("#leftMbtlnb").val());
|
||||
});
|
||||
/*상담 녹취 키 관련 로직*/
|
||||
//1. 1은 ctiUnion에
|
||||
//2.아이프레임에서 recordKeyLoad 함수가 존재 할 시 recordKeyLoad() 실행
|
||||
window.addEventListener('message', function(event) {
|
||||
if(event.data.functionName == 'recordKeyLoad') {
|
||||
recordKeyLoad()
|
||||
}
|
||||
}, false);
|
||||
|
||||
//3.녹취키 상담폼에 값 set
|
||||
function recordKeyLoad(){
|
||||
var recordKey = parent.document.ValidForm.Customer_CRecFile.value;
|
||||
$('input[name=customer_record_key]').val(recordKey.trim());
|
||||
console.log('value = ', $('input[name=customer_record_key]').val());
|
||||
}
|
||||
</script>
|
||||
<form id="registForm" name="registForm">
|
||||
<aside class="crm-right">
|
||||
<div class="crm-right__content">
|
||||
<h5 class="crm-right__title">상담관리</h5>
|
||||
<div class="crm-right__inner">
|
||||
<div class="crm-right__row">
|
||||
<div class="crm-right__th">상담자</div>
|
||||
<div class="crm-right__td">
|
||||
<c:out value="${userNm}"/>
|
||||
<input type="hidden" name="mbrInnb" value="<c:out value="${cnsltVO.mbrInnb}"/>"/>
|
||||
<input type="hidden" name="mbrDvCd" value="<c:out value="${cnsltVO.mbrDvCd}"/>"/>
|
||||
<input type="hidden" name="customer_record_key"
|
||||
value="<c:out value="${ cnsltVO.customer_record_key }"/>"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="crm-right__row">
|
||||
<div class="crm-right__th">인콜/아웃콜</div>
|
||||
<div class="crm-right__td">
|
||||
<div class="select-box">
|
||||
<select class="cnsltRegistSelect" id="telnbDvCd" name="telnbDvCd" title="인콜/아웃콜">
|
||||
<option value="" selected disabled>선택</option>
|
||||
<c:forEach var="codeList" items="${ resultMap.telnbDvCdList }" varStatus="">
|
||||
<option value="<c:out value="${ codeList.cd }"/>" >
|
||||
<c:out value="${ codeList.cdNm }"/>
|
||||
</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="crm-right__row">
|
||||
<div class="crm-right__th">대분류</div>
|
||||
<div class="crm-right__td">
|
||||
<div class="select-box">
|
||||
<select class="cnsltRegistSelect" id="lrgeClCdListSelect" name="lrgeCl" title="대분류" onchange="fn_select_lrgeClCd($(this).val(), this);">
|
||||
<option value="" selected disabled>선택</option>
|
||||
<c:forEach var="codeList" items="${ resultMap.lrgeClCdList }" varStatus="">
|
||||
<option value="<c:out value="${ codeList.cd }"/>" >
|
||||
<c:out value="${ codeList.cdNm }"/>
|
||||
</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="crm-right__row">
|
||||
<div class="crm-right__th">중분류</div>
|
||||
<div class="crm-right__td">
|
||||
<div class="select-box" id="middlClCdDiv">
|
||||
<select class="cnsltRegistSelect" disabled id="crm-right-category-2" name="middlCl" title="해당 셀렉트에 대한 설명">
|
||||
<option value="" selected disabled>선택</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="crm-right__row">
|
||||
<div class="crm-right__th">처리상태</div>
|
||||
<div class="crm-right__td">
|
||||
<div class="select-box">
|
||||
<select class="cnsltRegistSelect" id="procsSttusCd" name="procsSttusCd" title="처리상태">
|
||||
<c:forEach var="codeList" items="${ resultMap.procsSttusCdList }" varStatus="">
|
||||
<option value="<c:out value="${ codeList.cd }"/>" <c:if test="${ codeList.cd eq resultMap.cnsltVO.procsSttusCd }">selected="selected"</c:if>>
|
||||
<c:out value="${ codeList.cdNm }"/>
|
||||
</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="crm-right__row">
|
||||
<div class="crm-right__th">주문번호</div>
|
||||
<div class="crm-right__td">
|
||||
<input class="input-text full" type="text" id="ordrNb" name="ordrNb" title="주문번호" oninput="fn_only_num($(this));" maxlength="25">
|
||||
</div>
|
||||
</div>
|
||||
<div class="crm-right__row">
|
||||
<div class="crm-right__th">출고코드</div>
|
||||
<div class="crm-right__td">
|
||||
<input class="input-text full" type="text" id="dlivyInnb" name="dlivyInnb" title="출고코드" maxlength="25" placeholder="ex) D25020511900000">
|
||||
</div>
|
||||
</div>
|
||||
<div class="crm-right__row">
|
||||
<div class="crm-right__th">반품환불코드</div>
|
||||
<div class="crm-right__td">
|
||||
<input class="input-text full" type="text" id="refndCdNb" name="refndCdNb" title="환불코드" maxlength="25" placeholder="ex) C25021118500000">
|
||||
</div>
|
||||
</div>
|
||||
<div class="crm-right__row">
|
||||
<div class="crm-right__th">상품문의</div>
|
||||
<div class="crm-right__td">
|
||||
<input class="input-text full" type="text" id="goodsInqryBbscttNb" name="goodsInqryBbscttNb" title="상품문의" oninput="fn_only_num($(this));" maxlength="25">
|
||||
</div>
|
||||
</div>
|
||||
<div class="crm-right__row">
|
||||
<div class="crm-right__th">상품후기</div>
|
||||
<div class="crm-right__td">
|
||||
<input class="input-text full" type="text" id="goodsRvwBbscttNb" name="goodsRvwBbscttNb" title="상품후기" oninput="fn_only_num($(this));" maxlength="25">
|
||||
</div>
|
||||
</div>
|
||||
<div class="crm-right__row">
|
||||
<div class="crm-right__th">전화번호</div>
|
||||
<div class="crm-right__td">
|
||||
<input class="input-text full number" type="text" id="telnb" name="telnb" title="전화번호" oninput="fn_fmt_telno($(this));" maxlength="13"
|
||||
placeholder="'-'없이 입력">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="crm-right__textarea-container">
|
||||
<textarea class="textarea" cols="30" rows="6" placeholder="상담내용을 등록하세요." id="cnsltCn" name="cnsltCn"
|
||||
title="상담내용"></textarea>
|
||||
</div>
|
||||
<div class="crm-right__btn-container">
|
||||
<button class="btn primary" type="button" onclick="fn_regist(); return false;"><spring:message code="button.insert"/>하기</button>
|
||||
</div>
|
||||
</div>
|
||||
</aside>
|
||||
</form>
|
||||
|
||||
|
||||
@@ -0,0 +1,183 @@
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
|
||||
|
||||
<%--
|
||||
Class Name : CnsltDtlsRForm.jsp
|
||||
Description : CRM 상담 내역 jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-02-19 추지훈 최초 생성
|
||||
--%>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<form id="dwldListForm">
|
||||
<input type="hidden" id="pageIndexDwld" name="pageIndex" value="<c:out value="${ resultMapDwld.paramVO.pageIndex }"/>"/>
|
||||
<input type="hidden" id="recordCountPerPageDwld" name="recordCountPerPage" value="<c:out value="${ resultMapDwld.paramVO.recordCountPerPage }"/> "/>
|
||||
<div class="tab-box__content">
|
||||
<div class="form-control-container">
|
||||
<div class="left">
|
||||
<div class="search-number">
|
||||
<span class="search-number__text">총 <strong><c:out value="${ resultMapDwld.paginationInfo.totalRecordCount }"/></strong>건</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="center">
|
||||
</div>
|
||||
<div class="right">
|
||||
<div>
|
||||
<button type="button" class="btn xsm gray" onclick="fn_regist_dwld_coupon_all();">모든 쿠폰 다운로드</button>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select id="pageUnitDwld" name="pageUnit" title="페이지당 출력될 목록건수" onchange="console.log('test'); fn_select_dwld_coupon_list('1');">
|
||||
<c:forEach items="${ resultMapDwld.paginationInfo.pageUnitArr }" var="pageUnit" varStatus="pageUnitStatus">
|
||||
<option value="<c:out value="${ pageUnit }"/>" <c:if test="${ resultMapDwld.paginationInfo.recordCountPerPage eq pageUnit}">selected="selected"</c:if>><c:out value="${ pageUnit }"/>개씩</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="spacing">
|
||||
<div class="table-wrapper">
|
||||
<table class="table vertical tight">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: 6%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 16%;">
|
||||
<col style="width: 16%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>번호</th>
|
||||
<th>쿠폰명</th>
|
||||
<th>혜택</th>
|
||||
<th>유효기간</th>
|
||||
<th>다운로드기간</th>
|
||||
<th>조건</th>
|
||||
<th>기타</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMapDwld.resultList && fn:length(resultMapDwld.resultList) > 0 }">
|
||||
<c:forEach items="${ resultMapDwld.resultList }" var="couponList" varStatus="status">
|
||||
<tr>
|
||||
<td>
|
||||
<c:out value="${ resultMapDwld.paginationInfo.totalRecordCount - couponList.rnum + 1 }" />
|
||||
<input type="hidden" name="couponArray" value="<c:out value="${ couponList.couponInnb }"/>" />
|
||||
<input type="hidden" id="dwldCouponInnb" name="dwldCouponInnb" value="<c:out value="${ couponList.dwldCouponInnb }" />"/>
|
||||
</td>
|
||||
<td class="text-left">
|
||||
<c:out value="${ couponList.coupNm }"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${ couponList.bnefDvCd eq '01' || couponList.bnefDvCd eq '03' }">
|
||||
<span class="fw-500">
|
||||
<fmt:formatNumber value="${ couponList.aditDscntAmt }" pattern="#,###" />
|
||||
<c:if test="${ '01' eq couponList.aditDscntCd }">% 할인</c:if>
|
||||
<c:if test="${ '02' eq couponList.aditDscntCd }">원 할인</c:if>
|
||||
</span><br/>
|
||||
<c:if test="${ '01' eq couponList.aditDscntCd }">
|
||||
<span class="gray-8">최대 <fmt:formatNumber value="${ couponList.dscntMxmmAmt }" pattern="#,###" />원 할인</span>
|
||||
</c:if>
|
||||
</c:when>
|
||||
<c:when test="${ couponList.bnefDvCd eq '02' }">
|
||||
<span class="fw-500">
|
||||
<c:if test="${ '01' eq couponList.dlvyAmtDscntDvCd }">기본배송비 무료,
|
||||
</span>
|
||||
<br>
|
||||
<span class="gray-8">
|
||||
최대 <fmt:formatNumber value="${ couponList.dlvyAmtMxmmDscntAmt }" pattern="#,###" />원 할인</c:if>
|
||||
</span>
|
||||
<span class="fw-500">
|
||||
<c:if test="${ '02' eq couponList.dlvyAmtDscntDvCd }">배송비 <fmt:formatNumber value="${ couponList.dlvyAmtDscntAmt }" pattern="#,###" />원 할인</c:if>
|
||||
</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${ '01' eq couponList.validpdKndCd }">
|
||||
<c:out value="${couponList.registDe}" />
|
||||
<br><c:out value="${couponList.validpdEndDt}" />
|
||||
</c:when>
|
||||
<c:when test="${ '02' eq couponList.validpdKndCd }">
|
||||
발급일로부터 <c:out value="${couponList.validpdDeCnt}" /> 일
|
||||
</c:when>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${ 'Y' eq couponList.dwldPdLmttAt }">
|
||||
<c:out value="${couponList.dwldBgnDt}" />
|
||||
<br><c:out value="${couponList.dwldEndDt}" />
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
제한없음
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td>
|
||||
<div class="manage-btn-container">
|
||||
<button id="coupon-info-pop-trigger"
|
||||
class="btn xsm outline"
|
||||
onclick="fn_open_modal_coupon_dtl('#modalDivCouponInfo', '#couponInfoPopup', '<c:out value="/mngr/promtn/coupon/selectDwldYCouponInfoInqirePopup"/>', '<c:out value="${ couponList.couponInnb }"/>', '<c:out value="${ couponList.sopmalCd }"/>'); return false;"
|
||||
>
|
||||
상세
|
||||
</button>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="manage-btn-container">
|
||||
<button type="button" class="btn sm theme outline"
|
||||
onclick="fn_regist_dwld_coupon(<c:out value="${ couponList.couponInnb }"/>,
|
||||
'<c:out value="${ couponList.sopmalCd }"/>',
|
||||
'<c:out value="${ couponList.couponSndngInnb }"/>',
|
||||
'<c:out value="${ couponList.cupnpkInnb }"/>',
|
||||
'<c:out value="${ couponList.cupnpkNm }"/>',
|
||||
'<c:out value="${ couponList.cupnpkDc }"/>',
|
||||
);">
|
||||
받기
|
||||
</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr>
|
||||
<td colspan="100%" ><spring:message code="common.nodata"/></td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pagination__container">
|
||||
<ui:pagination paginationInfo="${resultMapDwld.paginationInfo}" type="image" jsFunction="fn_select_dwld_coupon_list" />
|
||||
</div>
|
||||
</form>
|
||||
177
src/main/webapp/WEB-INF/views/crm/coupon/HoldCouponDtlPopupR.jsp
Normal file
177
src/main/webapp/WEB-INF/views/crm/coupon/HoldCouponDtlPopupR.jsp
Normal file
@@ -0,0 +1,177 @@
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
fn_set_datepicker('.datepicker');
|
||||
fn_set_date('validpdBgnDt','validpdEndDt','validpdEndDt');
|
||||
});
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<div id="coupon-info-pop" class="modal" style="max-width: 540px;">
|
||||
<div class="modal-header">
|
||||
<h4>쿠폰 정보</h4>
|
||||
</div>
|
||||
<div class="modal-content">
|
||||
<div class="table-wrapper">
|
||||
<form id="validpdDtUpdtForm" name="validpdDtUpdtForm">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 24%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>쿠폰명</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<c:out value="${ resultMap.dwldCouponVO.coupNm }"/>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>혜택<br>(부담비율)</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<c:choose>
|
||||
<c:when test="${ resultMap.dwldCouponVO.bnefDv eq '01' || resultMap.dwldCouponVO.bnefDv eq '03' }">
|
||||
<span class="fw-500">
|
||||
<c:out value="${ resultMap.dwldCouponVO.aditDscntAmt }"/> <c:out value="${ resultMap.dwldCouponVO.goodsDscntDvNm }"/> 할인
|
||||
</span><br/>
|
||||
<c:if test="${ '01' eq resultMap.dwldCouponVO.goodsDscntDv }">
|
||||
<span class="gray-8">최대 <c:out value="${ resultMap.dwldCouponVO.dscntMxmmAmt }"/>원 할인</span>
|
||||
</c:if>
|
||||
</c:when>
|
||||
<c:when test="${ resultMap.dwldCouponVO.bnefDv eq '02' }">
|
||||
<span class="fw-500">
|
||||
<c:if test="${ '01' eq resultMap.dwldCouponVO.dlvyAmtDscntDv }">기본배송비 무료,
|
||||
</span>
|
||||
<br>
|
||||
<span class="gray-8">
|
||||
최대 <c:out value="${ resultMap.dwldCouponVO.dlvyAmtMxmmDscntAmt }"/>원 할인</c:if>
|
||||
</span>
|
||||
<span class="fw-500">
|
||||
<c:if test="${ '02' eq resultMap.dwldCouponVO.dlvyAmtDscntDv }">배송비 <c:out value="${ resultMap.dwldCouponVO.dlvyAmtDscntAmt }"/>원 할인</c:if>
|
||||
</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<input type="hidden" name="dwldCouponInnb" value="<c:out value="${ resultMap.dwldCouponVO.dwldCouponInnb}"/>"/>
|
||||
<tr>
|
||||
<th>유효기간</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input type="text" id="validpdBgnDt" name="validpdBgnDt" class="datepicker" value="<c:out value="${ resultMap.dwldCouponVO.validpdBgnDt }"/>" title="시작 날짜 선택" autocomplete="off">
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" id="validpdEndDt" name="validpdEndDt" class="datepicker" value="<c:out value="${ resultMap.dwldCouponVO.validpdEndDt }"/>" title="종료 날짜 선택" autocomplete="off">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>사용제한</th>
|
||||
<td>
|
||||
<div class="td-inner vertical">
|
||||
<%-- 사용환경 --%>
|
||||
<c:if test="${ not empty resultMap.dwldCouponVO.useEnvrnCd }">
|
||||
<c:choose>
|
||||
<c:when test="${resultMap.dwldCouponVO.useEnvrnCd eq '01' }">
|
||||
<p class="fyi gray-7">온라인 쿠폰</p>
|
||||
</c:when>
|
||||
<c:when test="${ resultMap.dwldCouponVO.useEnvrnCd eq '02' }">
|
||||
<p class="fyi gray-7">오프라인 쿠폰</p>
|
||||
</c:when>
|
||||
<c:when test="${ resultMap.dwldCouponVO.useEnvrnCd eq '03' }">
|
||||
<p class="fyi gray-7">온/오프라인 쿠폰</p>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
</c:if>
|
||||
<%-- 타 쿠폰 동시사용여부 --%>
|
||||
<c:if test="${ not empty resultMap.dwldCouponVO.otrCouponSmtmUseAt }">
|
||||
<c:choose>
|
||||
<c:when test="${resultMap.dwldCouponVO.otrCouponSmtmUseAt eq 'Y' }">
|
||||
<p class="fyi gray-7">다른 쿠폰과 동시 사용 불가</p>
|
||||
</c:when>
|
||||
<c:when test="${ resultMap.dwldCouponVO.otrCouponSmtmUseAt eq 'N' }">
|
||||
<p class="fyi gray-7">다른 쿠폰과 동시 사용 가능</p>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
</c:if>
|
||||
<%-- 사용가능금액(제품) --%>
|
||||
<c:if test="${ not empty resultMap.dwldCouponVO.usePosblAmt && 0 ne fn:replace(resultMap.dwldCouponVO.usePosblAmt, ',', '') }">
|
||||
<p class="fyi gray-7"><c:out value="${ resultMap.dwldCouponVO.usePosblAmt }"/>원 이상 구매 시</p>
|
||||
</c:if>
|
||||
<%-- 사용가능금액(대상제품 포함 구매제품 총합) --%>
|
||||
<c:if test="${ not empty resultMap.dwldCouponVO.usePosblAllAmt && 0 ne fn:replace(resultMap.dwldCouponVO.usePosblAllAmt, ',', '') && resultMap.dwldCouponVO.usePosblAllAmtUseAt eq 'Y' }">
|
||||
<p class="fyi gray-7"><c:out value="${ resultMap.dwldCouponVO.usePosblAllAmt }"/>원 이상 구매 시</p>
|
||||
</c:if>
|
||||
<%-- 중복다운로드 여부 --%>
|
||||
<c:if test="${ not empty resultMap.dwldCouponVO.dplctDwldAt}">
|
||||
<c:choose>
|
||||
<c:when test="${resultMap.dwldCouponVO.dplctDwldAt eq 'N' }">
|
||||
<p class="fyi gray-7">중복 다운로드 불가</p>
|
||||
</c:when>
|
||||
<c:when test="${ resultMap.dwldCouponVO.dplctDwldAt eq 'Y' }">
|
||||
<p class="fyi gray-7">중복 다운로드 가능</p>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
</c:if>
|
||||
<%-- 중복할인여부 --%>
|
||||
<c:if test="${ not empty resultMap.dwldCouponVO.dplctDscntAt}">
|
||||
<c:choose>
|
||||
<c:when test="${resultMap.dwldCouponVO.dplctDscntAt eq 'N' }">
|
||||
<p class="fyi gray-7">중복 할인 불가</p>
|
||||
</c:when>
|
||||
<c:when test="${ resultMap.dwldCouponVO.dplctDscntAt eq 'Y' }">
|
||||
<p class="fyi gray-7">중복 할인 가능</p>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
</c:if>
|
||||
<%-- 적용상품선정기준 --%>
|
||||
<c:if test="${ not empty resultMap.dwldCouponVO.goodsApplcDvCd }">
|
||||
<c:choose>
|
||||
<c:when test="${resultMap.dwldCouponVO.goodsApplcDvCd eq '01' }">
|
||||
<p class="fyi gray-7">모든 상품에 사용가능</p>
|
||||
</c:when>
|
||||
<c:when test="${ resultMap.dwldCouponVO.goodsApplcDvCd eq '02' }">
|
||||
<p class="fyi gray-7">특정 카테고리에 사용가능</p>
|
||||
</c:when>
|
||||
<c:when test="${ resultMap.dwldCouponVO.goodsApplcDvCd eq '03' }">
|
||||
<p class="fyi gray-7">특정 상품에 사용가능</p>
|
||||
</c:when>
|
||||
<c:when test="${ resultMap.dwldCouponVO.goodsApplcDvCd eq '04' }">
|
||||
<p class="fyi gray-7">특정 카테고리 외 사용가능</p>
|
||||
</c:when>
|
||||
<c:when test="${ resultMap.dwldCouponVO.goodsApplcDvCd eq '05' }">
|
||||
<p class="fyi gray-7">특정 상품 외 사용가능</p>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
</c:if>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#" rel="modal:close" class="btn outline">닫기</a>
|
||||
<button class="btn primary" type="button" onclick="fn_updt_coupon_validpd(); return false;"><spring:message code="button.save"/></button>
|
||||
</div>
|
||||
</div>
|
||||
246
src/main/webapp/WEB-INF/views/crm/coupon/HoldCouponDtlsR.jsp
Normal file
246
src/main/webapp/WEB-INF/views/crm/coupon/HoldCouponDtlsR.jsp
Normal file
@@ -0,0 +1,246 @@
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
|
||||
|
||||
<%--
|
||||
Class Name : CnsltDtlsRForm.jsp
|
||||
Description : CRM 상담 내역 jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-02-19 추지훈 최초 생성
|
||||
--%>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
fn_set_date();
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
<form id="holdListForm">
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value="<c:out value="${ resultMap.paramVO.pageIndex }"/>"/>
|
||||
<input type="hidden" id="recordCountPerPage" name="recordCountPerPage" value="<c:out value="${ resultMap.paramVO.recordCountPerPage }"/> "/>
|
||||
<div class="tab-box__content">
|
||||
<div class="form-control-container">
|
||||
<div class="left">
|
||||
<div class="search-number">
|
||||
<span class="search-number__text">총 <strong><c:out value="${ resultMap.paginationInfo.totalRecordCount }"/></strong>건</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="center">
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="select-box">
|
||||
<select id="pageUnit" name="pageUnit" title="페이지당 출력될 목록건수" onchange="console.log('test'); fn_select_hold_coupon_list('1');">
|
||||
<c:forEach items="${ resultMap.paginationInfo.pageUnitArr }" var="pageUnit" varStatus="pageUnitStatus">
|
||||
<option value="<c:out value="${ pageUnit }"/>" <c:if test="${ resultMap.paginationInfo.recordCountPerPage eq pageUnit}">selected="selected"</c:if>><c:out value="${ pageUnit }"/>개씩</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="spacing">
|
||||
<div class="table-wrapper">
|
||||
<table class="table vertical tight">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 16%;">
|
||||
<col style="width: 11%;">
|
||||
<col style="width: 11%;">
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 10%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>번호</th>
|
||||
<th>발급일</th>
|
||||
<th>쿠폰명</th>
|
||||
<th>혜택</th>
|
||||
<th>유효기간</th>
|
||||
<th>남은일자</th>
|
||||
<th>사용여부</th>
|
||||
<th>주문번호</th>
|
||||
<th>조건</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.resultList && fn:length(resultMap.resultList) > 0 }">
|
||||
<c:forEach items="${ resultMap.resultList }" var="couponList" varStatus="status">
|
||||
<c:set var="today" value="<%=new java.util.Date()%>" />
|
||||
<c:set var="date"><fmt:formatDate value="${today}" pattern="yyyy-MM-dd" /></c:set>
|
||||
<tr
|
||||
<c:choose>
|
||||
<c:when test="${ couponList.couponSttusCd eq '03' }">
|
||||
class="gray-4"
|
||||
</c:when>
|
||||
<c:when test="${ couponList.couponSttusCd eq '02' && couponList.validpdEndDt ge date }">
|
||||
</c:when>
|
||||
<c:when test="${ couponList.couponSttusCd eq '02' && couponList.validpdEndDt lt date }">
|
||||
class="gray-4"
|
||||
</c:when>
|
||||
<c:when test="${ couponList.couponSttusCd eq '04' }">
|
||||
class="gray-4"
|
||||
</c:when>
|
||||
</c:choose>
|
||||
>
|
||||
<td>
|
||||
<c:out value="${ resultMap.paginationInfo.totalRecordCount - couponList.rnum + 1 }" />
|
||||
<input type="hidden" id="dwldCouponInnb" name="dwldCouponInnb" value="<c:out value="${ couponList.dwldCouponInnb }" />"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${ couponList.registDe }"/>
|
||||
</td>
|
||||
<td class="text-left">
|
||||
<c:out value="${ couponList.coupNm }"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${ couponList.bnefDvCd eq '01' || couponList.bnefDvCd eq '03' }">
|
||||
<span class="fw-500">
|
||||
<fmt:formatNumber value="${ couponList.aditDscntAmt }" pattern="#,###" />
|
||||
<c:if test="${ '01' eq couponList.aditDscntCd }">% 할인</c:if>
|
||||
<c:if test="${ '02' eq couponList.aditDscntCd }">원 할인</c:if>
|
||||
</span><br/>
|
||||
<c:if test="${ '01' eq couponList.aditDscntCd }">
|
||||
<span
|
||||
<c:choose>
|
||||
<c:when test="${ couponList.couponSttusCd eq '03' }">
|
||||
class="gray-4"
|
||||
</c:when>
|
||||
<c:when test="${ couponList.couponSttusCd eq '02' && couponList.validpdEndDt ge date }">
|
||||
class="gray-8"
|
||||
</c:when>
|
||||
<c:when test="${ couponList.couponSttusCd eq '02' && couponList.validpdEndDt lt date }">
|
||||
class="gray-4"
|
||||
</c:when>
|
||||
<c:when test="${ couponList.couponSttusCd eq '04' }">
|
||||
class="gray-4"
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
class="gray-8"
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
>최대 <fmt:formatNumber value="${ couponList.dscntMxmmAmt }" pattern="#,###" />원 할인</span>
|
||||
</c:if>
|
||||
</c:when>
|
||||
<c:when test="${ couponList.bnefDvCd eq '02' }">
|
||||
<span class="fw-500">
|
||||
<c:if test="${ '01' eq couponList.dlvyAmtDscntDvCd }">기본배송비 무료,
|
||||
</span>
|
||||
<br>
|
||||
<span
|
||||
<c:choose>
|
||||
<c:when test="${ couponList.couponSttusCd eq '03' }">
|
||||
class="gray-4"
|
||||
</c:when>
|
||||
<c:when test="${ couponList.couponSttusCd eq '02' && couponList.validpdEndDt ge date }">
|
||||
class="gray-8"
|
||||
</c:when>
|
||||
<c:when test="${ couponList.couponSttusCd eq '02' && couponList.validpdEndDt lt date }">
|
||||
class="gray-4"
|
||||
</c:when>
|
||||
<c:when test="${ couponList.couponSttusCd eq '04' }">
|
||||
class="gray-4"
|
||||
</c:when>
|
||||
</c:choose>
|
||||
>
|
||||
최대 <fmt:formatNumber value="${ couponList.dlvyAmtMxmmDscntAmt }" pattern="#,###" />원 할인</c:if>
|
||||
</span>
|
||||
<span class="fw-500">
|
||||
<c:if test="${ '02' eq couponList.dlvyAmtDscntDvCd }">배송비 <fmt:formatNumber value="${ couponList.dlvyAmtDscntAmt }" pattern="#,###" />원 할인</c:if>
|
||||
</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${ couponList.validpdBgnDt }"/><br>
|
||||
<c:out value="${ couponList.validpdEndDt }"/>
|
||||
</td>
|
||||
<td id="dayCalcTd">
|
||||
<c:set var="today" value="<%=new java.util.Date()%>" />
|
||||
<c:set var="date"><fmt:formatDate value="${today}" pattern="yyyy-MM-dd" /></c:set>
|
||||
<c:choose>
|
||||
<c:when test="${ couponList.validpdEndDt gt date }">
|
||||
<c:out value="${ couponList.validpdDay }"/> 일 남음
|
||||
</c:when>
|
||||
<c:when test="${ couponList.validpdEndDt lt date}">
|
||||
<c:out value="${ couponList.validpdDay }"/> 일 지남
|
||||
</c:when>
|
||||
<c:when test="${ couponList.validpdEndDt eq date}">
|
||||
오늘까지
|
||||
</c:when>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td>
|
||||
<%-- <c:choose>--%>
|
||||
<%-- <c:when test="${couponList.couponUseAt eq 'Y'}">--%>
|
||||
<%-- <span class="blue-7 fw-500">사용함</span>--%>
|
||||
<%-- </c:when>--%>
|
||||
<%-- <c:when test="${couponList.couponUseAt eq 'N'}">--%>
|
||||
<%-- <span class="red-7 fw-500">미사용</span>--%>
|
||||
<%-- </c:when>--%>
|
||||
<%-- </c:choose>--%>
|
||||
<c:set var="today" value="<%=new java.util.Date()%>" />
|
||||
<c:set var="date"><fmt:formatDate value="${today}" pattern="yyyy-MM-dd HH:mm" /></c:set>
|
||||
<c:choose>
|
||||
<c:when test="${ couponList.couponSttusCd eq '03' }">
|
||||
<span class="couponList__date" style="color: blue"><strong>사용함</strong></span>
|
||||
</c:when>
|
||||
<c:when test="${ couponList.couponSttusCd eq '02' && couponList.validpdEndDt ge date }">
|
||||
<span class="couponList__date" style="color: red"><strong>미사용</strong></span>
|
||||
</c:when>
|
||||
<c:when test="${ couponList.couponSttusCd eq '02' && couponList.validpdEndDt lt date }">
|
||||
<span class="couponList__date" style="color: gray"><strong>소멸함</strong></span>
|
||||
</c:when>
|
||||
<c:when test="${ couponList.couponSttusCd eq '04' }">
|
||||
<span class="couponList__date" style="color: gray"><strong>회수</strong></span>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td><button type="button" onclick="fn_chng_ordr_dtl('${couponList.ordrInnb}');">${couponList.ordrInnb}</button></td>
|
||||
<td>
|
||||
<div class="manage-btn-container">
|
||||
<button id="coupon-info-pop-trigger"
|
||||
class="btn xsm outline"
|
||||
onclick="fn_open_modal_dwldcoupon_dtl('#modalDiv', '#coupon-info-pop', '<c:out value="/crm/coupon/selectHoldCouponDtlPopupForm"/>', '<c:out value="${ couponList.dwldCouponInnb }"/>'); return false;"
|
||||
>
|
||||
상세
|
||||
</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr>
|
||||
<td colspan="100%" ><spring:message code="common.nodata"/></td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pagination__container">
|
||||
<ui:pagination paginationInfo="${resultMap.paginationInfo}" type="image" jsFunction="fn_select_hold_coupon_list" />
|
||||
</div>
|
||||
</form>
|
||||
400
src/main/webapp/WEB-INF/views/crm/coupon/HoldCouponDtlsRForm.jsp
Normal file
400
src/main/webapp/WEB-INF/views/crm/coupon/HoldCouponDtlsRForm.jsp
Normal file
@@ -0,0 +1,400 @@
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
|
||||
|
||||
<%--
|
||||
Class Name : HoldCouponDtlsForm.jsp
|
||||
Description : CRM 쿠폰 내역 jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-02-19 추지훈 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
|
||||
<head>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Include.jsp"%>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
//crm 정보 조회
|
||||
if ($("#mbrTyCd").val() === '01') {
|
||||
fn_get_crm_info($("#leftMbrInnb").val(), $("#leftMbrDvCd").val());
|
||||
} else {
|
||||
fn_get_crm_info_nmbr($("#leftMbtlnb").val());
|
||||
$("#nmbrMbtlnb").text(fn_format_mbtlnb($("#nmbrMbtlnb").text()));
|
||||
}
|
||||
let pageIndexHold = '<c:out value="${ resultMap.paramVO.pageIndex }"/>';
|
||||
let pageUnitHold = '<c:out value="${ resultMap.paramVO.pageUnit }"/>';
|
||||
|
||||
let pageIndexDwld = '<c:out value="${ resultMapDwld.paramVO.pageIndex }"/>';
|
||||
let pageUnitDwld = '<c:out value="${ resultMapDwld.paramVO.pageUnit }"/>';
|
||||
|
||||
|
||||
|
||||
fn_select_hold_coupon_list(pageIndexHold, pageUnitHold);
|
||||
|
||||
//fn_select_dwld_coupon_list(pageIndexDwld, pageUnitDwld);
|
||||
|
||||
|
||||
fn_start_display();
|
||||
|
||||
fn_add_crm_menu_class("leftCoupon");
|
||||
|
||||
});
|
||||
|
||||
/************************************************
|
||||
* 보유 쿠폰 목록 조회
|
||||
*************************************************/
|
||||
const fn_select_hold_coupon_list = function(pageIndex, pageUnit) {
|
||||
|
||||
|
||||
let dataStr;
|
||||
if(!pageIndex) {
|
||||
$('#pageIndex').val(1);
|
||||
} else {
|
||||
$('#pageIndex').val(pageIndex);
|
||||
}
|
||||
|
||||
if(!pageUnit) {
|
||||
|
||||
dataStr = $('#holdListForm').serialize();
|
||||
} else {
|
||||
if($('#pageUnit').length){
|
||||
$('#pageUnit').val(pageUnit);
|
||||
dataStr = $('#holdListForm').serialize();
|
||||
} else {
|
||||
dataStr = $('#holdListForm').serialize()+'&pageUnit='+pageUnit;
|
||||
}
|
||||
}
|
||||
|
||||
let listFormData = $('#leftForm').serialize();
|
||||
dataStr = dataStr + '&' + listFormData;
|
||||
|
||||
$('#pageIndex').val(pageIndex);
|
||||
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url : "<c:url value="/crm/coupon/selectHoldCouponDtlsInqire"/>",
|
||||
data : dataStr,
|
||||
success:function(resultHtml) {
|
||||
|
||||
|
||||
$('#holdCouponListDiv').html(resultHtml);
|
||||
$('#pageUnit').niceSelect();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/************************************************
|
||||
* 다운로드 가능 쿠폰 목록 조회
|
||||
*************************************************/
|
||||
const fn_select_dwld_coupon_list = function(pageIndexDwld, pageUnitDwld) {
|
||||
|
||||
let dataStr;
|
||||
if(!pageIndexDwld) {
|
||||
$('#pageIndexDwld').val(1);
|
||||
} else {
|
||||
$('#pageIndexDwld').val(pageIndexDwld);
|
||||
}
|
||||
|
||||
if(!pageUnitDwld) {
|
||||
|
||||
dataStr = $('#dwldListForm').serialize();
|
||||
} else {
|
||||
if($('#pageUnitDwld').length){
|
||||
$('#pageUnitDwld').val(pageUnitDwld);
|
||||
dataStr = $('#dwldListForm').serialize();
|
||||
} else {
|
||||
dataStr = $('#dwldListForm').serialize()+'&pageUnitDwld='+pageUnitDwld;
|
||||
}
|
||||
}
|
||||
|
||||
let listFormData = $('#leftForm').serialize();
|
||||
dataStr = dataStr + '&' + listFormData;
|
||||
|
||||
$('#pageIndexDwld').val(pageIndexDwld);
|
||||
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url : "<c:url value="/crm/coupon/selectDwldPosblCouponDtlsInqire"/>",
|
||||
data : dataStr,
|
||||
success:function(resultHtml) {
|
||||
$('#holdCouponListDiv').html(resultHtml);
|
||||
$('#pageUnitDwld').niceSelect();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/* ********************************************************
|
||||
* 시작 화면 제어 함수
|
||||
******************************************************** */
|
||||
const fn_start_display = function() {
|
||||
|
||||
|
||||
|
||||
// 시작, 종료 날짜 제어
|
||||
fn_set_date('validpdBgnDt','validpdEndDt','validpdEndDt');
|
||||
|
||||
}
|
||||
|
||||
/************************************************
|
||||
* 쿠폰 상세 정보 조회 팝업 : 이미 다운로드 된 쿠폰
|
||||
*************************************************/
|
||||
const fn_open_modal_dwldcoupon_dtl = function(modalDivSltr, modalSlrt, url, param, callback){
|
||||
var dwldCouponInnb = param
|
||||
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: url,
|
||||
data: {
|
||||
dwldCouponInnb : dwldCouponInnb
|
||||
},
|
||||
success: function (data) {
|
||||
//callback함수가 없을 경우 default로 지정된 영역에 모달팝업 화면을 교체하고 화면 로딩
|
||||
if(!callback) {
|
||||
$(modalSlrt).remove();
|
||||
$(modalDivSltr).html(data);
|
||||
$(modalSlrt).modal();
|
||||
} else {
|
||||
callback(data);
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
/************************************************
|
||||
* 쿠폰 상세 정보 조회 팝업 : 다운로드 가능 쿠폰
|
||||
*************************************************/
|
||||
const fn_open_modal_coupon_dtl = function(modalDivSltr, modalSlrt, url, param, sopmalCd, callback){
|
||||
var couponInnb = param
|
||||
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: url,
|
||||
data: {
|
||||
couponInnb : couponInnb,
|
||||
sopmalCd : sopmalCd
|
||||
},
|
||||
success: function (data) {
|
||||
//callback함수가 없을 경우 default로 지정된 영역에 모달팝업 화면을 교체하고 화면 로딩
|
||||
if(!callback) {
|
||||
$(modalSlrt).remove();
|
||||
$(modalDivSltr).html(data);
|
||||
$(modalSlrt).modal();
|
||||
} else {
|
||||
callback(data);
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
|
||||
/************************************************
|
||||
* 쿠폰 유효기간 수정
|
||||
*************************************************/
|
||||
const fn_updt_coupon_validpd = function() {
|
||||
const data = $('#validpdDtUpdtForm').serialize();
|
||||
|
||||
if (confirm('쿠폰 유효기간을 <spring:message code="confirm.common.update"/>')) {
|
||||
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: '<c:out value="/crm/coupon/updateCouponPdUpdt"/>',
|
||||
data: data,
|
||||
success: function (result) {
|
||||
|
||||
fn_close_modal('coupon-info-pop');
|
||||
fn_select_hold_coupon_list(1);
|
||||
alert('<spring:message code="success.common.update"/>');
|
||||
}
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
let alldwldCnt = '${ not empty resultMap.dwldPosblCouponCnt ? resultMap.dwldPosblCouponCnt : '0' }';
|
||||
|
||||
/************************************************
|
||||
* 쿠폰 다운로드 단건
|
||||
*************************************************/
|
||||
const fn_regist_dwld_coupon = function(couponInnb, sopmalCd, couponSndngInnb, cupnpkInnb, cupnpkNm, cupnpkDc) {
|
||||
let mbrInnb = $('input[name="mbrInnb"]').val();
|
||||
let mbrDvCd = $('input[name="mbrDvCd"]').val();
|
||||
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: '<c:url value="/crm/coupon/insertCrmDwldCouponAllRegist"/>',
|
||||
data: {
|
||||
couponInnb: couponInnb,
|
||||
sopmalCd: sopmalCd,
|
||||
couponSndngInnb : couponSndngInnb,
|
||||
cupnpkInnb : cupnpkInnb,
|
||||
cupnpkNm : cupnpkNm,
|
||||
cupnpkDc : cupnpkDc,
|
||||
mbrInnb : mbrInnb,
|
||||
mbrDvCd : mbrDvCd
|
||||
},
|
||||
success: function (result) {
|
||||
console.log("단건 다운로드 result 확인 : ", result);
|
||||
|
||||
let parseData = JSON.parse(result.resBody.result);
|
||||
console.log("parseData : ", parseData);
|
||||
|
||||
if (parseData.result === 'success') {
|
||||
alert('<spring:message code="success.common.save"/>');
|
||||
location.reload();
|
||||
} else {
|
||||
alert('쿠폰 다운로드 미완료');
|
||||
}
|
||||
|
||||
// alert('<spring:message code="success.common.save"/>');
|
||||
// $('#useCouponListBtn').click();
|
||||
}, error(e) {
|
||||
console.lgo("error : ", e);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/************************************************
|
||||
* (모든) 쿠폰 다운로드 다건
|
||||
*************************************************/
|
||||
const fn_regist_dwld_coupon_all = function() {
|
||||
|
||||
let data = $('#dwldListForm').serializeArray();
|
||||
|
||||
console.log("data", data);
|
||||
|
||||
let mbrInnb = $('input[name="mbrInnb"]').val();
|
||||
let mbrDvCd = $('input[name="mbrDvCd"]').val();
|
||||
|
||||
|
||||
// data.push({ name: "mbrInnb", value: mbrInnb });
|
||||
// data.push({ name: "mbrDvCd", value: mbrDvCd });
|
||||
// data = data + '&mbrInnb='+ mbrInnb;
|
||||
// data = data + '&mbrDvCd='+ mbrDvCd;
|
||||
|
||||
|
||||
if (alldwldCnt > 0) {
|
||||
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: '<c:url value="/crm/coupon/insertCrmDwldCouponAllRegist"/>',
|
||||
data: {
|
||||
couponArray : '1',
|
||||
mbrInnb : mbrInnb,
|
||||
mbrDvCd : mbrDvCd
|
||||
},
|
||||
success: function (result) {
|
||||
|
||||
console.log("단건 다운로드 result 확인 : ", result);
|
||||
|
||||
let parseData = JSON.parse(result.resBody.result);
|
||||
console.log("parseData : ", parseData);
|
||||
|
||||
if (parseData.result === 'success') {
|
||||
alert('<spring:message code="success.common.save"/>');
|
||||
location.reload();
|
||||
} else {
|
||||
alert('쿠폰 다운로드 미완료');
|
||||
}
|
||||
|
||||
<%--alert('<spring:message code="success.common.save"/>');--%>
|
||||
// $('#useCouponListBtn').click();
|
||||
}, error(e) {
|
||||
conosle.log("error : ", e);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
alert('다운로드 받을 쿠폰이 없습니다.');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* 주문상세 화면 전환 */
|
||||
const fn_chng_ordr_dtl = function(ordrInnb) {
|
||||
|
||||
if($('#ordrDtlForm').length > 0) {
|
||||
$('#ordrDtlForm').remove()
|
||||
}
|
||||
|
||||
const form = document.createElement('form');
|
||||
form.id = 'ordrDtlForm';
|
||||
document.body.append(form);
|
||||
|
||||
$(form).find('input[name="ordrInnb"]').remove();
|
||||
$(form).append($('<input/>', {type:'hidden', name:'ordrInnb', id:'ordrInnb', value:ordrInnb}));
|
||||
|
||||
$(form).attr('method', 'post');
|
||||
$(form).attr('target', '_blank');
|
||||
$(form).attr('action', '<c:url value="/mngr/ordr/ordrmngr/selectOrdrDtlInqire"/>');
|
||||
|
||||
$(form).submit();
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Header.jsp"%>
|
||||
<main class="main">
|
||||
<%-- CRM left 공통 --%>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Left.jsp"%>
|
||||
<div class="content">
|
||||
<div class="content__inner">
|
||||
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
|
||||
<div class="page-title">
|
||||
<h2 class="page-title__title">쿠폰</h2>
|
||||
<div class="page-title__btn-container">
|
||||
<input type="hidden" name="mbrInnb" value="<c:out value="${cnsltVO.mbrInnb}"/>" />
|
||||
<input type="hidden" name="mbrDvCd" value="<c:out value="${cnsltVO.mbrDvCd}"/>" />
|
||||
<input type="hidden" name="mbtlnb" value="${ cnsltVO.mbtlnb}" />
|
||||
</div>
|
||||
</div>
|
||||
<section class="content-section">
|
||||
<div class="tab-box">
|
||||
<button class="tab-box__btn current" onclick="fn_select_hold_coupon_list(); return false;">보유한 쿠폰(<c:out value="${ not empty resultMap.usePosblCouponCnt ? resultMap.usePosblCouponCnt : '0' }"/>/<c:out value="${ not empty resultMap.usePosblCouponUseAtIsYCnt ? resultMap.usePosblCouponUseAtIsYCnt : '0' }"/>)</button>
|
||||
<button class="tab-box__btn" onclick="fn_select_dwld_coupon_list(); return false;">다운로드 가능쿠폰(<c:out value="${ not empty resultMap.dwldPosblCouponCnt ? resultMap.dwldPosblCouponCnt : '0' }"/>)</button>
|
||||
</div>
|
||||
|
||||
<%-- 보유한 쿠폰 내역 --%>
|
||||
<div id="holdCouponListDiv">
|
||||
|
||||
</div>
|
||||
|
||||
<%-- 다운로드 가능쿠폰 내역 --%>
|
||||
<div id="dwldCouponListDiv">
|
||||
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
|
||||
</div>
|
||||
<%-- CRM right 공통 --%>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Right.jsp"%>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<!-- 쿠폰정보 모달 보유한 쿠폰 -->
|
||||
<div id="modalDiv">
|
||||
</div>
|
||||
<!-- 쿠폰정보 모달 다운로드 가능 쿠폰 -->
|
||||
<div id="modalDivCouponInfo">
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
113
src/main/webapp/WEB-INF/views/crm/dlvylc/DlvylcManagePopupR.jsp
Normal file
113
src/main/webapp/WEB-INF/views/crm/dlvylc/DlvylcManagePopupR.jsp
Normal file
@@ -0,0 +1,113 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%--
|
||||
Class Name : DlvylcManagePopupR.jsp
|
||||
Description : 배송지 관리 popup jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
since : 2023.11.28 김혜인 최초 생성
|
||||
--%>
|
||||
<!-- 배송지 모달 -->
|
||||
<!-- 배송지 관리 -->
|
||||
<div id="dlvylcManage" class="modal">
|
||||
<div class="modal-header">
|
||||
<h4>배송지 관리</h4>
|
||||
</div>
|
||||
<div class="modal-content">
|
||||
<div class="text-right mb-10">
|
||||
<button class="btn primary sm" onclick="fn_move_dlvylc_regpage_pop('Y','<c:out value='${mbrInnb}'/>','<c:out value='${mbrDvCd}'/>',<c:if test="${empty resultMap.resultList}">'Y'</c:if>); return false;">
|
||||
신규 배송지 등록
|
||||
</button>
|
||||
</div>
|
||||
<form id="mbrDlvylcList" name="mbrDlvylcList">
|
||||
<div class="shipping-list">
|
||||
<c:choose>
|
||||
<c:when test="${not empty resultMap.resultList}">
|
||||
<c:forEach var="resultMap" items="${resultMap.resultList}" varStatus="status">
|
||||
<div class="shipping-list__item">
|
||||
<div class="shipping-list__item-top">
|
||||
<div class="custom-radio-container">
|
||||
<div class="custom-radio" onclick = "fn_select_mngrOrdr_postcode(${callbackNm},${status.index}, '${formId}')">
|
||||
<label for="${status.index}">
|
||||
<c:out value="${resultMap.dlvylcDcCn }" />
|
||||
</label>
|
||||
</div>
|
||||
<c:if test="${resultMap.dftDlvylcAt eq 'Y'}">
|
||||
<span class="default-address">기본배송지</span>
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="d-inline-flex gap-4 align-items-center">
|
||||
<button type="button" id="upt<c:out value=" ${resultMap.adbkInnb}" />" class=" btn xsm outline"
|
||||
onclick="fn_move_dlvylc_uptpage_pop('<c:out value='${pageIndex}'/>','<c:out value='${resultMap.adbkInnb}'/>','Y', '<c:out value='${resultMap.mbrInnb}'/>', '<c:out value='${resultMap.mbrDvCd}'/>');">
|
||||
<spring:message code="button.update" />
|
||||
</button>
|
||||
<c:if test="${resultMap.dftDlvylcAt eq 'N'}">
|
||||
<button type="button" id="del<c:out value=" ${resultMap.adbkInnb}" />" class="btn xsm outline"
|
||||
onclick="fn_delete_dlvylc('<spring:message code="success.common.delete"/>','<c:out value="${resultMap.adbkInnb}" />','Y','<c:out value=" ${resultMap.mbrInnb}"/>','<c:out value="${resultMap.mbrDvCd}"/>'); return false;">
|
||||
<spring:message code="button.delete" />
|
||||
</button>
|
||||
</c:if>
|
||||
</div>
|
||||
</div>
|
||||
<label for="${status.index}" onclick = "fn_select_mngrOrdr_postcode(${callbackNm},${status.index}, '${formId}')">
|
||||
<div class="shipping-list__item-inner">
|
||||
<p class="name">
|
||||
<c:out value="${resultMap.recpntNm}" />
|
||||
</p>
|
||||
<p>
|
||||
(<c:out value="${resultMap.zip}" />)
|
||||
<c:choose>
|
||||
<c:when test="${resultMap.adresDv eq '01'}">
|
||||
<c:out value="${resultMap.rnmAdres}" />
|
||||
</c:when>
|
||||
<c:when test="${resultMap.adresDv eq '02'}">
|
||||
<c:out value="${resultMap.lnbAdres}"/>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<c:out value="${resultMap.dtlAdres}" />
|
||||
</p>
|
||||
<p class="number mbtlnb">
|
||||
<c:out value="${resultMap.mbtlnb}" />
|
||||
</p>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<input type="hidden" name="mbrInnb" id = "dlvyLcMbr" value="<c:out value='${mbrInnb}'/>" />
|
||||
<input type="hidden" id="mbrDvCd" value="<c:out value='${mbrDvCd}'/>" />
|
||||
<input type="hidden" id="formId" value="<c:out value='${formId}'/>" />
|
||||
<input type="hidden" name="zip" class = "zip" value="<c:out value='${resultMap.zip}'/>" />
|
||||
<input type="hidden" name="adresDv" class = "adresDv" value="<c:out value='${resultMap.adresDv}'/>" />
|
||||
<input type="hidden" name="rnmAdres" class = "rnmAdres" value="<c:out value='${resultMap.rnmAdres}'/>" />
|
||||
<input type="hidden" name="lnbAdres" class = "lnbAdres"value="<c:out value='${resultMap.lnbAdres}'/>" />
|
||||
<input type="hidden" name="recpntNm" class = "recpntNmR" value="<c:out value='${resultMap.recpntNm}'/>" />
|
||||
<input type="hidden" name="dtlAdres" class = "dtlAdres" value="<c:out value='${resultMap.dtlAdres}'/>" />
|
||||
<input type="hidden" name="mbtlnb" class = "dlvylcMbtlnb" value="<c:out value='${resultMap.mbtlnb}' />" />
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<table class="table vertical">
|
||||
<colgroup>
|
||||
<col style="width: 100%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="100%"><spring:message code="common.nodata"/></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value="${pageIndex}" />
|
||||
<input type="hidden" id="isPop" name="isPop" value="Y" />
|
||||
<div class="pagination__container mt-30">
|
||||
<ui:pagination paginationInfo="${resultMap.paginationInfo}" type="image" jsFunction="fn_move_dlvylc_manage_pop_wrapper" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,64 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%--
|
||||
Class Name : DlvylcRegistPopupC.jsp
|
||||
Description : 배송지 등록 popup jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
since : 2023.11.28 김혜인 최초 생성
|
||||
2024.01.03 김혜인 등록 스크립트 추가
|
||||
--%>
|
||||
<!-- 배송지 모달 -->
|
||||
<!-- 배송지 등록 -->
|
||||
<div id="dlvylcRegist" class="modal" style="max-width: 480px;">
|
||||
<form id="dlvylcRegistForm" name="dlvylcRegistForm" action="<c:url value="/crm/dlvylc/insertDlvylcRegist"/>" method="post">
|
||||
<div class="modal-header">
|
||||
<h4>배송지 등록</h4>
|
||||
</div>
|
||||
<div class="modal-content">
|
||||
<div class="input-mobile-item">
|
||||
<div class="input-mobile-item__title ">배송지명<span class="red-7">*</span></div>
|
||||
<input name="dlvylcDcCn" type="text" class="input-text full" title="배송지명"
|
||||
maxlength="67"/>
|
||||
</div>
|
||||
<div class="input-mobile-item">
|
||||
<div class="input-mobile-item__title">받으시는 분<span class="red-7">*</span></div>
|
||||
<input name="recpntNm" type="text" class="input-text full" title="받으시는 분" maxlength="13"/>
|
||||
</div>
|
||||
<div class="input-mobile-item">
|
||||
<div class="input-mobile-item__title">배송지 주소<span class="red-7">*</span></div>
|
||||
<input id="zip" name="zip" type="text" class="input-text" title="우편번호" maxlength="5" readonly />
|
||||
<button type="button" onclick="fn_select_postcode(fn_select_dlvylc_postcode); return false;"
|
||||
class="btn dark find-address">우편번호 찾기</button>
|
||||
<input id="adres" name="adres" type="text" class="input-text full my-6" title="주소"
|
||||
maxlength="66" readonly/>
|
||||
<input id="dtlAdres" name="dtlAdres" type="text" class="input-text full"
|
||||
placeholder="나머지 주소를 입력해 주세요" title="상세주소" maxlength="66" />
|
||||
</div>
|
||||
<div class="input-mobile-item">
|
||||
<div class="input-mobile-item__title">휴대전화번호<span class="red-7">*</span></div>
|
||||
<input name="mbtlnb" type="text" class="input-text md telno" placeholder="휴대폰번호('-'없이 입력)" title="휴대전화 번호"
|
||||
maxlength="13"/>
|
||||
</div>
|
||||
<div class="b-checkbox-container default-address-check">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" id="dftDlvylcAt" name="dftDlvylcAt" value="Y"/>
|
||||
<span class="check"></span> <span class="control-label">기본 배송지</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#" rel="modal:close" class="btn outline">취소</a>
|
||||
<button id="DlvylcRegistBtn" class="btn primary" onclick="fn_insert_dlvylc('<c:out value="${crmDlvylcVO.mbrInnb}"/>','<c:out value="${crmDlvylcVO.mbrDvCd}"/>','<spring:message code='success.common.insert'/>'); return false;">등록하기</button>
|
||||
</div>
|
||||
<input type="hidden" id="adresDv" name="adresDv">
|
||||
<input type="hidden" id="dlvyMbrInnb" name="mbrInnb" value="<c:out value="${crmDlvylcVO.mbrInnb}"/>">
|
||||
<input type="hidden" id="dlvyMbrDvCd" name="mbrDvCd" value="<c:out value="${crmDlvylcVO.mbrDvCd}"/>">
|
||||
<input type="hidden" id="isPop">
|
||||
</form>
|
||||
</div>
|
||||
@@ -0,0 +1,81 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%--
|
||||
Class Name : DlvylcUpdtPopupU.jsp
|
||||
Description : 배송지 수정 popup jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
since : 2023.11.28 김혜인 최초 생성
|
||||
--%>
|
||||
<!-- 배송지 모달 -->
|
||||
<!-- 배송지 수정-->
|
||||
<div id="dlvylcUpdate" class="modal" style="max-width: 480px;">
|
||||
<form id="dlvylcUpdtForm" name="dlvylcUpdtForm" action="<c:url value=" /crm/dlvylc/updateDlvylcUpdt" />" method="post">
|
||||
<div class="modal-header">
|
||||
<h4>배송지 수정</h4>
|
||||
</div>
|
||||
<div class="modal-content">
|
||||
<div class="input-mobile-item">
|
||||
<div class="input-mobile-item__title">배송지명 <span class="red-7">*</span></div>
|
||||
<input name="dlvylcDcCn" type="text" class="input-text full" title="배송지명"
|
||||
value="<c:out value = "${dtlDlvylc.resultVO.dlvylcDcCn}" />" maxlength="67"/>
|
||||
</div>
|
||||
<div class="input-mobile-item">
|
||||
<div class="input-mobile-item__title">받으시는 분<span class="red-7">*</span></div>
|
||||
<input type="text" class="input-text full" title="받으시는 분" name="recpntNm"
|
||||
value="<c:out value = "${dtlDlvylc.resultVO.recpntNm}" />" maxlength="13">
|
||||
</div>
|
||||
<div class="input-mobile-item">
|
||||
<div class="input-mobile-item__title">배송지 주소<span class="red-7">*</span></div>
|
||||
<input id="zip" name="zip" type="text" class="input-text" title="우편번호"
|
||||
value="<c:out value = "${dtlDlvylc.resultVO.zip}"/>" maxlength="5" readonly/>
|
||||
|
||||
<button type="button" onclick="fn_select_postcode(fn_select_dlvylc_postcode); return false;" class="btn dark find-address">우편번호 찾기</button>
|
||||
|
||||
<input id="adres" name="adres" type="text" class="input-text full my-6" title="주소"
|
||||
value=<c:choose>
|
||||
<c:when test = "${dtlDlvylc.resultVO.adresDv eq '01'}">'<c:out value = "${dtlDlvylc.resultVO.rnmAdres}"/>'</c:when>
|
||||
<c:when test = "${dtlDlvylc.resultVO.adresDv eq '02'}">'<c:out value = "${dtlDlvylc.resultVO.lnbAdres}"/>'</c:when>
|
||||
</c:choose>
|
||||
maxlength="66" readonly>
|
||||
<input id="dtlAdres" name="dtlAdres" type="text" class="input-text full" placeholder="나머지 주소를 입력해 주세요" title="상세주소"
|
||||
value="<c:out value = '${dtlDlvylc.resultVO.dtlAdres}'/>" maxlength="66" />
|
||||
</div>
|
||||
<div class="input-mobile-item">
|
||||
<div class="input-mobile-item__title">휴대전화번호<span class="red-7">*</span></div>
|
||||
<input type="text" class="input-text telno md telno" placeholder="휴대폰번호('-'없이 입력)" title="휴대전화 번호" name="mbtlnb"
|
||||
value="<c:out value = "${dtlDlvylc.resultVO.mbtlnb}"/>" maxlength="13" >
|
||||
</div>
|
||||
<div class="b-checkbox-container default-address-check">
|
||||
<label class="b-checkbox checkbox" id = "dftDlvylcAtLabel">
|
||||
<c:choose>
|
||||
<c:when test="${dtlDlvylc.resultVO.dftDlvylcAt eq 'Y'}">
|
||||
<input type="checkbox" id="dftDlvylcAt" name="dftDlvylcAt" value="Y" checked>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<input type="checkbox" id="dftDlvylcAt" name="dftDlvylcAt" value="Y">
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<span class="check"></span>
|
||||
<span class="control-label">기본 배송지</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#" rel="modal:close" class="btn outline">취소</a>
|
||||
<button type="button" id="DlvylcUpdateBtn" class="btn primary" onclick="fn_update_dlvylc('1','<spring:message code="success.common.update"/>','<c:out value = '${dtlDlvylc.resultVO.mbrInnb}'/>','<c:out value = "${dtlDlvylc.resultVO.mbrDvCd}" />');return false;">
|
||||
<spring:message code="button.update" />하기
|
||||
</button>
|
||||
</div>
|
||||
<input type="hidden" id="mbrInnb" name="mbrInnb" value="<c:out value = "${dtlDlvylc.resultVO.mbrInnb}" />">
|
||||
<input type="hidden" id="mbrDvCd" name="mbrDvCd" value="<c:out value = "${dtlDlvylc.resultVO.mbrDvCd}" />">
|
||||
<input type="hidden" id="adbkInnb" name="adbkInnb" value="<c:out value = "${dtlDlvylc.resultVO.adbkInnb}" />">
|
||||
<input type="hidden" id="adresDv" name="adresDv" value="<c:out value = "${dtlDlvylc.resultVO.adresDv}"/>">
|
||||
<input type="hidden" id="isPop">
|
||||
</form>
|
||||
</div>
|
||||
@@ -0,0 +1,78 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%--
|
||||
Class Name : MbrDlvylcListInqireR.jsp
|
||||
Description : 자주쓰는 배송지 틀 jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
since : 2023.11.28 김혜인 최초 생성
|
||||
2023.12.19 김혜인 수정
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<%@include file ="/WEB-INF/views/comm/crm/Include.jsp" %>
|
||||
<script src="<c:url value='/mngr/js/crm/dlvylc/dlvylc.js'/>"></script>
|
||||
<script>
|
||||
<%--처음 화면 조회시 자주쓰는 배송지 클릭 --%>
|
||||
$(document).ready(function(){
|
||||
//crm 정보 조회
|
||||
if ($("#mbrTyCd").val() === '01') {
|
||||
fn_get_crm_info($("#leftMbrInnb").val(), $("#leftMbrDvCd").val());
|
||||
} else {
|
||||
fn_get_crm_info_nmbr($("#leftMbtlnb").val());
|
||||
$("#nmbrMbtlnb").text(fn_format_mbtlnb($("#nmbrMbtlnb").text()));
|
||||
}
|
||||
$("#rpuseDlvylcBtn").addClass("current");
|
||||
fn_select_rpuseDlvylcList(1)
|
||||
|
||||
fn_add_crm_menu_class("leftMbrDlvy");
|
||||
|
||||
$(".tab-box__btn").on("click",function(){
|
||||
$(".tab-box__btn").not($(this)).removeClass("current");
|
||||
$(".box__content").not($(this)).removeClass("current");
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<%-- 상단메뉴 공통화 적용 : 2024-01-25/ 김혜인 추가 --%>
|
||||
<%@include file="/WEB-INF/views/comm/crm/Header.jsp" %>
|
||||
<main class="main">
|
||||
<%-- 좌측메뉴 공통화 적용 :2024-01-25/ 김혜인 추가 --%>
|
||||
<%@include file="/WEB-INF/views/comm/crm/Left.jsp" %>
|
||||
<div class="content">
|
||||
<div class="content__inner">
|
||||
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
|
||||
<div class="page-title">
|
||||
<h2 class="page-title__title">회원 배송지 목록</h2>
|
||||
<div class="page-title__btn-container">
|
||||
</div>
|
||||
</div>
|
||||
<section class="content-section">
|
||||
<div class="tab-box">
|
||||
<button class="tab-box__btn" id="rpuseDlvylcBtn" onclick="fn_select_rpuseDlvylcList(1)">자주쓰는 배송지
|
||||
</button>
|
||||
<button class="tab-box__btn" id="resentDlvylcBtn" onclick="fn_select_recentDlvylcList(1)">최근 배송지
|
||||
</button>
|
||||
</div>
|
||||
<div class="tab-box__content" id="rpuseDlvylcContent">
|
||||
</div>
|
||||
<div class="tab-box__content" id="resentDlvylcContent">
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<%-- 좌측메뉴 공통화 적용 :2024-01-25/ 김혜인 추가 --%>
|
||||
<%@include file="/WEB-INF/views/comm/crm/Right.jsp" %>
|
||||
</div>
|
||||
</main>
|
||||
<div id="modalDiv">
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,114 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%--
|
||||
Class Name : RecentDlvylcListInqireR.jsp
|
||||
Description : 최근 배송지 조회 jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
since : 2023.11.28 김혜인 최초 생성
|
||||
--%>
|
||||
<!--최근 배송지 -->
|
||||
<form id="resentDlvylcForm">
|
||||
<div class="form-control-container">
|
||||
<div class="left">
|
||||
</div>
|
||||
<div class="center">
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="select-box">
|
||||
<select title="정렬순서" id = "recentDlvylcOrdering"
|
||||
onchange = "fn_select_recentDlvylcList(1,this.value)">
|
||||
<option value="recentRegist" <c:if test="${ordering eq 'recentRegist'}">selected="selected"</c:if>>최근등록순</option>
|
||||
<option value="recpntNmUp" <c:if test="${ordering eq 'recpntNmUp'}">selected="selected"</c:if>>받는분↑</option>
|
||||
<option value="recpntNmUpDwn" <c:if test="${ordering eq 'recpntNmUpDwn'}">selected="selected"</c:if>>받는분↓</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select id="recentId" onchange="fn_select_recentDlvylcList(1)">
|
||||
<c:forEach items="${ resultMap.paginationInfo.pageUnitArr }" var="pageUnit" varStatus="pageUnitStatus">
|
||||
<option value="<c:out value="${ pageUnit }"/>" <c:if test="${ resultMap.paginationInfo.recordCountPerPage eq pageUnit}">selected="selected"</c:if>><c:out value="${ pageUnit }"/>개씩</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="horizontal-line">
|
||||
<hr class="spacing">
|
||||
<div class="table-wrapper">
|
||||
<input type="hidden" id="recentPageIndex" name="pageIndex" value="1" />
|
||||
<table id="recentDlvylcTable" class="table vertical">
|
||||
<caption>자주쓰는 배송지</caption>
|
||||
<colgroup>
|
||||
<col style="width: 18%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 18%;">
|
||||
<col style="width: 18%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>받는분</th>
|
||||
<th>주소</th>
|
||||
<th>연락처</th>
|
||||
<th>관리</th>
|
||||
</tr>
|
||||
<c:choose>
|
||||
<c:when test="${not empty resultMap.resultList}">
|
||||
<c:forEach var="recentMap" items="${resultMap.resultList}" varStatus="status">
|
||||
<tr>
|
||||
<td>
|
||||
<span class ="mr-5"><c:out value="${recentMap.recpntNm}"/></span>
|
||||
</td>
|
||||
<td class="left">
|
||||
<span class ="mr-5">(<c:out value="${recentMap.dlvylcZip}"/>)</span>
|
||||
<c:choose>
|
||||
<c:when test="${recentMap.dlvylcAdresDvCd eq '01'}">
|
||||
<input type ="hidden" name = "adres" value="<c:out value="${recentMap.dlvylcRnmAdres}"/>">
|
||||
<input type ="hidden" name = "dlvylcAdresDvCd" value="<c:out value="${recentMap.dlvylcAdresDvCd}"/>">
|
||||
<span class ="mr-5"><c:out value="${recentMap.dlvylcRnmAdres }" /></span>
|
||||
</c:when>
|
||||
<c:when test ="${recentMap.dlvylcAdresDvCd eq '02'}">
|
||||
<input type ="hidden" name = "adres" value="<c:out value="${recentMap.dlvylcLnbAdres}"/>">
|
||||
<input type ="hidden" name = "dlvylcAdresDvCd" value="<c:out value="${recentMap.dlvylcAdresDvCd}"/>">
|
||||
<span class ="mr-5"><c:out value="${recentMap.dlvylcLnbAdres}"/></span>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<span class ="mr-5"><c:out value="${recentMap.dlvylcAdresDtl}"/></span>
|
||||
</td>
|
||||
<td>
|
||||
<span class ="mr-5 recentMbtlnb"><c:out value="${recentMap.recpntMbtlnb }"/></span>
|
||||
</td>
|
||||
<td>
|
||||
<button type="button" id="repuseDlvylcRegist" class=" btn xsm outline" onclick="fn_move_repuseDlvylc('<spring:message code='success.common.insert'/>',this);">
|
||||
자주쓰는 배송지
|
||||
</button>
|
||||
</td>
|
||||
<%-- 자주쓰는 배송지 정보--%>
|
||||
<input type = "hidden" name = "recpntNm" value ="<c:out value='${recentMap.recpntNm }' />">
|
||||
<input type = "hidden" name = "dlvylcZip" value ="<c:out value='${recentMap.dlvylcZip}' />"/>
|
||||
<input type = "hidden" name = "dlvylcAdresDtl" value ="<c:out value='${recentMap.dlvylcAdresDtl }' />" >
|
||||
<input type = "hidden" name = "recpntMbtlnb" value ="<c:out value='${recentMap.recpntMbtlnb }' />">
|
||||
<input type = "hidden" name = "recentMbrDvCd" value ="<c:out value='${recentMap.mbrDvCd }' />">
|
||||
<input type = "hidden" name = "recentMbrInnb" value ="<c:out value='${recentMap.mbrInnb }' />">
|
||||
<input type = "hidden" name = "dlvylcDcCn" value ="<c:out value='${recentMap.recpntNm }'/>" id="dlvylcDcCn"/>
|
||||
<input type = "hidden" name = "recentDlvylcAt" value ="Y"/>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr>
|
||||
<td colspan="4">조회된 데이터가 없습니다 </td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="pagination__container mt-30">
|
||||
<ui:pagination paginationInfo="${resultMap.paginationInfo}" type="image" jsFunction="fn_select_recentDlvylcList" />
|
||||
</div>
|
||||
</form>
|
||||
@@ -0,0 +1,128 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%--
|
||||
Class Name : RpuseDlvylcListInqireR.jsp
|
||||
Description : 자주쓰는 배송지 내용.jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
since : 2023.11.28 김혜인 최초 생성
|
||||
--%>
|
||||
<!--자주사용하는 배송지 -->
|
||||
<div class="form-control-container">
|
||||
<div class="left">
|
||||
</div>
|
||||
<div class="center">
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="select-box">
|
||||
<select id = "rpuseSelect" onchange="fn_select_rpuseDlvylcList(1)">
|
||||
<c:forEach items="${ resultMap.paginationInfo.pageUnitArr }" var="pageUnit" varStatus="pageUnitStatus">
|
||||
<option value="<c:out value="${ pageUnit }"/>" <c:if test="${ resultMap.paginationInfo.recordCountPerPage eq pageUnit}">selected="selected"</c:if>><c:out value="${ pageUnit }"/>개씩</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="horizontal-line">
|
||||
<hr class="spacing">
|
||||
<div class="form-control-container mb-10">
|
||||
<div class="left"></div>
|
||||
<div class="center">
|
||||
</div>
|
||||
<div class="right">
|
||||
<button class="btn primary sm" id="insertDlvylcBtn"
|
||||
onclick="fn_move_dlvylc_regpage_pop('N','','',<c:if test = "${empty resultMap.resultList}">'Y'</c:if>); return false;">
|
||||
<spring:message code="button.insert"/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<form id="rpuseDlvylcForm" >
|
||||
<div class="table-wrapper">
|
||||
<table class="table vertical">
|
||||
<caption>자주쓰는 배송지</caption>
|
||||
<colgroup>
|
||||
<col style="width: 18%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 40%;">
|
||||
<col style="width: 18%;">
|
||||
<col style="width: 10%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>배송지명</th>
|
||||
<th>받는분</th>
|
||||
<th>주소</th>
|
||||
<th>연락처</th>
|
||||
<th>관리</th>
|
||||
</tr>
|
||||
<c:choose>
|
||||
<c:when test="${not empty resultMap.resultList}">
|
||||
<c:forEach var="resultRuseList" items="${resultMap.resultList}" varStatus="loop">
|
||||
<tr>
|
||||
<td>
|
||||
<span>
|
||||
<c:out value="${resultRuseList.dlvylcDcCn }" />
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<span>
|
||||
<c:out value="${resultRuseList.recpntNm }" />
|
||||
</span>
|
||||
</td>
|
||||
<td class ="left">
|
||||
<span>
|
||||
(<c:out value="${resultRuseList.zip}" />)
|
||||
<c:choose>
|
||||
<c:when test="${resultRuseList.adresDv eq '01'}">
|
||||
<c:out value="${resultRuseList.rnmAdres }" />
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:out value="${resultRuseList.lnbAdres}" />
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<c:out value="${resultRuseList.dtlAdres }" />
|
||||
</span>
|
||||
<c:if test = "${resultRuseList.dftDlvylcAt == 'Y'}">
|
||||
<span class="default-address left">기본</span>
|
||||
</c:if>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<span class = "mbtlnb">
|
||||
<c:out value="${resultRuseList.mbtlnb }"/>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<button type="button" id="selectDlvylcUpdtPopupForm" class="btn xsm dark"
|
||||
onclick="fn_move_dlvylc_uptpage_pop(<c:out value="${pageIndex}" />,<c:out value=" ${resultRuseList.adbkInnb}"/>,'N','<c:out value="${mbrInnb}"/>','<c:out value="${mbrDvCd}"/>')">
|
||||
<spring:message code="button.update" />
|
||||
</button>
|
||||
<c:if test="${resultRuseList.dftDlvylcAt eq 'N'}">
|
||||
<button type="button" id="deleteDlvylcDel" class="btn xsm primary outline"
|
||||
onclick="fn_delete_dlvylc('<spring:message code="success.common.delete"/>','<c:out value=" ${resultRuseList.adbkInnb}" />','N','<c:out value="${mbrInnb}"/>','<c:out value="${mbrDvCd}"/>')">
|
||||
<spring:message code="button.delete" />
|
||||
</button>
|
||||
</c:if>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr>
|
||||
<td colspan="4">조회된 데이터가 없습니다 </td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<input type="hidden" id="rpusePageIndex" name="pageIndex" value="1" />
|
||||
<div class="pagination__container mt-30">
|
||||
<ui:pagination paginationInfo="${resultMap.paginationInfo}" type="image" jsFunction="fn_select_rpuseDlvylcList" />
|
||||
</div>
|
||||
</form>
|
||||
251
src/main/webapp/WEB-INF/views/crm/main/CrmMainPgeR.jsp
Normal file
251
src/main/webapp/WEB-INF/views/crm/main/CrmMainPgeR.jsp
Normal file
@@ -0,0 +1,251 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Include.jsp"%>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
// 주문정보로 고객찾기 이벤트
|
||||
fn_ordr_srch_event();
|
||||
|
||||
let record_key = '<c:out value="${ mainVO.record_key }"/>';
|
||||
|
||||
|
||||
let srchKey = $('input[name="srchKyword"]').val();
|
||||
|
||||
if (srchKey) {
|
||||
$('#srchBtn').click();
|
||||
}
|
||||
|
||||
/*
|
||||
* 팝업 닫기 이벤트
|
||||
*/
|
||||
$(document).on('click', '.close-modal, .btn-close-modal', function() {
|
||||
$('#crmSearchOrdrPopup, #crmSearchPopup').remove();
|
||||
});
|
||||
|
||||
// fn_get_cti(); TODO : S 폰 테스트 필요
|
||||
});
|
||||
|
||||
/******************************************************
|
||||
* cti 호출
|
||||
*******************************************************/
|
||||
const fn_get_cti = function() {
|
||||
const url = '<c:url value="/crm/main/selectCrmCtiUnion"/>';
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: url,
|
||||
success: function (data) {
|
||||
$('#ctiDiv').empty();
|
||||
$('#ctiDiv').html(data);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/******************************************************
|
||||
* 주문정보로 고객찾기 이벤트
|
||||
*******************************************************/
|
||||
const fn_ordr_srch_event = function () {
|
||||
/*
|
||||
* 검색조건 > 날짜 구간 버튼 클릭 이벤트
|
||||
*/
|
||||
$(document).on('click', '.dateRange-btn', function() {
|
||||
const date = $(this).attr('id');
|
||||
|
||||
if ('allDays' === date) {
|
||||
$('#srchStartDate, #srchEndDate').val('');
|
||||
|
||||
$('#srchDatePeriod').val(date);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
fn_set_date('srchStartDate', 'srchEndDate', 'srchEndDate', date);
|
||||
|
||||
$('#srchDatePeriod').val(date);
|
||||
|
||||
$(this).closest('div').find('.dateRange-btn').removeClass('selected')
|
||||
$(this).addClass('selected')
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
/*
|
||||
* 검색조건 > 주문상태 전체 체크박스 클릭 이벤트
|
||||
*/
|
||||
$(document).on('click', '.check_all_setle', function() {
|
||||
let checkbox = $(this).closest('td').find('input[name="setleMthCds"]');
|
||||
|
||||
$(checkbox).prop('checked', false);
|
||||
$(checkbox).prop('checked', $(this).is(':checked'));
|
||||
});
|
||||
|
||||
/*
|
||||
* 검색조건 > 결제유형 체크박스 클릭 이벤트
|
||||
*/
|
||||
$(document).on('change', '.check_setle_mth_cd', function() {
|
||||
let td = $(this).closest('td');
|
||||
|
||||
const checboxCnt = $(td).find('input[name="setleMthCds"]').length;
|
||||
const checedCnt = $(td).find('input[name="setleMthCds"]:checked').length;
|
||||
|
||||
$(td).find('.check_all_setle').prop('checked', checboxCnt === checedCnt);
|
||||
});
|
||||
|
||||
/*
|
||||
* 검색조건 > 결제유형 전체 체크박스 클릭 이벤트
|
||||
*/
|
||||
$(document).on('click', '.check_all_item', function() {
|
||||
let checkbox = $(this).closest('td').find('input[name="srchOrdrSttusCds"]');
|
||||
|
||||
$(checkbox).prop('checked', false);
|
||||
$(checkbox).prop('checked', $(this).is(':checked'));
|
||||
});
|
||||
|
||||
/*
|
||||
* 검색조건 > 주문상태 체크박스 클릭 이벤트
|
||||
*/
|
||||
$(document).on('change', '.check_ordr_sttus_cd', function() {
|
||||
let td = $(this).closest('td');
|
||||
|
||||
const checboxCnt = $(td).find('input[name="srchOrdrSttusCds"]').length;
|
||||
const checedCnt = $(td).find('input[name="srchOrdrSttusCds"]:checked').length;
|
||||
|
||||
$(td).find('.check_all_item').prop('checked', checboxCnt === checedCnt);
|
||||
});
|
||||
|
||||
/*
|
||||
* 검색조건 > 초기화 버튼 클릭 이벤트
|
||||
*/
|
||||
$(document).on('click', '#btnResetForm', function() {
|
||||
fn_reset_form('search-section');
|
||||
|
||||
$('#7D').trigger("click"); // 날짜 설정
|
||||
|
||||
$('#srchwrdDv option:eq(0)').prop('selected', true);
|
||||
$('#srchwrdDv').niceSelect('update');
|
||||
|
||||
$('#srchDateDv option:eq(0)').prop('selected', true);
|
||||
$('#srchDateDv').niceSelect('update');
|
||||
|
||||
$('input[name="srchOrdrSttusCds"][value="15"]').prop('checked', true);
|
||||
$('input[name="srchOrdrSttusCds"][value="25"]').prop('checked', true);
|
||||
});
|
||||
|
||||
/*
|
||||
* 검색조건 > 검색 버튼 선택 이벤트
|
||||
*/
|
||||
$(document).on('click', '#btnSearch', function() {
|
||||
fn_get_ordr_list(1);
|
||||
});
|
||||
|
||||
/*
|
||||
* 주문번호 선택 이벤트
|
||||
*/
|
||||
$(document).on('click', '#btnOrdrDtl', function() {
|
||||
const td = $(this).closest('td');
|
||||
|
||||
const sopmalCd = $(td).find('.sopmalCd').val();
|
||||
const ordrInnb = $(td).find('.ordrInnb').val();
|
||||
|
||||
let form = $('<form></form>');
|
||||
|
||||
$(form).append($('<input/>', {type: 'hidden', name: 'sopmalCd', value: sopmalCd}));
|
||||
$(form).append($('<input/>', {type: 'hidden', name: 'ordrInnb', value: ordrInnb}));
|
||||
|
||||
$(form).attr('target', '_blank');
|
||||
$(form).attr('method', 'post');
|
||||
$(form).attr('action', '<c:url value="/mngr/ordr/ordrmngr/selectOrdrDtlInqire"/>');
|
||||
|
||||
$(form).appendTo('body');
|
||||
$(form).submit();
|
||||
$(form).remove();
|
||||
});
|
||||
}
|
||||
|
||||
/* 주문검색 화면 이동 */
|
||||
const fn_go_ordr_srch_modal = function() {
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '<c:url value="/crm/main/selectCrmOrdrSrchPopupForm"/>',
|
||||
data: {
|
||||
'sopmalCd': $('#sopmalCd').val()
|
||||
},
|
||||
success: function (html) {
|
||||
$('#crmSearchOrdrPopup').remove();
|
||||
|
||||
$('#popupDiv').html(html);
|
||||
|
||||
const popup = $('#crmSearchOrdrPopup');
|
||||
|
||||
$(popup).modal();
|
||||
|
||||
$(popup).find('table .select-box select').niceSelect();
|
||||
|
||||
fn_set_datepicker($(popup).find('.datepicker'));
|
||||
|
||||
$('#btnResetForm').trigger('click');
|
||||
|
||||
fn_get_ordr_list(1);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/* 전체주문 목록 조회 */
|
||||
const fn_get_ordr_list = function(pageIndex) {
|
||||
$('#pageIndex').val(pageIndex);
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '<c:url value="/crm/main/selectCrmOrdrSrch"/>',
|
||||
data: $('#condForm').serialize(),
|
||||
success: function (html) {
|
||||
$('#pageDiv').html(html);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Header.jsp"%>
|
||||
<main class="main">
|
||||
<div class="content">
|
||||
<div class="crmMain-search">
|
||||
<div class="crmMain-search__top">
|
||||
<p class="crmMain-search__description">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" fill="none">
|
||||
<path d="M30.7748 29.1469L23.2619 21.2259C25.1936 18.898 26.252 15.9691 26.252 12.92C26.252 5.79602 20.5345 0 13.507 0C6.47948 0 0.761963 5.79602 0.761963 12.92C0.761963 20.044 6.47948 25.84 13.507 25.84C16.1452 25.84 18.6593 25.0333 20.8087 23.502L28.3787 31.4832C28.6951 31.8163 29.1207 32 29.5768 32C30.0084 32 30.4179 31.8332 30.7288 31.5298C31.3893 30.8855 31.4104 29.8171 30.7748 29.1469ZM13.507 3.37043C18.7014 3.37043 22.9272 7.65425 22.9272 12.92C22.9272 18.1857 18.7014 22.4695 13.507 22.4695C8.31255 22.4695 4.08675 18.1857 4.08675 12.92C4.08675 7.65425 8.31255 3.37043 13.507 3.37043Z" fill="#666968" />
|
||||
</svg>
|
||||
고객님을 검색해주세요.
|
||||
</p>
|
||||
</div>
|
||||
<div class="crmMain-search__bottom">
|
||||
<a class="crmMain-search__btn" id="mbrSrch" onclick="fn_open_modal('#popupDiv', '#crmSearchPopup', '<c:url value="/crm/main/selectCrmMbrSrchForm"/>', '')" style="cursor: pointer">회원정보로 고객찾기</a>
|
||||
<a class="crmMain-search__btn" onclick="fn_go_ordr_srch_modal()" style="cursor: pointer">주문정보로 고객찾기</a>
|
||||
<a class="crmMain-search__btn" onclick="window.open('/crm/main/callCenterCnncButton'); return false;" style="cursor: pointer" id="ctiBtn">콜센터 창으로 연결</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="content__inner">
|
||||
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div id="ctiDiv">
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
113
src/main/webapp/WEB-INF/views/crm/main/CrmMbrSrchPopupR.jsp
Normal file
113
src/main/webapp/WEB-INF/views/crm/main/CrmMbrSrchPopupR.jsp
Normal file
@@ -0,0 +1,113 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||||
<!-- 회원 검색 모달 -->
|
||||
<div class="form-control-container">
|
||||
<div class="left">
|
||||
<div class="search-number">
|
||||
<span class="search-number__text">총 <strong><c:out value="${ resultMap.paginationInfo.totalRecordCount }"/></strong>건</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="center">
|
||||
</div>
|
||||
<div class="right">
|
||||
</div>
|
||||
</div>
|
||||
<hr class="spacing">
|
||||
<div class="table-wrapper">
|
||||
<table class="table vertical tight">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 7%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 22%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 7%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>번호</th>
|
||||
<th>등급</th>
|
||||
<th>아이디</th>
|
||||
<th>이름(닉네임)</th>
|
||||
<th>이메일</th>
|
||||
<th>핸드폰</th>
|
||||
<th>CRM</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<input type="hidden" id="totCnt" value="<c:out value="${ resultMap.paginationInfo.totalRecordCount }"/>"/>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.resultList && fn:length(resultMap.resultList) > 0 }">
|
||||
<c:forEach items="${ resultMap.resultList }" var="mbrList" varStatus="status">
|
||||
<tr>
|
||||
<td><c:out value="${ resultMap.paginationInfo.totalRecordCount - mbrList.rnum + 1 }" /></td>
|
||||
<td>
|
||||
<c:out value="${ mbrList.mbrGradNm }"/>
|
||||
<input type="hidden" name="oneMbrInnb" value="<c:out value="${ mbrList.mbrInnb }"/>"/>
|
||||
<input type="hidden" name="oneMbrDvCD" value="<c:out value="${ mbrList.mbrDvCd }"/>"/>
|
||||
</td>
|
||||
<td>
|
||||
<button type="button" class="blue-7" onclick="fn_move_crm_cnslt('<c:out value="${ mbrList.mbrInnb }"/>', '<c:out value="${ mbrList.mbrDvCd }"/>', '<c:out value="${ cnsltVO.customer_record_key }"/>',${mbrList.joinMthCd});">
|
||||
<c:choose>
|
||||
<c:when test="${mbrList.joinMthCd eq 'kakao'}"><%--kakao--%>
|
||||
<i class="icon icon_word-badge_kakao"></i>
|
||||
</c:when>
|
||||
<c:when test="${mbrList.joinMthCd eq 'naver'}"><%--naver--%>
|
||||
<i class="icon icon_word-badge_naver"></i>
|
||||
</c:when>
|
||||
<c:when test="${mbrList.joinMthCd eq 'pos'}"><%--pos--%>
|
||||
<i class="icon icon_word-badge_pos"></i><c:out value="${mbrList.mbrId}"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:out value="${mbrList.mbrId}"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<c:if test="${mbrList.appnDvCd eq '02'}">
|
||||
<span class="black-list">
|
||||
B<span class="visually-hidden">블랙리스트</span>
|
||||
</span>
|
||||
</c:if>
|
||||
<c:if test="${mbrList.appnDvCd eq '03'}">
|
||||
<span class="white-list">
|
||||
W<span class="visually-hidden">화이트리스트</span>
|
||||
</span>
|
||||
</c:if>
|
||||
</button>
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${ mbrList.mbrNm }"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${ mbrList.maskingEmail}"/>
|
||||
</td>
|
||||
<td><span class="mbtlnb"><c:out value="${ mbrList.mbtlnb }"/></span>
|
||||
</td>
|
||||
<td>
|
||||
<div class="manage-btn-container">
|
||||
<button type="button" class="btn xsm outline" onclick="fn_move_crm_cnslt('<c:out value="${ mbrList.mbrInnb }"/>', '<c:out value="${ mbrList.mbrDvCd }"/>', '<c:out value="${ cnsltVO.customer_record_key }"/>');">CRM</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr>
|
||||
<td colspan="100%" ><spring:message code="common.nodata"/></td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="pagination__container">
|
||||
<ui:pagination paginationInfo="${resultMap.paginationInfo}" type="image" jsFunction="fn_select_crm_mbr_list" />
|
||||
</div>
|
||||
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||||
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#listForm').on('keydown', function(e) {
|
||||
if (e.keyCode == 13) {
|
||||
e.preventDefault();
|
||||
$('#searchBtn').trigger("click");
|
||||
}
|
||||
});
|
||||
|
||||
let pageIndex = '<c:out value="${ resultMap.paramVO.pageIndex }"/>';
|
||||
let pageUnit = '<c:out value="${ resultMap.paramVO.pageUnit }"/>';
|
||||
let srchKywordDv = '<c:out value="${ resultMap.paramVO.srchKywordDv }"/>';
|
||||
let srchKyword = '<c:out value="${ resultMap.paramVO.srchKyword }"/>';
|
||||
|
||||
|
||||
|
||||
fn_select_crm_mbr_list(pageIndex, pageUnit, srchKywordDv, srchKyword); // header(code110)
|
||||
|
||||
|
||||
let key = '<c:out value="${ cnsltVO.record_key }"/>';
|
||||
|
||||
|
||||
|
||||
$("#popSrchKyword").on('keydown', function (event) {
|
||||
if (event.keyCode === 13) {
|
||||
event.preventDefault();
|
||||
fn_select_crm_mbr_list(1);// header(code110)
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<!-- 회원 검색 모달 -->
|
||||
<div id="crmSearchPopup" class="modal" style="max-width: 1400px;">
|
||||
<div class="modal-header">
|
||||
<h4>회원 검색</h4>
|
||||
</div>
|
||||
<div class="modal-content" style="height: 500px;">
|
||||
<form id="mbrSrchForm">
|
||||
<input type="hidden" id="mbrInnb" name="mbrInnb" value=""/>
|
||||
<input type="hidden" id="mbrDvCd" name="mbrDvCd" value=""/>
|
||||
<input type="hidden" id="mbrPopPageIndex" name="pageIndex" value="1"/>
|
||||
<input type="hidden" id="recordCountPerPage" name="recordCountPerPage" value="<c:out value="${ resultMap.paramVO.recordCountPerPage }"/>"/>
|
||||
<input type="hidden" id="sopmalCd" name="sopmalCd" value="${cnsltVO.sopmalCd}"/>
|
||||
<input type="hidden" id="ctiAt" name="ctiAt" value="${cnsltVO.ctiAt}"/>
|
||||
<input type="hidden" id="customer_record_key" name="customer_record_key" value=""/>
|
||||
<div class="modal-search-area">
|
||||
<div class="modal-searchBar">
|
||||
<div class="modal-searchBar__inner">
|
||||
<div class="modal-searchBar__select">
|
||||
<select id="popSrchKywordDv" name="srchKywordDv" title="검색어 구분">
|
||||
<option value="phone" selected>휴대전화</option>
|
||||
<option value="name">이름</option>
|
||||
<option value="id">아이디</option>
|
||||
<option value="email">이메일</option>
|
||||
</select>
|
||||
</div>
|
||||
<input class="modal-searchBar__input" type="text" id="popSrchKyword" name="srchKyword" title="검색어 입력" placeholder="검색어를 입력하세요">
|
||||
<button class="modal-searchBar__btn" type="button" id="searchBtn" onclick="fn_select_crm_mbr_list(1); return false;"><span class="visually-hidden">검색</span></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="mbrPageDiv"></div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#" rel="modal:close" class="btn outline btn-close-modal">닫기</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
238
src/main/webapp/WEB-INF/views/crm/main/CrmOrdrSrchPopupR.jsp
Normal file
238
src/main/webapp/WEB-INF/views/crm/main/CrmOrdrSrchPopupR.jsp
Normal file
@@ -0,0 +1,238 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
|
||||
|
||||
<%--
|
||||
Class Name : CrmOrdrSrchPopupR.jsp
|
||||
Description : CRM 주문 목록
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
since : 2024.02.19 김혜인 최초 생성
|
||||
--%>
|
||||
|
||||
<section class="content-section">
|
||||
<div class="table-wrapper">
|
||||
<table class="table order-section vertical">
|
||||
<colgroup>
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 5%">
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: auto">
|
||||
<col style="width: 6%;">
|
||||
<%-- <col style="width: 6%;"> --%>
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 6%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>선택</th>
|
||||
<th>번호</th>
|
||||
<th>주문일시</th>
|
||||
<th>주문번호</th>
|
||||
<th>주문상품</th>
|
||||
<th>수(종)</th>
|
||||
<%-- <th>출고</th> --%>
|
||||
<th>받는분/주문자</th>
|
||||
<th>결제수단/일시</th>
|
||||
<th>결제금액</th>
|
||||
<th>처리상태</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:choose>
|
||||
<c:when test="${not empty resultMap.allOrdrList}">
|
||||
<c:set var="totalRow" value="${resultMap.paginationInfo.totalRecordCount - ((resultMap.paginationInfo.currentPageNo -1) * resultMap.paginationInfo.recordCountPerPage) + 2}"/>
|
||||
<c:forEach items="${resultMap.allOrdrList}" var="ordr" varStatus="status">
|
||||
<c:set var="totalRow" value="${totalRow - 1}"/>
|
||||
|
||||
<c:if test="${ordr.ordrSttusCd != resultMap.allOrdrList[status.index - 1].ordrSttusCd}">
|
||||
<tr class="order-section__header">
|
||||
<td colspan="11" class="order-search__tab-title">
|
||||
<div class="order-step__wrapper">
|
||||
<div class="order-step order-status-badge <c:choose><c:when test = "${ordr.ordrSttusCd eq '15'}">recept</c:when>
|
||||
<c:when test = "${ordr.ordrSttusCd eq '25'}">confirm</c:when>
|
||||
<c:when test = "${ordr.ordrSttusCd eq '35'}">prep</c:when>
|
||||
<c:when test = "${ordr.ordrSttusCd eq '50' || ordr.ordrSttusCd eq '55'}">export</c:when>
|
||||
<c:when test = "${ordr.ordrSttusCd > 84 && ordr.ordrSttusCd < 100}">gray</c:when>
|
||||
<c:when test = "${ordr.ordrSttusCd eq '60' || ordr.ordrSttusCd eq '65'}">delivery</c:when>
|
||||
<c:otherwise>complete</c:otherwise></c:choose>">
|
||||
<c:if test="${(ordr.ordrSttusCd > 14 && ordr.ordrSttusCd < 36) || (ordr.ordrSttusCd > 84 && ordr.ordrSttusCd < 100)}">(출고 전) </c:if>
|
||||
<c:if test="${ordr.ordrSttusCd > 59 && ordr.ordrSttusCd < 76}">(출고 후) </c:if>
|
||||
<em><c:out value="${ordr.ordrSttusNm}"/></em>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
<c:choose>
|
||||
<c:when test = "${ordr.blackDv eq 'B'}">
|
||||
<c:set var = "blackDv" value = "sendOut-info__reseller"/>
|
||||
</c:when>
|
||||
<c:when test = "${ordr.blackDv eq 'E'}">
|
||||
<c:set var = "blackDv" value = "sendOut-info__reseller_erp"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:set var = "blackDv" value = ""/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<tr class="${blackDv}">
|
||||
<td>
|
||||
<input type="hidden" class="mbrInnb" value="<c:out value="${ordr.mbrInnb}"/>"/>
|
||||
<input type="hidden" class="mbrDvCd" value="<c:out value="${ordr.mbrDvCd}"/>"/>
|
||||
<div class="manage-btn-container">
|
||||
<a href="javascript:void(0);" id="btnCrm" class="btn xsm gray">CRM</a>
|
||||
</div>
|
||||
</td>
|
||||
|
||||
<td><c:out value="${totalRow - 1}"/></td>
|
||||
<td><c:out value="${ordr.ordrRceptDt}"/></td>
|
||||
<td>
|
||||
<input type="hidden" class="sopmalCd" value="<c:out value="${ordr.sopmalCd}"/>"/>
|
||||
<input type="hidden" class="ordrInnb" value="<c:out value="${ordr.ordrInnb}"/>"/>
|
||||
<a id="btnOrdrDtl" class="under-line blue-7" href="javascript:void(0);"><c:out value="${ordr.ordrInnb}"/></a>
|
||||
</td>
|
||||
<td>
|
||||
<div class="order-section__product">
|
||||
<div class="order-section__product-info">
|
||||
<span class="order-section__product-productTitle"><c:out value="${ordr.goodsNm}"/></span>
|
||||
<span class="option-text"><span class="option-badge">옵션</span> <c:out value="${ordr.optns}"/></span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td><c:out value="${ordr.orderCnt += '(' += ordr.itemCnt += '종)'}"/></td>
|
||||
<%-- <td></td> --%>
|
||||
<td>
|
||||
<c:if test="${not empty ordr.recpntNm}">
|
||||
<span class="gray-12"><c:out value="${ordr.recpntNm}"/></span>
|
||||
<br/>
|
||||
</c:if>
|
||||
<c:choose>
|
||||
<c:when test="${not empty ordr.mbrId}">
|
||||
<span class="gray-12"><c:out value="${ordr.mbrNm}"/></span>
|
||||
(<span class="fw-500 blue-7"><c:out value="${ordr.mbrId}"/></span>/<span class="fw-500 green-8"><c:out value="${ordr.gradNm}"/></span>)
|
||||
<%-- <button type="button" class="mini-info-btn" data-info="info01">?</button> --%>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<span class="gray-12"><c:out value="${ordr.mbrNm += '(비회원)'}"/></span>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<c:if test="${not empty ordr.setlerNm}">
|
||||
<span class="${ordr.mbrNm == ordr.setlerNm ? 'stone-8' : 'blue-7'}"><c:out value="${ordr.setlerNm}"/></span>
|
||||
</c:if>
|
||||
|
||||
<c:if test="${not empty ordr.pgCmpnyNm}">
|
||||
<c:if test="${not empty ordr.setleTyCd && ordr.setleTyCd ne '02'}">
|
||||
<c:choose>
|
||||
<c:when test="${'npay' eq ordr.pgCmpnyNm}">
|
||||
<i class="icon icon_word-badge_naver"></i>
|
||||
</c:when>
|
||||
<c:when test="${'kcp' eq ordr.pgCmpnyNm}">
|
||||
<i class="icon icon_word-badge_kcp"></i>
|
||||
</c:when>
|
||||
<c:when test="${'pos' eq ordr.pgCmpnyNm}">
|
||||
<i class="icon icon_word-badge_pos"></i>
|
||||
</c:when>
|
||||
<c:when test="${'payco' eq ordr.pgCmpnyNm}">
|
||||
<i class="icon icon_word-badge_payco"></i>
|
||||
</c:when>
|
||||
<c:when test="${'tosspay' eq ordr.pgCmpnyNm}">
|
||||
<i class="icon icon_word-badge_toss"></i>
|
||||
</c:when>
|
||||
<c:when test="${'toss' eq ordr.pgCmpnyNm}">
|
||||
<i class="icon icon_word-badge_toss"></i>
|
||||
</c:when>
|
||||
<c:when test="${'gcpay' eq ordr.pgCmpnyNm}">
|
||||
<i class="icon icon_word-badge_gcpay"></i>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<span class="stone-8 fw-500">${ordr.pgCmpnyNm}</span>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:if>
|
||||
</c:if>
|
||||
|
||||
<c:if test="${not empty ordr.rcpmnyerNm}">
|
||||
<span class="blue-7"><c:out value="${ordr.rcpmnyerNm}"/></span>
|
||||
</c:if>
|
||||
|
||||
<c:if test="${not empty ordr.setleTyCd}">
|
||||
<c:choose>
|
||||
<c:when test="${'01' eq ordr.setleTyCd}"><!-- 카드 -->
|
||||
<i class="icon icon_word-badge04"></i>
|
||||
</c:when>
|
||||
<c:when test="${'02' eq ordr.setleTyCd}"><!-- 무통장 -->
|
||||
<i class="icon icon_word-badge03"></i>
|
||||
</c:when>
|
||||
<c:when test="${'03' eq ordr.setleTyCd}"><!-- 계좌 -->
|
||||
<i class="icon icon_word-badge13"></i>
|
||||
</c:when>
|
||||
<c:when test="${'04' eq ordr.setleTyCd}"><!-- 가상계좌 -->
|
||||
<i class="icon icon_word-badge06"></i>
|
||||
</c:when>
|
||||
<c:when test="${'05' eq ordr.setleTyCd}"><!-- 가상계좌 에스크로 -->
|
||||
<i class="icon icon_word-badge07"></i>
|
||||
</c:when>
|
||||
<c:when test="${'06' eq ordr.setleTyCd}"><!-- 가상계좌에스크로 -->
|
||||
<i class="icon icon_word-badge07"></i>
|
||||
</c:when>
|
||||
<c:when test="${'07' eq ordr.setleTyCd}"><!-- 핸드폰 -->
|
||||
<i class="icon icon_word-badge05"></i>
|
||||
</c:when>
|
||||
<c:when test="${'08' eq ordr.setleTyCd}"><!-- 마일리지 -->
|
||||
<i class="icon icon_word-badge12"></i>
|
||||
</c:when>
|
||||
<c:when test="${'09' eq ordr.setleTyCd}"><!-- 포스 -->
|
||||
<i class="icon icon_word-badge_pos"></i>
|
||||
</c:when>
|
||||
<c:when test="${'10' eq ordr.setleTyCd}"><!-- 페이코 -->
|
||||
<i class="icon icon_word-badge_payco"></i>
|
||||
</c:when>
|
||||
<c:when test="${'11' eq ordr.setleTyCd}"><!-- 복합 -->
|
||||
<i class="icon icon_word-badge14"></i>
|
||||
</c:when>
|
||||
<c:when test="${'12' eq ordr.setleTyCd}"><!-- 충전식마일리지 -->
|
||||
<i class="icon icon_word-badge16"></i>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
</c:if>
|
||||
|
||||
<c:if test="${not empty ordr.bnnkNm}">
|
||||
<span class="stone-8 fw-500"><c:out value="${ordr.bnnkNm}"/></span>
|
||||
</c:if>
|
||||
|
||||
<c:if test="${not empty ordr.setleDt}">
|
||||
<br/><span class="gray-12"><c:out value="${ordr.setleDt}"/></span>
|
||||
</c:if>
|
||||
</td>
|
||||
<td>${ordr.setleAmt}</td>
|
||||
<td><c:out value="${ordr.ordrSttusNm}"/></td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr>
|
||||
<td colspan="100%"><spring:message code="common.nodata"/></td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div class="pagination__container">
|
||||
<ui:pagination paginationInfo="${resultMap.paginationInfo}" type="image" jsFunction="fn_get_ordr_list"/>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
220
src/main/webapp/WEB-INF/views/crm/main/CrmOrdrSrchPopupRForm.jsp
Normal file
220
src/main/webapp/WEB-INF/views/crm/main/CrmOrdrSrchPopupRForm.jsp
Normal file
@@ -0,0 +1,220 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%--
|
||||
Class Name : CrmOrdrSrchPopupRForm.jsp
|
||||
Description : CRM 주문으로 검색
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
since : 2024.02.19 김혜인 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
</head>
|
||||
|
||||
<!-- 주문 검색 모달 -->
|
||||
<div id="crmSearchOrdrPopup" class="modal" style="max-width: 1200px;">
|
||||
<div class="modal-header">
|
||||
<h4>주문 검색</h4>
|
||||
</div>
|
||||
<div class="modal-content" style="height: 560px;">
|
||||
<p style="margin-bottom: 5px;">* 블랙리스트는 자사몰은 적색, 물류센터는 녹색으로 표시됩니다.</p>
|
||||
<form id="condForm">
|
||||
<input type="hidden" id="sopmalCd" name="sopmalCd" value="${cond.sopmalCd}"/>
|
||||
<input type="hidden" id="totalRecordCount" name="totalRecordCount" value=""/>
|
||||
<input type="hidden" id="totalPageCount" name="totalPageCount" value=""/>
|
||||
<input type="hidden" id="currentPageNo" name="currentPageNo" value=""/>
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value="1"/>
|
||||
<section>
|
||||
<div class="content-section">
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 23%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>검색어</th>
|
||||
<td colspan="4">
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select title="검색어 구분" name="srchwrdDv" id="srchwrdDv">
|
||||
<option value="ordrInnb">주문번호</option>
|
||||
<option value="ordrrTelnb">주문자휴대전화</option>
|
||||
<option value="naverPayOrdrInnb">네이버페이주문번호</option>
|
||||
<option value="kakaoPayOrdrInnb">카카오페이주문번호</option>
|
||||
<option value="ordrrNm">주문자명</option>
|
||||
<option value="rcpmnyerNm">입금자명</option>
|
||||
<option value="recpntNm">받는자명</option>
|
||||
<option value="recpntMbtlnb">받는자휴대전화번호</option>
|
||||
<option value="goodsNm">상품명</option>
|
||||
<option value="goodsInnb">상품번호</option>
|
||||
</select>
|
||||
</div>
|
||||
<input class="input-text xl" type="text" name="srchwrd" id="srchwrd" title="검색어" placeholder="검색어를 입력해 주십시요.">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>날짜</th>
|
||||
<td colspan="2">
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select name="srchDateDv" id="srchDateDv" title="일자구분" class="init">
|
||||
<option value="ordrDt" selected>주문일</option>
|
||||
<option value="rcpmnyDt">입금일</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input-container">
|
||||
<input type="text" name="srchStartDate" id="srchStartDate" class="datepicker" title="시작 날짜 선택" autocomplete="off">
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" name="srchEndDate" id="srchEndDate" class="datepicker" title="종료 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd">
|
||||
<input type="hidden" id="srchDatePeriod" name="srchDatePeriod" value=""/>
|
||||
</div>
|
||||
|
||||
<div class="dateRange-btnContainer">
|
||||
<button class="dateRange-btn" id="1D">어제</button>
|
||||
<button class="dateRange-btn" id="0">오늘</button>
|
||||
<button class="dateRange-btn" id="3D">3일간</button>
|
||||
<button class="dateRange-btn" id="7D">일주일</button>
|
||||
<button class="dateRange-btn" id="1M">1개월</button>
|
||||
<button class="dateRange-btn" id="3M">3개월</button>
|
||||
<button class="dateRange-btn" id="6M">6개월</button>
|
||||
<button class="dateRange-btn" id="1Y">1년</button>
|
||||
<button class="dateRange-btn" id="allDays">전체</button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>주문상태 (출고전)</th>
|
||||
<td colspan="4">
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container order-status-badge-container">
|
||||
<c:forEach items="${cond.ordrSttusCdList}" var="ordrSttusCd" varStatus="status">
|
||||
<c:if test="${(ordrSttusCd.cd > 14 && ordrSttusCd.cd < 36) || (ordrSttusCd.cd > 84 && ordrSttusCd.cd < 100)}">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" name="srchOrdrSttusCds" class="check_ordr_sttus_cd" value="${ordrSttusCd.cd}"/>
|
||||
<span class="check"></span>
|
||||
<span class="control-label">
|
||||
<c:choose>
|
||||
<c:when test="${ordrSttusCd.cd eq 15 }">
|
||||
<span class="order-status-badge recept">${ordrSttusCd.cdNm}</span>
|
||||
</c:when>
|
||||
<c:when test="${ordrSttusCd.cd eq 25 }">
|
||||
<span class="order-status-badge confirm">${ordrSttusCd.cdNm}</span>
|
||||
</c:when>
|
||||
<c:when test="${ordrSttusCd.cd eq 35 }">
|
||||
<span class="order-status-badge prep">${ordrSttusCd.cdNm}</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<span class="order-status-badge gray">${ordrSttusCd.cdNm}</span>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</span>
|
||||
</label>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" class="check_all_item">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">전체</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>주문상태 (출고후)</th>
|
||||
<td colspan="4">
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container order-status-badge-container">
|
||||
<c:forEach items="${cond.ordrSttusCdList}" var="ordrSttusCd" varStatus="status">
|
||||
<c:if test="${ordrSttusCd.cd > 49 && ordrSttusCd.cd < 76}">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" name="srchOrdrSttusCds" class="check_ordr_sttus_cd" value="${ordrSttusCd.cd}"/>
|
||||
<span class="check"></span>
|
||||
<span class="control-label">
|
||||
<c:choose>
|
||||
<c:when test="${ordrSttusCd.cd eq 50 || ordrSttusCd.cd eq 55}">
|
||||
<span class="order-status-badge export">${ordrSttusCd.cdNm}</span>
|
||||
</c:when>
|
||||
<c:when test="${ordrSttusCd.cd eq 60 || ordrSttusCd.cd eq 65}">
|
||||
<span class="order-status-badge delivery">${ordrSttusCd.cdNm}</span>
|
||||
</c:when>
|
||||
<c:when test="${ordrSttusCd.cd eq 70 || ordrSttusCd.cd eq 75}">
|
||||
<span class="order-status-badge complete">${ordrSttusCd.cdNm}</span>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
</span>
|
||||
</label>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" class="check_all_item">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">전체</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>주문결제</th>
|
||||
<td colspan="4">
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox check-all">
|
||||
<input type="checkbox" class="check_all_setle">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">모든 결제수단</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="b-checkbox-container">
|
||||
<c:forEach items="${cond.setleMthList}" var="setleMth" varStatus="status">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" name="setleMthCds" class="check_setle_mth_cd" value="${setleMth.cd}">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">${setleMth.cdNm}</span>
|
||||
</label>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="form-control-container">
|
||||
<div class="left"></div>
|
||||
<div class="center">
|
||||
<button type="button" class="btn outline" id="btnResetForm">초기화</button>
|
||||
<button type="button" class="btn primary" id="btnSearch">검색</button>
|
||||
</div>
|
||||
<div class="right"></div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</form>
|
||||
<div id="pageDiv"></div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="javascript:void(0);" rel="modal:close" class="btn outline btn-close-modal">닫기</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
229
src/main/webapp/WEB-INF/views/crm/main/ctiUnion.jsp
Normal file
229
src/main/webapp/WEB-INF/views/crm/main/ctiUnion.jsp
Normal file
@@ -0,0 +1,229 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Include.jsp"%>
|
||||
<SCRIPT LANGUAGE="javascript" for="OcxAppClient" event="RevUUI(sData)">
|
||||
ShowText(sData);
|
||||
</SCRIPT>
|
||||
|
||||
<script>
|
||||
var neo_ip = "127.0.0.1"; // 127.0.0.1 10.10.20.64//
|
||||
// var neo_ip = "10.10.20.64";//운영
|
||||
var neo_port = "13012";
|
||||
var neo_ws;
|
||||
|
||||
function connect(){
|
||||
//OcxAppClient.Connect();
|
||||
|
||||
// 웹소켓 연결 체크
|
||||
// neo_ws가 WebSocket 객체가 아닐 때
|
||||
if (neo_ws instanceof WebSocket == false) {
|
||||
//console.log("WebSocket no instance");
|
||||
}
|
||||
// neo_ws가 WebSocket 객체인데, 서버와 연결이 안됐을 때
|
||||
else if (neo_ws.readyState != WebSocket.OPEN) {
|
||||
//console.log("WebSocket state : " = neo_ws.readyState);
|
||||
}
|
||||
// 이미 연결된 상태
|
||||
else {
|
||||
console.log("WebSocket already connected");
|
||||
return;
|
||||
}
|
||||
|
||||
// 웹소켓 연결
|
||||
console.log("ws://" + neo_ip + ":" + neo_port);
|
||||
neo_ws = new WebSocket("ws://" + neo_ip + ":" + neo_port);
|
||||
|
||||
// 웹소켓 연결될 때 발생하는 이벤트
|
||||
neo_ws.onopen = function (e) {
|
||||
console.log("WebSocket connected");
|
||||
$("#ctiframe").addClass("on");
|
||||
}
|
||||
|
||||
// 웹소켓 종료될 때 발생하는 이벤트.
|
||||
neo_ws.onclose = function (e) {
|
||||
console.log("WebSocket disconnected");
|
||||
$("#ctiframe").removeClass("on");
|
||||
}
|
||||
|
||||
// 웹소켓 에러 발생시 실행
|
||||
neo_ws.onerror = function (e) {
|
||||
var errStr = "websocket error : " + e.data;
|
||||
console.log(errStr);
|
||||
}
|
||||
|
||||
// 웹소켓 서버로부터 데이터를 받으면 실행
|
||||
neo_ws.onmessage = function (e) {
|
||||
console.log("Recv : "+e.data);
|
||||
ShowText(e.data);
|
||||
}
|
||||
}
|
||||
|
||||
function nsend(){
|
||||
//OcxAppClient.SockSendMsg(document.ValidForm.TextANI.value);
|
||||
ShowText (document.ValidForm.TextANI.value);
|
||||
}
|
||||
|
||||
function Is(){
|
||||
//ShowText(OcxAppClient.IsConnect());
|
||||
ShowText (neo_ws.readyState);
|
||||
}
|
||||
|
||||
/*
|
||||
- 남는 길이는 공백으로 채운다
|
||||
벨울림 : 길이(5:00182)+구분(4:0227)+내선(5)+발신(20)+수신(20)+고객정보
|
||||
통화연결 : 길이(5:00094)+구분(4:0228)+내선(5)+발신(20)+수신(20)+녹취(128)
|
||||
*/
|
||||
var sopmalCd = "";
|
||||
var phone = "";
|
||||
const siteUrl = "/crm/main";//crm 메인창으로 이동
|
||||
|
||||
function ShowText(args) {
|
||||
var t1, t2, t3, t4, t5;
|
||||
if (args == 'SOCDIS') return false;
|
||||
t1 = args.substr(0, 5); // 전문길이
|
||||
t2 = args.substr(5, 4); // 전문번호
|
||||
t3 = args.substr(9, 5).trim(); // 내선번호
|
||||
|
||||
phone = args.substr(14, 11);
|
||||
console.log("phone : "+phone);
|
||||
|
||||
if (t2 == '0227') { // 신호음 울리면 페이지 연결함
|
||||
t3 = args.substr(9, 5).trim(); // 내선번호
|
||||
t4 = args.substr(34, 20).trim(); // 인콜인경우 내선번호
|
||||
if (t4 == t3){// 인콜인경우 서비스번호
|
||||
t5 = args.substr(88, 4).trim();
|
||||
}else{// 아웃콜인경우 발신번호
|
||||
t5 = args.substr(54, 8).trim();
|
||||
phone = args.substr(34, 11);
|
||||
}
|
||||
// 브랜드 별 대표번호 및 CTI 코드
|
||||
// 지씨/트래디스
|
||||
|
||||
if (t5 == "2000" || t5 == "16610308") { sopmalCd = "CH";} // 참다한
|
||||
else if(t5 == "2100" || t5 == "16614056") { sopmalCd = "CH";} // 참다한 가맹점
|
||||
else if(t5 == "2400" || t5 == "18553412") { sopmalCd = "TZ";} // 더작
|
||||
else if(t5 == "2800" || t5 == "16707845") { sopmalCd = "TZ";} // 아트라움
|
||||
else if(t5 == "2900" || t5 == "16000373") { sopmalCd = "TZ";} // 참다한 유통점
|
||||
else if(t5 == "4000" || t5 == "16003810") { sopmalCd = "TZ";} // 트래디스바이오
|
||||
else if(t5 == "4800" || t5 == "16003182") { sopmalCd = "TZ";} // 홍삼의길
|
||||
else if(t5 == "4900" || t5 == "16703062") { sopmalCd = "TZ";} // 유기농다림
|
||||
else if(t5 == "5000" || t5 == "16703253") { sopmalCd = "TZ";} // 홍정관
|
||||
else if(t5 == "5600" || t5 == "16701433") { sopmalCd = "LF";} // 라이프케어
|
||||
else if(t5 == "6000" || t5 == "16005087") { sopmalCd = "TZ";} // 셀브렉스
|
||||
// 에스엘/디바인
|
||||
else if(t5 == "2200" || t5 == "16003872") { sopmalCd = "NC";} // 뉴트리코어
|
||||
else if(t5 == "2600" || t5 == "16708858") { sopmalCd = "NC";} // 홀푸드스토리
|
||||
else if(t5 == "2700" || t5 == "16705255") { sopmalCd = "NC";} // 오요요
|
||||
else if(t5 == "4200" || t5 == "16704044") { sopmalCd = "NC";} // 바날라
|
||||
else if(t5 == "4300" || t5 == "16002110") { sopmalCd = "NC";} // 클리너버
|
||||
else if(t5 == "4400" || t5 == "16702022") { sopmalCd = "NC";} // 디바인바이오
|
||||
else if(t5 == "4500" || t5 == "16002510") { sopmalCd = "BD";} // 바디닥터스
|
||||
else if(t5 == "5700" || t5 == "16707866") { sopmalCd = "NC";} // 마인트리
|
||||
// 코스/디바인
|
||||
else if(t5 == "2300" || t5 == "16708540") { sopmalCd = "PL";} // 프로스랩
|
||||
else if(t5 == "5500" || t5 == "16707133") { sopmalCd = "PL";} // H.B스토어
|
||||
else if(t5 == "5900" || t5 == "16706132") { sopmalCd = "DT";} // 닥터린
|
||||
else if(t5 == "2500" || t5 == "16700115") { sopmalCd = "NB";} // 자담유
|
||||
else if(t5 == "4100" || t5 == "16704582") { sopmalCd = "AF"; } // 올프리
|
||||
else if(t5 == "4700" || t5 == "16706205") { sopmalCd = "JM"; } //저스트마이데이
|
||||
else if(t5 == "5200" || t5 == "16003764") { sopmalCd = "DT";} // 다정관
|
||||
else if(t5 == "5300" || t5 == "16708688") { sopmalCd = "DT";} // 카일
|
||||
else if(t5 == "5800" || t5 == "16702710") { sopmalCd = "DT";} // 알파랩
|
||||
else if( t5 == "16701954") { sopmalCd = "DT";} // 피드네이처
|
||||
else if( t5 == "16702094") { sopmalCd = "DL";} // 디디오랩
|
||||
else {
|
||||
sopmalCd = "";
|
||||
}
|
||||
}
|
||||
|
||||
console.log('args:' + args + '\nt1:' + t1 + '\nt2:' + t2 + '\nt3:' + t3 + '\nt4:' + t4 + '\nt5:' + t5 + '\nsiteUrl:' + siteUrl);
|
||||
|
||||
if(sopmalCd == '') {
|
||||
console.log("sopmalCd = ", sopmalCd);
|
||||
return
|
||||
}
|
||||
|
||||
switch (t2) {
|
||||
case "0227": // 전문번호 - 벨 울림 => 페이지 이동
|
||||
document.ValidForm.sopmalCd.value = sopmalCd;
|
||||
|
||||
con_union(siteUrl, sopmalCd, phone);
|
||||
|
||||
break;
|
||||
case "0228": // 통화연결-녹취키를 기록함 + 세션처리
|
||||
t3 = args.substr(54);
|
||||
console.log(" 0228's t3 => ", t3);
|
||||
document.ValidForm.Customer_CRecFile.value = t3; //녹취키
|
||||
|
||||
var iframe = document.getElementById("ctiframe").contentWindow;
|
||||
//1.CnsltRegistPopupC로 해당 메시지 전달
|
||||
iframe.postMessage({
|
||||
functionName: 'recordKeyLoad',
|
||||
value: 'excute'
|
||||
}, '*')
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
function con_union(site, sopmalCd, phone) { // 사이트 페이지 접속 함수
|
||||
var con_url = site;
|
||||
con_url += "?sopmalCd=" + sopmalCd;
|
||||
con_url += "&phone=" + phone;
|
||||
|
||||
console.log("con_union : " + con_url);
|
||||
|
||||
$('#ctiframe').attr('src', con_url);
|
||||
}
|
||||
|
||||
/*테스트 콜*/
|
||||
function testCall() {
|
||||
if (!confirm('통화연결 테스트 입니다. 연결하시겠습니까?')) return false;
|
||||
/******************************************임시 데이터 set 웹소켓에서 받은 데이터 입력*******************************************************/
|
||||
//0 1 2 3 4 5 6 7 8 9 10 11 12
|
||||
//12345 6789 0123 45678901234 5678901234567890123456789012345678901234567890123456789012345678901234567890123456789012 34567890123
|
||||
// ("00182 0227 5028 "+"01023844202"+" 5028 9 860000036500070481765236 " + "01023844202"); t3,t4같을경우
|
||||
// ("00182 0227 5028 "+"01023844202"+" (20글자 올 수 있음 )(8글자발신번호) " + "01023844202"); t3,t4다르면
|
||||
// t1 t2 t3 phone 6500
|
||||
ShowText("0018202275028 "+"01023844202"+" 5028 9 860000036500070481765236 " + "01023844202"); //콜 들어올 시
|
||||
// 통화연결
|
||||
setTimeout(function () {
|
||||
var record_key = "20190423000007";
|
||||
ShowText("0005402285001 " + "01023844202" + " 5001 " + record_key + "_5001_" + "01023844202"); //콜을 받을 시
|
||||
}, 5000); // 통화연결 테스트
|
||||
}
|
||||
|
||||
$(document).ready(function () {
|
||||
//setTimeout(testCall,1500);// 통화연결 테스트 : ActiveX 설치PC에서는 삭제해주세요
|
||||
connect();
|
||||
});
|
||||
</script>
|
||||
<style>
|
||||
#ctiframe.on { border-color:blue; }
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<FORM NAME="ValidForm" style='display:none;'>
|
||||
<p>NetDialIF Event <input type="text" name="TextEvent" size="136"></p>
|
||||
<input type="hidden" placeholder='쇼핑몰코드' name="sopmalCd" id = "ctiSopmalCd">
|
||||
<input type="hidden" placeholder='전화번호' name="fname">
|
||||
<input type="hidden" placeholder='get전화번호' name="Customer_Code" value=''>
|
||||
<input type="hidden" placeholder='녹취ID' name="Customer_CRecFile">
|
||||
|
||||
<input type="button" name="conn" value="연결" size="5" onclick="javascript:connect();">
|
||||
<input type="button" name="send" value="전송" size="5" onclick="javascript:nsend();">
|
||||
<input type="button" name="state" value="확인" size="5" onclick="javascript:Is();">
|
||||
</form>
|
||||
|
||||
<form name="form1" style='display:none;'>
|
||||
SockSendMsg <input type="text" name="TextANI" size="20">
|
||||
</form>
|
||||
|
||||
<iframe id='ctiframe' style='border: 1px solid red; width:100% ; height: 100vh; margin: 0; padding:0;'></iframe>
|
||||
</body>
|
||||
</html>
|
||||
556
src/main/webapp/WEB-INF/views/crm/mbr/CstmrInfoInqireR.jsp
Normal file
556
src/main/webapp/WEB-INF/views/crm/mbr/CstmrInfoInqireR.jsp
Normal file
@@ -0,0 +1,556 @@
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
|
||||
|
||||
<%--
|
||||
Class Name : CstmrInfoInqireR.jsp
|
||||
Description : CRM 고객 정보 jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-02-19 추지훈 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
|
||||
<head>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Include.jsp"%>
|
||||
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
//crm 정보 조회
|
||||
if ($("#mbrTyCd").val() === '01') {
|
||||
fn_get_crm_info($("#leftMbrInnb").val(), $("#leftMbrDvCd").val());
|
||||
} else {
|
||||
fn_get_crm_info_nmbr($("#leftMbtlnb").val());
|
||||
$("#nmbrMbtlnb").text(fn_format_mbtlnb($("#nmbrMbtlnb").text()));
|
||||
}
|
||||
var currentDate = new Date();
|
||||
var currentYear = currentDate.getFullYear();
|
||||
var currentMonth = currentDate.getMonth() + 1;
|
||||
var currentDay = currentDate.getDate();
|
||||
var formattedCurrentDate = currentYear + "-" + currentMonth + "-" + currentDay;
|
||||
|
||||
|
||||
var thirtyDaysAgoDate = new Date();
|
||||
thirtyDaysAgoDate.setDate(thirtyDaysAgoDate.getDate() - 30);
|
||||
var thirtyDaysAgoYear = thirtyDaysAgoDate.getFullYear();
|
||||
var thirtyDaysAgoMonth = (thirtyDaysAgoDate.getMonth() + 1).toString().padStart(2, '0'); // Adds leading zero
|
||||
var thirtyDaysAgoDay = thirtyDaysAgoDate.getDate().toString().padStart(2, '0'); // Adds leading zero to day if needed
|
||||
var formattedThirtyDaysAgoDate = thirtyDaysAgoYear + "-" + thirtyDaysAgoMonth + "-" + thirtyDaysAgoDay;
|
||||
|
||||
$("#dateRange").text("(최근 30일 기준 : " + formattedThirtyDaysAgoDate + " ~ " + formattedCurrentDate + ")");
|
||||
|
||||
//휴대폰 번호 포매팅
|
||||
if (!fn_is_empty($("#mbtlnb").text())) {
|
||||
$("#mbtlnb").text(fn_format_mbtlnb($("#mbtlnb").text().trim()));
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
/*********************************************************
|
||||
* 고객데이터 각 메뉴로 이동
|
||||
* *******************************************************/
|
||||
const fn_move_menu2 = function(thisValue,actionUrl,idNm) {
|
||||
$('#mbrDataForm').attr('action', actionUrl);
|
||||
$('#mbrDataForm').attr('method', 'post');
|
||||
$('#actionId').attr('name',idNm);
|
||||
$('#actionId').val(thisValue);
|
||||
$('#mbrDataForm').submit();
|
||||
}
|
||||
|
||||
|
||||
/**************************************************************
|
||||
* 모달팝업 열기
|
||||
****************************************************************/
|
||||
const fn_open_modal_str_change = function (mbrInnb, mbrDvCd) {
|
||||
const modalDivSltr = '#modalDiv';
|
||||
const modalSlrt = '#store-change-pop';
|
||||
const url = '<c:out value="/crm/mbr/selectManageStrChngPopupForm"/>';
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: url,
|
||||
data: {
|
||||
mbrInnb: mbrInnb,
|
||||
mbrDvCd: mbrDvCd
|
||||
},
|
||||
success: function (data) {
|
||||
$(modalSlrt).remove();
|
||||
$(modalDivSltr).html(data);
|
||||
$(modalSlrt).modal();
|
||||
$('select').niceSelect();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*************************************************
|
||||
* 관리 매장 변경
|
||||
* ***********************************************/
|
||||
const fn_manage_str_change = function (modalId) {
|
||||
|
||||
const data = $('#manageStrUpdtFrom').serialize();
|
||||
|
||||
const url = '<c:out value="/crm/mbr/updateManageStrUpdt"/>';
|
||||
|
||||
if (confirm('관리 매장을 <spring:message code="confirm.common.update"/>')) {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: url,
|
||||
data: data,
|
||||
success: function (result) {
|
||||
alert('<spring:message code="success.common.update"/>');
|
||||
|
||||
$("#" + modalId + " > a").each(function () {
|
||||
if (this.href.indexOf('#close-modal')) {
|
||||
$('#hiddenForm').remove();
|
||||
$(this).click();
|
||||
}
|
||||
});
|
||||
$('#' + modalId).remove();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
/*************************************************
|
||||
* 회원탈퇴사유
|
||||
* ***********************************************/
|
||||
const fn_select_withdrawal = function (mbrInnb, mbrDvCd) {
|
||||
const url = '<c:out value="/crm/mbr/selectSecsnResn"/>';
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: url,
|
||||
data: {mbrInnb:mbrInnb ,mbrDvCd:mbrDvCd},
|
||||
success: function (result) {
|
||||
result = JSON.parse(result.resBody.result);
|
||||
$("#secsnResn").val(result.secsnResn);
|
||||
if(result.memo != null){
|
||||
$("#memo").val(result.memo);
|
||||
}
|
||||
$('#select-withdrawal-pop').modal();
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Header.jsp"%>
|
||||
<main class="main">
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Left.jsp"%>
|
||||
<div class="content">
|
||||
<div class="content__inner">
|
||||
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
|
||||
<div class="page-title">
|
||||
<h2 class="page-title__title">회원 정보</h2>
|
||||
<div class="page-title__btn-container">
|
||||
</div>
|
||||
</div>
|
||||
<section class="content-section">
|
||||
<h3 class="content-section__title">고객 정보</h3>
|
||||
<form id="mbrDataForm">
|
||||
<input type="hidden" id="mbrInnb" name="mbrInnb" value="<c:out value="${ resultMap.result.mbrInnb }"/>"/>
|
||||
<input type="hidden" id="mbrDvCd" name="mbrDvCd" value="<c:out value="${ resultMap.result.mbrDvCd }"/>"/>
|
||||
<input type="hidden" id="actionId" value=""/>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 38%;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 38%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>가입경로</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<a href="https://<c:url value='${resultMap.result.inflowCoursDomn}'/>" target="_blank" class="blue-7">
|
||||
<c:url value='${resultMap.result.inflowCoursDomn}'/>
|
||||
</a>
|
||||
</div>
|
||||
</td>
|
||||
<th>가입환경</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<c:forEach var = "joinEnvrn" items = "${resultMap.joinEnvrn}">
|
||||
<c:if test = "${joinEnvrn.cd eq resultMap.result.joinEnvrnCd}"><c:out value="${joinEnvrn.cdNm}"/></c:if>
|
||||
</c:forEach>
|
||||
<c:if test = "${resultMap.paramVO.sopmalCd eq 'NC' || resultMap.paramVO.sopmalCd eq 'CH'}">
|
||||
<button type="button" onclick="fn_open_modal_str_change(<c:out value="${cnsltVO.mbrInnb}"/>, '<c:out value="${cnsltVO.mbrDvCd}"/>');"
|
||||
class="btn outline xsm">관리매장 변경</button>
|
||||
</c:if>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>가입일</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<c:out value="${ resultMap.result.registDt }"/>
|
||||
</div>
|
||||
</td>
|
||||
<th>등급</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<c:out value="${ resultMap.result.mbrGradNm }"/>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>아이디</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<c:choose>
|
||||
<c:when test="${resultMap.result.joinMthCd eq 'kakao'}"><%--kakao--%>
|
||||
<i class="icon icon_word-badge_kakao"></i>
|
||||
</c:when>
|
||||
<c:when test="${resultMap.result.joinMthCd eq 'naver'}"><%--naver--%>
|
||||
<i class="icon icon_word-badge08"></i>
|
||||
</c:when>
|
||||
<c:when test="${resultMap.result.joinMthCd eq 'pos'}"><%--pos--%>
|
||||
<i class="icon icon_word-badge_pos"></i><c:out
|
||||
value="${resultMap.result.mbrId}"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:out value="${resultMap.result.mbrId}"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
</td>
|
||||
<th>이름</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<c:out value="${ resultMap.result.mbrNm }"/>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>휴대폰</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<button type="button" class="blue-7 sndng" id="mbtlnb" value = "/mngr/ntcn/mssage/selectMssageSndngPopupForm">
|
||||
<c:out value="${ resultMap.result.mbtlnb }"/>
|
||||
</button>
|
||||
</div>
|
||||
</td>
|
||||
<th>이메일</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<button type="button" class="blue-7 sndng" value = "/mngr/ntcn/email/selectEmailSndngPopupForm">
|
||||
<c:out value="${ resultMap.result.email }"/>
|
||||
</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>생년월</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<c:choose>
|
||||
<c:when test = "${not empty resultMap.result.age}">
|
||||
<c:set var="birthDate" value="${resultMap.result.brthDe}"/>
|
||||
<c:set var="year" value="${fn:substring(birthDate, 0, 4)}"/>
|
||||
<c:set var="month" value="${fn:substring(birthDate, 4, 6)}"/>
|
||||
<c:set var="formattedDate" value="${year}${month}"/>
|
||||
<c:out value="${formattedDate}"/>
|
||||
(<fmt:formatNumber value="${resultMap.result.age}" pattern="###"/>)
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
없음
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
</td>
|
||||
<th>성별</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<c:forEach var = "sex" items = "${resultMap.sex}">
|
||||
<c:if test = "${sex.cd eq resultMap.result.sex}"><c:out value="${sex.cdNm}"/></c:if>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>광고수신동의</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<c:choose>
|
||||
<c:when test = "${resultMap.result.marktRecptnAgreAt eq 'Y'}">
|
||||
동의
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
거부
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<span class="stone-7"><c:out value="(최종 수정일 : ${resultMap.result.marktRecptnAgreUpdtDt})"/></span>
|
||||
</div>
|
||||
</td>
|
||||
<th>상태</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<c:choose>
|
||||
<c:when test = "${resultMap.result.useAt eq 'Y'}">
|
||||
회원
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<button type="button" class="blue-7" onclick = "fn_select_withdrawal(<c:out value="'${resultMap.result.mbrInnb}','${ resultMap.result.mbrDvCd}'"/>)">탈퇴</button>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>주소</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<c:choose>
|
||||
<c:when test = "${not empty resultMap.result.zip}">
|
||||
(<c:out value="${ resultMap.result.zip }"/>)
|
||||
<c:choose>
|
||||
<c:when test="${ resultMap.result.adresDv eq '01'}">
|
||||
<c:out value="${ resultMap.result.rnmAdres }"/>
|
||||
</c:when>
|
||||
<c:when test="${ resultMap.result.adresDv eq '02'}">
|
||||
<c:out value="${ resultMap.result.lnbAdres }"/>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<c:out value="${resultMap.result.dtlAdres}"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
없음
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>기본배송지</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<c:choose>
|
||||
<c:when test = "${not empty resultMap.result.dftDlvyAdresDv}">
|
||||
(<c:out value="${ resultMap.result.dftDlvyZip }"/>)
|
||||
<c:choose>
|
||||
<c:when test="${ resultMap.result.dftDlvyAdresDv eq '01'}">
|
||||
<c:out value="${ resultMap.result.dftDlvyRnmAdres }"/>
|
||||
</c:when>
|
||||
<c:when test="${ resultMap.result.dftDlvyAdresDv eq '02'}">
|
||||
<c:out value="${ resultMap.result.dftDlvyLnbAdres }"/>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<c:out value="${ resultMap.result.dftDlvyDtlAdres }"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
설정 안함
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
<section class="content-section">
|
||||
<%-- <h3 class="content-section__title">고객 데이터
|
||||
<span class="fs-15 fw-400 gray-7">(최근 30일 기준 : 2023-09-06 ~
|
||||
2023-10-06)</span>
|
||||
</h3> --%>
|
||||
<h3 class="content-section__title" id="dateRangeTitle">고객 데이터
|
||||
<span class="fs-15 fw-400 gray-7" id="dateRange">(최근 30일 기준 : )</span>
|
||||
</h3>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 10%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>입금대기</th>
|
||||
<td class="text-center border-right">
|
||||
<c:out value="${ resultMap.acttData.resultCnt.unprocessedDeposit }"/>건
|
||||
</td>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.acttData.resultCnt.unprocessedDeposit && resultMap.acttData.resultCnt.unprocessedDeposit gt 0 }">
|
||||
<td>
|
||||
<c:forEach var="list" items="${ resultMap.acttData.unprocessedDepositList }" varStatus="status">
|
||||
<c:if test="${ status.index ne 0 }">, </c:if>
|
||||
<button type="button" class="blue-7 fw-500" onclick="fn_move_menu2('<c:out value="${list.ordrInnb}"/>','/crm/ordr/selectMbrOrdrListInqireForm','ordrInnb')">
|
||||
<c:out value="${ list.ordrInnb }"/>
|
||||
</button>
|
||||
</c:forEach>
|
||||
</td>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<td class="text-center" ><spring:message code="common.nodata"/></td>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>미처리 출고</th>
|
||||
<td class="text-center border-right">
|
||||
<c:out value="${ resultMap.acttData.resultCnt.unprocessedRelease }"/>건
|
||||
</td>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.acttData.resultCnt.unprocessedRelease && resultMap.acttData.resultCnt.unprocessedRelease gt 0 }">
|
||||
<td>
|
||||
<c:forEach var="list" items="${ resultMap.acttData.unprocessedReleaseList }" varStatus="status">
|
||||
<c:if test="${ status.index ne 0 }">, </c:if>
|
||||
<button type="button" class="blue-7 fw-500" onclick="fn_move_menu2('<c:out value="${list.ordrInnb}"/>','/crm/ordr/selectMbrOrdrListInqireForm','ordrInnb')">
|
||||
<c:out value="${ list.ordrInnb }"/>
|
||||
</button>
|
||||
</c:forEach>
|
||||
</td>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<td class="text-center" ><spring:message code="common.nodata"/></td>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>미처리 반품/환불</th>
|
||||
<td class="text-center border-right">
|
||||
<c:out value="${ resultMap.acttData.resultCnt.unprocessedRefund }"/>건
|
||||
</td>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.acttData.resultCnt.unprocessedRefund && resultMap.acttData.resultCnt.unprocessedRefund gt 0 }">
|
||||
<td>
|
||||
<c:forEach var="list" items="${ resultMap.acttData.unprocessedRefundList }" varStatus="status">
|
||||
<c:if test="${ status.index ne 0 }">, </c:if>
|
||||
<button type="button" class="blue-7 fw-500" onclick="fn_move_menu2('<c:out value="${list.orderRefundInnb}"/>','/crm/ordr/selectMbrRtngudRefndDtlsInqireForm','srchStr')">
|
||||
<c:out value="${ list.orderRefundInnb }"/>
|
||||
</button>
|
||||
</c:forEach>
|
||||
</td>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<td class="text-center" ><spring:message code="common.nodata"/></td>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>미처리 상품문의</th>
|
||||
<td class="text-center border-right">
|
||||
<c:out value="${ resultMap.acttData.resultCnt.unprocessedQna }"/>건
|
||||
</td>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.acttData.resultCnt.unprocessedQna && resultMap.acttData.resultCnt.unprocessedQna gt 0 }">
|
||||
<td>
|
||||
<c:forEach var="list" items="${ resultMap.acttData.unprocessedQnaList }" varStatus="status">
|
||||
<c:if test="${ status.index ne 0 }">, </c:if>
|
||||
<button type="button" class="blue-7 fw-500" onclick="fn_move_menu2('<c:out value="${list.bbscttInnb}"/>','/crm/bbs/selectGoodsInqryInqireForm','srchKeyword')">
|
||||
<c:out value="${ list.bbscttInnb }"/>
|
||||
</button>
|
||||
</c:forEach>
|
||||
</td>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<td class="text-center"><spring:message code="common.nodata"/></td>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>미처리 상담문의</th>
|
||||
<td class="text-center border-right">
|
||||
<c:out value="${ resultMap.acttData.resultCnt.unprocessedCnslt }"/>건
|
||||
</td>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.acttData.resultCnt.unprocessedCnslt && resultMap.acttData.resultCnt.unprocessedCnslt gt 0 }">
|
||||
<td>
|
||||
<c:forEach var="list" items="${ resultMap.acttData.unprocessedCnsltList }" varStatus="status">
|
||||
<c:if test="${ status.index ne 0 }">, </c:if>
|
||||
<button type="button" class="blue-6 fw-500" value="<c:out value="${ list.cnsltDtlsInnb }"/>" onclick="fn_move_menu2('<c:out value="${list.cnsltDtlsInnb}"/>','/crm/cnslt/selectCnsltDtlsForm','cnsltDtlsInnb')">
|
||||
<c:out value="${ list.cnsltDtlsInnb }"/>
|
||||
</button>
|
||||
</c:forEach>
|
||||
</td>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<td class="text-center" ><spring:message code="common.nodata"/></td>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
|
||||
</div>
|
||||
|
||||
<%-- CRM right 공통 --%>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Right.jsp"%>
|
||||
|
||||
</div>
|
||||
</main>
|
||||
|
||||
|
||||
<!-- 관리매장 변경 모달 -->
|
||||
<div id="modalDiv">
|
||||
|
||||
</div>
|
||||
|
||||
<!-- 회원 탈퇴 모달 -->
|
||||
<div id="select-withdrawal-pop" class="modal" style="max-width: 640px;">
|
||||
<div class="modal-header">
|
||||
<h4>회원 탈퇴</h4>
|
||||
</div>
|
||||
<div class="modal-content">
|
||||
<form id="mbrSecsnForm">
|
||||
<div class="adminTyping">
|
||||
<div class="table-wrapper" style="width: 580px;">
|
||||
<table class="table transparent">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 120px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="text-right">
|
||||
탈퇴사유 :
|
||||
</th>
|
||||
<td class="text-left">
|
||||
<div class="td-inner">
|
||||
<input class="input-text full" type="text" title="탈퇴 사유" id = "secsnResn" readonly>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="text-right">
|
||||
내용 :
|
||||
</th>
|
||||
<td class="text-left">
|
||||
<div class="td-inner">
|
||||
<textarea title="탈퇴 메모" class= "textarea" id="memo" rows="5" readonly></textarea>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#" rel="modal:close" class="btn outline">닫기</a>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
122
src/main/webapp/WEB-INF/views/crm/mbr/LogMemoR.jsp
Normal file
122
src/main/webapp/WEB-INF/views/crm/mbr/LogMemoR.jsp
Normal file
@@ -0,0 +1,122 @@
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
|
||||
|
||||
<%--
|
||||
Class Name : CnsltDtlsRForm.jsp
|
||||
Description : CRM 상담 내역 jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-02-19 추지훈 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
|
||||
<head>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Include.jsp"%>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
//crm 정보 조회
|
||||
if ($("#mbrTyCd").val() === '01') {
|
||||
fn_get_crm_info($("#leftMbrInnb").val(), $("#leftMbrDvCd").val());
|
||||
} else {
|
||||
fn_get_crm_info_nmbr($("#leftMbtlnb").val());
|
||||
$("#nmbrMbtlnb").text(fn_format_mbtlnb($("#nmbrMbtlnb").text()));
|
||||
}
|
||||
let mngrData = "<c:out value='${resultMap.result.mngrLog}'/>";
|
||||
mngrData = mngrData.replace(/</g, "<").replace(/>/g, ">"); // HTML 문자로 변환
|
||||
|
||||
$('#mngrLogDiv').empty();
|
||||
|
||||
let logHtml = '';
|
||||
|
||||
function wrapDateSpan(string) {
|
||||
return `<span class="order-detail-log__description">` + string + `</span>`;
|
||||
}
|
||||
logHtml = mngrData;
|
||||
$('#mngrLogDiv').append(logHtml);
|
||||
|
||||
fn_add_crm_menu_class("leftLog");
|
||||
});
|
||||
|
||||
/* ********************************************************
|
||||
* 메모 수정
|
||||
******************************************************** */
|
||||
const fn_update_memo = function() {
|
||||
data = $('#memoUpdateForm').serialize();
|
||||
if (confirm(' 관리 메모를 <spring:message code="confirm.common.save"/>')) {
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: '<c:url value="/crm/mbr/updateMemoUpdt"/>',
|
||||
data: data,
|
||||
success: function (result) {
|
||||
alert('<spring:message code="success.common.save"/>');
|
||||
|
||||
fn_select_memo();
|
||||
}
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
/* ********************************************************
|
||||
* 메모 조회
|
||||
******************************************************** */
|
||||
function fn_select_memo() {
|
||||
$('#memoUpdateForm').attr('action', '<c:url value="/crm/mbr/selectLogMemoInqire"/>');
|
||||
$('#memoUpdateForm').attr('method', 'post');
|
||||
$('#memoUpdateForm').submit();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Header.jsp"%>
|
||||
<main class="main">
|
||||
<%-- CRM left 공통 --%>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Left.jsp"%>
|
||||
<div class="content">
|
||||
<div class="content__inner">
|
||||
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
|
||||
<div class="page-title">
|
||||
<h2 class="page-title__title">로그/메모</h2>
|
||||
<div class="page-title__btn-container">
|
||||
<button class="btn primary" type="button" onclick="fn_update_memo(); return false;"><spring:message code="button.save"/></button>
|
||||
</div>
|
||||
</div>
|
||||
<section class="content-section">
|
||||
<h3 class="content-section__title">처리 로그</h3>
|
||||
<div class="order-detail-log" id="mngrLogDiv">
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<section class="content-section">
|
||||
<form id="memoUpdateForm" name="memoUpdateForm">
|
||||
<input type="hidden" id="mbrInnb" name="mbrInnb" value="<c:out value="${cnsltVO.mbrInnb}"/>"/>
|
||||
<input type="hidden" id="mbrDvCd" name="mbrDvCd" value="<c:out value="${cnsltVO.mbrDvCd}"/>"/>
|
||||
<h3 class="content-section__title">관리 메모</h3>
|
||||
<textarea class="textarea" title="에디터 입력" cols="30" rows="12" id="mngrMemo" name="mngrMemo" ><c:out value="${ resultMap.result.mngrMemo }"/></textarea>
|
||||
</form>
|
||||
</section>
|
||||
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
|
||||
</div>
|
||||
<%-- CRM right 공통 --%>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Right.jsp"%>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
105
src/main/webapp/WEB-INF/views/crm/mbr/ManageStrChngPopupU.jsp
Normal file
105
src/main/webapp/WEB-INF/views/crm/mbr/ManageStrChngPopupU.jsp
Normal file
@@ -0,0 +1,105 @@
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
|
||||
|
||||
<%--
|
||||
Class Name : CnsltDtlsRForm.jsp
|
||||
Description : CRM 상담 내역 jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-02-19 추지훈 최초 생성
|
||||
--%>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
|
||||
let selText = $('select[name="strInnb"] option:selected').text();
|
||||
$('#strNmCheck').val(selText);
|
||||
|
||||
|
||||
|
||||
|
||||
$('select[name="strInnb"]').change(function() {
|
||||
var selectedOption = $(this).find('option:selected');
|
||||
var selectedText = selectedOption.text();
|
||||
$('#strNmCheck').val(selectedText);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<!-- 관리매장 변경 모달 -->
|
||||
<div id="store-change-pop" class="modal" style="max-width: 600px; max-height: 1200px;">
|
||||
<div class="modal-header">
|
||||
<h4>관리매장 변경</h4>
|
||||
</div>
|
||||
<div class="modal-content" style="height: 300px;">
|
||||
<div class="table-wrapper">
|
||||
<form id="manageStrUpdtFrom">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 24%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>매장 변경</th>
|
||||
<td>
|
||||
<div class="td-inner vertical">
|
||||
<div class="select-box">
|
||||
<select title="해당 셀렉트에 대한 설명" name="strInnb">
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.mbrPosStr}">
|
||||
<option value="">쇼핑몰[PC]</option>
|
||||
<c:forEach var="list" items="${ resultMap.resultList }" varStatus="status">
|
||||
<c:choose>
|
||||
<c:when test="${ list.strInnb eq resultMap.mbrPosStr.strInnb }">
|
||||
<option value="<c:out value="${ list.strInnb }"/>" selected="selected">${ list.tentcpnNm }</option>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<option value="<c:out value="${ list.strInnb }"/>">${ list.tentcpnNm }</option>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<option value="">쇼핑몰[PC]</option>
|
||||
<c:forEach var="list" items="${ resultMap.resultList }" varStatus="status">
|
||||
<option value="<c:out value="${ list.strInnb }"/>">${ list.tentcpnNm }</option>
|
||||
</c:forEach>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</select>
|
||||
</div>
|
||||
<input class="input-text full" type="text" id="strNmCheck" title="해당 인풋에 대한 설명" placeholder="" name="strNm" value="" readonly>
|
||||
<input type="hidden" name="mbrInnb" value="<c:out value="${ resultMap.paramVO.mbrInnb }"/>"/>
|
||||
<input type="hidden" name="mbrDvCd" value="<c:out value="${ resultMap.paramVO.mbrDvCd }"/>"/>
|
||||
<input type="hidden" name="beforeStrNm" value="<c:out value="${ resultMap.mbrPosStr.strNm}"/>"/>
|
||||
<input type="hidden" name="extrlIntrlckSnb" value="<c:out value="${ resultMap.mbrPosStr.extrlIntrlckSnb}"/>"/>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#" rel="modal:close" class="btn outline">닫기</a>
|
||||
<button class="btn outline primary" type="button" onclick="fn_manage_str_change('store-change-pop');" >수정</button>
|
||||
</div>
|
||||
</div>
|
||||
304
src/main/webapp/WEB-INF/views/crm/mbr/MbrActInfoInqireR.jsp
Normal file
304
src/main/webapp/WEB-INF/views/crm/mbr/MbrActInfoInqireR.jsp
Normal file
@@ -0,0 +1,304 @@
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
|
||||
|
||||
<%--
|
||||
Class Name : MbrActInfoInqireR.jsp
|
||||
Description : CRM 회원 활동 정보 jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-02-19 추지훈 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
|
||||
<head>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Include.jsp"%>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
//crm 정보 조회
|
||||
if ($("#mbrTyCd").val() === '01') {
|
||||
fn_get_crm_info($("#leftMbrInnb").val(), $("#leftMbrDvCd").val());
|
||||
} else {
|
||||
fn_get_crm_info_nmbr($("#leftMbtlnb").val());
|
||||
$("#nmbrMbtlnb").text(fn_format_mbtlnb($("#nmbrMbtlnb").text()));
|
||||
}
|
||||
|
||||
fn_add_crm_menu_class("leftActInfo");
|
||||
});
|
||||
|
||||
|
||||
/******************************************************
|
||||
* 장바구니 담은 상품 조회
|
||||
*******************************************************/
|
||||
const fn_select_cart_list = function() {
|
||||
const data = $('#listForm').serialize();
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url : '<c:url value="/crm/mbr/selectMbrDataGoodsInqireCart"/>',
|
||||
data : data,
|
||||
success:function(resultHtml) {
|
||||
$('#mbrDataDiv').empty();
|
||||
$('#mbrDataDiv').html(resultHtml);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/******************************************************
|
||||
* 위시리스트에 담은 상품 조회
|
||||
*******************************************************/
|
||||
const fn_select_wish_list = function() {
|
||||
const data = $('#listForm').serialize();
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url : '<c:url value="/crm/mbr/selectMbrDataGoodsInqireWish"/>',
|
||||
data : data,
|
||||
success:function(resultHtml) {
|
||||
$('#mbrDataDiv').empty();
|
||||
$('#mbrDataDiv').html(resultHtml);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/******************************************************
|
||||
* 최근 검색어 조회
|
||||
*******************************************************/
|
||||
const fn_select_search_keyword = function() {
|
||||
const data = $('#listForm').serialize();
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url : '<c:url value="/crm/mbr/selectMbrDataGoodsInqireSrch"/>',
|
||||
data : data,
|
||||
success:function(resultHtml) {
|
||||
$('#mbrDataDiv').empty();
|
||||
$('#mbrDataDiv').html(resultHtml);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
/******************************************************
|
||||
* 마일리지 조회
|
||||
*******************************************************/
|
||||
const fn_move_mlg_dtls = function() {
|
||||
$('#listForm').attr('action', '<c:url value="/crm/mlg/selectMlgDtlsForm"/>');
|
||||
$('#listForm').attr('method', 'post');
|
||||
$('#listForm').submit();
|
||||
};
|
||||
|
||||
|
||||
/******************************************************df
|
||||
* 쿠폰 내역으로 이동
|
||||
*******************************************************/
|
||||
const fn_move_coupon_dtls = function() {
|
||||
$('#listForm').attr('action', '<c:url value="/crm/coupon/selectHoldCouponDtlsForm"/>');
|
||||
$('#listForm').attr('method', 'post');
|
||||
$('#listForm').submit();
|
||||
};
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Header.jsp"%>
|
||||
<main class="main">
|
||||
<%-- CRM left 공통 --%>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Left.jsp"%>
|
||||
<div class="content">
|
||||
<div class="content__inner">
|
||||
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
|
||||
<div class="page-title">
|
||||
<h2 class="page-title__title">활동 정보</h2>
|
||||
<div class="page-title__btn-container">
|
||||
</div>
|
||||
</div>
|
||||
<section class="content-section">
|
||||
<h3 class="content-section__title">활동 정보</h3>
|
||||
<form id="listForm">
|
||||
<input type="hidden" id="mbrInnb" name="mbrInnb" value="<c:out value="${cnsltVO.mbrInnb}"/>"/>
|
||||
<input type="hidden" id="mbrDvCd" name="mbrDvCd" value="<c:out value="${cnsltVO.mbrDvCd}"/>"/>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 15%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>마일리지</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<button type="button" class="blue-7 comma" onclick="fn_move_mlg_dtls();">
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.result.blceSum }">
|
||||
<fmt:formatNumber value="${resultMap.result.blceSum}" pattern="#,###"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
0
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</button><span class="blue-7">원</span>
|
||||
</div>
|
||||
</td>
|
||||
<th>쿠폰</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<button type="button" class="blue-7 comma" onclick="fn_move_coupon_dtls();">
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.result.dwldCouponInnbCnt }">
|
||||
<c:out value=" ${ resultMap.result.dwldCouponInnbCnt }"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
0
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</button>
|
||||
</div>
|
||||
</td>
|
||||
<th>방문수</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<span class="comma">
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.result.conectLogInnbCnt }">
|
||||
<c:out value=" ${ resultMap.result.conectLogInnbCnt }"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
0
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</span>회
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>누적 실결제금액</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<span class="comma">
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.result.rlSetleAmtSum }">
|
||||
<c:out value=" ${ resultMap.result.rlSetleAmtSum }"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
0
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</span>원
|
||||
</div>
|
||||
</td>
|
||||
<th>누적 주문수</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<span class="comma">
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.result.ordrInnbCnt }">
|
||||
<c:out value=" ${ resultMap.result.ordrInnbCnt }"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
0
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</span>회
|
||||
</div>
|
||||
</td>
|
||||
<th>최근 로그인</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<p>
|
||||
<c:out value=" ${ resultMap.result.recentLoginDt }"/>
|
||||
<br>
|
||||
<span class="stone-7">
|
||||
IP : <c:out value=" ${ resultMap.result.conectIp }"/>
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
</td>
|
||||
<th>최근 수정일</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<c:out value=" ${ resultMap.result.updtDt }"/>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
<div class="content-section__col-5-container">
|
||||
<section class="content-section" style="grid-column: 1 / span 2;">
|
||||
<h3 class="content-section__title">고객 데이터
|
||||
</h3>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 50%;">
|
||||
<col>
|
||||
<col style="width: 20%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>장바구니에 담은 상품</th>
|
||||
<td class="text-center border-right">
|
||||
<c:out value="${ resultMap.acttData.cartCnt }"/>건
|
||||
</td>
|
||||
<td>
|
||||
<div class="manage-btn-container">
|
||||
<button type="button" class="btn xsm gray" onclick="fn_select_cart_list();">조회</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>위시리스트에 담은 상품</th>
|
||||
<td class="text-center border-right">
|
||||
<c:out value="${ resultMap.acttData.wishListCnt }"/>건
|
||||
</td>
|
||||
<td>
|
||||
<div class="manage-btn-container">
|
||||
<button type="button" class="btn xsm gray" onclick="fn_select_wish_list();">조회</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<section class="content-section" style="grid-column: 3 / span 3;" >
|
||||
<div id="mbrDataDiv">
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
|
||||
</div>
|
||||
|
||||
|
||||
<%-- CRM right 공통 --%>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Right.jsp"%>
|
||||
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
328
src/main/webapp/WEB-INF/views/crm/mbr/MbrCrmInfoPopupR.jsp
Normal file
328
src/main/webapp/WEB-INF/views/crm/mbr/MbrCrmInfoPopupR.jsp
Normal file
@@ -0,0 +1,328 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%--
|
||||
Class Name : MbrCrmInfoPopupR.jsp
|
||||
Description :
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-02-19 추지훈
|
||||
--%>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
fn_add_crm_menu_class("leftLog");
|
||||
$("#crmMbtlnb").text(fn_format_mbtlnb($("#crmMbtlnb").text()));
|
||||
});
|
||||
|
||||
/*회원정보*/
|
||||
if (typeof fn_move_mbrInfo === 'undefined') {
|
||||
function fn_move_mbrInfo(e) {
|
||||
$("#crmInfoForm").attr("action", "/crm/mbr/selectCstmrInfoInqire");
|
||||
fn_open_window();
|
||||
}
|
||||
}
|
||||
|
||||
/*활동정보*/
|
||||
if (typeof fn_move_actInfo === 'undefined') {
|
||||
function fn_move_actInfo(e) {
|
||||
$("#crmInfoForm").attr("action", "/crm/mbr/selectMbrActInfoInqire");
|
||||
fn_open_window();
|
||||
}
|
||||
}
|
||||
|
||||
/*주문*/
|
||||
if (typeof fn_move_ordr === 'undefined') {
|
||||
function fn_move_ordr (e) {
|
||||
$("#crmInfoForm").attr("action", "/crm/ordr/selectMbrOrdrListInqireForm");
|
||||
fn_open_window();
|
||||
}
|
||||
}
|
||||
|
||||
/*반품/환불 내역*/
|
||||
if (typeof fn_move_refund === 'undefined') {
|
||||
function fn_move_refund (e) {
|
||||
$("#crmInfoForm").attr("action", "/crm/ordr/selectMbrRtngudRefndDtlsInqireForm");
|
||||
fn_open_window();
|
||||
}
|
||||
}
|
||||
|
||||
/*마일리지 내역*/
|
||||
if (typeof fn_move_mlg === 'undefined') {
|
||||
function fn_move_mlg (e) {
|
||||
$("#crmInfoForm").attr("action", "/crm/mlg/selectMlgDtlsForm");
|
||||
fn_open_window();
|
||||
}
|
||||
}
|
||||
|
||||
/*GC머니*/
|
||||
if (typeof fn_move_cash === 'undefined') {
|
||||
function fn_move_cash (e) {
|
||||
$("#crmInfoForm").attr("action", "/crm/mlg/selectCashDtlsForm");
|
||||
fn_open_window();
|
||||
}
|
||||
}
|
||||
|
||||
/*쿠폰*/
|
||||
if (typeof fn_move_coupon === 'undefined') {
|
||||
function fn_move_coupon (e) {
|
||||
$("#crmInfoForm").attr("action", "/crm/coupon/selectHoldCouponDtlsForm");
|
||||
fn_open_window();
|
||||
}
|
||||
}
|
||||
|
||||
/*상품문의*/
|
||||
if (typeof fn_move_qna === 'undefined') {
|
||||
function fn_move_qna (e) {
|
||||
$("#crmInfoForm").attr("action", "/crm/bbs/selectGoodsInqryInqireForm?bbsId=goods_qna");
|
||||
|
||||
}
|
||||
}
|
||||
/*상담*/
|
||||
if (typeof fn_move_cnslt === 'undefined') {
|
||||
function fn_move_cnslt (e) {
|
||||
$("#crmInfoForm").attr("action", "/crm/cnslt/selectCnsltDtlsForm");
|
||||
fn_open_window();
|
||||
}
|
||||
}
|
||||
|
||||
/*새창으로 submit*/
|
||||
if (typeof fn_open_window === 'undefined') {
|
||||
function fn_open_window () {
|
||||
const form = $("#crmInfoForm");
|
||||
const url = form.attr('action');
|
||||
const formData = form.serialize(); // 폼 데이터 직렬화
|
||||
|
||||
// 새 창 생성
|
||||
const newWindow = window.open('', '_blank');
|
||||
|
||||
// 새 창에서 폼 데이터를 제출
|
||||
const newForm = $('<form>', {
|
||||
action: url,
|
||||
method: form.attr('method'),
|
||||
target: '_self',
|
||||
});
|
||||
|
||||
// 직렬화된 데이터를 숨은 입력 필드로 변환
|
||||
formData.split('&').forEach(pair => {
|
||||
const [name, value] = pair.split('=');
|
||||
$('<input>', {
|
||||
type: 'hidden',
|
||||
name: decodeURIComponent(name),
|
||||
value: decodeURIComponent(value)
|
||||
}).appendTo(newForm);
|
||||
});
|
||||
|
||||
// 새 창의 문서에 폼 추가 및 제출
|
||||
$(newWindow.document.body).append(newForm);
|
||||
newForm.submit();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- 고객 CRM 정보 -->
|
||||
<!-- 버튼의 data-info값과 id를 통일시켜야함 -->
|
||||
<div id="info01" class="mini-info-content" style="width: 450px; ">
|
||||
<div class="mini-info-content__header">
|
||||
<h5 class="mini-info-content__title">고객 CRM</h5>
|
||||
<button type = "button" class="mini-info-content__close"><span class="visually-hidden">닫기</span></button>
|
||||
</div>
|
||||
<div class="mini-info-content__content">
|
||||
<form id="crmInfoForm">
|
||||
<input type="hidden" id="mbrInnb" name="mbrInnb" value="<c:out value="${resultMap.paramVO.mbrInnb}"/>"/>
|
||||
<input type="hidden" id="mbrDvCd" name="mbrDvCd" value="<c:out value="${resultMap.paramVO.mbrDvCd}"/>"/>
|
||||
<input type="hidden" id="sopmalCd" name="sopmalCd" value=""/>
|
||||
</form>
|
||||
<div class="table-wrapper" style="margin-bottom: 13px;">
|
||||
<table class="table vertical">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 26%;">
|
||||
<col style="width: 24%;">
|
||||
<col style="width: 25%;">
|
||||
<col style="width: 25%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th><button type="button" onclick="fn_move_mbrInfo();">이름</button></th>
|
||||
<td><c:out value="${resultMap.result.mbrNm}"/></td>
|
||||
<th><button type="button" onclick="fn_move_mbrInfo();">아이디</button></th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${resultMap.result.joinMthCd eq 'kakao'}"><%--kakao--%>
|
||||
<i class="icon icon_word-badge_kakao"></i>
|
||||
</c:when>
|
||||
<c:when test="${resultMap.result.joinMthCd eq 'naver'}"><%--naver--%>
|
||||
<i class="icon icon_word-badge08"></i>
|
||||
</c:when>
|
||||
<c:when test="${resultMap.result.joinMthCd eq 'pos'}"><%--pos--%>
|
||||
<i class="icon icon_word-badge_pos"></i>
|
||||
<span class="fw-500 blue-7">
|
||||
<c:out value="${resultMap.result.mbrId}"/>
|
||||
</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<span><c:out value="${resultMap.result.mbrId}"/></span>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><button type="button" onclick="fn_move_mbrInfo();">핸드폰번호</button></th>
|
||||
<td colspan="3" id="crmMbtlnb"><c:out value="${resultMap.result.mbtlnb}"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><button type="button" onclick="fn_move_mbrInfo();">이메일</button></th>
|
||||
<td colspan="3"><c:out value="${resultMap.result.email}"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><button type="button" onclick="fn_move_mlg();">마일리지</button></th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.result.blceSum}">
|
||||
<fmt:formatNumber value="${resultMap.result.blceSum}" pattern="#,###"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
0
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
<th><button type="button" onclick="fn_move_ordr();">입금대기</button></th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.acttData.resultCnt.unprocessedDeposit }">
|
||||
<c:out value=" ${ resultMap.acttData.resultCnt.unprocessedDeposit }"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
0
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><button type="button" onclick="fn_move_coupon();">쿠폰</button></th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.result.dwldCouponInnbCnt }">
|
||||
<c:out value=" ${ resultMap.result.dwldCouponInnbCnt }"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
0
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
장
|
||||
</td>
|
||||
<th><button type="button" onclick="fn_move_ordr();">미처리 출고</button></th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.acttData.resultCnt.unprocessedRelease }">
|
||||
<c:out value=" ${ resultMap.acttData.resultCnt.unprocessedRelease }"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
0
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><button type="button" onclick="fn_move_cnslt();">미처리 상담</button></th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.acttData.resultCnt.unprocessedCnslt }">
|
||||
<c:out value=" ${ resultMap.acttData.resultCnt.unprocessedCnslt }"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
0
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
<th><button type="button" onclick="fn_move_refund();">미처리 반품/환불(취소)</button></th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.acttData.resultCnt.unprocessedRefund }">
|
||||
<c:out value=" ${ resultMap.acttData.resultCnt.unprocessedRefund }"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
0
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><button type="button" onclick="fn_move_actInfo();">활동정보</button></th>
|
||||
<td><button type="button" class="under-line" onclick="fn_move_actInfo();">보기</button></td>
|
||||
<th>
|
||||
<button type="button" onclick="fn_move_qna();">미처리 상품문의</button>
|
||||
</th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.acttData.resultCnt.unprocessedQna }">
|
||||
<c:out value=" ${ resultMap.acttData.resultCnt.unprocessedQna }"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
0
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>사용중인 SNS 또는 POS</th>
|
||||
<td <c:if test = "${resultMap.shopInfo.ordrSetupInfo.cashAt ne 'Y'}">colspan="3"</c:if>>
|
||||
<c:choose>
|
||||
<c:when test="${not empty resultMap.sns}">
|
||||
<c:forEach var="sms" items="${resultMap.sns}">
|
||||
<c:if test="${sms.extrlIntrlckDvCd eq '01'}">
|
||||
<c:set var = "kakao" value = "true"/>
|
||||
</c:if>
|
||||
<c:if test="${sms.extrlIntrlckDvCd eq '02'}">
|
||||
<c:set var = "naver" value = "true"/>
|
||||
</c:if>
|
||||
<c:if test="${sms.extrlIntrlckDvCd eq '03'}">
|
||||
<c:set var = "pos" value = "true"/>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:set var = "none" value = "없음"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<c:if test="${kakao eq 'true'}">
|
||||
<i class="icon icon_word-badge_kakao"></i>
|
||||
</c:if>
|
||||
<c:if test="${naver eq 'true'}">
|
||||
<i class="icon icon_word-badge_naver"></i>
|
||||
</c:if>
|
||||
<c:if test="${pos eq 'true'}">
|
||||
<i class="icon icon_word-badge_pos"></i>
|
||||
</c:if>
|
||||
<c:out value="${none}"/>
|
||||
</td>
|
||||
<c:if test = "${resultMap.shopInfo.ordrSetupInfo.cashAt eq 'Y'}">
|
||||
<th>
|
||||
<button type="button" onclick="fn_move_cash();">GC머니</button>
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${resultMap.result.mbrCashAmt}"/>
|
||||
</td>
|
||||
</c:if>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="form-control-container">
|
||||
<div class="left"></div>
|
||||
<div class="center">
|
||||
<button type="button" class="btn primary" onclick="fn_move_cnslt();">상담 등록</button>
|
||||
</div>
|
||||
<div class="right">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
65
src/main/webapp/WEB-INF/views/crm/mbr/MbrDataInqireR.jsp
Normal file
65
src/main/webapp/WEB-INF/views/crm/mbr/MbrDataInqireR.jsp
Normal file
@@ -0,0 +1,65 @@
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
|
||||
|
||||
<%--
|
||||
Class Name : CnsltDtlsRForm.jsp
|
||||
Description : CRM 상담 내역 jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-02-19 추지훈 최초 생성
|
||||
--%>
|
||||
|
||||
|
||||
<h3 class="content-section__title">상품
|
||||
</h3>
|
||||
<div class="table-wrapper">
|
||||
<table class="table vertical transparent">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: auto">
|
||||
<col style="width: auto">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.result && fn:length(resultMap.result) > 0 }">
|
||||
<c:forEach var="list" items="${ resultMap.result }" varStatus="status">
|
||||
<tr>
|
||||
<td class="text-left">
|
||||
<div class="order-section__product">
|
||||
<input type="hidden" id="sleGoodsInnb" name="sleGoodsInnb" value="<c:out value="${ list.sleGoodsInnb }"/>" />
|
||||
<a onclick="fn_move_goods_dtl_common('<c:out value="${list.goodsInnb}"/>','sopmal','','_blank');" style="cursor:pointer;">
|
||||
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
||||
<img src="${cdnurl}${list.img}" alt="상품이미지" width="56" height="56">
|
||||
</a>
|
||||
<div class="order-section__product-info">
|
||||
<a href="" class="order-section__product-productTitle">
|
||||
<c:out value="${ list.goodsNm }"/>
|
||||
</a>
|
||||
<span class="option-text">
|
||||
<span class="comma"><fmt:formatNumber value="${list.slepric}" pattern="#,###"/></span>원
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
|
||||
|
||||
<%--
|
||||
Class Name : CnsltDtlsRForm.jsp
|
||||
Description : CRM 상담 내역 jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-02-19 추지훈 최초 생성
|
||||
--%>
|
||||
|
||||
|
||||
<h3 class="content-section__title">최근 검색어
|
||||
</h3>
|
||||
<div class="table-wrapper">
|
||||
<table class="table vertical transparent">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: auto">
|
||||
<col style="width: auto">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.result && fn:length(resultMap.result) > 0 }">
|
||||
<c:forEach var="list" items="${ resultMap.result }" varStatus="status">
|
||||
<c:if test="${ status.index ne 0 }">, </c:if><c:out value="${ list.srchwrd }"/>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
651
src/main/webapp/WEB-INF/views/crm/mbr/MbrInfoUpdtU.jsp
Normal file
651
src/main/webapp/WEB-INF/views/crm/mbr/MbrInfoUpdtU.jsp
Normal file
@@ -0,0 +1,651 @@
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||||
|
||||
<%--
|
||||
Class Name : MbrInfoUpdtU.jsp
|
||||
Description : 회원 수정 jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-02-19 추지훈 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
|
||||
<head>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Include.jsp"%>
|
||||
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
//crm 정보 조회
|
||||
if ($("#mbrTyCd").val() === '01') {
|
||||
fn_get_crm_info($("#leftMbrInnb").val(), $("#leftMbrDvCd").val());
|
||||
} else {
|
||||
fn_get_crm_info_nmbr($("#leftMbtlnb").val());
|
||||
$("#nmbrMbtlnb").text(fn_format_mbtlnb($("#nmbrMbtlnb").text()));
|
||||
}
|
||||
fn_empty_val();
|
||||
//휴대폰 포매팅
|
||||
$("#mbtlnb").val(fn_format_mbtlnb($("#mbtlnb").val()));
|
||||
|
||||
//리셀러 셀렉트 이벤트
|
||||
$("#appnDvCd").on("change", function () {
|
||||
fn_showHide_appnMemo();
|
||||
});
|
||||
});
|
||||
|
||||
/*리셀러 변경 사유 show hide*/
|
||||
const fn_showHide_appnMemo = () => {
|
||||
if($("#appnDvCd").val() !== $("#beforeAppnDvCd").val()){
|
||||
$("#appnMemoTr").show();
|
||||
}else{
|
||||
$("#appnMemoTr").hide();
|
||||
$("#appnMemo").val("");
|
||||
}
|
||||
}
|
||||
|
||||
/* ********************************************************
|
||||
* 우편번호 찾기
|
||||
******************************************************** */
|
||||
const fn_set_postcode = function(data) {
|
||||
$('#postcode').val(data.postcode);
|
||||
if (data.addressType == '02') {
|
||||
$('#address').val(data.jibunAddress);
|
||||
} else if (data.addressType == '01') {
|
||||
$('#address').val(data.roadAddress);
|
||||
}
|
||||
$("#adresDv").val(data.addressType);
|
||||
}
|
||||
|
||||
/* ********************************************************
|
||||
* 회원 정보 수정
|
||||
******************************************************** */
|
||||
const fn_update = function() {
|
||||
|
||||
|
||||
const data = $('#mbrInfoUpdtForm').serialize();
|
||||
|
||||
|
||||
|
||||
|
||||
if (confirm('회원 정보를 <spring:message code="confirm.common.update"/>')) {
|
||||
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: '<c:url value="/crm/mbr/updateMbrInfoUpdt"/>',
|
||||
data: data,
|
||||
success: function (result) {
|
||||
result = JSON.parse(result.resBody.result);
|
||||
let msg = '';
|
||||
if(result.result === 'success'){
|
||||
msg = '<spring:message code="success.common.update"/>';
|
||||
}else{
|
||||
msg = '<spring:message code="fail.common.update"/>';
|
||||
}
|
||||
alert(msg);
|
||||
fn_move_crm_mbr_update();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
/* ********************************************************
|
||||
* CRM 회원 정보 수정 이동
|
||||
******************************************************** */
|
||||
const fn_move_crm_mbr_update = function() {
|
||||
$('#mbrInfoUpdtForm').attr('action', '<c:url value="/crm/mbr/selectMbrInfoUpdtInqire"/>');
|
||||
$('#mbrInfoUpdtForm').attr('method', 'post');
|
||||
$('#mbrInfoUpdtForm').submit();
|
||||
}
|
||||
|
||||
|
||||
|
||||
const fn_empty_val = function() {
|
||||
let isCheck = $('#pwChangeCheck').is(':checked')
|
||||
if (isCheck == false) {
|
||||
$('#mbrPassword').prop('disabled', true);
|
||||
$('#mbrPassword').val(null);
|
||||
$('#pwChangeInput').val(null);
|
||||
$('#mngrPw').hide();
|
||||
} else {
|
||||
$('#mbrPassword').prop('disabled', false);
|
||||
$('#mngrPw').show();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Header.jsp"%>
|
||||
<main class="main">
|
||||
<%-- CRM left 공통 --%>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Left.jsp"%>
|
||||
<div class="content">
|
||||
<div class="content__inner">
|
||||
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
|
||||
<div class="page-title">
|
||||
<h2 class="page-title__title">회원 정보 수정</h2>
|
||||
<div class="page-title__btn-container">
|
||||
<button class="btn primary" onclick="fn_update(); return false;" ><spring:message code="button.update"/></button>
|
||||
</div>
|
||||
</div>
|
||||
<form id="mbrInfoUpdtForm" name="mbrInfoUpdtForm">
|
||||
<input type="hidden" id="mbrInnb" name="mbrInnb" value="<c:out value="${ resultMap.result.mbrInnb }"/>" />
|
||||
<input type="hidden" id="mbrDvCd" name="mbrDvCd" value="<c:out value="${ resultMap.result.mbrDvCd }"/>" />
|
||||
<input type="hidden" id="sopmalCd" name="sopmalCd" value="" />
|
||||
<section class="content-section">
|
||||
<h3 class="content-section__title">기본 정보</h3>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 15%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>가입일</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<c:out value="${ resultMap.result.registDt }"/>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>등급</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input type = "hidden" name = "beforeMbrGradInnb" value = "<c:out value = "${resultMap.result.mbrGradInnb}"/>"/>
|
||||
<div class="select-box">
|
||||
<select title="해당 셀렉트에 대한 설명" name="mbrGradInnb">
|
||||
<c:forEach var="gradList" items="${ resultMap.gradList }" varStatus="status">
|
||||
<c:choose>
|
||||
<c:when test="${ resultMap.result.mbrGradInnb eq gradList.mbrGradInnb }">
|
||||
<option value="<c:out value="${ gradList.mbrGradInnb }"/>" selected="selected"><c:out value="${ gradList.mbrGradNm }"/></option>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<option value="<c:out value="${ gradList.mbrGradInnb }"/>"><c:out value="${ gradList.mbrGradNm }"/></option>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
<section class="content-section">
|
||||
<h3 class="content-section__title">
|
||||
개인 정보
|
||||
</h3>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 15%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>최초 가입 쇼핑몰</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<c:out value="${resultMap.result.mainSopmalNm}"/>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<c:if test = "${not empty resultMap.extrlMember}">
|
||||
<tr>
|
||||
<th>사용중인 SNS 또는 POS</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<c:forEach var = "extrlMember" items = "${resultMap.extrlMember}">
|
||||
<c:if test = "${extrlMember.extrlIntrlckDvCd eq '01'}">
|
||||
<c:set var = "kakao" value = "<i class='icon icon_word-badge_kakao'></i>"/>
|
||||
</c:if>
|
||||
<c:if test = "${extrlMember.extrlIntrlckDvCd eq '02'}">
|
||||
<c:set var = "naver" value = "<i class='icon icon_word-badge_naver'></i>"/>
|
||||
</c:if>
|
||||
<c:if test = "${extrlMember.extrlIntrlckDvCd eq '03'}">
|
||||
<c:set var = "pos" value = "<i class='icon icon_word-badge_pos'></i>"/>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
${kakao}
|
||||
${naver}
|
||||
${pos}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<c:if test = "${not empty pos}">
|
||||
<tr>
|
||||
<th>가입한 매장</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<c:forEach var = "extrlMember" items = "${resultMap.extrlMember}">
|
||||
<c:if test = "${extrlMember.extrlIntrlckDvCd eq '03'}">
|
||||
<c:out value="${extrlMember.tentcpnNm}"/><br>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>최근 매장 방문일</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<c:out value="${ resultMap.result.posRecentVisitDt}"/>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>최근 방문 매장</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<c:out value="${resultMap.result.posRecentVisitStrNm}"/>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
</c:if>
|
||||
<tr>
|
||||
<th>이름<span class="red-7">*</span></th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text sm" type="text" id="mbrNm" name="mbrNm" title="회원명" value="<c:out value="${ resultMap.result.mbrNm }"/>">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>아이디 변경
|
||||
<label class="b-checkbox checkbox is-medium ml-4">
|
||||
<input type="checkbox" id="idChangeCheck" name="mbrIdChngAt" value="Y">
|
||||
<span class="check"></span>
|
||||
</label>
|
||||
</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text" type="text" id="mbrid" name="mbrId" title="회원ID" value="<c:out value="${ resultMap.result.mbrId }"/>" disabled>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
비밀번호 변경
|
||||
<label class="b-checkbox checkbox is-medium ml-4">
|
||||
<input type="checkbox" id="pwChangeCheck" name="mbrPwdChngAt" value="Y" onchange="fn_empty_val();">
|
||||
<span class="check"></span>
|
||||
</label>
|
||||
</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text" type="password" id="mbrPassword" name="mbrPassword" title="회원 비밀번호">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>관리자 비밀번호 확인<span class="red-7" id = "mngrPw">*</span></th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text" id="pwChangeInput" name="password" disabled type="password" value="" title="관리자 비밀번호 입력"/>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<%--리셀러 관련 데이터--%>
|
||||
<input type="hidden" name="beforeAppnDvCd" id="beforeAppnDvCd" value="${resultMap.result.appnDvCd}"/>
|
||||
<input type="hidden" name="appnInnbArr[0]" value="${resultMap.result.appnInnb}"/>
|
||||
<th>리셀러 여부
|
||||
<button class="mini-info-btn mb-4 ml-4" data-info="rslrInfo">?</button>
|
||||
</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<c:out value="${ resultMap.result.appnDvNm}"/>
|
||||
->
|
||||
<div class="select-box">
|
||||
<select class="short2" name="appnDvCd" title="리셀러" id = "appnDvCd">
|
||||
<c:forEach var="rslr" items="${resultMap.rslr}">
|
||||
<option value="${rslr.cd}" ${f:setSelected(resultMap.result.appnDvCd,rslr.cd)}>${rslr.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
(으)로 변경
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="appnMemoTr" style="display: none;">
|
||||
<th>리셀러 변경 사유<span class="red-7">*</span></th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text md" type="text" name="appnMemo" id="appnMemo" title="변경사유"/>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>이메일</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text md" type="text" id="email" name="email" title="이메일" value="<c:out value="${ resultMap.result.email }"/>">
|
||||
<button type="button" class="btn gray xsm sndng" value = "/mngr/ntcn/email/selectEmailSndngPopupForm">이메일 보내기</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>핸드폰</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text" type="text" id="mbtlnb" name="mbtlnb" title="휴대폰번호" oninput="fn_fmt_telno($(this));" value="<c:out value="${ resultMap.result.mbtlnb }"/>" maxlength="13">
|
||||
<button type="button" class="btn gray xsm sndng" value = "/mngr/ntcn/mssage/selectMssageSndngPopupForm">SMS 보내기</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>마케팅 수신 동의</th>
|
||||
<td>
|
||||
<div class="">
|
||||
<c:if test = "${not empty resultMap.sopmalList}">
|
||||
<%-- 통합몰 리스트와 쇼핑몰 별 마케팅 동의 여부 체크
|
||||
agreeAtCheck : 통합몰 일 경우 세팅 할 checked 여부 판단
|
||||
agreeAtSelect : 통합몰 일 경우 세팅 할 selected 여부 판단
|
||||
beforeAgreeAt : 수정 전 각 쇼핑몰 별 동의 여부
|
||||
--%>
|
||||
<c:forEach var = "sopmalList" items = "${resultMap.sopmalList}" varStatus="status">
|
||||
<%--변수 초기화--%>
|
||||
<c:set var = "agreeAtCheck" value = ""/>
|
||||
<c:set var = "agreeAtSelect" value = ""/>
|
||||
<c:set var = "beforeAgreeAt" value = ""/>
|
||||
<c:set var = "marktRecptnAgreUpdtDt" value = ""/>
|
||||
<c:set var = "marktRecptnAgreTrnsmisDt" value = ""/>
|
||||
<%--마케팅 동의 리스트 (쇼핑몰 전체 없을 수 있음)--%>
|
||||
<c:if test = "${not empty resultMap.agreeAtList}">
|
||||
<c:forEach var="agreeAtList" items="${resultMap.agreeAtList}">
|
||||
<c:if test = "${agreeAtList.sopmalCd eq sopmalList.sopmalCd}">
|
||||
<c:choose>
|
||||
<c:when test="${agreeAtList.agreeAt eq 'Y'}">
|
||||
<c:set var="agreeAtCheck" value="checked"/> <%--통합몰--%>
|
||||
<c:set var="agreeAtSelect" value="selected"/> <%--독립몰--%>
|
||||
<c:set var="beforeAgreeAt" value="Y"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:set var="beforeAgreeAt" value="N"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<c:if test = "${not empty agreeAtList.marktRecptnAgreUpdtDt}"><%--마케팅 수정 일시--%>
|
||||
<c:set var = "marktRecptnAgreUpdtDt" value = "<p class='stone-7' style='margin-top:5px;'>최종 수정일 : ${agreeAtList.marktRecptnAgreUpdtDt}</p>"/>
|
||||
</c:if>
|
||||
<c:if test = "${not empty agreeAtList.marktRecptnAgreTrnsmisDt}">
|
||||
<c:set var = "marktRecptnAgreTrnsmisDt" value = "<p class='fyi stone-7'>/ 광고성 정보 수신동의 안내 확인 발송 예정일: ${agreeAtList.marktRecptnAgreTrnsmisDt}</span>"/>
|
||||
</c:if>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</c:if>
|
||||
<%-- 수정 시 필요 파라미터 : 수정 전 동의 여부 , 수정 후 동의 여부, 쇼핑몰 코드 vo 리스트로 넘김 --%>
|
||||
<c:choose>
|
||||
<c:when test = "${fn:length(resultMap.sopmalList) > 1}"> <%--통합몰 체크박스--%>
|
||||
<label class="b-checkbox checkbox ml-4" style="margin-top:5px;">
|
||||
<input type="checkbox" value="Y" name="agreeAtList[${status.index}].marktRecptnAgreAt" class="marketingAgree" onclick="fn_ctr_pCheckbox('#marketAgreeAll','.marketingAgree');" ${agreeAtCheck}>
|
||||
<span class="check"></span>
|
||||
<span class="control-label" style=""><c:out value="${sopmalList.sopmalNm}"/></span>
|
||||
</label>
|
||||
<br>
|
||||
</c:when>
|
||||
<c:otherwise><%--독립몰 셀렉트박스--%>
|
||||
<div class="select-box">
|
||||
<select class="short2" name="agreeAtList[${status.index}].marktRecptnAgreAt" title="마케팅 수신 동의 여부">
|
||||
<option value="Y" ${f:setSelected(beforeAgreeAt,'Y')}>동의</option>
|
||||
<option value="N" ${f:setSelected(beforeAgreeAt,'N')}>거부</option>
|
||||
</select>
|
||||
</div>
|
||||
<br>
|
||||
<br>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
${marktRecptnAgreUpdtDt}
|
||||
${marktRecptnAgreTrnsmisDt}
|
||||
<input type = "hidden" name = "agreeAtList[${status.index}].beforeMarktRecptnAgreAt" value = "<c:out value="${beforeAgreeAt}"/>"/>
|
||||
<input type = "hidden" name = "agreeAtList[${status.index}].sopmalCd" value = "<c:out value = "${sopmalList.sopmalCd}"/>"/>
|
||||
</c:forEach>
|
||||
</c:if>
|
||||
<p class="stone-7" style="margin-top: 7px;">※통합몰 일 경우, 체크 => 동의</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>주소</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="address-group">
|
||||
<div class="address-line">
|
||||
<span class="address-line__title">우편번호</span>
|
||||
<input type="text" id="postcode" class="input-text xsm mr-2" value="<c:out value="${ resultMap.result.zip }"/>" readonly
|
||||
title="사업장 우편번호" name="zip">
|
||||
<button type="button"
|
||||
onclick="fn_select_postcode(fn_set_postcode); return false;"
|
||||
class="address-line__find-btn">주소찾기
|
||||
</button>
|
||||
</div>
|
||||
<c:choose>
|
||||
<c:when test = "${resultMap.result.adresDv eq '01'}">
|
||||
<div class="address-line">
|
||||
<span class="address-line__title">도로명 주소</span>
|
||||
<input type="text" id="address" class="input-text md" value="<c:out value="${ resultMap.result.rnmAdres }"/>" readonly
|
||||
title="도로명 주소" name="adres">
|
||||
</div>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<div class="address-line">
|
||||
<span class="address-line__title">지번 주소</span>
|
||||
<input type="text" id="address" class="input-text md" value="<c:out value="${ resultMap.result.lnbAdres }"/>" readonly
|
||||
title="지번 주소" name="adres">
|
||||
</div>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<div class="address-line">
|
||||
<span class="address-line__title">상세주소</span>
|
||||
<input type="text" id="detailAddress" class="input-text md" value="<c:out value="${resultMap.result.dtlAdres}"/>" maxlength="35"
|
||||
title="사업장 상세주소" name="dtlAdres">
|
||||
</div>
|
||||
<input type = "hidden" id = "adresDv" name = "adresDv" value = "<c:out value = "${resultMap.result.adresDv}"/>"/>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>생일</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="select-box" id="selectBoxDiv" >
|
||||
<jsp:useBean id="now" class="java.util.Date" />
|
||||
<fmt:formatDate var="year" value="${now}" pattern="yyyy" />
|
||||
<select id="birthdayYear" name="brthDe">
|
||||
<c:forEach var="i" begin="0" end="101" >
|
||||
<c:choose>
|
||||
<c:when test="${ (year-i) eq fn:substring( resultMap.result.brthDe,0, 4 ) }">
|
||||
<option value="<c:out value="${ year-i }"/>" selected="selected"><c:out value="${ year-i }"/></option>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<option value="<c:out value="${ year-i }"/>"><c:out value="${ year-i }"/></option>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<span class="mr-10">년</span>
|
||||
<div class="select-box">
|
||||
<select class="short2" id="birthdayMonth" name="brthDe" title="시간설정 셀렉트박스">
|
||||
<c:forEach var="month" begin="1" end="12" >
|
||||
<c:choose>
|
||||
<c:when test="${ month eq fn:substring( resultMap.result.brthDe,4, 6 ) }">
|
||||
<option value="<c:if test="${ month lt 10 }">0</c:if><c:out value="${ month }"/>" selected="selected"><c:if test="${ month lt 10 }">0</c:if><c:out value="${ month }"/></option>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<option value="<c:if test="${ month lt 10 }">0</c:if><c:out value="${ month }"/>"><c:if test="${ month lt 10 }">0</c:if><c:out value="${ month }"/></option>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<span>월</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>성별</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select class="short" id="sexdstn" name="sex" title="성별">
|
||||
<c:forEach var = "sex" items = "${resultMap.sex}">
|
||||
<option value="<c:out value="${sex.cd}"/>" <c:if test="${sex.cd eq resultMap.result.sex }">selected="selected"</c:if> ><c:out value="${sex.cdNm}"/></option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
</form>
|
||||
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
|
||||
</div>
|
||||
<%-- CRM right 공통 --%>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Right.jsp"%>
|
||||
</div>
|
||||
</main>
|
||||
<div id="rslrInfo" class="mini-info-content" style="width: 500px; top: 756.51px; left: 412.535px; display: none;">
|
||||
<div class="mini-info-content__header">
|
||||
<h5 class="mini-info-content__title">리셀러 지정</h5>
|
||||
<button class="mini-info-content__close"><span class="visually-hidden">닫기</span></button>
|
||||
</div>
|
||||
<div class="mini-info-content__content">
|
||||
<p>ERP에서 블랙리스트 지정시, 회원정보에서 수정해도 블랙리스트로 지정 됩니다.</p>
|
||||
</div>
|
||||
</div>
|
||||
<%--
|
||||
<!-- 통합회원(문자 인증) 모달 -->
|
||||
<div id="adminTyping-pop" class="modal" style="max-width: 600px;">
|
||||
<div class="modal-header">
|
||||
<h4>통합회원(문자 인증)</h4>
|
||||
</div>
|
||||
<div class="modal-content">
|
||||
<div class="adminTyping">
|
||||
<p class="adminTyping__paragraph">
|
||||
고객이름과 휴대전화를 입력 후 <span class="fw-500 blue-7">[전송]</span> 버튼을 누르시면,
|
||||
<br>
|
||||
통합회원 가입 및 전환 안내문자가 고객님께 전송됩니다.
|
||||
</p>
|
||||
<p class="adminTyping__subParagraph">
|
||||
- 방법 1. 문자의 인증번호를 입력하여, 포스에서 간편 가입
|
||||
<br>
|
||||
- 방법 2. 문자의 링크를 통해서 고객님의 폰에서 직접 가입
|
||||
</p>
|
||||
<div class="table-wrapper" style="width: 400px;">
|
||||
<table class="table transparent">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 120px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="text-right">
|
||||
고객이름 :
|
||||
</th>
|
||||
<td class="text-left">
|
||||
<div class="td-inner">
|
||||
<input class="input-text" type="text" title="해당 인풋에 대한 설명">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="text-right">
|
||||
휴대전화 :
|
||||
</th>
|
||||
<td class="text-left">
|
||||
<div class="td-inner">
|
||||
<div class="input-container gap-5">
|
||||
<input class="input-text" type="text" title="해당 인풋에 대한 설명">
|
||||
<button class="btn primary outline sm">전송</button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="text-right">
|
||||
인증번호 :
|
||||
</th>
|
||||
<td class="text-left">
|
||||
<div class="td-inner">
|
||||
<div class="input-container gap-5">
|
||||
<input class="input-text" type="text" title="해당 인풋에 대한 설명">
|
||||
<button class="btn gray sm">확인</button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<p class="adminTyping__paragraph">
|
||||
간편가입 또는 직접가입을 완료하신 후에,
|
||||
<br>
|
||||
이 창을 닫고 다시 회원 검색을 진행하시기 바랍니다.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#" rel="modal:close" class="btn outline">닫기</a>
|
||||
<button class="btn primary">확인</button>
|
||||
</div>
|
||||
</div>
|
||||
--%>
|
||||
|
||||
<script>
|
||||
|
||||
// 비밀번호 변경 체크시, 인풋 활성화
|
||||
|
||||
var pwChangeCheck = document.getElementById('pwChangeCheck');
|
||||
var pwChangeInput = document.getElementById('pwChangeInput');
|
||||
|
||||
pwChangeCheck.addEventListener('change', function () {
|
||||
if (pwChangeCheck.checked) {
|
||||
pwChangeInput.disabled = false;
|
||||
} else {
|
||||
pwChangeInput.disabled = true;
|
||||
}
|
||||
});
|
||||
|
||||
var idChangeCheck = document.getElementById('idChangeCheck');
|
||||
var mbrid = document.getElementById('mbrid');
|
||||
|
||||
idChangeCheck.addEventListener('change', function () {
|
||||
if (idChangeCheck.checked) {
|
||||
mbrid.disabled = false;
|
||||
} else {
|
||||
mbrid.disabled = true;
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
116
src/main/webapp/WEB-INF/views/crm/mbr/MbrSecsnProcsPopupU.jsp
Normal file
116
src/main/webapp/WEB-INF/views/crm/mbr/MbrSecsnProcsPopupU.jsp
Normal file
@@ -0,0 +1,116 @@
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
|
||||
|
||||
<%--
|
||||
Class Name : CnsltDtlsRForm.jsp
|
||||
Description : CRM 상담 내역 jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-02-19 추지훈 최초 생성
|
||||
--%>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
let selText = $('select[name="strInnb"] option:selected').text();
|
||||
$('#strNmCheck').val(selText);
|
||||
|
||||
|
||||
$('select[name="strInnb"]').change(function() {
|
||||
var selectedOption = $(this).find('option:selected');
|
||||
var selectedText = selectedOption.text();
|
||||
$('#strNmCheck').val(selectedText);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<!-- 회원 탈퇴 모달 -->
|
||||
<div id="delete-account-pop" class="modal" style="max-width: 640px;">
|
||||
<div class="modal-header">
|
||||
<h4>회원 탈퇴</h4>
|
||||
</div>
|
||||
<div class="modal-content">
|
||||
<form id="mbrSecsnForm">
|
||||
<input type="hidden" id="secsnMbrInnb" name="mbrInnb" value="<c:out value="${ mbrVO.mbrInnb }"/>"/>
|
||||
<input type="hidden" id="secsnMbrDvCd" name="mbrDvCd" value="<c:out value="${ mbrVO.mbrDvCd }"/>"/>
|
||||
<div class="adminTyping">
|
||||
<div class="table-wrapper" style="width: 500px;">
|
||||
<table class="table transparent">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 120px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="text-right v-align-top">
|
||||
탈퇴사유 :
|
||||
</th>
|
||||
<td class="text-left">
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="r-2" name="secsnResn" value="배송 주문 불만족">
|
||||
<label for="r-2">배송 주문 불만족</label>
|
||||
</div>
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="r-3" name="secsnResn" value="사이트 이용 불편">
|
||||
<label for="r-3">사이트 이용 불편</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="custom-radio-container">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="r-4" name="secsnResn" value="상품품질 불만족">
|
||||
<label for="r-4">상품품질 불만족</label>
|
||||
</div>
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="r-5" name="secsnResn" value="서비스 불만족">
|
||||
<label for="r-5">서비스 불만족</label>
|
||||
</div>
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="r-1" name="secsnResn" value="기타">
|
||||
<label for="r-1">기타</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="text-right">
|
||||
내용 :
|
||||
</th>
|
||||
<td class="text-left">
|
||||
<div class="td-inner">
|
||||
<input class="input-text md" type="text" name="memo" title="탈퇴 메모">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<p class="adminTyping__paragraph">
|
||||
회원 탈퇴 시, 회원의 모든 정보가 바로 <span class="red-7 fw-500">삭제</span>되어집니다!
|
||||
<br>
|
||||
정말로 <span class="blue-6 fw-500">회원</span>을 탈퇴하시겠습니까?
|
||||
</p>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#" rel="modal:close" class="btn outline">닫기</a>
|
||||
<button type="button" class="btn primary" onclick="fn_regist_mbr_secsn();">확인</button>
|
||||
</div>
|
||||
</div>
|
||||
147
src/main/webapp/WEB-INF/views/crm/mbr/NmbrCrmInfoPopupR.jsp
Normal file
147
src/main/webapp/WEB-INF/views/crm/mbr/NmbrCrmInfoPopupR.jsp
Normal file
@@ -0,0 +1,147 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%--
|
||||
Class Name : MbrCrmInfoPopupR.jsp
|
||||
Description :
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-02-19 추지훈
|
||||
--%>
|
||||
<script>
|
||||
/*주문*/
|
||||
if (typeof fn_move_ordr === 'undefined') {
|
||||
function fn_move_ordr() {
|
||||
$("#crmInfoForm").attr("action", "/crm/ordr/selectMbrOrdrListInqireForm");
|
||||
fn_open_window();
|
||||
}
|
||||
}
|
||||
|
||||
/*반품/환불 내역*/
|
||||
if (typeof fn_move_refund === 'undefined') {
|
||||
function fn_move_refund() {
|
||||
$("#crmInfoForm").attr("action", "/crm/ordr/selectMbrRtngudRefndDtlsInqireForm");
|
||||
fn_open_window();
|
||||
}
|
||||
}
|
||||
|
||||
/*반품/환불 내역*/
|
||||
if (typeof fn_move_cnslt === 'undefined') {
|
||||
function fn_move_cnslt () {
|
||||
$("#crmInfoForm").attr("action", "/crm/cnslt/selectCnsltDtlsForm");
|
||||
fn_open_window();
|
||||
}
|
||||
}
|
||||
|
||||
/*새창으로 submit*/
|
||||
if (typeof fn_open_window === 'undefined') {
|
||||
function fn_open_window() {
|
||||
const form = $("#crmInfoForm");
|
||||
const url = form.attr('action');
|
||||
const formData = form.serialize(); // 폼 데이터 직렬화
|
||||
|
||||
// 새 창 생성
|
||||
const newWindow = window.open('', '_blank');
|
||||
|
||||
// 새 창에서 폼 데이터를 제출
|
||||
const newForm = $('<form>', {
|
||||
action: url,
|
||||
method: form.attr('method'),
|
||||
target: '_self',
|
||||
});
|
||||
|
||||
// 직렬화된 데이터를 숨은 입력 필드로 변환
|
||||
formData.split('&').forEach(pair => {
|
||||
const [name, value] = pair.split('=');
|
||||
$('<input>', {
|
||||
type: 'hidden',
|
||||
name: decodeURIComponent(name),
|
||||
value: decodeURIComponent(value)
|
||||
}).appendTo(newForm);
|
||||
});
|
||||
|
||||
// 새 창의 문서에 폼 추가 및 제출
|
||||
$(newWindow.document.body).append(newForm);
|
||||
newForm.submit();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<!-- 고객 CRM 정보 -->
|
||||
<!-- 버튼의 data-info값과 id를 통일시켜야함 -->
|
||||
<div id="info01" class="mini-info-content" style="width: 200px; ">
|
||||
<div class="mini-info-content__header">
|
||||
<h5 class="mini-info-content__title">고객 CRM</h5>
|
||||
<button type = "button" class="mini-info-content__close"><span class="visually-hidden">닫기</span></button>
|
||||
</div>
|
||||
<form id="crmInfoForm">
|
||||
<input type="hidden" id="mbtlnb" name="mbtlnb" value="<c:out value="${vo.mbtlnb}"/>"/>
|
||||
<input type="hidden" id="ordrInnb" name="ordrInnb" value="<c:out value="${vo.ordrInnb}"/>"/>
|
||||
<input type="hidden" id="mbrNm" name="mbrNm" value="<c:out value="${vo.mbrNm}"/>"/>
|
||||
</form>
|
||||
<div class="mini-info-content__content">
|
||||
<div class="table-wrapper">
|
||||
<table class="table vertical">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 26%;">
|
||||
<col style="width: 24%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th><button type="button" onclick="fn_move_ordr();">입금대기</button></th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.mbrData.unprocessedDeposit }">
|
||||
<c:out value=" ${ resultMap.mbrData.unprocessedDeposit }"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
0
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><button type="button" onclick="fn_move_ordr();">미처리 출고</button></th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.mbrData.unprocessedRelease }">
|
||||
<c:out value=" ${ resultMap.mbrData.unprocessedRelease }"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
0
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><button type="button" onclick="fn_move_refund();">미처리 <br>반품/환불(취소)</button></th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.acttData.resultCnt.unprocessedRefund }">
|
||||
<c:out value=" ${ resultMap.acttData.resultCnt.unprocessedRefund }"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
0
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="form-control-container">
|
||||
<div class="left"></div>
|
||||
<div class="center">
|
||||
<button type="button" class="btn primary" onclick="fn_move_cnslt()">상담 등록</button>
|
||||
</div>
|
||||
<div class="right">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
132
src/main/webapp/WEB-INF/views/crm/mlg/CashDtlsR.jsp
Normal file
132
src/main/webapp/WEB-INF/views/crm/mlg/CashDtlsR.jsp
Normal file
@@ -0,0 +1,132 @@
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
|
||||
|
||||
<%--
|
||||
Class Name : MlgDtlsRForm.jsp
|
||||
Description : CRM 마일리지 내역 jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-02-19 추지훈 최초 생성
|
||||
--%>
|
||||
<section class="content-section">
|
||||
<div class="form-control-container">
|
||||
<div class="left">
|
||||
<div class="search-number">
|
||||
<span class="search-number__text">총 <strong><c:out value="${ resultMap.paginationInfo.totalRecordCount }"/></strong>건</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="center">
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="select-box">
|
||||
<select id="pageUnit" name="pageUnit" title="페이지당 출력될 목록건수" onchange="fn_select_crm_mlg_list(1);">
|
||||
<c:forEach items="${ resultMap.paginationInfo.pageUnitArr }" var="pageUnit" varStatus="pageUnitStatus">
|
||||
<option value="<c:out value="${ pageUnit }"/>" <c:if test="${ resultMap.paginationInfo.recordCountPerPage eq pageUnit}">selected="selected"</c:if>><c:out value="${ pageUnit }"/>개씩</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="horizontal-line">
|
||||
<div class="form-control-container">
|
||||
<div class="left">
|
||||
<div class="gray-10">
|
||||
<span><c:out value="${resultMap.mbrInfo.mbrNm}"/></span>님의 보유 GC 머니
|
||||
<span class="blue-7 comma">
|
||||
<c:if test="${!empty resultMap.blce}">
|
||||
<fmt:formatNumber value="${resultMap.blce}" maxFractionDigits="0" />
|
||||
</c:if>
|
||||
<c:if test="${empty resultMap.blce}">
|
||||
<fmt:formatNumber value="0" maxFractionDigits="0" />
|
||||
</c:if>
|
||||
</span>원
|
||||
</div>
|
||||
</div>
|
||||
<div class="center">
|
||||
</div>
|
||||
<div class="right">
|
||||
</div>
|
||||
</div>
|
||||
<hr class="spacing">
|
||||
<div class="table-wrapper overflow-x-auto">
|
||||
<table class="table vertical tight">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: 5%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>번호</th>
|
||||
<th>브랜드</th>
|
||||
<th>지급/차감 금액</th>
|
||||
<th>잔액</th>
|
||||
<th>사유</th>
|
||||
<th>내역</th>
|
||||
<th>등록일</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="mlgListBody">
|
||||
<c:choose>
|
||||
<c:when test="${!empty resultMap.cashList}">
|
||||
<c:forEach var="crmMlg" items="${ resultMap.cashList }" varStatus="status">
|
||||
<tr>
|
||||
<td><c:out value="${ resultMap.paginationInfo.totalRecordCount - crmMlg.rnum + 1 }"/></td>
|
||||
<td><c:out value="${ crmMlg.sopmalNm }"/></td>
|
||||
<td>
|
||||
<span class="comma">
|
||||
<fmt:formatNumber value="${crmMlg.accmlmnyAmt}"
|
||||
maxFractionDigits="0"/>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="comma fw-500">
|
||||
<fmt:formatNumber value="${crmMlg.blce}"
|
||||
maxFractionDigits="0"/>
|
||||
</span>
|
||||
</td>
|
||||
<td><c:out value="${crmMlg.mlgApplcResn}"/></td>
|
||||
<td>
|
||||
<button class="blue-6 fw-500" type="button"
|
||||
onclick="fn_go_ordr_dtl('<c:out value="${ crmMlg.ordrInnb }"/>');">
|
||||
<c:out value="${ crmMlg.ordrInnb }"/></button>
|
||||
</td>
|
||||
<td>
|
||||
<fmt:parseDate value="${crmMlg.registDt}" pattern="yyyy-MM-dd'T'HH:mm:ss"
|
||||
var="registDt"/>
|
||||
<fmt:formatDate value="${registDt }" var="formattedRegistDt"
|
||||
pattern="yyyy-MM-dd HH:mm:ss"/>
|
||||
<c:out value="${ formattedRegistDt }"/>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr>
|
||||
<td class="row-no-data" colspan="12">조회된 데이터가 없습니다.</td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
<div class="pagination__container">
|
||||
<ui:pagination paginationInfo="${resultMap.paginationInfo}" type="image" jsFunction="fn_select_crm_mlg_list"/>
|
||||
</div>
|
||||
<div id = "mlgManagePopupDiv"></div>
|
||||
<script src="/admin/js/script.js" defer=""></script>
|
||||
219
src/main/webapp/WEB-INF/views/crm/mlg/CashDtlsRForm.jsp
Normal file
219
src/main/webapp/WEB-INF/views/crm/mlg/CashDtlsRForm.jsp
Normal file
@@ -0,0 +1,219 @@
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
|
||||
|
||||
<%--
|
||||
Class Name : MlgDtlsRForm.jsp
|
||||
Description : CRM 마일리지 내역 jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-02-19 추지훈 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
|
||||
<head>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Include.jsp"%>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
fn_set_date('srchStartDate','srchEndDate','srchEndDate');
|
||||
|
||||
$('#listForm').on('keydown', function(e) {
|
||||
if (e.keyCode == 13) {
|
||||
e.preventDefault();
|
||||
$('#searchBtn').trigger("click");
|
||||
}
|
||||
});
|
||||
//crm 정보 조회
|
||||
if ($("#mbrTyCd").val() === '01') {
|
||||
fn_get_crm_info($("#leftMbrInnb").val(), $("#leftMbrDvCd").val());
|
||||
} else {
|
||||
fn_get_crm_info_nmbr($("#leftMbtlnb").val());
|
||||
$("#nmbrMbtlnb").text(fn_format_mbtlnb($("#nmbrMbtlnb").text()));
|
||||
}
|
||||
let pageIndex = '<c:out value="${ resultMap.paramVO.pageIndex }"/>';
|
||||
let pageUnit = '<c:out value="${ resultMap.paramVO.pageUnit }"/>';
|
||||
|
||||
|
||||
fn_select_crm_mlg_list(pageIndex, pageUnit);
|
||||
|
||||
$('#allDays').on('click', function() {
|
||||
$('#srchStartDate, #srchEndDate').val('');
|
||||
});
|
||||
fn_add_crm_menu_class("leftMlg");
|
||||
});
|
||||
/******************************************************
|
||||
* 마일리지 목록 조회
|
||||
*******************************************************/
|
||||
const fn_select_crm_mlg_list = function(pageIndex, pageUnit) {
|
||||
|
||||
let dataStr;
|
||||
if(!pageIndex) {
|
||||
$('#pageIndex').val(1);
|
||||
} else {
|
||||
$('#pageIndex').val(pageIndex);
|
||||
}
|
||||
|
||||
if(!pageUnit) {
|
||||
dataStr = $('#listForm').serialize();
|
||||
} else {
|
||||
if($('#pageUnit').length){
|
||||
$('#pageUnit').val(pageUnit);
|
||||
dataStr = $('#listForm').serialize();
|
||||
} else {
|
||||
dataStr = $('#listForm').serialize()+'&pageUnit='+pageUnit;
|
||||
}
|
||||
}
|
||||
|
||||
$('#pageIndex').val(pageIndex);
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url : "<c:url value="/crm/mlg/selectCashDtlsInqire"/>",
|
||||
data : dataStr,
|
||||
success:function(resultHtml) {
|
||||
$('#pageDiv').html(resultHtml);
|
||||
$('#pageUnit').niceSelect();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
/***************************************************
|
||||
* 주문 상세 이동
|
||||
* *************************************************/
|
||||
const fn_go_ordr_dtl = function(ordrInnb) {
|
||||
|
||||
var form = $('#listForm')
|
||||
|
||||
$(form).find('input[name="ordrInnb"]').remove();
|
||||
$(form).append($('<input/>', {type:'hidden', name:'ordrInnb', id:'ordrInnb', value:ordrInnb}));
|
||||
|
||||
$(form).attr('target', '');
|
||||
$(form).attr('method', 'post');
|
||||
$(form).attr('action', '<c:url value="/mngr/ordr/ordrmngr/selectOrdrDtlInqire"/>');
|
||||
|
||||
$(form).submit();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Header.jsp"%>
|
||||
<main class="main">
|
||||
<%-- CRM left 공통 --%>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Left.jsp"%>
|
||||
<div class="content">
|
||||
<div class="content__inner">
|
||||
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
|
||||
<div class="page-title">
|
||||
<h2 class="page-title__title">GC 머니 내역</h2>
|
||||
<div class="page-title__btn-container">
|
||||
</div>
|
||||
</div>
|
||||
<form id="listForm">
|
||||
<input type="hidden" name="mbrInnb" id="mbrInnb" value="<c:out value='${ resultMap.paramVO.mbrInnb }'/>">
|
||||
<input type="hidden" name="mbrDvCd" id="mbrDvCd" value="<c:out value='${ resultMap.paramVO.mbrDvCd }'/>">
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value="<c:out value="${ resultMap.paramVO.pageIndex }"/>"/>
|
||||
<section class="content-section" id="mlgSrchSection">
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>날짜</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="input-container">
|
||||
<input type="text" name="srchStartDate" id="srchStartDate" class="datepicker" title="시작 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd">
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" name="srchEndDate" id="srchEndDate" class="datepicker" title="종료 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd">
|
||||
</div>
|
||||
<div class="dateRange-btnContainer">
|
||||
<button type="button" class="dateRange-btn" id="yesterday" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1D')">어제</button>
|
||||
<button type="button" class="dateRange-btn" id="today" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','0')">오늘</button>
|
||||
<button type="button" class="dateRange-btn" id="threeDays" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','3D')">3일간</button>
|
||||
<button type="button" class="dateRange-btn" id="sevenDays" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','7D')">일주일</button>
|
||||
<button type="button" class="dateRange-btn" id="oneMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1M')">1개월</button>
|
||||
<button type="button" class="dateRange-btn" id="threeMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','3M')">3개월</button>
|
||||
<button type="button" class="dateRange-btn" id="sixMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','6M')">6개월</button>
|
||||
<button type="button" class="dateRange-btn" id="oneYear" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1Y')">1년</button>
|
||||
<button type="button" class="dateRange-btn selected" id="allDays">전체</button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>구분</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select class="md" title="해당 셀렉트에 대한 설명" name="srchMlgAccmlDvCd">
|
||||
<option value="">전체</option>
|
||||
<c:forEach var="cdList" items="${ resultMap.mlgAccmlDv }" varStatus="status">
|
||||
<c:if test = "${cdList.cd eq 'add' || cdList.cd eq 'dn'}">
|
||||
<option value="<c:out value="${ cdList.cd }"/>"><c:out value="${ cdList.cdNm }"/></option>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>브랜드몰</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select class="md" title="해당 셀렉트에 대한 설명" name="srchSopmalCd">
|
||||
<option value="">전체</option>
|
||||
<c:forEach var="sopmalList" items="${ resultMap.sopmalList }" varStatus="status">
|
||||
<option value="<c:out value="${ sopmalList.sopmalCd }"/>"><c:out value="${ sopmalList.sopmalNm }"/></option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="form-control-container">
|
||||
<div class="left"></div>
|
||||
<div class="center">
|
||||
<button class="btn outline" id="resetBtn" type="button" onclick="fn_reset_form('mlgSrchSection'); return false;">초기화</button>
|
||||
<button class="btn primary" id="searchBtn" type="button" onclick="fn_select_crm_mlg_list(1); return false;">검색</button>
|
||||
</div>
|
||||
<div class="right">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
<div id="pageDiv">
|
||||
|
||||
</div>
|
||||
</form>
|
||||
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
|
||||
</div>
|
||||
<%-- CRM right 공통 --%>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Right.jsp"%>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
218
src/main/webapp/WEB-INF/views/crm/mlg/MlgDtlsR.jsp
Normal file
218
src/main/webapp/WEB-INF/views/crm/mlg/MlgDtlsR.jsp
Normal file
@@ -0,0 +1,218 @@
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
|
||||
|
||||
<%--
|
||||
Class Name : MlgDtlsRForm.jsp
|
||||
Description : CRM 마일리지 내역 jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-02-19 추지훈 최초 생성
|
||||
--%>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
fn_set_date();
|
||||
|
||||
<%--
|
||||
//유효기간 수정
|
||||
$("#mlgListBody").on("click", ".updtBtn", function(){
|
||||
const mlgTr = $(this).closest("tr");
|
||||
console.log(mlgTr);
|
||||
const mlgTd = mlgTr.find("td");
|
||||
|
||||
const mlgInnb = mlgTd.eq(0).text();
|
||||
const usePosblEndDtStr = mlgTd.eq(9).find("input").val();
|
||||
|
||||
const date = new Date(usePosblEndDtStr);
|
||||
date.setDate(date.getDate() + 1);
|
||||
date.setHours(0, 0, 0, 0);
|
||||
|
||||
const usePosblEndDt = date.toISOString()
|
||||
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url : "<c:url value="/admin/crm/mlg/updateCrmMlgUsePosblEndDt"/>",
|
||||
data : { mlgInnb, usePosblEndDt },
|
||||
success:function(data) {
|
||||
const str = JSON.parse(data.resBody.result);
|
||||
if (str.result == 'success') {
|
||||
alert('<spring:message code="success.common.insert"/>');
|
||||
|
||||
} else {
|
||||
alert('<spring:message code="fail.common.insert"/>');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
})
|
||||
|
||||
--%>
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<section class="content-section">
|
||||
<div class="form-control-container">
|
||||
<div class="left">
|
||||
<div class="search-number">
|
||||
<span class="search-number__text">총 <strong><c:out value="${ resultMap.paginationInfo.totalRecordCount }"/></strong>건</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="center">
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="select-box">
|
||||
<select id="pageUnit" name="pageUnit" title="페이지당 출력될 목록건수" onchange="fn_select_crm_mlg_list(1);">
|
||||
<c:forEach items="${ resultMap.paginationInfo.pageUnitArr }" var="pageUnit" varStatus="pageUnitStatus">
|
||||
<option value="<c:out value="${ pageUnit }"/>" <c:if test="${ resultMap.paginationInfo.recordCountPerPage eq pageUnit}">selected="selected"</c:if>><c:out value="${ pageUnit }"/>개씩</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="horizontal-line">
|
||||
<div class="form-control-container">
|
||||
<div class="left">
|
||||
<div class="gray-10">
|
||||
<span><c:out value="${resultMap.mbrInfo.mbrNm}"/></span>님의 보유 마일리지
|
||||
<span class="blue-7 comma">
|
||||
<c:if test="${!empty resultMap.blceSum}">
|
||||
<fmt:formatNumber value="${resultMap.blceSum}" maxFractionDigits="0" />
|
||||
</c:if>
|
||||
<c:if test="${empty resultMap.blceSum}">
|
||||
<fmt:formatNumber value="0" maxFractionDigits="0" />
|
||||
</c:if>
|
||||
</span>원, 30일 이내 소멸(예정) 마일리지
|
||||
<span
|
||||
class="red-7 comma">
|
||||
<c:if test="${!empty resultMap.endInMnthBlceSum}">
|
||||
<fmt:formatNumber value="${resultMap.endInMnthBlceSum}" maxFractionDigits="0" />
|
||||
</c:if>
|
||||
<c:if test="${empty resultMap.endInMnthBlceSum}">
|
||||
<fmt:formatNumber value="0" maxFractionDigits="0" />
|
||||
</c:if>
|
||||
</span>원
|
||||
</div>
|
||||
<button class="btn outline xsm" type="button" id = "mlgAddMinsBtn">
|
||||
지급/차감
|
||||
</button>
|
||||
</div>
|
||||
<div class="center">
|
||||
</div>
|
||||
<div class="right">
|
||||
</div>
|
||||
</div>
|
||||
<hr class="spacing">
|
||||
<div class="table-wrapper overflow-x-auto">
|
||||
<table class="table vertical tight">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: 5%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 7%;">
|
||||
<col style="width: 7%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 11%;">
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 14%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>번호</th>
|
||||
<th>브랜드</th>
|
||||
<th>매장</th>
|
||||
<th>지급/차감 금액</th>
|
||||
<th>잔액</th>
|
||||
<th>사유</th>
|
||||
<th>내역</th>
|
||||
<th>지급일</th>
|
||||
<th>자동/수동</th>
|
||||
<th>유효기간</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="mlgListBody">
|
||||
<c:if test="${!empty resultMap.resultList}">
|
||||
<c:forEach var="crmMlg" items="${ resultMap.resultList }" varStatus="status">
|
||||
<tr>
|
||||
<td><c:out value="${ resultMap.paginationInfo.totalRecordCount - crmMlg.rnum + 1 }" /></td>
|
||||
<td><c:out value="${ crmMlg.sopmalNm }"/></td>
|
||||
<td><c:out value="${ crmMlg.strnm }"/></td>
|
||||
<td>
|
||||
<c:if test="${ crmMlg.mlgAccmlDvCd eq 'use' or crmMlg.mlgAccmlDvCd eq '_add' or crmMlg.mlgAccmlDvCd eq 'dn'}">
|
||||
<span class="stone-8">(-)</span>
|
||||
</c:if>
|
||||
<c:if test="${ crmMlg.mlgAccmlDvCd eq 'add' or crmMlg.mlgAccmlDvCd eq '_use' or crmMlg.mlgAccmlDvCd eq 'up'}">
|
||||
<span class="stone-8">(+)</span>
|
||||
</c:if>
|
||||
<span class="comma">
|
||||
<fmt:formatNumber value="${crmMlg.accmlmnyAmt}" maxFractionDigits="0" />
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="comma fw-500">
|
||||
<fmt:formatNumber value="${crmMlg.blce}" maxFractionDigits="0" />
|
||||
</span>
|
||||
</td>
|
||||
<td><c:out value="${ crmMlg.mlgApplcResn }"/></td>
|
||||
<td>
|
||||
<button class="blue-6 fw-500" type="button" onclick="fn_go_ordr_dtl('<c:out value="${ crmMlg.ordrInnb }"/>');">
|
||||
<c:out value="${ crmMlg.ordrInnb }"/></button>
|
||||
</td>
|
||||
<td>
|
||||
<fmt:parseDate value="${crmMlg.registDt}" pattern="yyyy-MM-dd'T'HH:mm:ss" var="registDt"/>
|
||||
<fmt:formatDate value="${registDt }" var="formattedRegistDt" pattern="yyyy-MM-dd HH:mm:ss"/>
|
||||
<c:out value="${ formattedRegistDt }"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${crmMlg.mlgAccmlDvCd eq 'up' or crmMlg.mlgAccmlDvCd eq 'dn'}">
|
||||
수동
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
자동
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td>
|
||||
<c:if test="${ crmMlg.mlgAccmlDvCd eq 'add' || crmMlg.mlgAccmlDvCd eq 'up'}">
|
||||
<div class="manage-btn-container justify-end">
|
||||
<fmt:parseDate value="${crmMlg.usePosblEndDt}" pattern="yyyy-MM-dd HH:mm:ss" var="usePosblEndDt"/>
|
||||
<fmt:formatDate value="${usePosblEndDt }" var="formattedUsePosblEndDt" pattern="yyyy-MM-dd"/>
|
||||
<input type="text" name="usePosblEndDtStr" class="datepicker text-left"
|
||||
title="시작 날짜 선택" autocomplete="off" value="<c:out value="${ formattedUsePosblEndDt }"/>">
|
||||
<button type="button" class="btn xsm primary updtBtn" onclick="fn_update_mlg_use_date('<c:out value="${ crmMlg.mlgInnb }"/>');">저장</button>
|
||||
</div>
|
||||
</c:if>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:if>
|
||||
<c:if test="${empty resultMap.resultList}">
|
||||
<tr>
|
||||
<td class="row-no-data" colspan="12">조회된 데이터가 없습니다.</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
<div class="pagination__container">
|
||||
<ui:pagination paginationInfo="${resultMap.paginationInfo}" type="image" jsFunction="fn_select_crm_mlg_list"/>
|
||||
</div>
|
||||
<div id = "mlgManagePopupDiv"></div>
|
||||
<script src="/admin/js/script.js" defer=""></script>
|
||||
269
src/main/webapp/WEB-INF/views/crm/mlg/MlgDtlsRForm.jsp
Normal file
269
src/main/webapp/WEB-INF/views/crm/mlg/MlgDtlsRForm.jsp
Normal file
@@ -0,0 +1,269 @@
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
|
||||
|
||||
<%--
|
||||
Class Name : MlgDtlsRForm.jsp
|
||||
Description : CRM 마일리지 내역 jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-02-19 추지훈 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
|
||||
<head>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Include.jsp"%>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
fn_set_date('srchStartDate','srchEndDate','srchEndDate');
|
||||
|
||||
$('#listForm').on('keydown', function(e) {
|
||||
if (e.keyCode == 13) {
|
||||
e.preventDefault();
|
||||
$('#searchBtn').trigger("click");
|
||||
}
|
||||
});
|
||||
//crm 정보 조회
|
||||
if ($("#mbrTyCd").val() === '01') {
|
||||
fn_get_crm_info($("#leftMbrInnb").val(), $("#leftMbrDvCd").val());
|
||||
} else {
|
||||
fn_get_crm_info_nmbr($("#leftMbtlnb").val());
|
||||
$("#nmbrMbtlnb").text(fn_format_mbtlnb($("#nmbrMbtlnb").text()));
|
||||
}
|
||||
let pageIndex = '<c:out value="${ resultMap.paramVO.pageIndex }"/>';
|
||||
let pageUnit = '<c:out value="${ resultMap.paramVO.pageUnit }"/>';
|
||||
|
||||
|
||||
fn_select_crm_mlg_list(pageIndex, pageUnit);
|
||||
|
||||
$('#allDays').on('click', function() {
|
||||
$('#srchStartDate, #srchEndDate').val('');
|
||||
});
|
||||
|
||||
fn_add_crm_menu_class("leftMlg");
|
||||
|
||||
$(document).on("click","#mlgAddMinsBtn",function(){
|
||||
fn_open_modal('#mlgManagePopupDiv', '#MlgMabagePopup',
|
||||
'<c:url value="/crm/mlg/selectMlgManagePopupForm"/>',
|
||||
{
|
||||
mbrInnb : '<c:out value="${cnsltVO.mbrInnb}"/>',
|
||||
mbrDvCd : '<c:out value="${cnsltVO.mbrDvCd}"/>'
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
/******************************************************
|
||||
* 마일리지 목록 조회
|
||||
*******************************************************/
|
||||
const fn_select_crm_mlg_list = function(pageIndex, pageUnit) {
|
||||
|
||||
let dataStr;
|
||||
if(!pageIndex) {
|
||||
$('#pageIndex').val(1);
|
||||
} else {
|
||||
$('#pageIndex').val(pageIndex);
|
||||
}
|
||||
|
||||
if(!pageUnit) {
|
||||
dataStr = $('#listForm').serialize();
|
||||
} else {
|
||||
if($('#pageUnit').length){
|
||||
$('#pageUnit').val(pageUnit);
|
||||
dataStr = $('#listForm').serialize();
|
||||
} else {
|
||||
dataStr = $('#listForm').serialize()+'&pageUnit='+pageUnit;
|
||||
}
|
||||
}
|
||||
|
||||
$('#pageIndex').val(pageIndex);
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url : "<c:url value="/crm/mlg/selectMlgDtlsInqire"/>",
|
||||
data : dataStr,
|
||||
success:function(resultHtml) {
|
||||
$('#pageDiv').html(resultHtml);
|
||||
$('#pageUnit').niceSelect();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
/************************************************************
|
||||
* 마일리지 유효기간 수정
|
||||
* @param mlgInnb
|
||||
************************************************************/
|
||||
const fn_update_mlg_use_date = function(mlgInnb) {
|
||||
const target = event.target;
|
||||
const tr = $(target).closest('tr');
|
||||
const trInput = tr.find('input[name="usePosblEndDtStr"]');
|
||||
let mlgUsePosblDate = trInput.val();
|
||||
|
||||
|
||||
if (confirm('유효기간을 <spring:message code="confirm.common.update"/>')) {
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "<c:url value="/crm/mlg/updateCrmMlgUsePosblEndDt"/>",
|
||||
data: {
|
||||
mlgInnb : mlgInnb,
|
||||
usePosblEndDtStr : mlgUsePosblDate
|
||||
},
|
||||
success: function (data) {
|
||||
const str = JSON.parse(data.resBody.result);
|
||||
if (str.result == 'success') {
|
||||
alert('<spring:message code="success.common.update"/>');
|
||||
|
||||
} else {
|
||||
alert('<spring:message code="fail.common.update"/>');
|
||||
}
|
||||
|
||||
location.reload();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/***************************************************
|
||||
* 주문 상세 이동
|
||||
* *************************************************/
|
||||
const fn_go_ordr_dtl = function(ordrInnb) {
|
||||
|
||||
var form = $('#listForm')
|
||||
|
||||
$(form).find('input[name="ordrInnb"]').remove();
|
||||
$(form).append($('<input/>', {type:'hidden', name:'ordrInnb', id:'ordrInnb', value:ordrInnb}));
|
||||
|
||||
$(form).attr('target', '');
|
||||
$(form).attr('method', 'post');
|
||||
$(form).attr('action', '<c:url value="/mngr/ordr/ordrmngr/selectOrdrDtlInqire"/>');
|
||||
|
||||
$(form).submit();
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Header.jsp"%>
|
||||
<main class="main">
|
||||
<%-- CRM left 공통 --%>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Left.jsp"%>
|
||||
<div class="content">
|
||||
<div class="content__inner">
|
||||
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
|
||||
<div class="page-title">
|
||||
<h2 class="page-title__title">마일리지 내역</h2>
|
||||
<div class="page-title__btn-container">
|
||||
</div>
|
||||
</div>
|
||||
<form id="listForm">
|
||||
<input type="hidden" name="mbrInnb" id="mbrInnb" value="<c:out value='${ resultMap.paramVO.mbrInnb }'/>">
|
||||
<input type="hidden" name="mbrDvCd" id="mbrDvCd" value="<c:out value='${ resultMap.paramVO.mbrDvCd }'/>">
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value="<c:out value="${ resultMap.paramVO.pageIndex }"/>"/>
|
||||
<section class="content-section" id="mlgSrchSection">
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>날짜</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="input-container">
|
||||
<input type="text" name="srchStartDate" id="srchStartDate" class="datepicker" title="시작 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd">
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" name="srchEndDate" id="srchEndDate" class="datepicker" title="종료 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd">
|
||||
</div>
|
||||
<div class="dateRange-btnContainer">
|
||||
<button type="button" class="dateRange-btn" id="yesterday" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1D')">어제</button>
|
||||
<button type="button" class="dateRange-btn" id="today" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','0')">오늘</button>
|
||||
<button type="button" class="dateRange-btn" id="threeDays" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','3D')">3일간</button>
|
||||
<button type="button" class="dateRange-btn" id="sevenDays" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','7D')">일주일</button>
|
||||
<button type="button" class="dateRange-btn" id="oneMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1M')">1개월</button>
|
||||
<button type="button" class="dateRange-btn" id="threeMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','3M')">3개월</button>
|
||||
<button type="button" class="dateRange-btn" id="sixMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','6M')">6개월</button>
|
||||
<button type="button" class="dateRange-btn" id="oneYear" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1Y')">1년</button>
|
||||
<button type="button" class="dateRange-btn selected" id="allDays">전체</button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>구분</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select class="md" title="해당 셀렉트에 대한 설명" name="srchMlgAccmlDvCd">
|
||||
<option value="">전체</option>
|
||||
<c:forEach var="cdList" items="${ resultMap.mlgAccmlDv }" varStatus="status">
|
||||
<option value="<c:out value="${ cdList.cd }"/>"><c:out value="${ cdList.cdNm }"/></option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>브랜드몰</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select class="md" title="해당 셀렉트에 대한 설명" name="srchSopmalCd">
|
||||
<option value="">전체</option>
|
||||
<c:forEach var="sopmalList" items="${ resultMap.sopmalList }" varStatus="status">
|
||||
<option value="<c:out value="${ sopmalList.sopmalCd }"/>"><c:out value="${ sopmalList.sopmalNm }"/></option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="form-control-container">
|
||||
<div class="left"></div>
|
||||
<div class="center">
|
||||
<button class="btn outline" id="resetBtn" type="button" onclick="fn_reset_form('mlgSrchSection'); return false;">초기화</button>
|
||||
<button class="btn primary" id="searchBtn" type="button" onclick="fn_select_crm_mlg_list(1); return false;">검색</button>
|
||||
</div>
|
||||
<div class="right">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
<div id="pageDiv">
|
||||
|
||||
</div>
|
||||
</form>
|
||||
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
|
||||
</div>
|
||||
<%-- CRM right 공통 --%>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Right.jsp"%>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
331
src/main/webapp/WEB-INF/views/crm/ordr/CrmOrdrComptR.jsp
Normal file
331
src/main/webapp/WEB-INF/views/crm/ordr/CrmOrdrComptR.jsp
Normal file
@@ -0,0 +1,331 @@
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
|
||||
<%--
|
||||
Class Name : CrmOrdrComptR.jsp
|
||||
Description : CRM 주문 완료 페이지
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2025-01-20 최남식 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
|
||||
<head>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Include.jsp"%>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
//crm 정보 조회
|
||||
if ($("#mbrTyCd").val() === '01') {
|
||||
fn_get_crm_info($("#leftMbrInnb").val(), $("#leftMbrDvCd").val());
|
||||
} else {
|
||||
fn_get_crm_info_nmbr($("#leftMbtlnb").val());
|
||||
$("#nmbrMbtlnb").text(fn_format_mbtlnb($("#nmbrMbtlnb").text()));
|
||||
}
|
||||
|
||||
fn_add_crm_menu_class("leftActInfo");
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Header.jsp"%>
|
||||
<main class="main">
|
||||
<%-- CRM left 공통 --%>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Left.jsp"%>
|
||||
<c:set var="order" value="${data.order}"/>
|
||||
<div class="content">
|
||||
<div class="content__inner">
|
||||
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
|
||||
<div class="page-title">
|
||||
<h2 class="page-title__title">주문 완료</h2>
|
||||
<div class="page-title__btn-container">
|
||||
</div>
|
||||
</div>
|
||||
<section class="content-section">
|
||||
<h3 class="content-section__title">상품 정보</h3>
|
||||
<form id="listForm">
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>배송지 정보</caption>
|
||||
<colgroup>
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 23%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 23%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 23%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<c:forEach var="shipping" items="${data.shippingList}" varStatus="status">
|
||||
<c:forEach var="goods" items="${shipping.goodsList}" varStatus="status">
|
||||
<tr>
|
||||
<th>상품명</th>
|
||||
<td class="td-inner">
|
||||
<div class="order-section__product">
|
||||
<img src="<c:out value="${ cdnurl }${goods.goodsImgCours}"/>" onerror="this.src='<c:url value="/mngr/images/image_placeholder.png"/>" alt="<c:out value="${goods.goodsNm}"/>" width="56" height="56">
|
||||
<div class="order-section__product-info">
|
||||
<span class="order-section__product-productTitle"><c:out value="${goods.goodsNm}"/></span>
|
||||
<span class="option-text"><span class="option-badge">옵션</span> <c:out value="${goods.optnNm}"/></span>
|
||||
<c:if test="${not empty goods.inputOptnText}">
|
||||
<span class="cartItem__productOption"><c:out value="${goods.inputOptnText}"/></span>
|
||||
</c:if>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<th>수량</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<span class="comma"><fmt:formatNumber value="${goods.ordrQy}" pattern="#,###"/></span>
|
||||
</div>
|
||||
</td>
|
||||
<th>상품금액</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<span class="comma"><fmt:formatNumber value="${goods.slepric}" pattern="#,###"/></span>원
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>할인금액</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
(-)<span class="comma"><fmt:formatNumber value="${goods.dscntAmt}" pattern="#,###"/></span>원
|
||||
</div>
|
||||
</td>
|
||||
<th>할인적용금액</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<span class="comma"><fmt:formatNumber value="${goods.applyDscntAmt}" pattern="#,###"/></span>원
|
||||
</div>
|
||||
</td>
|
||||
<th>적립금</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<span class="comma"><fmt:formatNumber value="${goods.mlgAmt}" pattern="#,###"/></span>원
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
<section class="content-section">
|
||||
<h3 class="content-section__title">결제 정보</h3>
|
||||
<form id="listForm">
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>주문 결제 정보</caption>
|
||||
<colgroup>
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 23%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 23%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 23%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>주문번호</th>
|
||||
<td colspan=3>
|
||||
<div class="td-inner">
|
||||
<c:out value=" ${ order.ordrInnb }"/>
|
||||
<span class="stone-7">
|
||||
(<c:out value="${order.ordrRceptDt}"/>)
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<c:forEach var="setle" items="${data.setleList}" varStatus="status">
|
||||
<tr>
|
||||
<th>주문상태</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<c:out value="${setle.ordrSttusNm}"/>
|
||||
</div>
|
||||
</td>
|
||||
<th>결제방식</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<c:out value="${setle.setleTyNm}"/>
|
||||
</div>
|
||||
</td>
|
||||
<c:if test="${not empty setle.rcpmnyBnnkNm}">
|
||||
<th>입금계좌</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<c:out value="${setle.rcpmnyBnnkNm}"/> <c:out value="${setle.rcpmnyAcntnb}"/><br>(<c:out value="${setle.rcpmnyDpstrNm}"/>)
|
||||
</div>
|
||||
</td>
|
||||
</c:if>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>결제일시</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<c:out value="${not empty setle.setleDt ? setle.setleDt : '입금대기'}"/>
|
||||
</div>
|
||||
</td>
|
||||
<c:if test="${setle.reqstDvCd ne '04' && not empty setle.issuSttusCd}">
|
||||
<th>현금영수증</th>
|
||||
<td colspan=2>
|
||||
<c:choose>
|
||||
<c:when test="${setle.crtnb eq '0100001234'}">
|
||||
발급상태 : 미신청
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
발급상태 : <c:out value="${setle.issuSttusNm}"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</c:if>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
<c:set var="total" value="${data.total}"/>
|
||||
<tr>
|
||||
<th>총 주문금액</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<span class="comma"><fmt:formatNumber value="${total.slepric}" pattern="#,###"/></span>원
|
||||
</div>
|
||||
</td>
|
||||
<th>할인금액</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
(-)<span class="comma"><fmt:formatNumber value="${total.dscntAmt}" pattern="#,###"/></span>원
|
||||
</div>
|
||||
</td>
|
||||
<th>배송비</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<span class="comma"><fmt:formatNumber value="${total.dlvyAmt}" pattern="#,###"/></span>원
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>최종 결제금액</th>
|
||||
<td colspan=3>
|
||||
<div class="td-inner">
|
||||
<span class="comma"><fmt:formatNumber value="${total.setleAmt}" pattern="#,###"/></span>원
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
<section class="content-section">
|
||||
<h3 class="content-section__title">주문자 정보</h3>
|
||||
<form id="listForm">
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>주문자 정보</caption>
|
||||
<colgroup>
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 23%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 23%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 23%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>이름</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<c:out value="${order.mbrNm}"/>
|
||||
</div>
|
||||
</td>
|
||||
<th>휴대폰번호</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<c:out value="${order.ordrrMbtlnb}"/>
|
||||
</div>
|
||||
</td>
|
||||
<th>이메일</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<c:out value="${order.ordrrEmail}"/>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
<section class="content-section">
|
||||
<h3 class="content-section__title">배송지 정보</h3>
|
||||
<form id="listForm">
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>배송지 정보</caption>
|
||||
<colgroup>
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 23%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 23%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 23%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<c:forEach var="shipping" items="${data.shippingList}" varStatus="status">
|
||||
<tr>
|
||||
<th>받는분</th>
|
||||
<td colspan=3>
|
||||
<div class="td-inner">
|
||||
<c:out value="${shipping.recpntNm}"/>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>주소</th>
|
||||
<td colspan=3>
|
||||
<div class="td-inner">
|
||||
<c:out value="${not empty shipping.dlvylcZip ? '(' += shipping.dlvylcZip += ')' : ''}"/>
|
||||
<c:out value="${shipping.adres}"/>
|
||||
<c:out value="${shipping.dlvylcAdresDtl}"/>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>휴대폰번호</th>
|
||||
<td colspan=3>
|
||||
<div class="td-inner">
|
||||
<c:out value="${shipping.recpntMbtlnb}"/>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>배송 시 요청사항</th>
|
||||
<td colspan=3>
|
||||
<div class="td-inner">
|
||||
<c:out value=" ${ shipping.dlvyMssageCn }"/>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
|
||||
</div>
|
||||
<%-- CRM right 공통 --%>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Right.jsp"%>
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
240
src/main/webapp/WEB-INF/views/crm/ordr/MbrOrdrListInqireR.jsp
Normal file
240
src/main/webapp/WEB-INF/views/crm/ordr/MbrOrdrListInqireR.jsp
Normal file
@@ -0,0 +1,240 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
|
||||
|
||||
<%--
|
||||
Class Name : MbrOrdrListInqireRForm.jsp
|
||||
Description : 회원 주문 조회 jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
since : 2024.02.19 김혜인 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<div class="table-wrapper">
|
||||
<table class="table order-section vertical">
|
||||
<colgroup>
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 5%">
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: auto">
|
||||
<col style="width: 6%;">
|
||||
<%-- <col style="width: 6%;"> --%>
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 6%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>선택</th>
|
||||
<th>번호</th>
|
||||
<th>주문일시</th>
|
||||
<th>주문번호</th>
|
||||
<th>주문상품</th>
|
||||
<th>수(종)</th>
|
||||
<%-- <th>출고</th> --%>
|
||||
<th>받는분/주문자</th>
|
||||
<th>결제수단/일시</th>
|
||||
<th>결제금액</th>
|
||||
<th>처리상태</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:choose>
|
||||
<c:when test="${not empty resultMap.allOrdrList}">
|
||||
<c:set var="totalRow" value="${resultMap.paginationInfo.totalRecordCount - ((resultMap.paginationInfo.currentPageNo -1) * resultMap.paginationInfo.recordCountPerPage) + 2}"/>
|
||||
<c:forEach items="${resultMap.allOrdrList}" var="ordr" varStatus="status">
|
||||
<c:set var="totalRow" value="${totalRow - 1}"/>
|
||||
|
||||
<c:if test="${ordr.ordrSttusCd != resultMap.allOrdrList[status.index - 1].ordrSttusCd}">
|
||||
<tr class="order-section__header">
|
||||
<td colspan="11" class="order-search__tab-title">
|
||||
<div class="order-step__wrapper">
|
||||
<div class="order-step order-status-badge <c:choose><c:when test = "${ordr.ordrSttusCd eq '15'}">recept</c:when>
|
||||
<c:when test = "${ordr.ordrSttusCd eq '25'}">confirm</c:when>
|
||||
<c:when test = "${ordr.ordrSttusCd eq '35'}">prep</c:when>
|
||||
<c:when test = "${ordr.ordrSttusCd eq '50' || ordr.ordrSttusCd eq '55'}">export</c:when>
|
||||
<c:when test = "${ordr.ordrSttusCd > 84 && ordr.ordrSttusCd < 100}">gray</c:when>
|
||||
<c:when test = "${ordr.ordrSttusCd eq '60' || ordr.ordrSttusCd eq '65'}">delivery</c:when>
|
||||
<c:otherwise>complete</c:otherwise></c:choose>">
|
||||
<c:if test="${(ordr.ordrSttusCd > 14 && ordr.ordrSttusCd < 36) || (ordr.ordrSttusCd > 84 && ordr.ordrSttusCd < 100)}">(출고 전) </c:if>
|
||||
<c:if test="${ordr.ordrSttusCd > 59 && ordr.ordrSttusCd < 76}">(출고 후) </c:if>
|
||||
<em><c:out value="${ordr.ordrSttusNm}"/></em>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
<c:choose>
|
||||
<c:when test = "${ordr.blackDv eq 'B'}">
|
||||
<c:set var = "blackDv" value = "sendOut-info__reseller"/>
|
||||
</c:when>
|
||||
<c:when test = "${ordr.blackDv eq 'E'}">
|
||||
<c:set var = "blackDv" value = "sendOut-info__reseller_erp"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:set var = "blackDv" value = ""/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<tr class="${blackDv}">
|
||||
<td>
|
||||
<input type="hidden" class="mbrInnb" value="<c:out value="${ordr.mbrInnb}"/>"/>
|
||||
<input type="hidden" class="mbrDvCd" value="<c:out value="${ordr.mbrDvCd}"/>"/>
|
||||
<div class="manage-btn-container">
|
||||
<a href="javascript:void(0);" id="btnCrm" class="btn xsm gray">CRM</a>
|
||||
</div>
|
||||
</td>
|
||||
|
||||
<td><c:out value="${totalRow - 1}"/></td>
|
||||
<td><c:out value="${ordr.ordrRceptDt}"/></td>
|
||||
<td>
|
||||
<input type="hidden" class="sopmalCd" value="<c:out value="${ordr.sopmalCd}"/>"/>
|
||||
<input type="hidden" class="ordrInnb" value="<c:out value="${ordr.ordrInnb}"/>"/>
|
||||
<a id="btnOrdrDtl" class="under-line blue-7" href="javascript:void(0);"><c:out value="${ordr.ordrInnb}"/></a>
|
||||
</td>
|
||||
<td>
|
||||
<div class="order-section__product">
|
||||
<div class="order-section__product-info">
|
||||
<span class="order-section__product-productTitle"><c:out value="${ordr.goodsNm}"/></span>
|
||||
<span class="option-text"><span class="option-badge">옵션</span> <c:out value="${ordr.optns}"/></span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td><c:out value="${ordr.orderCnt += '(' += ordr.itemCnt += '종)'}"/></td>
|
||||
<%-- <td></td> --%>
|
||||
<td>
|
||||
<c:if test="${not empty ordr.recpntNm}">
|
||||
<span class="gray-12"><c:out value="${ordr.recpntNm}"/></span>
|
||||
<br/>
|
||||
</c:if>
|
||||
<c:choose>
|
||||
<c:when test="${not empty ordr.mbrId}">
|
||||
<span class="gray-12"><c:out value="${ordr.mbrNm}"/></span>
|
||||
(<span class="fw-500 blue-7"><c:out value="${ordr.mbrId}"/></span>/<span class="fw-500 green-8"><c:out value="${ordr.gradNm}"/></span>)
|
||||
<%-- <button type="button" class="mini-info-btn" data-info="info01">?</button> --%>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<span class="gray-12"><c:out value="${ordr.mbrNm += '(비회원)'}"/></span>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<c:if test="${not empty ordr.setlerNm}">
|
||||
<span class="${ordr.mbrNm == ordr.setlerNm ? 'stone-8' : 'blue-7'}"><c:out value="${ordr.setlerNm}"/></span>
|
||||
</c:if>
|
||||
|
||||
<c:if test="${not empty ordr.pgCmpnyNm}">
|
||||
<c:if test="${not empty ordr.setleTyCd && ordr.setleTyCd ne '02'}">
|
||||
<c:choose>
|
||||
<c:when test="${'npay' eq ordr.pgCmpnyNm}">
|
||||
<i class="icon icon_word-badge_naver"></i>
|
||||
</c:when>
|
||||
<c:when test="${'kcp' eq ordr.pgCmpnyNm}">
|
||||
<i class="icon icon_word-badge_kcp"></i>
|
||||
</c:when>
|
||||
<c:when test="${'pos' eq ordr.pgCmpnyNm}">
|
||||
<i class="icon icon_word-badge_pos"></i>
|
||||
</c:when>
|
||||
<c:when test="${'payco' eq ordr.pgCmpnyNm}">
|
||||
<i class="icon icon_word-badge_payco"></i>
|
||||
</c:when>
|
||||
<c:when test="${'tosspay' eq ordr.pgCmpnyNm}">
|
||||
<i class="icon icon_word-badge_toss"></i>
|
||||
</c:when>
|
||||
<c:when test="${'toss' eq ordr.pgCmpnyNm}">
|
||||
<i class="icon icon_word-badge_toss"></i>
|
||||
</c:when>
|
||||
<c:when test="${'gcpay' eq ordr.pgCmpnyNm}">
|
||||
<i class="icon icon_word-badge_gcpay"></i>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<span class="stone-8 fw-500">${ordr.pgCmpnyNm}</span>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:if>
|
||||
</c:if>
|
||||
|
||||
<c:if test="${not empty ordr.rcpmnyerNm}">
|
||||
<span class="blue-7"><c:out value="${ordr.rcpmnyerNm}"/></span>
|
||||
</c:if>
|
||||
|
||||
<c:if test="${not empty ordr.setleTyCd}">
|
||||
<c:choose>
|
||||
<c:when test="${'01' eq ordr.setleTyCd}"><!-- 카드 -->
|
||||
<i class="icon icon_word-badge04"></i>
|
||||
</c:when>
|
||||
<c:when test="${'02' eq ordr.setleTyCd}"><!-- 무통장 -->
|
||||
<i class="icon icon_word-badge03"></i>
|
||||
</c:when>
|
||||
<c:when test="${'03' eq ordr.setleTyCd}"><!-- 계좌 -->
|
||||
<i class="icon icon_word-badge13"></i>
|
||||
</c:when>
|
||||
<c:when test="${'04' eq ordr.setleTyCd}"><!-- 가상계좌 -->
|
||||
<i class="icon icon_word-badge06"></i>
|
||||
</c:when>
|
||||
<c:when test="${'05' eq ordr.setleTyCd}"><!-- 가상계좌 에스크로 -->
|
||||
<i class="icon icon_word-badge07"></i>
|
||||
</c:when>
|
||||
<c:when test="${'06' eq ordr.setleTyCd}"><!-- 가상계좌에스크로 -->
|
||||
<i class="icon icon_word-badge07"></i>
|
||||
</c:when>
|
||||
<c:when test="${'07' eq ordr.setleTyCd}"><!-- 핸드폰 -->
|
||||
<i class="icon icon_word-badge05"></i>
|
||||
</c:when>
|
||||
<c:when test="${'08' eq ordr.setleTyCd}"><!-- 마일리지 -->
|
||||
<i class="icon icon_word-badge12"></i>
|
||||
</c:when>
|
||||
<c:when test="${'09' eq ordr.setleTyCd}"><!-- 포스 -->
|
||||
<i class="icon icon_word-badge_pos"></i>
|
||||
</c:when>
|
||||
<c:when test="${'10' eq ordr.setleTyCd}"><!-- 페이코 -->
|
||||
<i class="icon icon_word-badge_payco"></i>
|
||||
</c:when>
|
||||
<c:when test="${'11' eq ordr.setleTyCd}"><!-- 복합 -->
|
||||
<i class="icon icon_word-badge14"></i>
|
||||
</c:when>
|
||||
<c:when test="${'12' eq ordr.setleTyCd}"><!-- 충전식마일리지 -->
|
||||
<i class="icon icon_word-badge16"></i>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
</c:if>
|
||||
|
||||
<c:if test="${not empty ordr.bnnkNm}">
|
||||
<span class="stone-8 fw-500"><c:out value="${ordr.bnnkNm}"/></span>
|
||||
</c:if>
|
||||
|
||||
<c:if test="${not empty ordr.setleDt}">
|
||||
<br/><span class="gray-12"><c:out value="${ordr.setleDt}"/></span>
|
||||
</c:if>
|
||||
</td>
|
||||
<td>${ordr.setleAmt}</td>
|
||||
<td><c:out value="${ordr.ordrSttusNm}"/></td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr>
|
||||
<td colspan="100%"><spring:message code="common.nodata"/></td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div class="pagination__container">
|
||||
<ui:pagination paginationInfo="${resultMap.paginationInfo}" type="image" jsFunction="fn_get_ordr_list"/>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,414 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||||
<%--
|
||||
Class Name : MbrOrdrListInqireRForm.jsp
|
||||
Description : 회원 주문 조회 폼 jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
since : 2024.02.19 김혜인 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Include.jsp"%>
|
||||
</head>
|
||||
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
fn_add_crm_menu_class("leftOrdr");
|
||||
|
||||
|
||||
$('#btnResetForm').trigger('click');
|
||||
//crm 정보 조회
|
||||
if ($("#mbrTyCd").val() === '01') {
|
||||
fn_get_crm_info($("#leftMbrInnb").val(), $("#leftMbrDvCd").val());
|
||||
} else {
|
||||
fn_get_crm_info_nmbr($("#leftMbtlnb").val(),$("#leftOrdrInnb").val());
|
||||
let txt = '';
|
||||
if(!fn_is_empty($("#leftMbrNm").val())){
|
||||
txt = $("#leftMbrNm").val()+"("+fn_format_mbtlnb($("#leftMbtlnb").val())+")";
|
||||
}else{
|
||||
txt ="비회원 ("+fn_format_mbtlnb($("#leftMbtlnb").val())+")";
|
||||
}
|
||||
$("#nmbrMbr").text(txt);
|
||||
}
|
||||
fn_get_ordr_list(1);
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
/* 전체주문 목록 조회 */
|
||||
const fn_get_ordr_list = function(pageIndex) {
|
||||
|
||||
|
||||
$('#pageIndex').val(pageIndex);
|
||||
|
||||
let data = $('#condForm').serialize()+"&mbrTyCd="+$("#mbrTyCd").val();
|
||||
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '<c:url value="/crm/ordr/selectMbrOrdrListInqire"/>',
|
||||
data: data,
|
||||
success: function (html) {
|
||||
|
||||
|
||||
$('#pageDiv').html(html);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 검색조건 > 날짜 구간 버튼 클릭 이벤트
|
||||
*/
|
||||
$(document).on('click', '.dateRange-btn', function() {
|
||||
const date = $(this).attr('id');
|
||||
|
||||
if ('allDays' === date) {
|
||||
$('#srchStartDate, #srchEndDate').val('');
|
||||
|
||||
$('#srchDatePeriod').val(date);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
fn_set_date('srchStartDate', 'srchEndDate', 'srchEndDate', date);
|
||||
|
||||
$('#srchDatePeriod').val(date);
|
||||
|
||||
$(this).closest('div').find('.dateRange-btn').removeClass('selected')
|
||||
$(this).addClass('selected')
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* 검색조건 > 주문상태 전체 체크박스 클릭 이벤트
|
||||
*/
|
||||
$(document).on('click', '.check_all_setle', function() {
|
||||
let checkbox = $(this).closest('td').find('input[name="setleMthCds"]');
|
||||
|
||||
$(checkbox).prop('checked', false);
|
||||
$(checkbox).prop('checked', $(this).is(':checked'));
|
||||
});
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* 검색조건 > 결제유형 체크박스 클릭 이벤트
|
||||
*/
|
||||
$(document).on('change', '.check_setle_mth_cd', function() {
|
||||
let td = $(this).closest('td');
|
||||
|
||||
const checboxCnt = $(td).find('input[name="setleMthCds"]').length;
|
||||
const checedCnt = $(td).find('input[name="setleMthCds"]:checked').length;
|
||||
|
||||
$(td).find('.check_all_setle').prop('checked', checboxCnt === checedCnt);
|
||||
});
|
||||
|
||||
|
||||
/*
|
||||
* 검색조건 > 결제유형 전체 체크박스 클릭 이벤트
|
||||
*/
|
||||
$(document).on('click', '.check_all_item', function() {
|
||||
let checkbox = $(this).closest('td').find('input[name="srchOrdrSttusCds"]');
|
||||
|
||||
$(checkbox).prop('checked', false);
|
||||
$(checkbox).prop('checked', $(this).is(':checked'));
|
||||
});
|
||||
|
||||
/*
|
||||
* 검색조건 > 주문상태 체크박스 클릭 이벤트
|
||||
*/
|
||||
$(document).on('change', '.check_ordr_sttus_cd', function() {
|
||||
let td = $(this).closest('td');
|
||||
|
||||
const checboxCnt = $(td).find('input[name="srchOrdrSttusCds"]').length;
|
||||
const checedCnt = $(td).find('input[name="srchOrdrSttusCds"]:checked').length;
|
||||
|
||||
$(td).find('.check_all_item').prop('checked', checboxCnt === checedCnt);
|
||||
});
|
||||
|
||||
|
||||
/*
|
||||
* 검색조건 > 초기화 버튼 클릭 이벤트
|
||||
*/
|
||||
$(document).on('click', '#btnResetForm', function() {
|
||||
fn_reset_form('search-section');
|
||||
|
||||
$('#7D').trigger("click"); // 날짜 설정
|
||||
|
||||
$('#srchwrdDv option:eq(0)').prop('selected', true);
|
||||
$('#srchwrdDv').niceSelect('update');
|
||||
|
||||
$('#srchDateDv option:eq(0)').prop('selected', true);
|
||||
$('#srchDateDv').niceSelect('update');
|
||||
|
||||
//$('input[name="srchOrdrSttusCds"][value="15"]').prop('checked', true);
|
||||
//$('input[name="srchOrdrSttusCds"][value="25"]').prop('checked', true);
|
||||
});
|
||||
|
||||
/*
|
||||
* 검색조건 > 검색 버튼 선택 이벤트
|
||||
*/
|
||||
$(document).on('click', '#btnSearch', function() {
|
||||
fn_get_ordr_list(1);
|
||||
});
|
||||
|
||||
|
||||
/*
|
||||
* 주문번호 선택 이벤트
|
||||
*/
|
||||
$(document).on('click', '#btnOrdrDtl', function() {
|
||||
const td = $(this).closest('td');
|
||||
|
||||
const sopmalCd = $(td).find('.sopmalCd').val();
|
||||
const ordrInnb = $(td).find('.ordrInnb').val();
|
||||
|
||||
let form = $('<form></form>');
|
||||
|
||||
$(form).append($('<input/>', {type: 'hidden', name: 'sopmalCd', value: sopmalCd}));
|
||||
$(form).append($('<input/>', {type: 'hidden', name: 'ordrInnb', value: ordrInnb}));
|
||||
|
||||
$(form).attr('target', '_blank');
|
||||
$(form).attr('method', 'post');
|
||||
$(form).attr('action', '<c:url value="/mngr/ordr/ordrmngr/selectOrdrDtlInqire"/>');
|
||||
|
||||
$(form).appendTo('body');
|
||||
$(form).submit();
|
||||
$(form).remove();
|
||||
});
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
<body>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Header.jsp"%>
|
||||
<main class="main">
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Left.jsp"%>
|
||||
<div class="content">
|
||||
<div class="content__inner">
|
||||
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
|
||||
<div class="page-title">
|
||||
<h2 class="page-title__title">주문</h2>
|
||||
<div class="page-title__btn-container">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form id="condForm">
|
||||
<input type="hidden" id="sopmalCd" name="sopmalCd" value="${cond.sopmalCd}"/>
|
||||
<input type="hidden" id="totalRecordCount" name="totalRecordCount" value=""/>
|
||||
<input type="hidden" id="totalPageCount" name="totalPageCount" value=""/>
|
||||
<input type="hidden" id="currentPageNo" name="currentPageNo" value=""/>
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value="<c:out value="${ cond.paramVO.pageIndex }"/>"/>
|
||||
<input type="hidden" id="mbrInnb" name="mbrInnb" value="${ cond.paramVO.mbrInnb }" />
|
||||
<input type="hidden" id="mbtlnb" name="mbtlnb" value="${ cond.paramVO.mbtlnb}" />
|
||||
<section>
|
||||
<div class="content-section">
|
||||
<p style="margin-bottom: 5px;">* 블랙리스트는 자사몰은 적색, 물류센터는 녹색으로 표시됩니다.</p>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 23%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>검색어</th>
|
||||
<td colspan="4">
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select title="검색어 구분" name="srchwrdDv" id="srchwrdDv">
|
||||
<option value="ordrInnb">주문번호</option>
|
||||
<option value="ordrrTelnb">주문자휴대전화</option>
|
||||
<option value="naverPayOrdrInnb">네이버페이주문번호</option>
|
||||
<option value="kakaoPayOrdrInnb">카카오페이주문번호</option>
|
||||
<option value="ordrrNm">주문자명</option>
|
||||
<option value="rcpmnyerNm">입금자명</option>
|
||||
<option value="recpntNm">받는자명</option>
|
||||
<option value="recpntMbtlnb">받는자휴대전화번호</option>
|
||||
<option value="goodsNm">상품명</option>
|
||||
<option value="goodsInnb">상품번호</option>
|
||||
</select>
|
||||
</div>
|
||||
<input class="input-text xl" type="text" name="srchwrd" id="srchwrd" title="검색어" placeholder="검색어를 입력해 주십시요."
|
||||
value="<c:out value="${cnsltVO.ordrInnb}"/>">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>날짜</th>
|
||||
<td colspan="2">
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select name="srchDateDv" id="srchDateDv" title="일자구분" class="init">
|
||||
<option value="ordrDt" selected>주문일</option>
|
||||
<option value="rcpmnyDt">입금일</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input-container">
|
||||
<input type="text" name="srchStartDate" id="srchStartDate" class="datepicker" title="시작 날짜 선택" autocomplete="off">
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" name="srchEndDate" id="srchEndDate" class="datepicker" title="종료 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd">
|
||||
<input type="hidden" id="srchDatePeriod" name="srchDatePeriod" value=""/>
|
||||
</div>
|
||||
|
||||
<div class="dateRange-btnContainer">
|
||||
<button class="dateRange-btn" id="1D">어제</button>
|
||||
<button class="dateRange-btn" id="0">오늘</button>
|
||||
<button class="dateRange-btn" id="3D">3일간</button>
|
||||
<button class="dateRange-btn" id="7D">일주일</button>
|
||||
<button class="dateRange-btn" id="1M">1개월</button>
|
||||
<button class="dateRange-btn" id="3M">3개월</button>
|
||||
<button class="dateRange-btn" id="6M">6개월</button>
|
||||
<button class="dateRange-btn" id="1Y">1년</button>
|
||||
<button class="dateRange-btn" id="allDays">전체</button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>주문상태 (출고전)</th>
|
||||
<td colspan="4">
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container order-status-badge-container">
|
||||
<c:forEach items="${cond.ordrSttusCdList}" var="ordrSttusCd" varStatus="status">
|
||||
<c:if test="${(ordrSttusCd.cd > 14 && ordrSttusCd.cd < 36) || (ordrSttusCd.cd > 84 && ordrSttusCd.cd < 100)}">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" name="srchOrdrSttusCds" class="check_ordr_sttus_cd" value="${ordrSttusCd.cd}"/>
|
||||
<span class="check"></span>
|
||||
<span class="control-label">
|
||||
<c:choose>
|
||||
<c:when test="${ordrSttusCd.cd eq 15 }">
|
||||
<span class="order-status-badge recept">${ordrSttusCd.cdNm}</span>
|
||||
</c:when>
|
||||
<c:when test="${ordrSttusCd.cd eq 25 }">
|
||||
<span class="order-status-badge confirm">${ordrSttusCd.cdNm}</span>
|
||||
</c:when>
|
||||
<c:when test="${ordrSttusCd.cd eq 35 }">
|
||||
<span class="order-status-badge prep">${ordrSttusCd.cdNm}</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<span class="order-status-badge gray">${ordrSttusCd.cdNm}</span>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</span>
|
||||
</label>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" class="check_all_item">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">전체</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>주문상태 (출고후)</th>
|
||||
<td colspan="4">
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container order-status-badge-container">
|
||||
<c:forEach items="${cond.ordrSttusCdList}" var="ordrSttusCd" varStatus="status">
|
||||
<c:if test="${ordrSttusCd.cd > 49 && ordrSttusCd.cd < 76}">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" name="srchOrdrSttusCds" class="check_ordr_sttus_cd" value="${ordrSttusCd.cd}"/>
|
||||
<span class="check"></span>
|
||||
<span class="control-label">
|
||||
<c:choose>
|
||||
<c:when test="${ordrSttusCd.cd eq 50 || ordrSttusCd.cd eq 55}">
|
||||
<span class="order-status-badge export">${ordrSttusCd.cdNm}</span>
|
||||
</c:when>
|
||||
<c:when test="${ordrSttusCd.cd eq 60 || ordrSttusCd.cd eq 65}">
|
||||
<span class="order-status-badge delivery">${ordrSttusCd.cdNm}</span>
|
||||
</c:when>
|
||||
<c:when test="${ordrSttusCd.cd eq 70 || ordrSttusCd.cd eq 75}">
|
||||
<span class="order-status-badge complete">${ordrSttusCd.cdNm}</span>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
</span>
|
||||
</label>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" class="check_all_item">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">전체</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>주문결제</th>
|
||||
<td colspan="4">
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox check-all">
|
||||
<input type="checkbox" class="check_all_setle">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">모든 결제수단</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="b-checkbox-container">
|
||||
<c:forEach items="${cond.setleMthList}" var="setleMth" varStatus="status">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" name="setleMthCds" class="check_setle_mth_cd" value="${setleMth.cd}">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">${setleMth.cdNm}</span>
|
||||
</label>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="form-control-container">
|
||||
<div class="left"></div>
|
||||
<div class="center">
|
||||
<button type="button" class="btn outline" id="btnResetForm">초기화</button>
|
||||
<button type="button" class="btn primary" id="btnSearch">검색</button>
|
||||
</div>
|
||||
<div class="right"></div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- // 검색 끝 -->
|
||||
<div id = "pageDiv">
|
||||
</div>
|
||||
|
||||
|
||||
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
|
||||
</div>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Right.jsp"%>
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,189 @@
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
|
||||
|
||||
<%--
|
||||
Class Name : .jsp
|
||||
Description : 반품/환불 목록조회 화면
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-01-30 추지훈 최초 생성
|
||||
--%>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
|
||||
fn_set_date();
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
<section class="content-section">
|
||||
<div class="form-control-container">
|
||||
<div class="left">
|
||||
<div class="search-number">
|
||||
<span class="search-number__text">총 <strong><c:out value="${ resultMap.paginationInfo.totalRecordCount }"/></strong>건</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="center">
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="select-box">
|
||||
<select title="페이지당 출력될 목록건수" name = "pageUnit" id ="pageUnit" onchange = "fn_select_order_refund_list(1); return false;">
|
||||
<c:forEach items="${ resultMap.paginationInfo.pageUnitArr }" var="pageUnit" varStatus="pageUnitStatus">
|
||||
<option value="<c:out value="${ pageUnit }"/>" <c:if test="${ resultMap.paginationInfo.recordCountPerPage eq pageUnit}">selected="selected"</c:if>><c:out value="${ pageUnit }"/>개씩</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="spacing">
|
||||
<div class="table-wrapper">
|
||||
<table class="table order-section vertical">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 5%;">
|
||||
<col style="width: 5%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 7%;">
|
||||
<col style="width: 7%;">
|
||||
<col style="width: 7%;">
|
||||
<col style="width: 7%;">
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 6%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th rowspan="2">번호</th>
|
||||
<th>접수일시</th>
|
||||
<th rowspan="2">주문번호</th>
|
||||
<th rowspan="2">결제</th>
|
||||
<th rowspan="2">종류</th>
|
||||
<th rowspan="2">사유</th>
|
||||
<th rowspan="2">회수수량<br>/주문수량</th>
|
||||
<th rowspan="2">환불방법</th>
|
||||
<th rowspan="2">환불금액</th>
|
||||
<th>반품처리완료일시</th>
|
||||
<th colspan="2">처리상태</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>반품/환불번호</th>
|
||||
<th>환불처리완료일시</th>
|
||||
<th>반품</th>
|
||||
<th>환불</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:choose>
|
||||
<c:when test = "${not empty resultMap.resultList}">
|
||||
<c:forEach var = "refund" items = "${resultMap.resultList}">
|
||||
<tr>
|
||||
<td><c:out value="${resultMap.paginationInfo.totalRecordCount - refund.rnum+1 }" /></td>
|
||||
<td>
|
||||
<span><c:out value = "${refund.refundReqstDt}"/></span>
|
||||
<br>
|
||||
<button type="button" onclick="fn_move_dtlupdt('<c:out value = "${ refund.orderRefundInnb }"/>');" class="blue-6 fw-500" href=""><c:out value = "${ refund.orderRefundInnb }"/></button>
|
||||
</td>
|
||||
<td>
|
||||
<button class="blue-6 fw-500" type="button" onclick="fn_go_ordr_dtl('<c:out value = "${refund.ordrInnb}"/>');" ><c:out value = "${refund.ordrInnb}"/></button>
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<c:choose>
|
||||
<c:when test="${ refund.setleDyCd eq '05' }">
|
||||
<i class="icon icon_word-badge07" ></i><!-- 에스크로 -->
|
||||
<i class="icon icon_word-badge06" ></i><!-- 가상계좌 -->
|
||||
</c:when>
|
||||
<c:when test="${ refund.setleDyCd eq '06' }">
|
||||
<i class="icon icon_word-badge07" ></i><!-- 에스크로 -->
|
||||
<i class="icon icon_word-badge13" ></i><!-- 계좌 -->
|
||||
</c:when>
|
||||
<c:when test="${ refund.setleDyCd eq '01' }">
|
||||
<i class="icon icon_word-badge04" ></i><!-- 카드 -->
|
||||
</c:when>
|
||||
<c:when test="${ refund.setleDyCd eq '02' }">
|
||||
<i class="icon icon_word-badge03" ></i><!-- 무통장 -->
|
||||
</c:when>
|
||||
<c:when test="${ refund.setleDyCd eq '03' }">
|
||||
<i class="icon icon_word-badge13" ></i><!-- 계좌 -->
|
||||
</c:when>
|
||||
<c:when test="${ refund.setleDyCd eq '04' }">
|
||||
<i class="icon icon_word-badge06" ></i><!-- 가상계좌 -->
|
||||
</c:when>
|
||||
<c:when test="${ refund.setleDyCd eq '07' }">
|
||||
<i class="icon icon_word-badge05" ></i><!-- 핸드폰 -->
|
||||
</c:when>
|
||||
<c:when test="${ refund.setleDyCd eq '08' }">
|
||||
<i class="icon icon_word-badge12" ></i><!-- 마일리지 -->
|
||||
</c:when>
|
||||
<c:when test="${ refund.setleDyCd eq '09' }">
|
||||
<i class="icon icon_word-badge_pos" ></i><!-- 포스 -->
|
||||
</c:when>
|
||||
<c:when test="${ refund.setleDyCd eq '10' }">
|
||||
<i class="icon icon_word-badge_payco" ></i><!-- 페이코 -->
|
||||
</c:when>
|
||||
<c:when test="${ refund.setleDyCd eq '11' }">
|
||||
<i class="icon icon_word-badge14" ></i><!-- 복합 -->
|
||||
</c:when>
|
||||
<c:when test="${ refund.setleDyCd eq '12' }">
|
||||
<i class="icon icon_word-badge16" ></i><!-- 충전식마일리지 -->
|
||||
</c:when>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td><c:out value = "${refund.refundTyCdNm}"/></td>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty refund.returnResnCn }">
|
||||
<c:out value = "${ refund.refundResnCn }"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:out value = "${ refund.returnResnCnNm }"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td><c:out value = "${ refund.refundQy }"/>/<c:out value = "${ refund.orderQy }"/>(<c:out value = "${ refund.orderGoodsCnt }"/>종)</td>
|
||||
<td>
|
||||
<c:out value = "${ refund.refundMthCdNm }"/>
|
||||
</td>
|
||||
<td>
|
||||
<span class="comma">
|
||||
<c:out value = "${ refund.refundAmt }"/>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<c:out value = "${ refund.refundComptDt }"/>
|
||||
<br>
|
||||
<c:out value = "${ refund.returnComptDt }"/>
|
||||
</td>
|
||||
<td><c:out value = "${ refund.returnProcsSttusCdNm }"/></td>
|
||||
<td><c:out value = "${ refund.refundProcsSttusCdNm }"/></td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr>
|
||||
<td colspan="100%"><spring:message code="common.nodata"/></td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
<div class="pagination__container">
|
||||
<ui:pagination paginationInfo="${resultMap.paginationInfo}" type="image" jsFunction="fn_select_order_refund_list" />
|
||||
</div>
|
||||
@@ -0,0 +1,313 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Include.jsp"%>
|
||||
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('.dateRange-btn').filter('#sevenDays').trigger('click');
|
||||
fn_display_start();
|
||||
$('.dateRange-btn').filter('#sevenDays').trigger('click');
|
||||
//crm 정보 조회
|
||||
if ($("#mbrTyCd").val() === '01') {
|
||||
fn_get_crm_info($("#leftMbrInnb").val(), $("#leftMbrDvCd").val());
|
||||
} else {
|
||||
fn_get_crm_info_nmbr($("#leftMbtlnb").val(),$("#leftOrdrInnb").val());
|
||||
let txt = '';
|
||||
if(!fn_is_empty($("#leftMbrNm").val())){
|
||||
txt = $("#leftMbrNm").val()+"("+fn_format_mbtlnb($("#leftMbtlnb").val())+")";
|
||||
}else{
|
||||
txt ="비회원 ("+fn_format_mbtlnb($("#leftMbtlnb").val())+")";
|
||||
}
|
||||
$("#nmbrMbr").text(txt);
|
||||
}
|
||||
fn_add_crm_menu_class("leftRefund");
|
||||
});
|
||||
|
||||
|
||||
/********************************************************
|
||||
* 시작 화면 제어 함수
|
||||
* ******************************************************/
|
||||
const fn_display_start = function() {
|
||||
|
||||
fn_set_date('srchStartDate','srchEndDate','srchEndDate');
|
||||
|
||||
$('#listForm').on('keydown', function(e) {
|
||||
if (e.keyCode == 13) {
|
||||
e.preventDefault();
|
||||
$('#searchBtn').trigger("click");
|
||||
}
|
||||
});
|
||||
|
||||
let pageIndex = '<c:out value="${ resultMap.paramVO.pageIndex }"/>';
|
||||
let pageUnit = '<c:out value="${ resultMap.paramVO.pageUnit }"/>';
|
||||
|
||||
fn_select_order_refund_list(pageIndex, pageUnit);
|
||||
|
||||
$('#allDays').on('click', function() {
|
||||
$('#srchStartDate, #srchEndDate').val('');
|
||||
});
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************
|
||||
* 반품 환물 목록 조회
|
||||
*******************************************************/
|
||||
const fn_select_order_refund_list = function(pageIndex, pageUnit) {
|
||||
let dataStr;
|
||||
if(!pageIndex) {
|
||||
$('#pageIndex').val(1);
|
||||
} else {
|
||||
$('#pageIndex').val(pageIndex);
|
||||
}
|
||||
|
||||
if(!pageUnit) {
|
||||
dataStr = $('#listForm').serialize();
|
||||
} else {
|
||||
if($('#pageUnit').length){
|
||||
$('#pageUnit').val(pageUnit);
|
||||
dataStr = $('#listForm').serialize();
|
||||
} else {
|
||||
dataStr = $('#listForm').serialize()+'&pageUnit='+pageUnit;
|
||||
}
|
||||
}
|
||||
dataStr = dataStr+"&mbrTyCd="+$("#mbrTyCd").val();
|
||||
$('#pageIndex').val(pageIndex);
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url : "<c:url value="/crm/ordr/selectMbrRtngudRefndDtlsInqire"/>",
|
||||
data : dataStr,
|
||||
success:function(resultHtml) {
|
||||
$('#pageDiv').html(resultHtml);
|
||||
$('#pageUnit').niceSelect();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
/****************************************************
|
||||
* 반품환불 상세 수정폼 이동
|
||||
*****************************************************/
|
||||
const fn_move_dtlupdt = function(orderReInnb, ordrInnb) {
|
||||
|
||||
$('#listForm').attr('action', '<c:url value="/mngr/ordr/refnd/selectRtngudRefndDtlInqire"/>');
|
||||
$('#listForm').attr('method', 'post');
|
||||
$('#orderReInnb').val(orderReInnb);
|
||||
$('#ordrInnb').val(ordrInnb);
|
||||
$('#listForm').submit();
|
||||
}
|
||||
|
||||
|
||||
/* 주문상세 이동 */
|
||||
const fn_go_ordr_dtl = function(ordrInnb) {
|
||||
|
||||
var form = $('#listForm')
|
||||
|
||||
$(form).find('input[name="ordrInnb"]').remove();
|
||||
$(form).append($('<input/>', {type:'hidden', name:'ordrInnb', id:'ordrInnb', value:ordrInnb}));
|
||||
|
||||
$(form).attr('target', '_blank');
|
||||
$(form).attr('method', 'post');
|
||||
$(form).attr('action', '<c:url value="/mngr/ordr/ordrmngr/selectOrdrDtlInqire"/>');
|
||||
|
||||
$(form).submit();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/************************************************
|
||||
* TODO : 관련번호 상세페이지 이동
|
||||
*************************************************/
|
||||
const fn_move_dtlpage = function() {
|
||||
alert("TODO : 해당 번호 상세 페이지로 이동");
|
||||
};
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Header.jsp"%>
|
||||
<main class="main">
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Left.jsp"%>
|
||||
<div class="content">
|
||||
<div class="content__inner">
|
||||
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
|
||||
<div class="page-title">
|
||||
<h2 class="page-title__title">반품/환불 조회</h2>
|
||||
<div class="page-title__btn-container">
|
||||
</div>
|
||||
</div>
|
||||
<form id="listForm" name="listForm" method="post">
|
||||
<input type="hidden" id="orderReInnb" name="orderReInnb"/>
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value="<c:out value="${ resultMap.paramVO.pageIndex }"/>"/>
|
||||
<input type="hidden" id="recordCountPerPage" name="recordCountPerPage" value="<c:out value="${ resultMap.paramVO.recordCountPerPage }"/> "/>
|
||||
<input type="hidden" id="sopmalCd" name="sopmalCd" value="<c:out value="${ resultMap.paramVO.sopmalCd }"/>"/>
|
||||
<input type="hidden" id="mbrInnb" name="mbrInnb" value="<c:out value="${cnsltVO.mbrInnb}"/>" />
|
||||
<input type="hidden" id="mbtlnb" name="mbtlnb" value="${ cnsltVO.mbtlnb}" />
|
||||
<section class="content-section" id="crmRefundSec">
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>검색어</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select title="해당 셀렉트에 대한 설명" id = "srchDv" name="srchDv">
|
||||
<option value="REINNB">반품/환불번호</option>
|
||||
<option value="ORDERINNB" <c:if test = "${not empty cnsltVO.ordrInnb}">selected</c:if>>주문번호</option>
|
||||
</select>
|
||||
</div>
|
||||
<input class="input-text xl" type="text" title="해당 인풋에 대한 설명"
|
||||
name="srchStr"
|
||||
value="<c:out value="${cnsltVO.ordrInnb}"/>"
|
||||
placeholder="">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>날짜</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select id="srchDtDv" name="srchDtDv" title="해당 셀렉트에 대한 설명">
|
||||
<option value="refundReqestDt">환불신청일</option>
|
||||
<option value="refundComptDt">환불완료일</option>
|
||||
<option value="returnReqestDt">반품신청일</option>
|
||||
<option value="returnComptDt">반품완료일</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input-container">
|
||||
<input type="text" name="srchStartDate" id="srchStartDate" class="datepicker" title="시작 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd">
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" name="srchEndDate" id="srchEndDate" class="datepicker" title="종료 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd">
|
||||
</div>
|
||||
<div class="dateRange-btnContainer">
|
||||
<button type="button" class="dateRange-btn" id="yesterday" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1D')">어제</button>
|
||||
<button type="button" class="dateRange-btn" id="today" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','0')">오늘</button>
|
||||
<button type="button" class="dateRange-btn" id="threeDays" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','3D')">3일간</button>
|
||||
<button type="button" class="dateRange-btn" id="sevenDays" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','7D')">일주일</button>
|
||||
<button type="button" class="dateRange-btn" id="oneMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1M')">1개월</button>
|
||||
<button type="button" class="dateRange-btn" id="threeMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','3M')">3개월</button>
|
||||
<button type="button" class="dateRange-btn" id="sixMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','6M')">6개월</button>
|
||||
<button type="button" class="dateRange-btn" id="oneYear" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1Y')">1년</button>
|
||||
<button type="button" class="dateRange-btn selected" id="allDays">전체</button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>반품처리상태</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox check-all">
|
||||
<input type="checkbox" id="returnProcsSttusAll" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">전체</span>
|
||||
</label>
|
||||
<c:forEach var = "rtngud" items = "${resultMap.rtngudProcsSttus}">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input class="returnProcsSttus" type="checkbox" name="srchReturnProcsStuusCd" value="${rtngud.cd}" onclick="fn_ctr_pCheckbox('#returnProcsSttusAll', '.returnProcsSttus')"
|
||||
<c:if test="${ fn:contains(resultMap.paramVO.srchReturnProcsStuusCd, rtngud.cd) }">checked="checked"</c:if>>
|
||||
<span class="check"></span>
|
||||
<span class="control-label">${rtngud.cdNm}</span>
|
||||
</label>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>환불처리상태</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox check-all">
|
||||
<input type="checkbox" id="refundProcsSttusAll" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">전체</span>
|
||||
</label>
|
||||
<c:forEach var = "refund" items = "${resultMap.refndProcsSttus}">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input class="refundProcsSttus" type="checkbox" name="srchRefundProcsSttusCd" value="${refund.cd}" onclick="fn_ctr_pCheckbox('#refundProcsSttusAll', '.refundProcsSttus');"
|
||||
<c:if test="${ fn:contains(resultMap.paramVO.srchRefundProcsSttusCd, refund.cd) }">checked="checked"</c:if>>
|
||||
<span class="check"></span>
|
||||
<span class="control-label">${refund.cdNm}</span>
|
||||
</label>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>회수방법(반품)</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select title="해당 셀렉트에 대한 설명" name="srchReturnMthCd">
|
||||
<option value="">전체</option>
|
||||
<c:forEach var="cdList" items="${ resultMap.returnMtcCdList }" varStatus="status">
|
||||
<c:choose>
|
||||
<c:when test="${ cdList.cd eq resultMap.paramVO.srchReturnMthCd}">
|
||||
<option value="<c:out value="${ cdList.cd }"/>" selected="selected"><c:out value="${ cdList.cdNm }"/></option>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<option value="<c:out value="${ cdList.cd }"/>"><c:out value="${ cdList.cdNm }"/></option>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="form-control-container">
|
||||
<div class="left"></div>
|
||||
<div class="center">
|
||||
<button type="searchBtn" class="btn outline" onclick="fn_reset_form('crmRefundSec'); return false;">초기화</button>
|
||||
<button type="searchBtn" class="btn primary" id="searchBtn" onclick="fn_select_order_refund_list(1); return false;">검색</button>
|
||||
</div>
|
||||
<div class="right">
|
||||
<button class="btn outline search-detail">상세검색</button>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- // 검색 끝 -->
|
||||
<div id = "pageDiv">
|
||||
</div>
|
||||
</form>
|
||||
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
|
||||
</div>
|
||||
|
||||
<%-- CRM right 공통 --%>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Right.jsp"%>
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
7465
src/main/webapp/WEB-INF/views/crm/ordr/MngrOrdrRegistFormC.jsp
Normal file
7465
src/main/webapp/WEB-INF/views/crm/ordr/MngrOrdrRegistFormC.jsp
Normal file
File diff suppressed because it is too large
Load Diff
232
src/main/webapp/WEB-INF/views/crm/ordr/OrdrGoodsInqirePopupR.jsp
Normal file
232
src/main/webapp/WEB-INF/views/crm/ordr/OrdrGoodsInqirePopupR.jsp
Normal file
@@ -0,0 +1,232 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
|
||||
<div id="product-select-pop" class="modal" style="max-width: 1320px;">
|
||||
<div class="modal-header">
|
||||
<h4>상품 검색</h4>
|
||||
</div>
|
||||
<div class="modal-content" style="height: 700px;">
|
||||
<div class="content-section">
|
||||
<form id="goodsCondForm">
|
||||
<input type="hidden" id="sopmalCd" name="sopmalCd" value="${data.sopmalCd}"/>
|
||||
<input type="hidden" id="totalRecordCount" name="totalRecordCount" value=""/>
|
||||
<input type="hidden" id="totalPageCount" name="totalPageCount" value=""/>
|
||||
<input type="hidden" id="currentPageNo" name="currentPageNo" value=""/>
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value=""/>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>상품 검색</caption>
|
||||
<colgroup>
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 40%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 40%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>카테고리</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<div class="input-container gap-4">
|
||||
<div class="select-box">
|
||||
<select id="ctgryDepth1" class="ctgry" title="1차 카테고리">
|
||||
<option value="">1차 카테고리</option>
|
||||
<c:forEach items="${data.goodsCategoryList}" var="goodsCategory" varStatus="status">
|
||||
<option value="${goodsCategory.ctgryId}">${goodsCategory.ctgryNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select id="ctgryDepth2" class="ctgry" title="2차 카테고리">
|
||||
<option value="">2차 카테고리</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select id="ctgryDepth3" class="ctgry" title="3차 카테고리">
|
||||
<option value="">3차 카테고리</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select id="ctgryDepth4" class="ctgry" title="4차 카테고리">
|
||||
<option value="">4차 카테고리</option>
|
||||
</select>
|
||||
</div>
|
||||
<input type="hidden" id="ctgryId" name="ctgryId" value=""/>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>노출</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="expsrCd0" name="expsrCd" value="">
|
||||
<label for="expsrCd0">전체</label>
|
||||
</div>
|
||||
<c:forEach items="${data.expsrCdList}" var="expsrCd" varStatus="status">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="expsrCd${status.count}" name="expsrCd" value="${expsrCd.cd}" <c:if test="${status.index == 0}">checked</c:if> >
|
||||
<label for="expsrCd${status.count}">${expsrCd.cdNm}</label>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<th>가격</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select name="pricDv" title="가격 구분">
|
||||
<option value="cnsmrpric">정가</option>
|
||||
<option value="slepric">판매가</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input-container">
|
||||
<input type="text" name="startPric" class="input-text sm number right number-only" maxlength="10" title="가격 시작">
|
||||
<span class="input-unit-text">원</span>
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" name="endPric" class="input-text sm number right number-only" maxlength="10" title="가격 조율">
|
||||
<span class="input-unit-text">원</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>판매상태</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox check-all">
|
||||
<input type="checkbox" name="goodsDftinfoSttus" value="" >
|
||||
<span class="check"></span>
|
||||
<span class="control-label">전체</span>
|
||||
</label>
|
||||
<c:forEach items="${data.goodsDftinfoSttusList}" var="goodsDftinfoSttus" varStatus="status">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" name="goodsDftinfoSttus" class="goodsDftinfoSttus" value="${goodsDftinfoSttus.cd}" <c:if test="${goodsDftinfoSttus.cd eq '01' }">checked="checked"</c:if> />
|
||||
<span class="check"></span>
|
||||
<span class="control-label">${goodsDftinfoSttus.cdNm}</span>
|
||||
</label>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>날짜</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select name="dateDv" title="날짜 구분">
|
||||
<option value="regist">등록일</option>
|
||||
<option value="updt">수정일</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input-container">
|
||||
<input type="text" name="startDate" id="startDate" class="datepicker" title="시작 날짜 선택" autocomplete="off">
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" name="endDate" id="endDate" class="datepicker" title="종료 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd">
|
||||
<input type="hidden" id="datePeriod" name="datePeriod" value=""/>
|
||||
</div>
|
||||
<div class="dateRange-btnContainer">
|
||||
<button type="button" class="dateRange-btn" id="1D" >어제</button>
|
||||
<button type="button" class="dateRange-btn" id="0">오늘</button>
|
||||
<button type="button" class="dateRange-btn" id="3D">3일간</button>
|
||||
<button type="button" class="dateRange-btn" id="7D">일주일</button>
|
||||
<button type="button" class="dateRange-btn" id="1M">1개월</button>
|
||||
<button type="button" class="dateRange-btn" id="3M">3개월</button>
|
||||
<button type="button" class="dateRange-btn" id="6M">6개월</button>
|
||||
<button type="button" class="dateRange-btn" id="1Y">1년</button>
|
||||
<button type="button" class="dateRange-btn selected" id="allDays">전체</button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>재고에 따른 판매</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="goodsDftinfoInvntryPolicy0" name="goodsDftinfoInvntryPolicy" value="" checked>
|
||||
<label for="goodsDftinfoInvntryPolicy0">전체</label>
|
||||
</div>
|
||||
<c:forEach items="${data.goodsDftinfoInvntryPolicyList}" var="goodsDftinfoInvntryPolicy" varStatus="status">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="goodsDftinfoInvntryPolicy${status.count}" name="goodsDftinfoInvntryPolicy" value="${goodsDftinfoInvntryPolicy.cd}">
|
||||
<label for="goodsDftinfoInvntryPolicy${status.count}">${goodsDftinfoInvntryPolicy.cdNm}</label>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>검색어</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<input type="text" name="kwrd" class="input-text full" title="검색어" placeholder="상품명, 상품설명, 상품코드, 키워드, 간략설명">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="form-control-container">
|
||||
<div class="left"></div>
|
||||
<div class="center">
|
||||
<button type="button" id="initGoodsCond" class="btn outline">초기화</button>
|
||||
<button type="button" id="searchGoods" class="btn primary">검색</button>
|
||||
</div>
|
||||
<div class="right"></div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div id="pageDiv"></div>
|
||||
<div class="content-section">
|
||||
<div class="table-wrapper">
|
||||
<form id="choiceGoodsForm">
|
||||
<table class="table vertical">
|
||||
<caption>선택 상품</caption>
|
||||
<colgroup>
|
||||
<col style="width: auto;">
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 8%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>주문상품</th>
|
||||
<th>수량</th>
|
||||
<th>상품금액</th>
|
||||
<th>할인</th>
|
||||
<th>할인가격</th>
|
||||
<th>적립</th>
|
||||
<th>삭제</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="choiceGoods">
|
||||
<tr id="nodata">
|
||||
<td colspan="100%"><spring:message code="common.nodata"/></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="javascript:void(0);" rel="modal:close" class="btn outline">닫기</a>
|
||||
<button type="button" id="applyGoods" class="btn primary">적용</button>
|
||||
</div>
|
||||
<div id="option-select-pop-div"></div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,86 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
|
||||
<div class="content-section">
|
||||
<div class="table-wrapper">
|
||||
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
||||
<table class="table vertical">
|
||||
<caption>상품목록</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: auto;">
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 8%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>상품명</th>
|
||||
<th>정가</th>
|
||||
<th>할인가</th>
|
||||
<th>재고/가용</th>
|
||||
<th>상태</th>
|
||||
<th>노출</th>
|
||||
<th>선택</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:choose>
|
||||
<c:when test="${not empty data.goodsList}">
|
||||
<c:forEach items="${data.goodsList}" var="goods" varStatus="status">
|
||||
<tr>
|
||||
<td>
|
||||
<div class="order-section__product">
|
||||
<a href="javascript:void(0);">
|
||||
<img src="${cdnurl}${goods.goodsImgCours}" onerror="this.src='<c:url value="/mngr/images/image_placeholder.png"/>'" alt="${goods.goodsNm}" width="56" height="56">
|
||||
</a>
|
||||
<div class="order-section__product-info">
|
||||
<a href="javascript:void(0);" class="order-section__product-productTitle">${goods.goodsNm}</a>
|
||||
<span class="option-text">
|
||||
<span class="option-badge">옵션</span> ${goods.optn}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" class="goodsInnb" value="${goods.goodsInnb}"/>
|
||||
<input type="hidden" class="goodsOptnInnb" value=""/>
|
||||
<input type="hidden" class="optnTy" value="${goods.optnTy}"/>
|
||||
<input type="hidden" class="goodsNm" value="${goods.goodsNm}"/>
|
||||
<input type="hidden" class="qy" value="1"/>
|
||||
<input type="hidden" class="inputOptn" value="${goods.inputOptn}"/>
|
||||
<input type="hidden" class="goodsSttusCd" value="${goods.goodsSttusCd}"/>
|
||||
</td>
|
||||
<td><span class="comma">${goods.cnsmrpric}</span></td>
|
||||
<td><span class="comma">${goods.slepric}</span></td>
|
||||
<td>${goods.invntryQy}/${goods.ableQy}</td>
|
||||
<td>${goods.goodsSttusNm}</td>
|
||||
<td>
|
||||
<span class="${'01' eq goods.goodsExpsr ? 'blue-7': ''}">${goods.expsrNm}</span>
|
||||
</td>
|
||||
<td>
|
||||
<div class="manage-btn-container">
|
||||
<a href="javascript:void(0);" onclick="fn_go_goods_optn_choice_popup(this);" class="btn xsm primary outline">선택</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr>
|
||||
<td colspan="100%"><spring:message code="common.nodata"/></td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="pagination__container">
|
||||
<ui:pagination paginationInfo="${data.paginationInfo}" type="image" jsFunction="fn_get_goods_list"/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,186 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- 옵션 선택 모달 -->
|
||||
<div id="option-select-pop" class="modal" style="max-width: 480px;">
|
||||
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
||||
<div class="modal-header">
|
||||
<h4>옵션 선택 추가</h4>
|
||||
</div>
|
||||
<form id="optnForm">
|
||||
<input type="hidden" id="sopmalCd" name="sopmalCd" value="${data.sopmalCd}"/>
|
||||
<div class="modal-content" style="height: 480px;">
|
||||
<c:choose>
|
||||
<c:when test="${not empty data.goods}">
|
||||
<c:set var="goods" value="${data.goods}"/>
|
||||
<div class="option-select__product">
|
||||
<img src="${cdnurl}${goods.goodsImgCours}" onerror="this.src='<c:url value="/mngr/images/image_placeholder.png"/>'" alt="${goods.goodsNm}" width="100" height="100">
|
||||
<p>${goods.goodsNm}</p>
|
||||
</div>
|
||||
<input type="hidden" name="goodsInnb" id="goodsInnb" value="${goods.goodsInnb}"/>
|
||||
<input type="hidden" name="invntryPolicyCd" id="invntryPolicyCd" value="${goods.invntryPolicyCd}"/>
|
||||
<div class="option-select__select-area">
|
||||
<c:if test="${not empty data.nomalOptn}">
|
||||
<span class="option-select__select-title">상품</span>
|
||||
<c:forEach items="${data.nomalOptn}" var="nomalOptnList" varStatus="status">
|
||||
<div class="select-box ${status.count > 1 ? 'mt-10' : ''}">
|
||||
<select name="nomalOptn${status.count}" id="nomalOptn${status.count}" class="w-full nomalOptn" title="일반옵션">
|
||||
<c:forEach items="${nomalOptnList}" var="nomalOptn" varStatus="status">
|
||||
<c:choose>
|
||||
<c:when test="${goods.invntryPolicyCd eq '01' and nomalOptn.invntryAble eq 'N' }">
|
||||
<c:if test="${nomalOptn.invntrySldoutExpsrAt eq 'Y'}">
|
||||
<option value="${nomalOptn.optnVal}" disabled> <c:out value="${nomalOptn.optnNm} (품절)"/></option>
|
||||
</c:if>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<option value="${nomalOptn.optnVal}">${nomalOptn.optnNm}</option>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</c:if>
|
||||
|
||||
<c:if test="${not empty data.stockOptn}">
|
||||
<c:set var="stockOptn" value="${data.stockOptn}"/>
|
||||
<c:if test="${not empty stockOptn.stockOptn1List}">
|
||||
<span class="option-select__select-title">상품</span>
|
||||
<div class="select-box">
|
||||
<select name="stockOptn1" id="stockOptn1" class="w-full stockOptn" title="재고옵션1">
|
||||
<c:forEach items="${stockOptn.stockOptn1List}" var="stockOptn1" varStatus="status">
|
||||
<option value="${stockOptn1.optnVal}">${stockOptn1.optnNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${not empty stockOptn.stockOptn2List}">
|
||||
<div class="select-box mt-10">
|
||||
<select name="stockOptn2" id="stockOptn2" class="w-full stockOptn" title="재고옵션2">
|
||||
<c:forEach items="${stockOptn.stockOptn2List}" var="stockOptn2" varStatus="status">
|
||||
<option value="${stockOptn2.optnVal}">${stockOptn2.optnNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${not empty stockOptn.stockOptn3List}">
|
||||
<div class="select-box mt-10">
|
||||
<select name="stockOptn3" id="stockOptn3" class="w-full stockOptn" title="재고옵션3">
|
||||
<c:forEach items="${stockOptn.stockOptn3List}" var="stockOptn3" varStatus="status">
|
||||
<option value="${stockOptn3.optnVal}">${stockOptn3.optnNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${not empty stockOptn.stockOptn4List}">
|
||||
<div class="select-box mt-10">
|
||||
<select name="stockOptn4" id="stockOptn4" class="w-full stockOptn" title="재고옵션4">
|
||||
<c:forEach items="${stockOptn.stockOptn4List}" var="stockOptn4" varStatus="status">
|
||||
<option value="${stockOptn4.optnVal}">${stockOptn4.optnNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</c:if>
|
||||
</c:if>
|
||||
|
||||
<c:if test="${not empty data.addOptn}">
|
||||
<span class="option-select__select-title mt-10">추가상품</span>
|
||||
<div id="addOptnDiv">
|
||||
<c:forEach items="${data.addOptn}" var="addOptnList" varStatus="status">
|
||||
<div class="select-box ${status.count > 1 ? 'mt-10' : ''}">
|
||||
<select name="addOptn${status.count}" id="addOptn${status.count}" class="w-full addOptn" title="추가옵션">
|
||||
<c:forEach items="${addOptnList}" var="addOptn" varStatus="status">
|
||||
<c:choose>
|
||||
<c:when test="${goods.invntryPolicyCd eq '01' and addOptn.invntryAble eq 'N' }">
|
||||
<c:if test="${addOptn.invntrySldoutExpsrAt eq 'Y'}">
|
||||
<option value="${addOptn.optnVal}" disabled> <c:out value="${addOptn.optnNm} (품절)"/></option>
|
||||
</c:if>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<option value="${addOptn.optnVal}">${addOptn.optnNm}</option>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</c:if>
|
||||
|
||||
<c:if test="${not empty data.inputOptn}">
|
||||
<span class="option-select__select-title mt-10">입력</span>
|
||||
<c:forEach items="${data.inputOptn}" var="inputOptn" varStatus="status">
|
||||
<div class="word-limit-input mt-10">
|
||||
<input type="text" class="input-text word-limit inputOptn" optn-info="${inputOptn.optnInfo}" size="60" maxlength="30" title="${inputOptn.optnTitle}" placeholder="${inputOptn.optnTitle}">
|
||||
<input type="hidden" class="optnTitle" value="${inputOptn.optnTitle}"/>
|
||||
<input type="hidden" class="optnInfo" value="${inputOptn.optnInfo}"/>
|
||||
<input type="hidden" class="optnEssntlAt" value="${inputOptn.optnEssntlAt}"/>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</c:if>
|
||||
</div>
|
||||
|
||||
<c:if test="${not empty data.choiceOptn}">
|
||||
<c:set var="choiceOptn" value="${data.choiceOptn}"/>
|
||||
<c:set var="subSlepricByFormat" value="${choiceOptn.subSlepricByFormat}"/>
|
||||
<c:set var="subSlepric" value="${choiceOptn.subSlepric}"/>
|
||||
|
||||
<div class="product-count optn-${choiceOptn.goodsOptnInnb}">
|
||||
<input type="hidden" class="goodsInnb" value="${choiceOptn.goodsInnb}"/>
|
||||
<input type="hidden" class="goodsOptnInnb" value="${choiceOptn.goodsOptnInnb}"/>
|
||||
<input type="hidden" class="slepric" value="${choiceOptn.slepric}"/>
|
||||
<input type="hidden" class="qy" value="${choiceOptn.qy}"/>
|
||||
<input type="hidden" class="subSlepric" value="${subSlepric}"/>
|
||||
<input type="hidden" class="inputOptn" value="${choiceOptn.inputOptn}"/>
|
||||
<input type="hidden" class="inputOptnText" value="${choiceOptn.inputOptnText}"/>
|
||||
<input type="hidden" class="optnRelateNb" value="${choiceOptn.optnRelateNb}"/>
|
||||
<div class="product-count__amount-top">
|
||||
<span class="product-count__amount-title">${choiceOptn.optn}</span>
|
||||
|
||||
<c:if test="${not empty choiceOptn.inputOptnText}">
|
||||
<br/><span class="product-count__amount-title">${choiceOptn.inputOptnText}</span>
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="product-count__amount-bottom">
|
||||
<div class="product-count__amount-counter">
|
||||
<button type="button" id="optn-qy-minus" class="product-count__amount-btn minus"><span class="visually-hidden">감소</span></button>
|
||||
<span class="product-count__amount-number optn-qy">${choiceOptn.qy}</span>
|
||||
<button type="button" id="optn-qy-plus" class="product-count__amount-btn plus"><span class="visually-hidden">추가</span></button>
|
||||
</div>
|
||||
<div class="product-count__amount-price-box">
|
||||
<span class="product-count__amount-price"><span class="comma sub-slepric">${subSlepricByFormat}</span>원</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<div class="text-center" style="height: 100%; align-content: center">
|
||||
<san class="option-select__sum-number">선택 불가 상품 입니다.<br/> 상품 설정 정보를 확인해 주십시요.</san>
|
||||
</div>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
<div class="modal-footer justify-end">
|
||||
<div class="option-select__sum">
|
||||
<p class="option-select__sum-price">
|
||||
<span>총 금액 :</span>
|
||||
<span class="option-select__sum-number">
|
||||
<input type="hidden" name="totalPrice" id="totalPric" value="${not empty subSlepric ? subSlepric : 0}"/>
|
||||
<span class="comma total-pric" >${not empty subSlepricByFormat ? subSlepricByFormat : 0}</span>
|
||||
</span>
|
||||
<span>원</span>
|
||||
</p>
|
||||
<button type="button" id="btnChoiceOption" class="option-select__sum-btn">선택</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
124
src/main/webapp/WEB-INF/views/crm/ordr/OrdrReqstGcpayPayR.jsp
Normal file
124
src/main/webapp/WEB-INF/views/crm/ordr/OrdrReqstGcpayPayR.jsp
Normal file
@@ -0,0 +1,124 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||||
|
||||
<%--
|
||||
Class Name : OrdrReqstGcpayPayR.jsp
|
||||
Description : 토스 지씨페이 결제정보
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-04-11 김혜인 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
const ordrInnb = $('#ordrInnb').val();
|
||||
const goodsNm = $('#goodsNm').val();
|
||||
const setleTyCd = $('#setleTyCd').val();
|
||||
const setleAmt = $('#setleAmt').val();
|
||||
const ordrrEmail = $('#ordrrEmail').val();
|
||||
const methodId = $('#methodId').val();
|
||||
|
||||
const request = {
|
||||
amount: setleAmt,
|
||||
orderId: ordrInnb,
|
||||
orderName: goodsNm,
|
||||
customerEmail: ordrrEmail,
|
||||
methodId: methodId
|
||||
};
|
||||
|
||||
if ('01' === setleTyCd) { // 카드
|
||||
const cardInstallmentPlan = $('#cardInstallmentPlan').val();
|
||||
const useCardPoint = $('#useCardPoint').val();
|
||||
|
||||
if (!fn_is_empty(cardInstallmentPlan)) {
|
||||
request['cardInstallmentPlan'] = cardInstallmentPlan;
|
||||
}
|
||||
|
||||
if (!fn_is_empty(useCardPoint)) {
|
||||
request['useCardPoint'] = 'true' === useCardPoint;
|
||||
}
|
||||
}
|
||||
|
||||
if ('03' === setleTyCd) { // 실시간 계좌이체
|
||||
const cshRciptIssuAt = $('#cshRciptIssuAt').val();
|
||||
const issuTrgetDvCd = $('#issuTrgetDvCd').val();
|
||||
const crtnb = $('#crtnb').val();
|
||||
|
||||
if ('01' === cshRciptIssuAt) { // 발급
|
||||
const cashReceipt = {
|
||||
type: '소득공제',
|
||||
registrationNumberType: '01' === issuTrgetDvCd ? 'MOBILE' : 'BUSINESS_REGISTRATION',
|
||||
registrationNumber: crtnb
|
||||
}
|
||||
|
||||
request['cashReceipt'] = cashReceipt;
|
||||
}
|
||||
}
|
||||
|
||||
console.log(request);
|
||||
|
||||
brandpay
|
||||
.requestPayment(request)
|
||||
.then(function (data) {
|
||||
$('#paymentKey').val(data.paymentKey);
|
||||
$('#amount').val(data.amount);
|
||||
$('#orderId').val(data.orderId);
|
||||
$('#methodId').val(data.methodId);
|
||||
|
||||
$('#order_info').submit();
|
||||
})
|
||||
.catch(function (error) {
|
||||
if (error.code === "USER_CANCEL") {
|
||||
alert('GC PAY 간편결제가 취소되었습니다.');
|
||||
|
||||
return false;
|
||||
} else {
|
||||
alert(error.message);
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<form name="order_info" id="order_info" method="post" action="<c:url value="/crm/ordr/insertGcpaySetle"/>">
|
||||
<input type="hidden" name="sopmalCd" id="sopmalCd" value="${data.setle.sopmalCd}"/>
|
||||
<input type="hidden" name="ordrInnb" id="ordrInnb" value="${data.setle.ordrInnb}"/>
|
||||
<input type="hidden" name="pgCmpnyNm" id="pgCmpnyNm" value="${data.setle.pgCmpnyNm}"/>
|
||||
<input type="hidden" name="setleTyCd" id="setleTyCd" value="${data.setle.setleTyCd}"/>
|
||||
|
||||
<input type="hidden" name="goodsNm" id="goodsNm" value="${data.setle.goodsNm}"/> <!-- 상품명 -->
|
||||
<input type="hidden" name="setleAmt" id="setleAmt" value="${data.setle.setleAmt}"/> <!-- 결제 금액 -->
|
||||
<input type="hidden" name="ordrrNm" id="ordrrNm" value="${data.ordr.ordrrNm}"/> <!-- 주문자 이름 -->
|
||||
<input type="hidden" name="ordrrEmail" id="ordrrEmail" value="${data.ordr.ordrrEmail}"/> <!-- 주문자 이메일 -->
|
||||
<input type="hidden" name="ordrrMbtlnb" id="ordrrMbtlnb" value="${data.ordr.ordrrMbtlnb}"/> <!-- 주문자 휴대폰번호 -->
|
||||
<input type="hidden" name="mbrId" id="mbrId" value="${data.ordr.mbrId}"/> <!-- 쇼핑몰회원ID -->
|
||||
<input type="hidden" name="mbrInnb" id="mbrInnb" value="${data.ordr.mbrInnb}" /> <!-- 회원고유번호 -->
|
||||
<input type="hidden" name="mbrDvCd" id="mbrDvCd" value="${data.ordr.mbrDvCd}" /> <!-- 회원구분코드 -->
|
||||
<input type="hidden" name="mbtlnb" id="mbtlnb" value="${data.ordr.ordrrMbtlnb}" /> <!-- 회원휴대폰번호 -->
|
||||
|
||||
<input type="hidden" name="cshRciptIssuAt" id="cshRciptIssuAt" value="${data.setle.cshRciptIssuAt}"/> <!-- 현금영수증 발급여부 -->
|
||||
<input type="hidden" name="issuTrgetDvCd" id="issuTrgetDvCd" value="${data.setle.issuTrgetDvCd}"/> <!-- 발급대상구분코드 (01:개인, 02:사업자) -->
|
||||
<input type="hidden" name="crtnb" id="crtnb" value="${data.setle.crtnb}"/> <!-- 인증번호 -->
|
||||
|
||||
<input type="hidden" name="methodId" id="methodId" value="${data.setle.gcpayMethodId}"/> <!-- GCpay 결제수단 id -->
|
||||
<input type="hidden" name="cardInstallmentPlan" id="cardInstallmentPlan " value="${data.setle.gcpayCardInstallmentPlan}"/> <!-- GCpay 신용카드할부개월수 -->
|
||||
<input type="hidden" name="useCardPoint" id="useCardPoint " value="${data.setle.gcpayUseCardPoint}"/> <!-- GCpay 카드사 포인트 사용 여부 -->
|
||||
|
||||
<input type="hidden" name="paymentKey" id="paymentKey" value=""/>
|
||||
<input type="hidden" name="amount" id="amount" value=""/>
|
||||
<input type="hidden" name="orderId" id="orderId" value=""/>
|
||||
<input type="hidden" name="methodId" id="methodId" value=""/>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,65 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||||
|
||||
<%--
|
||||
Class Name : OrdrReqstKcpKeyInPayR.jsp
|
||||
Description : KCP 수기 결제정보
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-04-11 김혜인 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#order_info').submit();
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<c:choose>
|
||||
<c:when test = "${tmAt eq 'Y'}">
|
||||
<c:set var = "url" value = "/crm/ordr/insertKcpKeyInSetleTm"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:set var = "url" value = "/crm/ordr/insertKcpKeyInSetle"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<form name="order_info" id="order_info" method="post" action="${url}">
|
||||
<input type="hidden" name="site_cd" value="${data.setle.siteCdMid}" /> <!-- NHN KCP 발급 사이트코드 T0007 -->
|
||||
<input type="hidden" name="site_name" value="${data.ordr.sopmalNm}" /> <!-- 상점이름(영문으로 작성권장) -->
|
||||
|
||||
<input type="hidden" name="ordr_idxx" value="${data.ordr.ordrInnb}"/> <!-- 상점 관리 주문번호 -->
|
||||
<input type="hidden" name="good_name" value="${data.setle.goodsNm}"/> <!-- 상품명 -->
|
||||
<input type="hidden" name="good_mny" value="${data.setle.setleAmt}"/> <!-- 결제 금액 -->
|
||||
<input type="hidden" name="buyr_name" value="${data.ordr.ordrrNm}"/> <!-- 주문자 이름 -->
|
||||
<input type="hidden" name="buyr_mail" value="${data.ordr.ordrrEmail}"/> <!-- 주문자 이메일 -->
|
||||
<input type="hidden" name="buyr_tel" value="${data.ordr.ordrrMbtlnb}"/> <!-- 주문자 휴대폰번호 -->
|
||||
|
||||
<input type="hidden" name="card_nb" value="${data.setle.cardNb}"/> <!-- 카드번호 -->
|
||||
<input type="hidden" name="validpd_dt" value="${data.setle.validpdDt}"/> <!-- 유효기간 -->
|
||||
<input type="hidden" name="brth_de" value="${data.setle.brthDe}"/> <!-- 생년월일 -->
|
||||
<input type="hidden" name="card_password" value="${data.setle.cardPassword}"/> <!-- 비밀번호 -->
|
||||
<input type="hidden" name="instlmt_mt_cnt" value="${data.setle.instlmtMtCnt}"/> <!-- 할부기간 -->
|
||||
|
||||
<input type="hidden" name="sopmal_cd" value="${data.ordr.sopmalCd}"/>
|
||||
<input type="hidden" name="mbr_id" value="${data.ordr.mbrId}" />
|
||||
<input type="hidden" name="mbr_innb" value="${data.ordr.mbrInnb}" />
|
||||
<input type="hidden" name="mbr_dv_cd" id="mbr_dv_cd" value="${data.ordr.mbrDvCd}" /> <!-- 회원구분코드 -->
|
||||
<input type="hidden" name="mbtlnb" id="mbtlnb" value="${data.ordr.ordrrMbtlnb}" /> <!-- 회원휴대폰번호 -->
|
||||
<input type="hidden" name="pg_cmpny_nm" value="${data.setle.pgCmpnyNm}" />
|
||||
<input type="hidden" name="setle_ty_cd" value="${data.setle.setleTyCd}" />
|
||||
<input type="hidden" name="sleEnvrnCd" value="${data.ordr.sleEnvrnCd}" /><!-- 판매환경구분 (P/M/TM) -->
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
146
src/main/webapp/WEB-INF/views/crm/ordr/OrdrReqstKcpPayR.jsp
Normal file
146
src/main/webapp/WEB-INF/views/crm/ordr/OrdrReqstKcpPayR.jsp
Normal file
@@ -0,0 +1,146 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||||
|
||||
<%--
|
||||
Class Name : OrdrReqstKcpPayR.jsp
|
||||
Description : KCP 결제정보
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-04-11 김혜인 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
create_goodInfo();
|
||||
jsf__pay(document.order_info);
|
||||
});
|
||||
|
||||
function create_goodInfo() {
|
||||
if(document.order_info.pay_mod.value=='Y') {
|
||||
var chr31 = String.fromCharCode(31); // ASCII 코드값 31
|
||||
var good_info = "seq=1" + chr31 + "ordr_numb=0001" + chr31 + "good_name=${data.setle.goodsNm}" + chr31 + "good_cntx=2" + chr31 + "good_amtx=${data.setle.setleAmt}";
|
||||
document.order_info.good_info.value = good_info;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<form name="setle_info" id="setle_info">
|
||||
<input type="hidden" name="sopmalCd" id="sopmalCd" value="${data.setle.sopmalCd}" />
|
||||
<input type="hidden" name="ordrInnb" id="ordrInnb" value="${data.setle.ordrInnb}" />
|
||||
<input type="hidden" name="pgCmpnyNm" id="pgCmpnyNm" value="${data.setle.pgCmpnyNm}" />
|
||||
<input type="hidden" name="setleTyCd" id="setleTyCd" value="${data.setle.setleTyCd}" />
|
||||
</form>
|
||||
<c:choose>
|
||||
<c:when test = "${tmAt eq 'Y'}">
|
||||
<c:set var = "url" value = "/crm/ordr/insertKcpSetleTm"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:set var = "url" value = "/crm/ordr/insertKcpSetle"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<form name="order_info" id="order_info" method="post" action="${url}">
|
||||
<!-- 가맹점 정보 설정-->
|
||||
<input type="hidden" name="site_cd" value="${data.setle.siteCdMid}" /> <!-- NHN KCP 발급 사이트코드 T0007 -->
|
||||
<input type="hidden" name="site_name" value="${data.ordr.sopmalNm}" /> <!-- 상점이름(영문으로 작성권장) -->
|
||||
<input type="hidden" name="currency" value="WON"/> <!-- 화폐단위 -->
|
||||
<c:if test="${'10' != data.setle.setleTyCd}">
|
||||
<input type="hidden" name="payco_direct" value="" />
|
||||
</c:if>
|
||||
<c:if test="${'10' == data.setle.setleTyCd}">
|
||||
<input type="hidden" name="payco_direct" value="Y" />
|
||||
<input type="hidden" name="pay_method" value="100000000000" /> <!-- 신용카드 -->
|
||||
</c:if>
|
||||
|
||||
<input type="hidden" name="ordr_idxx" value="${data.ordr.ordrInnb}"/> <!-- 상점 관리 주문번호 -->
|
||||
|
||||
<!-- 결제 수단 -->
|
||||
<c:if test="${'01' == data.setle.setleTyCd}">
|
||||
<input type="hidden" name="pay_method" value="100000000000" /> <!-- 신용카드 -->
|
||||
</c:if>
|
||||
|
||||
<c:if test="${'03' == data.setle.setleTyCd}">
|
||||
<input type="hidden" name="pay_method" value="010000000000" /> <!-- 계좌이체 -->
|
||||
</c:if>
|
||||
|
||||
<c:if test="${'04' == data.setle.setleTyCd}">
|
||||
<input type="hidden" name="pay_method" value="001000000000" /> <!-- 가상계좌 -->
|
||||
</c:if>
|
||||
|
||||
<!-- ========== 에스크로 정보 Start =============================== -->
|
||||
<!-- 에스크로 사용 여부 : 반드시 Y 로 설정 -->
|
||||
<input type="hidden" name="escw_used" value="Y"/>
|
||||
|
||||
<c:choose>
|
||||
<c:when test="${'05' == data.setle.setleTyCd}">
|
||||
<input type="hidden" name="pay_method" value="001000000000" /> <!-- 가상계좌(에스크로) 이지만 KCP 결제코드는 가상계좌 -->
|
||||
|
||||
<input type="hidden" name="rcvr_name" value="${data.shipping.recpntNm}" /> <!-- 수취인명 -->
|
||||
<input type="hidden" name="rcvr_tel1" value="${data.shipping.recpntTelnb}" /> <!-- 수취인 연락처1 -->
|
||||
<input type="hidden" name="rcvr_tel2" value="${data.shipping.recpntMbtlnb}" /> <!-- 수취인 휴대폰번호 -->
|
||||
<input type="hidden" name="rcvr_mail" value="" /> <!-- 수취인 E-mail -->
|
||||
<input type="hidden" name="rcvr_zipx" value="${data.shipping.dlvylcZip}" /> <!-- 수취인 우편번호 -->
|
||||
|
||||
<c:if test="${'01' == data.shipping.dlvylcAdresDvCd}">
|
||||
<input type="hidden" name="rcvr_add1" value="${data.shipping.dlvylcRnmAdres}" /> <!-- 수취인 주소 -->
|
||||
</c:if>
|
||||
<c:if test="${'02' == data.shipping.dlvylcAdresDvCd}">
|
||||
<input type="hidden" name="rcvr_add1" value="${data.shipping.dlvylcLnbAdres}" /> <!-- 수취인 주소 -->
|
||||
</c:if>
|
||||
<input type="hidden" name="rcvr_add2" value="${data.shipping.dlvylcAdresDtl}" /> <!-- 수취인 상세주소 -->
|
||||
|
||||
<input type="hidden" name="pay_mod" value="Y"/> <!-- 에스크로 결제처리 모드 : 에스크로: Y, 일반: N -->
|
||||
<input type="hidden" name="deli_term" value="03"/> <!-- 배송 소요일 : 예상 배송 소요일을 입력 (두자리수로 입력) -->
|
||||
<input type="hidden" name="bask_cntx" value="1"/> <!-- 장바구니 상품 종류수 -->
|
||||
<input type="hidden" name="good_info" value=""/> <!-- 장바구니 상품 상세 정보 -->
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<input type="hidden" name="pay_mod" value="N"/> <!-- 에스크로 결제처리 모드 : 에스크로: Y, 일반: N -->
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<!-- ========== 에스크로 필수정보 End =============================== -->
|
||||
|
||||
<input type="hidden" name="good_name" value="${data.setle.goodsNm}"/> <!-- 상품명 -->
|
||||
<input type="hidden" name="good_mny" value="${data.setle.setleAmt}"/> <!-- 결제 금액 -->
|
||||
<input type="hidden" name="buyr_name" value="${data.ordr.ordrrNm}"/> <!-- 주문자 이름 -->
|
||||
<input type="hidden" name="buyr_mail" value="${data.ordr.ordrrEmail}"/> <!-- 주문자 이메일 -->
|
||||
<input type="hidden" name="buyr_tel2" value="${data.ordr.ordrrMbtlnb}"/> <!-- 주문자 휴대폰번호 -->
|
||||
<input type="hidden" name="shop_user_id" value="${data.ordr.mbrId}"/> <!-- 쇼핑몰회원ID -->
|
||||
|
||||
<input type="hidden" name="sopmal_cd" value="${data.ordr.sopmalCd}"/>
|
||||
<input type="hidden" name="mbr_innb" value="${data.ordr.mbrInnb}" />
|
||||
<input type="hidden" name="mbr_id" value="${data.ordr.mbrId}" />
|
||||
<input type="hidden" name="mbr_dv_cd" value="${data.ordr.mbrDvCd}" /> <!-- 회원구분코드 -->
|
||||
<input type="hidden" name="mbtlnb" id="mbtlnb" value="${data.ordr.ordrrMbtlnb}" /> <!-- 회원휴대폰번호 -->
|
||||
<input type="hidden" name="pg_cmpny_nm" value="${data.setle.pgCmpnyNm}" />
|
||||
<input type="hidden" name="setle_ty_cd" value="${data.setle.setleTyCd}" />
|
||||
<input type="hidden" name="sleEnvrnCd" value="${data.ordr.sleEnvrnCd}" /><!-- 판매환경구분 (P/M/TM) -->
|
||||
|
||||
<!-- 가상계좌 유효기간 -->
|
||||
<c:set var="expireTerm" value="${data.setle.dueDt - 1}" />
|
||||
<input type="hidden" name="vcnt_expire_term" value="${expireTerm}"/>
|
||||
|
||||
<!--
|
||||
※필수 항목
|
||||
결제인증 완료 후 결제창에서 값을 설정하는 부분으로 반드시 포함되어야 합니다.
|
||||
임의로 값을 설정하지 마십시오.
|
||||
-->
|
||||
<input type="hidden" name="res_cd" value=""/>
|
||||
<input type="hidden" name="res_msg" value=""/>
|
||||
<input type="hidden" name="enc_info" value=""/>
|
||||
<input type="hidden" name="enc_data" value=""/>
|
||||
<input type="hidden" name="tran_cd" value=""/>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
56
src/main/webapp/WEB-INF/views/crm/ordr/OrdrReqstPayR.jsp
Normal file
56
src/main/webapp/WEB-INF/views/crm/ordr/OrdrReqstPayR.jsp
Normal file
@@ -0,0 +1,56 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||||
|
||||
<%--
|
||||
Class Name : OrdrReqstPayR.jsp
|
||||
Description : 결제
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-04-11 김혜인 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#orderInfo').submit();
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<c:choose>
|
||||
<c:when test = "${tmAt eq 'Y'}">
|
||||
<c:set var = "url" value = "/crm/ordr/insertSetleTm"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:set var = "url" value = "/crm/ordr/insertSetle"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<form name="orderInfo" id="orderInfo" method="post" action="${url}">
|
||||
<input type="hidden" name="sopmalCd" id="sopmalCd" value="${data.setle.sopmalCd}"/>
|
||||
<input type="hidden" name="ordrInnb" id="ordrInnb" value="${data.setle.ordrInnb}"/>
|
||||
<input type="hidden" name="pgCmpnyNm" id="pgCmpnyNm" value="${data.setle.pgCmpnyNm}"/>
|
||||
<input type="hidden" name="setleTyCd" id="setleTyCd" value="${data.setle.setleTyCd}"/>
|
||||
|
||||
<input type="hidden" name="goodsNm" id="goodsNm" value="${data.setle.goodsNm}"/> <!-- 상품명 -->
|
||||
<input type="hidden" name="setleAmt" id="setleAmt" value="${data.setle.setleAmt}"/> <!-- 결제 금액 -->
|
||||
<input type="hidden" name="ordrrNm" id="ordrrNm" value="${data.ordr.ordrrNm}"/> <!-- 주문자 이름 -->
|
||||
<input type="hidden" name="ordrrEmail" id="ordrrEmail" value="${data.ordr.ordrrEmail}"/> <!-- 주문자 이메일 -->
|
||||
<input type="hidden" name="ordrrMbtlnb" id="ordrrMbtlnb" value="${data.ordr.ordrrMbtlnb}"/> <!-- 주문자 휴대폰번호 -->
|
||||
<input type="hidden" name="mbrId" id="mbrId" value="${data.ordr.mbrId}"/> <!-- 쇼핑몰회원ID -->
|
||||
<input type="hidden" name="mbrInnb" id="mbrInnb" value="${data.ordr.mbrInnb}" />
|
||||
<input type="hidden" name="mbrDvCd" id="mbrDvCd" value="${data.ordr.mbrDvCd}" /> <!-- 회원구분코드 -->
|
||||
<input type="hidden" name="mbtlnb" id="mbtlnb" value="${data.ordr.ordrrMbtlnb}" /> <!-- 회원휴대폰번호 -->
|
||||
<input type="hidden" name="sleEnvrnCd" id="sleEnvrnCd" value="${data.ordr.sleEnvrnCd}" /><!-- 판매환경구분 (P/M/TM) -->
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,62 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||||
|
||||
<%--
|
||||
Class Name : OrdrReqstTossKeyInPayR.jsp
|
||||
Description : 토스수기 결제정보
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-04-11 김혜인 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#order_info').submit();
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<c:choose>
|
||||
<c:when test = "${tmAt eq 'Y'}">
|
||||
<c:set var = "url" value = "/crm/ordr/insertTossKeyInSetleTm"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:set var = "url" value = "/crm/ordr/insertTossKeyInSetle"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<form name="order_info" id="order_info" method="post" action="${url}">
|
||||
<input type="hidden" name="sopmalCd" id="sopmalCd" value="${data.setle.sopmalCd}"/>
|
||||
<input type="hidden" name="ordrInnb" id="ordrInnb" value="${data.setle.ordrInnb}"/>
|
||||
<input type="hidden" name="pgCmpnyNm" id="pgCmpnyNm" value="${data.setle.pgCmpnyNm}"/>
|
||||
<input type="hidden" name="setleTyCd" id="setleTyCd" value="${data.setle.setleTyCd}"/>
|
||||
|
||||
<input type="hidden" name="cardNb" value="${data.setle.cardNb}"/> <!-- 카드번호 -->
|
||||
<input type="hidden" name="validpdDt" value="${data.setle.validpdDt}"/> <!-- 유효기간 -->
|
||||
<input type="hidden" name="brthDe" value="${data.setle.brthDe}"/> <!-- 생년월일 -->
|
||||
<input type="hidden" name="cardPassword" value="${data.setle.cardPassword}"/> <!-- 비밀번호 -->
|
||||
<input type="hidden" name="instlmtMtCnt" value="${data.setle.instlmtMtCnt}"/> <!-- 할부기간 -->
|
||||
|
||||
<input type="hidden" name="goodsNm" id="goodsNm" value="${data.setle.goodsNm}"/> <!-- 상품명 -->
|
||||
<input type="hidden" name="setleAmt" id="setleAmt" value="${data.setle.setleAmt}"/> <!-- 결제 금액 -->
|
||||
<input type="hidden" name="ordrrNm" id="ordrrNm" value="${data.ordr.ordrrNm}"/> <!-- 주문자 이름 -->
|
||||
<input type="hidden" name="ordrrEmail" id="ordrrEmail" value="${data.ordr.ordrrEmail}"/> <!-- 주문자 이메일 -->
|
||||
<input type="hidden" name="ordrrMbtlnb" id="ordrrMbtlnb" value="${data.ordr.ordrrMbtlnb}"/> <!-- 주문자 휴대폰번호 -->
|
||||
<input type="hidden" name="mbrId" id="mbrId" value="${data.ordr.mbrId}"/> <!-- 쇼핑몰회원ID -->
|
||||
<input type="hidden" name="mbrInnb" id="mbrInnb" value="${data.ordr.mbrInnb}" />
|
||||
<input type="hidden" name="mbtlnb" id="mbtlnb" value="${data.ordr.ordrrMbtlnb}" /> <!-- 회원휴대폰번호 -->
|
||||
<input type="hidden" name="mbrDvCd" id="mbrDvCd" value="${data.ordr.mbrDvCd}" /> <!-- 회원구분코드 -->
|
||||
<input type="hidden" name="sleEnvrnCd" id="sleEnvrnCd" value="${data.ordr.sleEnvrnCd}" /><!-- 판매환경구분 (P/M/TM) -->
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
180
src/main/webapp/WEB-INF/views/crm/ordr/OrdrReqstTossPayR.jsp
Normal file
180
src/main/webapp/WEB-INF/views/crm/ordr/OrdrReqstTossPayR.jsp
Normal file
@@ -0,0 +1,180 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||||
|
||||
<%--
|
||||
Class Name : OrdrReqstTossPayR.jsp
|
||||
Description : 토스 결제정보
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-04-11 김혜인 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<script>
|
||||
let setleData = ['common', '카드', '계좌이체', '가상계좌'];
|
||||
|
||||
$(document).ready(function() {
|
||||
let paymentType = '';
|
||||
|
||||
const orderForm = $('#order_info');
|
||||
const sopmalCd = orderForm.find('.sopmalCd').val();//$('#sopmalCd').val();
|
||||
const mbrInnb = orderForm.find('.mbrInnb').val();//$('#mbrInnb').val();
|
||||
const mbrId = orderForm.find('.mbrId').val();//$('#mbrId').val();
|
||||
const mbrDvCd = orderForm.find('.mbrDvCd').val();//$('#mbrDvCd').val();
|
||||
const pgCmpnyNm = orderForm.find('.pgCmpnyNm').val();//$('#pgCmpnyNm').val();
|
||||
const setleTyCd = orderForm.find('.setleTyCd').val();//$('#setleTyCd').val();
|
||||
let ordrrNm = orderForm.find('.ordrrNm').val();//$('#ordrrNm').val();
|
||||
ordrrNm = encodeURIComponent(ordrrNm);
|
||||
const sleEnvrnCd = orderForm.find('.sleEnvrnCd').val();//$('#sleEnvrnCd').val();
|
||||
const mbtlnb = orderForm.find('.mbtlnb').val();//$('#mbtlnb').val();
|
||||
|
||||
let param = '?sopmalCd=' + sopmalCd;
|
||||
param += '&mbrInnb=' + mbrInnb;
|
||||
param += '&mbrId=' + mbrId;
|
||||
param += '&pgCmpnyNm=' + pgCmpnyNm;
|
||||
param += '&setleTyCd=' + setleTyCd;
|
||||
param += '&ordrrNm=' + ordrrNm;
|
||||
param += '&mbrDvCd=' + mbrDvCd;
|
||||
param += '&sleEnvrnCd=' + sleEnvrnCd;
|
||||
param += '&mbtlnb=' + mbtlnb;
|
||||
|
||||
const encodedParam = encodeURIComponent(param);
|
||||
|
||||
let url = '';
|
||||
if('<c:out value="${tmAt}"/>' == 'Y'){
|
||||
url = '<c:url value="/crm/ordr/insertTossSetleTm"/>';
|
||||
}else{
|
||||
url = '<c:url value="/crm/ordr/insertTossSetle"/>';
|
||||
}
|
||||
|
||||
const successUrl = window.location.origin + url + encodedParam;
|
||||
const failUrl = window.location.origin + url;
|
||||
|
||||
//가상계좌 입금기한 설정
|
||||
let dueDate = $('.dueDate').val();
|
||||
let date = new Date();
|
||||
date.setDate(date.getDate() + (dueDate - 1));
|
||||
let fDueDate = date.toISOString().split('T')[0]+ "T23:59:59+09:00"; // 날짜(YYYY-MM-DD) ISO 8601 형식
|
||||
|
||||
setleData['common'] = {
|
||||
'amount': '',
|
||||
'orderId': '',
|
||||
'orderName': '',
|
||||
'customerName': '',
|
||||
'customerEmail': null,
|
||||
'customerMobilePhone': null,
|
||||
'successUrl':successUrl,
|
||||
'failUrl':failUrl,
|
||||
'windowTarget': 'iframe',
|
||||
'taxFreeAmount': null,
|
||||
'cultureExpense': false
|
||||
};
|
||||
|
||||
if ('01' === setleTyCd) { // 신용카드
|
||||
paymentType = '카드';
|
||||
|
||||
setleData[paymentType] = {
|
||||
'cardCompany':null,
|
||||
'cardInstallmentPlan':null,
|
||||
'maxCardInstallmentPlan':null,
|
||||
'freeInstallmentPlans':null,
|
||||
'useCardPoint':false,
|
||||
'useAppCardOnly':false,
|
||||
'useInternationalCardOnly':false,
|
||||
'flowMode':'DEFAULT',
|
||||
'easyPay':null,
|
||||
'discountCode':null,
|
||||
'appScheme':null
|
||||
};
|
||||
} else if ('03' === setleTyCd) { // 실시간 계좌이체
|
||||
paymentType = '계좌이체';
|
||||
|
||||
setleData[paymentType] = {
|
||||
'cashReceipt':{
|
||||
'type':'소득공제'
|
||||
},
|
||||
'useEscrow':false
|
||||
};
|
||||
} else if ('04' === setleTyCd) { // 가상계좌
|
||||
paymentType = '가상계좌';
|
||||
|
||||
setleData[paymentType] = {
|
||||
'dueDate':fDueDate,
|
||||
'cashReceipt':{
|
||||
'type':'미발행'
|
||||
},
|
||||
'useEscrow':false,
|
||||
'currency':'KRW'
|
||||
};
|
||||
} else if ('05' === setleTyCd) { // 가상계좌(에스크로)
|
||||
paymentType = '가상계좌';
|
||||
|
||||
setleData[paymentType] = {
|
||||
'dueDate':fDueDate,
|
||||
'cashReceipt':{
|
||||
'type':'미발행'
|
||||
},
|
||||
'useEscrow':true,
|
||||
'currency':'KRW'
|
||||
};
|
||||
} else if ('10' === setleTyCd) { // 페이코
|
||||
paymentType = '카드';
|
||||
|
||||
setleData[paymentType] = {
|
||||
flowMode: "DIRECT",
|
||||
easyPay: "페이코",
|
||||
};
|
||||
}
|
||||
|
||||
pay(paymentType, initPaymentsData('common', paymentType));
|
||||
});
|
||||
|
||||
/* ============= [공통] + [결제수단] JSON DATA 합치기 ================= */
|
||||
function initPaymentsData(general, paymentType){
|
||||
|
||||
const orderForm = $('#order_info');
|
||||
const setleAmt = orderForm.find('.setleAmt').val();
|
||||
const ordrInnb = orderForm.find('.ordrInnb').val();//$('#ordrInnb').val();
|
||||
const goodsNm = orderForm.find('.goodsNm').val();//$('#goodsNm').val();
|
||||
const ordrrNm = orderForm.find('.ordrrNm').val();//$('#ordrrNm').val();
|
||||
|
||||
setleData[general].amount = setleAmt;
|
||||
setleData[general].orderId = ordrInnb;
|
||||
setleData[general].orderName = goodsNm;
|
||||
setleData[general].customerName = ordrrNm;
|
||||
|
||||
return Object.assign(setleData[general], setleData[paymentType]);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<form name="order_info" id="order_info">
|
||||
<input type="hidden" name="sopmalCd" class="sopmalCd" value="${data.setle.sopmalCd}"/>
|
||||
<input type="hidden" name="ordrInnb" class="ordrInnb" value="${data.setle.ordrInnb}"/>
|
||||
<input type="hidden" name="pgCmpnyNm" class="pgCmpnyNm" value="${data.setle.pgCmpnyNm}"/>
|
||||
<input type="hidden" name="setleTyCd" class="setleTyCd" value="${data.setle.setleTyCd}"/>
|
||||
|
||||
<input type="hidden" name="goodsNm" class="goodsNm" value="${data.setle.goodsNm}"/> <!-- 상품명 -->
|
||||
<input type="hidden" name="setleAmt" class="setleAmt" value="${data.setle.setleAmt}"/> <!-- 결제 금액 -->
|
||||
<input type="hidden" name="ordrrNm" class="ordrrNm" value="${data.ordr.ordrrNm}"/> <!-- 주문자 이름 -->
|
||||
<input type="hidden" name="ordrrEmail" class="ordrrEmail" value="${data.ordr.ordrrEmail}"/> <!-- 주문자 이메일 -->
|
||||
<input type="hidden" name="ordrrMbtlnb" class="ordrrMbtlnb" value="${data.ordr.ordrrMbtlnb}"/> <!-- 주문자 휴대폰번호 -->
|
||||
<input type="hidden" name="mbrId" class="mbrId" value="${data.ordr.mbrId}"/> <!-- 쇼핑몰회원ID -->
|
||||
<input type="hidden" name="mbtlnb" class="mbtlnb" value="${data.ordr.ordrrMbtlnb}" /> <!-- 회원휴대폰번호 -->
|
||||
<input type="hidden" name="mbrInnb" class="mbrInnb" value="${data.ordr.mbrInnb}" /> <!-- 쇼핑몰회원번호 -->
|
||||
<input type="hidden" name="mbrDvCd" class="mbrDvCd" value="${data.ordr.mbrDvCd}" /> <!-- 쇼핑몰회원구분 -->
|
||||
<input type="hidden" name="dueDate" class="dueDate" value="${data.setle.dueDt}" /> <!-- 가상계좌 입금기한 -->
|
||||
<input type="hidden" name="sleEnvrnCd" class="sleEnvrnCd" value="${data.ordr.sleEnvrnCd}" /><!-- 판매환경구분 (P/M/TM) -->
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
105
src/main/webapp/WEB-INF/views/crm/ordr/OrdrReqstTosspayPayR.jsp
Normal file
105
src/main/webapp/WEB-INF/views/crm/ordr/OrdrReqstTosspayPayR.jsp
Normal file
@@ -0,0 +1,105 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||||
|
||||
<%--
|
||||
Class Name : OrdrReqstTosspayPayR.jsp
|
||||
Description : 토스페이 결제정보
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-04-11 김혜인 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
const orderForm = $('#order_info');
|
||||
const setleAmt = orderForm.find('.setleAmt').val();//$('#setleAmt').val();
|
||||
const ordrInnb = orderForm.find('.ordrInnb').val();//$('#ordrInnb').val();
|
||||
const goodsNm = orderForm.find('.goodsNm').val();//$('#goodsNm').val();
|
||||
const ordrrNm = orderForm.find('.ordrrNm').val();//$('#ordrrNm').val();
|
||||
const ordrrEmail = orderForm.find('.ordrrEmail').val();//$('#ordrrEmail').val();
|
||||
const ordrrMbtlnb = orderForm.find('.ordrrMbtlnb').val().replace(/[^0-9]/g, '');//$('#ordrrMbtlnb').val().replace(/[^0-9]/g, '');
|
||||
|
||||
const sopmalCd = orderForm.find('.sopmalCd').val();//$('#sopmalCd').val();
|
||||
const mbrInnb = orderForm.find('.mbrInnb').val();//$('#mbrInnb').val();
|
||||
const mbrId = orderForm.find('.mbrId').val();//$('#mbrId').val();
|
||||
const mbtlnb = orderForm.find('.mbtlnb').val();//$('#mbtlnb').val();
|
||||
const mbrDvCd = orderForm.find('.mbrDvCd').val();//$('#mbrDvCd').val();
|
||||
const pgCmpnyNm = orderForm.find('.pgCmpnyNm').val();//$('#pgCmpnyNm').val();
|
||||
const setleTyCd = orderForm.find('.setleTyCd').val();//$('#setleTyCd').val();
|
||||
|
||||
let easyPayNm = '토스페이';
|
||||
if(pgCmpnyNm === 'naverpay') easyPayNm = '네이버페이';
|
||||
else if(pgCmpnyNm === 'kakaopay') easyPayNm = '카카오페이';
|
||||
|
||||
let param = '?sopmalCd=' + sopmalCd;
|
||||
param += '&mbrInnb=' + mbrInnb;
|
||||
param += '&mbrId=' + mbrId;
|
||||
param += '&mbtlnb=' + mbtlnb;
|
||||
param += '&pgCmpnyNm=' + pgCmpnyNm;
|
||||
param += '&setleTyCd=' + setleTyCd;
|
||||
param += '&ordrrNm=' + ordrrNm;
|
||||
param += '&mbrDvCd=' + mbrDvCd;
|
||||
|
||||
const encodedParam = encodeURIComponent(param);
|
||||
|
||||
const successUrl = window.location.origin + '<c:url value="/crm/ordr/insertTosspaySetle"/>' + encodedParam;
|
||||
const failUrl = window.location.origin + '<c:url value="/crm/ordr/insertTosspaySetle"/>';
|
||||
|
||||
const request = {
|
||||
card:{
|
||||
amount:setleAmt,
|
||||
orderId:ordrInnb,
|
||||
orderName:goodsNm,
|
||||
successUrl:successUrl,
|
||||
failUrl:failUrl,
|
||||
cardCompany:null,
|
||||
cardInstallmentPlan:null,
|
||||
maxCardInstallmentPlan:null,
|
||||
useCardPoint:false,
|
||||
customerName:ordrrNm,
|
||||
customerEmail:ordrrEmail,
|
||||
customerMobilePhone:ordrrMbtlnb,
|
||||
taxFreeAmount:null,
|
||||
useInternationalCardOnly:false,
|
||||
flowMode:"DIRECT",
|
||||
discountCode:null,
|
||||
appScheme:null,
|
||||
easyPay:easyPayNm
|
||||
}
|
||||
};
|
||||
|
||||
tosspay('카드', request.card, pgCmpnyNm);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<form name="order_info" id="order_info">
|
||||
<input type="hidden" name="sopmalCd" class="sopmalCd" value="${data.setle.sopmalCd}" />
|
||||
<input type="hidden" name="ordrInnb" class="ordrInnb" value="${data.setle.ordrInnb}" />
|
||||
<input type="hidden" name="pgCmpnyNm" class="pgCmpnyNm" value="${data.setle.pgCmpnyNm}" />
|
||||
<input type="hidden" name="setleTyCd" class="setleTyCd" value="${data.setle.setleTyCd}" />
|
||||
|
||||
<input type="hidden" name="goodsNm" class="goodsNm" value="${data.setle.goodsNm}"/> <!-- 상품명 -->
|
||||
<input type="hidden" name="setleAmt" class="setleAmt" value="${data.setle.setleAmt}"/> <!-- 결제 금액 -->
|
||||
<input type="hidden" name="ordrrNm" class="ordrrNm" value="${data.ordr.ordrrNm}"/> <!-- 주문자 이름 -->
|
||||
<input type="hidden" name="ordrrEmail" class="ordrrEmail" value="${data.ordr.ordrrEmail}"/> <!-- 주문자 이메일 -->
|
||||
<input type="hidden" name="ordrrMbtlnb" class="ordrrMbtlnb" value="${data.ordr.ordrrMbtlnb}"/> <!-- 주문자 휴대폰번호 -->
|
||||
<input type="hidden" name="mbrId" class="mbrId" value="${data.ordr.mbrId}"/> <!-- 쇼핑몰회원ID -->
|
||||
<input type="hidden" name="mbrInnb" class="mbrInnb" value="${data.ordr.mbrInnb}" /> <!-- 쇼핑몰회원번호 -->
|
||||
<input type="hidden" name="mbrDvCd" class="mbrDvCd" value="${data.ordr.mbrDvCd}" /> <!-- 쇼핑몰회원구분 -->
|
||||
<input type="hidden" name="mbtlnb" class="mbtlnb" value="${data.ordr.ordrrMbtlnb}" /> <!-- 회원휴대폰번호 -->
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
57
src/main/webapp/WEB-INF/views/crm/ordr/OrdrRspnsPayR.jsp
Normal file
57
src/main/webapp/WEB-INF/views/crm/ordr/OrdrRspnsPayR.jsp
Normal file
@@ -0,0 +1,57 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||||
|
||||
<%--
|
||||
Class Name : OrdrPay.jsp
|
||||
Description : 결제
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-04-11 김혜인 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
<%-- 공통 include --%>
|
||||
<%@include file ="/WEB-INF/views/comm/crm/Include.jsp" %>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
const status = $('#status').val();
|
||||
let form = $("#successForm");
|
||||
let actionUrl = '';
|
||||
if ('1' === status) {
|
||||
alert($('#message').val());
|
||||
actionUrl = '/crm/ordr/selectMngrOrdrRegistForm';
|
||||
}else{
|
||||
alert("관리자 주문이 완료되었습니다.");
|
||||
actionUrl = '/crm/ordr/selectMngrOrdrCompt';
|
||||
}
|
||||
$(form).attr('method', 'post');
|
||||
$(form).attr('action', actionUrl);
|
||||
$(form).submit();
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<form name="successForm" id="successForm">
|
||||
<input type="hidden" name="status" id="status" value="${data.status}"/>
|
||||
<input type="hidden" name="message" id="message" value="${data.message}"/>
|
||||
<input type="hidden" name="sopmalCd" id="sopmalCd" value="${paramVO.sopmalCd}"/>
|
||||
<input type="hidden" name="ordrInnb" id="ordrInnb" value="${paramVO.orderId}"/>
|
||||
<input type="hidden" name="mbrInnb" id="mbrInnb" value="${paramVO.mbrInnb}"/>
|
||||
<input type="hidden" name="mbrId" id="mbrId" value="${paramVO.mbrId}"/>
|
||||
<input type="hidden" name="mbrDvCd" id="mbrDvCd" value="${paramVO.mbrDvCd}"/>
|
||||
<input type="hidden" name="ordrrMbtlnb" id="ordrrMbtlnb" value="${paramVO.mbtlnb}"/>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
100
src/main/webapp/WEB-INF/views/crm/ordr/OrdrRspnsTmPayR.jsp
Normal file
100
src/main/webapp/WEB-INF/views/crm/ordr/OrdrRspnsTmPayR.jsp
Normal file
@@ -0,0 +1,100 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||||
|
||||
<%--
|
||||
Class Name : OrdrPay.jsp
|
||||
Description : 결제
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-04-11 김혜인 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
<%-- 공통 include --%>
|
||||
<%@include file ="/WEB-INF/views/comm/crm/Include.jsp" %>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
const status = $('#status').val();
|
||||
let form = $('<form></form>');
|
||||
|
||||
$(form).attr('method', 'post');
|
||||
$(form).attr('action', '<c:url value="/crm/ordr/selectTmMngrOrdrRegistForm"/>');
|
||||
|
||||
//주문고유번호로 상세 조회 (성공 시)
|
||||
if(status !== '1'){
|
||||
const ordrInnb = '<c:out value="${paramVO.orderId}"/>';
|
||||
const sopmalCd = '<c:out value="${paramVO.sopmalCd}"/>';
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: "/order/selectTmOrdrInfo",
|
||||
contentType: "application/json; charset=UTF-8", // JSON 형식으로 보냄
|
||||
data: JSON.stringify({
|
||||
"ordrInnb": ordrInnb,
|
||||
"sopmalCd": sopmalCd
|
||||
}),
|
||||
success: function (data) {
|
||||
if(data.result === '1' || data.result === '2'){
|
||||
alert("코스네이처 센터와 통신에 실패하였습니다.");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<main class="main">
|
||||
<div class="content">
|
||||
<div class="content__inner">
|
||||
<div class="page-title">
|
||||
<h2 class="page-title__title">TM 주문 등록</h2>
|
||||
<div class="page-title__btn-container">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<c:choose>
|
||||
<c:when test = "${data.status eq '1'}">
|
||||
<section class="content-section">
|
||||
<h3 class="order-progress__title">주문이 <em>실패</em>하였습니다.</h3>
|
||||
</section>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<section class="content-section">
|
||||
<h3 class="order-progress__title">주문이 <em>완료</em>되었습니다.</h3>
|
||||
<div class="mileage-benefits">
|
||||
<div class="mileage-benefits__row">
|
||||
<span class="mileage-benefits__th">결제방법</span>
|
||||
<span class="mileage-benefits__td">
|
||||
<c:choose>
|
||||
<c:when test = "${paramVO.setleTyCd eq '01'}">카드</c:when>
|
||||
<c:when test = "${paramVO.setleTyCd eq '02'}">무통장</c:when>
|
||||
<c:otherwise>가상계좌</c:otherwise>
|
||||
</c:choose>
|
||||
</span>
|
||||
</div>
|
||||
<div class="mileage-benefits__row">
|
||||
<span class="mileage-benefits__th">결제금액</span>
|
||||
<span class="mileage-benefits__td"><span id="accmlMlgAmt" class="comma">${paramVO.amount}</span>원</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
299
src/main/webapp/WEB-INF/views/crm/ordr/PurchsrInqirePopupR.jsp
Normal file
299
src/main/webapp/WEB-INF/views/crm/ordr/PurchsrInqirePopupR.jsp
Normal file
@@ -0,0 +1,299 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
|
||||
<div id="user-select-pop" class="modal" style="max-width: 1320px;">
|
||||
<div class="modal-header">
|
||||
<h4>회원 검색</h4>
|
||||
</div>
|
||||
<div class="modal-content" style="height: 600px;">
|
||||
<div class="content-section">
|
||||
<form id="purchsrCondForm">
|
||||
<input type="hidden" id="sopmalCd" name="sopmalCd" value="${data.sopmalCd}"/>
|
||||
<input type="hidden" id="totalRecordCount" name="totalRecordCount" value=""/>
|
||||
<input type="hidden" id="totalPageCount" name="totalPageCount" value=""/>
|
||||
<input type="hidden" id="currentPageNo" name="currentPageNo" value=""/>
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value=""/>
|
||||
<%--
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>구매자</caption>
|
||||
<colgroup>
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 23%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 23%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 23%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>검색어</th>
|
||||
<td colspan="5">
|
||||
<div class="td-inner">
|
||||
<input type="text" name="kwrd" class="input-text xl" title="키워드" placeholder="이름, 아이디, 이메일, 전화번호, 핸드폰(뒷자리4), 주소">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>날짜</th>
|
||||
<td colspan="5">
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select name="dateDv" title="날짜구분">
|
||||
<option value="join">가입일</option>
|
||||
<option value="login">최종로그인</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input-container">
|
||||
<input type="text" name="startDate" id="startDateByPurchs" class="datepicker" title="시작 날짜 선택" autocomplete="off">
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" name="endDate" id="endDateByPurchs" class="datepicker" title="종료 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd">
|
||||
<input type="hidden" id="datePeriod" name="datePeriod" value=""/>
|
||||
</div>
|
||||
<div class="dateRange-btnContainer">
|
||||
<button type="button" class="dateRange-btn" id="1D">어제</button>
|
||||
<button type="button" class="dateRange-btn" id="0">오늘</button>
|
||||
<button type="button" class="dateRange-btn" id="3D">3일간</button>
|
||||
<button type="button" class="dateRange-btn" id="7D">일주일</button>
|
||||
<button type="button" class="dateRange-btn" id="1M">1개월</button>
|
||||
<button type="button" class="dateRange-btn" id="3M">3개월</button>
|
||||
<button type="button" class="dateRange-btn" id="6M">6개월</button>
|
||||
<button type="button" class="dateRange-btn" id="1Y">1년</button>
|
||||
<button type="button" class="dateRange-btn selected" id="allDays">전체</button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>SMS 수신</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" name="smsRecptnAgreAt" id="smsRecptnAgreAll" value="" checked>
|
||||
<label for="smsRecptnAgreAll">전체</label>
|
||||
</div>
|
||||
<div class="custom-radio">
|
||||
<input type="radio" name="smsRecptnAgreAt" id="smsRecptnAgreY" value="Y">
|
||||
<label for="smsRecptnAgreY">동의</label>
|
||||
</div>
|
||||
<div class="custom-radio">
|
||||
<input type="radio" name="smsRecptnAgreAt" id="smsRecptnAgreN" value="N">
|
||||
<label for="smsRecptnAgreN">거부</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<th>이메일 수신</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" name="emailRecptnAgreAt" id="emailRecptnAgreAll" value="" checked>
|
||||
<label for="emailRecptnAgreAll">전체</label>
|
||||
</div>
|
||||
<div class="custom-radio">
|
||||
<input type="radio" name="emailRecptnAgreAt" id="emailRecptnAgreY" value="Y">
|
||||
<label for="emailRecptnAgreY">동의</label>
|
||||
</div>
|
||||
<div class="custom-radio">
|
||||
<input type="radio" name="emailRecptnAgreAt" id="emailRecptnAgreN" value="N">
|
||||
<label for="emailRecptnAgreN">거부</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>등급</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select name="mbrGradInnb" title="등급">
|
||||
<option value="">전체</option>
|
||||
<c:forEach items="${data.mrbGradList}" var="mrbGrad" varStatus="status">
|
||||
<option value="${mrbGrad.mbrGradInnb}">${mrbGrad.gradNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<th>구매금액</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="input-container">
|
||||
<input type="text" name="startPurchaseAmount" class="input-text sm right number-only" title="구매금액시작" placeholder="0" onfocus="this.placeholder = ''" onblur="this.placeholder = '0'">
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" name="endPurchaseAmount" class="input-text sm right number-only" title="구매금액종료" placeholder="0" onfocus="this.placeholder = ''" onblur="this.placeholder = '0'">
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<th>마일리지액</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="input-container">
|
||||
<input type="text" name="startMlgAmt" class="input-text sm right number-only" title="마일리지액 시작" placeholder="0" onfocus="this.placeholder = ''" onblur="this.placeholder = '0'">
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" name="endMlgAmt" class="input-text sm right number-only" title="마일리지액 종료" placeholder="0" onfocus="this.placeholder = ''" onblur="this.placeholder = '0'">
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>주문 횟수</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="input-container">
|
||||
<input type="text" name="startOrderCnt" class="input-text xsm right number-only" title="주문횟수 시작" placeholder="0" onfocus="this.placeholder = ''" onblur="this.placeholder = '0'">
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" name="endOrderCnt" class="input-text xsm right number-only" title="주문횟수 종료" placeholder="0" onfocus="this.placeholder = ''" onblur="this.placeholder = '0'">
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<th>리뷰 횟수</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="input-container">
|
||||
<input type="text" name="startRvwCnt" class="input-text xsm right number-only" title="리뷰횟수 시작" placeholder="0" onfocus="this.placeholder = ''" onblur="this.placeholder = '0'">
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" name="endRvwCnt" class="input-text xsm right number-only" title="리뷰횟수 종료" placeholder="0" onfocus="this.placeholder = ''" onblur="this.placeholder = '0'">
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<th>방문 횟수</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="input-container">
|
||||
<input type="text" name="startVisitCnt" class="input-text xsm right number-only" title="방문횟수 시작" placeholder="0" onfocus="this.placeholder = ''" onblur="this.placeholder = '0'">
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" name="endVisitCnt" class="input-text xsm right number-only" title="방문횟수 종료" placeholder="0" onfocus="this.placeholder = ''" onblur="this.placeholder = '0'">
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
--%>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>구매자</caption>
|
||||
<colgroup>
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 23%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 23%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>이름</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input type="text" name="mbrNm" class="input-text xl" title="이름" placeholder="이름">
|
||||
</div>
|
||||
</td>
|
||||
<th>아이디</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input type="text" name="mbrId" class="input-text xl" title="아이디" placeholder="아이디">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>이메일</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input type="text" name="email" class="input-text xl" title="이메일" placeholder="이메일">
|
||||
</div>
|
||||
</td>
|
||||
<th>휴대폰번호</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input type="text" name="mbtlnb" class="input-text xl" oninput="fn_set_event(this, 'keyup', fn_fmt_telno);" maxlength="13" title="휴대폰번호" placeholder="휴대폰번호('-'없이 입력)">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>날짜</th>
|
||||
<td colspan="4">
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select name="dateDv" title="날짜구분">
|
||||
<option value="join">가입일</option>
|
||||
<option value="login">최종로그인</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input-container">
|
||||
<input type="text" name="startDate" id="startDateByPurchs" class="datepicker" title="시작 날짜 선택" autocomplete="off">
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" name="endDate" id="endDateByPurchs" class="datepicker" title="종료 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd">
|
||||
<input type="hidden" id="datePeriod" name="datePeriod" value=""/>
|
||||
</div>
|
||||
<div class="dateRange-btnContainer">
|
||||
<button type="button" class="dateRange-btn" id="1D">어제</button>
|
||||
<button type="button" class="dateRange-btn" id="0">오늘</button>
|
||||
<button type="button" class="dateRange-btn" id="3D">3일간</button>
|
||||
<button type="button" class="dateRange-btn" id="7D">일주일</button>
|
||||
<button type="button" class="dateRange-btn" id="1M">1개월</button>
|
||||
<button type="button" class="dateRange-btn" id="3M">3개월</button>
|
||||
<button type="button" class="dateRange-btn" id="6M">6개월</button>
|
||||
<button type="button" class="dateRange-btn" id="1Y">1년</button>
|
||||
<button type="button" class="dateRange-btn selected" id="allDays">전체</button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
<div class="form-control-container">
|
||||
<div class="left"></div>
|
||||
<div class="center">
|
||||
<button type="button" id="initPurchsrCond" class="btn outline">초기화</button>
|
||||
<button type="button" id="searchPurchsr" class="btn primary">검색</button>
|
||||
</div>
|
||||
<div class="right"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="pageDiv">
|
||||
<div class="table-wrapper">
|
||||
<table class="table vertical">
|
||||
<colgroup>
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 16%;">
|
||||
<col style="width: 16%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 16%;">
|
||||
<col style="width: 11%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>번호</th>
|
||||
<th>회원구분</th>
|
||||
<th>아이디</th>
|
||||
<th>이름</th>
|
||||
<th>이메일(수신)</th>
|
||||
<th>핸드폰(수신)</th>
|
||||
<th>선택</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="100%"><spring:message code="common.nodata"/></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="javascript:void(0);" rel="modal:close" class="btn outline">닫기</a>
|
||||
<%-- <button type="button" id="btnPurchsrApply" class="btn primary">확인</button> --%>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,79 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
|
||||
<div class="table-wrapper">
|
||||
<table class="table vertical">
|
||||
<colgroup>
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 16%;">
|
||||
<col style="width: 16%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 16%;">
|
||||
<col style="width: 11%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>번호</th>
|
||||
<th>회원구분</th>
|
||||
<th>아이디</th>
|
||||
<th>이름</th>
|
||||
<th>이메일(수신)</th>
|
||||
<th>핸드폰(수신)</th>
|
||||
<th>선택</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:choose>
|
||||
<c:when test="${not empty data.purchsrList}">
|
||||
<c:set var="rowNum" value="${data.paginationInfo.totalRecordCount - ((data.paginationInfo.currentPageNo -1) * data.paginationInfo.recordCountPerPage)}" />
|
||||
|
||||
<c:forEach items="${data.purchsrList}" var="purchsr" varStatus="status">
|
||||
<tr>
|
||||
<td>${rowNum}</td>
|
||||
<td>${purchsr.mbrDvNm}</td>
|
||||
<td>
|
||||
${purchsr.mbrId}
|
||||
<c:choose>
|
||||
<c:when test = "${purchsr.appnDvCd eq '02'}">
|
||||
<span class="black-list">
|
||||
B<span class="visually-hidden">블랙리스트</span>
|
||||
</span>
|
||||
</c:when>
|
||||
<c:when test = "${purchsr.appnDvCd eq '03'}">
|
||||
<span class="white-list">
|
||||
W<span class="visually-hidden">화이트리스트</span>
|
||||
</span>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td>${purchsr.mbrNm}</td>
|
||||
<td>${purchsr.email}</td>
|
||||
<td>${purchsr.mbtlnb}</td>
|
||||
<td>
|
||||
<div class="manage-btn-container">
|
||||
<button type="button" onclick="fn_get_apply_purchsr('${purchsr.mbrInnb}', '${purchsr.mbrId}', '${purchsr.mbrDvCd}');" class="btn xsm primary outline">선택</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<c:set var="rowNum" value="${rowNum - 1}" />
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr>
|
||||
<td colspan="100%"><spring:message code="common.nodata"/></td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="pagination__container">
|
||||
<div class="pagination">
|
||||
<ui:pagination paginationInfo="${data.paginationInfo}" type="image" jsFunction="fn_get_purchsr_list"/>
|
||||
</div>
|
||||
</div>
|
||||
665
src/main/webapp/WEB-INF/views/crm/ordr/TmMngrOrdrRegistFormC.jsp
Normal file
665
src/main/webapp/WEB-INF/views/crm/ordr/TmMngrOrdrRegistFormC.jsp
Normal file
@@ -0,0 +1,665 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%--
|
||||
Class Name : MngrOrdrRegistFormC.jsp
|
||||
Description : 관리자 주문 등록 jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
since : 2023.11.28 김혜인 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<%@ include file="/WEB-INF/views/comm/crm/Include.jsp" %>
|
||||
|
||||
<script src="<c:url value='/mngr/js/crm/dlvylc/dlvylc.js'/>"></script>
|
||||
</head>
|
||||
<script>
|
||||
/* ********************************************************
|
||||
* 이벤트 설정
|
||||
**********************************************************/
|
||||
|
||||
/* ********************************************************
|
||||
* function
|
||||
**********************************************************/
|
||||
const fn_order = () => {
|
||||
const status = '<c:out value="${status}"/>';
|
||||
if(status === '1'){
|
||||
alert("부적절한 결제수단 입니다. [복합결제]");
|
||||
return false;
|
||||
}
|
||||
const data = fn_validate();
|
||||
|
||||
console.log("data====", data);
|
||||
|
||||
if (!data) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
contentType: 'application/json',
|
||||
url: '<c:url value="/order/insertTmOrder"/>',
|
||||
data: JSON.stringify(data),
|
||||
success: function (html) {
|
||||
console.log(html);
|
||||
$('#setleDiv').html(html);
|
||||
},
|
||||
error: function (data) {
|
||||
alert('<spring:message code="error.internal-server"/>');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/* 관리자 주문 > 결제하기 > 정합성 검사 */
|
||||
const fn_validate = function () {
|
||||
let order = {};
|
||||
|
||||
//일반결제
|
||||
order['ordrTyCd'] = "01";
|
||||
|
||||
//1. 회원 정보 셋팅
|
||||
//회원 비회원 상관없이 ordrrInfoForm 데이터 사용
|
||||
//비회원은 mbrInnb=0, mbrId,mbrDvCd 은 값이 안넘어감
|
||||
order['purchsr'] = fn_get_form_obj('ordrrInfoForm');
|
||||
console.log("'order['purchsr']::::", order['purchsr']);
|
||||
|
||||
//2. 상품 정보 셋팅
|
||||
/*let goods = [];
|
||||
goods.push(fn_get_form_obj('goddsInfoForm'));
|
||||
order['goodsList'] = goods;*/
|
||||
order['goodsList'] = fn_get_form_obj_arr('goddsInfoForm', 7);
|
||||
console.log("'order['goodsList']::::", order['goodsList']);
|
||||
|
||||
//3. 사은품 정보 셋팅
|
||||
/*let prsntss = [];
|
||||
prsntss.push(fn_get_form_obj('prsnInfoForm'));
|
||||
order['prsnt'] = prsntss;*/
|
||||
if (!fn_is_empty($("#prsnInfoForm"))) {
|
||||
order['prsnt'] = fn_get_form_obj_arr('prsnInfoForm', 6);
|
||||
console.log("'order['prsnt']::::", order['prsnt']);
|
||||
}
|
||||
|
||||
|
||||
//4. 배송정보 정보 셋팅
|
||||
order['shipping'] = fn_get_form_obj('dlvylcForm-ordrTy01');
|
||||
console.log("'order['shipping']::::", order['shipping']);
|
||||
|
||||
//5. 결제 정보 셋팅
|
||||
order['setle'] = fn_get_form_obj('setleForm');
|
||||
console.log("'order['setle']::::", order['setle']);
|
||||
|
||||
//6. 에누리정보 셋팅 enuriForm
|
||||
/*const enuri = localStorage.getItem('enuri');
|
||||
if (!fn_is_empty(enuri)) {
|
||||
order['enuri'] = JSON.parse(enuri);
|
||||
}*/
|
||||
|
||||
order['enuri'] = fn_get_form_obj('enuriForm');
|
||||
console.log("'order['enuri']::::", order['enuri']);
|
||||
|
||||
order['mbrInnb'] = $('#mbrInnb').val();
|
||||
console.log("'order['mbrInnb']::::", order['mbrInnb']);
|
||||
|
||||
order['sopmalCd'] = $('#sopmalCd').val();
|
||||
|
||||
return order;
|
||||
}
|
||||
|
||||
|
||||
/* form 정보 조회 - array 타입 [{},{}] */
|
||||
const fn_get_form_obj_arr = function (id, objLength) {
|
||||
const inputs = $('#' + id).serializeArray();
|
||||
|
||||
let groupedData = []; // 최종 결과를 담을 배열
|
||||
let formObj = {}; // 현재 객체를 담을 변수
|
||||
|
||||
inputs.forEach(input => {
|
||||
|
||||
const keysAsInt = ["goodsInnb", "goodsOptnInnb", "qy", "ordrQy", "provdCnt", "evtInnb", "mbrInnb",
|
||||
"dscntAmt", "subSlepric", "mlgAmtByOne", "remain", "dlvyAmt"];
|
||||
|
||||
formObj[input.name] = input.value; // 현재 객체에 name-value 추가
|
||||
|
||||
if (input.value !== null && input.value !== "") {
|
||||
if (keysAsInt.includes(input.name)) {
|
||||
formObj[input.name] = parseInt(input.value);
|
||||
}
|
||||
}
|
||||
|
||||
// 모든 필드(sopmalCd와 mbrInnb)가 채워지면 객체를 배열에 추가
|
||||
if (Object.keys(formObj).length === objLength) {
|
||||
|
||||
console.log("===currentObj==", formObj);
|
||||
|
||||
groupedData.push(formObj); // 완성된 객체를 결과 배열에 추가
|
||||
formObj = {}; // 새로운 객체로 초기화
|
||||
}
|
||||
});
|
||||
|
||||
console.log("=======groupedData======", groupedData);
|
||||
|
||||
return groupedData;
|
||||
}
|
||||
|
||||
/* form 정보 조회 - 기본 타입 {} */
|
||||
const fn_get_form_obj = function (id) {
|
||||
let formObj = {};
|
||||
const inputs = $('#' + id).serializeArray();
|
||||
|
||||
$.each(inputs, function (i, input) {
|
||||
|
||||
const keysAsInt = ["goodsInnb", "goodsOptnInnb", "qy", "ordrQy", "provdCnt", "evtInnb", "mbrInnb",
|
||||
"dscntAmt", "subSlepric", "mlgAmtByOne", "remain", "dlvyAmt"];
|
||||
|
||||
formObj[input.name] = input.value;
|
||||
|
||||
if (input.value !== null && input.value !== "") {
|
||||
|
||||
if (keysAsInt.includes(input.name)) {
|
||||
formObj[input.name] = parseInt(input.value);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return formObj;
|
||||
|
||||
/* if(input.name === "rlSetleAmt" || input.name === "dlvylcZip" || input.name === "dlvylcAdresDtl" || input.name === "dlvyGroupInnb" || input.name === "dueDt"){
|
||||
formObj[input.name] = input.value;
|
||||
}else {
|
||||
formObj[input.name] = (!isNaN(input.value) && !/^0\d+/.test(input.value))? parseInt(input.value) : input.value;
|
||||
}*/
|
||||
}
|
||||
|
||||
|
||||
/* 에러메세지 처리 */
|
||||
const fn_proc_error_message = function (data) {
|
||||
$('#overlay').fadeOut();
|
||||
if (!data.responseJSON.resBody.message) {
|
||||
alert('<spring:message code="error.internal-server"/>');
|
||||
} else {
|
||||
if (fn_check_json(data.responseJSON.resBody.message)) {
|
||||
const errorObject = JSON.parse(data.responseJSON.resBody.message);
|
||||
|
||||
if (!errorObject) {
|
||||
alert('<spring:message code="error.internal-server"/>');
|
||||
} else {
|
||||
if (!errorObject.errorMsg) {
|
||||
alert('<spring:message code="error.internal-server"/>');
|
||||
} else {
|
||||
alert(errorObject.errorMsg);
|
||||
|
||||
let isMtched = false;
|
||||
|
||||
$('.main').eq(0).find('input, select, textarea').each(function () {
|
||||
for (let idx = 0; idx < errorObject.errorFields.length; idx++) {
|
||||
const name = $(this).prop('name');
|
||||
|
||||
if (!fn_is_empty(name)) {
|
||||
if (errorObject.errorFields[idx].indexOf(name) >= 0) {
|
||||
isMtched = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (isMtched) {
|
||||
$(this).focus();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (data.responseJSON.resBody.message) {
|
||||
alert(data.responseJSON.resBody.message);
|
||||
} else {
|
||||
alert('<spring:message code="error.internal-server"/>');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<body>
|
||||
<main class="main" style="display: none;">
|
||||
<div class="content content--crmAdminOrder">
|
||||
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
||||
<input type="hidden" id="cdnurl" value="${ cdnurl }"/>
|
||||
<div class="content__inner">
|
||||
<div class="page-title">
|
||||
<h2 class="page-title__title">관리자 주문 등록</h2>
|
||||
<div class="page-title__btn-container">
|
||||
</div>
|
||||
</div>
|
||||
<section class="content-section">
|
||||
<h3 class="order-progress__title"><em>STEP1.</em> 구매자를 선택하세요.</h3>
|
||||
<div id="ordrrInfo" class="order-payment__section">
|
||||
<h5 class="order-payment__title">주문자 </h5>
|
||||
<form id="ordrrInfoForm">
|
||||
<caption>주문자 정보</caption> <!-- 비회원이면 mbrInnb == 0으로 셋팅 -->
|
||||
<input type="hidden" name="tmOrdrInnb" value="<c:out value = "${param.tm_order_seq}"/>"/><%--tm 주문 고유번호--%>
|
||||
<input type="hidden" name="tmMngrInnb" value="<c:out value = "${param.manager_seq}"/>"/><%--tm 주문 관리자고유번호--%>
|
||||
<br/>회원번호 : <input type="text" name="mbrInnb" id="mbrInnb" value="0"/>
|
||||
<br/>회원아이디 : <input type="text" name="mbrId" id="mbrId" value=""> <%--없음--%>
|
||||
<br/>회원구분 : <input type="text" name="mbrDvCd" id="mbrDvCd" value="">
|
||||
<br/>이름 : <input type="text" name="mbrNm" id="mbrNm"
|
||||
value="<c:out value="${param.order_user_name}"/>">
|
||||
<br/>휴대폰 번호 : <input type="text" name="mbtlnb" id="mbtlnb"
|
||||
value="<c:out value="${ordrMbtlnb}"/>">
|
||||
<br/>이메일 : <input type="text" name="email" id="email"
|
||||
value="<c:out value="${param.order_email}"/>">
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<br/>쇼핑몰코드 : <input type="text" id="sopmalCd" name="sopmalCd" value="<c:out value="${sopmalCd}"/>">
|
||||
<h3 class="order-progress__title"><em>STEP2.</em> 상품을 선택하세요.</h3>
|
||||
<form id="goddsInfoForm">
|
||||
<c:if test="${not empty goods}">
|
||||
<c:forEach var="goods" items="${goods}">
|
||||
<br/>상품번호 : <input type="text" name="goodsInnb" value="<c:out value="${goods.goods_seq}"/>">
|
||||
<br/>상품옵션번호 : <input type="text" name="goodsOptnInnb" value="<c:out value="${goods.option_seq}"/>">
|
||||
<br/>수량 : <input type="text" name="qy" value="<c:out value="${goods.option_ea}"/>">
|
||||
<br/>inputOptn : <input type="text" name="inputOptn">
|
||||
<br/>상품의 판매금액 : <input type="text" name="subSlepric" value="<c:out value="${goods.price}"/>">
|
||||
<br/>상품/사은품구분 : <input type="text" name="goodsKndCd" value="01">
|
||||
<input type = "hidden" name = "tmAt" value = "Y"/>
|
||||
</c:forEach>
|
||||
</c:if>
|
||||
</form>
|
||||
|
||||
<!-- 사은품을 form 객체에 하게 되면 input 객체만 for문으로 작성 -->
|
||||
<c:if test="${not empty gift}">
|
||||
<form id="prsnInfoForm">
|
||||
<c:forEach var="gift" items="${gift}">
|
||||
<br/>상품번호 : <input type="text" name="goodsInnb" value="<c:out value="${gift.goods_seq}"/>">
|
||||
<br/>상품옵션번호 : <input type="text" name="goodsOptnInnb"
|
||||
value="<c:out value="${gift.option_seq}"/>"><%--사은품 상품번호로 select insert--%>
|
||||
<br/>사은품수량 : <input type="text" name="provdCnt" value="<c:out value="${gift.ea}"/>">
|
||||
<br/>evtInnb : <input type="text" name="evtInnb" value="<c:out value="${gift.gift_seq}"/>">
|
||||
<br/>사은품 수령여부 : <input type="text" name="isRcvPrsnt" value="Y">
|
||||
<input type = "hidden" name = "tmAt" value = "Y"/>
|
||||
</c:forEach>
|
||||
</form>
|
||||
</c:if>
|
||||
|
||||
<div class="radio-tab-content">
|
||||
<!-- 일반주문 Start -->
|
||||
<div id="ordrTy01Div" class="ordr-ty-content order-payment__left">
|
||||
<form id="dlvylcForm-ordrTy01">
|
||||
|
||||
<div class="order-payment__section">
|
||||
<h5 class="order-payment__title">배송지</h5>
|
||||
|
||||
<!-- ('도로명' === data.addressType ? '01' : '02'); 셋팅해야함 -->
|
||||
<c:choose>
|
||||
<c:when test="${multi_recipient_address_type eq 'street'}">
|
||||
<input type="hidden" name="dlvylcAdresDvCd" value="01"/>
|
||||
<!-- 도로명주소 roadAddress 셋팅해야함 -->
|
||||
<input type="hidden" name="dlvylcRnmAdres"
|
||||
value="<c:out value="${multi_recipient_address_street}"/>">
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<input type="hidden" name="dlvylcAdresDvCd" value="02"/>
|
||||
<!-- 지번주소 jibunAddress 셋팅해야함 -->
|
||||
<input type="hidden" name="dlvylcLnbAdres"
|
||||
value="<c:out value="${multi_recipient_address}"/>">
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<input type="hidden" name="recpntTelnb" value="">
|
||||
<input type="hidden" name="dlvyGroupInnb" class="dlvyGroupInnb " value="1">
|
||||
<br/>기본배송비 : <input type="text" name="dftDlvyAmt" class="dftDlvyAmt " value="0">
|
||||
<c:choose>
|
||||
<c:when test = "${empty param.shipping_cost}">
|
||||
<c:set var = "shipping_cost" value = "0"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:set var = "shipping_cost" value = "${param.shipping_cost}}"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<br/>배송비 : <input type="text" name="dlvyAmt" class="dlvyAmt " value="${shipping_cost}">
|
||||
<input type="hidden" name="couponInnb" value="">
|
||||
<input type="hidden" name="dwldCouponInnb" value="">
|
||||
<input type="hidden" name="dplctDscntAt" value="">
|
||||
<input type="hidden" name="otrCouponSmtmUseAt" value="">
|
||||
<br/>무료배송비여부 : <input type="text" name="mngrFreeDlvyUseAt" value="<c:out value="${param.admin_delivery_free}"/>">
|
||||
|
||||
<!-- 무료배송비 적용규칙 $(form).find('input[name="mngrFreeDlvyUseAmt"]').val('Y' === mngrFreeDlvyUseAt ? dlvyAmt : 0); 안될거같은데>?-->
|
||||
<c:choose>
|
||||
<c:when test="${param.admin_delivery_free eq 'Y'}">
|
||||
<br/>무료배송비 : <input type="text" name="mngrFreeDlvyUseAmt" value="<c:out value="${shipping_cost}"/>">
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<br/>무료배송비 : <input type="text" name="mngrFreeDlvyUseAmt" value="0">
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
|
||||
<br/>받는 분 : <input type="text" name="recpntNm"
|
||||
value="<c:out value="${recipient_user_name}"/>">
|
||||
<br/>우편번호 : <input type="text" name="dlvylcZip"
|
||||
value="<c:out value="${multi_recipient_new_zipcode}"/>">
|
||||
<c:choose>
|
||||
<c:when test="${multi_recipient_address_type eq 'street'}">
|
||||
<!-- 도로명주소 roadAddress 셋팅해야함 -->
|
||||
<input type="hidden" name="dlvylcAdres"
|
||||
value="<c:out value="${multi_recipient_address_street}"/>">
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<!-- 지번주소 jibunAddress 셋팅해야함 -->
|
||||
<input type="hidden" name="dlvylcAdres"
|
||||
value="<c:out value="${multi_recipient_address}"/>">
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<br/>상세주소 : <input type="text" name="dlvylcAdresDtl"
|
||||
value="<c:out value="${multi_recipient_address_detail}"/>">
|
||||
<br/>휴대폰번호 : <input type="text" name="recpntMbtlnb"
|
||||
value="<c:out value="${recpntMbtlnb}"/>">
|
||||
<br/>배송 요청사항 : <input type="text" name="dlvyMssageCn" value="<c:out value="${memo}"/>">
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<!-- 일반주문 End -->
|
||||
</div>
|
||||
|
||||
<h3 class="order-progress__title"><em>STEP4.</em> 에누리 할인 여부를 결정하시고 관리자 주문 생성을 완료하세요.</h3>
|
||||
<div class="order-payment">
|
||||
<div class="order-payment__left">
|
||||
<div class="table-wrapper">
|
||||
<form id="enuriForm">
|
||||
<input type="hidden" name="ableMlgAmt" id="ableMlgAmt" value="">
|
||||
<input type="hidden" name="setleAmt" id="setleAmt" value="">
|
||||
<input type="hidden" name="couponInnb" value="">
|
||||
<input type="hidden" name="dwldCouponInnb" value="">
|
||||
<input type="hidden" name="dplctDscntAt" value="">
|
||||
<input type="hidden" name="otrCouponSmtmUseAt" value="">
|
||||
|
||||
<input type="hidden" name="cartCouponList" id="cartCouponList" value=""
|
||||
title="장바구니 쿠폰할인">
|
||||
<input type="hidden" name="useMlgAmt" id="useMlgAmt" value="" title="마일리지">
|
||||
<input type="hidden" name="orginlOrdrInnb" id="orginlOrdrInnb" value="" title="원주문번호">
|
||||
|
||||
<br/>에누리 : <input type="text" name="enuriAmt" value="<c:out value="${param.enuri}"/>">
|
||||
<br/>관리자 메모 : <input type="text" name="managerMemo"
|
||||
value="<c:out value="${param.manager_memo}"/>">
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="order-payment__section">
|
||||
<h5 class="order-payment__title">결제정보</h5>
|
||||
|
||||
<div class="order-method">
|
||||
|
||||
<c:set var="payInfo" value="${data.payInfo}"/>
|
||||
<c:set var="gcpayCardUseAt" value="${'Y' == payInfo.gcpayCardUseAt}"/>
|
||||
<c:set var="gcpayAcntnbUseAt" value="${'Y' == payInfo.gcpayAcntnbUseAt}"/>
|
||||
|
||||
<form id="setleForm">
|
||||
<input type="hidden" name="mngrInnb" id="mngrInnb"
|
||||
value="<c:out value="${param.manager_seq}"/>">
|
||||
<input type="hidden" name="mngrId" id="mngrId"
|
||||
value="<c:out value="${param.manager_id}"/>">
|
||||
<input type="hidden" name="mngrNm" id="mngrNm" value="">
|
||||
|
||||
<!------------ rlSetleAmt : 실결제금액 셋팅 중요 --------------->
|
||||
<input type="hidden" name="rlSetleAmt" id="rlSetleAmt" value="${rlSetleAmt}">
|
||||
<input type="hidden" name="lmttUseMlg" id="lmttUseMlg" value="">
|
||||
<input type="hidden" name="siteCdMid" id="siteCdMid"
|
||||
value="<c:out value="${data.payInfo.kcpMid}"/>">
|
||||
<input type="hidden" name="siteCdKinMid" id="siteCdKinMid"
|
||||
value="<c:out value="${data.payInfo.kcpKeyinMid}"/>">
|
||||
<input type="hidden" name="dueDt" id="dueDt"
|
||||
value="<c:out value="${data.payInfo.dueDt}"/>">
|
||||
<input type="hidden" name="setleSetupTyCd" id="setleSetupTyCd"
|
||||
value="<c:out value="${data.payInfo.setleSetupTyCd}"/>">
|
||||
<input type="hidden" name="ordrDvCd" id="ordrDvCd" value="02"> <!-- 관리자:02 -->
|
||||
|
||||
|
||||
<!-- 넘어오는 값이 수기:01, 가상계좌:04, 무통장:02로 셋팅 -->
|
||||
<c:choose>
|
||||
<c:when test="${param.payment eq 'bank'}">
|
||||
<c:set var="setleTyCd" value="02"/>
|
||||
</c:when>
|
||||
<c:when test="${param.payment eq 'virtual'}">
|
||||
<c:set var="setleTyCd" value="04"/>
|
||||
</c:when>
|
||||
<c:when test="${param.payment eq 'card'}">
|
||||
<c:set var="setleTyCd" value="01"/>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<br/>결제방법 : <input type="text" name="setleTyCd" id="setleTyCd" value="${setleTyCd}">
|
||||
<!-- 넘어오는 값이 수기:Y, 그외 N 셋팅 -->
|
||||
<c:choose>
|
||||
<c:when test="${setleTyCd eq '01'}">
|
||||
<c:set var="isKeyIn" value="Y"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:set var="isKeyIn" value="N"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<br/>수기여부 : <input type="text" name="isKeyIn" id="isKeyIn" value="${isKeyIn}">
|
||||
|
||||
|
||||
<!--
|
||||
<input type="hidden" name="gcpayCardUseAt" id="gcpayCardUseAt" value="${payInfo.gcpayCardUseAt}">
|
||||
<input type="hidden" name="gcpayAcntnbUseAt" id="gcpayAcntnbUseAt" value="${payInfo.gcpayAcntnbUseAt}">
|
||||
<input type="hidden" name="gcpayMethodId" id="gcpayMethodId" value="">
|
||||
<input type="hidden" name="gcpayCardInstallmentPlan" id="gcpayCardInstallmentPlan" value="">
|
||||
<input type="hidden" name="gcpayUseCardPoint" id="gcpayUseCardPoint" value="">
|
||||
-->
|
||||
|
||||
<div class="order-method">
|
||||
|
||||
|
||||
<div class="custom-radio is-medium">
|
||||
|
||||
<c:choose>
|
||||
<c:when test="${'01' eq payInfo.setleSetupTyCd}">
|
||||
<input type="hidden" name="pgCmpnyNm" id="pgCmpnyNm" value="kcp">
|
||||
<input type="hidden" name="pg" id="pg04" value="kcp">
|
||||
</c:when>
|
||||
<c:when test="${'02' eq payInfo.setleSetupTyCd}">
|
||||
<input type="hidden" name="pgCmpnyNm" id="pgCmpnyNm" value="toss">
|
||||
<input type="hidden" name="pg" id="pg03" value="toss">
|
||||
</c:when>
|
||||
<c:otherwise><!-- 무통장 -->
|
||||
<input type="hidden" name="pgCmpnyNm" id="pgCmpnyNm" value="">
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
|
||||
|
||||
</div>
|
||||
<div id="pg03Content" class="pgContent order-method-normal">
|
||||
<div class="order-method-normal__btn-container">
|
||||
<button type="button" name="01" id="hndwr-card"
|
||||
class="order-method-normal__btn">카드수기결제 01
|
||||
</button>
|
||||
<button type="button" name="04" id="virtual"
|
||||
class="order-method-normal__btn">가상계좌 04
|
||||
</button>
|
||||
<button type="button" name="02" id="bank"
|
||||
class="order-method-normal__btn">무통장 02
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<br/><br/><br/>카드 수기결제 정보
|
||||
<br/>카드번호 : <input type="text" name="cardNb" id="cardNb" value="<c:out value="${param.card_number}"/>">
|
||||
<!-- 유효기간이 (YY/MM) 형태임. MM/YY인 형태로 전달되어 온다면 변경해줘야함 -->
|
||||
<br/>유효기간(YY/MM) : <input type="text" name="validpdDt" id="validpdDt" value="<c:out value="${param.card_year}${param.card_month}"/>">
|
||||
<br/>생년월일 또는 사업자번호 : <input type="text" name="brthDe" id="brthDe" value="<c:out value="${param.card_code}"/>">
|
||||
<br/>카드비밀번호(앞2자리) : <input type="password" name="cardPassword" id="cardPassword" value="<c:out value="${param.card_password}"/>">
|
||||
<br/>할부기간(mm) : <input type="text" name="instlmtMtCnt" id="instlmtMtCnt" value="<c:out value="${param.card_plan}"/>">
|
||||
|
||||
<br/><br/><br/>무통장 정보
|
||||
<br/>입금자명 : <input type="text" name="rcpmnyerNm" id="rcpmnyerNm" value="<c:out value="${param.depositor}"/>">
|
||||
<c:if test="${not empty nbkkInfo.nbkkList.acntSetup}">
|
||||
<c:forEach var="nbkk" items="${nbkkInfo.nbkkList.acntSetup}"
|
||||
varStatus="status">
|
||||
<c:if test="${status.index eq 0}">
|
||||
<br/>예금주 : <input type="text" name="dpstrNm" id="dpstrNm"
|
||||
value="<c:out value="${nbkk.dpstrNm}"/>">
|
||||
<c:forEach var="bank" items="${nbkkInfo.nbkkList.bankCdList}">
|
||||
<c:if test="${nbkk.bankCd eq bank.cd}">
|
||||
<br/>은행명 : <input type="text" name="bnnkNm" id="bnnkNm"
|
||||
value="<c:out value="${bank.cdNm}"/>">
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<br/>계좌번호 : <input type="text" name="rcpmnyAcntnb"
|
||||
id="rcpmnyAcntnb"
|
||||
value="<c:out value="${nbkk.acntnb}"/>">
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</c:if>
|
||||
|
||||
<br/><br/><br/>현금영수증 정보
|
||||
<!-- 발급안함 "" , 발급함 "01" 셋팅 -->
|
||||
<c:set var="cshRciptIssuAt" value=""/>
|
||||
<c:if test="${param.typereceipt eq '2'}">
|
||||
<c:set var="cshRciptIssuAt" value="01"/>
|
||||
</c:if>
|
||||
<br/>발급여부 : <input type="text" name="cshRciptIssuAt"
|
||||
value="${cshRciptIssuAt}">
|
||||
<!-- 개인소득공제용 "01" , 사업자지출증빙 "02" 셋팅 -->
|
||||
<c:choose>
|
||||
<c:when test="${param.cuse eq '0'}">
|
||||
<c:set var="issuTrgetDvCd" value="01"/>
|
||||
</c:when>
|
||||
<c:when test="${param.cuse eq '1'}">
|
||||
<c:set var="issuTrgetDvCd" value="02"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:set var="issuTrgetDvCd" value=""/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<br/>현금영수증발급종류 : <input type="text" name="issuTrgetDvCd"
|
||||
value="${issuTrgetDvCd}">
|
||||
|
||||
<!-- 개인소득공제용 이면 휴대폰 번호를 셋팅 / 아니면 사업자번호셋팅 -->
|
||||
<br/>휴대폰번호 : <input type="text" name="issuTrgetMbtlnb"
|
||||
value="<c:out value="${issuTrgetMbtlnb}"/>">
|
||||
<br/>사업자번호 : <input type="text" name="issuTrgetBsnmNb"
|
||||
value="<c:out value="${issuTrgetBsnmNb}"/>">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="order-payment__right">
|
||||
<div class="order-payment__btn-container">
|
||||
<button type="button" id="btnSetle" class="order-payment__btn">결제하기</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<div id="setleDiv"></div>
|
||||
|
||||
<!-- 결제관련 스크립트 시작 -->
|
||||
<script>
|
||||
/****************************************************************/
|
||||
/* m_Completepayment 설명 */
|
||||
/****************************************************************/
|
||||
/* 인증완료시 재귀 함수 */
|
||||
/* 해당 함수명은 절대 변경하면 안됩니다. */
|
||||
/* 해당 함수의 위치는 kcp_spay_hub.js 보다먼저 선언되어여 합니다. */
|
||||
/* Web 방식의 경우 리턴 값이 form 으로 넘어옴 */
|
||||
/****************************************************************/
|
||||
function m_Completepayment(FormOrJson, closeEvent) {
|
||||
console.log(closeEvent);
|
||||
console.log(FormOrJson);
|
||||
var frm = document.order_info;
|
||||
|
||||
/********************************************************************/
|
||||
/* FormOrJson은 가맹점 임의 활용 금지 */
|
||||
/* frm 값에 FormOrJson 값이 설정 된 frm 값으로 활용 하셔야 됩니다. */
|
||||
/********************************************************************/
|
||||
GetField(frm, FormOrJson);
|
||||
console.log(frm);
|
||||
console.log(FormOrJson);
|
||||
if (frm.res_cd.value == "0000") {
|
||||
/* 결제인증 완료 후 결제승인 요청을 위한 비즈니스 로직 구현 */
|
||||
frm.submit();
|
||||
} else {
|
||||
/* 결제인증 실패에 대한 처리 */
|
||||
alert("[" + frm.res_cd.value + "] " + frm.res_msg.value);
|
||||
|
||||
location.reload();
|
||||
|
||||
closeEvent();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<c:choose>
|
||||
<c:when test="${data.payInfo.kcpMid eq 'T0007'}"><!-- 개발 결제창 호출 JS -->
|
||||
<script type="text/javascript" src="https://testspay.kcp.co.kr/plugin/kcp_spay_hub.js"></script>
|
||||
</c:when>
|
||||
<c:otherwise><!-- 운영 결제창 호출 JS -->
|
||||
<script type="text/javascript" src="https://spay.kcp.co.kr/plugin/kcp_spay_hub.js"></script>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
|
||||
<script>
|
||||
/* 표준웹 실행 */
|
||||
function jsf__pay(form) {
|
||||
try {
|
||||
KCP_Pay_Execute_Web(form);
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
/* IE 에서 결제 정상종료시 throw로 스크립트 종료 */
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<script src="https://js.tosspayments.com/v1"></script>
|
||||
|
||||
<script>
|
||||
//test_ck_0RnYX2w5322yZWP2kbBR3NeyqApQ : drumj2
|
||||
//const tossPayClientKey = '${data.payInfo.tossClntKey}';
|
||||
const tossClientKey = '${data.payInfo.tossClntKey}';
|
||||
const gcPayClientKey = '${data.payInfo.bpayClntKey}';
|
||||
|
||||
function pay(method, requestJson) {
|
||||
TossPayments(tossClientKey).requestPayment(method, requestJson).catch(function (error) {
|
||||
if (error.code === "USER_CANCEL") {
|
||||
alert("토스 결제를 취소하였습니다.");
|
||||
|
||||
location.reload();
|
||||
} else {
|
||||
alert(error.message);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function tosspay(method, requestJson) {
|
||||
TossPayments(tossClientKey).requestPayment(method, requestJson).catch(function (error) {
|
||||
if (error.code === "USER_CANCEL") {
|
||||
alert("토스페이 결제를 취소하였습니다.");
|
||||
|
||||
location.reload();
|
||||
} else {
|
||||
alert(error.message);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 스크립트가 모두 로딩된 후 실행
|
||||
$(document).ready(function () {
|
||||
fn_order();
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<!-- 결제관련 스크립트 종료 -->
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user