feat(order): 精准区分自动直发与接单平台打手履约,智能门控H5直充按钮

- 后端增加按订单批量关联接单工单查询,精准识别履约类型(自动直发 / 打手履约 / 电子凭证 / 拼多多发货)
- 订单列表与详情页中,仅当订单为自动直发(affiliate_dash / 码速达直充)时展示【H5】一键复制直充链接与兑换状态控制
- 接单平台工单单与纯核销单隐藏直充 H5 按钮与兑换暂停/关闭标签,防止客服向打手单买家误发直充链接
- 交付模式标签升级为「⚡ 自动直发」、「👥 打手履约」、「🎫 电子凭证」、「📦 拼多多发货」

验证方式:前端类型检查与打包构建通过,全量 132 项前端单测与 674 项后端单测全部通过
This commit is contained in:
yml2213
2026-10-10 19:44:20 +08:00
parent 9a6b4313a8
commit 748c18bc7d
8 changed files with 237 additions and 79 deletions
+19 -6
View File
@@ -221,21 +221,34 @@ export function resolveOrderPlatformBadge(row: {
export function resolveOrderFulfillmentMode(row: {
provider?: string
platform?: string
fulfillmentType?: 'auto_claim' | 'worker_dispatch' | 'voucher_only' | 'manual'
workOrderCount?: number
canClaimH5?: boolean
taskCount?: number
}): { label: string; color: string } {
const provider = String(row.provider || '').toLowerCase()
if (provider === 'douyin_mashida') {
return { label: 'H5直绑', color: 'blue' }
if (row.canClaimH5 || row.fulfillmentType === 'auto_claim' || provider === 'douyin_mashida') {
return { label: '⚡ 自动直发', color: 'blue' }
}
if (provider === 'kuaishou_industry' || provider === '91kaquan' || provider === 'open_91') {
return { label: '电子凭证', color: 'gold' }
if (row.fulfillmentType === 'worker_dispatch' || Number(row.workOrderCount || 0) > 0) {
return { label: '👥 打手履约', color: 'purple' }
}
if (
provider === 'kuaishou_industry' ||
provider === '91kaquan' ||
provider === 'open_91' ||
row.fulfillmentType === 'voucher_only'
) {
return { label: '🎫 电子凭证', color: 'gold' }
}
if (provider === 'pdd') {
return { label: '拼多多发货', color: 'red' }
return { label: '📦 拼多多发货', color: 'red' }
}
return { label: '自动交付', color: 'cyan' }
return { label: '手动交付', color: 'default' }
}