add:新增同一个工单同一人可以多次拼单:拼单明细ui优化

This commit is contained in:
2026-10-23 17:45:05 +08:00
parent 7e1e1f7075
commit f9aeece7ab
19 changed files with 1037 additions and 22 deletions
@@ -7,7 +7,9 @@ import {
cancelAdminWorkOrderSharing,
deductAdminWorkOrderPendingDeposit,
markAdminWorkOrderProblem,
markAdminWorkOrderShareProblem,
resolveAdminProblemWorkOrder,
disposeAdminWorkOrderShareProblem,
} from '../../../services/worker-platform/index.js'
import { createJsonHandler, requireAdminPermission, requireAnyAdminPermission } from '../session.js'
@@ -161,6 +163,58 @@ router.post(
),
)
// 份额级问题单:只影响该份额持有人,母单状态不变。
router.post(
'/worker-platform/orders/:workOrderId/shares/:shareId/problem',
requireAdminPermission('worker_order.manage_problem'),
createJsonHandler(
(req) =>
markAdminWorkOrderShareProblem(
String(req.params.workOrderId || ''),
String(req.params.shareId || ''),
req.body || {},
req.adminSession?.displayName || req.adminSession?.username || '',
),
{
successMessage: '该份额已标记为问题单,仅影响该打手',
errorMessage: '标记份额问题单失败',
scope: '[admin/worker-platform/orders/:workOrderId/shares/:shareId/problem]',
audit: (req, data) => ({
action: 'work_order_share_marked_problem',
targetType: 'work_order_share',
targetId: String(req.params.shareId || ''),
data: data && typeof data === 'object' ? (data as Record<string, unknown>) : {},
}),
},
),
)
// 份额级问题单处置:处置方式与母单一致,但只作用于这一份份额,母单状态不变。
router.post(
'/worker-platform/orders/:workOrderId/shares/:shareId/problem/dispose',
requireAdminPermission('worker_order.manage_problem'),
createJsonHandler(
(req) =>
disposeAdminWorkOrderShareProblem(
String(req.params.workOrderId || ''),
String(req.params.shareId || ''),
req.body || {},
req.adminSession?.displayName || req.adminSession?.username || '',
),
{
successMessage: '该份额问题单已处置',
errorMessage: '处置份额问题单失败',
scope: '[admin/worker-platform/orders/:workOrderId/shares/:shareId/problem/dispose]',
audit: (req, data) => ({
action: 'work_order_share_problem_disposed',
targetType: 'work_order_share',
targetId: String(req.params.shareId || ''),
data: data && typeof data === 'object' ? (data as Record<string, unknown>) : {},
}),
},
),
)
router.post(
'/worker-platform/orders/:workOrderId/deduct-pending-deposit',
requireAdminPermission('worker_order.deduct_deposit'),