This commit is contained in:
2026-09-17 13:36:31 +08:00
parent 5d00618c53
commit 9c9cb91593
18 changed files with 317 additions and 32 deletions
@@ -15,8 +15,21 @@ const orderTypeLabels: Record<string, string> = {
const statusLabels: Record<string, string> = {
PENDING_REVIEW: '待审核',
WAIT_PDA_RECEIVING: '入库测量中',
INBOUND_MEASURING: '入库测量中',
WAIT_CUSTOMER_CONFIRMATION: '待客户确认实测',
INBOUND_COMPLETED: '入库完成',
APPROVED: '审核通过',
PENDING_ASSIGNMENT: '待分配',
WAIT_RELABEL: '待换标',
WAIT_FBA_DESTINATION: '待确认目的仓',
READY_FOR_DISPATCH: '待创建出库单',
WAIT_OUTBOUND: '待出库',
ALLOCATED: '已分配库存',
OUTBOUNDED: '已出库',
PARTIALLY_RECEIVED: '部分收货',
RECEIVED: '已收货',
IN_TRANSIT: '运输中',
DESTINATION_ASSIGNED: '已分配目的仓',
INBOUND_PLANNED: '已生成入库计划',
PENDING_PROCESSING: '待处理',
@@ -61,12 +74,17 @@ export function lastMileStatusLabel(value: unknown) {
return statusLabels[code] || text(code)
}
export function packageDifferenceText(value: number | '—' | null | undefined) {
if (value == null || value === '—' || !Number.isFinite(value)) return '—'
return value > 0 ? `+${value}` : String(value)
}
// 认领后显示处理中,可出库节点统一显示换标完成。
export function relabelBusinessStatusLabel(value: unknown) {
const code = String(value ?? '').trim()
if (code === 'PROCESSING') return '处理中'
if (!code || code === 'NOT_REQUIRED') return '—'
return ['READY_FOR_OUTBOUND', 'COMPLETED'].includes(code) ? '换标完成' : '待处理'
return ['CUSTOMER_CONFIRM_PENDING', 'READY_FOR_OUTBOUND', 'COMPLETED'].includes(code) ? '换标完成' : '待处理'
}
export function lastMileOrderTypeLabel(value: unknown) {
@@ -106,6 +124,7 @@ export function palletMergeLabel(value: unknown) {
}
export function toLastMileOrderListItem(dto: LastMileOrderSummaryDto): LastMileOrderListItem {
const warehouseTransfer = dto.orderType === 'WAREHOUSE_TRANSFER'
return {
id: String(dto.id),
customerId: String(dto.customerId),
@@ -135,6 +154,7 @@ export function toLastMileOrderListItem(dto: LastMileOrderSummaryDto): LastMileO
version: Number(dto.version ?? 0),
pallets: metric(dto.palletCount),
cartons: metric(dto.packageCount),
cartonDifference: warehouseTransfer ? metric(dto.packageDifference) : '—',
volume: metric(dto.volumeCbm),
quantity: metric(dto.productQuantity),
volumeWeight: metric(dto.volumeWeightKg),
@@ -147,6 +167,7 @@ export function toLastMileOrderListItem(dto: LastMileOrderSummaryDto): LastMileO
outboundOrderNo: text(dto.outboundOrderNo),
dispatchOrderNo: text(dto.deliveryOrderNo),
relabelOrderNo: text(dto.relabelOrderNo),
relabelStatusCode: String(dto.relabelStatus ?? '').trim(),
relabelStatus: relabelBusinessStatusLabel(dto.relabelStatus),
consolidated: palletMergeLabel(dto.palletMergeFlag),
palletMergeFlag: String(dto.palletMergeFlag ?? '').trim(),