指派工单时自动核销电子凭证

This commit is contained in:
yml2213
2026-08-16 16:59:02 +08:00
parent e641064b63
commit 8705f6a6a1
5 changed files with 164 additions and 37 deletions
@@ -275,7 +275,10 @@ export default function WorkOrdersPanel() {
assignAdminWorkOrderToWorker(assignOrder.workOrderId, {
workerId: assignWorkerId,
}),
'已指派打手',
(response) =>
response.data.voucherConsume.voucherCount > 0
? '电子凭证已自动核销,订单已指派给打手'
: '已指派打手',
)
if (!succeeded) return
setAssignOrder(null)
@@ -810,7 +813,7 @@ export default function WorkOrdersPanel() {
) : null}
{['unassigned', 'open'].includes(row.status) ? (
<Button icon={<UserAddOutlined />} onClick={() => openAssignModal(row)}>
</Button>
) : null}
{row.status === 'in_progress' && row.worker ? (
@@ -1567,14 +1570,14 @@ export default function WorkOrdersPanel() {
setAssignWorkerId(undefined)
}}
onOk={() => submitAssign()}
okText="确认指派"
okText="指派并核销"
okButtonProps={{ disabled: !assignWorkerId }}
destroyOnHidden
width={520}
>
<Space direction="vertical" size={12} className="full-width">
<Typography.Paragraph type="secondary">
</Typography.Paragraph>
<Select
style={{ width: '100%' }}
@@ -12,6 +12,16 @@ import type {
WorkerUser,
} from '@/types/worker-platform'
type WorkOrderVoucherConsumeResult = {
ok: boolean
voucherCount: number
consumedCount: number
alreadyConsumedCount: number
failedCount: number
voucherCodes: string[]
errorMessage: string
}
export function fetchAdminWorkerPlatformSummary() {
return apiGet<{
pendingWorkerCount: number
@@ -137,7 +147,10 @@ export function assignAdminWorkOrderToWorker(
workOrderId: number,
payload: { workerId: number },
) {
return apiPost<{ order: WorkOrder }>(
return apiPost<{
order: WorkOrder
voucherConsume: WorkOrderVoucherConsumeResult
}>(
`/api/v1/admin/worker-platform/orders/${workOrderId}/assign`,
payload,
)
@@ -249,15 +262,7 @@ export function submitAdminWorkOrderMaterial(
export function publishAdminWorkOrder(workOrderId: number) {
return apiPost<{
order: WorkOrder
voucherConsume: {
ok: boolean
voucherCount: number
consumedCount: number
alreadyConsumedCount: number
failedCount: number
voucherCodes: string[]
errorMessage: string
}
voucherConsume: WorkOrderVoucherConsumeResult
}>(
`/api/v1/admin/worker-platform/orders/${workOrderId}/publish`,
)