|
|
@@ -26,6 +26,20 @@
|
|
|
.order-detail{
|
|
|
margin-left: 20px;
|
|
|
}
|
|
|
+
|
|
|
+.el-table {
|
|
|
+ &:deep(.el-table__body-wrapper) {
|
|
|
+ width: 100% !important;
|
|
|
+ height: calc(100% - 108px) !important; // 表格高度减去表头的高度
|
|
|
+
|
|
|
+ .el-scrollbar__bar.is-horizontal {
|
|
|
+ height: 10px;
|
|
|
+ left: 2px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+}
|
|
|
</style>
|
|
|
<template>
|
|
|
<div class="system-container layout-padding">
|
|
|
@@ -143,8 +157,6 @@ import mittBus from '/@/utils/mitt';
|
|
|
import ExtDLabel from "/@/components/form/ExtDLabel.vue";
|
|
|
|
|
|
|
|
|
-const WashOrderDialog = defineAsyncComponent(() => import("/@/views/admin/ordering/dialog.vue"));
|
|
|
-
|
|
|
//定义引用
|
|
|
const queryRef = ref();
|
|
|
const washOrderDialogRef = ref();
|
|
|
@@ -167,14 +179,15 @@ const state = reactive({
|
|
|
columns: [
|
|
|
{type: 'expand', width: 60, align: 'center', fixed: 'left'},
|
|
|
{width: 260, label: '订单号', prop: 'orderId', query: true, type: 'text', resizable: true, fixed: 'left'},
|
|
|
- {width: 160, label: '消费总额', prop: 'amount', query: false, resizable: true, fixed: 'left'},
|
|
|
+ {width: 260, label: '用户', prop: 'userId', query: true, type: 'text', resizable: true},
|
|
|
+ {width: 160, label: '消费总额', prop: 'amount', query: false, resizable: true},
|
|
|
{width: 160, label: '应收金额', prop: 'amountReceivable', query: false, type: '', resizable: true},
|
|
|
{width: 160, label: '实收金额', prop: 'amountReceived', query: false, type: 'text', resizable: true},
|
|
|
{width: 160, label: '卡内余额', prop: 'cardBalance', query: false, type: 'text', resizable: true},
|
|
|
{
|
|
|
width: 160, label: '卡过期时间',
|
|
|
prop: 'cardExpired',
|
|
|
- query: true,
|
|
|
+ query: false,
|
|
|
sortable: 'custom',
|
|
|
type: 'datetime',
|
|
|
resizable: true,
|
|
|
@@ -205,7 +218,7 @@ const state = reactive({
|
|
|
{width: 160, label: '设备名称', prop: 'deviceName', query: false, type: 'text', resizable: true},
|
|
|
{width: 160, label: '优惠金额', prop: 'discountAmount', query: false, type: '', resizable: true},
|
|
|
{width: 160, label: '优惠金额', prop: 'discountMoney', query: false, type: '', resizable: true},
|
|
|
- {width: 160, label: '优惠方式', prop: 'discountType', query: true, type: 'dict', conf: {dict: 'Activity.discountType'}, resizable: true},
|
|
|
+ {width: 160, label: '优惠方式', prop: 'discountType', query: false, type: 'dict', conf: {dict: 'Activity.discountType'}, resizable: true},
|
|
|
{width: 160, label: '结束时间', prop: 'endTime', query: false, sortable: 'custom', type: 'datetime', resizable: true, conf: {format: (val: any) => u.fmt.fmtDateTime(val)}},
|
|
|
{
|
|
|
width: 160, label: '设备空闲关机倒计时剩余时间',
|
|
|
@@ -214,18 +227,18 @@ const state = reactive({
|
|
|
type: 'text',
|
|
|
resizable: true
|
|
|
},
|
|
|
- {width: 160, label: '发票状态', prop: 'invoiceStatus', query: true, type: 'dict', conf: {dict: 'Invoice.status'}, resizable: true},
|
|
|
+ {width: 160, label: '发票状态', prop: 'invoiceStatus', query: false, type: 'dict', conf: {dict: 'Invoice.status'}, resizable: true},
|
|
|
{width: 160, label: '会员折扣比例', prop: 'memberDiscount', query: false, type: 'text', resizable: true},
|
|
|
- {width: 160, label: '开机方式', prop: 'openType', query: true, type: 'dict', conf: {dict: 'Order.openType'}, resizable: true},
|
|
|
+ {width: 160, label: '开机方式', prop: 'openType', query: false, type: 'dict', conf: {dict: 'Order.openType'}, resizable: true},
|
|
|
{width: 160, label: '订单操作剩余操作时间(单位秒)', prop: 'operationRemainTime', query: false, type: 'text', resizable: true},
|
|
|
{width: 160, label: '本机订单号', prop: 'orderIdLocal', query: false, type: 'text', resizable: true},
|
|
|
- {width: 160, label: '订单状态', prop: 'orderStatus', query: true, type: 'dict', conf: {dict: 'Order.status'}, resizable: true},
|
|
|
+ {width: 160, label: '订单状态', prop: 'orderStatus', query: false, type: 'dict', conf: {dict: 'Order.status'}, resizable: true},
|
|
|
{width: 160, label: '支付状态', prop: 'payStatus', query: true, type: 'dict', conf: {dict: 'Order.pay'}, resizable: true},
|
|
|
{width: 160, label: '本次开机的预付金额', prop: 'prepayMoney', query: true, type: '', resizable: true},
|
|
|
- {width: 160, label: '产品key', prop: 'productKey', query: true, type: 'text', resizable: true},
|
|
|
+ {width: 160, label: '产品key', prop: 'productKey', query: false, type: 'text', resizable: true},
|
|
|
{width: 160, label: '开始时间', prop: 'startTime', query: false, sortable: 'custom', type: 'datetime', resizable: true, conf: {format: (val: any) => u.fmt.fmtDate(val)}},
|
|
|
{width: 160, label: '站点ID', prop: 'stationId', query: true, type: 'text', resizable: true},
|
|
|
- {width: 160, label: '停机原因', prop: 'stopReason', query: false, type: 'text', resizable: true},
|
|
|
+ {label: '停机原因', prop: 'stopReason', query: false, type: 'text', resizable: true},
|
|
|
{
|
|
|
width: 160,
|
|
|
label: '更新时间',
|
|
|
@@ -307,11 +320,11 @@ const loadData = (refresh: boolean = false) => {
|
|
|
|
|
|
list.forEach((item:any)=>{
|
|
|
if(item.detail){
|
|
|
- let parse = JSON.parse(item.detail);
|
|
|
- item.detail = parse.filter((k:any)=>k.amount>0||k.seconds>0).map((s:any)=>{
|
|
|
+ // let parse = JSON.parse(item.detail);
|
|
|
+ item.detail = item.detail.filter((k:any)=>k.amount>0||k.seconds>0).map((s:any)=>{
|
|
|
return {
|
|
|
name:u.fmt.fmtDict(s.name,'Order.feeType'),
|
|
|
- seconds:u.fmt.fmtDuration(s.seconds),
|
|
|
+ seconds:u.fmt.fmtDuration(s.seconds*1000),
|
|
|
price:u.fmt.fmtMoney(s.price),
|
|
|
amount:u.fmt.fmtMoney(s.amount),
|
|
|
}
|