wr_1023
2026-09-03 974c13543c4534d4783eb521a5ba2af68f8b007b
src/modules/report/data/screen.ts
@@ -1,5 +1,5 @@
export type TimeRange = 'today' | 'week' | 'month' | 'quarter' | 'year';
export type ScreenKey = 'overview' | 'resource' | 'carbon' | 'participation' | 'operation';
export type ScreenKey = 'overview' | 'resource' | 'carbon' | 'participation' | 'operation' | 'map';
export type RankMetric = 'weight' | 'people' | 'pointPerCapita' | 'weightPerCapita' | 'carbon';
/** 首页菜单固定为 /report/screen/index,子页通过 ?page= 切换,避免离开首页入口 */
@@ -10,14 +10,16 @@
   { key: 'resource', index: '02', label: '垃圾资源化分析', audience: '后勤 / 环保' },
   { key: 'carbon', index: '03', label: '碳减排与绿色贡献', audience: '双碳 / ESG' },
   { key: 'participation', index: '04', label: '师生参与与碳积分', audience: '学工 / 团委' },
   { key: 'operation', index: '05', label: '回收运营监控', audience: '运营公司' }
   { key: 'operation', index: '05', label: '回收运营监控', audience: '运营公司' },
   { key: 'map', index: '06', label: '地理信息总览', audience: '指挥中心' }
];
/** 从路由解析当前大屏子页;index / 空 / 非法值均回落到 overview */
export function resolveScreenKey(page?: string | string[] | null, queryPage?: string | string[] | null): ScreenKey {
   const raw = String(queryPage || page || 'overview');
   if (raw === 'index') return 'overview';
   return SCREEN_NAV.some(e => e.key === raw) ? (raw as ScreenKey) : 'overview';
   if (raw === 'index') return 'map';   //if (raw === 'index') return 'overview';
   return SCREEN_NAV.some(e => e.key === raw) ? (raw as ScreenKey) : 'map';
   //return SCREEN_NAV.some(e => e.key === raw) ? (raw as ScreenKey) : 'overview';
}
export const TIME_RANGE_OPTIONS: { label: string; value: TimeRange }[] = [