|
|
@@ -87,7 +87,7 @@
|
|
|
<div class="form_field">
|
|
|
<div class="select_custom type1">
|
|
|
<div class="combo">
|
|
|
-<!-- <input type="hidden" name="chgQty" value="0" th:attr="ordDtlNo=${return.ordDtlNo}, ordCanChgQty=${return.ordCanChgQty}"/>-->
|
|
|
+ <input type="hidden" name="chgQty" value="0" th:attr="ordDtlNo=${return.ordDtlNo}, ordCanChgQty=${return.ordCanChgQty}"/>
|
|
|
<div class="select">선택</div>
|
|
|
<ul class="list" style="width:100px; margin:0 auto">
|
|
|
<li class="selected" value="0">선택</li>
|
|
|
@@ -126,7 +126,8 @@
|
|
|
<div class="form_field">
|
|
|
<div class="select_custom type1">
|
|
|
<div class="combo">
|
|
|
- <div class="select" name="chgReason">반품 사유를 선택하세요</div>
|
|
|
+ <input type="hidden" name="chgReason"/>
|
|
|
+ <div class="select">반품 사유를 선택하세요</div>
|
|
|
<ul class="list" style="width:400px">
|
|
|
<li class="selected" value="">반품 사유를 선택하세요</li>
|
|
|
<li th:if="${returnReason}" th:each="oneData, status : ${returnReason}" th:value="${oneData.cd}" th:text="${oneData.cdNm}" onclick="fnChangeReason(this);"></li>
|
|
|
@@ -146,7 +147,7 @@
|
|
|
</table>
|
|
|
</div>
|
|
|
</section>
|
|
|
- <section class="order_row">
|
|
|
+ <section class="order_row" id="wdGb">
|
|
|
<div class="order_tit">
|
|
|
<h3 class="subH3">반품 방식 선택</h3>
|
|
|
</div>
|
|
|
@@ -160,11 +161,11 @@
|
|
|
<td>
|
|
|
<div class="form_field radio_field">
|
|
|
<div class="">
|
|
|
- <input type="radio" name="wdGb" id="withdraw" value="W" onclick="fnChangeWdGb();" checked>
|
|
|
+ <input type="radio" name="wdGb" id="withdraw" value="W" checked>
|
|
|
<label for="withdraw"><span>방문회수 <b class="c_primary">택배사에서 방문하여 회수</b></span></label>
|
|
|
</div>
|
|
|
<div class="">
|
|
|
- <input type="radio" name="wdGb" id="direct" value="D" onclick="fnChangeWdGb();">
|
|
|
+ <input type="radio" name="wdGb" id="direct" value="D">
|
|
|
<label for="direct"><span>직접반송 <b class="c_primary">고객이 직접 반송처리</b></span></label>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -316,6 +317,7 @@
|
|
|
<script src="/ux/plugins/gaga/gaga.paging.js"></script>
|
|
|
<script th:inline="javascript">
|
|
|
let returnList = [[${returnList.returnList}]];
|
|
|
+ let oneData = [[${returnList.oneData}]];
|
|
|
let usedGiftCardInfo = [[${usedGiftCardInfo}]];
|
|
|
let usedPointInfo = [[${usedPointInfo}]];
|
|
|
let refundPoint = 0;
|
|
|
@@ -332,6 +334,12 @@
|
|
|
$('.select_custom.type1').each(function(index) {
|
|
|
var selecter01 = new sCombo($(this));
|
|
|
});
|
|
|
+
|
|
|
+ // 입점업체의 경우 회수방식 직접배송 처리
|
|
|
+ if (oneData.selfGoodsYn == 'Y') {
|
|
|
+ $('#direct').click();
|
|
|
+ $('#wdGb').css('display','none');
|
|
|
+ }
|
|
|
});
|
|
|
|
|
|
// 반품 처리
|
|
|
@@ -343,10 +351,14 @@
|
|
|
// 반품 수량 변경 이벤트 처리
|
|
|
var fnChangeQty = function(param) {
|
|
|
let url = '/mypage/cancel/refund/amt/calculate';
|
|
|
- $(param).parent().parent().find('input[name=chgQty]').val($(param).val());
|
|
|
- $(param).val();
|
|
|
- let chgReason = $('div[name=chgReason]').parent().find('li.selected').attr('value');
|
|
|
-
|
|
|
+
|
|
|
+ if (param != null) {
|
|
|
+ $(param).parent().parent().find('input[name=chgQty]').val($(param).val());
|
|
|
+ }
|
|
|
+
|
|
|
+ let chgReason = $('input[name=chgReason]').val();
|
|
|
+
|
|
|
+ console.log(chgReason);
|
|
|
if (!gagajf.isNull(chgReason)) {
|
|
|
let returnRequestList = [];
|
|
|
|
|
|
@@ -354,71 +366,81 @@
|
|
|
let chgQtyArr = [];
|
|
|
let ordDtlNoArr = [];
|
|
|
let ordCanChgQtyArr = [];
|
|
|
+ let chgQtyChk = 0;
|
|
|
$.each($('input[name=chgQty]'), function(idx, item) {
|
|
|
let chgQty = $(item).val();
|
|
|
let ordDtlNo = $(item).attr('ordDtlNo');
|
|
|
let ordCanChgQty = $(item).attr('ordCanChgQty');
|
|
|
-
|
|
|
- console.log('chgQty >>> '+chgQty);
|
|
|
- console.log('ordDtlNo >>> '+ordDtlNo);
|
|
|
- console.log('ordCanChgQty >>> '+ordCanChgQty);
|
|
|
|
|
|
chgQtyArr.push(Number(chgQty));
|
|
|
ordDtlNoArr.push(Number(ordDtlNo));
|
|
|
ordCanChgQtyArr.push(Number(ordCanChgQty));
|
|
|
+
|
|
|
+ chgQtyChk += Number(chgQty);
|
|
|
});
|
|
|
-
|
|
|
- // 환불포인트, 환불상품권 금액 계산
|
|
|
- let refundPoint = fnCalculatePoint(chgQtyArr, ordDtlNoArr, ordCanChgQtyArr);
|
|
|
- let refundGiftCard = fnCalculateGiftCard(chgQtyArr, ordDtlNoArr, ordCanChgQtyArr);
|
|
|
-
|
|
|
- $.each(returnList, function(idx, item) {
|
|
|
- let index = ordDtlNoArr.indexOf(item.ordDtlNo);
|
|
|
- item.ordCanChgQty = chgQtyArr[index];
|
|
|
|
|
|
- returnRequestList.push(item);
|
|
|
- })
|
|
|
-
|
|
|
- let jsonData = JSON.stringify(returnRequestList);
|
|
|
-
|
|
|
- gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
|
|
|
- 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);
|
|
|
+ if (chgQtyChk > 0) {
|
|
|
+ // 환불포인트, 환불상품권 금액 계산
|
|
|
+ let refundPoint = fnCalculatePoint(chgQtyArr, ordDtlNoArr, ordCanChgQtyArr);
|
|
|
+ let refundGiftCard = fnCalculateGiftCard(chgQtyArr, ordDtlNoArr, ordCanChgQtyArr);
|
|
|
|
|
|
- let goodsCancelAmt = spanCnclRtnAmt; // 상품취소금액
|
|
|
- let deliveryFee = sumDeliveryFee - spanTotDeliveryFee; // 배송비
|
|
|
- let deductDcAmt = 0 - spanCpnDcAmt - spanTmtbDcAmt - spanPrePntDcAmt; // 할인금액 차감(쿠폰+다다익선+선포인트)
|
|
|
- let refundPayAmt = spanRefundAmt; // 결제금액 환불
|
|
|
- let returnAmt = refundPayAmt + refundPoint + refundGiftCard; // 환불예정금액
|
|
|
-
|
|
|
- // 금액 설정
|
|
|
- $('#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());
|
|
|
- console.log(result);
|
|
|
- })
|
|
|
+ $.each(returnList, function (idx, item) {
|
|
|
+ let index = ordDtlNoArr.indexOf(item.ordDtlNo);
|
|
|
+ item.ordCanChgQty = chgQtyArr[index];
|
|
|
+
|
|
|
+ returnRequestList.push(item);
|
|
|
+ })
|
|
|
+
|
|
|
+ let jsonData = JSON.stringify(returnRequestList);
|
|
|
+
|
|
|
+ gagajf.ajaxJsonSubmit(url, jsonData, function (result) {
|
|
|
+ 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; // 환불예정금액
|
|
|
+
|
|
|
+ // 금액 설정
|
|
|
+ $('#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());
|
|
|
+ console.log(result);
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ // 반품 방식 변경 이벤트
|
|
|
+ $('input[name=wdGb]').on('change', function() {
|
|
|
+ let wdGb = $('input[name=wdGb]:radio:checked').val();
|
|
|
+
|
|
|
+ if (wdGb == 'W') {
|
|
|
+ $('#chgerLocation').css('display', '');
|
|
|
+ $('#returnLocation').css('display', 'none');
|
|
|
+ } else {
|
|
|
+ $('#chgerLocation').css('display', 'none');
|
|
|
+ $('#returnLocation').css('display', '');
|
|
|
+ }
|
|
|
+ });
|
|
|
|
|
|
// 반품 사유 변경 이벤트
|
|
|
var fnChangeReason = function(param) {
|
|
|
// TODO
|
|
|
// 반품 사유 변경 처리
|
|
|
- }
|
|
|
-
|
|
|
- // 반품 방식 선택 이벤트
|
|
|
- var fnChangeWdGb = function() {
|
|
|
- let wdGb = $('input[name=wdGb]:radio:checked').val();
|
|
|
- console.log(wdGb);
|
|
|
+ $(param).parent().parent().find('input[name=chgReason]').val($(param).val());
|
|
|
+ fnChangeQty();
|
|
|
}
|
|
|
|
|
|
// 환불 포인트 계산
|