2025-12-26 14:45:11 +08:00
|
|
|
import { addOrder, updateOrder } from '@/api/crm/order'
|
|
|
|
|
import { addOrderItem, updateOrderItem } from '@/api/crm/orderItem'
|
|
|
|
|
import { ORDER_STATUS, PRE_ORDER_STATUS, ORDER_TYPE } from './enum'
|
|
|
|
|
import { addOrderOperationTrace } from '@/api/crm/orderOperationTrace'
|
|
|
|
|
|
2025-12-16 09:27:37 +08:00
|
|
|
// 需要被记录的操作
|
2025-12-26 14:45:11 +08:00
|
|
|
const ORDER_ACTIONS = {
|
|
|
|
|
createPreOrder: 'createPreOrder',
|
|
|
|
|
updatePreOrder: 'updatePreOrder',
|
|
|
|
|
approvePreOrder: 'approvePreOrder',
|
|
|
|
|
createOrder: 'createOrder',
|
|
|
|
|
updateOrder: 'updateOrder',
|
|
|
|
|
createOrderdetail: 'createOrderdetail',
|
|
|
|
|
updateOrderdetail: 'updateOrderdetail',
|
|
|
|
|
}
|
|
|
|
|
|
2025-12-16 09:27:37 +08:00
|
|
|
const actions = {
|
|
|
|
|
// 创建预订单
|
|
|
|
|
createPreOrder: {
|
|
|
|
|
type: 'createPreOrder',
|
|
|
|
|
name: '创建预订单',
|
|
|
|
|
description: '创建一个预订单',
|
|
|
|
|
// 预订单的相关信息
|
2025-12-26 14:45:11 +08:00
|
|
|
async handler(payload) {
|
|
|
|
|
const { data: order } = await addOrder({
|
|
|
|
|
...payload,
|
|
|
|
|
})
|
|
|
|
|
if (order.orderId) {
|
|
|
|
|
addOrderOperationTrace({
|
|
|
|
|
orderId: order.orderId,
|
|
|
|
|
operationType: ORDER_ACTIONS.createPreOrder,
|
|
|
|
|
newStatus: order.orderId,
|
|
|
|
|
operationContent: JSON.stringify(payload)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
return order
|
2025-12-16 09:27:37 +08:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
// 修改预订单
|
2025-12-26 14:45:11 +08:00
|
|
|
updatePreOrder: {
|
|
|
|
|
type: 'updatePreOrder',
|
|
|
|
|
name: '修改预订单',
|
|
|
|
|
description: '修改预订单的相关信息',
|
|
|
|
|
// 预订单的相关信息
|
|
|
|
|
async handler(payload) {
|
|
|
|
|
await updateOrder({
|
|
|
|
|
...payload,
|
|
|
|
|
})
|
2025-12-16 09:27:37 +08:00
|
|
|
|
2025-12-26 14:45:11 +08:00
|
|
|
addOrderOperationTrace({
|
|
|
|
|
orderId: payload.orderId,
|
|
|
|
|
operationType: ORDER_ACTIONS.updatePreOrder,
|
|
|
|
|
newStatus: payload.orderId,
|
|
|
|
|
operationContent: JSON.stringify(payload)
|
|
|
|
|
})
|
2025-12-16 09:27:37 +08:00
|
|
|
|
2025-12-26 14:45:11 +08:00
|
|
|
return payload
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
// 创建订单明细
|
|
|
|
|
createOrderdetail: {
|
|
|
|
|
type: 'createOrderdetail',
|
|
|
|
|
name: '创建订单明细',
|
|
|
|
|
description: '创建订单明细的相关信息',
|
|
|
|
|
// 订单明细的相关信息
|
|
|
|
|
async handler(payload) {
|
|
|
|
|
const { data: orderItem } = await addOrderItem({
|
|
|
|
|
...payload,
|
|
|
|
|
})
|
|
|
|
|
if (orderItem.orderItemId) {
|
|
|
|
|
addOrderOperationTrace({
|
|
|
|
|
orderId: orderItem.orderId,
|
|
|
|
|
operationType: ORDER_ACTIONS.createOrderdetail,
|
|
|
|
|
newStatus: payload.orderItemId,
|
|
|
|
|
operationContent: JSON.stringify(payload)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
return orderItem
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
// 修改订单明细
|
|
|
|
|
updateOrderdetail: {
|
|
|
|
|
type: 'updateOrderdetail',
|
|
|
|
|
name: '修改订单明细',
|
|
|
|
|
description: '修改订单明细的相关信息',
|
|
|
|
|
// 订单明细的相关信息
|
|
|
|
|
async handler(payload) {
|
|
|
|
|
await updateOrderItem({
|
|
|
|
|
...payload,
|
|
|
|
|
})
|
|
|
|
|
addOrderOperationTrace({
|
|
|
|
|
orderId: payload.orderId,
|
|
|
|
|
operationType: ORDER_ACTIONS.updateOrderdetail,
|
|
|
|
|
newStatus: payload.orderItemId,
|
|
|
|
|
operationContent: JSON.stringify(payload)
|
|
|
|
|
})
|
2025-12-16 09:27:37 +08:00
|
|
|
|
2025-12-26 14:45:11 +08:00
|
|
|
return payload
|
|
|
|
|
}
|
|
|
|
|
},
|
2025-12-16 09:27:37 +08:00
|
|
|
|
2025-12-26 14:45:11 +08:00
|
|
|
// 预订单审批为正式订单
|
|
|
|
|
approvePreOrder: {
|
|
|
|
|
type: 'approvePreOrder',
|
|
|
|
|
name: '审批预订单',
|
|
|
|
|
description: '审批预订单为正式订单',
|
|
|
|
|
// 预订单的相关信息
|
|
|
|
|
async handler(payload) {
|
|
|
|
|
await updateOrder({
|
|
|
|
|
...payload,
|
|
|
|
|
})
|
|
|
|
|
if (payload.orderId) {
|
|
|
|
|
addOrderOperationTrace({
|
|
|
|
|
orderId: payload.orderId,
|
|
|
|
|
operationType: ORDER_ACTIONS.approvePreOrder,
|
|
|
|
|
newStatus: payload.orderId,
|
|
|
|
|
operationContent: JSON.stringify(payload)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
return payload
|
|
|
|
|
}
|
|
|
|
|
},
|
2025-12-16 09:27:37 +08:00
|
|
|
// 直接创建正式订单
|
2025-12-26 14:45:11 +08:00
|
|
|
createOrder: {
|
|
|
|
|
type: 'createOrder',
|
|
|
|
|
name: '创建正式订单',
|
|
|
|
|
description: '直接创建一个正式订单',
|
|
|
|
|
// 正式订单的相关信息
|
|
|
|
|
async handler(payload) {
|
|
|
|
|
const { data: order } = await addOrder({
|
|
|
|
|
...payload,
|
|
|
|
|
})
|
|
|
|
|
if (order.orderId) {
|
|
|
|
|
addOrderOperationTrace({
|
|
|
|
|
orderId: order.orderId,
|
|
|
|
|
operationType: ORDER_ACTIONS.createOrder,
|
|
|
|
|
newStatus: order.orderId,
|
|
|
|
|
operationContent: JSON.stringify(payload)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
return order
|
|
|
|
|
}
|
|
|
|
|
},
|
2025-12-16 09:27:37 +08:00
|
|
|
// 正式订单修改
|
2025-12-26 14:45:11 +08:00
|
|
|
updateOrder: {
|
|
|
|
|
type: 'updateOrder',
|
|
|
|
|
name: '修改正式订单',
|
|
|
|
|
description: '修改正式订单的相关信息',
|
|
|
|
|
// 正式订单的相关信息
|
|
|
|
|
async handler(payload) {
|
|
|
|
|
await updateOrder({
|
|
|
|
|
...payload,
|
|
|
|
|
})
|
|
|
|
|
if (payload.orderId) {
|
|
|
|
|
addOrderOperationTrace({
|
|
|
|
|
orderId: payload.orderId,
|
|
|
|
|
operationType: ORDER_ACTIONS.updateOrder,
|
|
|
|
|
newStatus: payload.orderId,
|
|
|
|
|
operationContent: JSON.stringify(payload)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
return payload
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-12-16 09:27:37 +08:00
|
|
|
|
2025-12-26 14:45:11 +08:00
|
|
|
export {
|
|
|
|
|
ORDER_ACTIONS,
|
|
|
|
|
actions,
|
2025-12-16 09:27:37 +08:00
|
|
|
}
|