Explorar el Código

Merge branch 'after-sale' into redesign‌-260706

shish hace 23 horas
padre
commit
405c5d1915

+ 1 - 1
ghsApp/src/admin/billing/freeRefundList.vue

@@ -250,7 +250,7 @@ export default {
       }
       const t = Number(item.fundType)
       if (t === 2) return '返充余额'
-      if (t === 3) return '线下转账'
+      if (t === 3) return '线下自行转账'
       if (t === 1) return '原路退回'
       return '隔天售后'
     },

+ 2 - 2
ghsApp/src/components/forward-options-popup.vue

@@ -1,6 +1,6 @@
 <!--
   隔天售后 / 无原单退款 资金选项弹框
-  用途:售后隔天售后或工作台「退款」时选择资金处理方式(原路/返余额/线下转账)
+  用途:隔天售后/无原单退款时选择资金方式(原路/返余额/线下自行转账)
 -->
 <template>
 	<view v-if="show" class="mask" @click="onCancel">
@@ -60,7 +60,7 @@ export default {
 			}
 			const list = [
 				{ value: 2, label: '返充到客户余额' },
-				{ value: 3, label: '线下转账' }
+				{ value: 3, label: '线下自行转账' }
 			]
 			if (this.allowOriginal) {
 				list.unshift({ value: 1, label: '原路退回' })

+ 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

+ 30 - 14
ghsApp/src/pagesOrder/refundDetail.vue

@@ -53,7 +53,7 @@
 					<text class="refund-amount">¥{{ refundPrice }}</text>
 					<text class="refund-extra" v-if="Number(info.refundPackCost) > 0">(含退打包费{{ info.refundPackCost ? parseFloat(info.refundPackCost) : 0 }}元)</text>
 					<text class="refund-extra" v-if="Number(info.refundSendCost) > 0">(含退运费{{ info.refundSendCost ? parseFloat(info.refundSendCost) : 0 }}元)</text>
-					<text class="refund-link" @click="changeAmount()" v-if="info.status == 0">修改</text>
+					<text class="refund-link" @click="changeAmount()" style="margin-left: 26upx;" v-if="info.status == 0">修改</text>
 				</view>
 			</view>
 
@@ -64,9 +64,35 @@
 				</view>
 			</view>
 
-			<view class="refund-row" v-if="Number(info.sameDay) === 0 || Number(info.fundType) > 0">
+			<view class="refund-row" v-if="Number(info.sameDay) === 0">
 				<view class="refund-label">售后类型</view>
-				<view class="refund-value">{{ sameDayFundText }}</view>
+				<view class="refund-value" style="color: #3385ff;">隔天售后</view>
+			</view>
+
+			<view class="refund-row">
+				<view class="refund-label">返回方式</view>
+				<view class="refund-value">
+					{{ info.fundType==1 ? '原路退回' : info.fundType==2 ? '返充到余额' : info.fundType == 3 ? '线下自行转账' : '其他' }}
+					<block v-if="info.fundType!=2">
+						-
+						<block v-if="info.payWay == 0">
+							{{info.onlinePay == 2?'线上':'线下'}}微信
+						</block>
+						<block v-else-if="info.payWay == 1">
+							{{info.onlinePay == 2?'线上':'线下'}}支付宝
+						</block>
+						<block v-else-if="info.payWay == 2">
+							余额
+						</block>
+						<block v-else-if="info.payWay == 4">
+							现金
+						</block>
+						<block v-else-if="info.payWay == 5">
+							银行卡
+						</block>
+						<block v-else>其它</block>
+					</block>
+				</view>
 			</view>
 
 			<view class="refund-row">
@@ -87,7 +113,7 @@
 			<view class="refund-row" v-if="from == 1">
 				<view class="refund-label">订单信息</view>
 				<view class="refund-value">
-					<text class="refund-link refund-link--bold" @click="goToOrder(info)">点击查看</text>
+					<text class="refund-link refund-link--bold" @click="goToOrder(info)">查看订单</text>
 				</view>
 			</view>
 
@@ -186,16 +212,6 @@ export default {
 		canShowPoster() {
 			return Number(this.info.status) === 1 && Number(this.info.fundType) === 2
 		},
-		/** 隔天/资金方式文案 */
-		sameDayFundText() {
-			const sameDay = Number(this.info.sameDay)
-			const fund = Number(this.info.fundType)
-			const dayText = sameDay === 0 ? '隔天售后' : '当天售后'
-			if (fund === 2) return dayText + ' · 返充余额'
-			if (fund === 3) return dayText + ' · 线下转账'
-			if (fund === 1) return dayText + ' · 原路退回'
-			return dayText
-		},
 		/** 申请原因文案 */
 		causeText() {
 			const causeMap = {

+ 49 - 0
hdApp/src/pagesPurchase/refundDetail.vue

@@ -41,6 +41,15 @@
               {{ refundData.info.status==0?'待审核':refundData.info.status==1?'已通过':refundData.info.status==2?'已驳回':refundData.info.status==3?'已取消':'' }}
             </div>
 					</tui-list-cell>
+          <!-- 仅隔天展示,样式与金额/状态同套 tui-list-cell -->
+          <tui-list-cell class="line-cell" :hover="false" v-if="isNextDayRefund">
+            <div class="tui-title">售后类型</div>
+            <div class="detail-price_box" style="color:#3385ff;">隔天售后</div>
+          </tui-list-cell>
+          <tui-list-cell class="line-cell" :hover="false" v-if="refundData.info">
+            <div class="tui-title">返回方式</div>
+            <div class="detail-price_box">{{ fundReturnText }}</div>
+          </tui-list-cell>
           <tui-list-cell class="line-cell" :hover="false" v-if="refundData.info.rejectReason !=''">
             <div class="tui-title">原因</div>
             <div class="detail-price_box">{{ refundData.info.rejectReason }}</div>
@@ -86,6 +95,46 @@ export default {
       refundPrice:0
     };
   },
+  computed: {
+    /** sameDay=0 为隔天售后(与 ghsApp refundDetail 一致才展示「售后类型」) */
+    isNextDayRefund() {
+      const info = (this.refundData && this.refundData.info) || {}
+      return Number(info.sameDay) === 0
+    },
+    /**
+     * 返回方式:读售后单资金快照 fundType/onlinePay/payWay(对齐表字段优化)
+     * fundType 1原路 2返余额 3线下自行转账;返余额不拼渠道
+     */
+    fundReturnText() {
+      const info = (this.refundData && this.refundData.info) || {}
+      const fundType = Number(info.fundType)
+      const fundLabel = fundType === 1
+        ? '原路退回'
+        : fundType === 2
+          ? '返充到余额'
+          : fundType === 3
+            ? '线下自行转账'
+            : '其他'
+      if (fundType === 2) {
+        return fundLabel
+      }
+      const payWay = Number(info.payWay)
+      const online = Number(info.onlinePay) === 2 ? '线上' : '线下'
+      let channel = '其它'
+      if (payWay === 0) {
+        channel = online + '微信'
+      } else if (payWay === 1) {
+        channel = online + '支付宝'
+      } else if (payWay === 2) {
+        channel = '余额'
+      } else if (payWay === 4) {
+        channel = '现金'
+      } else if (payWay === 5) {
+        channel = '银行卡'
+      }
+      return fundLabel + '-' + channel
+    }
+  },
   onPullDownRefresh() {
 			this.initData().then(res => {
 				uni.stopPullDownRefresh()