|
|
@@ -238,7 +238,6 @@ var recallExceptionInfo = [[${recallExceptionInfo}]]; // 회수 예외 정
|
|
|
var rtnLocInfo = [[${rtnLocInfo}]]; // 반송지주소정보
|
|
|
var addPayCost = 0; // 추가배송비
|
|
|
var addDelvFee = 0; // 추가배송비
|
|
|
-//var addDelvFeeList = []; // 추가배송비정보
|
|
|
var exchangeRequestList = []; // 교환요청목록
|
|
|
var exchangeInfoList; // 교환정보
|
|
|
var wdGb; // 회수방법
|
|
|
@@ -261,20 +260,20 @@ if (ordChgSq > 0) {
|
|
|
npayChangeHoldYn = orderChangeDetailList[0].npayChangeHoldYn; // 네이버페이 주문형 반품/교환 보류 여부
|
|
|
|
|
|
if (ordChgGb == 'G681_40') {
|
|
|
- chgReason = orderChangeDetailList[0].chgReason; // 변경사유코드
|
|
|
- chgReasonNm = orderChangeDetailList[0].chgReasonNm; // 변경사유코드명
|
|
|
- chgMemo = orderChangeDetailList[0].chgMemo; // 변경사유메모
|
|
|
- wdGb = orderChangeDetailList[0].wdGb; // 회수방법
|
|
|
- chgOrdDtlStat = ''; // 교환상품상세상태값
|
|
|
- delvAddrSq = ''; // 교환상품배송지일련번호
|
|
|
+ chgReason = orderChangeDetailList[0].chgReason; // 변경사유코드
|
|
|
+ chgReasonNm = orderChangeDetailList[0].chgReasonNm; // 변경사유코드명
|
|
|
+ chgMemo = orderChangeDetailList[0].chgMemo; // 변경사유메모
|
|
|
+ wdGb = orderChangeDetailList[0].wdGb; // 회수방법
|
|
|
+ chgOrdDtlStat = ''; // 교환상품상세상태값
|
|
|
+ delvAddrSq = ''; // 교환상품배송지일련번호
|
|
|
} else {
|
|
|
- chgReason = exchangeInfoList[0].chgReason; // 변경사유코드
|
|
|
- chgReasonNm = exchangeInfoList[0].chgReasonNm; // 변경사유코드명
|
|
|
- chgMemo = exchangeInfoList[0].chgMemo; // 변경사유메모
|
|
|
- wdGb = exchangeInfoList[0].wdGb; // 회수방법
|
|
|
- chgOrdDtlStat = exchangeInfoList[0].ordDtlStat; // 교환상품상세상태값
|
|
|
- delvAddrSq = exchangeInfoList[0].delvAddrSq; // 교환상품배송지일련번호
|
|
|
- addPayCost = exchangeInfoList[0].addPayCost; // 추가배송비
|
|
|
+ chgReason = exchangeInfoList[0].chgReason; // 변경사유코드
|
|
|
+ chgReasonNm = exchangeInfoList[0].chgReasonNm; // 변경사유코드명
|
|
|
+ chgMemo = exchangeInfoList[0].chgMemo; // 변경사유메모
|
|
|
+ wdGb = exchangeInfoList[0].wdGb; // 회수방법
|
|
|
+ chgOrdDtlStat = exchangeInfoList[0].ordDtlStat; // 교환상품상세상태값
|
|
|
+ delvAddrSq = exchangeInfoList[0].delvAddrSq; // 교환상품배송지일련번호
|
|
|
+ addPayCost = exchangeInfoList[0].addPayCost; // 추가배송비
|
|
|
}
|
|
|
|
|
|
wdBfSendYn = orderChangeDetailList[0].wdBfSendYn; // 선발송여부
|
|
|
@@ -289,7 +288,7 @@ var columnExchangeReqList = [
|
|
|
{headerName: "주문번호" , field: "ordNo" , width: 80 , cellClass: 'text-center', hide: temp1},
|
|
|
{headerName: "주문상세" , field: "ordDtlNo" , width: 80 , cellClass: 'text-center'},
|
|
|
{headerName: "주문상세" , field: "ordDtlStat" , width: 80 , cellClass: 'text-center', hide: temp1},
|
|
|
- {headerName: "주문상세상태" , field: "ordDtlStatNm" , width: 100 , cellClass: 'text-center', hide: temp1},
|
|
|
+ {headerName: "주문상세상태" , field: "ordDtlStatNm" , width: 100 , cellClass: 'text-center', hide: temp1},
|
|
|
{headerName: "상품코드" , field: "goodsCd" , width: 100 , cellClass: 'text-center'},
|
|
|
{headerName: "상품명" , field: "goodsNm" , width: 130 , cellClass: 'text-center'},
|
|
|
{headerName: "상품타입" , field: "goodsTypeNm" , width: 100 , cellClass: 'text-center', hide: temp2}
|
|
|
@@ -354,6 +353,7 @@ var columnExchangeReqList = [
|
|
|
var cnclRtnReqQty = parseInt(params.data.cnclRtnQty) + parseInt(params.data.ordReqChgQty);
|
|
|
return cnclRtnReqQty;
|
|
|
}
|
|
|
+ , hide : temp1
|
|
|
},
|
|
|
{headerName: "교환가능옵션" , field: "optCd2s" , width: 200 , cellClass: 'text-center', hide: temp2},
|
|
|
{
|
|
|
@@ -1096,41 +1096,130 @@ var fnSetExchangeAddr = function(){
|
|
|
|
|
|
// 교환옵션 변경 이벤트
|
|
|
var fnChangeOption = function(param) {
|
|
|
- var opt = $(param).val().split('/');
|
|
|
- var optCd = opt[0];
|
|
|
- var optCd2 = opt[1];
|
|
|
- var ordDtlNo = $(param).attr('ordDtlNo');
|
|
|
- var ordDtlItemSq = $(param).attr('ordDtlItemSq');
|
|
|
+ var opt = $(param).val().split('/');
|
|
|
+ var optCd = opt[0];
|
|
|
+ var optCd2 = opt[1];
|
|
|
+ var ordDtlNo = $(param).attr('ordDtlNo');
|
|
|
+ var ordDtlItemSq = $(param).attr('ordDtlItemSq');
|
|
|
|
|
|
$.each(cancelRequestTargetList, function(idx, item){
|
|
|
if (item.ordDtlNo == ordDtlNo && item.ordDtlItemSq == ordDtlItemSq) {
|
|
|
- var stockQtyArr = item.currStockQtys.split(',');
|
|
|
- var sizeCdArr = item.optCd2s.split(',');
|
|
|
- var stockIdx = sizeCdArr.indexOf(optCd2);
|
|
|
- var stockQty = stockQtyArr[stockIdx];
|
|
|
- item.currStockQty = stockQty;
|
|
|
- item.ordChgOpt = optCd;
|
|
|
+ var stockQtyArr = item.currStockQtys.split(',');
|
|
|
+ var sizeCdArr = item.optCd2s.split(',');
|
|
|
+ var stockIdx = sizeCdArr.indexOf(optCd2);
|
|
|
+ var stockQty = stockQtyArr[stockIdx];
|
|
|
+
|
|
|
+ item.currStockQty = stockQty;
|
|
|
+ item.ordChgOpt = optCd;
|
|
|
}
|
|
|
});
|
|
|
+
|
|
|
+ fnChangeQty(param);
|
|
|
+}
|
|
|
|
|
|
- //gridOptionsExchangeReqList.api.setRowData(cancelRequestTargetList);
|
|
|
+//환불예상금액계산
|
|
|
+var fnCalculateRefundAmt = function (obj) {
|
|
|
+ if (obj != null) {
|
|
|
+ for (i=0 ; i<cancelRequestTargetList.length ; i++) {
|
|
|
+ var orDtlNo = $(obj).attr("ordDtlNo");
|
|
|
+ var ordCanChgQty = $(obj).val();
|
|
|
+
|
|
|
+ if (cancelRequestTargetList[i].ordDtlNo == orDtlNo) {
|
|
|
+ cancelRequestTargetList[i].ordCanChgQty = ordCanChgQty;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 주문변경대상정보 재설정
|
|
|
+ gridOptionsExchangeReqList.api.setRowData(cancelRequestTargetList);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (cancelRequestTargetList.length == 0) {
|
|
|
+ alert("요청 대상정보가 존재 하지 않습니다.");
|
|
|
+ uifnPopupClose('popupCancelRequestForm');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 2021.05.25 수정
|
|
|
+ var ordDtlNoArr = [];
|
|
|
+ var cnclRtnReqQtyArr = [];
|
|
|
+
|
|
|
+ // 1. 반품신청수량 체크
|
|
|
+ for (i=0 ; i<cancelRequestTargetList.length ; i++) {
|
|
|
+ if (cancelRequestTargetList[i].ordCanChgQty > 0) {
|
|
|
+ // 반품신청값설정
|
|
|
+ ordDtlNoArr.push(cancelRequestTargetList[i].ordDtlNo);
|
|
|
+ cnclRtnReqQtyArr.push(cancelRequestTargetList[i].ordCanChgQty);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 2. 추가정보설정
|
|
|
+ var chgerNm = orderInfoList[0].ordNm;
|
|
|
+ var chgerEmail = orderInfoList[0].ordEmail;
|
|
|
+ var chgerPhnno = orderInfoList[0].ordPhnno;
|
|
|
+ var chgerTelno = orderInfoList[0].ordTelno;
|
|
|
+ var custNo = orderInfoList[0].custNo;
|
|
|
+ var delvFeeCd = orderInfoList[0].delvFeeCd;
|
|
|
+
|
|
|
+ // 환불금액계산호출
|
|
|
+ var jsonObj = {
|
|
|
+ "ordNo" : ordNo
|
|
|
+ ,"ordDtlNoArr" : ordDtlNoArr
|
|
|
+ ,"cnclRtnReqQtyArr" : cnclRtnReqQtyArr
|
|
|
+ ,"isCustomer" : isCustomer
|
|
|
+ ,"chgerNm" : chgerNm
|
|
|
+ ,"chgerEmail" : chgerEmail
|
|
|
+ ,"chgerPhnno" : chgerPhnno
|
|
|
+ ,"custNo" : custNo
|
|
|
+ ,"ordNm" : chgerNm
|
|
|
+ ,"ordPhnno" : chgerPhnno
|
|
|
+ ,"delvFeeCd" : delvFeeCd
|
|
|
+ }
|
|
|
+
|
|
|
+ var jsonData = JSON.stringify(jsonObj);
|
|
|
+
|
|
|
+ gagajf.ajaxJsonSubmit(
|
|
|
+ '/orderChange/cancel/refundAmt'
|
|
|
+ , jsonData
|
|
|
+ , function(result) {
|
|
|
+ // 2021.12.01 취소금액설정
|
|
|
+ if (result.cancelOrderRefundList != null && result.cancelOrderRefundList.length > 0) {
|
|
|
+ for (i=0 ; i<result.cancelOrderRefundList.length ; i++) {
|
|
|
+ for (j=0 ; j<cancelRequestTargetList.length ; j++) {
|
|
|
+ if (result.cancelOrderRefundList[i].ordDtlNo == cancelRequestTargetList[j].ordDtlNo) {
|
|
|
+ cancelRequestTargetList[j].cnclRtnAmt = result.cancelOrderRefundList[i].cnclRtnAmt; // 취소금액
|
|
|
+ cancelRequestTargetList[j].cpn1DcAmt = result.cancelOrderRefundList[i].cpn1DcAmt; // 즉시할인쿠폰금액
|
|
|
+ cancelRequestTargetList[j].tmtb1DcAmt = result.cancelOrderRefundList[i].tmtb1DcAmt; // 수량할인다다익선금액
|
|
|
+ cancelRequestTargetList[j].tmtb2DcAmt = result.cancelOrderRefundList[i].tmtb2DcAmt; // 금액할인다다익선금액
|
|
|
+ cancelRequestTargetList[j].goodsCpnDcAmt = result.cancelOrderRefundList[i].goodsCpnDcAmt; // 상품쿠폰금액
|
|
|
+ cancelRequestTargetList[j].cartCpnDcAmt = result.cancelOrderRefundList[i].cartCpnDcAmt; // 장바구니쿠폰금액
|
|
|
+ cancelRequestTargetList[j].pntDcAmt = result.cancelOrderRefundList[i].pntDcAmt; // 포인트금액
|
|
|
+ cancelRequestTargetList[j].prePntDcAmt = result.cancelOrderRefundList[i].prePntDcAmt; // 선포인트금액
|
|
|
+ cancelRequestTargetList[j].gfcdUseAmt = result.cancelOrderRefundList[i].gfcdUseAmt; // 상품권적용금액
|
|
|
+ cancelRequestTargetList[j].realOrdAmt = result.cancelOrderRefundList[i].realOrdAmt; // 실결제금액
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 주문변경대상정보 재설정
|
|
|
+ gridOptionsExchangeReqList.api.setRowData(cancelRequestTargetList);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ );
|
|
|
}
|
|
|
|
|
|
// 교환수량 변경 이벤트
|
|
|
var fnChangeQty = function(param) {
|
|
|
- var chgQty = $(param).val();
|
|
|
- var ordDtlNo = $(param).attr('ordDtlNo');
|
|
|
+ var chgQty = $(param).val(); // 변경수량
|
|
|
+ var ordDtlNo = $(param).attr('ordDtlNo'); // 주문상세번호
|
|
|
var exchangeRequestTargetList = [];
|
|
|
+
|
|
|
+ var temp = true;
|
|
|
|
|
|
$.each(cancelRequestTargetList, function(idx, item){
|
|
|
if (item.ordDtlNo == ordDtlNo) {
|
|
|
if (gagajf.isNull(item.ordChgOpt) && chgQty > 0) {
|
|
|
- mcxDialog.alert('교환옵션을 선택해주세요.');
|
|
|
- return false;
|
|
|
+ temp = false;
|
|
|
}
|
|
|
-
|
|
|
item.chgQty = chgQty;
|
|
|
-
|
|
|
if (chgQty > 0) {
|
|
|
exchangeRequestTargetList.push(item);
|
|
|
}
|
|
|
@@ -1140,6 +1229,12 @@ var fnChangeQty = function(param) {
|
|
|
exchangeRequestTargetList.push(item);
|
|
|
}
|
|
|
});
|
|
|
+
|
|
|
+ // 2021.12.02 소스수정
|
|
|
+ if (temp == false) {
|
|
|
+ mcxDialog.alert('교환옵션을 선택해주세요.');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
|
|
|
// 추가배송비 설정
|
|
|
fnAddDelvFee(exchangeRequestTargetList);
|
|
|
@@ -1147,7 +1242,8 @@ var fnChangeQty = function(param) {
|
|
|
// 교환대상목록 설정
|
|
|
exchangeRequestList = exchangeRequestTargetList;
|
|
|
|
|
|
- //gridOptionsExchangeReqList.api.setRowData(cancelRequestTargetList);
|
|
|
+ // 2021.12.02 교환취소금액계산
|
|
|
+ fnCalculateRefundAmt(param);
|
|
|
}
|
|
|
|
|
|
// 추가배송비 설정
|
|
|
@@ -1384,7 +1480,7 @@ $(document).ready(function() {
|
|
|
$('input:radio[name="wdGb"]:radio[value="D"]').prop('checked', true);
|
|
|
$('.chger').css('display', 'none');
|
|
|
} else {
|
|
|
- $('input:radio[name="wdGb"]:radio[value="W"]').prop('checked', true);
|
|
|
+ $(' [name="wdGb"]:radio[value="W"]').prop('checked', true);
|
|
|
$('#delvCdList').css('display', 'none');
|
|
|
}
|
|
|
}
|
|
|
@@ -1468,6 +1564,9 @@ $(document).ready(function() {
|
|
|
cfnGetTextLength($('#chgMemo'), 1000, $('#chgMemoCount'));
|
|
|
cfnGetTextLength($('#chgerRtnMemo'), 1000, $('#chgerRtnMemoCount'));
|
|
|
cfnGetTextLength($('#delvMemo'), 1000, $('#delvMemoCount'));
|
|
|
+
|
|
|
+ // 수량체크
|
|
|
+ fnChangeQty();
|
|
|
});
|
|
|
</script>
|
|
|
</html>
|