feat: 订单管理开发
This commit is contained in:
parent
76fce7bb8b
commit
566f9fb9ef
11
src/api/buyer.ts
Normal file
11
src/api/buyer.ts
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
const buyer = {
|
||||||
|
/**
|
||||||
|
* 买家管理
|
||||||
|
*/
|
||||||
|
getBuyerList: ['/buyer/list'], // 买家列表
|
||||||
|
packOrder: ['/promoter/list'], // 买家推荐的所有用户
|
||||||
|
unpackOrder: ['/order/unpack'], // 取消打包
|
||||||
|
finishDeliver: ['/order/delivered'] // 妥投
|
||||||
|
}
|
||||||
|
|
||||||
|
export default buyer
|
||||||
@ -2,11 +2,13 @@ import request from '@/utils/request'
|
|||||||
import login from './login'
|
import login from './login'
|
||||||
import commodity from './commodity'
|
import commodity from './commodity'
|
||||||
import resource from './resource'
|
import resource from './resource'
|
||||||
|
import order from './order'
|
||||||
|
|
||||||
const totalApiConfig = {
|
const totalApiConfig = {
|
||||||
login,
|
login,
|
||||||
commodity,
|
commodity,
|
||||||
resource
|
resource,
|
||||||
|
order
|
||||||
}
|
}
|
||||||
|
|
||||||
Object.values(totalApiConfig).forEach((apiConfig) => {
|
Object.values(totalApiConfig).forEach((apiConfig) => {
|
||||||
|
|||||||
@ -3,9 +3,9 @@ const order = {
|
|||||||
* 订单管理
|
* 订单管理
|
||||||
*/
|
*/
|
||||||
getOrderList: ['/order/list'], // 获取订单管理
|
getOrderList: ['/order/list'], // 获取订单管理
|
||||||
packOrder: ['/order/topack'], // 打包
|
packOrder: ['/order/pack'], // 打包
|
||||||
unpackOrder: ['/order/unpack'], // 取消打包
|
unpackOrder: ['/order/unpack'], // 取消打包
|
||||||
unpackOrder: ['/order/delivered'] // 妥投
|
finishDeliver: ['/order/delivered'] // 妥投
|
||||||
}
|
}
|
||||||
|
|
||||||
export default order
|
export default order
|
||||||
|
|||||||
@ -16,24 +16,6 @@ export default [
|
|||||||
modifyTime: '2024-07-15 15:45:58',
|
modifyTime: '2024-07-15 15:45:58',
|
||||||
tag: null,
|
tag: null,
|
||||||
childList: [
|
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,
|
id: 39,
|
||||||
resourceName: '商品管理',
|
resourceName: '商品管理',
|
||||||
@ -143,7 +125,7 @@ export default [
|
|||||||
tag: null,
|
tag: null,
|
||||||
childList: []
|
childList: []
|
||||||
}
|
}
|
||||||
/* {
|
/* {
|
||||||
id: 42,
|
id: 42,
|
||||||
resourceName: '协议模板',
|
resourceName: '协议模板',
|
||||||
resourceType: 1,
|
resourceType: 1,
|
||||||
@ -160,15 +142,15 @@ export default [
|
|||||||
modifyTime: '2024-06-20 10:47:03',
|
modifyTime: '2024-06-20 10:47:03',
|
||||||
tag: null,
|
tag: null,
|
||||||
childList: []
|
childList: []
|
||||||
}
|
} */
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 43,
|
id: 43,
|
||||||
resourceName: '客户管理',
|
resourceName: '订单管理',
|
||||||
resourceType: 0,
|
resourceType: 0,
|
||||||
resourceCode: null,
|
resourceCode: null,
|
||||||
path: '/customer',
|
path: '/order',
|
||||||
pid: 0,
|
pid: 0,
|
||||||
resourceDesc: null,
|
resourceDesc: null,
|
||||||
tenantId: 2,
|
tenantId: 2,
|
||||||
@ -182,10 +164,10 @@ export default [
|
|||||||
childList: [
|
childList: [
|
||||||
{
|
{
|
||||||
id: 44,
|
id: 44,
|
||||||
resourceName: '客户信息查询',
|
resourceName: '订单列表',
|
||||||
resourceType: 1,
|
resourceType: 1,
|
||||||
resourceCode: null,
|
resourceCode: null,
|
||||||
path: '/customer/userInfo/index',
|
path: '/order/list/index',
|
||||||
pid: 43,
|
pid: 43,
|
||||||
resourceDesc: null,
|
resourceDesc: null,
|
||||||
tenantId: 2,
|
tenantId: 2,
|
||||||
@ -197,8 +179,26 @@ export default [
|
|||||||
modifyTime: '2024-09-10 16:17:41',
|
modifyTime: '2024-09-10 16:17:41',
|
||||||
tag: null,
|
tag: null,
|
||||||
childList: []
|
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,
|
id: 45,
|
||||||
resourceName: '客户详情',
|
resourceName: '客户详情',
|
||||||
resourceType: 1,
|
resourceType: 1,
|
||||||
@ -449,7 +449,7 @@ export default [
|
|||||||
modifyTime: '2025-06-12 18:54:01',
|
modifyTime: '2025-06-12 18:54:01',
|
||||||
tag: null,
|
tag: null,
|
||||||
childList: []
|
childList: []
|
||||||
}*/
|
} */
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
/* {
|
/* {
|
||||||
|
|||||||
@ -399,7 +399,7 @@ const onSubmit = () => {
|
|||||||
adminCategoryData.value,
|
adminCategoryData.value,
|
||||||
skuList.value
|
skuList.value
|
||||||
)
|
)
|
||||||
// if (msg) return ElMessage.error(msg)
|
if (msg) return ElMessage.error(msg)
|
||||||
const params = handleGetSubmitParams(
|
const params = handleGetSubmitParams(
|
||||||
route.query.type === 'add',
|
route.query.type === 'add',
|
||||||
$dialog.value.data,
|
$dialog.value.data,
|
||||||
|
|||||||
@ -72,7 +72,7 @@ export const handleValidFormData = (
|
|||||||
if (adminCategoryData.length === 0) {
|
if (adminCategoryData.length === 0) {
|
||||||
return '请添加商品属性'
|
return '请添加商品属性'
|
||||||
}
|
}
|
||||||
let msg = ''
|
/* let msg = ''
|
||||||
skuList.some((item) => {
|
skuList.some((item) => {
|
||||||
const nameMap = {
|
const nameMap = {
|
||||||
stock: '库存',
|
stock: '库存',
|
||||||
@ -94,7 +94,7 @@ export const handleValidFormData = (
|
|||||||
}
|
}
|
||||||
return msg
|
return msg
|
||||||
})
|
})
|
||||||
if (msg) return msg
|
if (msg) return msg */
|
||||||
return ''
|
return ''
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
0
src/views/order/detail/index.vue
Normal file
0
src/views/order/detail/index.vue
Normal file
36
src/views/test/demo/config.ts
Normal file
36
src/views/test/demo/config.ts
Normal 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
|
||||||
|
}
|
||||||
72
src/views/test/demo/index.vue
Normal file
72
src/views/test/demo/index.vue
Normal 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>
|
||||||
Loading…
x
Reference in New Issue
Block a user