feat: 订单管理开发

This commit is contained in:
zc 2025-11-12 21:23:32 +08:00
parent 76fce7bb8b
commit 566f9fb9ef
9 changed files with 154 additions and 33 deletions

11
src/api/buyer.ts Normal file
View File

@ -0,0 +1,11 @@
const buyer = {
/**
*
*/
getBuyerList: ['/buyer/list'], // 买家列表
packOrder: ['/promoter/list'], // 买家推荐的所有用户
unpackOrder: ['/order/unpack'], // 取消打包
finishDeliver: ['/order/delivered'] // 妥投
}
export default buyer

View File

@ -2,11 +2,13 @@ import request from '@/utils/request'
import login from './login'
import commodity from './commodity'
import resource from './resource'
import order from './order'
const totalApiConfig = {
login,
commodity,
resource
resource,
order
}
Object.values(totalApiConfig).forEach((apiConfig) => {

View File

@ -3,9 +3,9 @@ const order = {
*
*/
getOrderList: ['/order/list'], // 获取订单管理
packOrder: ['/order/topack'], // 打包
packOrder: ['/order/pack'], // 打包
unpackOrder: ['/order/unpack'], // 取消打包
unpackOrder: ['/order/delivered'] // 妥投
finishDeliver: ['/order/delivered'] // 妥投
}
export default order

View File

@ -16,24 +16,6 @@ export default [
modifyTime: '2024-07-15 15:45:58',
tag: null,
childList: [
/* {
id: 38,
resourceName: '首页商品',
resourceType: 1,
resourceCode: null,
path: '/goods/home-goods/index',
pid: 37,
resourceDesc: null,
tenantId: 2,
icon: '',
isCache: 1,
visible: 0,
sort: '1',
createTime: '2024-06-19 17:33:29',
modifyTime: '2024-06-19 17:56:01',
tag: null,
childList: []
}, */
{
id: 39,
resourceName: '商品管理',
@ -143,7 +125,7 @@ export default [
tag: null,
childList: []
}
/* {
/* {
id: 42,
resourceName: '协议模板',
resourceType: 1,
@ -160,15 +142,15 @@ export default [
modifyTime: '2024-06-20 10:47:03',
tag: null,
childList: []
}
} */
]
},
{
id: 43,
resourceName: '客户管理',
resourceName: '订单管理',
resourceType: 0,
resourceCode: null,
path: '/customer',
path: '/order',
pid: 0,
resourceDesc: null,
tenantId: 2,
@ -182,10 +164,10 @@ export default [
childList: [
{
id: 44,
resourceName: '客户信息查询',
resourceName: '订单列表',
resourceType: 1,
resourceCode: null,
path: '/customer/userInfo/index',
path: '/order/list/index',
pid: 43,
resourceDesc: null,
tenantId: 2,
@ -197,8 +179,26 @@ export default [
modifyTime: '2024-09-10 16:17:41',
tag: null,
childList: []
},
{
}
/*
{
id: 38,
resourceName: '首页商品',
resourceType: 1,
resourceCode: null,
path: '/goods/home-goods/index',
pid: 43,
resourceDesc: null,
tenantId: 2,
icon: '',
isCache: 1,
visible: 0,
sort: '1',
createTime: '2024-06-19 17:33:29',
modifyTime: '2024-06-19 17:56:01',
tag: null,
childList: []
}, {
id: 45,
resourceName: '客户详情',
resourceType: 1,
@ -449,7 +449,7 @@ export default [
modifyTime: '2025-06-12 18:54:01',
tag: null,
childList: []
}*/
} */
]
}
/* {

View File

@ -399,7 +399,7 @@ const onSubmit = () => {
adminCategoryData.value,
skuList.value
)
// if (msg) return ElMessage.error(msg)
if (msg) return ElMessage.error(msg)
const params = handleGetSubmitParams(
route.query.type === 'add',
$dialog.value.data,

View File

@ -72,7 +72,7 @@ export const handleValidFormData = (
if (adminCategoryData.length === 0) {
return '请添加商品属性'
}
let msg = ''
/* let msg = ''
skuList.some((item) => {
const nameMap = {
stock: '库存',
@ -94,7 +94,7 @@ export const handleValidFormData = (
}
return msg
})
if (msg) return msg
if (msg) return msg */
return ''
}

View File

View File

@ -0,0 +1,36 @@
export const orderStatusOptions = [
{ label: '待支付', value: 'wait_pay' },
{ label: '待发货', value: 'wait_shipping' },
{ label: '已经发货', value: 'shipping' },
{ label: '已接收', value: 'delivered' },
{ label: '全部退款', value: 'all_refund' },
{ label: '部分退款', value: 'part_refund' }
]
const configData = ref()
export const initConfig = () => {
configData.value = pageConfig({
search: {
tradeorderIds: { label: '订单号' },
status: { label: '状态', el: 'select', options: orderStatusOptions }
},
table: {
index: { label: '序号' },
id: { label: '订单ID' },
tradeorderIds: { label: '订单号' },
productName: { label: '商品名称' },
buyerId: { label: '买家ID' },
status: {
label: '状态',
formatter: (row: any) => orderStatusOptions.find((item) => item.value === row.status)?.label
},
reverseStatus: { label: '逆向状态' },
btn: {
types: ['primary', 'warning', 'danger', 'success'],
names: ['详情', '打包并发货', '取消打包', '妥投'],
width: 230
}
}
})
return configData
}

View File

@ -0,0 +1,72 @@
<template>
<div>
<div id="order-list">
<search-module :search="search" :table="table" />
<table-module :table="table">
<template #status="{ row }">
<el-switch
v-model="row.status"
:active-value="'online'"
:inactive-value="'down'"
size="small"
/>
</template>
</table-module>
</div>
</div>
</template>
<script lang="ts" setup>
import { initConfig } from './config'
/** 打包 */
const onPack = async (row: any) => {
handleMessageBox({
msg: `是否确认打包?`,
success: api.order.packOrder.post!,
data: { id: row.id }
}).then(() => {
table.value.$onGetData(table.value, 1)
})
}
//
const onCancelPack = (row: any) => {
handleMessageBox({
msg: `是否确认取消打包?`,
success: api.order.unpackOrder.post!,
data: { id: row.id }
}).then(() => {
table.value.$onGetData(table.value, 1)
})
}
//
const onFinishDeliver = (row: any) => {
handleMessageBox({
msg: `是否确认妥投?`,
success: api.order.finishDeliver.post!,
data: { id: row.id }
}).then(() => {
table.value.$onGetData(table.value, 1)
})
}
const router = useRouter()
const onGoDetail = (row: any) => {
router.push({ path: '/order/detail/index', query: { id: row.id } })
}
/** 初始化页面 */
const ConfigData = initConfig()
const { search, table } = handleInit(ConfigData, api.order.getOrderList.post, [
onGoDetail,
onPack,
onCancelPack,
onFinishDeliver
])
table.value.$onGetData(table.value, 1)
/** 页面缓存 */
defineOptions({ name: 'OrderList' })
</script>