|
|
@@ -287,7 +287,7 @@
|
|
|
</p>
|
|
|
</div>
|
|
|
<div class="btn_footer_area">
|
|
|
- <button type="button" class="btn btn_default btn_md" onclick="cfnGoToPage(_PAGE_MYPAGE_CRS_LIST)"><span>취소</span></button>
|
|
|
+ <button type="button" class="btn btn_default btn_md" onclick="cfnGoToPage(_PAGE_MYPAGE_CRE_LIST)"><span>취소</span></button>
|
|
|
<button type="button" id="btn_confirm_exchange" class="btn btn_dark btn_md" onclick="fnExchange()"><span>교환 신청</span></button>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -299,9 +299,8 @@
|
|
|
<script src="/ux/plugins/gaga/gaga.paging.js"></script>
|
|
|
<script th:inline="javascript">
|
|
|
var isLogin = [[${isLogin}]];
|
|
|
- //let ordNo = [[${oneData.ordNo}]];
|
|
|
let oneData = [[${oneData}]];
|
|
|
- let isCustomer = true;
|
|
|
+ let isCustomer = false;
|
|
|
let addrGb = '';
|
|
|
|
|
|
$(document).ready(function() {
|
|
|
@@ -309,16 +308,16 @@
|
|
|
fnSetMypageLnbList(2);
|
|
|
|
|
|
// 마이페이지 location 설정
|
|
|
- fnSetMypageLocation('취소/반품/환불내역', '_PAGE_MYPAGE_CRS_LIST', '교환 신청');
|
|
|
+ fnSetMypageLocation('취소/반품/환불내역', '_PAGE_MYPAGE_CRE_LIST', '교환 신청');
|
|
|
|
|
|
// 셀렉트박스 활성화
|
|
|
$('.select_custom').each(function() {
|
|
|
new sCombo($(this));
|
|
|
});
|
|
|
|
|
|
- // 입점업체의 경우 회수방식 직접배송 처리
|
|
|
+ // 입점업체의 경우 회수방식 방문회수 처리
|
|
|
if (oneData.selfGoodsYn != 'Y') {
|
|
|
- $('#direct').click();
|
|
|
+ $('#withdraw').click();
|
|
|
$('.wdGb').css('display','none');
|
|
|
}
|
|
|
});
|
|
|
@@ -402,39 +401,64 @@
|
|
|
|
|
|
// 교환 처리
|
|
|
var fnExchange = function() {
|
|
|
- // TODO
|
|
|
- // 교환신청 처리
|
|
|
-
|
|
|
let url = '/mypage/exchange';
|
|
|
let delvFeeCd = oneData.delvFeeCd;
|
|
|
let ordDtlNo = oneData.ordDtlNo;
|
|
|
let supplyCompCd = oneData.supplyCompCd;
|
|
|
let excDelvFee = oneData.excDelvFee;
|
|
|
let rtnDelvFee = oneData.rtnDelvFee;
|
|
|
+ let chgReason = $('#exchangeForm input[name=chgReason]').val();
|
|
|
+
|
|
|
+ // 교환 사유 체크
|
|
|
+ if (gagajf.isNull(chgReason)) {
|
|
|
+ mcxDialog.alert('교환 사유를 선택해주세요.');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 교환 상품 설정
|
|
|
+ let chgOrdDtlNoArr = [];
|
|
|
+ $.each($('#exchangeForm input[name=chgQty]'), function(idx, item) {
|
|
|
+ if (Number($(item).val()) > 0) {
|
|
|
+ chgOrdDtlNoArr.push($(item).attr('ordDtlNo'));
|
|
|
+ }
|
|
|
+ });
|
|
|
|
|
|
- // 교환옵션 값 파싱 처리 예제
|
|
|
+ // 교환옵션 설정
|
|
|
let cancelReqList = [];
|
|
|
$.each($('#exchangeForm input[name=chgOptionList]'), function(idx, item) {
|
|
|
- let json = $(item).val();
|
|
|
- let jsonData = JSON.parse(json);
|
|
|
- $.each(jsonData, function(index, chgOpt) {
|
|
|
- let cancelReq = {};
|
|
|
- cancelReq.ordDtlNo = ordDtlNo;
|
|
|
- cancelReq.ordDtlItemSq = chgOpt.ordDtlItemSq;
|
|
|
- cancelReq.delvFeeCd = delvFeeCd;
|
|
|
- cancelReq.supplyCompCd = supplyCompCd;
|
|
|
- cancelReq.excDelvFee = excDelvFee;
|
|
|
- cancelReq.rtnDelvFee = rtnDelvFee;
|
|
|
- cancelReq.ordChgOpt = chgOpt.chgOptCd2;
|
|
|
- cancelReq.chgQty = chgOpt.chgQty;
|
|
|
- cancelReqList.push(cancelReq);
|
|
|
- });
|
|
|
+ if (chgOrdDtlNoArr.includes($(item).attr('ordDtlNo')) && !gagajf.isNull($(item).val())) {
|
|
|
+ let json = $(item).val();
|
|
|
+ let jsonData = JSON.parse(json);
|
|
|
+ $.each(jsonData, function (index, chgOpt) {
|
|
|
+ let cancelReq = {};
|
|
|
+ cancelReq.ordDtlNo = ordDtlNo;
|
|
|
+ cancelReq.ordDtlItemSq = chgOpt.ordDtlItemSq;
|
|
|
+ cancelReq.delvFeeCd = delvFeeCd;
|
|
|
+ cancelReq.supplyCompCd = supplyCompCd;
|
|
|
+ cancelReq.excDelvFee = excDelvFee;
|
|
|
+ cancelReq.rtnDelvFee = rtnDelvFee;
|
|
|
+ cancelReq.ordChgOpt = chgOpt.chgOptCd2;
|
|
|
+ cancelReq.chgQty = chgOpt.chgQty;
|
|
|
+ cancelReqList.push(cancelReq);
|
|
|
+ });
|
|
|
+ }
|
|
|
});
|
|
|
-
|
|
|
+
|
|
|
+ // 교환 수량 및 변경 옵션 체크
|
|
|
+ if (chgOrdDtlNoArr.length > cancelReqList.length) {
|
|
|
+ mcxDialog.alert('교환하실 상품의 변경 옵션을 선택해주세요.');
|
|
|
+ return false;
|
|
|
+ } else if (chgOrdDtlNoArr.length < cancelReqList.length || chgOrdDtlNoArr.length == 0) {
|
|
|
+ mcxDialog.alert('교환하실 상품의 수량을 선택해주세요.');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 교환 필요 데이터 설정
|
|
|
let data = {};
|
|
|
data.ordNo = oneData.ordNo;
|
|
|
data.isCustomer = isCustomer;
|
|
|
data.wdGb = $('#exchangeForm input[name=wdGb]:radio:checked').val();
|
|
|
+ data.wdInvoiceNo = $('#exchangeForm input[name=wdInvoiceNo]').val();
|
|
|
data.recipNm = $('#exchangeForm input[name=recipNm]').val();
|
|
|
data.recipPhnno = $('#exchangeForm input[name=recipPhnno]').val();
|
|
|
data.recipTelno = $('#exchangeForm input[name=recipTelno]').val();
|
|
|
@@ -454,11 +478,12 @@
|
|
|
data.chgerRtnMemo = $('#exchangeForm input[name=chgerRtnMemo]').val();
|
|
|
data.addPayAmt = 0;
|
|
|
data.cancelReqList = cancelReqList;
|
|
|
-
|
|
|
+
|
|
|
let jsonData = JSON.stringify(data);
|
|
|
|
|
|
+ // 교환 처리
|
|
|
gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
|
|
|
- console.log(result);
|
|
|
+ cfnGoToPage(_PAGE_MYPAGE_CRE_LIST);
|
|
|
});
|
|
|
}
|
|
|
|
|
|
@@ -505,35 +530,32 @@
|
|
|
|
|
|
// 추가 배송비 계산
|
|
|
var fnAddCost = function() {
|
|
|
- // 자사상품만 처리, 입점업체는 SCM에서 별도 처리
|
|
|
- if (oneData.selfGoodsYn == 'Y') {
|
|
|
- let addPayCost = 0;
|
|
|
- let delvFee = oneData.delvFee;
|
|
|
- let rtnDelvFee = oneData.rtnDelvFee;
|
|
|
-
|
|
|
- // 교환 수량 체크
|
|
|
- let qty = 0;
|
|
|
- $.each($('#exchangeForm input[name=chgQty]'), function (idx, item) {
|
|
|
- qty += Number($(item).val());
|
|
|
- });
|
|
|
-
|
|
|
- // 교환 수량이 있고 고객 귀책 사유 시 추가 배송비 계산
|
|
|
- if (isCustomer && qty > 0) {
|
|
|
- addPayCost = delvFee;
|
|
|
-
|
|
|
- // 회수 요청 시 반품배송비 추가
|
|
|
- if ($('#exchangeForm input[name=wdGb]:radio:checked').val() == 'W') {
|
|
|
- addPayCost += rtnDelvFee;
|
|
|
- }
|
|
|
+ let addPayCost = 0;
|
|
|
+ let delvFee = oneData.delvFee;
|
|
|
+ let rtnDelvFee = oneData.rtnDelvFee;
|
|
|
|
|
|
- // 추가배송비 영역 설정
|
|
|
- $('#addDeliveryFee').css('display', '');
|
|
|
- $('#addPayCost').text(addPayCost.addComma() + '원');
|
|
|
- $('#exchangeForm input[name=addPayCost]').val(addPayCost);
|
|
|
- } else {
|
|
|
- $('#addDeliveryFee').css('display', 'none');
|
|
|
- $('#exchangeForm input[name=addPayCost]').val(0);
|
|
|
+ // 교환 수량 체크
|
|
|
+ let qty = 0;
|
|
|
+ $.each($('#exchangeForm input[name=chgQty]'), function (idx, item) {
|
|
|
+ qty += Number($(item).val());
|
|
|
+ });
|
|
|
+
|
|
|
+ // 교환 수량이 있고 고객 귀책 사유 시 추가 배송비 계산
|
|
|
+ if (isCustomer && qty > 0) {
|
|
|
+ addPayCost = delvFee;
|
|
|
+
|
|
|
+ // 회수 요청 시 반품배송비 추가
|
|
|
+ if ($('#exchangeForm input[name=wdGb]:radio:checked').val() == 'W') {
|
|
|
+ addPayCost += rtnDelvFee;
|
|
|
}
|
|
|
+
|
|
|
+ // 추가배송비 영역 설정
|
|
|
+ $('#addDeliveryFee').css('display', '');
|
|
|
+ $('#addPayCost').text(addPayCost.addComma() + '원');
|
|
|
+ $('#exchangeForm input[name=addPayCost]').val(addPayCost);
|
|
|
+ } else {
|
|
|
+ $('#addDeliveryFee').css('display', 'none');
|
|
|
+ $('#exchangeForm input[name=addPayCost]').val(0);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -558,7 +580,7 @@
|
|
|
$('#exchangeForm input[name=recipBaseAddr]').val(recipBaseAddr);
|
|
|
$('#exchangeForm input[name=recipDtlAddr]').val(recipDtlAddr);
|
|
|
$('#exchangeForm input[name=delvMemo]').val(delvMemo);
|
|
|
- } else {
|
|
|
+ } else if (addrGb == 'chger') {
|
|
|
let chgerAddr = recipBaseAddr + ' ' + recipDtlAddr + '\n';
|
|
|
chgerAddr += '<button type="button" class="btn btn_default btn_sm" onclick="fnChangeAddr(\'chger\');"><span>회수지 변경</span></button>';
|
|
|
|