修复拼单工单打手展示

This commit is contained in:
yml2213
2026-08-19 19:31:55 +08:00
parent df90b67d8e
commit f1575aec85
6 changed files with 83 additions and 7 deletions
@@ -793,7 +793,7 @@ export default function WorkOrdersPanel() {
{
title: '打手',
width: 140,
render: (_, row) => row.worker?.displayName || row.worker?.username || '-',
render: (_, row) => renderWorkOrderWorkers(row),
},
{
title: '资料',
@@ -1125,7 +1125,7 @@ export default function WorkOrdersPanel() {
</Tag>
</Descriptions.Item>
<Descriptions.Item label="打手">
{detailOrder.worker?.displayName || detailOrder.worker?.username || '-'}
{renderWorkOrderWorkers(detailOrder)}
</Descriptions.Item>
<Descriptions.Item label="接单金额">
{formatMoney(detailOrder.rewardAmount)}
@@ -1928,6 +1928,24 @@ function formatUserPaymentAmount(order: WorkOrder): string {
return paymentFen === null ? '-' : formatMoney(paymentFen)
}
/** 拼单母单没有单一 assigned worker,改为展示当前参与打手及其承接份数。 */
function renderWorkOrderWorkers(order: WorkOrder) {
if (order.worker) return order.worker.displayName || order.worker.username || '-'
if (!order.sharing?.enabled || !order.sharingWorkers?.length) return '-'
const names = order.sharingWorkers
.map((worker) => worker.displayName || worker.username || `打手#${worker.workerId}`)
.join('、')
const quantity = order.sharingWorkers.reduce((sum, worker) => sum + Number(worker.quantity || 0), 0)
return (
<div className="cell-stack">
<Typography.Text ellipsis={{ tooltip: names }}>{names}</Typography.Text>
<Typography.Text type="secondary" style={{ fontSize: 12 }}>
{order.sharingWorkers.length} · {quantity}
</Typography.Text>
</div>
)
}
function getDisplayOrderNo(order: Pick<WorkOrder, 'platformOrderId'> | null | undefined): string {
return String(order?.platformOrderId || '').trim() || '-'
}
@@ -400,6 +400,13 @@ export type WorkOrder = {
username: string
displayName: string
}
/** 拼单订单的当前参与打手,普通整单不返回该字段。 */
sharingWorkers?: Array<{
workerId: number
username: string
displayName: string
quantity: number
}>
publishedAt: string | null
/** 置顶时间;非空表示该工单在抢单大厅置顶展示 */
pinnedAt?: string | null