feat(collect): 补资料改为订单号直连并按状态一次性提交

- 公开补资料页 /supplement/:订单号 直接按平台订单号查询,不再依赖链接记录;旧 token 链接一律 404
- 仅「待完善 + 未指派 + 无拼单份额」可提交,提交后状态变为待分配,重复提交返回 409
- 非可编辑工单只返回商品、工单号、状态与客服提示,不返回已填资料和截图
- 管理端新增「重置补资料」:待分配且未指派、无份额、未发布时一键重置回待完善
- 新增 canResetMaterial 能力与 material_reset 流转事件,工单状态文案统一为「待分配」
This commit is contained in:
2026-11-01 18:12:44 +08:00
parent aed76e047e
commit a2cf48f5fc
24 changed files with 1223 additions and 494 deletions
@@ -23,6 +23,7 @@ import {
reopenAdminCancelledWorkOrder,
reprocessAdminKuaishouSendCodeWorkOrders,
resetAdminWorkOrderGiftMaterial,
resetAdminWorkOrderMaterialStatus,
submitAdminWorkOrderMaterial,
unassignAdminWorkOrder,
unpublishAdminWorkOrder,
@@ -216,6 +217,29 @@ router.post(
),
)
router.post(
'/worker-platform/orders/:workOrderId/reset-material',
requireAdminPermission('worker_order.update_material'),
createJsonHandler(
(req) =>
resetAdminWorkOrderMaterialStatus(
String(req.params.workOrderId || ''),
req.adminSession?.displayName || req.adminSession?.username || '',
),
{
successMessage: '补资料状态已重置为待完善',
errorMessage: '重置补资料状态失败',
scope: '[admin/worker-platform/orders/:workOrderId/reset-material]',
audit: (req) => ({
action: 'work_order_material_reset',
targetType: 'work_order',
targetId: String(req.params.workOrderId || ''),
data: {},
}),
},
),
)
router.put(
'/worker-platform/orders/:workOrderId',
requireAdminPermission('worker_order.edit'),