|
|
@@ -36,13 +36,18 @@ const PRODUCTION_ANOMALY_SPECS = [
|
|
|
},
|
|
|
] as const;
|
|
|
|
|
|
+const EMPTY_SUMMARY: S8MonitoringSummary = { total: 0, red: 0, yellow: 0, green: 0, timeout: 0, byModule: [] };
|
|
|
+
|
|
|
export const s8ProductionMonitoringApi = {
|
|
|
- /** 获取生产域汇总摘要;moduleCodes 由 page-config 派生(fallback 走 STAGE_META_FALLBACK)。 */
|
|
|
- summary: (moduleCodes: string[]) =>
|
|
|
- s8MonitoringApi.summary({ moduleCode: moduleCodes.join(',') }),
|
|
|
+ /** 获取生产域汇总摘要;moduleCodes 由 page-config 派生(fallback 走 STAGE_META_FALLBACK)。空数组时直接返回空态,不退化为后端全量。 */
|
|
|
+ summary: (moduleCodes: string[]): Promise<S8MonitoringSummary> =>
|
|
|
+ moduleCodes.length === 0
|
|
|
+ ? Promise.resolve({ ...EMPTY_SUMMARY, byModule: [] })
|
|
|
+ : s8MonitoringApi.summary({ moduleCode: moduleCodes.join(',') }),
|
|
|
|
|
|
- /** 获取生产域各阶段订单统计;按 moduleCodes 过滤 byModule 全集。 */
|
|
|
- modules: (moduleCodes: string[]) => {
|
|
|
+ /** 获取生产域各阶段订单统计;按 moduleCodes 过滤 byModule 全集。空数组时不调接口,直接返回空数组。 */
|
|
|
+ modules: (moduleCodes: string[]): Promise<S8ModuleOrderSummary[]> => {
|
|
|
+ if (moduleCodes.length === 0) return Promise.resolve([]);
|
|
|
const set = new Set(moduleCodes);
|
|
|
return s8MonitoringApi.orderGrid().then((data) =>
|
|
|
data.modules.filter((m) => set.has(m.moduleCode)),
|