초기소스
This commit is contained in:
131
src/main/webapp/WEB-INF/views/sopmal/mpage/ordr/DlvyInqireR.jsp
Normal file
131
src/main/webapp/WEB-INF/views/sopmal/mpage/ordr/DlvyInqireR.jsp
Normal file
@@ -0,0 +1,131 @@
|
||||
<%@ 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 : WslistInqireR.jsp
|
||||
Description : 마이페이지 위시리스트
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-03-27 추지훈 최초 생성
|
||||
--%>
|
||||
<!-- 모달 -->
|
||||
<!-- 배송 조회 -->
|
||||
<div id="delivery-check-pop" class="modal default" style="max-width: 640px;">
|
||||
<div class="modal-header">
|
||||
<div class="modal-header__title">배송 조회</div>
|
||||
</div>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.resultList && fn:length(resultMap.resultList) > 0 }">
|
||||
<c:forEach var="list" items="${ resultMap.resultList }" varStatus="status">
|
||||
<div class="modal-content">
|
||||
<div class="table-wrapper">
|
||||
<table class="table deliveryInfo">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: 20%;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>
|
||||
주문자
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${ resultMap.result.ordrrNm }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
수령인
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${ list.recpntNm }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
배송지
|
||||
</th>
|
||||
<td><c:if test="${ not empty list.dlvylcZip }">(<c:out value="${ list.dlvylcZip }"/>)</c:if>
|
||||
<c:choose>
|
||||
<c:when test="${ list.dlvylcAdresDvCd eq '01'}">
|
||||
<c:out value="${ list.dlvylcRnmAdres }"/>
|
||||
</c:when>
|
||||
<c:when test="${ list.dlvylcAdresDvCd eq '02'}">
|
||||
<c:out value="${ list.dlvylcLnbAdres }"/>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<c:out value="${ list.dlvylcAdresDtl }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
택배사
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${ list.hdrycpnNm }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
송장번호
|
||||
</th>
|
||||
<td><c:out value="${ list.invcnb }"/></td><!-- TODO : 주문 목록에 붙여서 파라미터로 받은 송장번호 출력 -->
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="table-wrapper">
|
||||
<table class="table deliveryStatus">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: 30%;">
|
||||
<col style="width: 30%;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>처리일시</th>
|
||||
<th>상품위치</th>
|
||||
<th>배송상태</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach var="trackingList" items="${ list.trackingDetails }" varStatus="status">
|
||||
<tr>
|
||||
<td><c:out value="${ trackingList.time }"/></td>
|
||||
<td>
|
||||
<c:out value="${ trackingList.where }"/>
|
||||
</td>
|
||||
<td><c:out value="${ trackingList.kind }"/></td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<div class="couponList">
|
||||
<div class="couponList__no-result">
|
||||
<img src="<c:url value="/pc/images/icon__no-result.png"/>" alt="">
|
||||
<p class="orderList__no-result-text">배송 조회 내역이 없습니다.</p>
|
||||
</div>
|
||||
</div>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<div class="modal-footer">
|
||||
<a href="#" rel="modal:close" class="btn large outline">닫기</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -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 : FdrmDlvyCycleChngU.jsp
|
||||
Description : 마이페이지 배송 주기 변경 팝업
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-03-27 추지훈 최초 생성
|
||||
--%>
|
||||
<!-- 모달 -->
|
||||
<!-- 배송주기 변경 -->
|
||||
<form id="dlvyCycleUpdtForm">
|
||||
<div id="delivery-cycle-pop" class="modal default" style="max-width: 640px;">
|
||||
<div class="modal-header">
|
||||
<div class="modal-header__title">배송주기 변경</div>
|
||||
</div>
|
||||
<div class="modal-content">
|
||||
<div class="deliveryCyclePop">
|
||||
<h4 class="modalSectionTitle">배송주기를 선택해 주세요.</h4>
|
||||
<div class="deliveryCyclePop__checkWrapper">
|
||||
<div class="custom-radio-container">
|
||||
<c:forEach var="cdList" items="${ resultMap.dlvyCycleCdList }" varStatus="status">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="<c:out value="${ cdList.cdNm }"/><c:out value="${ cdList.cd }"/>" name="dlvyCycleCd"
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.paramVO.dlvyCycleCd }">
|
||||
<c:if test="${ resultMap.paramVO.dlvyCycleCd eq cdList.cd }">checked="checked"</c:if>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:if test="${ cdList.cd eq '01' }">checked="checked"</c:if>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
>
|
||||
<label for="<c:out value="${ cdList.cdNm }"/><c:out value="${ cdList.cd }"/>"><c:out value="${ cdList.cdNm }"/></label>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<input type="hidden" name="ordrInnb" value="<c:out value="${ resultMap.paramVO.ordrInnb }"/>" />
|
||||
<a href="#" rel="modal:close" class="btn large outline">닫기</a>
|
||||
<button type="button" class="btn large theme" onclick="fn_update_dlvy_cycle();">배송주기 변경</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@@ -0,0 +1,264 @@
|
||||
<%@ 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 : WslistInqireRForm.jsp
|
||||
Description : 마이페이지 위시리스트
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-02-27 추지훈 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
|
||||
|
||||
<%-- 공통 include --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/Include.jsp"/>
|
||||
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
let pageIndex = '<c:out value="${ resultMap.paramVO.pageIndex }"/>';
|
||||
let pageUnit = '<c:out value="${ resultMap.paramVO.pageUnit }"/>';
|
||||
|
||||
fn_select_fdrm_dlvy_list(pageIndex, pageUnit);
|
||||
|
||||
fn_start_display();
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
/******************************************************************
|
||||
* 시작 화면 제어
|
||||
******************************************************************/
|
||||
const fn_start_display = function() {
|
||||
|
||||
/* 검색조건 > 날짜 구간 버튼 클릭 이벤트 */
|
||||
$('.dateRange-btn').on('click', function() {
|
||||
const date = $(this).attr('id');
|
||||
|
||||
$(this).closest('div').find('#dateRange').val(date);
|
||||
|
||||
if ('allDays' === date) {
|
||||
$('#bgnDt, #endDt').val('');
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
fn_set_date('bgnDt', 'endDt', 'endDt', date);
|
||||
});
|
||||
|
||||
/* 검색 버튼 클릭 이벤트 */
|
||||
$('#btnSearch').on('click', function() {
|
||||
fn_select_fdrm_dlvy_list(1);
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/******************************************************************
|
||||
* 정기배송 목록 조회
|
||||
******************************************************************/
|
||||
const fn_select_fdrm_dlvy_list = function(pageIndex, pageUnit) {
|
||||
|
||||
let dataStr;
|
||||
if(!pageIndex) {
|
||||
$('#pageIndex').val(1);
|
||||
} else {
|
||||
$('#pageIndex').val(pageIndex);
|
||||
}
|
||||
|
||||
if(!pageUnit) {
|
||||
|
||||
dataStr = $('#listForm').serialize();
|
||||
} else {
|
||||
if($('#pageUnit').length){
|
||||
$('#pageUnit').val(pageUnit);
|
||||
dataStr = $('#listForm').serialize();
|
||||
} else {
|
||||
dataStr = $('#listForm').serialize()+'&pageUnit='+pageUnit;
|
||||
}
|
||||
}
|
||||
|
||||
$('#pageIndex').val(pageIndex);
|
||||
|
||||
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url : '<c:url value="/sopmal/mpage/ordr/selectFdrmDlvyInqire"/>',
|
||||
data : dataStr,
|
||||
success:function(resultHtml) {
|
||||
$('#pageDiv').empty();
|
||||
$('#pageDiv').html(resultHtml);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
* 정기배송 > 배송주기 변경 팝업
|
||||
* *******************************************************************/
|
||||
const fn_dlvy_cycle_change_modal = function (modalDivSltr, modalSlrt, ordrInnb) {
|
||||
|
||||
// const data = $(formId).serialize();
|
||||
const data = null;
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '<c:url value="/sopmal/mpage/ordr/selectFdrmDlvyCycleChngForm"/>',
|
||||
data: {
|
||||
ordrInnb : ordrInnb
|
||||
},
|
||||
success: function (data) {
|
||||
$(modalSlrt).remove();
|
||||
$(modalDivSltr).html(data);
|
||||
$(modalSlrt).modal();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
* 정기배송 > 배송주기 변경 팝업 > 배송주기 변경
|
||||
* *******************************************************************/
|
||||
const fn_update_dlvy_cycle = function () {
|
||||
|
||||
const data = $('#dlvyCycleUpdtForm').serialize();
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '<c:url value="/sopmal/mpage/ordr/selectFdrmDlvyCycleChngForm"/>',
|
||||
data: data,
|
||||
success: function (result) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
* 정기배송 > 배송 혜지
|
||||
* *******************************************************************/
|
||||
const fn_delete_fdrm_dlvy = function () {
|
||||
|
||||
const data = $('#dlvyCycleUpdtForm').serialize();
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '<c:url value="/sopmal/mpage/ordr/selectFdrmDlvyCycleChngForm"/>',
|
||||
data: data,
|
||||
success: function (result) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/* 검색조건 세팅 */
|
||||
const fn_set_param = function() {
|
||||
const params = ${paramVO};
|
||||
const keys = Object.keys(params);
|
||||
|
||||
for (let i = 0; i < keys.length; i++) {
|
||||
let key = keys[i];
|
||||
let data = params[key];
|
||||
|
||||
if ('bgnDt' == key || 'endDt' == key) {
|
||||
if (!fn_is_empty(data)) {
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
$('#' + key).val(data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ('dateRange' == key) {
|
||||
$('#'+ data).trigger('click');
|
||||
}
|
||||
|
||||
if ('srchwrd' == key) {
|
||||
$('#' + key).val(data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<%-- 공통 Header --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/Header.jsp"/>
|
||||
|
||||
<!-- 메인 컨텐츠 영역 -->
|
||||
<main>
|
||||
<div class="sub-wrapper">
|
||||
<div class="sub-content">
|
||||
<div class="sub-rl">
|
||||
<%-- 마이페이지 Left 영역 --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/mpage/MypageLeft.jsp"/>
|
||||
<div class="sub-right-content">
|
||||
<%-- 마이페이지 Right 영역 --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/mpage/MypageRight.jsp"/>
|
||||
<div class="sub-right-content__section">
|
||||
<h3 class="sub-right-content__title">정기배송 관리</h3>
|
||||
<form id="listForm">
|
||||
<input type="hidden" name="pageIndex" id="pageIndex" value="1">
|
||||
<div class="customer-search">
|
||||
<div class="customer-search__row justify-start">
|
||||
<input class="input-text customer-search__search" type="text" name="srchwrd" title="검색어 입력" placeholder="주문번호, 상품명 검색">
|
||||
</div>
|
||||
<div class="customer-search__row justify-start">
|
||||
<div class="customer-search__controls">
|
||||
<div class="dateRange-btnContainer">
|
||||
<input type="hidden" name="dateRange" id="dateRange" value="allDays">
|
||||
<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 selected" id="allDays">전체</button>
|
||||
</div>
|
||||
<div class="input-container">
|
||||
<input type="text" readonly id="bgnDt" class="datepicker" name="bgnDt" title="시작 날짜 선택" autocomplete="off">
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" readonly id="endDt" class="datepicker" name="endDt" title="종료 날짜 선택" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn md dark" type="button" id="btnSearch" onclick="fn_select_fdrm_dlvy_list(1);" >검색</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<div class="sub-tab__content current" id="pageDiv">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<%-- 공통 Footer --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/Footer.jsp"/>
|
||||
|
||||
<!-- 모달 영역 -->
|
||||
<div id="modalDiv">
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,71 @@
|
||||
<%@ 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 : RtngudCanclRefndListR.jsp
|
||||
Description : 마이페이지 반품/환불 내역
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-03-27 추지훈 최초 생성
|
||||
--%>
|
||||
<!--<div class="sub-tab__content current">-->
|
||||
<div class="orderList">
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.allOrdrList && fn:length(resultMap.allOrdrList) > 0 }">
|
||||
<c:forEach var="list" items="${ resultMap.allOrdrList }" varStatus="status">
|
||||
<div class="orderList__item">
|
||||
<div class="orderList__item__inner">
|
||||
<a href="" class="orderList__image">
|
||||
<img src="<c:out value="${ list.goodsImageUrl }"/>" alt="상품 이미지">
|
||||
</a>
|
||||
<div class="orderList__description">
|
||||
<div class="orderList__description__first">
|
||||
<div class="orderList__item__top">
|
||||
<a href="" class="orderList__orderNum"><c:out value="${ list.ordrInnb }"/>
|
||||
</a>
|
||||
<span class="orderList__dot">·</span>
|
||||
<span class="orderList__date"><c:out value="${ list.ordrDt }"/> 주문</span>
|
||||
</div>
|
||||
<a href="" class="orderList__productTitle"><c:out value="${ list.goodsNm }"/></a>
|
||||
<span class="orderList__option"><c:out value="${ not empty list.optnNm ? '옵션 : ' += list.optnNm : '' }"/></span>
|
||||
</div>
|
||||
<div class="orderList__description__second">
|
||||
<span class="orderList__price"><span class="comma"><c:out value="${ list.setleAmt }"/></span>원</span>
|
||||
</div>
|
||||
<div class="orderList__description__third">
|
||||
<span class="orderList__regularDelivery">
|
||||
매월 15일
|
||||
<span class="misc">(3회차)</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="orderList__btnControls">
|
||||
<button type="button" class="btn gray sm full" onclick="fn_delete_fdrm_dlvy();">배송해지</button>
|
||||
<button type="button" class="btn outline sm full" onclick="fn_dlvy_cycle_change_modal( '#modalDiv', '#delivery-cycle-pop', '<c:out value="${ list.ordrInnb }"/>' );" >배송주기 변경</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<div class="orderList__no-result">
|
||||
<img src="/pc/images/icon__no-result.png" alt="">
|
||||
<p class="orderList__no-result-text">
|
||||
주문내역이 없습니다.
|
||||
</p>
|
||||
</div>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
<div class="pagination__container">
|
||||
<ui:pagination paginationInfo="${resultMap.paginationInfo}" type="image" jsFunction="fn_select_fdrm_dlvy_list" />
|
||||
</div>
|
||||
<!--</div>-->
|
||||
@@ -0,0 +1,241 @@
|
||||
<%@ 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 : WslistInqireRForm.jsp
|
||||
Description : 마이페이지 위시리스트
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-02-27 추지훈 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
|
||||
|
||||
<%-- 공통 include --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/Include.jsp"/>
|
||||
<script src="<c:url value='/js/dlvylc/dlvylc.js'/>"></script>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
let pageIndex = '<c:out value="${ resultMap.paramVO.pageIndex }"/>';
|
||||
let pageUnit = '<c:out value="${ resultMap.paramVO.pageUnit }"/>';
|
||||
|
||||
fn_select_gift_list(pageIndex, pageUnit);
|
||||
|
||||
fn_start_display();
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
/******************************************************************
|
||||
* 시작 화면 제어
|
||||
******************************************************************/
|
||||
const fn_start_display = function() {
|
||||
|
||||
/* 검색조건 > 날짜 구간 버튼 클릭 이벤트 */
|
||||
$('.dateRange-btn').on('click', function() {
|
||||
const date = $(this).attr('id');
|
||||
|
||||
$(this).closest('div').find('#dateRange').val(date);
|
||||
|
||||
if ('allDays' === date) {
|
||||
$('#bgnDt, #endDt').val('');
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
fn_set_date('bgnDt', 'endDt', 'endDt', date);
|
||||
});
|
||||
|
||||
/* 검색 버튼 클릭 이벤트 */
|
||||
$('#btnSearch').on('click', function() {
|
||||
fn_select_gift_list(1);
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
/* 주문상세 이동 */
|
||||
const fn_go_ordr_dtl = function (sopmalCd, ordrInnb) {
|
||||
var form = $('#listForm');
|
||||
|
||||
$(form).append($('<input/>', {type: 'hidden', name: 'ordrInnb', id: 'ordrInnb', value: ordrInnb}));
|
||||
|
||||
$(form).attr('method', 'get');
|
||||
$(form).attr('action', '<c:url value="/sopmal/mpage/ordr/selectMbrOrdrDtlInqire"/>');
|
||||
|
||||
$(form).submit();
|
||||
}
|
||||
|
||||
|
||||
/******************************************************************
|
||||
* 선물함 목록 조회
|
||||
******************************************************************/
|
||||
const fn_select_gift_list = function(pageIndex, pageUnit) {
|
||||
|
||||
let dataStr;
|
||||
if(!pageIndex) {
|
||||
$('#pageIndex').val(1);
|
||||
} else {
|
||||
$('#pageIndex').val(pageIndex);
|
||||
}
|
||||
|
||||
if(!pageUnit) {
|
||||
|
||||
dataStr = $('#listForm').serialize();
|
||||
} else {
|
||||
if($('#pageUnit').length){
|
||||
$('#pageUnit').val(pageUnit);
|
||||
dataStr = $('#listForm').serialize();
|
||||
} else {
|
||||
dataStr = $('#listForm').serialize()+'&pageUnit='+pageUnit;
|
||||
}
|
||||
}
|
||||
|
||||
$('#pageIndex').val(pageIndex);
|
||||
|
||||
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url : '<c:url value="/sopmal/mpage/ordr/selectGiftListInqire"/>',
|
||||
data : dataStr,
|
||||
success:function(resultHtml) {
|
||||
$('#pageDiv').empty();
|
||||
$('#pageDiv').html(resultHtml);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
* 성물함 > 선물현황 조회
|
||||
* *******************************************************************/
|
||||
const fn_select_gift_current_situation = function (modalDivSltr, modalSlrt, ordrInnb) {
|
||||
|
||||
const data = null;
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '<c:url value="/sopmal/mpage/ordr/selectGiftOrdrSittnPopupForm"/>',
|
||||
data: {
|
||||
ordrInnb : ordrInnb
|
||||
},
|
||||
success: function (result) {
|
||||
|
||||
$(modalSlrt).remove();
|
||||
$(modalDivSltr).html(result);
|
||||
$(modalSlrt).modal();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/* 검색조건 세팅 */
|
||||
const fn_set_param = function() {
|
||||
const params = ${paramVO};
|
||||
const keys = Object.keys(params);
|
||||
|
||||
for (let i = 0; i < keys.length; i++) {
|
||||
let key = keys[i];
|
||||
let data = params[key];
|
||||
|
||||
if ('bgnDt' == key || 'endDt' == key) {
|
||||
if (!fn_is_empty(data)) {
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
$('#' + key).val(data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ('dateRange' == key) {
|
||||
$('#'+ data).trigger('click');
|
||||
}
|
||||
|
||||
if ('srchwrd' == key) {
|
||||
$('#' + key).val(data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<%-- 공통 Header --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/Header.jsp"/>
|
||||
|
||||
<!-- 메인 컨텐츠 영역 -->
|
||||
<main>
|
||||
<div class="sub-wrapper">
|
||||
<div class="sub-content">
|
||||
<div class="sub-rl">
|
||||
<%-- 마이페이지 Left 영역 --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/mpage/MypageLeft.jsp"/>
|
||||
<div class="sub-right-content">
|
||||
<%-- 마이페이지 Right 영역 --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/mpage/MypageRight.jsp"/>
|
||||
<div class="sub-right-content__section">
|
||||
<h3 class="sub-right-content__title">선물함</h3>
|
||||
<form id="listForm">
|
||||
<input type="hidden" name="pageIndex" id="pageIndex" value="1">
|
||||
<div class="customer-search">
|
||||
<div class="customer-search__row justify-start">
|
||||
<input class="input-text customer-search__search" type="text" name="srchwrd" title="검색어 입력" placeholder="주문번호, 상품명 검색">
|
||||
</div>
|
||||
<div class="customer-search__row justify-start">
|
||||
<div class="customer-search__controls">
|
||||
<div class="dateRange-btnContainer">
|
||||
<input type="hidden" name="dateRange" id="dateRange" value="allDays">
|
||||
<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 selected" id="allDays">전체</button>
|
||||
</div>
|
||||
<div class="input-container">
|
||||
<input type="text" readonly id="bgnDt" class="datepicker" name="bgnDt" title="시작 날짜 선택" autocomplete="off">
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" readonly id="endDt" class="datepicker" name="endDt" title="종료 날짜 선택" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn md dark" type="button" id="btnSearch" onclick="fn_select_fdrm_dlvy_list(1);" >검색</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<div class="sub-tab__content current" id="pageDiv">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<%-- 공통 Footer --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/Footer.jsp"/>
|
||||
|
||||
<!-- 모달 영역 -->
|
||||
<div id="modalDiv">
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,68 @@
|
||||
<%@ 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 : RtngudCanclRefndListR.jsp
|
||||
Description : 마이페이지 반품/환불 내역
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-03-27 추지훈 최초 생성
|
||||
--%>
|
||||
<!--<div class="sub-tab__content current">-->
|
||||
<div class="orderList">
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.allOrdrList && fn:length(resultMap.allOrdrList) > 0 }">
|
||||
<c:forEach var="list" items="${ resultMap.allOrdrList }" varStatus="status">
|
||||
<div class="orderList__item">
|
||||
<div class="orderList__item__inner">
|
||||
<a href="" class="orderList__image">
|
||||
<spring:eval expression="@environment.getProperty('sopmalfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
||||
<img src="<c:out value="${ cdnurl }${list.goodsImageUrl}"/>" onerror="this.src='/pc/images/image_placeholder.png'" alt="<c:out value="${list.goodsNm}"/>">
|
||||
</a>
|
||||
<div class="orderList__description">
|
||||
<div class="orderList__description__first">
|
||||
<div class="orderList__item__top">
|
||||
<a href="" class="orderList__orderNum"><c:out value="${ list.ordrInnb }"/>
|
||||
</a>
|
||||
<span class="orderList__dot">·</span>
|
||||
<span class="orderList__date"><c:out value="${ list.ordrDt }"/> 주문</span>
|
||||
</div>
|
||||
<a href="javascript:void(0);" onclick="fn_go_ordr_dtl('<c:out value="${list.sopmalCd}"/>', '<c:out value="${list.ordrInnb}"/>');" class="orderList__productTitle"><c:out value="${list.goodsNm}"/></a>
|
||||
<span class="orderList__option"><c:out value="${ not empty list.optnNm ? '옵션 : ' += list.optnNm : '' }"/></span>
|
||||
</div>
|
||||
<div class="orderList__description__second">
|
||||
<span class="orderList__price"><span class="comma"><c:out value="${ list.setleAmt }"/></span>원</span>
|
||||
</div>
|
||||
<div class="orderList__description__third">
|
||||
<span class="orderList__mileage"><span class="comma">예상적립 <fmt:formatNumber value="${ list.mlgAmt }" pattern="#,###"/></span>원</span>
|
||||
</div>
|
||||
<div class="orderList__btnControls">
|
||||
<button type="button" class="btn outline sm full" onclick="fn_select_gift_current_situation( '#modalDiv', '#gift-sittn-pop', '<c:out value="${ list.ordrInnb }"/>' );" >선물 조회</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<div class="orderList__no-result">
|
||||
<img src="/pc/images/icon__no-result.png" alt="">
|
||||
<p class="orderList__no-result-text">
|
||||
선물내역이 없습니다.
|
||||
</p>
|
||||
</div>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
<div class="pagination__container">
|
||||
<ui:pagination paginationInfo="${resultMap.paginationInfo}" type="image" jsFunction="fn_select_gift_list" />
|
||||
</div>
|
||||
<!--</div>-->
|
||||
@@ -0,0 +1,77 @@
|
||||
<%@ 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 : GiftOrdrSittnPopupR.jsp
|
||||
Description : 마이페이지 선물함 선물현황 조회 팝업
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-03-27 추지훈 최초 생성
|
||||
--%>
|
||||
<!-- 모달 -->
|
||||
<!-- 선물 조회 -->
|
||||
<div id="gift-sittn-pop" class="modal default" style="max-width: 640px;">
|
||||
<div class="modal-header">
|
||||
<div class="modal-header__title">선물 조회</div>
|
||||
</div>
|
||||
<div class="modal-content">
|
||||
<c:forEach var="list" items="${ resultMap.resultList }" varStatus="status">
|
||||
<div class="table-wrapper">
|
||||
<table class="table deliveryInfo">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: 20%;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>
|
||||
수령인
|
||||
</th>
|
||||
<td><c:out value="${ list.recpntNm }"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
선물상태
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${ list.giftSttusCdNm }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
배송지
|
||||
</th>
|
||||
<td>
|
||||
<c:if test="${ not empty list.dlvylcZip }">(<c:out value="${ list.dlvylcZip }"/>)</c:if>
|
||||
<c:choose>
|
||||
<c:when test="${ list.dlvylcAdresDvCd eq '01'}">
|
||||
<c:out value="${ list.dlvylcRnmAdres }"/>
|
||||
</c:when>
|
||||
<c:when test="${ list.dlvylcAdresDvCd eq '02'}">
|
||||
<c:out value="${ list.dlvylcLnbAdres }"/>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<c:out value="${ list. dlvylcAdresDtl }"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<hr>
|
||||
<br>
|
||||
</c:forEach>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#" rel="modal:close" class="btn large outline">닫기</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,475 @@
|
||||
<%@ 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 : WslistInqireRForm.jsp
|
||||
Description : 마이페이지 위시리스트
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-02-27 추지훈 최초 생성
|
||||
--%>
|
||||
|
||||
<script defer>
|
||||
//상품 타이틀, 수량, 가격 저장하는 배열
|
||||
// 배열 순서 -> [상품명, 수량, 1개당 가격, 상품 총가격(=수량x개당가격), 추가정보(색상, 사이즈등)]
|
||||
|
||||
fn_set_niceSelect_datePicker('.select-box-addCart')
|
||||
|
||||
//
|
||||
// /*************************************************************
|
||||
// 함께하면 좋은상품 이벤트 (모달)
|
||||
// **************************************************************/
|
||||
//
|
||||
// //일반옵션
|
||||
// // 라디오 버튼 클릭시, 상품 정보 배열에 추가 및 화면에 추가
|
||||
$(".productDetailInfo__option__item").each(function () {
|
||||
$(this).find("input[type=radio]").on("change", function () { // 라디오 버튼 클릭 시
|
||||
if ($(this).prop('checked') == false) return; // 체크 해제시 리턴
|
||||
const $title = $(this).closest(".productDetailInfo__option__item").find("label").text();
|
||||
const $price = $(this).closest(".productDetailInfo__option__item").find(".productDetailInfo__option__price").text();
|
||||
const $goodsOptnInnb = $(this).closest(".productDetailInfo__option__item").find('input[name="goodsOptnInnb"]').val()
|
||||
const $goodsOptnTy = $(this).closest(".productDetailInfo__option__item").find('input[name="goodsOptnTy"]').val()
|
||||
const $optnInfo = $(this).closest(".productDetailInfo__option__item").find('.productDetailInfo__option__monthly-payment').text();
|
||||
|
||||
const $priceNum = parseInt($price.replace(/,/g, ""));
|
||||
|
||||
//이미 추가된 상품인지 확인
|
||||
var isItemAlreadyAdded = productArr.some(function (item) {
|
||||
return item[0] === $title;
|
||||
});
|
||||
if (isItemAlreadyAdded){
|
||||
fn_goods_duplicate_select_modal()
|
||||
return;
|
||||
}
|
||||
|
||||
productArr.push([$title, 1, $priceNum, $priceNum * 1, $goodsOptnInnb, $goodsOptnTy]); // 배열에 상품 정보 추가
|
||||
$('#cartCountContainer').append( // 화면에 상품 정보 추가
|
||||
'<div class="productDetailInfo__count">' +
|
||||
'<div class="productDetailInfo__count__amountTop">' +
|
||||
'<span class="productDetailInfo__count__amountTitle">' + $title + '</span>' +
|
||||
'<button class="productDetailInfo__count__amountDelete"><span class="visually-hidden">삭제</span></button>' +
|
||||
'</div>' +
|
||||
'<div class="productDetailInfo__count__amountBottom">' +
|
||||
'<div class="productDetailInfo__count__amountCounter">' +
|
||||
'<button class="productDetailInfo__count__amountBtn minus"><span class="visually-hidden">감소</span></button>' +
|
||||
'<span class="productDetailInfo__count__amountNumber">1</span>' +
|
||||
'<button class="productDetailInfo__count__amountBtn plus"><span class="visually-hidden">추가</span></button>' +
|
||||
'</div>' +
|
||||
'<div class="productDetailInfo__count__amountPriceBox">' +
|
||||
'<span class="productDetailInfo__count__amountMonthlyPrice">'+$optnInfo+'</span>' +
|
||||
'<span class="productDetailInfo__count__amountPrice"><span class="comma productDetailInfo__count__priceNum">' + $price +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'</div>'
|
||||
);
|
||||
|
||||
updateCartCounters(); // 화면에 상품 정보 업데이트
|
||||
});
|
||||
});
|
||||
|
||||
// 총 상품금액
|
||||
var $cartTotalPrice = $(".modal .product-total__price__totalPriceNum");
|
||||
|
||||
// 수량 "-", "+" 버튼 클릭 시, 수량 증감 및 가격 변경 및 총 상품금액 변경
|
||||
$("#cartCountContainer").on("click", ".productDetailInfo__count__amountBtn", function () { // 수량 버튼 클릭 시
|
||||
var $counter = $(this);
|
||||
var $index = $counter.closest(".productDetailInfo__count").index(); // 해당 상품의 인덱스
|
||||
if ($(this).hasClass("minus")) { // "-" 버튼 클릭 시
|
||||
if (productArr[$index][1] <= 1) return;
|
||||
productArr[$index][1]--; // 배열에서 해당 상품의 수량 감소
|
||||
productArr[$index][3] = productArr[$index][1] * productArr[$index][2]; // 배열에서 해당 상품의 총 가격 변경
|
||||
} else { // "+" 버튼 클릭 시
|
||||
productArr[$index][1]++; // 배열에서 해당 상품의 수량 증가
|
||||
productArr[$index][3] = productArr[$index][1] * productArr[$index][2]; // 배열에서 해당 상품의 총 가격 변경
|
||||
}
|
||||
updateCartCounters(); // 화면에 상품 정보 업데이트
|
||||
})
|
||||
//
|
||||
// //배열 내용을 바탕으로 각 아이템 텍스트 변경
|
||||
function updateCartCounters() {
|
||||
$(".modal .productDetailInfo__count").each(function () {
|
||||
var $counter = $(this);
|
||||
var $index = $counter.index();
|
||||
var $number = $counter.find(".productDetailInfo__count__amountNumber");
|
||||
var $price = $counter.find(".productDetailInfo__count__priceNum");
|
||||
$number.text(productArr[$index][1]);
|
||||
$price.text(addComma(productArr[$index][3]) + "원");
|
||||
});
|
||||
updateCartTotalPrice(); // 총 상품금액 업데이트
|
||||
|
||||
}
|
||||
|
||||
// 3자리마다 "," 추가
|
||||
function addComma(num) {
|
||||
return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
||||
}
|
||||
|
||||
// 총 상품금액 업데이트
|
||||
function updateCartTotalPrice() {
|
||||
var totalPrice = 0; // 총 상품금액
|
||||
for (var i = 0; i < productArr.length; i++) {
|
||||
totalPrice += productArr[i][3]; // 배열의 총 가격을 더함
|
||||
}
|
||||
$cartTotalPrice.text(addComma(totalPrice)); // 총 상품금액 텍스트 변경
|
||||
}
|
||||
|
||||
// x버튼 클릭 시 삭제
|
||||
$("#cartCountContainer").on("click", ".productDetailInfo__count__amountDelete", function () { // x 버튼 클릭 시
|
||||
var $index = $(this).closest(".productDetailInfo__count").index();
|
||||
productArr.splice($index, 1); // 배열에서 해당 상품 삭제
|
||||
$(this).closest(".productDetailInfo__count").remove(); // 화면에서 해당 상품 삭제
|
||||
updateCartCounters(); // 화면에 상품 정보 업데이트
|
||||
|
||||
//일반옵션이 하나일 경우 라디오 체크 해제
|
||||
if($('#option-change-popUp .custom-radio:not(:has(span))').length ===1
|
||||
|| productArr.filter(item => item[5] === '01'&& $('#goodsInnb').val() ===item[6]).length === 0){
|
||||
$("input[name='r-group01']").prop('checked', false)
|
||||
}
|
||||
});
|
||||
|
||||
// // // 마지막으로 생성된 상품에 각인 정보 추가
|
||||
// // $('#cartAddTextBtn').on('click', function () {
|
||||
// // var $index = $(".modal .productDetailInfo__count").length - 1;
|
||||
// // var $text = $('#cartAddTextInput').val();
|
||||
// // console.log(productArr[$index]); // 인덱스 확인
|
||||
// // $(".modal .productDetailInfo__count").eq($index).find(".productDetailInfo__count__amountTop").append('<div class="productDetailInfo__count__additionalSelect">각인문구 : ' + $text + '</div>');
|
||||
// //
|
||||
// // console.log(productArr); // 배열 정보확인
|
||||
// // });
|
||||
//
|
||||
|
||||
//재고옵션
|
||||
$('#cartAdditionalSelect').on("change", "select", function () { // 셀렉트 선택 시
|
||||
if ($('#cartAdditionalSelect').find('.option.selected.disabled').length > 0) return;
|
||||
if ($('#cartAdditionalSelect').find('.option.selected').length == $('#cartAdditionalSelect').find('.nice-select').length) { // 모든 셀렉트가 선택되면
|
||||
|
||||
var $title = $('#addCartGoodsNm').val();
|
||||
var $optInfo = $(this).closest(".productDetailInfo__additionalSelect__item").find(".option.selected").attr("data-value").split('|');
|
||||
var $priceNum = $optInfo[0];
|
||||
var $goodsOptnInnb = $optInfo[1];
|
||||
var $goodsOptnInfo = $optInfo[2];
|
||||
var $goodsOptnTy = $optInfo[3];
|
||||
|
||||
var arr = [];
|
||||
for (var i = 0; i < $('#cartAdditionalSelect').find('.nice-select').length; i++) {
|
||||
arr.push($('#cartAdditionalSelect').find('.nice-select').eq(i).find('.option.selected').text());
|
||||
}
|
||||
//이미 추가된 상품인지 확인
|
||||
var isItemAlreadyAdded = productArr.some(function (item) {
|
||||
return item[0] === $title && item[6].join('') === arr.join('') || item[4] === $goodsOptnInnb;
|
||||
});
|
||||
if (isItemAlreadyAdded) {
|
||||
fn_goods_duplicate_select_modal()
|
||||
return;
|
||||
}
|
||||
productArr.push([$title, 1, $priceNum, $priceNum * 1, $goodsOptnInnb, $goodsOptnTy, arr]); // 배열에 상품 정보 추가
|
||||
let cartAdditionalSelectText = '옵션 : ' + arr.join(' / ').replace(/\(\+.*?\)/g, ''); // 추가정보 텍스트로 변환
|
||||
$('#cartCountContainer').append( // 화면에 상품 정보 추가
|
||||
'<div class="productDetailInfo__count">' +
|
||||
'<div class="productDetailInfo__count__amountTop">' +
|
||||
'<span class="productDetailInfo__count__amountTitle">' + $title + '</span>' +
|
||||
'<div class="productDetailInfo__count__additionalSelect">' + cartAdditionalSelectText + '</div>' +
|
||||
'<button class="productDetailInfo__count__amountDelete"><span class="visually-hidden">삭제</span></button>' +
|
||||
'</div>' +
|
||||
'<div class="productDetailInfo__count__amountBottom">' +
|
||||
'<div class="productDetailInfo__count__amountCounter">' +
|
||||
'<button class="productDetailInfo__count__amountBtn minus"><span class="visually-hidden">감소</span></button>' +
|
||||
'<span class="productDetailInfo__count__amountNumber">1</span>' +
|
||||
'<button class="productDetailInfo__count__amountBtn plus"><span class="visually-hidden">추가</span></button>' +
|
||||
'</div>' +
|
||||
'<div class="productDetailInfo__count__amountPriceBox">' +
|
||||
'<span class="productDetailInfo__count__amountMonthlyPrice">' + $goodsOptnInfo + '</span>' +
|
||||
'<span class="productDetailInfo__count__amountPrice"><span class="comma productDetailInfo__count__priceNum">' + $priceNum +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'</div>'
|
||||
);
|
||||
}
|
||||
updateCartCounters(); // 화면에 상품 정보 업데이트
|
||||
|
||||
});
|
||||
|
||||
// 추가구성옵션
|
||||
$("#cartMoreItemsSelect").on("change",'select', function () {
|
||||
var $moreItems = $('#cartMoreItemsSelect').find(".productDetailInfo__additionalSelect__item");
|
||||
const $optInfoOptn3 = $(this).closest(".productDetailInfo__additionalSelect__item").find(".option.selected").attr("data-value").split('|');
|
||||
const $priceNumOptn3 = $optInfoOptn3[0];
|
||||
const $goodsOptnInnbOptn3 = $optInfoOptn3[1];
|
||||
const $goodsOptnInfoOptn3 = $optInfoOptn3[2];
|
||||
const $goodsOptnTyOptn3 = $optInfoOptn3[3];
|
||||
const $optnEssnlAtOptn3 = $(this).closest(".productDetailInfo__additionalSelect__item").find('input[name="productDetailInfo__additionalSelect__otpnEssntlAt__relate__added"]').val();
|
||||
|
||||
// $moreItems.each(function () {
|
||||
// if ($(this).find('.option.selected.disabled').length > 0) return;
|
||||
var $title = $moreItems.find(".option.selected").text().replace(' ','').trim().replace('선택', ' ').replace(/\(\+.*?\)/g, '');
|
||||
var $priceNum = $(this).find(".option.selected").attr("data-value");
|
||||
|
||||
//이미 추가된 상품인지 확인
|
||||
var isItemAlreadyAdded = productArr.some(function (item) {
|
||||
return item[4] === $goodsOptnInnbOptn3;
|
||||
});
|
||||
if (isItemAlreadyAdded){
|
||||
fn_goods_duplicate_select_modal()
|
||||
return;
|
||||
}
|
||||
|
||||
productArr.push([$title, 1, $priceNumOptn3, $priceNumOptn3 * 1, $goodsOptnInnbOptn3, $goodsOptnTyOptn3, $optnEssnlAtOptn3]); // 배열에 상품 정보 추가
|
||||
$('#cartCountContainer').append( // 화면에 상품 정보 추가
|
||||
'<div class="productDetailInfo__count">' +
|
||||
'<div class="productDetailInfo__count__amountTop">' +
|
||||
'<span class="productDetailInfo__count__amountTitle">' + $title + '</span>' +
|
||||
'<button class="productDetailInfo__count__amountDelete"><span class="visually-hidden">삭제</span></button>' +
|
||||
'</div>' +
|
||||
'<div class="productDetailInfo__count__amountBottom">' +
|
||||
'<div class="productDetailInfo__count__amountCounter">' +
|
||||
'<button class="productDetailInfo__count__amountBtn minus"><span class="visually-hidden">감소</span></button>' +
|
||||
'<span class="productDetailInfo__count__amountNumber">1</span>' +
|
||||
'<button class="productDetailInfo__count__amountBtn plus"><span class="visually-hidden">추가</span></button>' +
|
||||
'</div>' +
|
||||
'<div class="productDetailInfo__count__amountPriceBox">' +
|
||||
'<span class="productDetailInfo__count__amountMonthlyPrice">'+$goodsOptnInfoOptn3+'</span>' +
|
||||
'<span class="productDetailInfo__count__amountPrice"><span class="comma productDetailInfo__count__priceNum">' + $priceNum +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'</div>'
|
||||
);
|
||||
|
||||
$(this).val('').niceSelect('update')
|
||||
updateCartCounters(); // 화면에 상품 정보 업데이트
|
||||
// });
|
||||
});
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
<div id="option-change-popUp" class="modal option">
|
||||
<div class="option-header">
|
||||
<div class="option-header__title">옵션 선택</div>
|
||||
<input type="hidden" id="addCartGoodsInnb" value="${resultMap.goodsDtl.goodsInnb}"/>
|
||||
<input type="hidden" id="sopmalCd" value="${resultMap.goodsDtl.sopmalCd}"/>
|
||||
<input type="hidden" id="addCartGoodsNm" value="${resultMap.goodsDtl.goodsNm}"/>
|
||||
<input type="hidden" id="slepricDscntAmt" value="${resultMap.goodsDtl.slepric}"/>
|
||||
|
||||
<c:forEach var="cardDv" items="${resultMap.cartDvList}">
|
||||
<input type="hidden" value="${cardDv.cd}" id="cartDv-${cardDv.cdNm}"/>
|
||||
</c:forEach>
|
||||
</div>
|
||||
<div class="option-content">
|
||||
<div class="product-unit product-unit--relatedProduct">
|
||||
<div class="product-unit-image">
|
||||
<a href="javascript:void(0);" onclick="fn_move_goods_dtl('<c:out value="${resultMap.goodsDtl.goodsInnb}"/>');">
|
||||
<spring:eval expression="@environment.getProperty('sopmalfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
||||
<img src="<c:out value="${cdnurl}${fn:split(resultMap.goodsDtl.img, '|')[0]}"/> " onerror="this.src='/pc/images/image_placeholder.png'" alt="상품 이미지">
|
||||
</a>
|
||||
</div>
|
||||
<div class="product-unit-info">
|
||||
<div class="product-unit-info__inner">
|
||||
<div class="product-unit-title">
|
||||
<a href="javascript:void(0);" onclick="fn_move_goods_dtl('<c:out value="${resultMap.goodsDtl.goodsInnb}"/>');"><c:out value="${resultMap.goodsDtl.goodsNm}"/></a>
|
||||
</div>
|
||||
<div class="product-unit-price">
|
||||
<div class="product-unit-price__price">
|
||||
<span class="product-unit-price__original">
|
||||
<span class="comma">
|
||||
<fmt:formatNumber value="${resultMap.goodsDtl.cnsmrpric}"/></span>
|
||||
<span class="priceUnit"></span>
|
||||
</span>
|
||||
<span class="product-unit-price__current">
|
||||
<span class="comma"> <fmt:formatNumber value="${resultMap.goodsDtl.slepric - resultMap.goodsDtl.evtAditDscntAmt}"/></span>
|
||||
<span class="priceUnit">원</span></span>
|
||||
</div>
|
||||
<div class="product-unit-price__sale">
|
||||
<span class="percent">
|
||||
<c:choose>
|
||||
<c:when test="${resultMap.goodsDtl.eventAt eq 'Y'}">
|
||||
<c:out value="${resultMap.goodsDtl.evtSlePercent}"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:out value="${resultMap.goodsDtl.slePercent}"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
%</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<c:if test="${resultMap.goodsDtl.goodsSttusCd ne '02' or resultMap.goodsDtl.goodsSttusCd ne '03'}">
|
||||
<c:choose>
|
||||
<c:when test="${not empty resultMap.optnList}">
|
||||
<c:if test="${not empty resultMap.optnList.normalOptnList}">
|
||||
<div class="productDetailInfo__option">
|
||||
<div class="productDetailInfo__option__box">
|
||||
<c:forEach var="goodsOpt01" items="${resultMap.optnList.normalOptnList}" varStatus="optList01">
|
||||
<c:if test="${goodsOpt01.optnExpsrAt eq 'Y'}">
|
||||
<c:if test="${goodsOpt01.invntrySldoutExpsrAt eq 'Y'}">
|
||||
<div class="productDetailInfo__option__item">
|
||||
<c:if test="${not empty goodsOpt01.optnVal1}">
|
||||
<div class="custom-radio is-medium">
|
||||
<input type="radio" id="r-${goodsOpt01.optnOrdr}" value="${goodsOpt01.optnVal1}" name="r-group01" <c:if test="${goodsOpt01.disableAt eq 'Y'}"> disabled</c:if>>
|
||||
<label for="r-${goodsOpt01.optnOrdr}">${goodsOpt01.optnVal1}</label>
|
||||
<input type="hidden" name="optnCd" value="${goodsOpt01.optnCd1}">
|
||||
<input type="hidden" name="goodsOptnInnb" value="${goodsOpt01.goodsOptnInnb}"/>
|
||||
<input type="hidden" name="goodsOptnTy" value="${goodsOpt01.optnTy}"/>
|
||||
<input type="hidden" name="goodsSopmalCd" value="${goodsOpt01.sopmalCd}"/>
|
||||
<c:if test="${goodsOpt01.disableAt eq 'Y'}"> <span>(품절)</span></c:if>
|
||||
</div>
|
||||
<div class="productDetailInfo__option__right">
|
||||
<span class="productDetailInfo__option__price"><span class="comma"><fmt:formatNumber value="${goodsOpt01.slepric}"/></span> <span class="priceUnit"> 원</span></span>
|
||||
<span class="productDetailInfo__option__monthly-payment"><c:out value="${goodsOpt01.optnInfo}"/></span>
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
</c:if>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${not empty resultMap.optnList.invntryOptnList}">
|
||||
<div class="productDetailInfo__additionalSelect" id="cartAdditionalSelect">
|
||||
<span class="productDetailInfo__option__title">옵션선택(필수)</span>
|
||||
<div class="productDetailInfo__additionalSelect__inner">
|
||||
<div class="productDetailInfo__additionalSelect__item">
|
||||
<c:if test="${not empty resultMap.optnList.invntryOptnList[0].optnNm1}">
|
||||
<span class="productDetailInfo__additionalSelect__category"><c:out value="${resultMap.optnList.invntryOptnList[0].optnNm1}"/> </span>
|
||||
<div class="select-box-addCart">
|
||||
<select id="selectAddCartInvntryOptn1" name="selectAddCartInvntryOptn">
|
||||
<option value="" disabled selected><c:out value="선택"/></option>
|
||||
<c:forEach var="goodsOpt02" items="${resultMap.optnList.invntryOptnList}" varStatus="optList02">
|
||||
<c:if test="${goodsOpt02.optnExpsrAt eq 'Y'}">
|
||||
<c:if test="${goodsOpt02.invntrySldoutExpsrAt eq 'Y'}">
|
||||
<c:if test="${goodsOpt02.optnVal1 ne resultMap.optnList.invntryOptnList[optList02.index-1].optnVal1}">
|
||||
<option value="${goodsOpt02.slepric}|${goodsOpt02.goodsOptnInnb}|${goodsOpt02.optnInfo}|${goodsOpt02.optnTy}" <c:if test="${goodsOpt02.disableAt eq 'Y'}"> disabled </c:if> >
|
||||
<c:out value="${goodsOpt02.optnVal1}"/>
|
||||
</option>
|
||||
</c:if>
|
||||
</c:if>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="productDetailInfo__additionalSelect__item">
|
||||
<c:if test="${not empty resultMap.optnList.invntryOptnList[0].optnNm2}">
|
||||
<span class="productDetailInfo__additionalSelect__category"><c:out value="${resultMap.optnList.invntryOptnList[0].optnNm2}"/> </span>
|
||||
<div class="select-box-addCart">
|
||||
<select id="selectAddCartInvntryOptn2" name="selectAddCartInvntryOptn">
|
||||
<option value="" disabled selected><c:out value="선택"/></option>
|
||||
</select>
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="productDetailInfo__additionalSelect__item">
|
||||
<c:if test="${not empty resultMap.optnList.invntryOptnList[0].optnNm3}">
|
||||
<span class="productDetailInfo__additionalSelect__category"><c:out value="${resultMap.optnList.invntryOptnList[0].optnNm3}"/> </span>
|
||||
<div class="select-box-addCart">
|
||||
<select id="selectAddCartInvntryOptn3" name="selectAddCartInvntryOptn">
|
||||
<option value="" disabled selected><c:out value="선택"/></option>
|
||||
</select>
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="productDetailInfo__additionalSelect__item">
|
||||
<c:if test="${not empty resultMap.optnList.invntryOptnList[0].optnNm4}">
|
||||
<span class="productDetailInfo__additionalSelect__category"><c:out value="${resultMap.optnList.invntryOptnList[0].optnNm4}"/> </span>
|
||||
<div class="select-box-addCart">
|
||||
<select id="selectAddCartInvntryOptn4" name="selectAddCartInvntryOptn">
|
||||
<option value="" disabled selected><c:out value="선택"/></option>
|
||||
</select>
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${not empty resultMap.optnList.addedOptnList}">
|
||||
<div class="productDetailInfo__additionalSelect" id="cartMoreItemsSelect">
|
||||
<span class="productDetailInfo__additionalSelect__title">추가구성</span>
|
||||
<div class="productDetailInfo__additionalSelect__inner">
|
||||
<c:forEach var="goodsOpt03" items="${resultMap.optnList.addedOptnList}" varStatus="optList03">
|
||||
<c:if test="${not empty goodsOpt03.optnNm1}">
|
||||
<c:if test="${resultMap.optnList.addedOptnList[optList03.index-1].optnNm1 ne goodsOpt03.optnNm1}">
|
||||
<div class="productDetailInfo__additionalSelect__item">
|
||||
<span class="productDetailInfo__additionalSelect__category"><c:out value="${goodsOpt03.optnNm1}"/> </span>
|
||||
<input type="hidden" name="productDetailInfo__additionalSelect__otpnEssntlAt__relate__added" <c:if test="${goodsOpt03.optnEssntlAt eq 'Y'}"> value="Y"</c:if>/>
|
||||
</c:if>
|
||||
<c:if test="${resultMap.optnList.addedOptnList[optList03.index-1].optnNm1 ne goodsOpt03.optnNm1}">
|
||||
<div class="select-box-addCart">
|
||||
<select title="${goodsOpt03.OptnInfo}" name="selectRelateAddedOptn">
|
||||
<option value="" disabled selected><c:out value="선택"/></option>
|
||||
<c:forEach var="goodsOptVal03" items="${resultMap.optnList.addedOptnList}" varStatus="optVal03">
|
||||
<c:if test="${goodsOptVal03.optnNm1 eq goodsOpt03.optnNm1}">
|
||||
<c:if test="${goodsOptVal03.optnExpsrAt eq 'Y'}">
|
||||
<c:if test="${goodsOptVal03.invntrySldoutExpsrAt eq 'Y'}">
|
||||
<option value="${goodsOptVal03.slepric}|${goodsOptVal03.goodsOptnInnb}|${goodsOptVal03.optnInfo}|${goodsOptVal03.optnTy} " <c:if test="${goodsOptVal03.disableAt eq 'Y'}"> disabled</c:if> ><c:out value="${goodsOptVal03.optnVal1}"/> (+ <fmt:formatNumber value="${goodsOptVal03.slepric}"/>) <c:if test="${goodsOptVal03.disableAt eq 'Y'}"> <c:out value="(품절)"/> </c:if> </option>
|
||||
</c:if>
|
||||
</c:if>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
<%-- <div class="productDetailInfo__confirmOption">--%>
|
||||
<%-- <button class="btn md outline" id="cartMoreItemsButton">입력한 정보 선택</button>--%>
|
||||
<%-- </div>--%>
|
||||
<%--TODO :: 입력옵션 --%>
|
||||
|
||||
<%-- <div class="productDetailInfo__option">--%>
|
||||
<%-- <span class="productDetailInfo__option__title">상품정보 입력</span>--%>
|
||||
<%-- <div class="productDetailInfo__additionalSelect__inner">--%>
|
||||
<%-- <div class="productDetailInfo__additionalSelect__item">--%>
|
||||
<%-- <span class="productDetailInfo__additionalSelect__category">각인 옵션</span>--%>
|
||||
<%-- <input id="cartAddTextInput" class="input-text full" type="text" title="해당 인풋에 대한 설명"--%>
|
||||
<%-- placeholder="각인 문구를 입력해주세요" value="">--%>
|
||||
<%-- <button id="cartAddTextBtn" class="btn outline">저장</button>--%>
|
||||
<%-- </div>--%>
|
||||
<%-- </div>--%>
|
||||
<%-- </div>--%>
|
||||
<div id="cartCountContainer">
|
||||
</div>
|
||||
</div>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<%--옵션 없을 경우 빈값--%>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:if>
|
||||
<div class="product-total__container">
|
||||
<span class="product-total__text">총 상품금액</span>
|
||||
<span class="product-total__price">
|
||||
<span class="product-total__price__totalPriceNum">0</span>
|
||||
<span class="won">원</span>
|
||||
</span>
|
||||
</div>
|
||||
<c:choose>
|
||||
<c:when test="${resultMap.goodsDtl.buttonRplcWordsUseAt ne 'Y'}">
|
||||
<div class="product-btn-container">
|
||||
<button class="btn theme large addCart">장바구니 담기</button>
|
||||
</div>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<div class="product-btn-container">
|
||||
<a href="${resultMap.goodsDtl.pcButtonRplcLink}"
|
||||
<c:if test="${resultMap.goodsDtl.buttonRplcLinkBrwsrDvCd eq '01'}"> target="_blank" </c:if> >
|
||||
<span> <c:out value="${resultMap.goodsDtl.buttonRplcWords}"/> </span>
|
||||
</a>
|
||||
</div>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
125
src/main/webapp/WEB-INF/views/sopmal/mpage/ordr/IndvdlSetleR.jsp
Normal file
125
src/main/webapp/WEB-INF/views/sopmal/mpage/ordr/IndvdlSetleR.jsp
Normal file
@@ -0,0 +1,125 @@
|
||||
<%@ 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 : IndvdlSetleR.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 --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/Include.jsp"/>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
fn_init();
|
||||
|
||||
fn_event();
|
||||
});
|
||||
|
||||
/* ********************************************************
|
||||
* 초기 설정
|
||||
**********************************************************/
|
||||
const fn_init = function() {
|
||||
fn_get_indvdi_setle_list(1);
|
||||
}
|
||||
|
||||
/* ********************************************************
|
||||
* 이벤트 설정
|
||||
**********************************************************/
|
||||
const fn_event = function() {
|
||||
}
|
||||
|
||||
/* ********************************************************
|
||||
* function
|
||||
**********************************************************/
|
||||
/* 개인결제 목록 조회 */
|
||||
const fn_get_indvdi_setle_list = function(index) {
|
||||
if (!fn_is_empty(index)) {
|
||||
$('#pageIndex').val(index);
|
||||
}
|
||||
|
||||
let data = $('#condForm').serialize();
|
||||
|
||||
$.ajax({
|
||||
type : 'post',
|
||||
url : '<c:url value="/sopmal/mpage/ordr/selectIndvdlSetleInqireAjax"/>',
|
||||
data : data,
|
||||
success : function(html) {
|
||||
$('#pageDiv').html(html);
|
||||
},
|
||||
error: function(data) {
|
||||
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
|
||||
|
||||
alert(message.errorMsg);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/* 개인결제 등록 화면 이동 */
|
||||
const fn_go_indvdl_setle_form = function(sopmalCd, ordrInnb, mbrInnb, mbrId, mbrDvCd) {
|
||||
const form = $('<form></form>');
|
||||
|
||||
$(form).append($('<input/>', {type:'hidden', name:'sopmalCd', value:sopmalCd}));
|
||||
$(form).append($('<input/>', {type:'hidden', name:'ordrInnb', value:ordrInnb}));
|
||||
$(form).append($('<input/>', {type:'hidden', name:'mbrInnb', value:mbrInnb}));
|
||||
$(form).append($('<input/>', {type:'hidden', name:'mbrId', value:mbrId}));
|
||||
$(form).append($('<input/>', {type:'hidden', name:'mbrDvCd', value:mbrDvCd}));
|
||||
|
||||
$(form).attr('method', 'post');
|
||||
$(form).attr('action', '<c:url value="/sopmal/ordr/selectIndvdlSetleForm"/>');
|
||||
|
||||
$(form).appendTo('body');
|
||||
$(form).submit();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<%-- 공통 Header --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/Header.jsp"/>
|
||||
|
||||
<!-- 메인 컨텐츠 영역 -->
|
||||
<main>
|
||||
<div class="sub-wrapper">
|
||||
<div class="sub-content">
|
||||
<div class="sub-rl">
|
||||
<%-- 마이페이지 Left 영역 --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/mpage/MypageLeft.jsp"/>
|
||||
|
||||
<div class="sub-right-content">
|
||||
<%-- 마이페이지 Right 영역 --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/mpage/MypageRight.jsp"/>
|
||||
|
||||
<div class="sub-right-content__section">
|
||||
<h3 class="sub-right-content__title">개인결제</h3>
|
||||
<form id="condForm">
|
||||
<input type="hidden" name="pageIndex" id="pageIndex" value="1">
|
||||
<input type="hidden" name="pageUnit" id="pageUnit" value="4"/>
|
||||
</form>
|
||||
<div id="pageDiv"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<%-- 공통 Footer --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/Footer.jsp"/>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,43 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||||
|
||||
<div class="personalPayment">
|
||||
<c:choose>
|
||||
<c:when test="${not empty data.resultList}">
|
||||
<c:forEach var="setle" items="${data.resultList}">
|
||||
<div class="product-unit">
|
||||
<div class="product-unit-image">
|
||||
<a href="javascript:void(0);" onclick="fn_go_indvdl_setle_form('<c:out value="${setle.sopmalCd}"/>', '<c:out value="${setle.ordrInnb}"/>', '<c:out value="${setle.mbrInnb}"/>', '<c:out value="${setle.mbrId}"/>', '<c:out value="${setle.mbrDvCd}"/>');">
|
||||
<img src="<c:url value="/pc/images/개인결제이미지.png"/>" alt="개인결제">
|
||||
</a>
|
||||
</div>
|
||||
<div class="product-unit-info">
|
||||
<div class="product-unit-info__inner">
|
||||
<span class="product-unit-price__current"><c:out value="${setle.indvdlSetleSj}"/></span>
|
||||
<div class="product-unit-price">
|
||||
<div class="product-unit-price__price">
|
||||
<span class="product-unit-price__current"><c:out value="${setle.setleAmt}"/>원</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="personalPayment__period"><c:out value="${setle.indvdlSetleValidDe}"/>까지</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<div class="personalPayment__no-result">
|
||||
<img src="/pc/images/icon__no-result.png" alt="">
|
||||
<p class="personalPayment__no-result-text">개인결제내역이 없습니다.</p>
|
||||
</div>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
<div class="pagination__container" style="margin-top: 20px">
|
||||
<ui:pagination paginationInfo="${data.paginationInfo}" type="image" jsFunction="fn_get_indvdi_setle_list"/>
|
||||
</div>
|
||||
1700
src/main/webapp/WEB-INF/views/sopmal/mpage/ordr/NmbrOrdrDtlR.jsp
Normal file
1700
src/main/webapp/WEB-INF/views/sopmal/mpage/ordr/NmbrOrdrDtlR.jsp
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,794 @@
|
||||
<%@ 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 : WslistInqireRForm.jsp
|
||||
Description : 마이페이지 위시리스트
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-02-27 추지훈 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
|
||||
|
||||
<%-- 공통 include --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/Include.jsp"/>
|
||||
</head>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
|
||||
fn_start_display();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/******************************************************************
|
||||
* 시작 화면 제어
|
||||
******************************************************************/
|
||||
const fn_start_display = function() {
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
/*********************************************************************
|
||||
* 반품 주소 변경
|
||||
* *******************************************************************/
|
||||
const fn_update_dlvy_info = function () {
|
||||
|
||||
const data = $('#returnDlvyUpdtForm').serializeArray();
|
||||
|
||||
|
||||
if (confirm('반품 배송지 정보를 <spring:message code="confirm.common.update"/>')) {
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '<c:url value="/sopmal/nmbr/ordr/updateRtngudCanclRefndUpdt"/>',
|
||||
data: data,
|
||||
success: function (result) {
|
||||
|
||||
alert('<spring:message code="success.common.update"/>');
|
||||
location.reload();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
* 환불 계좌 정보 변경
|
||||
* *******************************************************************/
|
||||
const fn_update_acnt_info = function () {
|
||||
|
||||
const data = $('#refundAcntUpdtForm').serialize();
|
||||
|
||||
if (confirm('환불 계좌 정보를 <spring:message code="confirm.common.update"/>')) {
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '<c:url value="/sopmal/nmbr/ordr/updateRtngudCanclRefndUpdt"/>',
|
||||
data: data,
|
||||
success: function (result) {
|
||||
|
||||
alert('<spring:message code="success.common.update"/>');
|
||||
location.reload();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* ********************************************************
|
||||
* 우편번호 찾기
|
||||
******************************************************** */
|
||||
const fn_set_postcode = function(data) {
|
||||
|
||||
$('#postcode').val(data.postcode);
|
||||
$('#adresDvCd').val(data.addressType);
|
||||
if (data.addressType == '02') {
|
||||
$('#address').val(data.jibunAddress);
|
||||
} else if (data.addressType == '01') {
|
||||
$('#address').val(data.roadAddress);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 반품 상품 QNA 문의 팝업
|
||||
* @param goodsInnb
|
||||
*/
|
||||
const fn_goods_qna_pop_regist = (goodsInnb) => {
|
||||
$.ajax({
|
||||
type: "post",
|
||||
data: {
|
||||
authDv: "REGIST",
|
||||
reqUrl: "modal",
|
||||
bbsId: "goods_qna",
|
||||
goodsInnb: goodsInnb,
|
||||
listAt: "list",
|
||||
},
|
||||
url: "/sopmal/csc/selectBbscttAuth",
|
||||
success: function (data) {
|
||||
/*모달중복제거*/
|
||||
fn_close_modal("qna-pop-regist");
|
||||
fn_close_modal("qna-update-pop");
|
||||
$("#modalDiv").html(data);
|
||||
$("#qna-pop-regist").modal();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<body>
|
||||
|
||||
<%-- 공통 Header --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/Header.jsp"/>
|
||||
|
||||
<!-- 메인 컨텐츠 영역 -->
|
||||
<main>
|
||||
<div class="sub-wrapper">
|
||||
<div class="sub-content">
|
||||
<div class="sub-rl">
|
||||
<spring:eval expression="@environment.getProperty('sopmalfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
||||
<%-- 마이페이지 Left 영역 --%>
|
||||
<div class="sub-right-content">
|
||||
<div class="sub-right-content__section">
|
||||
<h3 class="sub-right-content__title"><c:if test = "${not empty resultMap.result.refnd.returnProcsSttusCd}">반품/</c:if>환불 내역</h3>
|
||||
<div class="sub-right-content__section">
|
||||
<h3 class="orderDetail__title"><c:out value="${ resultMap.result.refnd.registDt }"/>
|
||||
<span class="orderDetail__titleNum">
|
||||
<c:choose>
|
||||
<c:when test = "${not empty resultMap.result.refnd.returnProcsSttusCd}">
|
||||
반품번호
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
환불번호
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<c:out value="${ resultMap.result.refnd.orderRefundInnb }"/>
|
||||
</span>
|
||||
</h3>
|
||||
<div class="cartOrder__list">
|
||||
<div class="table-wrapper">
|
||||
<table class="table vertical">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: auto;">
|
||||
<col style="width: 40px;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 7%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>상품명</th>
|
||||
<th>수량</th>
|
||||
<th>상품금액</th>
|
||||
<th>할인금액</th>
|
||||
<th>할인적용금액</th>
|
||||
<th>환불신청수량</th>
|
||||
<th>배송비</th>
|
||||
<th>문의</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:set var="rePreOrdrDlvyInnb" value="0"/>
|
||||
<c:set var="reDlvyCnt" value="1"/>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.result.itemsList }">
|
||||
<c:forEach var="refundList" items="${ resultMap.result.itemsList }" varStatus="status">
|
||||
<tr>
|
||||
<td>
|
||||
<div class="cartItem">
|
||||
<div class="cartItem__image">
|
||||
<%--
|
||||
<a href="">
|
||||
<img src="<c:out value="${ refundList.img }"/>" alt="상품이미지">
|
||||
</a>
|
||||
--%>
|
||||
<a class="orderList__image">
|
||||
<img src="<c:out value="${ cdnurl }"/><c:out value="${ refundList.img }"/>" onerror="this.src='/pc/images/image_placeholder.png'" alt="<c:out value="${refundList.goodsNm}"/>">
|
||||
</a>
|
||||
</div>
|
||||
<div class="cartItem__productInfo">
|
||||
<a class="cartItem__productTitle">
|
||||
<c:out value="${ refundList.goodsNm }"/>
|
||||
</a>
|
||||
<c:if test="${ not empty refundList.optnNm }">
|
||||
<span class="cartItem__productOption">
|
||||
<span class="option-badge">옵션</span>
|
||||
<c:out value="${ refundList.optnNm }"/>
|
||||
</span>
|
||||
</c:if>
|
||||
(<c:out value="${ refundList.dlvylcZip }"/>)
|
||||
<c:choose>
|
||||
<c:when test="${ refundList.dlvylcAdresDvCd eq '01' }">
|
||||
<c:out value="${ refundList.dlvylcRnmAdres }"/>
|
||||
</c:when>
|
||||
<c:when test="${ refundList.dlvylcAdresDvCd eq '02' }">
|
||||
<c:out value="${ refundList.dlvylcLnbAdres }"/>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<c:out value="${ refundList.dlvylAdresDtl }"/>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<span><c:out value="${ refundList.ordrQy }"/></span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="cartItem__normalPrice"><span
|
||||
class=" comma"><c:out value="${ refundList.slepric }"/></span><span
|
||||
class="priceUnit">원</span>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="cartItem__discountPrice"><span
|
||||
class="cartItem__discountMinus">(-)</span><span
|
||||
class="comma"><c:out value="${ refundList.dscntAmt }"/></span><span
|
||||
class="priceUnit">원</span>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="cartItem__afterPrice"><span
|
||||
class="comma"><c:out value="${ refundList.applyDscntAmt }"/></span>
|
||||
<span class="priceUnit">원</span>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<span><c:out value="${ refundList.refundQy }"/></span>
|
||||
</td>
|
||||
<c:choose>
|
||||
<c:when test="${ refundList.ordrTyCd eq '04' || refundList.ordrTyCd eq '05' }">
|
||||
<c:set var="reRowspanCnt" value="0"/>
|
||||
<c:forEach var="tmpGoods" items="${resultMap.result.itemsList}">
|
||||
<c:set var="reRowspanCnt" value="${refundList.ordrDlvyInnb == tmpGoods.ordrDlvyInnb ? reRowspanCnt + 1 : reRowspanCnt}"/>
|
||||
</c:forEach>
|
||||
<c:if test="${rePreOrdrDlvyInnb != refundList.ordrDlvyInnb}">
|
||||
<td class="center" rowspan="${reRowspanCnt}">
|
||||
<span class="fs-13 fw-400">${reDlvyCnt += ' 번째 배송지'}</span><br>
|
||||
<span class="fs-13 fw-400">${refundList.dlvyMthNm}</span><br>
|
||||
<c:choose>
|
||||
<c:when test="${0 == refundList.dlvyAmt}">
|
||||
<span class="fs-13 fw-400">무료</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<span class="fs-13 fw-400"><fmt:formatNumber value="${refundList.dlvyAmt}" pattern="#,###"/></span>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
<c:set var="rePreOrdrDlvyInnb" value="${refundList.ordrDlvyInnb}"/>
|
||||
<c:set var="reDlvyCnt" value="${reDlvyCnt + 1}"/>
|
||||
</c:if>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<td class="center">
|
||||
<span class="fs-13 fw-400">${refundList.dlvyMthNm}</span><br>
|
||||
<c:choose>
|
||||
<c:when test="${0 == refundList.dlvyAmt}">
|
||||
<span class="fs-13 fw-400">무료</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<span class="fs-13 fw-400"><fmt:formatNumber value="${refundList.dlvyAmt}" pattern="#,###"/></span>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<td>
|
||||
<button type="button" class="btn sm gray2 sub-right-content__innerTitleBtn" onclick="fn_goods_qna_pop_regist('<c:out value="${ refundList.goodsInnb }"/>')">문의</button>
|
||||
</td>
|
||||
<%---
|
||||
<td>
|
||||
<span class="cartItem__shippingFee"><span
|
||||
class=" comma">3,000</span><span
|
||||
class="priceUnit">원</span>
|
||||
</span>
|
||||
</td>
|
||||
--%>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr class="row-no-data">
|
||||
<td colspan="100%" class="text-center">조회된 데이터가 없습니다.</td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
<tfoot class="refundSum">
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-right-content__section">
|
||||
<h3 class="sub-right-content__innerTitle"><c:if test = "${not empty resultMap.result.refnd.returnProcsSttusCd}">반품/</c:if>환불 처리</h3>
|
||||
<div class="table-wrapper orderDetail__table">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th><c:if test = "${not empty resultMap.result.refnd.returnProcsSttusCd}">반품/</c:if>환불 상태</th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.result.refnd.returnProcsSttusCd }">
|
||||
<c:out value="${ resultMap.result.refnd.returnProcsSttusCdNm }"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:out value="${ resultMap.result.refnd.refundProcsSttusCdNm }"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><c:if test = "${not empty resultMap.result.refnd.returnProcsSttusCd}">반품/</c:if>환불 번호</th>
|
||||
<td><c:out value="${ resultMap.result.refnd.orderRefundInnb }"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>환불 종류</th>
|
||||
<td><c:out value="${ resultMap.result.refnd.refundTyCdNm }"/></td>
|
||||
</tr>
|
||||
<c:if test = "${not empty resultMap.result.refnd.returnProcsSttusCd}">
|
||||
<tr>
|
||||
<th>반품 접수일</th>
|
||||
<td><c:out value="${ resultMap.result.refnd.returnRceptDt }"/></td>
|
||||
</tr>
|
||||
</c:if>
|
||||
<tr>
|
||||
<th>환불 접수일</th>
|
||||
<td><c:out value="${ resultMap.result.refnd.refundReqstDt }"/></td>
|
||||
</tr>
|
||||
<c:if test = "${not empty resultMap.result.refnd.returnComptDt}">
|
||||
<tr>
|
||||
<th>반품 완료일</th>
|
||||
<td><c:out value="${ resultMap.result.refnd.returnComptDt }"/></td>
|
||||
</tr>
|
||||
</c:if>
|
||||
<c:if test = "${not empty resultMap.result.refnd.refundComptDt}">
|
||||
<tr>
|
||||
<th>환불 완료일</th>
|
||||
<td><c:out value="${ resultMap.result.refnd.refundComptDt }"/></td>
|
||||
</tr>
|
||||
</c:if>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<c:if test="${ not empty resultMap.result.refnd.returnRceptDt }">
|
||||
<div class="sub-right-content__section">
|
||||
<h3 class="sub-right-content__innerTitle">반품정보
|
||||
<c:if test="${ resultMap.result.refnd.returnProcsSttusCd eq '01' }">
|
||||
<button id="returnInfoTrigger" class="btn sm gray2 sub-right-content__innerTitleBtn" onclick="fn_update_dlvy_info();">변경</button>
|
||||
</c:if>
|
||||
</h3>
|
||||
<form id="returnDlvyUpdtForm">
|
||||
<input type="hidden" name="orderReInnb" value="<c:out value="${ resultMap.result.refnd.orderRefundInnb }"/>"/>
|
||||
<div id="returnInfoContent01" class="table-wrapper orderDetail__table">
|
||||
<c:choose>
|
||||
<c:when test="${ resultMap.result.refnd.returnProcsSttusCd eq '01' }">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">회수방법</span>
|
||||
</th>
|
||||
<td>
|
||||
<div class="select-box">
|
||||
<select class="lg" title="해당 셀렉트에 대한 설명" name="returnMthCd">
|
||||
<option value="" disabled selected>선택</option>
|
||||
<c:forEach var="cdList" items="${ resultMap.returnMthCdList }" varStatus="status">
|
||||
<c:choose>
|
||||
<c:when test="${ resultMap.result.refnd.returnMthCd eq cdList.cd }">
|
||||
<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>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="editAccount__title">주소</span>
|
||||
</th>
|
||||
<td>
|
||||
<div class="inputAddress">
|
||||
<div class="inputAddress__postalCode">
|
||||
<input class="input-text" type="text" id="postcode" name="zip" title="우편번호" value="<c:out value="${ resultMap.result.refnd.senderZip }"/>" placeholder="우편번호" readonly>
|
||||
<button type="button" onclick="fn_select_postcode(fn_set_postcode); return false;" class="btn md theme outline">
|
||||
우편번호 찾기
|
||||
</button>
|
||||
</div>
|
||||
<input type="hidden" id="adresDvCd" name="adresDvCd" value="<c:out value="${ resultMap.result.refnd.senderAdresDvCd }"/>"/>
|
||||
<input class="input-text full" type="text" id="address" name="lnbOrRnmAdres"
|
||||
<c:choose>
|
||||
<c:when test="${ resultMap.result.refnd.senderAdresDvCd eq '01' }">
|
||||
value="<c:out value="${ resultMap.result.refnd.senderRnmAdres }"/>"
|
||||
</c:when>
|
||||
<c:when test="${ resultMap.result.refnd.senderAdresDvCd eq '02' }">
|
||||
value="<c:out value="${ resultMap.result.refnd.senderLnbAdres }"/>"
|
||||
</c:when>
|
||||
</c:choose>
|
||||
readonly title="지번 주소" placeholder="지번 주소">
|
||||
<input class="input-text full" type="text" id="detailAddress" name="dtlAdres" value="<c:out value="${ resultMap.result.refnd.senderAdresDtl }"/>" title="상세 주소" placeholder="상세 주소">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">휴대폰 번호</span>
|
||||
</th>
|
||||
<td>
|
||||
<input class="input-text" type="text" title="해당 인풋에 대한 설명" value="<c:out value="${ resultMap.result.refnd.returnCstmrMbtlnb }"/>" name="returnCstmrMbtlnb" oninput="fn_fmt_telno($(this));" maxlength="13"
|
||||
placeholder="">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">반품 사유</span>
|
||||
</th>
|
||||
<td>
|
||||
<div class="select-box">
|
||||
<select class="lg" title="해당 셀렉트에 대한 설명" name="returnResnCd">
|
||||
<c:forEach var="returnResn" items="${resultMap.returnResnList}">
|
||||
<c:choose>
|
||||
<c:when test="${ returnResn.cd eq resultMap.result.refnd.returnResnCd }">
|
||||
<option value="<c:out value="${returnResn.cd}"/>" selected="selected"><c:out value="${returnResn.cdNm}"/></option>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<option value="<c:out value="${returnResn.cd}"/>"><c:out value="${returnResn.cdNm}"/></option>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">상세 사유</span>
|
||||
</th>
|
||||
<td>
|
||||
<textarea class="textarea" rows="6" title="해당 텍스트 에어리어에 대한 설명" name="returnResnCn"
|
||||
placeholder="최소 10자 이상으로 입력해 주세요."><c:out value="${ resultMap.result.refnd.returnResnCn }"/></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">회수방법</span>
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${ resultMap.result.refnd.returnMthCdNm }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">주소</span>
|
||||
</th>
|
||||
<td>
|
||||
<c:if test="${ not empty resultMap.result.refnd.senderZip }">
|
||||
(<c:out value="${ resultMap.result.refnd.senderZip }"/>)
|
||||
</c:if>
|
||||
<c:choose>
|
||||
<c:when test="${ resultMap.result.refnd.senderAdresDvCd eq '01'}">
|
||||
<c:out value="${ resultMap.result.refnd.senderRnmAdres }"/>
|
||||
</c:when>
|
||||
<c:when test="${ resultMap.result.refnd.senderAdresDvCd eq '02'}">
|
||||
<c:out value="${ resultMap.result.refnd.senderLnbAdres }"/>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<c:out value="${ resultMap.result.refnd.senderAdresDtl }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">휴대폰 번호</span>
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${ resultMap.result.refnd.returnCstmrMbtlnb }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">반품 사유</span>
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${ resultMap.result.refnd.returnResnCdNm }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">상세 사유</span>
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${ resultMap.result.refnd.returnResnCn }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">배송비 입금</span>
|
||||
</th>
|
||||
<td>
|
||||
<%--우리은행 1005-102-768159<br>(예금주: ㈜에스엘바이오텍)--%>
|
||||
<c:if test="${ not empty resultMap.result.refnd.returnDlvyRcpmnyAcntnb }">
|
||||
<c:out value="${ resultMap.result.refnd.returnDlvyRcpmnyAcntnb }"/><br>(예금주: <c:out value="${ resultMap.result.refnd.returnDlvyRcpmnyNm }"/>)
|
||||
</c:if>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</c:if>
|
||||
<div class="sub-right-content__section">
|
||||
<h3 class="sub-right-content__innerTitle">환불정보
|
||||
<c:if test="${ resultMap.result.refnd.refundProcsSttusCd ne '03' }">
|
||||
<button id="refundInfoTrigger" class="btn sm gray2 sub-right-content__innerTitleBtn" onclick="fn_update_acnt_info();">변경</button>
|
||||
</c:if>
|
||||
</h3>
|
||||
<form id="refundAcntUpdtForm">
|
||||
<input type="hidden" name="orderReInnb" value="<c:out value="${ resultMap.result.refnd.orderRefundInnb }"/>"/>
|
||||
<div id="refundInfoContent01" class="table-wrapper orderDetail__table">
|
||||
<c:choose>
|
||||
<c:when test="${ resultMap.result.refnd.refundProcsSttusCd eq '03' }">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">환불은행</span>
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${ resultMap.result.refnd.refundAcntBnnkNm }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">예금주</span>
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${ resultMap.result.refnd.refundAcntDpstrNm }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">계좌번호</span>
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${ resultMap.result.refnd.refundAcntnb }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">취소 사유</span>
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${ resultMap.result.refnd.returnResnCdNm }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">상세 사유</span>
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${ resultMap.result.refnd.returnResnCn }"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">환불은행</span>
|
||||
</th>
|
||||
<td>
|
||||
<%--
|
||||
<input class="input-text" type="text" title="환불은행" value="<c:out value="${ resultMap.result.refnd.refundAcntBnnkNm }"/>" name="refundAcntBnnkNm"
|
||||
placeholder="환불은행">
|
||||
--%>
|
||||
<div class="select-box">
|
||||
<select class="sm" title="해당 셀렉트에 대한 설명" name="refundAcntBnnkNm" id="refundAcntBnnkNm">
|
||||
<c:forEach var="cdList" items="${ resultMap.bankCdList }" varStatus="status">
|
||||
<c:choose>
|
||||
<c:when test="${ cdList.cd eq resultMap.result.refnd.refundAcntBnnkCd }">
|
||||
<option value="<c:out value="${ cdList.cd }"/>,<c:out value="${ cdList.cdNm }"/>" selected="selected" ><c:out value="${ cdList.cdNm }"/></option>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<option value="<c:out value="${ cdList.cd }"/>,<c:out value="${ cdList.cdNm }"/>" ><c:out value="${ cdList.cdNm }"/></option>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">예금주</span>
|
||||
</th>
|
||||
<td>
|
||||
<input class="input-text" type="text" title="예금주명" value="<c:out value="${ resultMap.result.refnd.refundAcntDpstrNm }"/>" name="refundAcntDpstrNm"
|
||||
placeholder="예금주명">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">계좌번호</span>
|
||||
</th>
|
||||
<td><!-- TODO : 암호화 되어있어서 풀어줘야함 -->
|
||||
<input class="input-text" type="text" title="계좌번호" value="<c:out value="${ resultMap.result.refnd.refundAcntnb }"/>" name="refundAcntnb"
|
||||
placeholder="계좌번호 TODO : 암호화되어있는데 '-' 포함 or 숫자만 확인 필요">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">환불사유내용</span>
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${ resultMap.result.refnd.refundResnCn }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<%--
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">취소 사유</span>
|
||||
</th>
|
||||
<td>
|
||||
<div class="select-box">
|
||||
<select class="lg" title="해당 셀렉트에 대한 설명">
|
||||
<option value="" disabled selected>선택</option>
|
||||
<option value="">고객 단순 변심</option>
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">상세 사유</span>
|
||||
</th>
|
||||
<td>
|
||||
<textarea class="textarea" rows="6" title="해당 텍스트 에어리어에 대한 설명" name="refundResnCn"
|
||||
placeholder="최소 10자 이상으로 입력해 주세요."><c:out value="${ resultMap.result.refnd.refundResnCn }"/></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
--%>
|
||||
</tbody>
|
||||
</table>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="sub-right-content__section">
|
||||
<h3 class="sub-right-content__innerTitle">환불 금액
|
||||
</h3>
|
||||
<div class="priceSum">
|
||||
<c:set var="reTotAmt" value="${ resultMap.result.totRefundDscntAmt }"/>
|
||||
<div class="priceSum__inner">
|
||||
<div class="priceSum__item">
|
||||
<span class="priceSum__itemTitle"><c:out value="${ reTotAmt.setleTyCdNm }"/></span>
|
||||
<span class="priceSum__itemPrice">
|
||||
<span class="comma priceSum__itemNum"><c:out value="${ reTotAmt.refundAmtQySum }"/></span>
|
||||
<span class="priceUnit">원</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="priceSum__equals">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28"
|
||||
viewBox="0 0 28 28" fill="none">
|
||||
<path d="M3.5 17.5H24.5V19.8333H3.5V17.5Z" fill="black" />
|
||||
<path d="M3.5 8.16699H24.5V10.5003H3.5V8.16699Z" fill="black" />
|
||||
</svg>
|
||||
</div>
|
||||
<div class="priceSum__total">
|
||||
<span class="priceSum__totalTitle">환불 금액</span>
|
||||
<div class="priceSum__totalPrice">
|
||||
<span class="comma"><c:out value="${ reTotAmt.rlRefundAmt }"/></span>
|
||||
<span class="priceUnit">원</span>
|
||||
</div>
|
||||
<div class="priceSum__totalDetail">
|
||||
(상품금액 <span class="comma"><c:out value="${ reTotAmt.refundAmtQySum }"/></span>원 + 배송비 <span class="comma"><c:out value="${ reTotAmt.totReturnDlvyAmt }"/></span>원)
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--
|
||||
<div class="sub-bottom-btn-container">
|
||||
<button type="button" class="btn xl outline theme" onclick="fn_order_refund_list();">반품 / 환불 목록</button>
|
||||
</div>
|
||||
-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<form id="listForm">
|
||||
<input type="hidden" id="orderRefundInnb" name ="orderRefundInnb"/>
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value="${ paramVO.pageIndex }"/>
|
||||
<input type="hidden" id="recordCountPerPage" name="recordCountPerPage" value="${ paramVO.recordCountPerPage }"/>
|
||||
<input type="hidden" id="pageUnit" name="pageUnit" value="${ paramVO.pageUnit }"/>
|
||||
</form>
|
||||
|
||||
<%-- 공통 Footer --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/Footer.jsp"/>
|
||||
|
||||
<!-- 모달 -->
|
||||
<div id="modalDiv">
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,91 @@
|
||||
<%@ 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"%>
|
||||
|
||||
<c:choose>
|
||||
<c:when test="${not empty data.resultList}">
|
||||
<c:forEach var="order" items="${data.resultList}" begin="0" end="4">
|
||||
<div class="orderList__item">
|
||||
<div class="orderList__item__inner">
|
||||
<a href="<c:url value="/sopmal/goods/selectGoodsDtl?sopmalCd=${order.sopmalCd}&goodsInnb=${order.goodsInnb}"/>" class="orderList__image">
|
||||
<spring:eval expression="@environment.getProperty('sopmalfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
||||
<img src="<c:out value="${ cdnurl }${order.goodsImageUrl}"/>" onerror="this.src='/pc/images/image_placeholder.png'" alt="<c:out value="${order.goodsNm}"/>">
|
||||
</a>
|
||||
<div class="orderList__description">
|
||||
<div class="orderList__description__first">
|
||||
<div class="orderList__item__top">
|
||||
<a href="javascript:void(0);" onclick="fn_go_ordr_dtl('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>');" class="orderList__orderNum"><c:out value="${order.ordrInnb}"/></a>
|
||||
<span class="orderList__dot">·</span>
|
||||
<span class="orderList__date"><c:out value="${order.ordrDt}"/> 주문</span>
|
||||
</div>
|
||||
<a href="javascript:void(0);" onclick="fn_go_ordr_dtl('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>');" class="orderList__productTitle"><c:out value="${order.goodsNm}"/></a>
|
||||
<%--<span class="orderList__option"><c:out value="${order.optnNm}"/></span>--%>
|
||||
<span class="cartItem__productOption"><span class="option-badge">옵션</span> <c:out value="${order.optnNm}"/></span>
|
||||
<c:if test="${not empty order.inputOptnText}">
|
||||
<span class="orderList__option"><c:out value="${order.inputOptnText}"/></span>
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="orderList__description__second">
|
||||
<span class="orderList__price"><span class="comma"><fmt:formatNumber value="${order.setleAmt}" pattern="#,###"/></span>원</span>
|
||||
</div>
|
||||
<div class="orderList__description__third">
|
||||
<span class="orderList__mileage"><span class="comma">예상적립 <fmt:formatNumber value="${order.mlgAmt}" pattern="#,###"/></span>원</span>
|
||||
</div>
|
||||
<div class="orderList__description__fourth">
|
||||
<c:choose>
|
||||
<c:when test="${order.ordrSttusCd > 14 && order.ordrSttusCd < 36}">
|
||||
<span class="orderList__status"><c:out value="${order.ordrSttusNm}"/></span>
|
||||
</c:when>
|
||||
<c:when test="${order.ordrSttusCd > 39 && order.ordrSttusCd < 71}">
|
||||
<span class="orderList__status delivery"><c:out value="${order.ordrSttusNm}"/></span>
|
||||
</c:when>
|
||||
<c:when test="${order.ordrSttusCd == 75}">
|
||||
<span class="orderList__status complete"><c:out value="${order.ordrSttusNm}"/></span>
|
||||
</c:when>
|
||||
<c:when test="${order.ordrSttusCd > 84 && order.ordrSttusCd < 100}">
|
||||
<span class="orderList__status cancel"><c:out value="${order.ordrSttusNm}"/></span>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
</div>
|
||||
<%--
|
||||
<div class="orderList__btnControls">
|
||||
<c:choose>
|
||||
<c:when test="${order.ordrSttusCd == 15}">
|
||||
<a href="javascript:void(0);" onclick="fn_post_cancl_ordr('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>');" class="btn-ordr-sttus btn gray sm full">주문무효</a>
|
||||
<a href="javascript:void(0);" onclick="fn_dlvylc_manage_pop('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>', '<c:out value="${order.ordrDlvyInnb}"/>', '<c:out value="${order.mbrInnb}"/>', '<c:out value="${order.mbrDvCd}"/>');" class="btn-ordr-sttus btn outline sm full">배송지 변경</a>
|
||||
</c:when>
|
||||
<c:when test="${order.ordrSttusCd > 24 && order.ordrSttusCd < 36}">
|
||||
<a href="javascript:void(0);" onclick="fn_call_setle_cancl_pop('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>', '');" class="btn-ordr-sttus btn gray sm full">결제취소</a>
|
||||
<a href="javascript:void(0);" onclick="fn_dlvylc_manage_pop('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>', '<c:out value="${order.ordrDlvyInnb}"/>', '<c:out value="${order.mbrInnb}"/>', '<c:out value="${order.mbrDvCd}"/>');" class="btn-ordr-sttus btn outline sm full">배송지 변경</a>
|
||||
</c:when>
|
||||
|
||||
<c:when test="${order.ordrSttusCd > 39 && order.ordrSttusCd < 66}">
|
||||
<a href="javascript:void(0);" onclick="fn_call_dlvy_sweettracker_pop('<c:out value="${order.ordrInnb}"/>');" class="btn outline sm full">배송조회</a>
|
||||
<a href="javascript:void(0);" onclick="fn_call_refund_pop('<c:out value="${order.ordrInnb}"/>');" class="btn-ordr-sttus btn gray sm full">반품신청</a>
|
||||
</c:when>
|
||||
<c:when test="${order.ordrSttusCd > 69 && order.ordrSttusCd < 76}">
|
||||
<a href="javascript:void(0);" onclick="fn_call_dlvy_sweettracker_pop('<c:out value="${order.ordrInnb}"/>');" class="btn outline sm full">배송조회</a>
|
||||
<a href="javascript:void(0);" onclick="fn_call_refund_pop('<c:out value="${order.ordrInnb}"/>');" class="btn-ordr-sttus btn gray sm full">반품신청</a>
|
||||
<a href="<c:url value="/sopmal/mpage/act/selectMyRvwInqireForm"/>" class="btn-ordr-sttus btn outline sm full">리뷰작성</a>
|
||||
<a href="javascript:void(0);" onclick="fn_post_purchs_dcsn_by_ordr('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>');" class="btn-ordr-sttus btn theme sm full">구매확정111</a>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
</div>
|
||||
--%>
|
||||
</div>
|
||||
</div>
|
||||
<a class="sub-right-content__more" href="/sopmal/mpage/ordr/selectMbrOrdrListInqire">전체보기</a>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<div class="orderList__no-result">
|
||||
<img src="<c:url value="/pc/images/icon__no-result.png"/>" alt="">
|
||||
<p class="orderList__no-result-text">주문내역이 없습니다.</p>
|
||||
</div>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
1068
src/main/webapp/WEB-INF/views/sopmal/mpage/ordr/OrdrDlvyListR.jsp
Normal file
1068
src/main/webapp/WEB-INF/views/sopmal/mpage/ordr/OrdrDlvyListR.jsp
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,120 @@
|
||||
<%@ 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"%>
|
||||
|
||||
<c:choose>
|
||||
<c:when test="${not empty data.resultList}">
|
||||
<c:forEach var="order" items="${data.resultList}">
|
||||
<div class="orderList__item">
|
||||
<div class="orderList__item__inner">
|
||||
<a href="<c:url value="/sopmal/goods/selectGoodsDtl?sopmalCd=${order.sopmalCd}&goodsInnb=${order.goodsInnb}"/>" class="orderList__image">
|
||||
<spring:eval expression="@environment.getProperty('sopmalfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
||||
<img src="<c:out value="${ cdnurl }${order.goodsImageUrl}"/>" onerror="this.src='/pc/images/image_placeholder.png'" alt="<c:out value="${order.goodsNm}"/>">
|
||||
</a>
|
||||
<div class="orderList__description">
|
||||
<div class="orderList__description__first">
|
||||
<div class="orderList__item__top">
|
||||
<a href="javascript:void(0);" onclick="fn_go_ordr_dtl('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>');" class="orderList__orderNum"><c:out value="${order.ordrInnb}"/></a>
|
||||
<span class="orderList__dot">·</span>
|
||||
<span class="orderList__date"><c:out value="${order.ordrDt}"/> <span class="orderList__dot">·</span> ${order.ordrTyCdNm}</span>
|
||||
</div>
|
||||
<a href="javascript:void(0);" onclick="fn_go_ordr_dtl('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>');" class="orderList__productTitle"><c:out value="${order.goodsNm}"/></a>
|
||||
<%--<span class="orderList__option"><c:out value="${order.optnNm}"/></span>--%>
|
||||
<span class="cartItem__productOption"><span class="option-badge">옵션</span> <c:out value="${order.optnNm}"/></span>
|
||||
<c:if test="${not empty order.inputOptnText}">
|
||||
<span class="orderList__option"><c:out value="${order.inputOptnText}"/></span>
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="orderList__description__second">
|
||||
<span class="orderList__price"><span class="comma"><fmt:formatNumber value="${order.setleAmt}" pattern="#,###"/></span>원</span>
|
||||
</div>
|
||||
<div class="orderList__description__third">
|
||||
<c:if test = "${!(order.ordrSttusCd > 84 && order.ordrSttusCd < 100)}">
|
||||
<span class="orderList__mileage"><span class="comma">예상적립 <fmt:formatNumber value="${order.mlgAmt}" pattern="#,###"/></span>원</span>
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="orderList__description__fourth">
|
||||
<c:choose>
|
||||
<c:when test="${order.ordrSttusCd > 14 && order.ordrSttusCd < 36}">
|
||||
<span class="orderList__status"><c:out value="${order.ordrSttusNm}"/></span>
|
||||
</c:when>
|
||||
<c:when test="${order.ordrSttusCd > 39 && order.ordrSttusCd < 71}">
|
||||
<span class="orderList__status delivery"><c:out value="${order.ordrSttusNm}"/></span>
|
||||
</c:when>
|
||||
<c:when test="${order.ordrSttusCd == 75}">
|
||||
<span class="orderList__status complete"><c:out value="${order.ordrSttusNm}"/></span>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<c:if test="${ order.ordrTyCd == '04'}">
|
||||
<br/>
|
||||
<c:choose>
|
||||
<c:when test="${order.giftSttusCd == '01' }">
|
||||
<span class="orderList__status">(<c:out value="${order.giftSttusCdNm}"/>)</span>
|
||||
</c:when>
|
||||
<c:when test="${order.giftSttusCd == '02' }">
|
||||
<span class="orderList__status delivery">(<c:out value="${order.giftSttusCdNm}"/>)</span>
|
||||
</c:when>
|
||||
<c:when test="${order.giftSttusCd == '03' }">
|
||||
<span class="orderList__status cancel">(<c:out value="${order.giftSttusCdNm}"/>)</span>
|
||||
</c:when>
|
||||
<c:when test="${order.giftSttusCd == '04' }">
|
||||
<span class="orderList__status cancel">(<c:out value="${order.giftSttusCdNm}"/>)</span>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="orderList__btnControls">
|
||||
<c:choose>
|
||||
<c:when test="${order.ordrSttusCd == 15}">
|
||||
<a href="javascript:void(0);" onclick="fn_post_cancl_ordr('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>', '<c:out value="${order.ordrSttusCd}"/>');" class="btn-ordr-sttus btn gray sm full">주문취소</a>
|
||||
<c:if test="${ order.ordrTyCd != '05' }">
|
||||
<a href="javascript:void(0);" onclick="fn_dlvylc_manage_pop('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>', '<c:out value="${order.ordrDlvyInnb}"/>', '<c:out value="${order.mbrInnb}"/>', '<c:out value="${order.mbrDvCd}"/>');" class="btn-ordr-sttus btn outline sm full">배송지 변경</a>
|
||||
</c:if>
|
||||
</c:when>
|
||||
<c:when test="${order.ordrSttusCd > 24 && order.ordrSttusCd < 34}">
|
||||
<a href="javascript:void(0);" onclick="fn_call_setle_cancl_pop('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>', '', '<c:out value="${order.ordrRceptDt}"/>', '<c:out value="${order.ordrSttusCd}"/>');" class="btn-ordr-sttus btn gray sm full">결제취소</a>
|
||||
<c:if test="${ order.ordrTyCd != '05' }">
|
||||
<a href="javascript:void(0);" onclick="fn_dlvylc_manage_pop('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>', '<c:out value="${order.ordrDlvyInnb}"/>', '<c:out value="${order.mbrInnb}"/>', '<c:out value="${order.mbrDvCd}"/>');" class="btn-ordr-sttus btn outline sm full">배송지 변경</a>
|
||||
</c:if>
|
||||
</c:when>
|
||||
|
||||
<c:when test="${order.ordrSttusCd > 34 && order.ordrSttusCd < 55}">
|
||||
<a href="javascript:void(0);" onclick="fn_call_dlvy_sweettracker_pop('<c:out value="${order.ordrInnb}"/>');" class="btn outline sm full">배송조회</a>
|
||||
<a href="javascript:void(0);" onclick="fn_call_setle_cancl_pop('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>', '', '<c:out value="${order.ordrRceptDt}"/>', '<c:out value="${order.ordrSttusCd}"/>');" class="btn-ordr-sttus btn gray sm full">결제취소</a>
|
||||
</c:when>
|
||||
<c:when test="${order.ordrSttusCd > 54 && order.ordrSttusCd < 76 && order.sknEnvrnCd ne 'POS'}">
|
||||
<a href="javascript:void(0);" onclick="fn_call_dlvy_sweettracker_pop('<c:out value="${order.ordrInnb}"/>');" class="btn outline sm full">배송조회</a>
|
||||
<c:if test="${ order.purchsDcsnAt eq 'Y' }">
|
||||
<a href="javascript:void(0);" onclick="fn_call_refund_pop('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>','<c:out value="${order.ordrRceptDt}"/>', '<c:out value="${order.setleTyCd}"/>', '<c:out value="${order.ordrSttusCd}"/>');" class="btn-ordr-sttus btn gray sm full">반품신청</a>
|
||||
</c:if>
|
||||
<c:if test="${ order.reviewAt eq 'Y' }">
|
||||
<a href="<c:url value="/sopmal/mpage/act/selectMyRvwInqireForm"/>" class="btn-ordr-sttus btn theme sm full">리뷰작성</a>
|
||||
</c:if>
|
||||
<c:if test="${ order.purchsDcsnAt eq 'Y' }">
|
||||
<a href="javascript:void(0);" onclick="fn_post_purchs_dcsn_by_ordr('<c:out value="${order.sopmalCd}"/>', '<c:out value="${order.ordrInnb}"/>');" class="btn-ordr-sttus btn theme sm full">구매확정</a>
|
||||
</c:if>
|
||||
</c:when>
|
||||
<c:when test="${order.ordrSttusCd > 84 && order.ordrSttusCd < 100}">
|
||||
<a class="btn full orderList__status cancel" style="background-color:transparent;"><c:out value="${order.ordrSttusNm}"/></a>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<div class="orderList__no-result">
|
||||
<img src="<c:url value="/pc/images/icon__no-result.png"/>" alt="">
|
||||
<p class="orderList__no-result-text">주문내역이 없습니다.</p>
|
||||
</div>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<div class="pagination__container" style="margin-top: 20px">
|
||||
<ui:pagination paginationInfo="${data.paginationInfo}" type="image" jsFunction="fn_get_ordr_dlvy_list"/>
|
||||
</div>
|
||||
1856
src/main/webapp/WEB-INF/views/sopmal/mpage/ordr/OrdrDtlR.jsp
Normal file
1856
src/main/webapp/WEB-INF/views/sopmal/mpage/ordr/OrdrDtlR.jsp
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,269 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||||
|
||||
<!-- 결제취소/환불정보 -->
|
||||
<div id="refund-pop" class="modal default" style="max-width: 900px;">
|
||||
<div class="modal-header">
|
||||
<div class="modal-header__title">결제취소/환불정보</div>
|
||||
</div>
|
||||
<c:set var="order" value="${data.order}"/>
|
||||
<div class="modal-content">
|
||||
<div class="orderRefundPop">
|
||||
<spring:eval expression="@environment.getProperty('sopmalfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
||||
<p class="orderRefundPop__orderNum">주문번호 <c:out value="${order.ordrInnb}"/></p>
|
||||
<input type="hidden" id="sopmalCd" value="${order.sopmalCd}"/>
|
||||
<input type="hidden" id="ordrInnb" value="${order.ordrInnb}"/>
|
||||
<input type="hidden" id="ordrTyCd" value="${order.ordrTyCd}"/>
|
||||
<input type="hidden" id="ordrSttusCd" value="${order.ordrSttusCd}"/>
|
||||
<input type="hidden" id="isBank" value="${not empty order.bnnkNm ? 'Y' : 'N'}"/>
|
||||
<input type="hidden" id="setleTyCd" value="${order.setleTyCd}"/> <!-- 결제유형 -->
|
||||
<c:choose>
|
||||
<c:when test="${'04' == order.ordrTyCd || '05' == order.ordrTyCd}">
|
||||
<c:choose>
|
||||
<c:when test="${not empty data.shippingList}">
|
||||
<c:forEach var="shipping" items="${data.shippingList}" varStatus="status">
|
||||
<div class="multiDeliveryStatus">
|
||||
<p class="multiDeliveryStatus__title"><span class="multiDeliveryStatus__numTitle"><c:out value="${status.count > 1 ? status.count += '. ': ''}"/>배송지</span>
|
||||
<c:out value="${shipping.recpntNm}"/> <c:out value="${not empty shipping.dlvylcZip ? '(' += shipping.dlvylcZip += ')' : ''}"/>
|
||||
<c:out value="${shipping.adres}"/>
|
||||
<c:out value="${shipping.dlvylcAdresDtl}"/>
|
||||
<%--<em>2곳</em>--%>
|
||||
</p>
|
||||
</div>
|
||||
<div class="cartOrder__list">
|
||||
<h4 class="modalSectionTitle">주문상품 중 결제취소 가능 상품<span class="modalSectionTitle__sub">- 결제취소 시 상품과 수량을 선택하세요!(*결제확인 상태에서는 전체 취소만 가능합니다.)</span></h4>
|
||||
<div class="table-wrapper">
|
||||
<table class="table vertical orderRefundPop__table">
|
||||
<caption>결제취소/환불정보</caption>
|
||||
<colgroup>
|
||||
<col style="width: auto;">
|
||||
<col style="width: 80px">
|
||||
<col style="width: 80px">
|
||||
<col style="width: 120px">
|
||||
<col style="width: 80px">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>상품명</th>
|
||||
<th>주문수량</th>
|
||||
<th>취소가능수량</th>
|
||||
<th>취소수량</th>
|
||||
<th>처리상태</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:choose>
|
||||
<c:when test="${not empty shipping.goodsList}">
|
||||
<c:forEach var="goods" items="${shipping.goodsList}" varStatus="status">
|
||||
<tr class="cancl-goods">
|
||||
<td>
|
||||
<div class="cartItem">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" name="goodsCheck" value="" checked onclick="return false;">
|
||||
<span class="check"></span>
|
||||
<span class="control-label"></span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="cartItem__image">
|
||||
<img src="<c:out value="${ cdnurl }${goods.goodsImgCours}"/>" onerror="this.src='/pc/images/image_placeholder.png'" alt="<c:out value="${goods.goodsNm}"/>">
|
||||
</div>
|
||||
<div class="cartItem__productInfo">
|
||||
<a href="javascript:void(0);" class="cartItem__productTitle"><c:out value="${goods.goodsNm}"/></a>
|
||||
<span class="cartItem__productOption"> <span class="option-badge">옵션</span><c:out value="${goods.optnNm}"/></span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td><c:out value="${goods.ordrQy}"/></td>
|
||||
<td><c:out value="${goods.ordrQy - goods.setleCanclQy}"/></td>
|
||||
<td>
|
||||
<input type="hidden" class="sopmalCd" value="${goods.sopmalCd}"/>
|
||||
<input type="hidden" class="ordrInnb" value="${goods.ordrInnb}"/>
|
||||
<input type="hidden" class="ordrDlvyInnb" value="${shipping.ordrDlvyInnb}"/>
|
||||
<input type="hidden" class="ordrGoodsInnb" value="${goods.ordrGoodsInnb}"/>
|
||||
<input type="hidden" class="ordrGoodsOptnInnb" value="${goods.ordrGoodsOptnInnb}"/>
|
||||
<input type="hidden" class="setleCanclQy" value="${goods.setleCanclQy}"/>
|
||||
<input type="hidden" class="ordrQy" value="${goods.ordrQy}"/>
|
||||
<input type="hidden" class="subscrptWthdrawPosblAt" value="${goods.subscrptWthdrawPosblAt}"/>
|
||||
<input type="hidden" class="indvdlzCanclPosblAt" value="${goods.indvdlzCanclPosblAt}"/>
|
||||
<input type="hidden" class="indvdlzReturnExchngPosblAt" value="${goods.indvdlzReturnExchngPosblAt}"/>
|
||||
<div class="select-box">
|
||||
<select class="canclQy" title="취소 수량" disabled>
|
||||
<c:forEach var="item" begin="1" end="${goods.ordrQy - goods.setleCanclQy}" step="1" varStatus="status">
|
||||
<option value="<c:out value="${status.count}"/>" <c:if test="${status.last}">selected</c:if>><c:out value="${status.count}"/></option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<span class="orderList__status"><c:out value="${goods.ordrSttusNm}"/></span>
|
||||
</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>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<div class="cartOrder__list">
|
||||
<h4 class="modalSectionTitle">주문상품 중 결제취소 가능 상품<span class="modalSectionTitle__sub">- 결제취소 시 상품과 수량을 선택하세요!(*결제확인 상태에서는 전체 취소만 가능합니다.)</span></h4>
|
||||
<div class="table-wrapper">
|
||||
<table class="table vertical orderRefundPop__table">
|
||||
<caption>결제취소/환불정보</caption>
|
||||
<colgroup>
|
||||
<col style="width: auto;">
|
||||
<col style="width: 80px">
|
||||
<col style="width: 80px">
|
||||
<col style="width: 120px">
|
||||
<col style="width: 80px">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>상품명</th>
|
||||
<th>주문수량</th>
|
||||
<th>취소가능수량</th>
|
||||
<th>취소수량</th>
|
||||
<th>처리상태</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:choose>
|
||||
<c:when test="${not empty data.goodsList}">
|
||||
<c:forEach var="goods" items="${data.goodsList}">
|
||||
<tr class="cancl-goods">
|
||||
<td>
|
||||
<div class="cartItem">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" name="goodsCheck" value="" checked onclick="return false;">
|
||||
<span class="check"></span>
|
||||
<span class="control-label"></span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="cartItem__image">
|
||||
<img src="<c:out value="${ cdnurl }${goods.goodsImgCours}"/>" onerror="this.src='/pc/images/image_placeholder.png'" alt="<c:out value="${goods.goodsNm}"/>">
|
||||
</div>
|
||||
<div class="cartItem__productInfo">
|
||||
<a href="javascript:void(0);" class="cartItem__productTitle"><c:out value="${goods.goodsNm}"/></a>
|
||||
<span class="cartItem__productOption"> <span class="option-badge">옵션</span><c:out value="${goods.optnNm}"/></span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td><c:out value="${goods.ordrQy}"/></td>
|
||||
<td><c:out value="${goods.ordrQy - goods.setleCanclQy}"/></td>
|
||||
<td>
|
||||
<input type="hidden" class="sopmalCd" value="${goods.sopmalCd}"/>
|
||||
<input type="hidden" class="ordrInnb" value="${goods.ordrInnb}"/>
|
||||
<input type="hidden" class="ordrDlvyInnb" value="${goods.ordrDlvyInnb}"/>
|
||||
<input type="hidden" class="ordrGoodsInnb" value="${goods.ordrGoodsInnb}"/>
|
||||
<input type="hidden" class="ordrGoodsOptnInnb" value="${goods.ordrGoodsOptnInnb}"/>
|
||||
<input type="hidden" class="ordrQy" value="${goods.ordrQy}"/>
|
||||
<input type="hidden" class="subscrptWthdrawPosblAt" value="${goods.subscrptWthdrawPosblAt}"/>
|
||||
<input type="hidden" class="indvdlzCanclPosblAt" value="${goods.indvdlzCanclPosblAt}"/>
|
||||
<input type="hidden" class="indvdlzReturnExchngPosblAt" value="${goods.indvdlzReturnExchngPosblAt}"/>
|
||||
<input type="hidden" class="indvdlzReturnExchngPosblAt" value="${goods.indvdlzReturnExchngPosblAt}"/>
|
||||
<div class="select-box">
|
||||
<select class="canclQy" title="취소 수량" disabled>
|
||||
<c:forEach var="item" begin="1" end="${goods.ordrQy - goods.setleCanclQy}" step="1" varStatus="status">
|
||||
<option value="<c:out value="${status.count}"/>" <c:if test="${status.last}">selected</c:if>><c:out value="${status.count}"/></option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<span class="orderList__status"><c:out value="${goods.ordrSttusNm}"/></span>
|
||||
</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>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
|
||||
|
||||
<p class="orderRefundReason__title">취소 사유를 선택해 주세요.</p>
|
||||
<div class="orderRefundReason">
|
||||
<div class="orderRefundReason__item">
|
||||
<div class="orderRefundReason__itemTitle">취소사유</div>
|
||||
<div class="select-box">
|
||||
<select name="returnResnCd" id="returnResnCd" class="lg" title="취소사유">
|
||||
<option value="" selected>취소사유를 선택해 주세요.</option>
|
||||
<c:forEach var="returnResn" items="${data.returnResnList}">
|
||||
<option value="<c:out value="${returnResn.cd}"/>"><c:out value="${returnResn.cdNm}"/></option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="orderRefundReason__item">
|
||||
<div class="orderRefundReason__itemTitle">상세사유</div>
|
||||
<textarea name="returnResnCn" id="returnResnCn" class="textarea" rows="6" title="상세사유" placeholder="최소 10자 이상으로 입력해 주세요."></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<c:if test="${not empty order.setleTyCd && ( order.setleTyCd eq '02' || order.setleTyCd eq '04' || order.setleTyCd eq '05' || order.setleTyCd eq '06' )}">
|
||||
<p class="orderRefundReason__title">환불방법을 입력해 주세요</p>
|
||||
<div class="orderRefundReason">
|
||||
<div class="orderRefundReason__item">
|
||||
<div class="orderRefundReason__itemTitle">은행</div>
|
||||
<div class="select-box">
|
||||
<select class="sm" title="해당 셀렉트에 대한 설명" name="refundAcntBnnkNm" id="refundAcntBnnkNm">
|
||||
<c:forEach var="cdList" items="${ data.bankCdList }" varStatus="status">
|
||||
<option value="<c:out value="${ cdList.cd }"/>,<c:out value="${ cdList.cdNm }"/>" ><c:out value="${ cdList.cdNm }"/></option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<%--<input type="text" name="refundAcntBnnkNm" id="refundAcntBnnkNm" class="input-text lg" title="은행" placeholder="환불 은행을 입력해 주세요." maxlength="20">--%>
|
||||
|
||||
<div class="orderRefundReason__itemTitle">예금주</div>
|
||||
<input type="text" name="refundAcntDpstrNm" id="refundAcntDpstrNm" class="input-text lg" title="예금주" placeholder="예금주 이름을 입력해 주세요." maxlength="20">
|
||||
<div class="orderRefundReason__itemTitle">계좌번호</div>
|
||||
<input type="text" name="refundAcntnb" id="refundAcntnb" class="input-text lg" value="" title="계좌번호" placeholder="계좌번호를 입력해 주세요." maxlength="50">
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
|
||||
<div class="infoBox">
|
||||
<h6 class="infoBox__title">최초 배송비</h6>
|
||||
<p class="infoBox__paragraph">부분 결제 취소 시 추가 배송비가 발생할 수 있으며, 이 때 추가 배송비를 결제해 주셔야만 결제취소 처리완료가 가능합니다.
|
||||
</p>
|
||||
<h6 class="infoBox__title">[추가 배송비가 발생하는 경우]</h6>
|
||||
<ol class="infoBox__list">
|
||||
<li>① ‘묶음배송비’ 상품의 배송비 무료(금액별 차등) 조건을 충족하여 배송비 무료</li>
|
||||
<li>② 부분 결제취소로 배송비 무료 조건을 불충족하는 경우 추가 배송비 부과</li>
|
||||
<li>③ 추가 배송비는 카드 또는 마일리지로 결제 가능</li>
|
||||
</ol>
|
||||
<h6 class="infoBox__title">유의사항</h6>
|
||||
<ol class="infoBox__list">
|
||||
<li>① 결제확인 상태에서는 전체 취소만 가능합니다.</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="javascript:void(0);" rel="modal:close" class="btn large outline">닫기</a>
|
||||
<a href="javascript:void(0);" id="btnSetleCancl" class="btn large gray2">결제취소</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,534 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('select').niceSelect();
|
||||
|
||||
fn_ctrl_refund_resn_cd();
|
||||
fn_ctrl_retrun_mth();
|
||||
fn_ctrl_return_dlvy_mth();
|
||||
|
||||
$('#returnResnCd').on('change', function() {
|
||||
fn_ctrl_refund_resn_cd();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
<!-- 반품/환불 -->
|
||||
<div id="return-pop" class="modal default" style="max-width: 900px;">
|
||||
<div class="modal-header">
|
||||
<div class="modal-header__title">반품/환불정보</div>
|
||||
</div>
|
||||
<c:set var="order" value="${data.order}"/>
|
||||
<div class="modal-content">
|
||||
<div class="orderRefundPop">
|
||||
<spring:eval expression="@environment.getProperty('sopmalfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
||||
<p class="orderRefundPop__orderNum">주문번호 <c:out value="${order.ordrInnb}"/></p>
|
||||
<input type="hidden" id="sopmalCd" value="${order.sopmalCd}"/>
|
||||
<input type="hidden" id="ordrInnb" value="${order.ordrInnb}"/>
|
||||
<input type="hidden" id="ordrTyCd" value="${order.ordrTyCd}"/>
|
||||
<input type="hidden" id="ordrSttusCd" value="${order.ordrSttusCd}"/>
|
||||
<input type="hidden" id="isBank" value="${not empty order.bnnkNm ? 'Y' : 'N'}"/>
|
||||
<input type="hidden" id="setleTyCd" value="${order.setleTyCd}"/> <!-- 결제유형 -->
|
||||
|
||||
<input type="hidden" id="totalRlDlvyAmt" value=""/>
|
||||
<input type="hidden" id="dlvyDwldCouponInnbArr" value=""/>
|
||||
<c:forEach var="shipping" items="${data.shippingList}" varStatus="status">
|
||||
<c:if test="${ status.first }">
|
||||
<c:set var="defaultReturnAdress" value="${ shipping }"/>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<c:set var="totalRlDlvyAmt" value="0" />
|
||||
<c:choose>
|
||||
<c:when test="${'04' == order.ordrTyCd || '05' == order.ordrTyCd}">
|
||||
<c:choose>
|
||||
<c:when test="${not empty data.shippingList}">
|
||||
<c:forEach var="shipping" items="${data.shippingList}" varStatus="status">
|
||||
<div class="multiDeliveryStatus">
|
||||
<p class="multiDeliveryStatus__title"><span class="multiDeliveryStatus__numTitle"><c:out value="${status.count > 1 ? status.count += '. ': ''}"/>배송지</span>
|
||||
<c:out value="${shipping.recpntNm}"/> <c:out value="${not empty shipping.dlvylcZip ? '(' += shipping.dlvylcZip += ')' : ''}"/>
|
||||
<c:out value="${shipping.adres}"/>
|
||||
<c:out value="${shipping.dlvylcAdresDtl}"/>
|
||||
<c:set var="shippingIndex" value="${status.index}"/>
|
||||
<%--<em>2곳</em>--%>
|
||||
|
||||
<c:set var="totalRlDlvyAmt" value="${totalRlDlvyAmt + shipping.rlDlvyAmt}" />
|
||||
<input type="hidden" name="rlDlvyAmt${shippingIndex}" value="${shipping.rlDlvyAmt}"/>
|
||||
<input type="hidden" name="dlvyDwldCouponInnb${shippingIndex}" value="${ shipping.dlvyDwldCouponInnb }"/>
|
||||
<%--<input type="text" name="rlDlvyAmt" value="${ totalRlDlvyAmt }"/>--%>
|
||||
</p>
|
||||
</div>
|
||||
<div class="cartOrder__list">
|
||||
<h4 class="modalSectionTitle">주문상품 중 반품/환불신청 가능 상품<span class="modalSectionTitle__sub">- 반품/환불신청 시 상품과 수량을 선택하세요!</span></h4>
|
||||
<div class="table-wrapper">
|
||||
<table class="table vertical orderRefundPop__table">
|
||||
<caption>결제취소/환불정보</caption>
|
||||
<colgroup>
|
||||
<col style="width: auto;">
|
||||
<col style="width: 80px">
|
||||
<col style="width: 80px">
|
||||
<col style="width: 120px">
|
||||
<col style="width: 80px">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
상품명
|
||||
<input type="hidden" class="checkAll" id="checkAll${shippingIndex}" data-index="${shippingIndex}">
|
||||
</th>
|
||||
<th>주문수량</th>
|
||||
<th>취소가능수량</th>
|
||||
<th>취소수량</th>
|
||||
<th>처리상태</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:choose>
|
||||
<c:when test="${not empty shipping.goodsList}">
|
||||
<c:forEach var="goods" items="${shipping.goodsList}" varStatus="status">
|
||||
<tr class="cancl-goods">
|
||||
<td>
|
||||
<div class="cartItem">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" name="goodsCheck" class="checkbox${shippingIndex} goodsCheck${shippingIndex}" value="" onclick="fn_ctr_pCheckbox('#checkAll${shippingIndex}', '.checkbox${shippingIndex}'); calculateTotal();">
|
||||
<span class="check"></span>
|
||||
<span class="control-label"></span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="cartItem__image">
|
||||
<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}"/>">
|
||||
</div>
|
||||
<div class="cartItem__productInfo">
|
||||
<a href="javascript:void(0);" class="cartItem__productTitle"><c:out value="${goods.goodsNm}"/></a>
|
||||
<span class="cartItem__productOption"> <span class="option-badge">옵션</span><c:out value="${goods.optnNm}"/></span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td><c:out value="${goods.ordrQy}"/></td>
|
||||
<td><c:out value="${goods.ordrQy - goods.setleCanclQy}"/></td>
|
||||
<td>
|
||||
<input type="hidden" class="sopmalCd" value="${goods.sopmalCd}"/>
|
||||
<input type="hidden" class="ordrInnb" value="${goods.ordrInnb}"/>
|
||||
<input type="hidden" class="ordrDlvyInnb" value="${shipping.ordrDlvyInnb}"/>
|
||||
<input type="hidden" class="ordrGoodsInnb" value="${goods.ordrGoodsInnb}"/>
|
||||
<input type="hidden" class="ordrGoodsOptnInnb" value="${goods.ordrGoodsOptnInnb}"/>
|
||||
<input type="hidden" class="setleCanclQy" value="${goods.setleCanclQy}"/>
|
||||
<input type="hidden" class="ordrQy" value="${goods.ordrQy}"/>
|
||||
<input type="hidden" class="subscrptWthdrawPosblAt" value="${goods.subscrptWthdrawPosblAt}"/>
|
||||
<input type="hidden" class="indvdlzCanclPosblAt" value="${goods.indvdlzCanclPosblAt}"/>
|
||||
<input type="hidden" class="indvdlzReturnExchngPosblAt" value="${goods.indvdlzReturnExchngPosblAt}"/>
|
||||
<div class="select-box">
|
||||
<select class="canclQy" title="취소 수량">
|
||||
<option value="" selected>선택</option>
|
||||
<c:forEach var="item" begin="1" end="${goods.ordrQy - goods.setleCanclQy}" step="1" varStatus="status">
|
||||
<option value="<c:out value="${status.count}"/>"><c:out value="${status.count}"/></option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<span class="orderList__status"><c:out value="${goods.ordrSttusNm}"/></span>
|
||||
</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>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<div class="cartOrder__list">
|
||||
<h4 class="modalSectionTitle">주문상품 중 반품/환불신청 가능 상품<span class="modalSectionTitle__sub">- 반품/환불신청 시 상품과 수량을 선택하세요!</span></h4>
|
||||
<div class="table-wrapper">
|
||||
<table class="table vertical orderRefundPop__table">
|
||||
<caption>결제취소/환불정보</caption>
|
||||
<colgroup>
|
||||
<col style="width: auto;">
|
||||
<col style="width: 80px">
|
||||
<col style="width: 80px">
|
||||
<col style="width: 120px">
|
||||
<col style="width: 80px">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>상품명</th>
|
||||
<th>주문수량</th>
|
||||
<th>취소가능수량</th>
|
||||
<th>취소수량</th>
|
||||
<th>처리상태</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:choose>
|
||||
<c:when test="${not empty data.goodsList}">
|
||||
<c:forEach var="goods" items="${data.goodsList}" varStatus="status">
|
||||
<tr class="cancl-goods">
|
||||
<td>
|
||||
<div class="cartItem">
|
||||
<c:if test="${ status.index eq 0 }">
|
||||
<input type="hidden" id="singleReDlvyAmt" value="${ goods.rlDlvyAmt }"/>
|
||||
<input type="hidden" id="dlvyDwldCouponInnb" value="${ goods.dlvyDwldCouponInnb }"/>
|
||||
</c:if>
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" name="goodsCheck" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label"></span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="cartItem__image">
|
||||
<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}"/>">
|
||||
</div>
|
||||
<div class="cartItem__productInfo">
|
||||
<a href="javascript:void(0);" class="cartItem__productTitle"><c:out value="${goods.goodsNm}"/></a>
|
||||
<span class="cartItem__productOption"> <span class="option-badge">옵션</span><c:out value="${goods.optnNm}"/></span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td><c:out value="${goods.ordrQy}"/></td>
|
||||
<td><c:out value="${goods.ordrQy - goods.setleCanclQy}"/></td>
|
||||
<td>
|
||||
<input type="hidden" class="goodsDwldCouponInnb" value="${ goods.goodsDwldCouponInnb }"/>
|
||||
<input type="hidden" class="sopmalCd" value="${goods.sopmalCd}"/>
|
||||
<input type="hidden" class="ordrInnb" value="${goods.ordrInnb}"/>
|
||||
<input type="hidden" class="ordrDlvyInnb" value="${goods.ordrDlvyInnb}"/>
|
||||
<input type="hidden" class="ordrGoodsInnb" value="${goods.ordrGoodsInnb}"/>
|
||||
<input type="hidden" class="ordrGoodsOptnInnb" value="${goods.ordrGoodsOptnInnb}"/>
|
||||
<input type="hidden" class="ordrQy" value="${goods.ordrQy}"/>
|
||||
<input type="hidden" class="subscrptWthdrawPosblAt" value="${goods.subscrptWthdrawPosblAt}"/>
|
||||
<input type="hidden" class="indvdlzCanclPosblAt" value="${goods.indvdlzCanclPosblAt}"/>
|
||||
<input type="hidden" class="indvdlzReturnExchngPosblAt" value="${goods.indvdlzReturnExchngPosblAt}"/>
|
||||
<input type="hidden" class="indvdlzReturnExchngPosblAt" value="${goods.indvdlzReturnExchngPosblAt}"/>
|
||||
<div class="select-box">
|
||||
<select class="canclQy" title="취소 수량">
|
||||
<option value="" selected>선택</option>
|
||||
<c:forEach var="item" begin="1" end="${goods.ordrQy - goods.setleCanclQy}" step="1" varStatus="status">
|
||||
<option value="<c:out value="${status.count}"/>"><c:out value="${status.count}"/></option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<span class="orderList__status"><c:out value="${goods.ordrSttusNm}"/></span>
|
||||
</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>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<p class="orderRefundReason__title">취소 사유를 선택해 주세요.</p>
|
||||
<div class="orderRefundReason">
|
||||
<div class="orderRefundReason__item">
|
||||
<div class="orderRefundReason__itemTitle">취소사유</div>
|
||||
<div class="select-box">
|
||||
<select name="returnResnCd" id="returnResnCd" class="lg" title="취소사유">
|
||||
<option value="" selected>취소사유를 선택해 주세요.</option>
|
||||
<c:forEach var="returnResn" items="${data.returnResnList}">
|
||||
<option value="<c:out value="${returnResn.cd}"/>" data-cddv="<c:out value="${ returnResn.cdDv }"/>" ><c:out value="${returnResn.cdNm}"/></option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="orderRefundReason__item">
|
||||
<div class="orderRefundReason__itemTitle">상세사유</div>
|
||||
<textarea name="returnResnCn" id="returnResnCn" class="textarea" rows="6" title="상세사유" placeholder="최소 10자 이상으로 입력해 주세요."></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<p class="orderRefundReason__title">연락처</p>
|
||||
<div class="cartOrder__list">
|
||||
<div class="table-wrapper">
|
||||
<table class="table vertical orderRefundPop__table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: 50%;">
|
||||
<col style="width: 50%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>구매자</th>
|
||||
<th>휴대폰
|
||||
<c:set var="firstPart" value="${ fn:substring(order.ordrrMbtlnb, 0, 2)}" />
|
||||
<c:set var="middlePart" value="${ fn:substring(order.ordrrMbtlnb, 4, 8)}" />
|
||||
<c:set var="lastPart" value="${ fn:substring(order.ordrrMbtlnb, 9, 13)}" />
|
||||
</th>
|
||||
<%--
|
||||
<th>연락처 ${order.ordrrTelnb}
|
||||
<c:set var="firstPartTel" value="${ fn:substring(order.ordrrTelnb, 0, 2)}" />
|
||||
<c:set var="middlePartTel" value="${ fn:substring(order.ordrrTelnb, 4, 8)}" />
|
||||
<c:set var="lastPartTel" value="${ fn:substring(order.ordrrTelnb, 9, 12)}" />
|
||||
</th>
|
||||
--%>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
${order.mbrNm}
|
||||
<input type="hidden" name="" value="${ order.mbrNm }"/>
|
||||
</td>
|
||||
<td>
|
||||
<div class="inputEmail">
|
||||
<div class="select-box">
|
||||
<select class="short2" title="해당 셀렉트에 대한 설명" name="returnCstmrMbtlnb">
|
||||
<option value="010" <c:if test="${firstPart eq '010'}">selected</c:if>>010</option>
|
||||
<option value="011" <c:if test="${firstPart eq '011'}">selected</c:if>>011</option>
|
||||
</select>
|
||||
</div>
|
||||
<span class="mx-3 fs-16">-</span>
|
||||
<input type="text" class="input-text xsm" value="${middlePart}" title="해당 인풋에 대한 설명" name="returnCstmrMbtlnb" maxlength="4">
|
||||
<span class="mx-3 fs-16">-</span>
|
||||
<input type="text" class="input-text xsm" value="${lastPart}" title="해당 인풋에 대한 설명" name="returnCstmrMbtlnb" maxlength="4">
|
||||
</div>
|
||||
</td>
|
||||
<%--
|
||||
<td>
|
||||
<div class="inputEmail">
|
||||
<div class="select-box">
|
||||
<select class="short2" title="해당 셀렉트에 대한 설명">
|
||||
<option value="02" <c:if test="${firstPartTel eq '02'}">selected</c:if>>서울 02</option>
|
||||
<option value="031" <c:if test="${firstPartTel eq '031'}">selected</c:if>>경기도 031</option>
|
||||
</select>
|
||||
</div>
|
||||
<span class="mx-3 fs-16">-</span>
|
||||
<input type="text" class="input-text xsm" value="${middlePartTel}" title="해당 인풋에 대한 설명">
|
||||
<span class="mx-3 fs-16">-</span>
|
||||
<input type="text" class="input-text xsm" value="${lastPartTel}" title="해당 인풋에 대한 설명">
|
||||
</div>
|
||||
</td>
|
||||
--%>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<%--
|
||||
<p class="orderRefundReason__title">연락처</p>
|
||||
<div class="signUp__inputBox__item">
|
||||
<div class="inputEmail">
|
||||
<div class="select-box">
|
||||
<select name="domain" title="이메일 자동발송 발신주소" onchange="fn_set_domain(this.value);">
|
||||
<option value="naver.com" >naver.com</option>
|
||||
<option value="hanmail.net" >hanmail.net</option>
|
||||
</select>
|
||||
</div>
|
||||
<span class="mx-3 fs-16">-</span>
|
||||
<input class="input-text xsm" type="text" id="id" title="이메일 id" placeholder="이메일" maxlength="25">
|
||||
<span class="mx-3 fs-16">-</span>
|
||||
<input class="input-text xsm" type="text" id="domain" title="이메일 domain" maxlength="25">
|
||||
</div>
|
||||
</div>
|
||||
<p class="orderRefundReason__title">연락처</p>
|
||||
<div class="orderRefundReason">
|
||||
<div class="orderRefundReason__item">
|
||||
<div class="orderRefundReason__itemTitle">구매자<br/></div>
|
||||
<div class="orderRefundReason__itemTitle">
|
||||
<input class="input-text" type="text" title="구매자" placeholder="구매자" id="" name="" value="${order.mbrNm}" readonly>
|
||||
</div>
|
||||
<div class="orderRefundReason__itemTitle">휴대폰<br/></div>
|
||||
<div class="orderRefundReason__itemTitle">
|
||||
<div class="select-box">
|
||||
<select class="short2" title="해당 셀렉트에 대한 설명" name="returnCstmrMbtlnb">
|
||||
<option value="010" <c:if test="${firstPart eq '010'}">selected</c:if>>010</option>
|
||||
<option value="011" <c:if test="${firstPart eq '011'}">selected</c:if>>011</option>
|
||||
</select>
|
||||
</div>
|
||||
<span class="mx-3 fs-16">-</span>
|
||||
<input type="text" class="input-text xsm" value="${middlePart}" title="해당 인풋에 대한 설명" name="returnCstmrMbtlnb">
|
||||
<span class="mx-3 fs-16">-</span>
|
||||
<input type="text" class="input-text xsm" value="${lastPart}" title="해당 인풋에 대한 설명" name="returnCstmrMbtlnb">
|
||||
</div>
|
||||
<div class="orderRefundReason__itemTitle">연락처<br/></div>
|
||||
<div class="orderRefundReason__itemTitle">
|
||||
<div class="select-box">
|
||||
<select class="short2" title="해당 셀렉트에 대한 설명" name="returnCstmrMbtlnb">
|
||||
<option value="010" <c:if test="${firstPart eq '010'}">selected</c:if>>010</option>
|
||||
<option value="011" <c:if test="${firstPart eq '011'}">selected</c:if>>011</option>
|
||||
</select>
|
||||
</div>
|
||||
<span class="mx-3 fs-16">-</span>
|
||||
<input type="text" class="input-text xsm" value="${middlePart}" title="해당 인풋에 대한 설명" name="returnCstmrMbtlnb">
|
||||
<span class="mx-3 fs-16">-</span>
|
||||
<input type="text" class="input-text xsm" value="${lastPart}" title="해당 인풋에 대한 설명" name="returnCstmrMbtlnb">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
--%>
|
||||
<p class="orderRefundReason__title">반품 방법을 선택해 주세요.(반송주소 : <c:out value="${ data.returnAddress }"/> )</p>
|
||||
<div class="orderRefundReason">
|
||||
<div class="custom-radio-container">
|
||||
<c:forEach var="cdList" items="${ data.returnMthCdList }" varStatus="status">
|
||||
<div class="custom-radio is-medium">
|
||||
<input type="radio" id="${ cdList.cdNm }${cdList.cd}" name="returnMthCd" value="${ cdList.cd }" <c:if test="${ cdList.cd eq '02' }">checked="checked"</c:if> onclick="fn_ctrl_retrun_mth();">
|
||||
<label for="${ cdList.cdNm }${cdList.cd}">${ cdList.cdNm }</label>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</div>
|
||||
<br/>
|
||||
<div class="orderRefundReason__item addressSelectDiv">
|
||||
<div class="orderRefundReason__itemTitle">배송지 주소<br/></div>
|
||||
<div class="orderRefundReason__itemTitle">
|
||||
<input class="input-text" type="text" title="해당 인풋에 대한 설명" placeholder="우편번호" id="senderZip" name="senderZip" readonly>
|
||||
<input type="hidden" id="senderAdresDvCd" name="senderAdresDvCd" value=""/>
|
||||
<button type="button" class="btn md theme outline" onclick="fn_select_postcode(fn_set_postcode_popup); return false;">우편번호 찾기</button><br>
|
||||
</div>
|
||||
<div class="orderRefundReason__itemTitle">
|
||||
<input type="text" id="senderRnmAdres" name="senderRnmAdres" class="input-text lg" title="도로명 주소" placeholder="도로명 주소" maxlength="20" readonly>
|
||||
</div>
|
||||
<div class="orderRefundReason__itemTitle">
|
||||
<input type="text" name="senderLnbAdres" id="senderLnbAdres" class="input-text lg" title="지번주소" placeholder="지번주소" maxlength="20" readonly>
|
||||
</div>
|
||||
<div class="orderRefundReason__itemTitle">상세 주소<br/></div>
|
||||
<div class="orderRefundReason__itemTitle">
|
||||
<input type="text" name="senderAdresDtl" id="senderAdresDtl" class="input-text lg" value="" title="상세 주소" placeholder="상세 주소" maxlength="50">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<c:if test="${not empty order.setleTyCd && ( order.setleTyCd eq '02' || order.setleTyCd eq '04' || order.setleTyCd eq '05' || order.setleTyCd eq '06' )}">
|
||||
<p class="orderRefundReason__title">환불방법을 입력해 주세요</p>
|
||||
<div class="orderRefundReason">
|
||||
<div class="orderRefundReason__item">
|
||||
<div class="orderRefundReason__itemTitle">은행</div>
|
||||
<div class="select-box">
|
||||
<select class="sm" title="해당 셀렉트에 대한 설명" name="refundAcntBnnkNm" id="refundAcntBnnkNm">
|
||||
<c:forEach var="cdList" items="${ data.bankCdList }" varStatus="status">
|
||||
<option value="<c:out value="${ cdList.cd }"/>,<c:out value="${ cdList.cdNm }"/>" ><c:out value="${ cdList.cdNm }"/></option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<%--<input type="text" name="refundAcntBnnkNm" id="refundAcntBnnkNm" class="input-text lg" title="은행" placeholder="환불 은행을 입력해 주세요." maxlength="20">--%>
|
||||
|
||||
<div class="orderRefundReason__itemTitle">예금주</div>
|
||||
<input type="text" name="refundAcntDpstrNm" id="refundAcntDpstrNm" class="input-text lg" title="예금주" placeholder="예금주 이름을 입력해 주세요." maxlength="20">
|
||||
<div class="orderRefundReason__itemTitle">계좌번호</div>
|
||||
<input type="text" name="refundAcntnb" id="refundAcntnb" class="input-text lg" value="" title="계좌번호" placeholder="계좌번호를 입력해 주세요." maxlength="50">
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
|
||||
|
||||
<p class="orderRefundReason__title returnDlvyAcntnbArea">배송비 결제방법을 선택해주세요.</p>
|
||||
<div class="cartOrder__list returnDlvyAcntnbArea">
|
||||
<div class="form-control-container mb-20">
|
||||
<div class="left">
|
||||
<div class="select-box">
|
||||
<select class="lg" title="반품 배송비 결제방법" id="returnDlvyPymntTyCd" name="returnDlvyPymntTyCd" onchange="fn_ctrl_return_dlvy_mth();">
|
||||
<option value="" disabled selected>반품 배송비 결제방법을 선택해 주세요.</option>
|
||||
<c:forEach var="cdList" items="${data.returnMtcCdList}">
|
||||
<option value="<c:out value="${cdList.cd}"/>" ><c:out value="${cdList.cdNm}"/></option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="center">
|
||||
</div>
|
||||
<div class="right">
|
||||
</div>
|
||||
</div>
|
||||
<div class="table-wrapper" id="returnMtcDiv">
|
||||
<table class="table vertical tight">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: 50%;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>은행</th>
|
||||
<th>입금자명</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="select-box">
|
||||
<select class="full" title="해당 셀렉트에 대한 설명" name="returnAcntBnnkNm" id="returnAcntBnnkNm">
|
||||
<option value="" selected disabled>선택</option>
|
||||
<c:forEach items="${ data.bankAccount }" var="bankAccount" varStatus="status">
|
||||
<option value="<c:out value="${ bankAccount.acntnb }"/>"><c:out value="${ bankAccount.dpstrNm }"/> <c:out value="${ bankAccount.acntnb }"/></option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<input type="text" class="input-text full" value="" name="returnAcntDpstrNm" id="returnAcntDpstrNm" title="입금자명">
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<%--<p class="fyi fs-13 mt-5 gray-7">환불 금액을 입력할 환불 계좌 정보입니다. 결제 수단이 무통장, 가상 계좌인 경우 결제 금액은 관리자가 수동으로 입금해주세요.--%>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="infoBox">
|
||||
<h6 class="infoBox__title">최초 배송비</h6>
|
||||
<p class="infoBox__paragraph">부분 결제 취소 시 추가 배송비가 발생할 수 있으며, 이 때 추가 배송비를 결제해 주셔야만 결제취소 처리완료가 가능합니다.
|
||||
</p>
|
||||
<h6 class="infoBox__title">[추가 배송비가 발생하는 경우]</h6>
|
||||
<ol class="infoBox__list">
|
||||
<li>① ‘묶음배송비’ 상품의 배송비 무료(금액별 차등) 조건을 충족하여 배송비 무료</li>
|
||||
<li>② 부분 결제취소로 배송비 무료 조건을 불충족하는 경우 추가 배송비 부과</li>
|
||||
<li>③ 추가 배송비는 카드 또는 마일리지로 결제 가능</li>
|
||||
</ol>
|
||||
<h6 class="infoBox__title">유의사항</h6>
|
||||
<ol class="infoBox__list">
|
||||
<li>① 결제확인 상태에서는 전체 취소만 가능합니다.</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="javascript:void(0);" rel="modal:close" class="btn large outline">닫기</a>
|
||||
<a href="javascript:void(0);" id="btnReturnRegist" class="btn large gray2">반품/환불 신청</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
let dlvylcZip = '${ defaultReturnAdress.dlvylcZip }';
|
||||
let dlvylcAdresDvCd = '${ defaultReturnAdress.dlvylcAdresDvCd }';
|
||||
let dlvylcRnmAdres = '${ defaultReturnAdress.dlvylcRnmAdres }';
|
||||
let dlvylcLnbAdres = '${ defaultReturnAdress.dlvylcLnbAdres }';
|
||||
let dlvylcAdresDtl = '${ defaultReturnAdress.dlvylcAdresDtl }';
|
||||
$(document).ready(function() {
|
||||
|
||||
$('input[name="senderZip"]').val(dlvylcZip);
|
||||
$('input[name="senderAdresDvCd"]').val(dlvylcAdresDvCd);
|
||||
$('input[name="senderRnmAdres"]').val(dlvylcRnmAdres);
|
||||
$('input[name="senderLnbAdres"]').val(dlvylcLnbAdres);
|
||||
$('input[name="senderAdresDtl"]').val(dlvylcAdresDtl);
|
||||
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,916 @@
|
||||
<%@ 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 : WslistInqireRForm.jsp
|
||||
Description : 마이페이지 위시리스트
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-02-27 추지훈 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
|
||||
<%-- 공통 include --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/Include.jsp"/>
|
||||
</head>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
|
||||
fn_start_display();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/******************************************************************
|
||||
* 시작 화면 제어
|
||||
******************************************************************/
|
||||
const fn_start_display = function() {
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
* 반품/환불 목록 이동
|
||||
* *******************************************************************/
|
||||
const fn_order_refund_list = function() {
|
||||
$('#listForm').attr('action', '<c:url value="/sopmal/mpage/ordr/selectRtngudCanclRefndForm"/>');
|
||||
$('#listForm').attr('method', 'post');
|
||||
$('#listForm').submit();
|
||||
}
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
* 반품 주소 변경
|
||||
* *******************************************************************/
|
||||
const fn_update_dlvy_info = function () {
|
||||
|
||||
const data = $('#returnDlvyUpdtForm').serializeArray();
|
||||
|
||||
|
||||
if (confirm('반품 배송지 정보를 <spring:message code="confirm.common.update"/>')) {
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '<c:url value="/sopmal/mpage/ordr/updateRtngudCanclRefndUpdt"/>',
|
||||
data: data,
|
||||
success: function (result) {
|
||||
|
||||
alert('<spring:message code="success.common.update"/>');
|
||||
location.reload();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
* 환불 계좌 정보 변경
|
||||
* *******************************************************************/
|
||||
const fn_update_acnt_info = function () {
|
||||
|
||||
const data = $('#refundAcntUpdtForm').serialize();
|
||||
|
||||
if (confirm('환불 계좌 정보를 <spring:message code="confirm.common.update"/>')) {
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '<c:url value="/sopmal/mpage/ordr/updateRtngudCanclRefndUpdt"/>',
|
||||
data: data,
|
||||
success: function (result) {
|
||||
|
||||
alert('<spring:message code="success.common.update"/>');
|
||||
location.reload();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* ********************************************************
|
||||
* 우편번호 찾기
|
||||
******************************************************** */
|
||||
const fn_set_postcode = function(data) {
|
||||
|
||||
$('#postcode').val(data.postcode);
|
||||
$('#adresDvCd').val(data.addressType);
|
||||
if (data.addressType == '02') {
|
||||
$('#address').val(data.jibunAddress);
|
||||
} else if (data.addressType == '01') {
|
||||
$('#address').val(data.roadAddress);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 반품 상품 QNA 문의 팝업
|
||||
* @param goodsInnb
|
||||
*/
|
||||
const fn_goods_qna_pop_regist = (goodsInnb) => {
|
||||
$.ajax({
|
||||
type: "post",
|
||||
data: {
|
||||
authDv: "REGIST",
|
||||
reqUrl: "modal",
|
||||
bbsId: "goods_qna",
|
||||
goodsInnb: goodsInnb,
|
||||
listAt: "list",
|
||||
},
|
||||
url: "/sopmal/csc/selectBbscttAuth",
|
||||
success: function (data) {
|
||||
/*모달중복제거*/
|
||||
fn_close_modal("qna-pop-regist");
|
||||
fn_close_modal("qna-update-pop");
|
||||
$("#modalDiv").html(data);
|
||||
$("#qna-pop-regist").modal();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<body>
|
||||
|
||||
<%-- 공통 Header --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/Header.jsp"/>
|
||||
|
||||
<!-- 메인 컨텐츠 영역 -->
|
||||
<main>
|
||||
<div class="sub-wrapper">
|
||||
<div class="sub-content">
|
||||
<div class="sub-rl">
|
||||
<spring:eval expression="@environment.getProperty('sopmalfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
||||
<%-- 마이페이지 Left 영역 --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/mpage/MypageLeft.jsp"/>
|
||||
<div class="sub-right-content">
|
||||
<%-- 마이페이지 Right 영역 --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/mpage/MypageRight.jsp"/>
|
||||
<div class="sub-right-content__section">
|
||||
<h3 class="sub-right-content__title"><c:if test = "${not empty resultMap.result.refnd.returnProcsSttusCd}">반품/</c:if>환불 내역</h3>
|
||||
<div class="sub-right-content__section">
|
||||
<h3 class="orderDetail__title"><c:out value="${ resultMap.result.refnd.registDt }"/>
|
||||
<span class="orderDetail__titleNum">
|
||||
<c:choose>
|
||||
<c:when test = "${not empty resultMap.result.refnd.returnProcsSttusCd}">
|
||||
반품번호
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
환불번호
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<c:out value="${ resultMap.result.refnd.orderRefundInnb }"/>
|
||||
</span>
|
||||
</h3>
|
||||
<div class="cartOrder__list">
|
||||
<div class="table-wrapper">
|
||||
<table class="table vertical">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: auto;">
|
||||
<col style="width: 40px;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 7%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>상품명</th>
|
||||
<th>수량</th>
|
||||
<th>상품금액</th>
|
||||
<th>할인금액</th>
|
||||
<th>할인적용금액</th>
|
||||
<th>환불신청수량</th>
|
||||
<th>배송비</th>
|
||||
<th>문의</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:set var="rePreOrdrDlvyInnb" value="0"/>
|
||||
<c:set var="reDlvyCnt" value="1"/>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.result.itemsList }">
|
||||
<c:forEach var="refundList" items="${ resultMap.result.itemsList }" varStatus="status">
|
||||
<tr>
|
||||
<td>
|
||||
<div class="cartItem">
|
||||
<div class="cartItem__image">
|
||||
<a href="<c:url value="/sopmal/goods/selectGoodsDtl?sopmalCd=${refundList.sopmalCd}&goodsInnb=${refundList.goodsInnb}"/>" class="orderList__image">
|
||||
<img src="<c:out value="${ cdnurl }"/><c:out value="${ refundList.img }"/>" onerror="this.src='/pc/images/image_placeholder.png'" alt="<c:out value="${refundList.goodsNm}"/>">
|
||||
</a>
|
||||
</div>
|
||||
<div class="cartItem__productInfo">
|
||||
<a href="" class="cartItem__productTitle">
|
||||
<c:out value="${ refundList.goodsNm }"/>
|
||||
</a>
|
||||
<c:if test="${ not empty refundList.optnNm }">
|
||||
<span class="cartItem__productOption">
|
||||
<span class="option-badge">옵션</span>
|
||||
<c:out value="${ refundList.optnNm }"/>
|
||||
</span>
|
||||
</c:if>
|
||||
(<c:out value="${ refundList.dlvylcZip }"/>)
|
||||
<c:choose>
|
||||
<c:when test="${ refundList.dlvylcAdresDvCd eq '01' }">
|
||||
<c:out value="${ refundList.dlvylcRnmAdres }"/>
|
||||
</c:when>
|
||||
<c:when test="${ refundList.dlvylcAdresDvCd eq '02' }">
|
||||
<c:out value="${ refundList.dlvylcLnbAdres }"/>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<c:out value="${ refundList.dlvylAdresDtl }"/>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<span><c:out value="${ refundList.ordrQy }"/></span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="cartItem__normalPrice"><span
|
||||
class=" comma"><c:out value="${ refundList.slepric }"/></span><span
|
||||
class="priceUnit">원</span>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="cartItem__discountPrice"><span
|
||||
class="cartItem__discountMinus">(-)</span><span
|
||||
class="comma"><c:out value="${ refundList.dscntAmt }"/></span><span
|
||||
class="priceUnit">원</span>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="cartItem__afterPrice"><span
|
||||
class="comma"><c:out value="${ refundList.applyDscntAmt }"/></span>
|
||||
<span class="priceUnit">원</span>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<span><c:out value="${ refundList.refundQy }"/></span>
|
||||
</td>
|
||||
<c:choose>
|
||||
<c:when test="${ refundList.ordrTyCd eq '04' || refundList.ordrTyCd eq '05' }">
|
||||
<c:set var="reRowspanCnt" value="0"/>
|
||||
<c:forEach var="tmpGoods" items="${resultMap.result.itemsList}">
|
||||
<c:set var="reRowspanCnt" value="${refundList.ordrDlvyInnb == tmpGoods.ordrDlvyInnb ? reRowspanCnt + 1 : reRowspanCnt}"/>
|
||||
</c:forEach>
|
||||
<c:if test="${rePreOrdrDlvyInnb != refundList.ordrDlvyInnb}">
|
||||
<td class="center" rowspan="${reRowspanCnt}">
|
||||
<span class="fs-13 fw-400">${reDlvyCnt += ' 번째 배송지'}</span><br>
|
||||
<span class="fs-13 fw-400">${refundList.dlvyMthNm}</span><br>
|
||||
<c:choose>
|
||||
<c:when test="${0 == refundList.dlvyAmt}">
|
||||
<span class="fs-13 fw-400">무료</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<span class="fs-13 fw-400"><fmt:formatNumber value="${refundList.dlvyAmt}" pattern="#,###"/></span>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
<c:set var="rePreOrdrDlvyInnb" value="${refundList.ordrDlvyInnb}"/>
|
||||
<c:set var="reDlvyCnt" value="${reDlvyCnt + 1}"/>
|
||||
</c:if>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:if test="${status.index == 0}">
|
||||
<td class="center" ${fn:length(resultMap.result.itemsList) > 1 ? 'rowspan="' += fn:length(resultMap.result.itemsList) += '"' : ''}>
|
||||
<span class="fs-13 fw-400">${refundList.dlvyMthNm}</span><br>
|
||||
<c:choose>
|
||||
<c:when test="${0 == refundList.dlvyAmt}">
|
||||
<span class="fs-13 fw-400">무료</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<span class="fs-13 fw-400"><fmt:formatNumber value="${refundList.dlvyAmt}" pattern="#,###"/></span>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</c:if>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<td>
|
||||
<button type="button" class="btn sm gray2 sub-right-content__innerTitleBtn" onclick="fn_goods_qna_pop_regist('<c:out value="${ refundList.goodsInnb }"/>')">문의</button>
|
||||
</td>
|
||||
<%---
|
||||
<td>
|
||||
<span class="cartItem__shippingFee"><span
|
||||
class=" comma">3,000</span><span
|
||||
class="priceUnit">원</span>
|
||||
</span>
|
||||
</td>
|
||||
--%>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr class="row-no-data">
|
||||
<td colspan="100%" class="text-center">조회된 데이터가 없습니다.</td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
<tfoot class="refundSum">
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-right-content__section">
|
||||
<h3 class="sub-right-content__innerTitle"><c:if test = "${not empty resultMap.result.refnd.returnProcsSttusCd}">반품/</c:if>환불 처리</h3>
|
||||
<div class="table-wrapper orderDetail__table">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th><c:if test = "${not empty resultMap.result.refnd.returnProcsSttusCd}">반품/</c:if>환불 상태</th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.result.refnd.returnProcsSttusCd }">
|
||||
<c:out value="${ resultMap.result.refnd.returnProcsSttusCdNm }"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:out value="${ resultMap.result.refnd.refundProcsSttusCdNm }"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><c:if test = "${not empty resultMap.result.refnd.returnProcsSttusCd}">반품/</c:if>환불 번호</th>
|
||||
<td><c:out value="${ resultMap.result.refnd.orderRefundInnb }"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>환불 종류</th>
|
||||
<td><c:out value="${ resultMap.result.refnd.refundTyCdNm }"/></td>
|
||||
</tr>
|
||||
<c:if test = "${not empty resultMap.result.refnd.returnProcsSttusCd}">
|
||||
<tr>
|
||||
<th>반품 접수일</th>
|
||||
<td><c:out value="${ resultMap.result.refnd.returnRceptDt }"/></td>
|
||||
</tr>
|
||||
</c:if>
|
||||
<tr>
|
||||
<th>환불 접수일</th>
|
||||
<td><c:out value="${ resultMap.result.refnd.refundReqstDt }"/></td>
|
||||
</tr>
|
||||
<c:if test = "${not empty resultMap.result.refnd.returnComptDt}">
|
||||
<tr>
|
||||
<th>반품 완료일</th>
|
||||
<td><c:out value="${ resultMap.result.refnd.returnComptDt }"/></td>
|
||||
</tr>
|
||||
</c:if>
|
||||
<c:if test = "${not empty resultMap.result.refnd.refundComptDt}">
|
||||
<tr>
|
||||
<th>환불 완료일</th>
|
||||
<td><c:out value="${ resultMap.result.refnd.refundComptDt }"/></td>
|
||||
</tr>
|
||||
</c:if>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<c:if test="${ not empty resultMap.result.refnd.returnRceptDt }">
|
||||
<div class="sub-right-content__section">
|
||||
<h3 class="sub-right-content__innerTitle">반품정보
|
||||
<c:if test="${ resultMap.result.refnd.returnProcsSttusCd eq '01' }">
|
||||
<button id="returnInfoTrigger" class="btn sm gray2 sub-right-content__innerTitleBtn" onclick="fn_update_dlvy_info();">변경</button>
|
||||
</c:if>
|
||||
</h3>
|
||||
<form id="returnDlvyUpdtForm">
|
||||
<input type="hidden" name="orderReInnb" value="<c:out value="${ resultMap.result.refnd.orderRefundInnb }"/>"/>
|
||||
<div id="returnInfoContent01" class="table-wrapper orderDetail__table">
|
||||
<c:choose>
|
||||
<c:when test="${ resultMap.result.refnd.returnProcsSttusCd eq '01' }">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">회수방법</span>
|
||||
</th>
|
||||
<td>
|
||||
<div class="select-box">
|
||||
<select class="lg" title="해당 셀렉트에 대한 설명" name="returnMthCd">
|
||||
<option value="" disabled selected>선택</option>
|
||||
<c:forEach var="cdList" items="${ resultMap.returnMthCdList }" varStatus="status">
|
||||
<c:choose>
|
||||
<c:when test="${ resultMap.result.refnd.returnMthCd eq cdList.cd }">
|
||||
<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>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="editAccount__title">주소</span>
|
||||
</th>
|
||||
<td>
|
||||
<div class="inputAddress">
|
||||
<div class="inputAddress__postalCode">
|
||||
<input class="input-text" type="text" id="postcode" name="zip" title="우편번호" value="<c:out value="${ resultMap.result.refnd.senderZip }"/>" placeholder="우편번호" readonly>
|
||||
<button type="button" onclick="fn_select_postcode(fn_set_postcode); return false;" class="btn md theme outline">
|
||||
우편번호 찾기
|
||||
</button>
|
||||
</div>
|
||||
<input type="hidden" id="adresDvCd" name="adresDvCd" value="<c:out value="${ resultMap.result.refnd.senderAdresDvCd }"/>"/>
|
||||
<input class="input-text full" type="text" id="address" name="lnbOrRnmAdres"
|
||||
<c:choose>
|
||||
<c:when test="${ resultMap.result.refnd.senderAdresDvCd eq '01' }">
|
||||
value="<c:out value="${ resultMap.result.refnd.senderRnmAdres }"/>"
|
||||
</c:when>
|
||||
<c:when test="${ resultMap.result.refnd.senderAdresDvCd eq '02' }">
|
||||
value="<c:out value="${ resultMap.result.refnd.senderLnbAdres }"/>"
|
||||
</c:when>
|
||||
</c:choose>
|
||||
readonly title="지번 주소" placeholder="지번 주소">
|
||||
<input class="input-text full" type="text" id="detailAddress" name="dtlAdres" value="<c:out value="${ resultMap.result.refnd.senderAdresDtl }"/>" title="상세 주소" placeholder="상세 주소">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">휴대폰 번호</span>
|
||||
</th>
|
||||
<td>
|
||||
<input class="input-text" type="text" title="해당 인풋에 대한 설명" value="<c:out value="${ resultMap.result.refnd.returnCstmrMbtlnb }"/>" name="returnCstmrMbtlnb" oninput="fn_fmt_telno($(this));" maxlength="13"
|
||||
placeholder="">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">반품 사유</span>
|
||||
</th>
|
||||
<td>
|
||||
<div class="select-box">
|
||||
<select class="lg" title="해당 셀렉트에 대한 설명" name="returnResnCd">
|
||||
<c:forEach var="returnResn" items="${resultMap.returnResnList}">
|
||||
<c:choose>
|
||||
<c:when test="${ returnResn.cd eq resultMap.result.refnd.returnResnCd }">
|
||||
<option value="<c:out value="${returnResn.cd}"/>" selected="selected"><c:out value="${returnResn.cdNm}"/></option>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<option value="<c:out value="${returnResn.cd}"/>"><c:out value="${returnResn.cdNm}"/></option>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">상세 사유</span>
|
||||
</th>
|
||||
<td>
|
||||
<textarea class="textarea" rows="6" title="해당 텍스트 에어리어에 대한 설명" name="returnResnCn"
|
||||
placeholder="최소 10자 이상으로 입력해 주세요."><c:out value="${ resultMap.result.refnd.returnResnCn }"/></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">회수방법</span>
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${ resultMap.result.refnd.returnMthCdNm }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">주소</span>
|
||||
</th>
|
||||
<td>
|
||||
<c:if test="${ not empty resultMap.result.refnd.senderZip }">
|
||||
(<c:out value="${ resultMap.result.refnd.senderZip }"/>)
|
||||
</c:if>
|
||||
<c:choose>
|
||||
<c:when test="${ resultMap.result.refnd.senderAdresDvCd eq '01'}">
|
||||
<c:out value="${ resultMap.result.refnd.senderRnmAdres }"/>
|
||||
</c:when>
|
||||
<c:when test="${ resultMap.result.refnd.senderAdresDvCd eq '02'}">
|
||||
<c:out value="${ resultMap.result.refnd.senderLnbAdres }"/>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<c:out value="${ resultMap.result.refnd.senderAdresDtl }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">휴대폰 번호</span>
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${ resultMap.result.refnd.returnCstmrMbtlnb }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">반품 사유</span>
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${ resultMap.result.refnd.returnResnCdNm }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">상세 사유</span>
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${ resultMap.result.refnd.returnResnCn }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">배송비 입금</span>
|
||||
</th>
|
||||
<td>
|
||||
<%--우리은행 1005-102-768159<br>(예금주: ㈜에스엘바이오텍)--%>
|
||||
<c:if test="${ not empty resultMap.result.refnd.returnDlvyRcpmnyAcntnb }">
|
||||
<c:out value="${ resultMap.result.refnd.returnDlvyRcpmnyAcntnb }"/><br>(예금주: <c:out value="${ resultMap.result.refnd.returnDlvyRcpmnyNm }"/>)
|
||||
</c:if>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</c:if>
|
||||
<div class="sub-right-content__section">
|
||||
<h3 class="sub-right-content__innerTitle">환불정보
|
||||
<c:if test="${ resultMap.result.refnd.refundProcsSttusCd ne '03' }">
|
||||
<button id="refundInfoTrigger" class="btn sm gray2 sub-right-content__innerTitleBtn" onclick="fn_update_acnt_info();">변경</button>
|
||||
</c:if>
|
||||
</h3>
|
||||
<form id="refundAcntUpdtForm">
|
||||
<input type="hidden" name="orderReInnb" value="<c:out value="${ resultMap.result.refnd.orderRefundInnb }"/>"/>
|
||||
<div id="refundInfoContent01" class="table-wrapper orderDetail__table">
|
||||
<c:choose>
|
||||
<c:when test="${ resultMap.result.refnd.refundProcsSttusCd eq '03' }">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">환불은행</span>
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${ resultMap.result.refnd.refundAcntBnnkNm }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">예금주</span>
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${ resultMap.result.refnd.refundAcntDpstrNm }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">계좌번호</span>
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${ resultMap.result.refnd.refundAcntnb }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">취소 사유</span>
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${ resultMap.result.refnd.returnResnCdNm }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">상세 사유</span>
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${ resultMap.result.refnd.returnResnCn }"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">환불은행</span>
|
||||
</th>
|
||||
<td>
|
||||
<%--
|
||||
<input class="input-text" type="text" title="환불은행" value="<c:out value="${ resultMap.result.refnd.refundAcntBnnkNm }"/>" name="refundAcntBnnkNm"
|
||||
placeholder="환불은행">
|
||||
--%>
|
||||
<div class="select-box">
|
||||
<select class="sm" title="해당 셀렉트에 대한 설명" name="refundAcntBnnkNm" id="refundAcntBnnkNm">
|
||||
<c:forEach var="cdList" items="${ resultMap.bankCdList }" varStatus="status">
|
||||
<c:choose>
|
||||
<c:when test="${ cdList.cd eq resultMap.result.refnd.refundAcntBnnkCd }">
|
||||
<option value="<c:out value="${ cdList.cd }"/>,<c:out value="${ cdList.cdNm }"/>" selected="selected" ><c:out value="${ cdList.cdNm }"/></option>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<option value="<c:out value="${ cdList.cd }"/>,<c:out value="${ cdList.cdNm }"/>" ><c:out value="${ cdList.cdNm }"/></option>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">예금주</span>
|
||||
</th>
|
||||
<td>
|
||||
<input class="input-text" type="text" title="예금주명" value="<c:out value="${ resultMap.result.refnd.refundAcntDpstrNm }"/>" name="refundAcntDpstrNm"
|
||||
placeholder="예금주명">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">계좌번호</span>
|
||||
</th>
|
||||
<td>
|
||||
<input class="input-text" type="text" title="계좌번호" value="<c:out value="${ resultMap.result.refnd.refundAcntnb }"/>" name="refundAcntnb"
|
||||
placeholder="계좌번호 '-' 포함 or 숫자만 확인 필요">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">환불사유내용</span>
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${ resultMap.result.refnd.refundResnCn }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<%--
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">취소 사유</span>
|
||||
</th>
|
||||
<td>
|
||||
<div class="select-box">
|
||||
<select class="lg" title="해당 셀렉트에 대한 설명">
|
||||
<option value="" disabled selected>선택</option>
|
||||
<option value="">고객 단순 변심</option>
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="orderDetail__thText">상세 사유</span>
|
||||
</th>
|
||||
<td>
|
||||
<textarea class="textarea" rows="6" title="해당 텍스트 에어리어에 대한 설명" name="refundResnCn"
|
||||
placeholder="최소 10자 이상으로 입력해 주세요."><c:out value="${ resultMap.result.refnd.refundResnCn }"/></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
--%>
|
||||
</tbody>
|
||||
</table>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="sub-right-content__section">
|
||||
<h3 class="sub-right-content__innerTitle">
|
||||
환불 금액
|
||||
</h3>
|
||||
<div class="priceSum">
|
||||
<c:set var="reTotAmt" value="${ resultMap.result.totRefundDscntAmt }"/>
|
||||
<div class="priceSum__inner">
|
||||
<div class="priceSum__item">
|
||||
<span class="priceSum__itemTitle"><c:out value="${ reTotAmt.setleTyCdNm }"/></span>
|
||||
<span class="priceSum__itemPrice">
|
||||
<span class="comma priceSum__itemNum"><c:out value="${ reTotAmt.refundAmtQySum }"/></span>
|
||||
<span class="priceUnit">원</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="priceSum__operator">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"
|
||||
viewBox="0 0 16 16" fill="none">
|
||||
<g clip-path="url(#clip0_160_29539)">
|
||||
<path
|
||||
d="M8.99824 7.00176V0H7.00176V7.00176H0V8.99824H7.00176V16H8.99824V8.99824H16V7.00176H8.99824Z"
|
||||
fill="black" />
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_160_29539">
|
||||
<rect width="16" height="16" fill="white" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="priceSum__item priceSum__item--misc">
|
||||
<span class="priceSum__itemTitle">마일리지</span>
|
||||
<span class="priceSum__itemPrice">
|
||||
<span class="comma priceSum__itemNum"><c:out value="${ reTotAmt.totRefundMlgAmt }"/></span>
|
||||
<span class="priceUnit">원</span>
|
||||
</span>
|
||||
</div>
|
||||
<!-- 마이너스 -->
|
||||
<!-- <div class="priceSum__operator">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"
|
||||
fill="none">
|
||||
<path d="M16 7H0V9.00002H16V7Z" fill="black" />
|
||||
</svg>
|
||||
</div> -->
|
||||
<div class="priceSum__operator">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"
|
||||
viewBox="0 0 16 16" fill="none">
|
||||
<g clip-path="url(#clip0_160_29539)">
|
||||
<path
|
||||
d="M8.99824 7.00176V0H7.00176V7.00176H0V8.99824H7.00176V16H8.99824V8.99824H16V7.00176H8.99824Z"
|
||||
fill="black" />
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_160_29539">
|
||||
<rect width="16" height="16" fill="white" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="priceSum__item priceSum__item--misc">
|
||||
<span class="priceSum__itemTitle">쿠폰</span>
|
||||
<span class="priceSum__itemPrice">
|
||||
<span class="comma priceSum__itemNum"><c:out value="${ reTotAmt.totRefundCouponAmt }"/></span>
|
||||
<span class="priceUnit">원</span>
|
||||
</span>
|
||||
</div>
|
||||
<c:if test="${ reTotAmt.rlDlvyAmtRefundAmt > 0}">
|
||||
<div class="priceSum__operator">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"
|
||||
fill="none">
|
||||
<path d="M16 7H0V9.00002H16V7Z" fill="black" />
|
||||
</svg>
|
||||
</div>
|
||||
<div class="priceSum__item priceSum__item--misc">
|
||||
<span class="priceSum__itemTitle">반품배송비</span>
|
||||
<span class="priceSum__itemPrice">
|
||||
<span class="comma priceSum__itemNum"><c:out value="${ reTotAmt.rlDlvyAmtRefundAmt }"/></span>
|
||||
<span class="priceUnit">원</span>
|
||||
</span>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${ reTotAmt.totReturnDlvyAmt > 0}">
|
||||
<div class="priceSum__operator">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"
|
||||
viewBox="0 0 16 16" fill="none">
|
||||
<g clip-path="url(#clip0_160_29539)">
|
||||
<path
|
||||
d="M8.99824 7.00176V0H7.00176V7.00176H0V8.99824H7.00176V16H8.99824V8.99824H16V7.00176H8.99824Z"
|
||||
fill="black" />
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_160_29539">
|
||||
<rect width="16" height="16" fill="white" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="priceSum__item priceSum__item--misc">
|
||||
<span class="priceSum__itemTitle">환불배송비</span>
|
||||
<span class="priceSum__itemPrice">
|
||||
<span class="comma priceSum__itemNum"><c:out value="${ reTotAmt.totReturnDlvyAmt }"/></span>
|
||||
<span class="priceUnit">원</span>
|
||||
</span>
|
||||
</div>
|
||||
</c:if>
|
||||
<div class="priceSum__equals">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28"
|
||||
viewBox="0 0 28 28" fill="none">
|
||||
<path d="M3.5 17.5H24.5V19.8333H3.5V17.5Z" fill="black" />
|
||||
<path d="M3.5 8.16699H24.5V10.5003H3.5V8.16699Z" fill="black" />
|
||||
</svg>
|
||||
</div>
|
||||
<div class="priceSum__total">
|
||||
<span class="priceSum__totalTitle">환불 금액</span>
|
||||
<div class="priceSum__totalPrice">
|
||||
<span class="comma"><c:out value="${ reTotAmt.rlRefundAmt }"/></span>
|
||||
<span class="priceUnit">원</span>
|
||||
</div>
|
||||
<div class="priceSum__totalDetail">
|
||||
(상품금액 <span class="comma"><c:out value="${ reTotAmt.refundAmtQySum }"/></span>원 + 배송비 <span class="comma"><c:out value="${ reTotAmt.rlDlvyAmt }"/></span>원)
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--
|
||||
<div class="refundProcess">
|
||||
<ol class="refundProcess__list">
|
||||
<li class="refundProcess__item">
|
||||
<span class="refundProcess__num">1</span>
|
||||
<span class="refundProcess__title">반품/교환 신청</span>
|
||||
<p class="refundProcess__text">고객님의 반품/교환 신청이<br>접수되었습니다.</p>
|
||||
</li>
|
||||
<li class="refundProcess__item">
|
||||
<span class="refundProcess__num">2</span>
|
||||
<span class="refundProcess__title">반품/교환 처리중</span>
|
||||
<p class="refundProcess__text">고객님의 반품을<br>처리중입니다.</p>
|
||||
</li>
|
||||
<li class="refundProcess__item">
|
||||
<span class="refundProcess__num">3</span>
|
||||
<span class="refundProcess__title">반품/교환 완료</span>
|
||||
<p class="refundProcess__text">고객님<br>반품이 완료되었습니다.</p>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
-->
|
||||
<div class="sub-bottom-btn-container">
|
||||
<button type="button" class="btn xl outline theme" onclick="fn_order_refund_list();">반품 / 환불 목록</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<form id="listForm">
|
||||
<input type="hidden" id="orderRefundInnb" name ="orderRefundInnb"/>
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value="${ paramVO.pageIndex }"/>
|
||||
<input type="hidden" id="recordCountPerPage" name="recordCountPerPage" value="${ paramVO.recordCountPerPage }"/>
|
||||
<input type="hidden" id="pageUnit" name="pageUnit" value="${ paramVO.pageUnit }"/>
|
||||
</form>
|
||||
|
||||
<%-- 공통 Footer --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/Footer.jsp"/>
|
||||
|
||||
<!-- 모달 -->
|
||||
<div id="modalDiv">
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,275 @@
|
||||
<%@ 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 : WslistInqireRForm.jsp
|
||||
Description : 마이페이지 위시리스트
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-02-27 추지훈 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
|
||||
<%-- 공통 include --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/Include.jsp"/>
|
||||
</head>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
// fn_set_param();
|
||||
|
||||
let pageIndex = '<c:out value="${ resultMap.paramVO.pageIndex }"/>';
|
||||
let pageUnit = '<c:out value="${ resultMap.paramVO.pageUnit }"/>';
|
||||
|
||||
fn_select_refund_list(pageIndex, pageUnit);
|
||||
|
||||
fn_start_display();
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
/******************************************************************
|
||||
* 시작 화면 제어
|
||||
******************************************************************/
|
||||
const fn_start_display = function() {
|
||||
|
||||
/* 검색조건 > 날짜 구간 버튼 클릭 이벤트 */
|
||||
$('.dateRange-btn').on('click', function() {
|
||||
const date = $(this).attr('id');
|
||||
|
||||
$(this).closest('div').find('#dateRange').val(date);
|
||||
|
||||
if ('allDays' === date) {
|
||||
$('#bgnDt, #endDt').val('');
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
fn_set_date('bgnDt', 'endDt', 'endDt', date);
|
||||
});
|
||||
|
||||
/* 검색 버튼 클릭 이벤트 */
|
||||
$('#btnSearch').on('click', function() {
|
||||
fn_select_refund_list(1);
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* 검색조건 세팅 */
|
||||
const fn_set_param = function() {
|
||||
const params = ${paramVO};
|
||||
const keys = Object.keys(params);
|
||||
|
||||
for (let i = 0; i < keys.length; i++) {
|
||||
let key = keys[i];
|
||||
let data = params[key];
|
||||
|
||||
if ('bgnDt' == key || 'endDt' == key) {
|
||||
if (!fn_is_empty(data)) {
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
$('#' + key).val(data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ('dateRange' == key) {
|
||||
$('#'+ data).trigger('click');
|
||||
}
|
||||
|
||||
if ('srchwrd' == key) {
|
||||
$('#' + key).val(data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/******************************************************************
|
||||
* 반품/환불 목록 조회
|
||||
******************************************************************/
|
||||
const fn_select_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;
|
||||
}
|
||||
}
|
||||
|
||||
$('#pageIndex').val(pageIndex);
|
||||
|
||||
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url : '<c:url value="/sopmal/mpage/ordr/selectRtngudCanclRefndInqire"/>',
|
||||
data : dataStr,
|
||||
success:function(resultHtml) {
|
||||
$('#pageDiv').empty();
|
||||
$('#pageDiv').html(resultHtml);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/****************************************************
|
||||
* 반품환불 상세 수정폼 이동
|
||||
*****************************************************/
|
||||
const fn_move_dtlupdt = function(orderReInnb, ordrInnb) {
|
||||
|
||||
$('#listForm').attr('action', '<c:url value="/sopmal/mpage/ordr/selectRtngudCanclRefndDtlInqire"/>');
|
||||
$('#listForm').attr('method', 'get');
|
||||
$('#orderReInnb').val(orderReInnb);
|
||||
$('#ordrInnb').val(ordrInnb);
|
||||
$('#listForm').submit();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* 주문상세 이동 */
|
||||
const fn_go_ordr_dtl = function (sopmalCd, ordrInnb) {
|
||||
var form = $('#listForm');
|
||||
|
||||
$(form).append($('<input/>', {type: 'hidden', name: 'sopmalCd', id: 'sopmalCd', value: sopmalCd}));
|
||||
$('#ordrInnb').val(ordrInnb);
|
||||
|
||||
$(form).attr('method', 'get');
|
||||
$(form).attr('action', '<c:url value="/sopmal/mpage/ordr/selectMbrOrdrDtlInqire"/>');
|
||||
|
||||
$(form).submit();
|
||||
}
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<body>
|
||||
|
||||
<%-- 공통 Header --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/Header.jsp"/>
|
||||
|
||||
<!-- 메인 컨텐츠 영역 -->
|
||||
<main>
|
||||
<div class="sub-wrapper">
|
||||
<div class="sub-content">
|
||||
<div class="sub-rl">
|
||||
<%-- 마이페이지 Left 영역 --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/mpage/MypageLeft.jsp"/>
|
||||
<div class="sub-right-content">
|
||||
<%-- 마이페이지 Right 영역 --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/mpage/MypageRight.jsp"/>
|
||||
<div class="sub-right-content__section">
|
||||
<h3 class="sub-right-content__title">반품 / 교환 / 취소·환불 </h3>
|
||||
<form id="listForm">
|
||||
<input type="hidden" id="orderReInnb" name="orderReInnb" value=""/>
|
||||
<input type="hidden" id="ordrInnb" name="ordrInnb" value=""/>
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value="${ resultMap.paramVO.pageIndex}"/>
|
||||
<input type="hidden" id="pageUnit" name="pageUnit" value="${ resultMap.paramVO.pageUnit}"/>
|
||||
<div class="customer-search">
|
||||
<div class="customer-search__row justify-start">
|
||||
<input type="text" name="srchwrd" id="srchwrd" class="input-text customer-search__search" title="검색어 입력" placeholder="주문번호, 상품명 검색">
|
||||
</div>
|
||||
<div class="customer-search__row justify-start">
|
||||
<div class="customer-search__controls">
|
||||
<div class="dateRange-btnContainer">
|
||||
<input type="hidden" name="dateRange" id="dateRange" value="allDays">
|
||||
<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 selected" id="allDays">전체</button>
|
||||
</div>
|
||||
<div class="input-container">
|
||||
<input type="text" name="bgnDt" id="bgnDt" class="datepicker" title="시작 날짜 선택" autocomplete="off">
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" name="endDt" id="endDt" class="datepicker" title="종료 날짜 선택" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<button type="button" id="btnSearch" class="btn md dark">검색</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-tab">
|
||||
<%--
|
||||
<div class="sub-tab__trigger">
|
||||
<button class="sub-tab__btn current">전체</button>
|
||||
<button class="sub-tab__btn">환불</button>
|
||||
<button class="sub-tab__btn">교환/반품</button>
|
||||
</div>
|
||||
--%>
|
||||
<div id="pageDiv">
|
||||
|
||||
</div>
|
||||
|
||||
<%--
|
||||
<div class="sub-tab__content">
|
||||
2
|
||||
</div>
|
||||
<div class="sub-tab__content">
|
||||
3
|
||||
</div>
|
||||
--%>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<%-- 공통 Footer --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/Footer.jsp"/>
|
||||
|
||||
<!-- 상품 옵션 변경 모달 -->
|
||||
<div id="goodsOptionDiv">
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
//장바구니 전체선택
|
||||
$('#cartCheckAll').click(function () {
|
||||
if ($('#cartCheckAll').is(':checked')) {
|
||||
$('.cartCheck').prop('checked', true);
|
||||
} else {
|
||||
$('.cartCheck').prop('checked', false);
|
||||
}
|
||||
});
|
||||
|
||||
$('.cartCheck').click(function () {
|
||||
if ($('.cartCheck').length == $('.cartCheck:checked').length) {
|
||||
$('#cartCheckAll').prop('checked', true);
|
||||
} else {
|
||||
$('#cartCheckAll').prop('checked', false);
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- 모달 -->
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,89 @@
|
||||
<%@ 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 : RtngudCanclRefndListR.jsp
|
||||
Description : 마이페이지 반품/환불 내역
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-03-27 추지훈 최초 생성
|
||||
--%>
|
||||
<div class="sub-tab__content current">
|
||||
<div class="orderList">
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.resultList && fn:length(resultMap.resultList) > 0 }">
|
||||
<c:forEach var="refundList" items="${ resultMap.resultList }" varStatus="status">
|
||||
<div class="orderList__item">
|
||||
<div class="orderList__item__inner">
|
||||
<%--
|
||||
<a href="" class="orderList__image">
|
||||
<img src="<c:out value="${ refundList.img }"/>" alt="상품 이미지">
|
||||
</a>
|
||||
--%>
|
||||
<a href="<c:url value="/sopmal/goods/selectGoodsDtl?sopmalCd=${refundList.sopmalCd}&goodsInnb=${refundList.goodsInnb}"/>" class="orderList__image">
|
||||
<spring:eval expression="@environment.getProperty('sopmalfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
||||
<img src="<c:out value="${ cdnurl }${ refundList.img }"/>" onerror="this.src='/pc/images/image_placeholder.png'" alt="<c:out value="${refundList.goodsNm}"/>">
|
||||
</a>
|
||||
<div class="orderList__description">
|
||||
<div class="orderList__description__first">
|
||||
<div class="orderList__item__top">
|
||||
<button class="orderList__orderNum" onclick="fn_go_ordr_dtl('<c:out value="${ refundList.sopmalCd }"/>', '<c:out value="${ refundList.ordrInnb }"/>');">
|
||||
<c:out value="${ refundList.ordrInnb }"/>
|
||||
</button>
|
||||
<c:if test = "${refundList.refundProcsSttusCd eq '03'}">
|
||||
<span class="orderList__dot">·</span>
|
||||
<span class="orderList__date">
|
||||
<c:out value="${ refundList.refundComptDt }"/> 환불완료
|
||||
</span>
|
||||
</c:if>
|
||||
</div>
|
||||
<button type="button" onclick="fn_move_dtlupdt('<c:out value="${ refundList.orderRefundInnb }"/>', '<c:out value="${ refundList.ordrInnb }"/>');" class="orderList__productTitle"><c:out value="${ refundList.goodsNm }"/></button>
|
||||
</div>
|
||||
<div class="orderList__description__second">
|
||||
<span class="orderList__price">
|
||||
<span class="comma"><c:out value="${ refundList.refundAmt }"/></span>원
|
||||
</span>
|
||||
</div>
|
||||
<div class="orderList__description__third">
|
||||
<span class="orderList__refundCategory"><c:out value="${ refundList.refundTyCdNm }"/></span>
|
||||
</div>
|
||||
<div class="orderList__description__fourth">
|
||||
<button type="button" class="orderList__status cancel">
|
||||
<c:choose>
|
||||
<c:when test="${ not empty refundList.returnRceptDt }">
|
||||
<c:out value="${ refundList.returnProcsSttusCdNm }"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:out value="${ refundList.refundProcsSttusCdNm }"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</button>
|
||||
</div>
|
||||
<div class="orderList__btnControls">
|
||||
<span class="orderList__refundCategory"><c:out value="${ refundList.refundReqstDt }"/></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<div class="orderList__no-result">
|
||||
<img src="<c:url value="/pc/images/icon__no-result.png"/>" alt="">
|
||||
<p class="orderList__no-result-text">반품/환불내역이 없습니다.</p>
|
||||
</div>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
<div class="pagination__container">
|
||||
<ui:pagination paginationInfo="${resultMap.paginationInfo}" type="image" jsFunction="fn_select_refund_list" />
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,139 @@
|
||||
<%@ 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 : WslistInqireR.jsp
|
||||
Description : 마이페이지 위시리스트
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-03-27 추지훈 최초 생성
|
||||
--%>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
//해당 클래스를 가진 요소 3자리 마다 콤마
|
||||
$(".comma").each(function () {
|
||||
var text = $(this).text();
|
||||
$(this).text(text.replace(/(\d)(?=(?:\d{3})+(?!\d))/g, "$1,"));
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<div class="cartOrder__list">
|
||||
<div class="table-wrapper">
|
||||
<spring:eval expression="@environment.getProperty('sopmalfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
||||
<table class="table vertical">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: auto;">
|
||||
<col style="width: 140px;">
|
||||
<col style="width: 20px;">
|
||||
<col style="width: 200px">
|
||||
</colgroup>
|
||||
<tbody id="wishListTbody">
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.resultList && fn:length(resultMap.resultList) > 0 }">
|
||||
<c:forEach items="${ resultMap.resultList }" var="list" varStatus="status">
|
||||
<tr>
|
||||
<td>
|
||||
<input type="hidden" name="wslistInnb" value="<c:out value="${ list.wslistInnb }"/>"/>
|
||||
<input type="hidden" name="goodsInnb" value="<c:out value="${ list.goodsInnb }"/>"/>
|
||||
<div class="cartItem">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input class="cartCheck" type="checkbox" value="" onclick="fn_ctr_pCheckbox('#cartCheckAll', '.cartCheck');">
|
||||
<span class="check"></span>
|
||||
<span class="control-label"></span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="cartItem__image">
|
||||
<a href="<c:url value="/sopmal/goods/selectGoodsDtl?sopmalCd=${list.sopmalCd}&goodsInnb=${list.goodsInnb}"/>">
|
||||
<img src="<c:out value="${ cdnurl }${ list.img }"/>" onerror="this.src='/pc/images/image_placeholder.png'" alt="${ list.goodsNm }">
|
||||
</a>
|
||||
</div>
|
||||
<div class="cartItem__productInfo">
|
||||
<a href="" class="cartItem__productTitle"><c:out value="${ list.goodsNm }"/></a>
|
||||
|
||||
<%--
|
||||
<button type="button" onclick="fn_open_modal('#goodsOptionDiv', '#option-change-popUp', '/sopmal/mpage/ordr/selectGoodsOptnSlcPopup', JSON.stringify({'goodsInnb':${list.goodsInnb}}));"
|
||||
class="btn xsm outline">옵션선택</button>
|
||||
--%>
|
||||
</div>
|
||||
<%-- <span class="">
|
||||
판매가 : ${list.orgSlepric }<br>
|
||||
이벤트 할인 금액 : ${list.evtAditDscntAmt }<br>
|
||||
상품쿠폰할인 금액 : ${list.gdAditDscntAmt }<br>
|
||||
상품쿠폰 적용 후 판매금액 : ${list.gdSlepric }<br>
|
||||
(CT_ADIT_DSCNT_CD) : ${list.ctAditDscntCd }<br>
|
||||
(CT_ADIT_DSCNT_AMT) : ${list.ctAditDscntAmt }<br>
|
||||
(CT_DSCNT_MXMM_AMT) : ${list.ctDscntMxmmAmt }<br>
|
||||
장바구니 할인 금액(RL_CT_ADIT_DSCNT_AMT) : ${list.rlCtAditDscntAmt }<br>
|
||||
장바구니 후 최종 판매가 : ${list.slepric }<br>
|
||||
할인율 : ${list.slePercent }
|
||||
</span>--%>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<span class="cartItem__beforePrice"><span
|
||||
class="comma"><fmt:parseNumber value="${ list.cnsmrpric }"/></span> 원</span>
|
||||
<span class="cartItem__afterPrice"><span
|
||||
class="comma"><fmt:parseNumber value="${ list.slepric }"/></span><span
|
||||
class="priceUnit"> 원</span></span>
|
||||
</td>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${list.goodsSttusCd eq '01'}">
|
||||
<button class="btn theme md" type="button" onclick="fn_open_addCart_modal('#goodsOptionDiv', '#option-change-popUp', '/sopmal/mpage/ordr/selectGoodsOptnSlcPopup', JSON.stringify({'goodsInnb':${list.goodsInnb}}));">장바구니 담기</button>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<button class="btn theme md" type="button" disabled>${list.goodsSttusNm}</button>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<div class="table__no-result">
|
||||
<img src="/pc/images/icon__no-result.png" alt="">
|
||||
<p class="table__no-result-text">
|
||||
위시리스트에 담긴 상품이 없습니다.
|
||||
</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<%--
|
||||
<div class="myWishlist__bottomBtnWrapper">
|
||||
<button class="btn theme md" type="button" onclick="fn_delete_selectTr();">선택상품 장바구니</button>
|
||||
</div>
|
||||
--%>
|
||||
</div>
|
||||
|
||||
<div class="pagination__container">
|
||||
<ui:pagination paginationInfo="${resultMap.paginationInfo}" type="image" jsFunction="fn_select_wish_list" />
|
||||
</div>
|
||||
@@ -0,0 +1,925 @@
|
||||
<%@ 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 : WslistInqireRForm.jsp
|
||||
Description : 마이페이지 위시리스트
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-02-27 추지훈 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
|
||||
<head>
|
||||
|
||||
<%-- 공통 include --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/Include.jsp"/>
|
||||
</head>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
let pageIndex = '<c:out value="${ resultMap.paramVO.pageIndex }"/>';
|
||||
let pageUnit = '<c:out value="${ resultMap.paramVO.pageUnit }"/>';
|
||||
|
||||
fn_select_wish_list(pageIndex, pageUnit);
|
||||
|
||||
});
|
||||
|
||||
|
||||
//위시리스트 옵션선택 배열
|
||||
let productArr = [];
|
||||
|
||||
/********************************************
|
||||
* 위시리스트 선택 삭제
|
||||
********************************************/
|
||||
const fn_delete_wishlist = function (tbodySltr, pageIndex, pageUnit) {
|
||||
var $tbody = $(tbodySltr);
|
||||
|
||||
let arr = [];
|
||||
|
||||
// 체크된 input 찾기
|
||||
$tbody.find('input[type="checkbox"]:checked').each(function () {
|
||||
let closestInput = $(this).closest('tr').find('input[name="wslistInnb"]');
|
||||
let value = closestInput.val();
|
||||
|
||||
arr.push(value);
|
||||
});
|
||||
|
||||
|
||||
if (arr.length > 0) {
|
||||
|
||||
|
||||
|
||||
if (confirm('상품을 <spring:message code="confirm.common.delete"/>')) {
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: '<c:url value="/sopmal/mpage/ordr/deleteWslistGoodsDel"/>',
|
||||
data: {
|
||||
wslistInnbArr: arr
|
||||
},
|
||||
success: function (result) {
|
||||
|
||||
|
||||
alert('<spring:message code="success.common.delete"/>');
|
||||
fn_select_wish_list(pageIndex, pageUnit);
|
||||
}
|
||||
});
|
||||
}
|
||||
} else {
|
||||
alert("삭제할 상품을 선택해 주세요.");
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/************************************************
|
||||
* 위시리스트 목록 조회
|
||||
*************************************************/
|
||||
const fn_select_wish_list = function(pageIndex, pageUnit) {
|
||||
|
||||
let dataStr;
|
||||
if(!pageIndex) {
|
||||
$('#pageIndex').val(1);
|
||||
} else {
|
||||
$('#pageIndex').val(pageIndex);
|
||||
}
|
||||
|
||||
if(!pageUnit) {
|
||||
|
||||
dataStr = $('#listForm').serialize();
|
||||
} else {
|
||||
if($('#pageUnit').length){
|
||||
$('#pageUnit').val(pageUnit);
|
||||
dataStr = $('#listForm').serialize();
|
||||
} else {
|
||||
dataStr = $('#listForm').serialize()+'&pageUnit='+pageUnit;
|
||||
}
|
||||
}
|
||||
|
||||
$('#pageIndex').val(pageIndex);
|
||||
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url : '<c:url value="/sopmal/mpage/ordr/selectWslistInqire"/>',
|
||||
data : dataStr,
|
||||
success:function(resultHtml) {
|
||||
$('#pageDiv').html(resultHtml);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//인풋 생성함수
|
||||
const fn_create_input = function (type, name, value, tgtForm) {
|
||||
const input = document.createElement('input');
|
||||
input.setAttribute("type", type);
|
||||
input.setAttribute("name", name);
|
||||
input.setAttribute("value", value);
|
||||
tgtForm.appendChild(input);
|
||||
}
|
||||
|
||||
//장바구니 담기 처리
|
||||
const fn_add_cart = (gubun, data, goodsInnb) => {
|
||||
const url = "<c:url value="/sopmal/ordr/insertSpbk"/>";
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
enctype: 'multipart/form-data',
|
||||
url: url,
|
||||
data: data,
|
||||
contentType: false,
|
||||
processData: false,
|
||||
success: function (data) {
|
||||
if (data.resBody != null) {
|
||||
const result = JSON.parse(data.resBody.result);
|
||||
if (result.result === 'success') {
|
||||
if (gubun === 'cart') {
|
||||
fn_cart_modal()
|
||||
fn_reflesh_cart_cnt();
|
||||
$('.addCart').prop("disabled", false);
|
||||
}
|
||||
if (gubun === 'direct') {
|
||||
//구매화면 이동
|
||||
fn_move_purchs_order(goodsInnb);
|
||||
$('.purchsOrdr').prop('disabled', false);
|
||||
}
|
||||
|
||||
} else {
|
||||
alert('구매정보 <spring:message code="fail.common.insert"/>');
|
||||
$('.addCart').prop("disabled", false);
|
||||
$('.purchsOrdr').prop('disabled', false);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/*************************************************************
|
||||
장바구니 목록 이동
|
||||
**************************************************************/
|
||||
const fn_move_cart_list = () => {
|
||||
|
||||
const form = $('<form></form>');
|
||||
|
||||
$(form).append($('<input/>', {type: 'hidden', name: 'cartDvCd', value: $('#cartDv-cart').val()}));
|
||||
|
||||
$(form).attr('target', '_self');
|
||||
$(form).attr('method', 'post');
|
||||
$(form).attr('action', '<c:url value="/sopmal/ordr/selectSpbk"/>');
|
||||
|
||||
$(form).appendTo('body');
|
||||
|
||||
//일반옵션 체크 해제
|
||||
$('input[type="radio"]').prop('checked', false)
|
||||
|
||||
$(form).submit();
|
||||
$(form).remove();
|
||||
|
||||
}
|
||||
|
||||
//구매하기 클릭 후 구매목록 이동
|
||||
const fn_move_purchs_order = (goodsInnb) => {
|
||||
|
||||
<%--/* 구매하기 버튼 선택 이벤트 */--%>
|
||||
const form = $('<form></form>');
|
||||
|
||||
$(form).append($('<input/>', {type: 'hidden', name: 'goodsInnb', value: goodsInnb}));
|
||||
$(form).append($('<input/>', {type: 'hidden', name: 'cartDvCd', value: $('#cartDv-direct').val()}));
|
||||
|
||||
|
||||
$(form).attr('method', 'post');
|
||||
$(form).attr('action', '<c:url value="/sopmal/ordr/selectMbrPurchsForm"/>');
|
||||
|
||||
$(form).appendTo('body');
|
||||
|
||||
//일반옵션 체크 해제
|
||||
$('input[type="radio"]').prop('checked', false)
|
||||
|
||||
$(form).submit();
|
||||
$(form).remove();
|
||||
|
||||
}
|
||||
|
||||
//장바구니 담기 후 모달
|
||||
const fn_cart_modal = () => {
|
||||
|
||||
const modal = `<div id="addCartModalDiv" class="modal alert">
|
||||
<div class="alert-content">
|
||||
<p class="alert-content__text--sm">
|
||||
상품이 장바구니에 담겼습니다.
|
||||
<br>
|
||||
지금 확인하시겠습니까?
|
||||
</p>
|
||||
</div>
|
||||
<div class="alert-btn-container">
|
||||
<a href="javascript:void(0);" onclick="fn_move_cart_list();" rel="modal:close" class="alert-btn alert-btn--confirm">예</a>
|
||||
<a href="javascript:void(0);" onclick="fn_close_modal('option-change-popUp');" rel="modal:close" class="alert-btn alert-btn--confirm">아니오</a>
|
||||
</div>
|
||||
</div>`;
|
||||
|
||||
//장바구니 담은 후 페이지 이동 여부 모달
|
||||
$('#addCartModalDiv').remove()
|
||||
$('#addCartDiv').html(modal)
|
||||
$('#addCartModalDiv').modal()
|
||||
|
||||
}
|
||||
|
||||
|
||||
//장바구니 버튼 팝업 모달
|
||||
const fn_open_addCart_modal = function (modalDivSltr, modalSlrt, url, param, callback) {
|
||||
const submitType = 'POST';
|
||||
|
||||
$.ajax({
|
||||
type: submitType,
|
||||
contentType: 'application/json',
|
||||
url: url,
|
||||
data: param,
|
||||
success: function (data) {
|
||||
//callback함수가 없을 경우 default로 지정된 영역에 모달팝업 화면을 교체하고 화면 로딩
|
||||
if (!callback) {
|
||||
//이전에 선택한 상품 초기화
|
||||
productArr = [];
|
||||
$(modalSlrt).remove();
|
||||
$(modalDivSltr).html(data);
|
||||
$(modalSlrt).modal();
|
||||
} else {
|
||||
callback(data);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//상품 중복 선택 모달
|
||||
const fn_goods_duplicate_select_modal = () => {
|
||||
const modal = `<div id="goodsDuplicateModalDiv" class="modal alert">
|
||||
<div class="alert-content">
|
||||
<p class="alert-content__text--sm">
|
||||
중복된 상품입니다.
|
||||
</p>
|
||||
</div>
|
||||
<div class="alert-btn-container">
|
||||
<a href="javascript:void(0);" rel="modal:close" class="alert-btn alert-btn--confirm">확인</a>
|
||||
</div>
|
||||
</div>`;
|
||||
|
||||
//재고옵션 옵션 값 초기화
|
||||
$('select[name="selectInvntryOptn"]').not(':first').each(function() {
|
||||
$(this).find('option').each(function () {
|
||||
// value가 빈 문자열이 아닌 경우에만 삭제
|
||||
if ($(this).val() !== '') {
|
||||
$(this).remove().niceSelect('update');
|
||||
}
|
||||
});
|
||||
});
|
||||
$('select[name="selectInvntryOptn"]').val('').niceSelect('update')
|
||||
|
||||
//함께하면 좋은상품 옵션 값 초기화
|
||||
$('select[name="selectRelateInvntryOptn"]').not(':first').each(function() {
|
||||
$(this).find('option').each(function () {
|
||||
// value가 빈 문자열이 아닌 경우에만 삭제
|
||||
if ($(this).val() !== '') {
|
||||
$(this).remove().niceSelect('update');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
//추가구성옵션 옵션 값 초기화
|
||||
$('select[name="selectAddedOptn"]').val('').niceSelect('update')
|
||||
|
||||
$('select[name="selectRelateInvntryOptn"]').val('').niceSelect('update')
|
||||
|
||||
$('select[name="selectRelateAddedOptn"]').val('').niceSelect('update')
|
||||
|
||||
//모달 처리
|
||||
$('#goodsDuplicateModalDiv').remove()
|
||||
$('#goodsDuplicateDiv').html(modal)
|
||||
$('#goodsDuplicateModalDiv').modal()
|
||||
|
||||
}
|
||||
|
||||
/*************************************************************
|
||||
장바구니 버튼
|
||||
**************************************************************/
|
||||
$(document).on('click', '.addCart', function () {
|
||||
$('.addCart').prop("disabled", true);
|
||||
|
||||
if($('#hiddenForm') != null){
|
||||
$('#hiddenForm').remove()
|
||||
}
|
||||
//상품 선택 확인
|
||||
if(productArr.length <= 0){
|
||||
alert('상품옵션을 선택해 주세요');
|
||||
$('.addCart').prop("disabled", false);
|
||||
return;
|
||||
}
|
||||
|
||||
//추가구성옵션 - 필수추가구성옵션 있는지 확인
|
||||
var values = $('input[name="productDetailInfo__additionalSelect__otpnEssntlAt__relate__added"]').map(function() {
|
||||
return $(this).val();
|
||||
}).get();
|
||||
|
||||
if(values.includes('Y')){
|
||||
var isAddedOptnEssntlAt = productArr.some(function (item) {
|
||||
return item[6] === 'Y'
|
||||
});
|
||||
|
||||
if(!isAddedOptnEssntlAt){
|
||||
alert('필수추가옵션을 선택해 주세요');
|
||||
$('.addCart').prop("disabled", false);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
const hiddenForm = document.createElement('form');
|
||||
hiddenForm.name = 'hiddenForm';
|
||||
hiddenForm.id = 'hiddenForm';
|
||||
hiddenForm.method = 'post';
|
||||
hiddenForm.action = '';
|
||||
|
||||
const goodsInnb = $('#addCartGoodsInnb').val();
|
||||
const cartDvCdCart = $('#cartDv-cart').val();
|
||||
|
||||
/**
|
||||
* 장바구니 담기 전 옵션조회해서 같은 물품 있을 경우 confirm후
|
||||
* DELETE-INSERT 수행
|
||||
* */
|
||||
|
||||
// 1. 해당 사용자의 모든 장바구니 정보 조회(상품옵션고유번호, 갯수 조회)
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
contentType: 'application/json',
|
||||
url: '<c:out value="/sopmal/ordr/selectCartList"/>',
|
||||
data: JSON.stringify({}),
|
||||
success: async function (data) {
|
||||
const result = JSON.parse(data.resBody.result)
|
||||
if(result.message === 'success'){
|
||||
const resultCartList = result.cartList;
|
||||
let cartDuplicateOptnAt ='N';
|
||||
let duplicatedOptn = [];
|
||||
|
||||
for(let i = productArr.length - 1; i >= 0; i--){
|
||||
for(let j = resultCartList.length - 1; j >= 0; j--){
|
||||
|
||||
if(parseInt(resultCartList[j].goodsOptnInnb) === parseInt(productArr[i][4])){
|
||||
|
||||
//중복된 상품옵션의 기존 수량 + 선택한 수량
|
||||
let newCartItem = {
|
||||
...resultCartList[j],
|
||||
cnt: resultCartList[j].cnt + productArr[i][1]
|
||||
};
|
||||
|
||||
duplicatedOptn.push(newCartItem);
|
||||
|
||||
// resultCartList에서 해당 객체 삭제
|
||||
resultCartList.splice(j, 1);
|
||||
|
||||
// productArr에서 해당 배열 삭제
|
||||
productArr.splice(i, 1);
|
||||
|
||||
cartDuplicateOptnAt = 'Y'
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//2. 장바구니 중복 확인 결과
|
||||
if(cartDuplicateOptnAt ==='Y'){
|
||||
|
||||
const dupliModal = await showConfirmModal();
|
||||
if(dupliModal){
|
||||
|
||||
|
||||
//선택한 상품옵션 장바구니 저장
|
||||
const formData = new FormData();
|
||||
let idx = 0;
|
||||
if(productArr.length > 0 ){
|
||||
for (let product of productArr) {
|
||||
fn_create_input('hidden', "addCartList[" + idx + "].cartDvCd", cartDvCdCart, hiddenForm);
|
||||
fn_create_input('hidden', "addCartList[" + idx + "].goodsInnb", goodsInnb, hiddenForm);
|
||||
fn_create_input('hidden', "addCartList[" + idx + "].qy", product[1], hiddenForm);
|
||||
fn_create_input('hidden', "addCartList[" + idx + "].goodsOptnInnb", product[4], hiddenForm);
|
||||
fn_create_input('hidden', "addCartList[" + idx + "].optnTy", product[5], hiddenForm);
|
||||
|
||||
idx++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
let dupliIndex = 0;
|
||||
//기존 장바구니에 담은 상품 저장
|
||||
if(resultCartList.length > 0){
|
||||
for(let resultCartItem of resultCartList){
|
||||
fn_create_input('hidden', "addCartList[" + idx + "].cartDvCd", resultCartItem.cartDvCd, hiddenForm);
|
||||
fn_create_input('hidden', "addCartList[" + idx + "].goodsInnb", resultCartItem.goodsInnb, hiddenForm);
|
||||
fn_create_input('hidden', "addCartList[" + idx + "].qy", resultCartItem.cnt, hiddenForm);
|
||||
fn_create_input('hidden', "addCartList[" + idx + "].goodsOptnInnb", resultCartItem.goodsOptnInnb, hiddenForm);
|
||||
fn_create_input('hidden', "addCartList[" + idx + "].optnTy", resultCartItem.optnTy, hiddenForm);
|
||||
|
||||
idx++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
//중복된 상품 옵션 저장
|
||||
for(let dupliItem of duplicatedOptn){
|
||||
|
||||
fn_create_input('hidden', "addCartList[" + idx + "].cartDvCd", dupliItem.cartDvCd, hiddenForm);
|
||||
fn_create_input('hidden', "addCartList[" + idx + "].goodsInnb", dupliItem.goodsInnb, hiddenForm);
|
||||
fn_create_input('hidden', "addCartList[" + idx + "].qy", dupliItem.cnt, hiddenForm);
|
||||
fn_create_input('hidden', "addCartList[" + idx + "].goodsOptnInnb", dupliItem.goodsOptnInnb, hiddenForm);
|
||||
fn_create_input('hidden', "addCartList[" + idx + "].optnTy", dupliItem.optnTy, hiddenForm);
|
||||
|
||||
idx++;
|
||||
}
|
||||
|
||||
//장바구니 중복으로 인한 수정 여부
|
||||
fn_create_input('hidden', "addCartUptAt", 'Y', hiddenForm);
|
||||
fn_create_input('hidden', "cartDvCd", $('#cartDv-cart').val(), hiddenForm);
|
||||
|
||||
document.body.appendChild(hiddenForm);
|
||||
|
||||
$('#hiddenForm').serializeArray().forEach(function (item) {
|
||||
formData.append(item.name, item.value);
|
||||
});
|
||||
|
||||
fn_add_cart('cart', formData, goodsInnb)
|
||||
|
||||
}else{
|
||||
//장바구니 중복 상품 추가 안할 경우 전체 초기화
|
||||
productArr = []
|
||||
$('input[type="radio"]').prop("checked", false)
|
||||
fn_close_modal('option-change-popUp')
|
||||
$('.addCart').prop("disabled", false);
|
||||
}
|
||||
|
||||
|
||||
}else{
|
||||
//상품 중복옵션 없을 경우 장바구니 저장 진행
|
||||
const formData = new FormData();
|
||||
for (let idx in productArr) {
|
||||
fn_create_input('hidden', "addCartList[" + idx + "].cartDvCd", cartDvCdCart, hiddenForm);
|
||||
fn_create_input('hidden', "addCartList[" + idx + "].goodsInnb", goodsInnb, hiddenForm);
|
||||
fn_create_input('hidden', "addCartList[" + idx + "].qy", productArr[idx][1], hiddenForm);
|
||||
fn_create_input('hidden', "addCartList[" + idx + "].goodsOptnInnb", productArr[idx][4], hiddenForm);
|
||||
fn_create_input('hidden', "addCartList[" + idx + "].optnTy", productArr[idx][5], hiddenForm);
|
||||
}
|
||||
|
||||
//장바구니 중복으로 인한 수정 여부
|
||||
fn_create_input('hidden', "addCartUptAt", 'N', hiddenForm);
|
||||
fn_create_input('hidden', "cartDvCd", $('#cartDv-cart').val(), hiddenForm);
|
||||
|
||||
document.body.appendChild(hiddenForm);
|
||||
|
||||
$('#hiddenForm').serializeArray().forEach(function (item) {
|
||||
formData.append(item.name, item.value);
|
||||
});
|
||||
|
||||
|
||||
fn_add_cart('cart', formData, goodsInnb)
|
||||
}
|
||||
|
||||
}//result success END
|
||||
}//ajax success END
|
||||
});//ajax END
|
||||
|
||||
})
|
||||
|
||||
//장바구니 중복 상품 추가 confirm 모달 버튼 true/false 반환
|
||||
function showConfirmModal() {
|
||||
return new Promise(function(resolve, reject) {
|
||||
<%--상품 중복담기 모달--%>
|
||||
const modal =`
|
||||
<div id="modal-error-confirm-add-cart-duplicate" class="modal alert">
|
||||
<div class="alert-content">
|
||||
<p class="alert-content__text--sm">
|
||||
장바구니에 선택한 상품이 있습니다. <br/> 장바구니에 추가하시겠습니까?
|
||||
</p>
|
||||
</div>
|
||||
<div class="alert-btn-container">
|
||||
<a type="button" class="alert-btn alert-btn--confirm" id="modal-error-confirm-yesButton" rel="modal:close">예</a>
|
||||
<a type="button" onclick="fn_close_modal('option-change-popUp');" class="alert-btn alert-btn--confirm" id="modal-error-confirm-noButton" rel="modal:close">아니오</a>
|
||||
</div>
|
||||
</div>`
|
||||
$('#modal-error-confirm-add-cart-duplicate').remove()
|
||||
$('#modal-error-confirm-add-cart-duplicate-div').html(modal)
|
||||
$('#modal-error-confirm-add-cart-duplicate').modal()
|
||||
|
||||
|
||||
|
||||
$('#modal-error-confirm-yesButton').one('click', function() {
|
||||
resolve(true); // 예를 클릭하면 true 반환
|
||||
});
|
||||
|
||||
$('#modal-error-confirm-noButton').one('click', function() {
|
||||
resolve(false); // 아니오를 클릭하면 false 반환
|
||||
});
|
||||
|
||||
$('#modal-error-confirm-add-cart-duplicate').on('hidden.bs.modal', function () {
|
||||
resolve(false); // 모달이 닫힐 때 기본적으로 false 반환
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
//재고옵션 다음 셀렉트 옵션 값 호출
|
||||
$(document).on('change', 'select[name="selectAddCartInvntryOptn"]', function () {
|
||||
const id = $(this).attr('id');
|
||||
let sourceId = id.slice(-1); // 아이디로 셀렉트 옵션 순서 확인
|
||||
let nextId = (parseInt(sourceId)+1).toString();
|
||||
const lastId = $('select[name="selectAddCartInvntryOptn"]:last').attr('id')
|
||||
if($(this).val() === '0'){
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
const selectOptnVal1 = fn_nvl($('#selectAddCartInvntryOptn1 option:selected').text(),'').replaceAll(' ','').trim()
|
||||
const selectOptnVal2 = fn_nvl($('#selectAddCartInvntryOptn2 option:selected').text(),'').replaceAll(' ','').trim()
|
||||
const selectOptnVal3 = fn_nvl($('#selectAddCartInvntryOptn3 option:selected').text(),'').replaceAll(' ','').trim()
|
||||
const selectOptnVal4 = fn_nvl($('#selectAddCartInvntryOptn4 option:selected').text(),'').replaceAll(' ','').trim()
|
||||
|
||||
let optnVal1 = selectOptnVal1 === '선택'?'': selectOptnVal1
|
||||
let optnVal2 = selectOptnVal2 === '선택'?'': selectOptnVal2
|
||||
let optnVal3 = selectOptnVal3 === '선택'?'': selectOptnVal3
|
||||
let optnVal4 = selectOptnVal4 === '선택'?'': selectOptnVal4
|
||||
|
||||
switch (sourceId) {
|
||||
case '1':
|
||||
optnVal2 = '';
|
||||
optnVal3 = '';
|
||||
optnVal4 = '';
|
||||
|
||||
$('select[name="selectAddCartInvntryOptn"]').not(':first').each(function() {
|
||||
|
||||
$(this).find('option').each(function () {
|
||||
// value가 빈 문자열이 아닌 경우에만 삭제
|
||||
if ($(this).val() !== '') {
|
||||
$(this).remove().niceSelect('update');
|
||||
}
|
||||
});
|
||||
});
|
||||
$('select[name="selectAddCartInvntryOptn"]').not(':first').val('').niceSelect('update')
|
||||
break;
|
||||
case '2':
|
||||
optnVal3 = '';
|
||||
optnVal4 = '';
|
||||
|
||||
$('select[name="selectAddCartInvntryOptn"]').not(':lt(2)').each(function() {
|
||||
|
||||
$(this).find('option').each(function () {
|
||||
// value가 빈 문자열이 아닌 경우에만 삭제
|
||||
if ($(this).val() !== '') {
|
||||
$(this).remove().niceSelect('update');
|
||||
}
|
||||
});
|
||||
});
|
||||
$('select[name="selectAddCartInvntryOptn"]').not(':lt(2)').val('')
|
||||
$('select[name="selectAddCartInvntryOptn"]').niceSelect('update')
|
||||
break;
|
||||
case '3':
|
||||
optnVal4 = '';
|
||||
$('select[name="selectAddCartInvntryOptn"]').not(':lt(3)').each(function() {
|
||||
|
||||
$(this).find('option').each(function () {
|
||||
// value가 빈 문자열이 아닌 경우에만 삭제
|
||||
if ($(this).val() !== '') {
|
||||
$(this).remove().niceSelect('update');
|
||||
}
|
||||
});
|
||||
});
|
||||
$('select[name="selectAddCartInvntryOptn"]').not(':lt(3)').val('')
|
||||
$('select[name="selectAddCartInvntryOptn"]').niceSelect('update')
|
||||
break;
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
contentType : 'application/json',
|
||||
url: '/sopmal/goods/selectGoodsOptnInfo',
|
||||
data: JSON.stringify(
|
||||
{
|
||||
'goodsInnb' : $('#addCartGoodsInnb').val()
|
||||
,'optnTy' : '02'
|
||||
,'optnVal1' : optnVal1
|
||||
,'optnVal2' : optnVal2
|
||||
,'optnVal3' : optnVal3
|
||||
,'optnVal4' : optnVal4
|
||||
}
|
||||
),
|
||||
success: function (data) {
|
||||
let str = JSON.parse(data.resBody.result);
|
||||
|
||||
if (str.result === 'success') {
|
||||
|
||||
//판매가
|
||||
const slepricDscntAmt = $('#slepricDscntAmt').val()
|
||||
|
||||
switch (sourceId){
|
||||
case '1' :
|
||||
//1선택하면 서버 요청해서 2번 옵션값 받아옴
|
||||
//2번에 option에 옵션값 뿌리기
|
||||
const uniqueData2 = [];
|
||||
const seenOptnVal2 = new Set();
|
||||
str.goodsOptnList.forEach(item => {
|
||||
if (!seenOptnVal2.has(item.optnVal2)){
|
||||
uniqueData2.push(item);
|
||||
seenOptnVal2.add(item.optnVal2);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
uniqueData2.forEach(function(option) {
|
||||
if($('#selectAddCartInvntryOptn'+nextId).attr('id') === lastId){
|
||||
|
||||
//재고품절시 노출여부
|
||||
if(option.invntrySldoutExpsrAt ==='N'){
|
||||
//옵션 노출 안함
|
||||
|
||||
//품절표시
|
||||
}else if(option.disableAt === 'Y'){
|
||||
$('#selectAddCartInvntryOptn'+nextId).append($('<option>', {
|
||||
value: option.slepric+'|'+option.goodsOptnInnb+'|'+option.optnInfo+'|'+option.optnTy,
|
||||
text: option.optnVal2+ '(+' + addComma((parseInt(option.slepric) - parseInt(slepricDscntAmt))) +')' +'(품절)' ,
|
||||
disabled: true
|
||||
}));
|
||||
|
||||
}else{
|
||||
$('#selectAddCartInvntryOptn'+nextId).append($('<option>', {
|
||||
value: option.slepric+'|'+option.goodsOptnInnb+'|'+option.optnInfo+'|'+option.optnTy,
|
||||
text: option.optnVal2 + '(+' + addComma((parseInt(option.slepric) - parseInt(slepricDscntAmt))) +')'
|
||||
}));
|
||||
}
|
||||
|
||||
|
||||
|
||||
}else{
|
||||
|
||||
//재고품절시 노출여부
|
||||
if(option.invntrySldoutExpsrAt ==='N'){
|
||||
//옵션 노출 안함
|
||||
|
||||
//품절표시
|
||||
}else if(option.disableAt === 'Y'){
|
||||
$('#selectAddCartInvntryOptn'+nextId).append($('<option>', {
|
||||
value: option.slepric+'|'+option.goodsOptnInnb+'|'+option.optnInfo+'|'+option.optnTy,
|
||||
text: option.optnVal2+'(품절)',
|
||||
disabled: true
|
||||
}));
|
||||
|
||||
}else{
|
||||
$('#selectAddCartInvntryOptn'+nextId).append($('<option>', {
|
||||
value: option.slepric+'|'+option.goodsOptnInnb+'|'+option.optnInfo+'|'+option.optnTy,
|
||||
text: option.optnVal2
|
||||
}));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
$('#selectAddCartInvntryOptn'+nextId).niceSelect('update');
|
||||
|
||||
break;
|
||||
case '2' :
|
||||
const uniqueData3 = [];
|
||||
const seenOptnVal3 = new Set();
|
||||
str.goodsOptnList.forEach(item => {
|
||||
if (!seenOptnVal3.has(item.optnVal3)){
|
||||
uniqueData3.push(item);
|
||||
seenOptnVal3.add(item.optnVal3);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
uniqueData3.forEach(function(option) {
|
||||
|
||||
if($('#selectAddCartInvntryOptn'+nextId).attr('id') === lastId){
|
||||
|
||||
//재고품절시 노출여부
|
||||
if(option.invntrySldoutExpsrAt ==='N'){
|
||||
//옵션 노출 안함
|
||||
|
||||
//품절표시
|
||||
}else if(option.disableAt === 'Y'){
|
||||
|
||||
$('#selectAddCartInvntryOptn'+nextId).append($('<option>', {
|
||||
value: option.slepric+'|'+option.goodsOptnInnb+'|'+option.optnInfo+'|'+option.optnTy,
|
||||
text: option.optnVal3 + '(+' + addComma((parseInt(option.slepric) - parseInt(slepricDscntAmt))) +')' + '(품절)',
|
||||
disabled: true
|
||||
}));
|
||||
}else{
|
||||
$('#selectAddCartInvntryOptn'+nextId).append($('<option>', {
|
||||
value: option.slepric+'|'+option.goodsOptnInnb+'|'+option.optnInfo+'|'+option.optnTy,
|
||||
text: option.optnVal3 + '(+' + addComma((parseInt(option.slepric) - parseInt(slepricDscntAmt))) +')'
|
||||
}));
|
||||
}
|
||||
|
||||
|
||||
}else{
|
||||
|
||||
//재고품절시 노출여부
|
||||
if(option.invntrySldoutExpsrAt ==='N'){
|
||||
//옵션 노출 안함
|
||||
|
||||
//품절표시
|
||||
}else if(option.disableAt === 'Y'){
|
||||
$('#selectAddCartInvntryOptn'+nextId).append($('<option>', {
|
||||
value: option.slepric+'|'+option.goodsOptnInnb+'|'+option.optnInfo+'|'+option.optnTy,
|
||||
text: option.optnVal3+'(품절)',
|
||||
disabled: true
|
||||
}));
|
||||
|
||||
}else{
|
||||
$('#selectAddCartInvntryOptn'+nextId).append($('<option>', {
|
||||
value: option.slepric+'|'+option.goodsOptnInnb+'|'+option.optnInfo+'|'+option.optnTy,
|
||||
text: option.optnVal3
|
||||
}));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
$('#selectAddCartInvntryOptn'+nextId).niceSelect('update');
|
||||
|
||||
break;
|
||||
|
||||
case '3' :
|
||||
const uniqueData4 = [];
|
||||
const seenOptnVal4 = new Set();
|
||||
str.goodsOptnList.forEach(item => {
|
||||
if (!seenOptnVal4.has(item.optnVal4)){
|
||||
uniqueData4.push(item);
|
||||
seenOptnVal4.add(item.optnVal4);
|
||||
}
|
||||
});
|
||||
|
||||
uniqueData4.forEach(function(option) {
|
||||
|
||||
if($('#selectAddCartInvntryOptn'+nextId).attr('id') === lastId){
|
||||
|
||||
//재고품절시 노출여부
|
||||
if(option.invntrySldoutExpsrAt ==='N'){
|
||||
//옵션 노출 안함
|
||||
|
||||
//품절표시
|
||||
}else if(option.disableAt === 'Y'){
|
||||
|
||||
$('#selectAddCartInvntryOptn'+nextId).append($('<option>', {
|
||||
value: option.slepric+'|'+option.goodsOptnInnb+'|'+option.optnInfo+'|'+option.optnTy,
|
||||
text: option.optnVal4 + '(+' + addComma((parseInt(option.slepric) - parseInt(slepricDscntAmt))) +')' + '(품절)',
|
||||
disabled: true
|
||||
}));
|
||||
|
||||
}else{
|
||||
|
||||
$('#selectAddCartInvntryOptn'+nextId).append($('<option>', {
|
||||
value: option.slepric+'|'+option.goodsOptnInnb+'|'+option.optnInfo+'|'+option.optnTy,
|
||||
text: option.optnVal4 + '(+' + addComma((parseInt(option.slepric) - parseInt(slepricDscntAmt))) +')'
|
||||
}));
|
||||
}
|
||||
|
||||
}else{
|
||||
|
||||
//재고품절시 노출여부
|
||||
if(option.invntrySldoutExpsrAt ==='N'){
|
||||
//옵션 노출 안함
|
||||
|
||||
//품절표시
|
||||
}else if(option.disableAt === 'Y'){
|
||||
|
||||
$('#selectAddCartInvntryOptn'+nextId).append($('<option>', {
|
||||
value: option.slepric+'|'+option.goodsOptnInnb+'|'+option.optnInfo+'|'+option.optnTy,
|
||||
text: option.optnVal4 + '(품절)',
|
||||
disabled: true
|
||||
}));
|
||||
}else{
|
||||
$('#selectAddCartInvntryOptn'+nextId).append($('<option>', {
|
||||
value: option.slepric+'|'+option.goodsOptnInnb+'|'+option.optnInfo+'|'+option.optnTy,
|
||||
text: option.optnVal4
|
||||
}));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
$('#selectAddCartInvntryOptn'+nextId).niceSelect('update');
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
//마지막 선택일 경우 셀렉트 기본값으로 되돌림
|
||||
if(id === lastId){
|
||||
$('select[name="selectAddCartInvntryOptn"]').not(':first').each(function() {
|
||||
$(this).find('option').each(function () {
|
||||
// value가 빈 문자열이 아닌 경우에만 삭제
|
||||
if ($(this).val() !== '') {
|
||||
$(this).remove().niceSelect('update');
|
||||
}
|
||||
});
|
||||
});
|
||||
$('select[name="selectAddCartInvntryOptn"]').val('').niceSelect('update')
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
</script>
|
||||
|
||||
<body>
|
||||
|
||||
<%-- 공통 Header --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/Header.jsp"/>
|
||||
|
||||
<!-- 메인 컨텐츠 영역 -->
|
||||
<main>
|
||||
<div class="sub-wrapper">
|
||||
<div class="sub-content">
|
||||
<div class="sub-rl">
|
||||
<%-- 마이페이지 Left 영역 --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/mpage/MypageLeft.jsp"/>
|
||||
<div class="sub-right-content">
|
||||
<%-- 마이페이지 Right 영역 --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/mpage/MypageRight.jsp"/>
|
||||
<form id="listForm">
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value="${ resultMap.paramVO.pageIndex} }"/>
|
||||
<div class="sub-right-content__section">
|
||||
<h3 class="sub-right-content__title">위시리스트</h3>
|
||||
<div class="myWishlist">
|
||||
<div class="cartOrder__control">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" id="cartCheckAll" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">전체선택</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="cartOrder__control__btnContainer">
|
||||
<button class="btn sm outline" type="button" onclick="fn_delete_wishlist('#wishListTbody', '<c:out value="${ resultMap.paramVO.pageIndex }"/>', '<c:out value="${ resultMap.paramVO.pageUnit }"/>');">선택삭제</button>
|
||||
</div>
|
||||
</div>
|
||||
<div id="pageDiv">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<%-- 공통 Footer --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/Footer.jsp"/>
|
||||
|
||||
<!-- 상품 옵션 변경 모달 -->
|
||||
<div id="goodsOptionDiv">
|
||||
|
||||
</div>
|
||||
<%--장바구니에 선택한 상품 존재시 모달 --%>
|
||||
<div id="modal-error-confirm-add-cart-duplicate-div"></div>
|
||||
|
||||
|
||||
<script>
|
||||
//장바구니 전체선택
|
||||
$('#cartCheckAll').click(function () {
|
||||
if ($('#cartCheckAll').is(':checked')) {
|
||||
$('.cartCheck').prop('checked', true);
|
||||
} else {
|
||||
$('.cartCheck').prop('checked', false);
|
||||
}
|
||||
});
|
||||
|
||||
$('.cartCheck').click(function () {
|
||||
if ($('.cartCheck').length == $('.cartCheck:checked').length) {
|
||||
$('#cartCheckAll').prop('checked', true);
|
||||
} else {
|
||||
$('#cartCheckAll').prop('checked', false);
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- 모달 -->
|
||||
<!-- 장바구니 담기-->
|
||||
<div id = "addCartDiv"></div>
|
||||
<%--상품 중복선택 모달--%>
|
||||
<div id = "goodsDuplicateDiv"></div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Reference in New Issue
Block a user