|
|
@@ -1,17 +1,22 @@
|
|
|
<!--
|
|
|
- 售后详情页:展示退款申请信息、图片预览与审核操作
|
|
|
- 供供货商在 ghsApp 查看/处理客户售后单
|
|
|
+ 售后详情页:展示退款申请信息、图片预览与审核操作;无原单退款也走本页。
|
|
|
+ 供供货商在 ghsApp 查看/处理客户售后单(含工作台「退款记录」入口)
|
|
|
-->
|
|
|
<template>
|
|
|
<view class="refund-page">
|
|
|
<view class="refund-card">
|
|
|
+ <view class="refund-row" v-if="isFreeRefund">
|
|
|
+ <view class="refund-label">客户</view>
|
|
|
+ <view class="refund-value">{{ info.customName || '-' }}</view>
|
|
|
+ </view>
|
|
|
+
|
|
|
<view class="refund-row">
|
|
|
- <view class="refund-label">退款方式</view>
|
|
|
- <view class="refund-value">{{ refundType == 1 ? '退货并退款' : '只退款' }}</view>
|
|
|
+ <view class="refund-label">{{ isFreeRefund ? '退货方式' : '退款方式' }}</view>
|
|
|
+ <view class="refund-value">{{ refundTypeLabel }}</view>
|
|
|
</view>
|
|
|
|
|
|
- <view class="refund-section" v-if="refundType == 1">
|
|
|
- <view class="refund-label refund-section__title">退货商品</view>
|
|
|
+ <view class="refund-section" v-if="!$util.isEmpty(product)">
|
|
|
+ <view class="refund-label refund-section__title">{{ isFreeRefund ? '花材明细' : '退货商品' }}</view>
|
|
|
<view class="refund-product-list">
|
|
|
<view class="refund-product-item" v-for="(res, i) in product" :key="i">
|
|
|
<view class="refund-product-item__name">
|
|
|
@@ -29,7 +34,7 @@
|
|
|
<view class="refund-value">{{ info.addTime ? info.addTime.substr(5, 11) : '' }}</view>
|
|
|
</view>
|
|
|
|
|
|
- <view class="refund-row">
|
|
|
+ <view class="refund-row" v-if="!isFreeRefund">
|
|
|
<view class="refund-label">申请原因</view>
|
|
|
<view class="refund-value refund-value--inline">
|
|
|
<text>{{ causeText }}</text>
|
|
|
@@ -37,7 +42,7 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
- <view class="refund-row" v-if="showChoice">
|
|
|
+ <view class="refund-row" v-if="!isFreeRefund && showChoice">
|
|
|
<view class="refund-label">选择原因</view>
|
|
|
<view class="refund-value refund-cause-btns">
|
|
|
<button class="admin-button-com mini-btn" @click="changeCause(0)">质量</button>
|
|
|
@@ -53,7 +58,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()" style="margin-left: 26upx;" v-if="info.status == 0">修改</text>
|
|
|
+ <text class="refund-link" @click="changeAmount()" style="margin-left: 26upx;" v-if="!isFreeRefund && info.status == 0">修改</text>
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
@@ -66,36 +71,17 @@
|
|
|
|
|
|
<view class="refund-row" v-if="Number(info.sameDay) === 0">
|
|
|
<view class="refund-label">售后类型</view>
|
|
|
- <view class="refund-value" style="color: #3385ff;">隔天售后</view>
|
|
|
+ <view class="refund-value" style="color: #3385ff;">{{ isFreeRefund ? '无原单退款' : '隔天售后' }}</view>
|
|
|
</view>
|
|
|
|
|
|
<view class="refund-row">
|
|
|
- <view class="refund-label">返回方式</view>
|
|
|
- <view class="refund-value">
|
|
|
- {{ fundStatusText }}
|
|
|
- <block v-if="Number(info.returnBalance) !== 1">
|
|
|
- -
|
|
|
- <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 == 3">
|
|
|
- 挂账
|
|
|
- </block>
|
|
|
- <block v-else-if="info.payWay == 4">
|
|
|
- 现金
|
|
|
- </block>
|
|
|
- <block v-else-if="info.payWay == 5">
|
|
|
- 银行卡
|
|
|
- </block>
|
|
|
- <block v-else>其它</block>
|
|
|
- </block>
|
|
|
- </view>
|
|
|
+ <view class="refund-label">原路</view>
|
|
|
+ <view class="refund-value">{{ fundStatusText }}</view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="refund-row">
|
|
|
+ <view class="refund-label">原路通道</view>
|
|
|
+ <view class="refund-value">{{ payWayChannelText }}</view>
|
|
|
</view>
|
|
|
|
|
|
<view class="refund-row">
|
|
|
@@ -113,7 +99,7 @@
|
|
|
<view class="refund-value refund-value--multiline">{{ info.remark || '' }}</view>
|
|
|
</view>
|
|
|
|
|
|
- <view class="refund-row" v-if="from == 1">
|
|
|
+ <view class="refund-row" v-if="from == 1 && !isFreeRefund && Number(info.relateOrderId) > 0">
|
|
|
<view class="refund-label">订单信息</view>
|
|
|
<view class="refund-value">
|
|
|
<text class="refund-link refund-link--bold" @click="goToOrder(info)">查看订单</text>
|
|
|
@@ -137,33 +123,32 @@
|
|
|
|
|
|
<view class="refund-actions">
|
|
|
<button
|
|
|
- v-if="info.status == 0"
|
|
|
+ v-if="!isFreeRefund && info.status == 0"
|
|
|
class="admin-button-com big refund-actions__btn refund-actions__btn--pass"
|
|
|
@click="pass(0)"
|
|
|
>通过</button>
|
|
|
<button
|
|
|
- v-if="info.status == 0"
|
|
|
+ v-if="!isFreeRefund && info.status == 0"
|
|
|
class="admin-button-com big refund-actions__btn refund-actions__btn--reject"
|
|
|
@click="reject()"
|
|
|
>驳回</button>
|
|
|
- <!-- 待资金落地 / 返充凭证 -->
|
|
|
<button
|
|
|
v-if="canFundAction"
|
|
|
class="admin-button-com big blue refund-actions__btn"
|
|
|
@click="goFundAction()"
|
|
|
- >处理资金</button>
|
|
|
+ >确认退回方式</button>
|
|
|
<button
|
|
|
v-if="canShowPoster"
|
|
|
class="admin-button-com big blue refund-actions__btn"
|
|
|
@click="goPoster()"
|
|
|
>查看凭证</button>
|
|
|
<button
|
|
|
- v-if="info.status == 1"
|
|
|
+ v-if="!isFreeRefund && info.status == 1"
|
|
|
class="admin-button-com big blue refund-actions__btn"
|
|
|
@click="goWaste()"
|
|
|
>去报损</button>
|
|
|
<button
|
|
|
- v-if="info.status == 1"
|
|
|
+ v-if="!isFreeRefund && info.status == 1"
|
|
|
class="admin-button-com big default refund-actions__btn"
|
|
|
@click="goWaste()"
|
|
|
>去减库存</button>
|
|
|
@@ -216,11 +201,38 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
|
+ /** 无关联销售单:工作台无原单退款 */
|
|
|
+ isFreeRefund() {
|
|
|
+ const info = this.info || {}
|
|
|
+ if (Number(info.isFreeRefund) === 1) {
|
|
|
+ return true
|
|
|
+ }
|
|
|
+ const sn = info.relateOrderSn
|
|
|
+ return !sn
|
|
|
+ },
|
|
|
+ refundTypeLabel() {
|
|
|
+ if (this.isFreeRefund) {
|
|
|
+ return Number(this.refundType) === 1 ? '库存退回' : '库存不退'
|
|
|
+ }
|
|
|
+ return Number(this.refundType) === 1 ? '退货并退款' : '只退款'
|
|
|
+ },
|
|
|
fundStatusText() {
|
|
|
if (Number(this.info.returnBalance) === 1) return '已返充到余额'
|
|
|
if (Number(this.info.hasReturn) === 1) return '已原路退回'
|
|
|
- if (Number(this.info.status) === 1) return '待确认资金'
|
|
|
- return '其他'
|
|
|
+ if (Number(this.info.status) === 1) return '待确认'
|
|
|
+ return '-'
|
|
|
+ },
|
|
|
+ /** 原路通道文案 */
|
|
|
+ payWayChannelText() {
|
|
|
+ const payWay = Number(this.info.payWay)
|
|
|
+ const online = Number(this.info.onlinePay) === 2 ? '线上' : '线下'
|
|
|
+ if (payWay === 0) return online + '微信'
|
|
|
+ if (payWay === 1) return online + '支付宝'
|
|
|
+ if (payWay === 2) return '余额'
|
|
|
+ if (payWay === 3) return '挂账'
|
|
|
+ if (payWay === 4) return '现金'
|
|
|
+ if (payWay === 5) return '银行卡'
|
|
|
+ return '-'
|
|
|
},
|
|
|
/** 已通过且待资金落地 */
|
|
|
canFundAction() {
|
|
|
@@ -308,6 +320,10 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
goToOrder(info) {
|
|
|
+ if (!info || !info.relateOrderId) {
|
|
|
+ this.$msg('没有关联订单')
|
|
|
+ return
|
|
|
+ }
|
|
|
this.$util.pageTo({ url: '/pagesOrder/detail?id=' + info.relateOrderId })
|
|
|
},
|
|
|
cancelReject() {
|