feat(glt): 添加订单编号和状态字段支持
- 在 GltTicketOrder 模型中新增 orderNo 和 orderStatus 字段 - 在 GltUserTicket 模型中新增 orderStatus 字段 - 在订单编辑页面添加订单编号输入框并调整表单初始化逻辑 - 移除图片上传相关功能代码 - 在订单列表页面添加订单编号显示和订单状态标签展示 - 实现订单状态的标签渲染和颜色区分 - 调整表格列配置,替换原有的状态列为订单状态列 - 在删除确认按钮上添加订单状态条件判断 - 启用表格行双击事件以支持快速编辑功能
This commit is contained in:
@@ -66,6 +66,9 @@ export interface GltTicketOrder {
|
|||||||
receiveConfirmType?: number;
|
receiveConfirmType?: number;
|
||||||
// 修改时间
|
// 修改时间
|
||||||
updateTime?: string;
|
updateTime?: string;
|
||||||
|
// 订单编号
|
||||||
|
orderNo?: string;
|
||||||
|
orderStatus?: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ export interface GltUserTicket {
|
|||||||
orderId?: number;
|
orderId?: number;
|
||||||
// 订单编号
|
// 订单编号
|
||||||
orderNo?: string;
|
orderNo?: string;
|
||||||
|
// 订单状态
|
||||||
|
orderStatus?: number;
|
||||||
// 订单商品ID
|
// 订单商品ID
|
||||||
orderGoodsId?: number;
|
orderGoodsId?: number;
|
||||||
// 总数量
|
// 总数量
|
||||||
|
|||||||
@@ -89,6 +89,13 @@
|
|||||||
v-model:value="form.userId"
|
v-model:value="form.userId"
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
<a-form-item label="订单编号" name="orderNo">
|
||||||
|
<a-input
|
||||||
|
allow-clear
|
||||||
|
placeholder="请输入订单编号"
|
||||||
|
v-model:value="form.orderNo"
|
||||||
|
/>
|
||||||
|
</a-form-item>
|
||||||
<a-form-item label="备注" name="comments">
|
<a-form-item label="备注" name="comments">
|
||||||
<a-textarea
|
<a-textarea
|
||||||
:rows="4"
|
:rows="4"
|
||||||
@@ -159,16 +166,13 @@
|
|||||||
price: undefined,
|
price: undefined,
|
||||||
totalNum: undefined,
|
totalNum: undefined,
|
||||||
userId: undefined,
|
userId: undefined,
|
||||||
sortNumber: undefined,
|
|
||||||
comments: undefined,
|
|
||||||
status: undefined,
|
status: undefined,
|
||||||
deleted: undefined,
|
deleted: undefined,
|
||||||
tenantId: undefined,
|
tenantId: undefined,
|
||||||
createTime: undefined,
|
createTime: undefined,
|
||||||
updateTime: undefined,
|
updateTime: undefined,
|
||||||
gltTicketOrderId: undefined,
|
orderNo: undefined,
|
||||||
gltTicketOrderName: '',
|
orderCode: undefined,
|
||||||
status: 0,
|
|
||||||
comments: '',
|
comments: '',
|
||||||
sortNumber: 100
|
sortNumber: 100
|
||||||
});
|
});
|
||||||
@@ -190,20 +194,6 @@
|
|||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
const chooseImage = (data: FileRecord) => {
|
|
||||||
images.value.push({
|
|
||||||
uid: data.id,
|
|
||||||
url: data.path,
|
|
||||||
status: 'done'
|
|
||||||
});
|
|
||||||
form.image = data.path;
|
|
||||||
};
|
|
||||||
|
|
||||||
const onDeleteItem = (index: number) => {
|
|
||||||
images.value.splice(index, 1);
|
|
||||||
form.image = '';
|
|
||||||
};
|
|
||||||
|
|
||||||
const { resetFields } = useForm(form, rules);
|
const { resetFields } = useForm(form, rules);
|
||||||
|
|
||||||
/* 保存编辑 */
|
/* 保存编辑 */
|
||||||
@@ -216,7 +206,8 @@
|
|||||||
.then(() => {
|
.then(() => {
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
const formData = {
|
const formData = {
|
||||||
...form
|
...form,
|
||||||
|
orderCode: form.orderNo
|
||||||
};
|
};
|
||||||
const saveOrUpdate = isUpdate.value ? updateGltTicketOrder : addGltTicketOrder;
|
const saveOrUpdate = isUpdate.value ? updateGltTicketOrder : addGltTicketOrder;
|
||||||
saveOrUpdate(formData)
|
saveOrUpdate(formData)
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
row-key="id"
|
row-key="id"
|
||||||
:columns="columns"
|
:columns="columns"
|
||||||
:datasource="datasource"
|
:datasource="datasource"
|
||||||
|
:customRow="customRow"
|
||||||
tool-class="ele-toolbar-form"
|
tool-class="ele-toolbar-form"
|
||||||
class="sys-org-table"
|
class="sys-org-table"
|
||||||
>
|
>
|
||||||
@@ -24,6 +25,7 @@
|
|||||||
<a-avatar :src="record.avatar" />
|
<a-avatar :src="record.avatar" />
|
||||||
<div class="flex flex-col">
|
<div class="flex flex-col">
|
||||||
<div class="font-bold">{{ record.nickname }}</div>
|
<div class="font-bold">{{ record.nickname }}</div>
|
||||||
|
<div class="text-gray-400">订单编号:{{ record.orderNo }}</div>
|
||||||
<div class="text-gray-400">送货地址:{{ record.address }}</div>
|
<div class="text-gray-400">送货地址:{{ record.address }}</div>
|
||||||
<div class="text-blue-400">联系电话:{{ record.phone }}</div>
|
<div class="text-blue-400">联系电话:{{ record.phone }}</div>
|
||||||
<div class="text-gray-400">买家留言:{{ record.buyerRemarks }}</div>
|
<div class="text-gray-400">买家留言:{{ record.buyerRemarks }}</div>
|
||||||
@@ -67,6 +69,31 @@
|
|||||||
{{ getOrderStatus(record).label }}
|
{{ getOrderStatus(record).label }}
|
||||||
</a-tag>
|
</a-tag>
|
||||||
</template>
|
</template>
|
||||||
|
<template v-if="column.key === 'orderStatus'">
|
||||||
|
<a-space :size="6" wrap>
|
||||||
|
<!-- 订单状态 -->
|
||||||
|
<a-tag v-if="record.orderStatus === 0">未完成</a-tag>
|
||||||
|
<a-tag v-if="record.orderStatus === 1" color="green"
|
||||||
|
>已完成</a-tag
|
||||||
|
>
|
||||||
|
<a-tag v-if="record.orderStatus === 2">已关闭</a-tag>
|
||||||
|
<a-tag v-if="record.orderStatus === 3" color="red"
|
||||||
|
>关闭中</a-tag
|
||||||
|
>
|
||||||
|
<a-tag v-if="record.orderStatus === 4" color="red"
|
||||||
|
>退款申请中</a-tag
|
||||||
|
>
|
||||||
|
<a-tag v-if="record.orderStatus === 5" color="red"
|
||||||
|
>退款被拒绝</a-tag
|
||||||
|
>
|
||||||
|
<a-tag v-if="record.orderStatus === 6" color="orange"
|
||||||
|
>已退款</a-tag
|
||||||
|
>
|
||||||
|
<a-tag v-if="record.orderStatus === 7" color="pink"
|
||||||
|
>客户端申请退款</a-tag
|
||||||
|
>
|
||||||
|
</a-space>
|
||||||
|
</template>
|
||||||
<template v-if="column.key === 'totalNum'">
|
<template v-if="column.key === 'totalNum'">
|
||||||
<div class="text-gray-800 text-3xl">{{ record.totalNum }}</div>
|
<div class="text-gray-800 text-3xl">{{ record.totalNum }}</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -90,9 +117,10 @@
|
|||||||
</template>
|
</template>
|
||||||
<template v-if="column.key === 'action'">
|
<template v-if="column.key === 'action'">
|
||||||
<a-space>
|
<a-space>
|
||||||
<a @click="openEdit(record)">修改</a>
|
<!-- <a @click="openEdit(record)">修改</a>-->
|
||||||
<a-divider type="vertical" />
|
<!-- <a-divider type="vertical" />-->
|
||||||
<a-popconfirm
|
<a-popconfirm
|
||||||
|
v-if="record.orderStatus == 6"
|
||||||
title="确定要删除此记录吗?"
|
title="确定要删除此记录吗?"
|
||||||
@confirm="remove(record)"
|
@confirm="remove(record)"
|
||||||
>
|
>
|
||||||
@@ -406,21 +434,21 @@
|
|||||||
width: 260,
|
width: 260,
|
||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
// {
|
{
|
||||||
// title: '状态',
|
title: '订单状态',
|
||||||
// dataIndex: 'status',
|
dataIndex: 'orderStatus',
|
||||||
// key: 'status',
|
key: 'orderStatus',
|
||||||
// align: 'center',
|
align: 'center',
|
||||||
// width: 120
|
width: 120
|
||||||
// }
|
},
|
||||||
// {
|
{
|
||||||
// title: '操作',
|
title: '操作',
|
||||||
// key: 'action',
|
key: 'action',
|
||||||
// width: 180,
|
width: 90,
|
||||||
// fixed: 'right',
|
fixed: 'right',
|
||||||
// align: 'center',
|
align: 'center',
|
||||||
// hideInSetting: true
|
hideInSetting: true
|
||||||
// }
|
}
|
||||||
]);
|
]);
|
||||||
|
|
||||||
/* 搜索 */
|
/* 搜索 */
|
||||||
@@ -488,18 +516,18 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* 自定义行属性 */
|
/* 自定义行属性 */
|
||||||
// const customRow = (record: GltTicketOrder) => {
|
const customRow = (record: GltTicketOrder) => {
|
||||||
// return {
|
return {
|
||||||
// // 行点击事件
|
// 行点击事件
|
||||||
// onClick: () => {
|
onClick: () => {
|
||||||
// // console.log(record);
|
// console.log(record);
|
||||||
// },
|
},
|
||||||
// // 行双击事件
|
// 行双击事件
|
||||||
// onDblclick: () => {
|
onDblclick: () => {
|
||||||
// openEdit(record);
|
// openEdit(record);
|
||||||
// }
|
}
|
||||||
// };
|
};
|
||||||
// };
|
};
|
||||||
query();
|
query();
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -41,11 +41,37 @@
|
|||||||
<a-tag v-if="record.status === 0" color="green">显示</a-tag>
|
<a-tag v-if="record.status === 0" color="green">显示</a-tag>
|
||||||
<a-tag v-if="record.status === 1" color="red">隐藏</a-tag>
|
<a-tag v-if="record.status === 1" color="red">隐藏</a-tag>
|
||||||
</template>
|
</template>
|
||||||
|
<template v-if="column.key === 'orderStatus'">
|
||||||
|
<a-space :size="6" wrap>
|
||||||
|
<!-- 订单状态 -->
|
||||||
|
<a-tag v-if="record.orderStatus === 0">未完成</a-tag>
|
||||||
|
<a-tag v-if="record.orderStatus === 1" color="green"
|
||||||
|
>已完成</a-tag
|
||||||
|
>
|
||||||
|
<a-tag v-if="record.orderStatus === 2">已关闭</a-tag>
|
||||||
|
<a-tag v-if="record.orderStatus === 3" color="red"
|
||||||
|
>关闭中</a-tag
|
||||||
|
>
|
||||||
|
<a-tag v-if="record.orderStatus === 4" color="red"
|
||||||
|
>退款申请中</a-tag
|
||||||
|
>
|
||||||
|
<a-tag v-if="record.orderStatus === 5" color="red"
|
||||||
|
>退款被拒绝</a-tag
|
||||||
|
>
|
||||||
|
<a-tag v-if="record.orderStatus === 6" color="orange"
|
||||||
|
>已退款</a-tag
|
||||||
|
>
|
||||||
|
<a-tag v-if="record.orderStatus === 7" color="pink"
|
||||||
|
>客户端申请退款</a-tag
|
||||||
|
>
|
||||||
|
</a-space>
|
||||||
|
</template>
|
||||||
<template v-if="column.key === 'action'">
|
<template v-if="column.key === 'action'">
|
||||||
<a-space>
|
<a-space>
|
||||||
<a @click="openEdit(record)">修改</a>
|
<!-- <a @click="openEdit(record)">修改</a>-->
|
||||||
<a-divider type="vertical" />
|
<!-- <a-divider type="vertical" />-->
|
||||||
<a-popconfirm
|
<a-popconfirm
|
||||||
|
v-if="record.orderStatus == 6"
|
||||||
title="确定要删除此记录吗?"
|
title="确定要删除此记录吗?"
|
||||||
@confirm="remove(record)"
|
@confirm="remove(record)"
|
||||||
>
|
>
|
||||||
@@ -185,12 +211,12 @@
|
|||||||
// dataIndex: 'sortNumber',
|
// dataIndex: 'sortNumber',
|
||||||
// key: 'sortNumber',
|
// key: 'sortNumber',
|
||||||
// },
|
// },
|
||||||
// {
|
{
|
||||||
// title: '状态',
|
title: '订单状态',
|
||||||
// dataIndex: 'status',
|
dataIndex: 'orderStatus',
|
||||||
// key: 'status',
|
key: 'orderStatus',
|
||||||
// align: 'center'
|
align: 'center'
|
||||||
// },
|
},
|
||||||
{
|
{
|
||||||
title: '创建时间',
|
title: '创建时间',
|
||||||
dataIndex: 'createTime',
|
dataIndex: 'createTime',
|
||||||
@@ -201,14 +227,14 @@
|
|||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
customRender: ({ text }) => toDateString(text, 'yyyy-MM-dd HH:mm:ss')
|
customRender: ({ text }) => toDateString(text, 'yyyy-MM-dd HH:mm:ss')
|
||||||
},
|
},
|
||||||
// {
|
{
|
||||||
// title: '操作',
|
title: '操作',
|
||||||
// key: 'action',
|
key: 'action',
|
||||||
// width: 180,
|
width: 90,
|
||||||
// fixed: 'right',
|
fixed: 'right',
|
||||||
// align: 'center',
|
align: 'center',
|
||||||
// hideInSetting: true
|
hideInSetting: true
|
||||||
// }
|
}
|
||||||
]);
|
]);
|
||||||
|
|
||||||
/* 搜索 */
|
/* 搜索 */
|
||||||
|
|||||||
Reference in New Issue
Block a user