| | |
| | | unavailable?: string[]; |
| | | } |
| | | |
| | | import { structureScreen } from './screen-structure'; |
| | | |
| | | /** 零值结构兜底,图表轴与品类名称仍完整 */ |
| | | export function emptyScreen(range: TimeRange = 'month'): ScreenData { |
| | | return { |
| | | range, |
| | | axis: [], |
| | | kpis: { |
| | | todayWeightKg: 0, |
| | | periodWeightTon: 0, |
| | | resourceRate: 0, |
| | | periodValue: 0, |
| | | periodCarbonTon: 0, |
| | | totalWeightTon: 0, |
| | | totalParticipants: 0, |
| | | totalPoints: 0, |
| | | recyclableTon: 0, |
| | | bulkTon: 0, |
| | | elecTon: 0, |
| | | fabricTon: 0, |
| | | yearCarbonTon: 0, |
| | | monthCarbonTon: 0, |
| | | totalCarbonTon: 0, |
| | | greenActions: 0, |
| | | newParticipants: 0, |
| | | participateRate: 0, |
| | | pointsIssued: 0, |
| | | pointsConsumed: 0, |
| | | pointsBalance: 0, |
| | | sorterOnline: 0, |
| | | sorterTotal: 0, |
| | | vehicleOnline: 0, |
| | | vehicleTotal: 0, |
| | | siteOnline: 0, |
| | | siteTotal: 0, |
| | | todayOrders: 0, |
| | | todayAppointments: 0, |
| | | pendingAppointments: 0, |
| | | alerts: 0, |
| | | healthAlerts: 0 |
| | | }, |
| | | wasteMix: [], |
| | | recycleItems: [], |
| | | trend: { weight: [], value: [], carbon: [] }, |
| | | yearCarbon: Array.from({ length: 12 }, () => 0), |
| | | deptRank: [], |
| | | classRank: [], |
| | | majorRank: [], |
| | | pointFlow: { issued: 0, transfer: 0, donate: 0, mall: 0, balance: 0 }, |
| | | participateTrend: [], |
| | | deliverTrend: [], |
| | | ordersByType: { axis: [], 现场回收: [], 预约上门: [], 大屏投递: [], 活动回收: [] }, |
| | | appointmentFlow: [ |
| | | { name: '预约', value: 0 }, |
| | | { name: '接单', value: 0 }, |
| | | { name: '完成', value: 0 } |
| | | ], |
| | | sorterStatus: [ |
| | | { name: '工作中', value: 0, color: '#22c55e' }, |
| | | { name: '休息', value: 0, color: '#f59e0b' }, |
| | | { name: '异常', value: 0, color: '#ef4444' }, |
| | | { name: '离线', value: 0, color: '#94a3b8' } |
| | | ], |
| | | vehicles: [], |
| | | sites: [], |
| | | unavailable: [] |
| | | }; |
| | | return structureScreen(range); |
| | | } |