Просмотр исходного кода

fix(s8): disable stage card local config override (return live card)

YY968XX 4 месяцев назад
Родитель
Сommit
55e4bda3a4
1 измененных файлов с 10 добавлено и 36 удалено
  1. 10 36
      Web/src/views/aidop/s8/monitoring/useS8StageConfig.ts

+ 10 - 36
Web/src/views/aidop/s8/monitoring/useS8StageConfig.ts

@@ -297,45 +297,19 @@ export function useS8StageConfig() {
 		state.initialized = true;
 	}
 
+	// S8-STAGE-CONFIG-DISABLE-1:临时禁用本地配置覆盖,applyConfig 等价 passthrough。
+	// 背景:localStorage['aidop_s8_stage_config'] stale 数据会让不同浏览器/演示机看到不一致的展示
+	// 开关(showMetricLabel / showProgress / showStatusLabel)和旧文案。
+	// 后续重构配置体系时再恢复;当前阶段优先保证四个监控页(overview/delivery/production/supply)
+	// 在任何浏览器都展示一致的实时 card 数据。
+	// 注意:Vue 3 对 Boolean 类型的可选 prop 在父组件未显式传值时默认为 false,
+	// 因此这里把三个展示开关显式补成 true,避免 metric-label / status-label / progress 块整体不渲染。
 	function applyConfig(card: StageCardPreviewData): StageCardPreviewData {
-		const config = state.items[card.code];
-		if (!config) return card;
-		const tone = config.tone;
-		const icon = resolveStageIconComponent(config.iconKey);
-		const closePercent = parsePercentText(config.closePercent);
-		// S8-MODULE-CARD-SEMANTICS-FIX-1A:实时进度条(绿黄红比例)由 buildStageCard 用 normal+yellow+red 分母重算,
-		// 优先使用 card.progress;localStorage 中残留的旧分母(total)配置不再适用。
-		const progress = normalizeProgress(card.progress ?? config.progress);
 		return {
 			...card,
-			displayCode: config.displayCode,
-			title: config.title,
-			icon,
-			value: config.values[tone] || card.value,
-			// S8-DASHBOARD-MODULE-TRICOLOR-SEMANTICS-1:实时业务三色数字(card.values)优先于
-			// localStorage 中可能残留的旧 stage 配置(10.0 / 0% / 3.2h),保证「关注 + 严重 = 异常总数」。
-			values: card.values ? { ...card.values } : { ...config.values },
-			valueLabels: config.valueLabels ? { ...config.valueLabels } : { green: '正常', yellow: '关注', red: '严重' },
-			// S8-MODULE-CARD-SEMANTICS-FIX-1A:实时 metricLabel(如 S2 已从「异常频率/百单」改为「累计异常数」)
-			// 优先使用 card;localStorage 中残留的旧文案不再覆盖。
-			metricLabel: card.metricLabel ?? config.metricLabel,
-			// S8-MODULE-CARD-SEMANTICS-FIX-1A:实时 healthRate(=closeRate)来自 buildStageCard,
-			// 优先使用,避免 localStorage 残留的旧 health 值(计算公式已变更)覆盖。
-			healthRate: clampPercent(card.healthRate),
-			// S8-MODULE-CARD-ZERO-TOTAL-EMPTY-STATE-1:透传空态文本,让 total=0 卡显示「闭环率 --」。
-			healthRateText: card.healthRateText,
-			statusLabel: config.statusLabel,
-			progress,
-			tone,
-			// S8-MODULE-CARD-SEMANTICS-FIX-1A:实时数据(card.wideRate / card.wideRateLabel)来自 buildStageCard,
-			// 已包含真实 closeRate 与 avgProcessHours;优先使用,避免 localStorage 中残留的 mock 0h 覆盖。
-			wideRate: card.wideRate ?? closePercent,
-			wideRateLabel: card.wideRateLabel ?? `闭环率 ${closePercent}% / 均时 ${parseHoursText(config.avgProcessHours)}`,
-			showMetricLabel: config.showMetricLabel,
-			showStatusLabel: config.showStatusLabel,
-			showProgress: config.showProgress,
-			blockOrder: config.blockOrder ? [...config.blockOrder] : undefined,
-			metricLabelFontSize: config.metricLabelFontSize ?? 12,
+			showMetricLabel: card.showMetricLabel ?? true,
+			showStatusLabel: card.showStatusLabel ?? true,
+			showProgress: card.showProgress ?? true,
 		};
 	}