Procházet zdrojové kódy

Merge remote-tracking branch 'TSIT/ST24PRJ-683' into develop

card007 před 4 roky
rodič
revize
a25bd114bd

+ 26 - 7
src/main/webapp/WEB-INF/views/order/CnclReqForm.html

@@ -932,6 +932,7 @@ var payMeans 		= orderInfoList[0].payMeans;
 var payMeansNm		= orderInfoList[0].payMeansNm;
 var cardNm			= orderInfoList[0].cardNm;
 var addDelvFee		= 0;
+var cnclChk			= false;
 
 //0원이하이면 '-' 처리 삭제 함수
 var getZeroMinusDelAmt = function(tempAmt) {
@@ -1231,6 +1232,11 @@ var fnCnclReq = function (reqGbn) {
 	var accountNm 				= "";
 	var bankCd 					= "";
 	
+	// 취소신청 버튼 클릭 여부 체크
+	if (cnclChk) {
+		return false;
+	}
+	
 	// 취소완료, 취소승인
 	let chk = false;
 	if (reqGbn == "cnclReq" || reqGbn == "cnclReqComplete" || reqGbn == "cnclComplete") {
@@ -1381,19 +1387,23 @@ var fnCnclReq = function (reqGbn) {
 
 	// 주문번호, 취소사유, 취소메모, (취소, 반품, 교환 신청 정보 목록), 환불계좌
 	var jsonData = JSON.stringify(jsonObj);
-	
+
+	// 취소버튼 클릭 여부 확인
 	mcxDialog.confirm(confirmStr, {
-		cancelBtnText		: "취소",
-		sureBtnText			: "확인",
-		sureBtnClick		: function() {
+		cancelBtnText: "취소",
+		sureBtnText: "확인",
+		sureBtnClick: function () {
 			if (chk && jsonObj.pgStat == 'N') {
 				// 환불계좌 유효성 체크
-				gagajf.ajaxJsonSubmit('/business/account/check', jsonData, function(result) {
+				gagajf.ajaxJsonSubmit('/business/account/check', jsonData, function (result) {
 					if (result.isValid) { // 유효하면 true
+						// 취소버튼 클릭 여부 설정
+						cnclChk = true;
+						
 						gagajf.ajaxJsonSubmit(
 							cnclUrl
 							, jsonData
-							, function() {
+							, function () {
 								// 2021.06.21 교환품절취소가 아닐때 주문상세화면 다시 로딩하지 않음
 								if (chgStat == 'G685_40') {
 									// 교환배송 취소대상목록 조회 실행
@@ -1404,6 +1414,9 @@ var fnCnclReq = function (reqGbn) {
 								}
 								uifnPopupClose('popupCancelRequestForm');
 							}
+							, function () {
+								cnclChk = false;
+							}
 						);
 					} else {
 						mcxDialog.alert('환불계좌가 유효하지 않습니다.');
@@ -1411,10 +1424,13 @@ var fnCnclReq = function (reqGbn) {
 					}
 				});
 			} else {
+				// 취소버튼 클릭 여부 설정
+				cnclChk = true;
+				
 				gagajf.ajaxJsonSubmit(
 					cnclUrl
 					, jsonData
-					, function() {
+					, function () {
 						// 2021.06.21 교환품절취소가 아닐때 주문상세화면 다시 로딩하지 않음
 						if (chgStat == 'G685_40') {
 							// 교환배송 취소대상목록 조회 실행
@@ -1425,6 +1441,9 @@ var fnCnclReq = function (reqGbn) {
 						}
 						uifnPopupClose('popupCancelRequestForm');
 					}
+					, function () {
+						cnclChk = false;
+					}
 				);
 			}
 		}

+ 13 - 1
src/main/webapp/WEB-INF/views/order/ExchangeRequestForm.html

@@ -661,6 +661,7 @@ var gridOptionsDelvCdList = gagaAgGrid.getGridOptions(columnDelvCdList);
 <script>
 //현재 사유는 회사 입니다.
 var isCustomer = false;
+var exchangeChk = false;
 
 //  사유 변경
 var fnChangeChgReason = function(reasonCd){
@@ -706,6 +707,11 @@ var fnExchange = function () {
 	var opt		= true;
 	var wdGb	= $('#wdGb:checked').val();
 	
+	// 교환신청 버튼 클릭 여부 체크
+	if (exchangeChk) {
+		return false;
+	}
+	
 	if (ordChgGb == 'G681_50') {
 		wdGb = 'D';
 	}
@@ -933,6 +939,9 @@ var fnExchange = function () {
 		url = '/orderChange/exchange/request/';
 	}
 
+	// 교환신청 버튼 클릭 여부 설정
+	exchangeChk = true;
+
 	mcxDialog.confirm('교환요청하시겠습니까?', {
 		cancelBtnText		: "취소",
 		sureBtnClick		: function(){
@@ -950,6 +959,9 @@ var fnExchange = function () {
 						uifnPopupClose('popupExchangeRequestForm');
 					}
 				}
+				, function() {
+					exchangeChk = false;
+				}
 			);
 		}
 	});
@@ -1118,7 +1130,7 @@ var fnChangeOption = function(param) {
 		}
 	});
 	
-	fnChangeQty(param);
+	fnChangeQty();
 }
 
 //환불예상금액계산

+ 18 - 0
src/main/webapp/WEB-INF/views/order/RtnReqForm.html

@@ -966,6 +966,7 @@ var gridOptionsDelvCdList = gagaAgGrid.getGridOptions(columnDelvCdList);
 <script>
 // 현재 사유는 고객 입니다.
 var isCustomer = false;
+var rtnChk = false;
 
 // 환불예상금액계산
 var fnCalculateRefundAmt = function (obj) {
@@ -1376,6 +1377,11 @@ var fnCnclReq = function (reqGbn) {
 	var chgerEmail 		= "";
 	var chgerRtnMemo	= "";
 	
+	// 반품신청 버튼 클릭 여부 체크
+	if (rtnChk) {
+		return false;
+	}
+	
 	// 반품신청
 	let chk = false;
 	if (reqGbn == "rtnReq") {
@@ -1539,6 +1545,9 @@ var fnCnclReq = function (reqGbn) {
 				// 환불계좌 유효성 체크
 				gagajf.ajaxJsonSubmit('/business/account/check', jsonData, function(result) {
 					if (result.isValid) { // 유효하면 true
+						// 반품신청 버튼 클릭 여부 설정
+						rtnChk = true;
+
 						// 취소 실행
 						gagajf.ajaxJsonSubmit(
 							cnclUrl
@@ -1548,6 +1557,9 @@ var fnCnclReq = function (reqGbn) {
 								fnReOpenOrderDetailPopup();
 								uifnPopupClose('popupReturnRequestForm');
 							}
+							, function () {
+								rtnChk = false;
+							}
 						);
 					} else {
 						mcxDialog.alert('환불계좌가 유효하지 않습니다.');
@@ -1555,6 +1567,9 @@ var fnCnclReq = function (reqGbn) {
 					}
 				});
 			} else {
+				// 반품신청 버튼 클릭 여부 설정
+				rtnChk = true;
+
 				// 취소 실행
 				gagajf.ajaxJsonSubmit(
 					cnclUrl
@@ -1564,6 +1579,9 @@ var fnCnclReq = function (reqGbn) {
 						fnReOpenOrderDetailPopup();
 						uifnPopupClose('popupReturnRequestForm');
 					}
+					, function () {
+						rtnChk = false;
+					}
 				);
 			}
 		}

+ 10 - 1
src/main/webapp/ux/plugins/gaga/gaga.validation.js

@@ -642,10 +642,11 @@ var gagajf = {
 	 * @param actionUrl - Request URL
 	 * @param jsonData - Data of json format
 	 * @param callbackFn - Callback function
+	 * @param errorCallbackFn - ErrorCallback function
 	 * @author gagamel
 	 * @since 2019. 4. 8
 	 */
-	ajaxJsonSubmit : function(actionUrl, jsonData, callbackFn) {
+	ajaxJsonSubmit : function(actionUrl, jsonData, callbackFn, errorCallbackFn) {
 		$.ajax({
 			type : 'POST',
 			url : actionUrl,
@@ -697,6 +698,10 @@ var gagajf = {
 					if (!gagajf.isNull(result.error.message)) {
 						mcxDialog.alert(result.error.message.replaceAll("&lt;", "<").replaceAll("&gt;", ">"));
 					}
+					
+					if (typeof(errorCallbackFn) == "function") {
+						errorCallbackFn.call(this, result);
+					}
 
 					return;
 				}
@@ -704,6 +709,10 @@ var gagajf = {
 			error : function(result) {
 				console.log(result);
 				mcxDialog.alert('오류로 인해 처리되지 않았습니다.');
+				
+				if (typeof(errorCallbackFn) == "function") {
+					errorCallbackFn.call(this, result);
+				}
 			}
 		});
 	},