统计更新
This commit is contained in:
parent
af44a7aa49
commit
f433f5f423
|
@ -81,7 +81,7 @@
|
|||
<script>
|
||||
import { listSuit, listSuitByIds } from "@/api/bst/suit";
|
||||
import CheckDialog from "@/components/CheckDialog/index.vue";
|
||||
import { isEmpty } from '@/utils/index'
|
||||
import { isEmpty } from '@/utils/index';
|
||||
|
||||
export default {
|
||||
name: "SuitDialog",
|
||||
|
@ -142,7 +142,7 @@ export default {
|
|||
{key: 'id', visible: false, label: 'ID', minWidth: null, sortable: true, overflow: false, align: 'center', width: "80"},
|
||||
{key: 'name', visible: true, label: '名称', minWidth: "200", sortable: true, overflow: false, align: 'left', width: null},
|
||||
{key: 'userName', visible: true, label: '运营商', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||
{key: 'depositAmount', visible: true, label: '预存', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||
{key: 'depositAmount', visible: true, label: '押金', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||
{key: 'rentalUnit', visible: true, label: '租赁单位', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||
{key: 'freeRideTime', visible: true, label: '免费时长', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||
{key: 'status', visible: true, label: '状态', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||
|
|
|
@ -75,7 +75,7 @@
|
|||
<template #append>米</template>
|
||||
</el-input>
|
||||
</form-col>
|
||||
<!-- <form-col :span="span * 2" label="超时断电" prop="timeoutLock" tip="风险操作!!!开启后,当订单的预存不足时,将会对车辆进行断电">
|
||||
<!-- <form-col :span="span * 2" label="超时断电" prop="timeoutLock" tip="风险操作!!!开启后,当订单的押金不足时,将会对车辆进行断电">
|
||||
<el-switch v-model="form.timeoutLock" active-text="开启" inactive-text="关闭" @change="onChangeTimeoutLock"/>
|
||||
</form-col> -->
|
||||
</el-row>
|
||||
|
@ -87,17 +87,17 @@
|
|||
<template #append>米</template>
|
||||
</el-input>
|
||||
</form-col>
|
||||
<form-col :span="span * 2" label="停车点外调度费" prop="dispatchFee" label-width="9em" tip="用户在停车点外还车时,从预存中扣取的调度费。若预存不足,则取最大可扣除的金额。">
|
||||
<form-col :span="span * 2" label="停车点外调度费" prop="dispatchFee" label-width="9em" tip="用户在停车点外还车时收取的调度费。">
|
||||
<el-input v-model="form.dispatchFee" placeholder="请输入停车点外调度费" type="number">
|
||||
<template #append>元</template>
|
||||
</el-input>
|
||||
</form-col>
|
||||
<form-col :span="span * 2" label="运营区外调度费" prop="vehicleManagementFee" label-width="9em" tip="用户在运营区外还车时,从预存中扣取的调度费。若预存不足,则取最大可扣除的金额。">
|
||||
<el-input v-model="form.vehicleManagementFee" placeholder="请输入运营区外调度费" type="number">
|
||||
<form-col :span="span * 2" label="运营区外管理费" prop="vehicleManagementFee" label-width="9em" tip="用户在运营区外还车时收取的管理费。">
|
||||
<el-input v-model="form.vehicleManagementFee" placeholder="请输入运营区外管理费" type="number">
|
||||
<template #append>元</template>
|
||||
</el-input>
|
||||
</form-col>
|
||||
<form-col :span="span * 2" label="还车审核" prop="returnVerify" tip="开启后,用户还车时需要审核后才能退还剩余的预存款">
|
||||
<form-col :span="span * 2" label="还车审核" prop="returnVerify" tip="开启后,用户还车时需要审核后才能退还剩余的押金">
|
||||
<el-switch v-model="form.returnVerify" active-text="需要审核" inactive-text="无需审核"/>
|
||||
</form-col>
|
||||
<form-col :span="span * 2" label="强制停车点还车" prop="parkingReturn" label-width="9em" tip="开启后,用户必须在停车点才允许还车">
|
||||
|
@ -117,12 +117,12 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { getArea, addArea, updateArea } from "@/api/bst/area";
|
||||
import FormCol from "@/components/FormCol/index.vue";
|
||||
import EditHeader from "@/components/EditHeader/index.vue";
|
||||
import { addArea, getArea, updateArea } from "@/api/bst/area";
|
||||
import UserInput from '@/components/Business/User/UserInput.vue';
|
||||
import CollapsePanel from '@/components/CollapsePanel/index.vue';
|
||||
import {UserType, AreaStatus, RoleKeys} from '@/utils/enums';
|
||||
import EditHeader from "@/components/EditHeader/index.vue";
|
||||
import FormCol from "@/components/FormCol/index.vue";
|
||||
import { AreaStatus, RoleKeys, UserType } from '@/utils/enums';
|
||||
import { mapGetters } from 'vuex';
|
||||
|
||||
export default {
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
<div class="stat-container">
|
||||
<statistics-card
|
||||
class="stat-card"
|
||||
:value="todayStat.orderActualAmount"
|
||||
:value="todayStat.orderActualReceivedAmount"
|
||||
label="今日订单实收"
|
||||
icon="el-icon-s-finance"
|
||||
start-color="#61DDAA"
|
||||
end-color="#4CAF50"
|
||||
sub-label="累计实收"
|
||||
:sub-value="stat.orderActualAmount"
|
||||
:sub-value="stat.orderActualReceivedAmount"
|
||||
:precision="2"
|
||||
:show-value-change="false"
|
||||
/>
|
||||
|
|
|
@ -28,14 +28,14 @@
|
|||
trigger="hover"
|
||||
>
|
||||
<div>
|
||||
<div>订单实收 = 结算支付金额(结算时间) - 支付退款金额(退款时间)</div>
|
||||
<div>结算支付金额:{{ stat.orderFinishedPayAmount | fix2 | dv }} 元</div>
|
||||
<div>支付退款金额:{{ stat.orderRefundAmount | fix2 | dv }} 元</div>
|
||||
<div>订单实收 = 结算金额(支付时间) - 人工退款金额(退款时间)</div>
|
||||
<div>结算金额:{{ stat.orderActualAmount | fix2 | dv }} 元</div>
|
||||
<div>人工退款金额:{{ stat.orderAdminRefundAmount | fix2 | dv }} 元</div>
|
||||
</div>
|
||||
<i slot="reference" class="el-icon-question" />
|
||||
</el-popover>
|
||||
</div>
|
||||
<div class="stat-value">{{ stat.orderActualAmount | fix2 | dv }}</div>
|
||||
<div class="stat-value">{{ stat.orderActualReceivedAmount | fix2 | dv }}</div>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="stat-card income-card">
|
||||
|
@ -86,90 +86,43 @@
|
|||
|
||||
<el-col :sm="24" :md="13" class="detail-stat-row">
|
||||
<el-row>
|
||||
<el-col :span="6" class="mini-stat-card">
|
||||
<el-col :span="miniSpan" class="mini-stat-card">
|
||||
<div class="icon-bg blue"><i class="el-icon-bicycle"></i></div>
|
||||
<div class="stat-info">
|
||||
<div class="mini-label">
|
||||
骑行费
|
||||
<el-popover
|
||||
placement="right"
|
||||
width="fit-content"
|
||||
trigger="hover"
|
||||
>
|
||||
<div>
|
||||
<div>用户结束订单后,实际收取到的骑行费</div>
|
||||
<div>骑行费不会超过预存款</div>
|
||||
</div>
|
||||
<i slot="reference" class="el-icon-question" />
|
||||
</el-popover>
|
||||
</div>
|
||||
<div class="mini-value">{{ stat.orderRiddingFee | fix2 | dv }}</div>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="6" class="mini-stat-card">
|
||||
<el-col :span="miniSpan" class="mini-stat-card">
|
||||
<div class="icon-bg green"><i class="el-icon-truck"></i></div>
|
||||
<div class="stat-info">
|
||||
<div class="mini-label">
|
||||
调度费
|
||||
<el-popover
|
||||
placement="right"
|
||||
width="fit-content"
|
||||
trigger="hover"
|
||||
>
|
||||
<div>
|
||||
<div>用户结束订单后,实际收取到的调度费</div>
|
||||
<div>当【预存款 - 骑行费】不足以支付调度费时,</div>
|
||||
<div>将剩余金额全部收取为调度费</div>
|
||||
</div>
|
||||
<i slot="reference" class="el-icon-question" />
|
||||
</el-popover>
|
||||
</div>
|
||||
<div class="mini-value">{{ stat.orderDispatchFee | fix2 | dv }}</div>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="6" class="mini-stat-card">
|
||||
<el-col :span="miniSpan" class="mini-stat-card">
|
||||
<div class="icon-bg orange"><i class="el-icon-setting"></i></div>
|
||||
<div class="stat-info">
|
||||
<div class="mini-label">
|
||||
管理费
|
||||
<el-popover
|
||||
placement="right"
|
||||
width="fit-content"
|
||||
trigger="hover"
|
||||
>
|
||||
<div>
|
||||
<div>用户结束订单后,实际收取到的管理费</div>
|
||||
<div>当【预存款 - 骑行费】不足以支付管理费时,</div>
|
||||
<div>将剩余金额全部收取为管理费</div>
|
||||
</div>
|
||||
<i slot="reference" class="el-icon-question" />
|
||||
</el-popover>
|
||||
</div>
|
||||
<div class="mini-value">{{ stat.orderManageFee | fix2 | dv }}</div>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="6" class="mini-stat-card">
|
||||
<el-col :span="miniSpan" class="mini-stat-card">
|
||||
<div class="icon-bg purple"><i class="el-icon-warning"></i></div>
|
||||
<div class="stat-info">
|
||||
<div class="mini-label">
|
||||
车损费
|
||||
<el-popover
|
||||
placement="right"
|
||||
width="fit-content"
|
||||
trigger="hover"
|
||||
>
|
||||
<div>
|
||||
<div>当商户进行还车审核时填写的车损费</div>
|
||||
<div>当【预存款 - 骑行费】不足以支付车损费时,</div>
|
||||
<div>将剩余金额全部收取为车损费</div>
|
||||
</div>
|
||||
<i slot="reference" class="el-icon-question" />
|
||||
</el-popover>
|
||||
</div>
|
||||
<div class="mini-value">{{ stat.orderDeductionFee | fix2 | dv }}</div>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="6" class="mini-stat-card">
|
||||
<el-col :span="miniSpan" class="mini-stat-card">
|
||||
<div class="icon-bg blue"><i class="el-icon-bank-card"></i></div>
|
||||
<div class="stat-info">
|
||||
<div class="mini-label">
|
||||
|
@ -182,52 +135,14 @@
|
|||
<div>
|
||||
<div>结算金额 = 骑行费 + 调度费 + 管理费 + 车损费</div>
|
||||
<div>仅当订单结束后,结算金额才会更新</div>
|
||||
<div>结算金额不会超过预存款(支付金额)</div>
|
||||
</div>
|
||||
<i slot="reference" class="el-icon-question" />
|
||||
</el-popover>
|
||||
</div>
|
||||
<div class="mini-value">{{ stat.orderActualTotalAmount | fix2 | dv }}</div>
|
||||
<div class="mini-value">{{ stat.orderActualAmount | fix2 | dv }}</div>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="6" class="mini-stat-card">
|
||||
<div class="icon-bg blue"><i class="el-icon-s-finance"></i></div>
|
||||
<div class="stat-info">
|
||||
<div class="mini-label">
|
||||
支付金额
|
||||
<el-popover
|
||||
placement="right"
|
||||
width="fit-content"
|
||||
trigger="hover"
|
||||
>
|
||||
<div>
|
||||
<div>支付金额包含预存款,是当天支付的金额,而非结算金额</div>
|
||||
</div>
|
||||
<i slot="reference" class="el-icon-question" />
|
||||
</el-popover>
|
||||
</div>
|
||||
<div class="mini-value">{{ stat.orderPayAmount | fix2 | dv }}</div>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="6" class="mini-stat-card">
|
||||
<div class="icon-bg cyan"><i class="el-icon-refresh"></i></div>
|
||||
<div class="stat-info">
|
||||
<div class="mini-label">自动退款
|
||||
<el-popover
|
||||
placement="right"
|
||||
width="fit-content"
|
||||
trigger="hover"
|
||||
>
|
||||
<div>
|
||||
<div>订单结束后将自动退款,若退款失败,则需要人工退款</div>
|
||||
</div>
|
||||
<i slot="reference" class="el-icon-question" />
|
||||
</el-popover>
|
||||
</div>
|
||||
<div class="mini-value">{{ stat.orderAutoRefundAmount | fix2 | dv }}</div>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="6" class="mini-stat-card">
|
||||
<el-col :span="miniSpan" class="mini-stat-card">
|
||||
<div class="icon-bg red"><i class="el-icon-user"></i></div>
|
||||
<div class="stat-info">
|
||||
<div class="mini-label">人工退款
|
||||
|
@ -274,6 +189,7 @@ export default {
|
|||
return {
|
||||
loading: false,
|
||||
span: 4,
|
||||
miniSpan: 8,
|
||||
DatePickerOptions,
|
||||
OrderStatus,
|
||||
queryParams: {
|
||||
|
|
|
@ -192,9 +192,11 @@
|
|||
<div>调度费:{{d.row.actualDispatchFee | fix2 | dv}} 元</div>
|
||||
<div>管理费:{{d.row.actualManageFee | fix2 | dv}} 元</div>
|
||||
<div>车损费:{{d.row.actualDeductionFee | fix2 | dv}} 元</div>
|
||||
<div v-if="d.row.depositDeductionAmount"><br/>押金抵扣:{{d.row.depositDeductionAmount | fix2 | dv}} 元</div>
|
||||
<br/>
|
||||
<div>合计:{{d.row.actualAmount | fix2 | dv}} 元</div>
|
||||
<div v-if="d.row.depositDeductionAmount">押金抵扣:{{d.row.depositDeductionAmount | fix2 | dv}} 元</div>
|
||||
</div>
|
||||
<div slot="reference">实收:{{d.row.actualAmount | fix2 | dv}} 元 <i class="el-icon-info" /></div>
|
||||
<div slot="reference">实收:{{d.row.actualReceivedAmount | fix2 | dv}} 元 <i class="el-icon-info" /></div>
|
||||
</el-popover>
|
||||
</el-col>
|
||||
<el-col :span="24" v-if="d.row.adminRefundAmount" style="color: red;">
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
</el-statistic>
|
||||
</el-col>
|
||||
<el-col>
|
||||
<el-statistic title="预存" :value="detail.depositFee" :precision="2" suffix="元">
|
||||
<el-statistic title="押金" :value="detail.depositFee" :precision="2" suffix="元">
|
||||
<template slot="prefix">
|
||||
<i class="el-icon-money" style="color: #67C23A"></i>
|
||||
</template>
|
||||
|
@ -38,16 +38,30 @@
|
|||
</el-popover>
|
||||
</el-col>
|
||||
<el-col v-if="OrderStatus.finishedList().includes(detail.status)">
|
||||
<el-statistic
|
||||
<el-popover placement="bottom" width="200" trigger="hover">
|
||||
<div>
|
||||
<div>骑行费:{{detail.actualRidingFee | fix2 | dv}} 元</div>
|
||||
<div>调度费:{{detail.actualDispatchFee | fix2 | dv}} 元</div>
|
||||
<div>管理费:{{detail.actualManageFee | fix2 | dv}} 元</div>
|
||||
<div>车损费:{{detail.actualDeductionFee | fix2 | dv}} 元</div>
|
||||
<br/>
|
||||
<div>合计:{{detail.actualAmount | fix2 | dv}} 元</div>
|
||||
<div v-if="detail.depositDeductionAmount">押金抵扣:{{detail.depositDeductionAmount | fix2 | dv}} 元</div>
|
||||
</div>
|
||||
<el-statistic slot="reference"
|
||||
title="实收"
|
||||
:value="detail.actualAmount"
|
||||
:value="detail.actualReceivedAmount"
|
||||
:precision="2"
|
||||
suffix="元"
|
||||
value-style="color: #67C23A">
|
||||
<template slot="prefix">
|
||||
<i class="el-icon-success" style="color: #67C23A"></i>
|
||||
</template>
|
||||
<template slot="title">
|
||||
实收 <i class="el-icon-info" style="color: #909399; margin-left: 4px; cursor: pointer"></i>
|
||||
</template>
|
||||
</el-statistic>
|
||||
</el-popover>
|
||||
</el-col>
|
||||
<el-col>
|
||||
<el-statistic
|
||||
|
@ -234,7 +248,7 @@
|
|||
<pay :query="{bstId: detail.id, bstTypes: [PayBstType.ORDER, PayBstType.ORDER_RIDE]}"/>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="退款信息" v-if="checkPermi(['bst:refund:list'])">
|
||||
<refund :query="{payBstId: detail.id, payBstType: PayBstType.ORDER}"/>
|
||||
<refund :query="{payBstId: detail.id, payBstTypes: [PayBstType.ORDER, PayBstType.ORDER_RIDE]}"/>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="命令日志" v-if="checkPermi(['bst:commandLog:list'])">
|
||||
<command-log :query="{orderId: detail.id}"/>
|
||||
|
|
|
@ -72,7 +72,7 @@
|
|||
{{d.row[column.key]}}
|
||||
</template>
|
||||
<template v-else-if="column.key === 'reason'">
|
||||
<order-link v-if="PayBstType.ORDER === d.row.payBstType" :id="d.row.payBstId" :text="d.row.reason" />
|
||||
<order-link v-if="[PayBstType.ORDER, PayBstType.ORDER_RIDE].includes(d.row.payBstType)" :id="d.row.payBstId" :text="d.row.reason" />
|
||||
<span v-else>{{d.row.reason | dv}}</span>
|
||||
<dict-tag :options="dict.type.refund_type" :value="d.row.type" size="mini" style="margin-left: 4px;"/>
|
||||
<dict-tag :options="dict.type.refund_status" :value="d.row.status" size="mini" style="margin-left: 4px;"/>
|
||||
|
@ -104,12 +104,12 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { listRefund, getRefund, delRefund, addRefund, updateRefund } from "@/api/bst/refund";
|
||||
import { $showColumns } from '@/utils/mixins';
|
||||
import FormCol from "@/components/FormCol/index.vue";
|
||||
import UserLink from '@/components/Business/User/UserLink.vue'
|
||||
import { addRefund, delRefund, getRefund, listRefund, updateRefund } from "@/api/bst/refund";
|
||||
import OrderLink from '@/components/Business/Order/OrderLink.vue';
|
||||
import UserLink from '@/components/Business/User/UserLink.vue';
|
||||
import FormCol from "@/components/FormCol/index.vue";
|
||||
import { PayBstType } from '@/utils/enums';
|
||||
import { $showColumns } from '@/utils/mixins';
|
||||
|
||||
// 默认排序字段
|
||||
const defaultSort = {
|
||||
|
|
Loading…
Reference in New Issue
Block a user