From c3b463d9caabde3b77145d75f4c364485a0bcf69 Mon Sep 17 00:00:00 2001 From: kkfluous Date: Thu, 30 Apr 2026 15:18:14 +0800 Subject: [PATCH] =?UTF-8?q?feat(energy):=20=E5=A4=96=E9=83=A8=E8=BD=A6?= =?UTF-8?q?=E8=BE=86=20tab=20=E6=9A=82=E6=97=B6=E6=98=BE=E7=A4=BA=E3=80=8C?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=9C=AA=E5=B0=B1=E7=BB=AA=E3=80=8D=E5=8D=A0?= =?UTF-8?q?=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新系统的外部车辆数据尚未接通,按零填充会显示一长串 0,体验差。 当 customer=external 且全期总量为 0 时: - 隐藏柱图与明细表 - 显示「外部车辆 · 数据未就绪」友好占位 (Plug 图标 + 蓝色脉冲点 + 文案「新系统的外部车辆 X 数据还在准备中」) 氢能/电能 daily 都加。一旦后端接通真实外部数据,totalKg/totalKwh > 0, 占位自动消失,恢复正常表格视图。 Co-Authored-By: Claude Opus 4.7 (1M context) --- src/modules/energy/ElectricDaily.tsx | 30 ++++++++++++++++++++++++++-- src/modules/energy/HydrogenDaily.tsx | 22 ++++++++++---------- 2 files changed, 40 insertions(+), 12 deletions(-) diff --git a/src/modules/energy/ElectricDaily.tsx b/src/modules/energy/ElectricDaily.tsx index d259004..8cafa95 100644 --- a/src/modules/energy/ElectricDaily.tsx +++ b/src/modules/energy/ElectricDaily.tsx @@ -1,5 +1,5 @@ -import { useEffect, useState } from 'react'; -import { ChevronRight } from 'lucide-react'; +import { useEffect, useMemo, useState } from 'react'; +import { ChevronRight, Plug } from 'lucide-react'; import { motion, AnimatePresence } from 'motion/react'; import TrendBadge from './TrendBadge'; import { fetchElectricMonthly } from './api'; @@ -39,6 +39,9 @@ export default function ElectricDaily() { return next; }); + const totalKwh = useMemo(() => (months ?? []).reduce((s, m) => s + (m.kwh || 0), 0), [months]); + const showExternalEmpty = customer === 'external' && months !== null && totalKwh === 0; + return (
{/* 日期速选 */} @@ -73,7 +76,29 @@ export default function ElectricDaily() { ))}
+ {/* 外部车辆 数据未就绪 */} + {showExternalEmpty && ( + +
+ + + +
+
外部车辆 · 数据未就绪
+
+ 新系统的外部车辆充电数据还在准备中 +
+ 上线后此处将展示完整明细 +
+
+ )} + {/* 月份分组表 */} + {!showExternalEmpty && (
月份 / 日期 @@ -139,6 +164,7 @@ export default function ElectricDaily() { ); })}
+ )}
); diff --git a/src/modules/energy/HydrogenDaily.tsx b/src/modules/energy/HydrogenDaily.tsx index 6d70ea1..fc0331b 100644 --- a/src/modules/energy/HydrogenDaily.tsx +++ b/src/modules/energy/HydrogenDaily.tsx @@ -73,27 +73,29 @@ export default function HydrogenDaily() { ))} - {/* 外部数据对接中 友好空状态 */} - {customer === 'external' && rows !== null && rows.length === 0 && ( + {/* 外部车辆:新系统数据还没准备好 */} + {customer === 'external' && rows !== null && totalKg === 0 && (
-
数据对接中…
-
- 外部加氢账单正在与合作方系统打通,上线后此处将展示完整数据 +
外部车辆 · 数据未就绪
+
+ 新系统的外部车辆加氢数据还在准备中 +
+ 上线后此处将展示完整明细
)} - {/* 时段加氢量柱图 */} - {trendData.length > 0 && ( + {/* 时段加氢量柱图(外部车辆无数据时不渲染) */} + {!(customer === 'external' && totalKg === 0) && trendData.length > 0 && (
时段每日加氢量 @@ -133,8 +135,8 @@ export default function HydrogenDaily() {
)} - {/* 表格(外部空数据时不渲染,由上方友好空状态替代) */} - {!(customer === 'external' && rows !== null && rows.length === 0) && ( + {/* 表格(外部车辆 + 全 0 时不渲染,由上方友好空状态替代) */} + {!(customer === 'external' && rows !== null && totalKg === 0) && (
{/* 表头 */}