This commit is contained in:
2026-09-15 18:20:34 +08:00
parent 056f9ef073
commit d0c92f6f84
6 changed files with 89 additions and 53 deletions
@@ -8,6 +8,7 @@ import {
FIRST_LEG_PROGRESS_STAGES,
getFirstLegProgressIndex,
getFirstLegStatusLabel,
getFirstLegStatusTone,
getFirstLegTransportModeLabel,
summarizeFirstLegCargo,
validateFirstLegOrderDraft,
@@ -197,3 +198,14 @@ test('counts one physical carton series for SKU lines in the same mixed-carton g
second.packageCount = 9
assert.ok(validateFirstLegOrderDraft(draft).includes('同箱 SKU 的箱数、包装类型、箱规、重量和体积必须一致'))
})
test('distinguishes first-leg draft, review, active handling and completion', () => {
assert.equal(getFirstLegStatusTone('DRAFT'), 'info')
assert.equal(getFirstLegStatusTone('PENDING_REVIEW'), 'warning')
for (const status of ['WAIT_MEASURE', 'WAIT_PALLETIZE', 'WAIT_SPLIT', 'LOADING']) {
assert.equal(getFirstLegStatusTone(status), 'primary')
}
assert.equal(getFirstLegStatusTone('LOADED'), 'success')
assert.equal(getFirstLegStatusTone('DELIVERED'), 'success')
assert.equal(getFirstLegStatusTone('UNRECOGNIZED'), 'info')
})
+5 -3
View File
@@ -23,9 +23,11 @@ export function getFirstLegTransportModeLabel(mode: FirstLegTransportMode | null
return transportModeLabels.get(mode) ?? mode
}
export function getFirstLegStatusTone(status: FirstLegOrderStatus): 'success' | 'warning' | 'info' | 'danger' {
if (status === 'DELIVERED') return 'success'
if (status === 'DRAFT' || status === 'PENDING_REVIEW') return 'warning'
export function getFirstLegStatusTone(status: FirstLegOrderStatus): 'success' | 'warning' | 'info' | 'primary' {
if (status === 'DELIVERED' || status === 'LOADED') return 'success'
if (status === 'DRAFT') return 'info'
if (status === 'PENDING_REVIEW') return 'warning'
if (['WAIT_MEASURE', 'WAIT_PALLETIZE', 'WAIT_SPLIT', 'LOADING'].includes(status)) return 'primary'
return 'info'
}