feat: 支持取消指派打手,可重新指派他人

- 后台可取消进行中订单的指派:订单回未分配,冻结押金全额退还,记录事件与审计
- 工单列表新增「取消指派」按钮(带确认弹窗),客服/管理员/运营可用
- 取消后可重新指派给其他打手
This commit is contained in:
yml2213
2026-08-15 13:48:32 +08:00
parent d44c6039ea
commit 21211bd760
5 changed files with 182 additions and 0 deletions
@@ -3,6 +3,7 @@ import { Router } from 'express'
import {
acceptAdminWorkOrder,
assignAdminWorkOrderToWorker,
unassignAdminWorkOrder,
creditAdminWorkerWallet,
createAdminMockWorkOrder,
deductAdminWorkOrderPendingDeposit,
@@ -361,6 +362,22 @@ router.post(
),
)
router.post(
'/worker-platform/orders/:workOrderId/unassign',
requireAdminRoles(['admin', 'operator', 'support']),
createJsonHandler((req) => unassignAdminWorkOrder(String(req.params.workOrderId || '')), {
successMessage: '已取消指派',
errorMessage: '取消指派失败',
scope: '[admin/worker-platform/orders/:workOrderId/unassign]',
audit: (req, data) => ({
action: 'work_order_worker_unassigned',
targetType: 'work_order',
targetId: String(req.params.workOrderId || ''),
data: data && typeof data === 'object' ? (data as Record<string, unknown>) : {},
}),
}),
)
router.delete(
'/worker-platform/orders/:workOrderId',
requireAdminRoles(['admin', 'operator']),