초기소스
This commit is contained in:
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