diff --git a/src/modules/energy/ETCDetails.tsx b/src/modules/energy/ETCDetails.tsx
index 3aaa23d..1ada1ce 100644
--- a/src/modules/energy/ETCDetails.tsx
+++ b/src/modules/energy/ETCDetails.tsx
@@ -1,6 +1,7 @@
import { useEffect, useState } from 'react';
-import { ChevronLeft, ChevronRight, Loader2, ReceiptText, Route, Search } from 'lucide-react';
+import { ChevronLeft, ChevronRight, ReceiptText, Route, Search } from 'lucide-react';
import Blur from '../../components/Blur';
+import { ErrorState, LoadingState } from '../../components/ui/surface';
import { fetchEtcBills, fetchEtcRecords } from './api';
import type { EtcBillResponse, EtcTollRecordResponse } from './types';
import type { EtcDetailView, EtcDrillContext } from './etc-drill-context';
@@ -165,11 +166,9 @@ export default function ETCDetails({
) : null}
{error ? (
-
{error}
+
) : loading && !activeData ? (
-
- 正在加载 ETC 明细
-
+
) : view === 'records' && records ? (
records.items.length === 0 ? (
diff --git a/src/modules/energy/ElectricDaily.tsx b/src/modules/energy/ElectricDaily.tsx
index dc91047..0579055 100644
--- a/src/modules/energy/ElectricDaily.tsx
+++ b/src/modules/energy/ElectricDaily.tsx
@@ -311,11 +311,11 @@ export default function ElectricDaily() {
环比
{error ? (
-
+
) : months === null ? (
-
+
) : months.length === 0 ? (
-
+
) : months.map(m => {
const open = openMonths.has(m.month);
return (
@@ -369,11 +369,11 @@ export default function ElectricDaily() {
{selectedDate === d.date && (
{ordersError ? (
-
+
) : !orders || orders.date !== d.date ? (
-
+
) : orders.items.length === 0 ? (
-
+
) : (
diff --git a/src/modules/energy/HydrogenDaily.tsx b/src/modules/energy/HydrogenDaily.tsx
index 5df637d..8c9378b 100644
--- a/src/modules/energy/HydrogenDaily.tsx
+++ b/src/modules/energy/HydrogenDaily.tsx
@@ -472,9 +472,9 @@ export default function HydrogenDaily() {
{/* 主行 + 子行 */}
{rows === null ? (
-
+
) : rows.length === 0 ? (
-
+
) : rows.map(r => {
const open = expanded.has(r.date);
const isAbnormal = Math.abs(r.chainPct) >= 0.3;
diff --git a/src/modules/energy/HydrogenOrders.tsx b/src/modules/energy/HydrogenOrders.tsx
index e9fdd06..ad4f480 100644
--- a/src/modules/energy/HydrogenOrders.tsx
+++ b/src/modules/energy/HydrogenOrders.tsx
@@ -1,6 +1,7 @@
import { useEffect, useState } from 'react';
-import { ChevronLeft, ChevronRight, Loader2, ReceiptText, RefreshCw, X } from 'lucide-react';
+import { ChevronLeft, ChevronRight, ReceiptText, X } from 'lucide-react';
import Blur from '../../components/Blur';
+import { EmptyState, ErrorState, LoadingState } from '../../components/ui/surface';
import { fetchHydrogenOrders } from './api';
import type { CustomerType, HydrogenOrderResponse } from './types';
@@ -81,23 +82,16 @@ export default function HydrogenOrders({
) : null}
{error ? (
-
-
订单数据暂不可用
-
{error}
-
-
+
setRetryKey(key => key + 1)}
+ variant="inline"
+ />
) : loading && !data ? (
-
- 正在加载加氢订单
-
+
) : data?.items.length === 0 ? (
- 当前筛选下无加氢订单
+
) : data ? (
<>