|
|
@@ -20,9 +20,9 @@
|
|
|
<main role="" id="" class="container my">
|
|
|
<section class="content my_return">
|
|
|
<form id="cancelForm" class="form_wrap">
|
|
|
- <input type="hidden" name="accountNo" th:value="${oneData.accountNo}"/>
|
|
|
- <input type="hidden" name="accountNm" th:value="${oneData.accountNm}"/>
|
|
|
- <input type="hidden" name="bankCd" th:value="${oneData.bankCd}"/>
|
|
|
+ <input type="hidden" name="accountNo" th:value="${oneData.accountNo}"/>
|
|
|
+ <input type="hidden" name="accountNm" th:value="${oneData.accountNm}"/>
|
|
|
+ <input type="hidden" name="bankCd" th:value="${oneData.bankCd}"/>
|
|
|
|
|
|
<div class="inner wide bg_beige">
|
|
|
<div class="order_number">
|
|
|
@@ -38,102 +38,78 @@
|
|
|
<div th:unless="${oneData.giftPackYn == 'Y'}" class="goods_date">주문일<span class="date" th:text="${oneData.ordDt}"></span></div>
|
|
|
<div th:if="${oneData.giftPackYn == 'Y'}" class="goods_date">선물일<span class="date" th:text="${oneData.ordDt}"></span></div>
|
|
|
</div>
|
|
|
- <div class="goods_section">
|
|
|
- <div class="goods_detail">
|
|
|
- <a href="">
|
|
|
- <div class="thumb_box">
|
|
|
- <img th:src="${imageUrl + '/' + cancel.sysImgNm}" width="100%" alt="">
|
|
|
- </div>
|
|
|
- <div class="info_box">
|
|
|
- <div class="od_name">
|
|
|
- <div class="brand">
|
|
|
- <span>Mollimelli 몰리멜리</span>
|
|
|
- <div class="badge_wrap">
|
|
|
- <em class="order_badge">업체직배송</em>
|
|
|
+
|
|
|
+ <!-- 취소상품목록 -->
|
|
|
+ <th:block th:if="${cancelList.cancelList}" th:each="cancel, status : ${cancelList.cancelList}" th:with="imageUrl=${@environment.getProperty('upload.goods.view')}">
|
|
|
+ <div class="goods_section">
|
|
|
+ <div class="goods_detail">
|
|
|
+ <a href="">
|
|
|
+ <div class="thumb_box">
|
|
|
+ <img th:src="${imageUrl + '/' + cancel.sysImgNm}" width="100%" alt="">
|
|
|
+ </div>
|
|
|
+ <div class="info_box">
|
|
|
+ <div class="od_name">
|
|
|
+ <div class="brand">
|
|
|
+ <span th:text="${cancel.brandNm}"></span>
|
|
|
+ <div class="badge_wrap">
|
|
|
+ <em class="tag primary" th:if="${cancel.shotDelvYn == 'Y'}">총알배송</em>
|
|
|
+ <em class="tag" th:if="${cancel.shotDelvYn == 'N' and cancel.selfGoodsYn == 'Y'}">STYLE24 일반배송</em>
|
|
|
+ <em class="tag" th:if="${cancel.selfGoodsYn == 'N'}">업체직배송</em>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
+ <div class="name" th:text="${cancel.goodsNm}"></div>
|
|
|
</div>
|
|
|
- <div class="name">몰리겨울상하복 균일가 택1 유아동/상하복/기모상하복/상하의세트 몰리겨울상하복 균일가 택1</div>
|
|
|
- </div>
|
|
|
- <div class="od_opt">
|
|
|
- <div class="option">
|
|
|
- <em>Black</em>
|
|
|
- <em>XXL</em>
|
|
|
+ <div class="od_opt">
|
|
|
+ <div class="option">
|
|
|
+ <th:block th:if="${cancel.goodsType == 'G056_S'}" th:each="option, status : ${cancel.colorNmArr}">
|
|
|
+ <em th:text="${cancel.itemNmArr[status.index]}"></em>
|
|
|
+ <em th:text="${cancel.optCd2Arr[status.index]}"></em>
|
|
|
+ </th:block>
|
|
|
+ <th:block th:unless="${cancel.goodsType == 'G056_S'}">
|
|
|
+ <em th:text="${cancel.colorNm}"></em>
|
|
|
+ <em th:text="${cancel.optCd2}"></em>
|
|
|
+ </th:block>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="od_calc">
|
|
|
+ <th:block th:if="${(cancel.ordAmt - cancel.cnclRtnAmt - cancel.cpn1DcAmt) > (cancel.realOrdAmt + cancel.pntDcAmt + cancel.gfcdUseAmt)}">
|
|
|
+ <p class="sale_price">
|
|
|
+ <del><em th:text="${#numbers.formatInteger(cancel.ordAmt - cancel.cnclRtnAmt - cancel.cpn1DcAmt, 1, 'COMMA')}"></em>원</del>
|
|
|
+ </p>
|
|
|
+ </th:block>
|
|
|
+ <p class="price">
|
|
|
+ <span class="selling_price">
|
|
|
+ <em th:text="${#numbers.formatInteger(cancel.realOrdAmt + cancel.pntDcAmt + cancel.gfcdUseAmt, 1, 'COMMA')}"></em>원
|
|
|
+ </span>
|
|
|
+ </p>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="od_calc">
|
|
|
- <p class="sale_price"><del><em>95,000</em>원</del></p>
|
|
|
- <p class="price">
|
|
|
- <span class="selling_price"><em>61,200</em>원</span>
|
|
|
- </p>
|
|
|
+ </a>
|
|
|
+ </div>
|
|
|
+ <div class="goods_select">
|
|
|
+ <div class="select_custom select_count">
|
|
|
+ <div class="combo">
|
|
|
+ <input type="hidden" name="chgQty" value="0" th:attr="ordDtlNo=${cancel.ordDtlNo}, ordCanChgQty=${cancel.ordCanChgQty}"/>
|
|
|
+ <div class="select">수량 0개</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </a>
|
|
|
- </div>
|
|
|
- <div class="goods_select">
|
|
|
- <div class="select_custom select_count">
|
|
|
- <div class="combo">
|
|
|
- <div class="select">수량 0개</div>
|
|
|
- </div>
|
|
|
</div>
|
|
|
+ <th:block th:if="${#lists.size(cancelList.cancelList) == status.count}">
|
|
|
+ <div class="goods_txt">
|
|
|
+ <p class="cf_txt cf_desc">취소하실 상품의 수량을 선택하신 후<br>취소 신청을 하실 수 있습니다.</p>
|
|
|
+ </div>
|
|
|
+ </th:block>
|
|
|
</div>
|
|
|
- <div class="goods_txt">
|
|
|
- <p class="cf_txt cf_desc">취소하실 상품의 수량을 선택하신 후<br>취소 신청을 하실 수 있습니다.</p>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="inner">
|
|
|
- <div class="tbl_wrap">
|
|
|
- <div class="tbl_tit">
|
|
|
- <h3>취소 사유</h3>
|
|
|
- </div>
|
|
|
- <div class="tbl tbl_tarea">
|
|
|
- <table>
|
|
|
- <colgroup>
|
|
|
- <col width="*">
|
|
|
- </colgroup>
|
|
|
- <tr>
|
|
|
- <th class="sr-only">취소 접수 일자</th>
|
|
|
- <td>
|
|
|
- <div class="select_custom select_return">
|
|
|
- <div class="combo">
|
|
|
- <div class="select">취소 사유를 선택하세요.</div>
|
|
|
- <ul class="list">
|
|
|
- <li>단순 변심</li>
|
|
|
- <li>색상/사이즈가 상이</li>
|
|
|
- <li>타사이트가 더 저렴함</li>
|
|
|
- <li>상품옵션 선택 잘못 함</li>
|
|
|
- <li>상품 결함이 있음</li>
|
|
|
- <li>실제 상품이 상품 설명과 다름</li>
|
|
|
- <li>포장과 상품이 훼손 됨</li>
|
|
|
- <li>상품이 훼손 됨(포장은 양호)</li>
|
|
|
- <li>주문상품 일부가 배송되지 않음</li>
|
|
|
- <li>구성품, 부속품이 없음</li>
|
|
|
- <li>다른 상품이 배송됨(주문상품 아님)</li>
|
|
|
- <li>상품이 늦게 배송 됨</li>
|
|
|
- </ul>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <th class="sr-only">취소 완료 일자</th>
|
|
|
- <td>
|
|
|
- <div class="textarea_wrap">
|
|
|
- <textarea class="doc_return" name="" id="" placeholder="자세한 사유를 입력해주세요."></textarea>
|
|
|
- <p class="txt_cnt"><span id="return_cnt" class="c_primary">0</span>/200</p>
|
|
|
- </div>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- </table>
|
|
|
- </div>
|
|
|
+ </th:block>
|
|
|
+ <!-- //취소상품목록 -->
|
|
|
+
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="inner">
|
|
|
<div class="tbl_wrap pay_wrap">
|
|
|
<div class="tbl_tit">
|
|
|
<h3>환불 정보</h3>
|
|
|
- <strong class="pay"><span>123,456,789</span>원</strong>
|
|
|
+ <strong class="pay"><span id="returnAmt">0</span>원</strong>
|
|
|
</div>
|
|
|
<div class="tbl type1">
|
|
|
<table>
|
|
|
@@ -148,7 +124,7 @@
|
|
|
<dt>상품 취소 금액</dt>
|
|
|
<dd>
|
|
|
<div>
|
|
|
- <span>123,456,789</span>원
|
|
|
+ <span id="goodsCancelAmt">0</span>원
|
|
|
</div>
|
|
|
</dd>
|
|
|
</div>
|
|
|
@@ -156,7 +132,7 @@
|
|
|
<dt>배송비</dt>
|
|
|
<dd>
|
|
|
<div>
|
|
|
- <span>-123,456,789</span>원
|
|
|
+ <span id="deliveryFee">0</span>원
|
|
|
</div>
|
|
|
</dd>
|
|
|
</div>
|
|
|
@@ -164,7 +140,7 @@
|
|
|
<dt>할인 금액 차감</dt>
|
|
|
<dd>
|
|
|
<div>
|
|
|
- <span>-123,456,789</span>원
|
|
|
+ <span id="deductDcAmt">0</span>원
|
|
|
</div>
|
|
|
</dd>
|
|
|
</div>
|
|
|
@@ -174,7 +150,10 @@
|
|
|
<dt>환불 수단</dt>
|
|
|
<dd>
|
|
|
<div>
|
|
|
- <span>-123,456,789</span>원
|
|
|
+ <span th:if="${paymentInfo.pgGb == 'KCP'}" th:text="${paymentInfo.payMeansNm}"></span>
|
|
|
+ <span th:if="${paymentInfo.pgGb == 'NAVER'}" th:text="|네이버페이|"></span>
|
|
|
+ <span th:if="${paymentInfo.pgGb == 'KAKAO'}" th:text="|카카오페이|"></span>
|
|
|
+ <span th:if="${paymentInfo.pgGb == 'PAYCO'}" th:text="|PAYCO|"></span>
|
|
|
</div>
|
|
|
</dd>
|
|
|
</div>
|
|
|
@@ -182,7 +161,7 @@
|
|
|
<dt>결제금액 환불</dt>
|
|
|
<dd>
|
|
|
<div>
|
|
|
- <span>-123,456,789</span>원
|
|
|
+ <span id="refundPayAmt">0</span>원
|
|
|
</div>
|
|
|
</dd>
|
|
|
</div>
|
|
|
@@ -190,7 +169,7 @@
|
|
|
<dt>포인트 환불</dt>
|
|
|
<dd>
|
|
|
<div>
|
|
|
- <span>-123,456,789</span>원
|
|
|
+ <span id="refundPoint">0</span>P
|
|
|
</div>
|
|
|
</dd>
|
|
|
</div>
|
|
|
@@ -198,7 +177,7 @@
|
|
|
<dt>상품권 환불</dt>
|
|
|
<dd>
|
|
|
<div>
|
|
|
- <span>3000</span>P
|
|
|
+ <span id="refundGiftCard">0</span>원
|
|
|
</div>
|
|
|
</dd>
|
|
|
</div>
|
|
|
@@ -210,203 +189,330 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="required_group">
|
|
|
- <p>배송비 <span class="c_primary">5,000원</span> 추가 결제가 필요합니다.</p>
|
|
|
+ <p>배송비 <span class="c_primary" id="addPayCost">0원</span> 추가 결제가 필요합니다.</p>
|
|
|
</div>
|
|
|
<div class="btn_group btn_group_flex">
|
|
|
- <div><button type="button" class="btn btn_default"><span>취소</span></button></div>
|
|
|
- <div><button type="button" id="btn_order_return" class="btn btn_dark"><span>취소 신청</span></button></div> <!-- 210409_추가 : btn_order_return id 추가 -->
|
|
|
+ <div><button type="button" class="btn btn_default" onclick="cfnGoToPage(_PAGE_MYPAGE_ORDER_LIST);"><span>취소</span></button></div>
|
|
|
+ <div><button type="button" id="btn_order_return" class="btn btn_dark" onclick="fnCancel();"><span>주문 취소</span></button></div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</form>
|
|
|
</section>
|
|
|
</main>
|
|
|
+
|
|
|
+<!-- 210408_취소 수량 선택 팝업 -->
|
|
|
+<th:block th:if="${cancelList.cancelList}" th:each="cancel, status : ${cancelList.cancelList}">
|
|
|
+ <div class="popup_box returnCountPop">
|
|
|
+ <div class="lap">
|
|
|
+ <div class="popup_close">카테고리닫기</div>
|
|
|
+ <div class="popup_head sr-only">
|
|
|
+ <h2 class="">주문상태 선택 팝업</h2>
|
|
|
+ </div>
|
|
|
+ <div class="popup_con">
|
|
|
+ <div class="button_list clear">
|
|
|
+ <button type="button"><span>수량 0개</span></button>
|
|
|
+ <th:block th:each="num : ${#numbers.sequence(1,cancel.ordCanChgQty)}">
|
|
|
+ <button type="button" th:qty="${num}" onclick="fnChangeCancelQty(this);"><span th:text="|수량 ${num}개|"></span></button>
|
|
|
+ </th:block>
|
|
|
+ <input type="hidden" name="ordDtlNo" th:value="${cancel.ordDtlNo}">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</th:block>
|
|
|
+<!-- //210408_취소 수량 선택 팝업 -->
|
|
|
+
|
|
|
<script src="/ux/plugins/gaga/gaga.paging.js"></script>
|
|
|
<script th:inline="javascript">
|
|
|
- let cancelList = [[${cancelList}]];
|
|
|
- let oneData = [[${oneData}]];
|
|
|
- let paymentInfo = [[${paymentInfo}]];
|
|
|
- let addPayCost = 0;
|
|
|
+let cancelList = [[${cancelList}]];
|
|
|
+let oneData = [[${oneData}]];
|
|
|
+let paymentInfo = [[${paymentInfo}]];
|
|
|
+let addPayCost = 0;
|
|
|
|
|
|
- $(document).ready(function() {
|
|
|
- // 마이페이지 LNB 설정
|
|
|
- fnSetMypageLnbList(2);
|
|
|
+$(document).ready(function() {
|
|
|
+
|
|
|
+});
|
|
|
|
|
|
- // 마이페이지 location 설정
|
|
|
- fnSetMypageLocation('취소/반품/환불내역', '_PAGE_MYPAGE_CRE_LIST', '취소 신청');
|
|
|
+// 취소수량버튼기능
|
|
|
+$(".select_custom.select_count").each(function(idx){
|
|
|
+ $(this).on("click", function(){
|
|
|
+ // 전체비활성화
|
|
|
+ $(".returnCountPop").hide();
|
|
|
+
|
|
|
+ // 수량팝업활성화
|
|
|
+ $(".returnCountPop").eq(idx).show().addClass("active");
|
|
|
+ $("body").css({"overflow":"hidden"});
|
|
|
+ });
|
|
|
+});
|
|
|
|
|
|
- // 셀렉트박스 활성화
|
|
|
- $(".myOrderView .part_goods .select_custom.select_count").each(function() {
|
|
|
- new sCombo(this);
|
|
|
- });
|
|
|
+// 취소 처리
|
|
|
+var fnCancel = function() {
|
|
|
+ // 주문상세번호 및 취소 수량 설정
|
|
|
+ let ordDtlNoArr = [];
|
|
|
+ let cnclRtnReqQtyArr = [];
|
|
|
+ let chkQty = 0;
|
|
|
+
|
|
|
+ $.each($('#cancelForm input[name=chgQty]'), function(idx, item) {
|
|
|
+ let chgQty = $(item).val();
|
|
|
+ let ordDtlNo = $(item).attr('ordDtlNo');
|
|
|
+
|
|
|
+ ordDtlNoArr.push(Number(ordDtlNo));
|
|
|
+ cnclRtnReqQtyArr.push(Number(chgQty));
|
|
|
+ chkQty += chgQty;
|
|
|
});
|
|
|
|
|
|
- // 취소 처리
|
|
|
- var fnCancel = function() {
|
|
|
- // 취소수량 설정
|
|
|
- //fnChangeCancelQty();
|
|
|
-
|
|
|
- // 주문상세번호 및 취소 수량 설정
|
|
|
- let ordDtlNoArr = [];
|
|
|
- let cnclRtnReqQtyArr = [];
|
|
|
- let chkQty = 0;
|
|
|
- $.each($('#cancelForm input[name=chgQty]'), function(idx, item) {
|
|
|
- let chgQty = $(item).val();
|
|
|
- let ordDtlNo = $(item).attr('ordDtlNo');
|
|
|
-
|
|
|
- ordDtlNoArr.push(Number(ordDtlNo));
|
|
|
- cnclRtnReqQtyArr.push(Number(chgQty));
|
|
|
- chkQty += chgQty;
|
|
|
- });
|
|
|
+ // 취소 수량 체크
|
|
|
+ if (chkQty == 0) {
|
|
|
+ mcxDialog.alert('취소하실 상품의 수량을 선택해주세요.');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
|
|
|
- // 취소 수량 체크
|
|
|
- if (chkQty == 0) {
|
|
|
- mcxDialog.alert('취소하실 상품의 수량을 선택해주세요.');
|
|
|
- return false;
|
|
|
- }
|
|
|
+ // 환불계좌 체크
|
|
|
+ let accountNo = $('#cancelForm input[name=accountNo]').val();
|
|
|
+ let accountNm = $('#cancelForm input[name=accountNm]').val();
|
|
|
+ let bankCd = $('#cancelForm input[name=bankCd]').val();
|
|
|
|
|
|
- // 환불계좌 체크
|
|
|
- let accountNo = $('#cancelForm input[name=accountNo]').val();
|
|
|
- let accountNm = $('#cancelForm input[name=accountNm]').val();
|
|
|
- let bankCd = $('#cancelForm input[name=bankCd]').val();
|
|
|
-
|
|
|
- if (paymentInfo.payMeans == 'G014_20' && paymentInfo.payStat == 'G016_30' && (gagajf.isNull(accountNo) || gagajf.isNull(accountNm) || gagajf.isNull(bankCd))) {
|
|
|
- let data = {};
|
|
|
- data.ordNo = oneData.ordNo;
|
|
|
- data.accountNm = oneData.accountNm;
|
|
|
-
|
|
|
- let jsonData = JSON.stringify(data);
|
|
|
-
|
|
|
- $.ajax( {
|
|
|
- type : "POST",
|
|
|
- url : '/mypage/refund/account/register/popup/form',
|
|
|
- data : jsonData,
|
|
|
- dataType : 'html',
|
|
|
- beforeSend : function(xhr, settings) {
|
|
|
- xhr.setRequestHeader("AJAX" , "true");
|
|
|
- xhr.setRequestHeader('Accept' , 'application/json');
|
|
|
- xhr.setRequestHeader('Content-Type' , 'application/json');
|
|
|
- },
|
|
|
- success : function(result) {
|
|
|
- $("#refundPop .modal-dialog .modal-content").html(result);
|
|
|
- $("#refundPop").modal("show");
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- return false;
|
|
|
- }
|
|
|
+ // 무통장입금, 결제완료 일때 환불계좌정보 체크
|
|
|
+ if (paymentInfo.payMeans == 'G014_20' && paymentInfo.payStat == 'G016_30' && (gagajf.isNull(accountNo) || gagajf.isNull(accountNm) || gagajf.isNull(bankCd))) {
|
|
|
+ let data = {};
|
|
|
+ data.ordNo = oneData.ordNo;
|
|
|
+ data.accountNm = oneData.accountNm;
|
|
|
+ let jsonData = JSON.stringify(data);
|
|
|
|
|
|
- // 취소요청 데이터 설정
|
|
|
- let url = '/mypage/cancel';
|
|
|
-
|
|
|
- // 취소 처리
|
|
|
- let data = {};
|
|
|
- data.ordNo = oneData.ordNo;
|
|
|
- data.chgReason = 'G686_10';
|
|
|
- data.chgReasonNm = '고객변심';
|
|
|
- data.accountNo = accountNo;
|
|
|
- data.accountNm = accountNm;
|
|
|
- data.bankCd = bankCd;
|
|
|
- data.isCustomer = 'Y';
|
|
|
- data.reqGbn = 'cnclComplete';
|
|
|
- data.pgTid = paymentInfo.pgTid;
|
|
|
- data.payAmt = paymentInfo.payAmt;
|
|
|
- data.ordDtlNoArr = ordDtlNoArr;
|
|
|
- data.cnclRtnReqQtyArr = cnclRtnReqQtyArr;
|
|
|
-
|
|
|
- let jsonData = JSON.stringify(data);
|
|
|
-
|
|
|
- // 취소 처리 가능 여부 조회
|
|
|
- gagajf.ajaxJsonSubmit('/mypage/wms/cancel/available', jsonData, function(result) {
|
|
|
- if (result.cancelYn == 'Y') {
|
|
|
- // 취소 처리
|
|
|
- gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
|
|
|
- cfnGoToPage(_PAGE_MYPAGE_ORDER_LIST);
|
|
|
- });
|
|
|
- } else {
|
|
|
- mcxDialog.alert('이미 배송처리 되어 취소 처리에 실패 하였습니다.');
|
|
|
+ $.ajax( {
|
|
|
+ type : "POST",
|
|
|
+ url : '/mypage/refund/account/register/popup/form',
|
|
|
+ data : jsonData,
|
|
|
+ dataType : 'html',
|
|
|
+ beforeSend : function(xhr, settings) {
|
|
|
+ xhr.setRequestHeader("AJAX" , "true");
|
|
|
+ xhr.setRequestHeader('Accept' , 'application/json');
|
|
|
+ xhr.setRequestHeader('Content-Type' , 'application/json');
|
|
|
+ },
|
|
|
+ success : function(result) {
|
|
|
+ $("#refundPop .modal-dialog .modal-content").html(result);
|
|
|
+ $("#refundPop").modal("show");
|
|
|
}
|
|
|
});
|
|
|
+
|
|
|
+ return false;
|
|
|
}
|
|
|
+
|
|
|
+ // 취소요청 데이터 설정
|
|
|
+ let url = '/mypage/cancel';
|
|
|
+
|
|
|
+ // 취소 처리
|
|
|
+ let data = {};
|
|
|
+ data.ordNo = oneData.ordNo;
|
|
|
+ data.chgReason = 'G686_10';
|
|
|
+ data.chgReasonNm = '고객변심';
|
|
|
+ data.accountNo = accountNo;
|
|
|
+ data.accountNm = accountNm;
|
|
|
+ data.bankCd = bankCd;
|
|
|
+ data.isCustomer = 'Y';
|
|
|
+ data.reqGbn = 'cnclComplete';
|
|
|
+ data.pgTid = paymentInfo.pgTid;
|
|
|
+ data.payAmt = paymentInfo.payAmt;
|
|
|
+ data.ordDtlNoArr = ordDtlNoArr;
|
|
|
+ data.cnclRtnReqQtyArr = cnclRtnReqQtyArr;
|
|
|
+
|
|
|
+ let jsonData = JSON.stringify(data);
|
|
|
|
|
|
- // 취소 수량 변경 이벤트 처리
|
|
|
- var fnChangeCancelQty = function(param) {
|
|
|
- let url = '/mypage/cancel/refund/amt/calculate';
|
|
|
+ // 취소 처리 가능 여부 조회
|
|
|
+ gagajf.ajaxJsonSubmit('/mypage/wms/cancel/available', jsonData, function(result) {
|
|
|
+ if (result.cancelYn == 'Y') {
|
|
|
+ // 취소 처리
|
|
|
+ gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
|
|
|
+ cfnGoToPage(_PAGE_MYPAGE_ORDER_LIST);
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ mcxDialog.alert('이미 배송처리 되어 취소 처리에 실패 하였습니다.');
|
|
|
+ }
|
|
|
+ });
|
|
|
+}
|
|
|
|
|
|
- if (param != null) {
|
|
|
- $(param).parent().parent().find('input[name=chgQty]').val($(param).attr('qty'));
|
|
|
+// 취소 수량 변경 이벤트 처리
|
|
|
+var fnChangeCancelQty = function(param) {
|
|
|
+ let url = '/mypage/cancel/refund/amt/calculate';
|
|
|
+
|
|
|
+ // 취소수량설정
|
|
|
+ $("#cancelForm input[name=chgQty]").each(function(idx){
|
|
|
+ var ordDtlNo = $(this).attr("ordDtlNo");
|
|
|
+ if (ordDtlNo == $(param).parent().find("input[name=ordDtlNo]").val()) {
|
|
|
+ $(this).val($(param).attr("qty"));
|
|
|
+ $(this).parent().find(".select").text($(param).find("span").text());
|
|
|
}
|
|
|
+ });
|
|
|
|
|
|
- // 취소 수량 설정
|
|
|
- let cnclRtnReqQtyArr = [];
|
|
|
- let ordDtlNoArr = [];
|
|
|
- let ordCanChgQtyArr = [];
|
|
|
- $.each($('#cancelForm input[name=chgQty]'), function(idx, item) {
|
|
|
- let chgQty = $(item).val();
|
|
|
- let ordDtlNo = $(item).attr('ordDtlNo');
|
|
|
- let ordCanChgQty = $(item).attr('ordCanChgQty');
|
|
|
-
|
|
|
- cnclRtnReqQtyArr.push(Number(chgQty));
|
|
|
- ordDtlNoArr.push(Number(ordDtlNo));
|
|
|
- ordCanChgQtyArr.push(Number(ordCanChgQty));
|
|
|
- });
|
|
|
+ // 취소 수량 설정
|
|
|
+ let cnclRtnReqQtyArr = [];
|
|
|
+ let ordDtlNoArr = [];
|
|
|
+ let ordCanChgQtyArr = [];
|
|
|
+
|
|
|
+ $.each($('#cancelForm input[name=chgQty]'), function(idx, item) {
|
|
|
+ let chgQty = $(item).val();
|
|
|
+ let ordDtlNo = $(item).attr('ordDtlNo');
|
|
|
+ let ordCanChgQty = $(item).attr('ordCanChgQty');
|
|
|
+
|
|
|
+ cnclRtnReqQtyArr.push(Number(chgQty));
|
|
|
+ ordDtlNoArr.push(Number(ordDtlNo));
|
|
|
+ ordCanChgQtyArr.push(Number(ordCanChgQty));
|
|
|
+ });
|
|
|
|
|
|
- let data = {};
|
|
|
- data.ordNo = oneData.ordNo;
|
|
|
- data.ordDtlNoArr = ordDtlNoArr;
|
|
|
- data.cnclRtnReqQtyArr = cnclRtnReqQtyArr;
|
|
|
-
|
|
|
- let jsonData = JSON.stringify(data);
|
|
|
-
|
|
|
- gagajf.ajaxJsonSubmit(url, jsonData, function (result) {
|
|
|
- // 환불포인트, 환불상품권 금액 계산
|
|
|
- let refundPoint = Number(result.spanPntDcAmt);
|
|
|
- let refundGiftCard = Number(result.spanGfcdUseAmt);
|
|
|
-
|
|
|
- let spanCnclRtnAmt = Number(result.spanCnclRtnAmt);
|
|
|
- let sumDeliveryFee = Number(result.sumDeliveryFee);
|
|
|
- let spanTotDeliveryFee = Number(result.spanTotDeliveryFee);
|
|
|
- let spanCpnDcAmt = Number(result.spanCpnDcAmt);
|
|
|
- let spanTmtbDcAmt = Number(result.spanTmtbDcAmt);
|
|
|
- let spanPrePntDcAmt = Number(result.spanPrePntDcAmt);
|
|
|
- let spanRefundAmt = Number(result.spanRefundAmt);
|
|
|
-
|
|
|
- let goodsCancelAmt = spanCnclRtnAmt; // 상품취소금액
|
|
|
- let deliveryFee = sumDeliveryFee - spanTotDeliveryFee; // 배송비
|
|
|
- let deductDcAmt = 0 - spanCpnDcAmt - spanTmtbDcAmt - spanPrePntDcAmt; // 할인금액 차감(쿠폰+다다익선+선포인트)
|
|
|
- let refundPayAmt = spanRefundAmt; // 결제금액 환불
|
|
|
- let returnAmt = refundPayAmt + refundPoint + refundGiftCard; // 환불예정금액
|
|
|
-
|
|
|
- // 추가배송비 영역 설정
|
|
|
- if (refundPayAmt < 0) {
|
|
|
- refundPayAmt = spanRefundAmt;
|
|
|
- $('#addDeliveryFee').css('display', '');
|
|
|
- $('#addPayCost').text(spanTotDeliveryFee.addComma() + '원');
|
|
|
- addPayCost = spanTotDeliveryFee;
|
|
|
- } else {
|
|
|
- addPayCost = 0;
|
|
|
- }
|
|
|
+ let data = {};
|
|
|
+ data.ordNo = oneData.ordNo;
|
|
|
+ data.ordDtlNoArr = ordDtlNoArr;
|
|
|
+ data.cnclRtnReqQtyArr = cnclRtnReqQtyArr;
|
|
|
+
|
|
|
+ let jsonData = JSON.stringify(data);
|
|
|
+
|
|
|
+ gagajf.ajaxJsonSubmit(url, jsonData, function (result) {
|
|
|
+ // 환불포인트, 환불상품권 금액 계산
|
|
|
+ let refundPoint = Number(result.spanPntDcAmt);
|
|
|
+ let refundGiftCard = Number(result.spanGfcdUseAmt);
|
|
|
+
|
|
|
+ let spanCnclRtnAmt = Number(result.spanCnclRtnAmt);
|
|
|
+ let sumDeliveryFee = Number(result.sumDeliveryFee);
|
|
|
+ let spanTotDeliveryFee = Number(result.spanTotDeliveryFee);
|
|
|
+ let spanCpnDcAmt = Number(result.spanCpnDcAmt);
|
|
|
+ let spanTmtbDcAmt = Number(result.spanTmtbDcAmt);
|
|
|
+ let spanPrePntDcAmt = Number(result.spanPrePntDcAmt);
|
|
|
+ let spanRefundAmt = Number(result.spanRefundAmt);
|
|
|
+
|
|
|
+ let goodsCancelAmt = spanCnclRtnAmt; // 상품취소금액
|
|
|
+ let deliveryFee = sumDeliveryFee - spanTotDeliveryFee; // 배송비
|
|
|
+ let deductDcAmt = 0 - spanCpnDcAmt - spanTmtbDcAmt - spanPrePntDcAmt; // 할인금액 차감(쿠폰+다다익선+선포인트)
|
|
|
+ let refundPayAmt = spanRefundAmt; // 결제금액 환불
|
|
|
+ let returnAmt = refundPayAmt + refundPoint + refundGiftCard; // 환불예정금액
|
|
|
+
|
|
|
+ // 추가배송비 영역 설정
|
|
|
+ if (refundPayAmt < 0) {
|
|
|
+ refundPayAmt = spanRefundAmt;
|
|
|
+ $('#addDeliveryFee').css('display', '');
|
|
|
+ $('#addPayCost').text(spanTotDeliveryFee.addComma() + '원');
|
|
|
+ addPayCost = spanTotDeliveryFee;
|
|
|
+ } else {
|
|
|
+ $('#addPayCost').text(spanTotDeliveryFee.addComma() + '원');
|
|
|
+ addPayCost = 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 금액 설정
|
|
|
+ $('#returnAmt').text(returnAmt.addComma());
|
|
|
+ $('#goodsCancelAmt').text(goodsCancelAmt.addComma());
|
|
|
+ $('#deliveryFee').text(deliveryFee.addComma());
|
|
|
+ $('#deductDcAmt').text(deductDcAmt.addComma());
|
|
|
+ $('#refundPayAmt').text(refundPayAmt.addComma());
|
|
|
+ $('#refundPoint').text(refundPoint.addComma());
|
|
|
+ $('#refundGiftCard').text(refundGiftCard.addComma());
|
|
|
+ });
|
|
|
+}
|
|
|
|
|
|
- // 금액 설정
|
|
|
- $('#returnAmt').text(returnAmt.addComma());
|
|
|
- $('#goodsCancelAmt').text(goodsCancelAmt.addComma());
|
|
|
- $('#deliveryFee').text(deliveryFee.addComma());
|
|
|
- $('#deductDcAmt').text(deductDcAmt.addComma());
|
|
|
- $('#refundPayAmt').text(refundPayAmt.addComma());
|
|
|
- $('#refundPoint').text(refundPoint.addComma());
|
|
|
- $('#refundGiftCard').text(refundGiftCard.addComma());
|
|
|
+// 환불계좌 등록 콜백 처리
|
|
|
+var fnRegisterAccountCallback = function(result) {
|
|
|
+ // 환불계좌 정보 설정
|
|
|
+ $('#cancelForm input[name=accountNo]').val(result.accountNo);
|
|
|
+ $('#cancelForm input[name=accountNm]').val(result.accountNm);
|
|
|
+ $('#cancelForm input[name=bankCd]').val(result.bankCd);
|
|
|
+
|
|
|
+ // 취소처리
|
|
|
+ fnCancel();
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<script>
|
|
|
+$(document).ready(function(){
|
|
|
+ /*
|
|
|
+ // 세부 사유 글자 수 제한
|
|
|
+ $('.doc_return').keyup(function(e){
|
|
|
+ var content = $(this).val();
|
|
|
+ $('#return_cnt').html(content.length);
|
|
|
+ if (content.length > 200){
|
|
|
+ mcxDialog.alert("최대 200자까지 입력 가능합니다."); //210420_수정 : 시스템 alert -> dialog 변경.
|
|
|
+ $(this).val(content.substring(0, 200));
|
|
|
+ $('#return_cnt').html("200");
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ //210408_추가 : 스크립트 추가.
|
|
|
+ //반품회수방법 선택 스크립트 추가
|
|
|
+ $(document).on('change','.my_return .retrieve_method #rdi_retrieve_visit',function(e){
|
|
|
+ $('.my_return .retrieve_box.direct').hide();
|
|
|
+ $('.my_return .retrieve_box.visit').show();
|
|
|
+ return false;
|
|
|
+ }).on('change','.my_return .retrieve_method #rdi_retrieve_direct',function(e){
|
|
|
+ $('.my_return .retrieve_box.visit').hide();
|
|
|
+ $('.my_return .retrieve_box.direct').show();
|
|
|
+ return false;
|
|
|
+ });
|
|
|
+
|
|
|
+ //버튼 색
|
|
|
+ $(document).on('click','.popup_box .button_list button',function(){
|
|
|
+ $('.popup_box .button_list button').removeClass('on');
|
|
|
+ $(this).addClass('on');
|
|
|
+ });
|
|
|
+
|
|
|
+ // 반품 수량 선택 팝업
|
|
|
+ //$(document).on("click",".select_custom.select_count",function(e){
|
|
|
+ //$('#returnCountPop').show().addClass("active");
|
|
|
+ //$("body").css({"overflow":"hidden"});
|
|
|
+ //});
|
|
|
+
|
|
|
+ //반품 사유 선택 팝업
|
|
|
+ $(document).on("click",".select_custom.select_return",function(e){
|
|
|
+ $('#returnReasonPop').show().addClass("active");
|
|
|
+ $("body").css({"overflow":"hidden"});
|
|
|
+ });
|
|
|
+
|
|
|
+ //팝업_닫기
|
|
|
+ $('.popup_close').on("click",function(){
|
|
|
+ $('.popup_box').hide().removeClass('active');
|
|
|
+ $("body").css({"overflow":"visible"});
|
|
|
+ });
|
|
|
+
|
|
|
+ //배송지추가_팝업
|
|
|
+ $(document).on('click','#btn_adrsAdd_pop',function(e){
|
|
|
+ $("#adrsAddPop").modal("show");
|
|
|
+ return false;
|
|
|
+ });
|
|
|
+ $("#adrsAddPop_close").click(function() {
|
|
|
+ $("#adrsAddPop").modal("hide");
|
|
|
+ });
|
|
|
+
|
|
|
+ //배송지정보_팝업
|
|
|
+ $(document).on('click','#btn_adrsChange_pop',function(e){
|
|
|
+ $("#adrsChangePop").modal("show");
|
|
|
+ return false;
|
|
|
+ });
|
|
|
+ $("#adrsChangePop_close").click(function() {
|
|
|
+ $("#adrsChangePop").modal("hide");
|
|
|
+ });
|
|
|
+
|
|
|
+ //배송지수정_팝업
|
|
|
+ $(document).on('click','#btn_addrModify_pop',function(e){
|
|
|
+ $("#adrsModifyPop").modal("show");
|
|
|
+ return false;
|
|
|
+ });
|
|
|
+ $("#adrsModifyPop_close").click(function() {
|
|
|
+ $("#adrsModifyPop").modal("hide");
|
|
|
+ });
|
|
|
+
|
|
|
+ $(document).on("click", "#btn_order_return", function(){
|
|
|
+ mcxDialog.alert("반품 신청이 접수되었습니다.", {
|
|
|
+ //alert("반품하실 상품의 수량을 선택해주세요.") : 클릭 시 반품 수량을 모두 0개로 선택한 경우
|
|
|
+ //alert("반품 사유를 선택해주세요.") : 반품 사유를 선택하지 않는 경우
|
|
|
+ sureBtnText: "확인", // Confirmation button text
|
|
|
});
|
|
|
- }
|
|
|
+ });
|
|
|
+ */
|
|
|
|
|
|
- // 환불계좌 등록 콜백 처리
|
|
|
- var fnRegisterAccountCallback = function(result) {
|
|
|
- // 환불계좌 정보 설정
|
|
|
- $('#cancelForm input[name=accountNo]').val(result.accountNo);
|
|
|
- $('#cancelForm input[name=accountNm]').val(result.accountNm);
|
|
|
- $('#cancelForm input[name=bankCd]').val(result.bankCd);
|
|
|
+});
|
|
|
|
|
|
- // 취소처리
|
|
|
- fnCancel();
|
|
|
+//210408_송장번호 input 글자 수 제한
|
|
|
+function handleOnInput(el, maxlength) {
|
|
|
+ if(el.value.length > maxlength) {
|
|
|
+ el.value = el.value.substr(0, maxlength);
|
|
|
}
|
|
|
+}
|
|
|
</script>
|
|
|
|
|
|
</th:block>
|