修复:智能判断订单商品orderGoods和订单信息orderInfo的显示问题

This commit is contained in:
2024-09-14 15:41:55 +08:00
parent ea5a48fa29
commit befa701207
11 changed files with 548 additions and 320 deletions

View File

@@ -12,7 +12,7 @@
:footer="null"
@ok="save"
>
<a-card class="order-card" :bordered="false">
<a-card class="order-card" :bordered="false" v-if="form">
<a-descriptions title="基本信息" :column="3">
<a-descriptions-item
label="订单号"
@@ -139,10 +139,24 @@
<a-card class="order-card" :bordered="false">
<a-spin :spinning="loading">
<a-table
:data-source="form.orderInfoList"
v-if="form.orderInfo && form.orderInfo.length > 0"
:data-source="form.orderInfo"
:columns="columns"
:pagination="false"
/>
<a-table
v-if="form.orderGoods && form.orderGoods.length > 0"
:data-source="form.orderGoods"
:columns="columnsGoods"
:pagination="false"
>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'goodsName'">
<a-avatar :src="record.image" :size="40" />
<span style="margin-left: 8px">{{ record.goodsName }}</span>
</template>
</template>
</a-table>
</a-spin>
</a-card>
</ele-modal>
@@ -150,7 +164,7 @@
<script lang="ts" setup>
import { ref, reactive, watch } from 'vue';
import { Form, message } from "ant-design-vue";
import { Form } from 'ant-design-vue';
import { assignObject } from 'ele-admin-pro';
import { Order } from '@/api/shop/order/model';
import { ColumnItem } from 'ele-admin-pro/es/ele-pro-table/types';
@@ -160,6 +174,8 @@
CoffeeOutlined
} from '@ant-design/icons-vue';
import { pageOrderInfo } from '@/api/shop/orderInfo';
import { pageOrderGoods } from '@/api/shop/orderGoods';
import record from "@/views/cms/design/record/index.vue";
const useForm = Form.useForm;
@@ -230,12 +246,12 @@
payPrice: undefined,
price: undefined,
money: undefined,
payType: undefined,
refundMoney: undefined,
coachPrice: undefined,
coachId: undefined,
payType: undefined,
payStatus: undefined,
orderStatus: undefined,
payStatus: undefined,
couponType: undefined,
couponDesc: undefined,
qrcode: undefined,
@@ -250,14 +266,11 @@
isSettled: undefined,
version: undefined,
userId: undefined,
deleted: undefined,
tenantId: undefined,
updateTime: undefined,
createTime: undefined,
status: 0,
comments: '',
sortNumber: 100,
orderInfoList: []
orderGoods: [],
orderInfo: []
});
// 请求状态
@@ -292,6 +305,28 @@
}
]);
const columnsGoods = ref<ColumnItem[]>([
{
title: '商品名称',
dataIndex: 'goodsName',
key: 'goodsName'
},
{
title: '商品规格',
dataIndex: 'spec'
},
{
title: '购买数量',
dataIndex: 'totalNum',
key: 'totalNum'
},
{
title: '金额',
dataIndex: 'price',
customRender: ({ text }) => '¥' + text
}
]);
/* 制作步骤条 */
const loadSteps = (order) => {
steps.value = [];
@@ -368,8 +403,12 @@
if (props.data) {
loading.value = true;
assignObject(form, props.data);
pageOrderGoods({ orderId: form.orderId }).then((res) => {
form.orderGoods = res?.list;
loading.value = false;
});
pageOrderInfo({ oid: form.orderId }).then((res) => {
form.orderInfoList = res?.list;
form.orderInfo = res?.list;
loading.value = false;
});
loadSteps(props.data);