shish 2 дней назад
Родитель
Сommit
5a9694f217
1 измененных файлов с 15 добавлено и 8 удалено
  1. 15 8
      ghsApp/src/pagesOrder/refund.vue

+ 15 - 8
ghsApp/src/pagesOrder/refund.vue

@@ -359,10 +359,7 @@ export default {
 				// 预检失败时用订单字段补齐资金弹窗参数
 				if (!this.nextDayEligible) {
 					this.orderCleared = Number(this.orderInfo.clearId) > 0
-					const payWay = Number(this.orderInfo.payWay)
-					const online = Number(this.orderInfo.onlinePay)
-					this.forceBalanceFund = (payWay === 2 || payWay === 3)
-					this.allowOriginalFund = online === 1 && (payWay === 0 || payWay === 1) && !this.forceBalanceFund
+					this.applyNextDayFundOptions(this.orderInfo)
 				}
 				this.showForwardPop = true
 				return
@@ -384,6 +381,18 @@ export default {
 			const payTime = (this.orderInfo && this.orderInfo.payTime) || ''
 			return !!payTime && payTime !== '0000-00-00 00:00:00'
 		},
+		/**
+		 * 隔天资金弹窗选项:余额/挂账强制返余额;微信/支付宝线上付允许原路(onlinePay=2)
+		 * @param {Object} info 订单或预检返回字段(需含 payWay、onlinePay)
+		 */
+		applyNextDayFundOptions(info) {
+			const payWay = Number((info && info.payWay) || 0)
+			const online = Number((info && info.onlinePay) || 0)
+			// payWay: 2余额 3挂账 → 只能返余额
+			this.forceBalanceFund = (payWay === 2 || payWay === 3)
+			// onlinePay: 1非线上 2线上;payWay: 0微信 1支付宝
+			this.allowOriginalFund = online === 2 && (payWay === 0 || payWay === 1) && !this.forceBalanceFund
+		},
 		/**
 		 * 本地判断是否必须隔天售后:非当天支付 / 已结账单 / 挂账已结清
 		 * 仅用 payTime;无支付时间由 hasValidPayTime 先行拦截
@@ -499,10 +508,8 @@ export default {
 				if (r.code == 1 && r.data && r.data.ok) {
 					this.nextDayEligible = true
 					this.orderCleared = Number(r.data.orderCleared) === 1
-					const payWay = Number(r.data.payWay)
-					const online = Number(r.data.onlinePay)
-					this.forceBalanceFund = (payWay === 2 || payWay === 3)
-					this.allowOriginalFund = online === 1 && (payWay === 0 || payWay === 1) && !this.forceBalanceFund
+					// 预检成功:按原单支付方式决定弹窗是否展示「原路退回」
+					this.applyNextDayFundOptions(r.data)
 				} else {
 					this.nextDayEligible = false
 					this.orderCleared = false