Files
admin-web/src/modules/self-operated/turnoverSorting.ts
T

23 lines
1.4 KiB
TypeScript

import type { TurnoverSort, TurnoverSortMetric } from './turnoverTypes'
export const turnoverSortColumns: Record<string, TurnoverSortMetric> = {
physicalQuantity: 'PHYSICAL', availableQuantity: 'AVAILABLE', transitQuantity: 'TRANSIT',
outbound7: 'OUTBOUND_7', outbound15: 'OUTBOUND_15', outbound30: 'OUTBOUND_30',
averageDailyOutboundQuantity: 'AVERAGE_DAILY', inventoryCoverageDays: 'COVERAGE',
frozenQuantity: 'FROZEN', defectiveQuantity: 'DEFECTIVE',
averagePhysicalQuantity: 'AVERAGE_PHYSICAL', quantityTurnoverCount: 'TURNOVER',
}
const metricLabels: Record<TurnoverSortMetric, string> = {
PHYSICAL: '实物件数', AVAILABLE: '正品可售', TRANSIT: '在途', OUTBOUND_7: '完整7日出库',
OUTBOUND_15: '完整15日出库', OUTBOUND_30: '完整30日出库', AVERAGE_DAILY: '基准窗口日均出库',
COVERAGE: '预计可售天数', FROZEN: '冻结件数', DEFECTIVE: '次品实物',
AVERAGE_PHYSICAL: '期间平均实物', TURNOVER: '期间件数周转',
}
export const turnoverSortOptions: { value: TurnoverSort; label: string }[] = [
...(Object.keys(metricLabels) as TurnoverSortMetric[]).flatMap(metric => [
{ value: `${metric}_DESC` as TurnoverSort, label: `${metricLabels[metric]}从多到少` },
{ value: `${metric}_ASC` as TurnoverSort, label: `${metricLabels[metric]}从少到多` },
]),
{ value: 'NO_OUTBOUND_PHYSICAL_DESC', label: '已确认无出库实物最多' },
]