wangrong
2026-08-28 17b92e9b60dda6dcc20c748046a5ff3c3958d52e
src/modules/report/data/screen.ts
@@ -40,68 +40,9 @@
   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);
}