feat: 支持取消指派打手,可重新指派他人
- 后台可取消进行中订单的指派:订单回未分配,冻结押金全额退还,记录事件与审计 - 工单列表新增「取消指派」按钮(带确认弹窗),客服/管理员/运营可用 - 取消后可重新指派给其他打手
This commit is contained in:
@@ -8,6 +8,7 @@ import {
|
||||
SearchOutlined,
|
||||
SendOutlined,
|
||||
TeamOutlined,
|
||||
UndoOutlined,
|
||||
UserAddOutlined,
|
||||
WarningOutlined,
|
||||
} from '@ant-design/icons'
|
||||
@@ -45,6 +46,7 @@ import {
|
||||
acceptAdminWorkOrder,
|
||||
assignAdminWorkOrderToWorker,
|
||||
createAdminMockWorkOrder,
|
||||
unassignAdminWorkOrder,
|
||||
creditAdminWorkerWallet,
|
||||
deductAdminWorkOrderPendingDeposit,
|
||||
deleteAdminWorkCategory,
|
||||
@@ -650,6 +652,35 @@ export default function WorkOrdersPanel() {
|
||||
指派
|
||||
</Button>
|
||||
) : null}
|
||||
{row.status === 'in_progress' && row.worker ? (
|
||||
<Button
|
||||
danger
|
||||
icon={<UndoOutlined />}
|
||||
onClick={() => {
|
||||
const assignedWorker = row.worker
|
||||
if (!assignedWorker) return
|
||||
modal.confirm({
|
||||
title: '取消指派该打手?',
|
||||
content: (
|
||||
<span>
|
||||
将 {assignedWorker.displayName || assignedWorker.username} 的接单撤回,订单回到未分配,
|
||||
可重新指派给其他打手;冻结押金将退还。
|
||||
</span>
|
||||
),
|
||||
okText: '确认取消指派',
|
||||
cancelText: '取消',
|
||||
okButtonProps: { danger: true },
|
||||
onOk: () =>
|
||||
runAction(
|
||||
() => unassignAdminWorkOrder(row.workOrderId),
|
||||
'已取消指派',
|
||||
),
|
||||
})
|
||||
}}
|
||||
>
|
||||
取消指派
|
||||
</Button>
|
||||
) : null}
|
||||
{row.status === 'pending_material' ? (
|
||||
<Button
|
||||
icon={<FormOutlined />}
|
||||
|
||||
@@ -143,6 +143,12 @@ export function assignAdminWorkOrderToWorker(
|
||||
)
|
||||
}
|
||||
|
||||
export function unassignAdminWorkOrder(workOrderId: number) {
|
||||
return apiPost<{ order: WorkOrder }>(
|
||||
`/api/v1/admin/worker-platform/orders/${workOrderId}/unassign`,
|
||||
)
|
||||
}
|
||||
|
||||
export function creditAdminWorkerWallet(
|
||||
workerId: number,
|
||||
payload: { amount: number; note?: string },
|
||||
|
||||
Reference in New Issue
Block a user