1、合作商余额查询
2、分油账户司机可用额度
This commit is contained in:
@@ -81,6 +81,25 @@
|
||||
>{{ item.name }}</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item label="企油通发放态">
|
||||
<a-select v-decorator="['oil_status_zsy', { initialValue: -1 }]">
|
||||
<a-select-option :value="-1">全部</a-select-option>
|
||||
<a-select-option :value="0">未提交</a-select-option>
|
||||
<a-select-option :value="1">发放中</a-select-option>
|
||||
<a-select-option :value="2">发放成功</a-select-option>
|
||||
<a-select-option :value="3">发放失败</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item label="退款状态">
|
||||
<a-select v-decorator="['refund_status', { initialValue: -1 }]">
|
||||
<a-select-option :value="-1">全部</a-select-option>
|
||||
<a-select-option :value="0">未退款</a-select-option>
|
||||
<a-select-option :value="1">退款中</a-select-option>
|
||||
<a-select-option :value="2">已退款</a-select-option>
|
||||
<a-select-option :value="3">退款失败</a-select-option>
|
||||
<a-select-option :value="4">待人工确认</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item label="商品编码">
|
||||
<a-input v-decorator="['goods_no']" placeholder="商品编码" />
|
||||
</a-form-item>
|
||||
@@ -133,10 +152,10 @@
|
||||
<tbody class="ant-table-tbody">
|
||||
<template v-for="(item) in orderList.data">
|
||||
<tr class="order-empty" :key="`order_${item.order_id}_1`">
|
||||
<td colspan="15"></td>
|
||||
<td colspan="16"></td>
|
||||
</tr>
|
||||
<tr :key="`order_${item.order_id}_2`">
|
||||
<td colspan="15">
|
||||
<td colspan="16">
|
||||
<span class="mr-20">{{ item.create_time }}</span>
|
||||
<span class="mr-20">订单号:{{ item.order_no }}</span>
|
||||
<platform-icon :name="item.platform" :showTips="true" />
|
||||
@@ -163,47 +182,58 @@
|
||||
</td>
|
||||
<td>
|
||||
<div class="actions">
|
||||
<!--<router-link
|
||||
v-if="$auth('/order/detail')"
|
||||
:to="{ path: '/order/detail', query: { orderId: item.order_id } }"
|
||||
>详情</router-link>
|
||||
<a
|
||||
v-action:deliver
|
||||
v-if="(
|
||||
item.pay_status == PayStatusEnum.SUCCESS.value
|
||||
&& item.delivery_type == DeliveryTypeEnum.EXPRESS.value
|
||||
&& item.delivery_status == DeliveryStatusEnum.NOT_DELIVERED.value
|
||||
&& !inArray(item.order_status, [OrderStatusEnum.CANCELLED.value, OrderStatusEnum.APPLY_CANCEL.value])
|
||||
)"
|
||||
@click="handleDelivery(item)"
|
||||
>发货</a>
|
||||
<a
|
||||
v-action:cancel
|
||||
v-if="item.order_status == OrderStatusEnum.APPLY_CANCEL.value"
|
||||
@click="handleCancel(item)"
|
||||
>审核取消</a>
|
||||
<a v-action:delete @click="handleDelete(item)">删除</a>
|
||||
<a
|
||||
v-if="$auth('/order/cancelshare') && (goodsItm.oilCardType !== 'zsy_ticket') && (
|
||||
inArray(item.order_status, [OrderStatusEnum.COMPLETED.value])
|
||||
)"
|
||||
@click="handleCancelShare(goodsItm)"
|
||||
>分油撤销</a>-->
|
||||
<!--有付款权限,订单状态为进行中,已支付,并且未使用-->
|
||||
<a
|
||||
v-if="$auth('/order/pay') && (
|
||||
inArray(item.order_status, [OrderStatusEnum.NORMAL.value])
|
||||
) && inArray(item.pay_status, [PayStatusEnum.SUCCESS.value]) && goodsItm.use_status === 0 && goodsItm.oil_status === 1 && goodsItm.oilCardType === 'zsy_ticket'"
|
||||
@click="handlePay(goodsItm)"
|
||||
>付款码</a>
|
||||
<a
|
||||
v-if="$auth('/order/pay') && (
|
||||
inArray(item.order_status, [OrderStatusEnum.NORMAL.value])
|
||||
) && inArray(item.pay_status, [PayStatusEnum.SUCCESS.value]) && goodsItm.oil_status === 0 && goodsItm.oilCardType === 'zsy_ticket'"
|
||||
@click="handleShare(goodsItm)"
|
||||
>手动分油</a>
|
||||
<!-- 企油通:发放/加油/退款/发票,与合作商订单页同一套接口 -->
|
||||
<template v-if="goodsItm.qyt">
|
||||
<a
|
||||
v-if="goodsItm.qyt.oil_status_zsy === 3 && goodsItm.qyt.oil_status === 0"
|
||||
@click="handleShare(goodsItm.qyt)"
|
||||
>重新发放</a>
|
||||
<a
|
||||
v-if="goodsItm.qyt.oil_status_zsy === 2 && goodsItm.qyt.oil_status === 1
|
||||
&& goodsItm.qyt.refund_status !== 2 && Number(remainAmount(goodsItm.qyt)) > 0"
|
||||
@click="handlePay(goodsItm.qyt)"
|
||||
>加油链接</a>
|
||||
<a
|
||||
v-if="goodsItm.qyt.oil_status_zsy === 2 && goodsItm.qyt.oil_status === 1"
|
||||
@click="handleOil(goodsItm.qyt)"
|
||||
>重推发放结果</a>
|
||||
<a
|
||||
v-if="goodsItm.qyt.oil_status_zsy === 2 && goodsItm.qyt.use_status === 1"
|
||||
@click="handleUse(goodsItm.qyt)"
|
||||
>重推加油结果</a>
|
||||
<a v-if="canRefund(goodsItm.qyt)" @click="handleRefund(goodsItm.qyt)">{{ refundLabel(goodsItm.qyt) }}</a>
|
||||
<a v-if="goodsItm.qyt.use_status === 1" @click="handleInvoice(goodsItm.qyt)">发票</a>
|
||||
</template>
|
||||
<span v-else-if="goodsItm.oilCardType === 'zsy_ticket'" class="c-muted-1">未生成发放单</span>
|
||||
</div>
|
||||
</td>
|
||||
<!-- 司机(实名信息随单固化) -->
|
||||
<td>
|
||||
<template v-if="goodsItm.qyt">
|
||||
<p class="mtb-2">{{ goodsItm.qyt.driver_name || '-' }}</p>
|
||||
<p class="mtb-2 f-13">{{ goodsItm.qyt.mobile }}</p>
|
||||
<p class="mtb-2 f-13">{{ goodsItm.qyt.id_card_mask || '-' }}</p>
|
||||
<p class="mtb-2 f-13">车牌:{{ goodsItm.qyt.plate_no || '-' }}</p>
|
||||
</template>
|
||||
<span v-else>-</span>
|
||||
</td>
|
||||
<!-- 企油通单号 -->
|
||||
<td>
|
||||
<template v-if="goodsItm.qyt">
|
||||
<p class="mtb-2 f-13">批次:{{ goodsItm.qyt.batch_no || '-' }}</p>
|
||||
<p class="mtb-2 f-13">运单:{{ goodsItm.qyt.waybill_no || '-' }}</p>
|
||||
</template>
|
||||
<span v-else>-</span>
|
||||
</td>
|
||||
<!-- 加油信息 -->
|
||||
<td>
|
||||
<template v-if="goodsItm.qyt && goodsItm.qyt.use_status === 1">
|
||||
<p class="mtb-2 f-13">已加油:¥{{ goodsItm.qyt.used_amount }}({{ goodsItm.qyt.used_num }} 次)</p>
|
||||
<p class="mtb-2 f-13">剩余:¥{{ remainAmount(goodsItm.qyt) }}</p>
|
||||
<p class="mtb-2 f-13">最近:{{ goodsItm.qyt.station_name || '-' }} {{ goodsItm.qyt.oil_name }} {{ goodsItm.qyt.litter }}L</p>
|
||||
</template>
|
||||
<span v-else>-</span>
|
||||
</td>
|
||||
<template v-if="goodsIdx===0">
|
||||
<td :rowspan="item.goods.length">
|
||||
<p>¥{{ item.pay_price }}</p>
|
||||
@@ -252,6 +282,17 @@
|
||||
:color="goodsItm.use_status == UseStatusEnum.USE.value ? 'green' : ''"
|
||||
>{{ UseStatusEnum[goodsItm.use_status].name }}</a-tag>
|
||||
</p>
|
||||
<template v-if="goodsItm.qyt">
|
||||
<p class="mtb-2">
|
||||
<span class="f-13">企油通:</span>
|
||||
<a-tag :color="qytColor(goodsItm.qyt.oil_status_zsy)">{{ qytText(goodsItm.qyt.oil_status_zsy) }}</a-tag>
|
||||
</p>
|
||||
<p v-if="goodsItm.qyt.oil_text" class="mtb-2 f-13 order-remark">{{ goodsItm.qyt.oil_text }}</p>
|
||||
<p v-if="goodsItm.qyt.refund_status > 0" class="mtb-2">
|
||||
<span class="f-13">退款:</span>
|
||||
<a-tag :color="refundColor(goodsItm.qyt.refund_status)">{{ refundText(goodsItm.qyt.refund_status) }}</a-tag>
|
||||
</p>
|
||||
</template>
|
||||
<p
|
||||
v-if="[OrderStatusEnum.CANCELLED.value,OrderStatusEnum.APPLY_CANCEL.value].includes(item.order_status)"
|
||||
class="mtb-2"
|
||||
@@ -284,8 +325,13 @@
|
||||
<DeliveryForm ref="DeliveryForm" @handleSubmit="handleRefresh" />
|
||||
<CancelForm ref="CancelForm" @handleSubmit="handleRefresh" />
|
||||
<CancelShareForm ref="CancelShareForm" @handleSubmit="handleRefresh" />
|
||||
<!-- 企油通相关弹窗直接复用合作商订单页的组件,底层调的是 /partners.order/* -->
|
||||
<ShareForm ref="ShareForm" @handleSubmit="handleRefresh" />
|
||||
<PayForm ref="PayForm" @handleSubmit="handleRefresh" />
|
||||
<OilForm ref="OilForm" @handleSubmit="handleRefresh" />
|
||||
<UseForm ref="UseForm" @handleSubmit="handleRefresh" />
|
||||
<RefundForm ref="RefundForm" @handleSubmit="handleRefresh" />
|
||||
<InvoiceModal ref="InvoiceModal" />
|
||||
</a-spin>
|
||||
</a-card>
|
||||
</template>
|
||||
@@ -312,7 +358,9 @@ import {
|
||||
OilStatusEnum,
|
||||
UseStatusEnum
|
||||
} from '@/common/enum/order'
|
||||
import { DeliveryForm, CancelForm, CancelShareForm, ShareForm, PayForm } from './modules'
|
||||
import { DeliveryForm, CancelForm, CancelShareForm } from './modules'
|
||||
// 企油通的发放/加油/退款/发票与合作商订单完全同构,组件和接口都直接复用
|
||||
import { OilForm, UseForm, ShareForm, PayForm, RefundForm, InvoiceModal } from '@/views/partners/order/modules'
|
||||
|
||||
// 表格字段
|
||||
const columns = [
|
||||
@@ -330,9 +378,24 @@ const columns = [
|
||||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
width: '180px',
|
||||
width: '220px',
|
||||
scopedSlots: { customRender: 'action' }
|
||||
},
|
||||
{
|
||||
title: '司机',
|
||||
align: 'center',
|
||||
scopedSlots: { customRender: 'driver' }
|
||||
},
|
||||
{
|
||||
title: '企油通单号',
|
||||
align: 'center',
|
||||
scopedSlots: { customRender: 'qyt' }
|
||||
},
|
||||
{
|
||||
title: '加油信息',
|
||||
align: 'center',
|
||||
scopedSlots: { customRender: 'consume' }
|
||||
},
|
||||
{
|
||||
title: '实付款',
|
||||
align: 'center',
|
||||
@@ -407,7 +470,11 @@ export default {
|
||||
CancelForm,
|
||||
CancelShareForm,
|
||||
ShareForm,
|
||||
PayForm
|
||||
PayForm,
|
||||
OilForm,
|
||||
UseForm,
|
||||
RefundForm,
|
||||
InvoiceModal
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
@@ -565,14 +632,68 @@ export default {
|
||||
handleCancelShare (record) {
|
||||
this.$refs.CancelShareForm.show(record)
|
||||
},
|
||||
// 手动分油
|
||||
// ================================================================
|
||||
// 企油通:发放 / 加油 / 退款 / 发票
|
||||
// 这些操作的对象是订单商品行上挂的发放单(goodsItm.qyt,即 partners_order 记录),
|
||||
// 调的接口与合作商订单页是同一套 /partners.order/*
|
||||
// ================================================================
|
||||
|
||||
// 重新发放(仅「发放失败」可用;会重新扣减下单用户余额)
|
||||
handleShare (record) {
|
||||
this.$refs.ShareForm.show(record)
|
||||
},
|
||||
// 付款码
|
||||
// 加油链接(企油通 7.15 免登 H5)
|
||||
handlePay (record) {
|
||||
this.$refs.PayForm.show(record)
|
||||
},
|
||||
// 重推发放结果(小程序单没有下游平台,等于把状态重新同步到用户端)
|
||||
handleOil (record) {
|
||||
this.$refs.OilForm.show(record)
|
||||
},
|
||||
// 重推加油结果
|
||||
handleUse (record) {
|
||||
this.$refs.UseForm.show(record)
|
||||
},
|
||||
// 退款
|
||||
handleRefund (record) {
|
||||
this.$refs.RefundForm.show(record)
|
||||
},
|
||||
// 企业发票(企油通 7.14)
|
||||
handleInvoice (record) {
|
||||
this.$refs.InvoiceModal.show(record)
|
||||
},
|
||||
|
||||
// 企油通发放态文案 / 颜色
|
||||
qytText (v) {
|
||||
return { 0: '未提交', 1: '发放中', 2: '发放成功', 3: '发放失败' }[v] || '未知'
|
||||
},
|
||||
qytColor (v) {
|
||||
return { 1: 'blue', 2: 'green', 3: 'red' }[v] || ''
|
||||
},
|
||||
|
||||
// 退款状态文案 / 颜色
|
||||
refundText (v) {
|
||||
return { 0: '未退款', 1: '退款中', 2: '已退款', 3: '退款失败', 4: '待人工确认' }[v] || '未知'
|
||||
},
|
||||
refundColor (v) {
|
||||
return { 1: 'blue', 2: 'green', 3: 'red', 4: 'orange' }[v] || ''
|
||||
},
|
||||
// 发放成功才可能退款;已经有退款记录的单总是可以打开看流水
|
||||
canRefund (item) {
|
||||
if (item.oilCardType !== 'zsy_ticket' || item.oil_status_zsy !== 2 || item.oil_status !== 1) {
|
||||
return false
|
||||
}
|
||||
return item.refund_status > 0 || Number(this.remainAmount(item)) > 0
|
||||
},
|
||||
// 剩余未加油金额:发放金额 − 已加油 −(已退款时)退款金额
|
||||
remainAmount (item) {
|
||||
const refunded = item.refund_status === 2 ? Number(item.refund_amount || 0) : 0
|
||||
const remain = Number(item.total_price || 0) - Number(item.used_amount || 0) - refunded
|
||||
return Math.max(0, remain).toFixed(2)
|
||||
},
|
||||
refundLabel (item) {
|
||||
return { 2: '退款记录', 4: '确认退款' }[item.refund_status] || '退款'
|
||||
},
|
||||
formatTime (timestamp) {
|
||||
const date = new Date(timestamp)
|
||||
const year = date.getFullYear()
|
||||
@@ -649,4 +770,15 @@ export default {
|
||||
font-size: 20px;
|
||||
font-weight: 500;
|
||||
}
|
||||
// 操作栏:按钮较多会换行,横向纵向都留出间距(覆盖全局 .actions>a 的 8px 右边距)
|
||||
.actions {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 8px 16px;
|
||||
|
||||
& > a {
|
||||
margin-right: 0 !important;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user