|
|
@@ -90,7 +90,11 @@
|
|
|
<text class="meta-value" v-else style="color: #3385FF;font-weight: bold;">没有订单</text>
|
|
|
</view>
|
|
|
<view class="meta-item">
|
|
|
- <text class="meta-label">资金</text>
|
|
|
+ <text class="meta-label">原路</text>
|
|
|
+ <text class="meta-value">{{ payWayText(item) }}</text>
|
|
|
+ </view>
|
|
|
+ <view class="meta-item">
|
|
|
+ <text class="meta-label">返充</text>
|
|
|
<text class="meta-value">{{ fundText(item) }}</text>
|
|
|
</view>
|
|
|
<view class="meta-item" v-if="item.sameDay == 0">
|
|
|
@@ -116,16 +120,27 @@
|
|
|
<text class="remark-text">{{ item.remark }}</text>
|
|
|
</view>
|
|
|
|
|
|
- <!-- 底栏:凭证(左,非返余额/未通过时灰色不可点)+ 状态(右下角) -->
|
|
|
+ <!-- 底栏:确认退回方式 + 查看凭证(不可用时灰色)+ 状态 -->
|
|
|
<view class="card-foot">
|
|
|
- <view
|
|
|
- class="poster-btn-wrap"
|
|
|
- @click.stop="onPosterClick(item)"
|
|
|
- >
|
|
|
- <button
|
|
|
- class="admin-button-com middle poster-btn"
|
|
|
- :class="canViewPoster(item) ? 'blue' : 'disable'"
|
|
|
- >查看凭证</button>
|
|
|
+ <view class="card-foot-btns">
|
|
|
+ <view
|
|
|
+ class="poster-btn-wrap"
|
|
|
+ @click.stop="onFundClick(item)"
|
|
|
+ >
|
|
|
+ <button
|
|
|
+ class="admin-button-com middle poster-btn"
|
|
|
+ :class="canFundAction(item) ? 'blue' : 'disable'"
|
|
|
+ >确认退回方式</button>
|
|
|
+ </view>
|
|
|
+ <view
|
|
|
+ class="poster-btn-wrap"
|
|
|
+ @click.stop="onPosterClick(item)"
|
|
|
+ >
|
|
|
+ <button
|
|
|
+ class="admin-button-com middle poster-btn"
|
|
|
+ :class="canViewPoster(item) ? 'blue' : 'disable'"
|
|
|
+ >查看凭证</button>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
<text
|
|
|
class="status-chip"
|
|
|
@@ -244,12 +259,28 @@ export default {
|
|
|
return v != null ? parseFloat(v) : 0
|
|
|
},
|
|
|
init(){},
|
|
|
+ /** 原路状态:已原路 / 已返充 / 待确认 */
|
|
|
fundText(item) {
|
|
|
if (Number(item.returnBalance) === 1) return '已返充余额'
|
|
|
if (Number(item.hasReturn) === 1) return '已原路退回'
|
|
|
- if (Number(item.status) === 1 && Number(item.sameDay) === 0) return '待确认资金'
|
|
|
- if (Number(item.sameDay) !== 0) return '原路退回'
|
|
|
- return '隔天售后'
|
|
|
+ if (Number(item.status) === 1) return '待确认'
|
|
|
+ return '-'
|
|
|
+ },
|
|
|
+ /** 原路通道:售后单 payWay 快照 */
|
|
|
+ payWayText(item) {
|
|
|
+ const map = {
|
|
|
+ 0: '线下微信',
|
|
|
+ 1: '线下支付宝',
|
|
|
+ 2: '余额',
|
|
|
+ 3: '挂账',
|
|
|
+ 4: '现金',
|
|
|
+ 5: '银行卡'
|
|
|
+ }
|
|
|
+ const pw = Number(item && item.payWay)
|
|
|
+ if (map[pw] != null) {
|
|
|
+ return map[pw]
|
|
|
+ }
|
|
|
+ return '-'
|
|
|
},
|
|
|
statusText(status) {
|
|
|
const map = { 0: '待审核', 1: '已通过', 2: '已驳回', 3: '已取消' }
|
|
|
@@ -362,6 +393,13 @@ export default {
|
|
|
canViewPoster(item) {
|
|
|
return item && Number(item.status) === 1 && Number(item.returnBalance) === 1
|
|
|
},
|
|
|
+ /** 已通过且尚未原路/返充时才可确认退回方式 */
|
|
|
+ canFundAction(item) {
|
|
|
+ return item
|
|
|
+ && Number(item.status) === 1
|
|
|
+ && Number(item.hasReturn) === 0
|
|
|
+ && Number(item.returnBalance) === 0
|
|
|
+ },
|
|
|
/** 灰色态不可点;可查看时跳转补发海报 */
|
|
|
onPosterClick(item) {
|
|
|
if (!this.canViewPoster(item)) {
|
|
|
@@ -369,6 +407,13 @@ export default {
|
|
|
}
|
|
|
this.goPoster(item)
|
|
|
},
|
|
|
+ /** 灰色态不可点;可操作时进结果页二选一 */
|
|
|
+ onFundClick(item) {
|
|
|
+ if (!this.canFundAction(item)) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.goFundAction(item)
|
|
|
+ },
|
|
|
/**
|
|
|
* 返充余额凭证:跳转 forwardResult 补发海报
|
|
|
*/
|
|
|
@@ -399,6 +444,34 @@ export default {
|
|
|
})
|
|
|
})
|
|
|
},
|
|
|
+ /**
|
|
|
+ * 待落地资金:跳转 forwardResult 选「已线下转账 / 返充余额」
|
|
|
+ */
|
|
|
+ goFundAction(item) {
|
|
|
+ if (!item || !item.id) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ const payload = {
|
|
|
+ amount: item.refundPrice,
|
|
|
+ customId: item.customId,
|
|
|
+ customName: item.customName || '',
|
|
|
+ forwardSn: item.orderSn || '',
|
|
|
+ forwardId: item.id || 0,
|
|
|
+ orderId: 0,
|
|
|
+ payWay: item.payWay,
|
|
|
+ hasReturn: item.hasReturn || 0,
|
|
|
+ couldReturn: item.couldReturn != null ? item.couldReturn : 1,
|
|
|
+ returnBalance: item.returnBalance || 0,
|
|
|
+ needFundAction: 1
|
|
|
+ }
|
|
|
+ uni.setStorageSync('forwardResultPayload', payload)
|
|
|
+ this.$util.pageTo({
|
|
|
+ url: '/admin/billing/forwardResult',
|
|
|
+ query: Object.assign({}, payload, {
|
|
|
+ customName: encodeURIComponent(payload.customName || '')
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
_list() {
|
|
|
const params = {
|
|
|
page: this.list.page,
|
|
|
@@ -684,12 +757,18 @@ export default {
|
|
|
padding-top: 16upx;
|
|
|
border-top: 1upx solid #f0f2f5;
|
|
|
}
|
|
|
+.card-foot-btns {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ flex: 1;
|
|
|
+ margin-right: 12upx;
|
|
|
+}
|
|
|
.poster-btn-wrap {
|
|
|
flex-shrink: 0;
|
|
|
- margin-right: 16upx;
|
|
|
+ margin-right: 28upx;
|
|
|
}
|
|
|
.poster-btn {
|
|
|
- width: 168upx;
|
|
|
+ width: 200upx;
|
|
|
height: 56upx;
|
|
|
line-height: 56upx;
|
|
|
margin: 0;
|