From 30651969ad00015f55da373b9a56139b89b29c2d Mon Sep 17 00:00:00 2001 From: freedakgmail Date: Sun, 2 Aug 2026 15:20:58 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=B7=E5=90=88=E6=A8=A1=E5=BC=8FUI?= =?UTF-8?q?=E4=BC=98=E5=8C=96=20-=20=E5=85=A8=E5=B1=80=E6=80=81=E5=8A=BF?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E6=9D=A1=20+=20=E9=A2=84=E8=AD=A6=E5=89=8D?= =?UTF-8?q?=E7=BD=AE=20+=20=E9=A3=8E=E9=99=A9=E5=88=86=E5=B8=83=E6=9D=A1?= =?UTF-8?q?=20+=20=E5=81=A5=E5=BA=B7=E5=BA=A6=E4=BB=AA=E8=A1=A8=E7=9B=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新建 StatusBanner 组件: 全局态势状态条(门店风险/预警/闭环健康度) - Layout: 侧边栏增加Activity图标,主内容区顶部嵌入StatusBanner - MetricCard: status增加左侧彩色竖条强化视觉层级 - DashboardPage: 预警区域前置到经营指标上方,有红色预警时默认展开 - DashboardPage: 标题下方新增风险分布条(红黄绿百分比) - DashboardPage: 闭环健康度增加RadialBarChart仪表盘 - DashboardPage: 预警卡片增加AlertTriangle图标和左侧彩色竖条 - StatusBanner: 各指标增加title tooltip取数说明 --- client/src/components/Layout.tsx | 7 +- client/src/components/MetricCard.tsx | 6 +- client/src/components/StatusBanner.tsx | 159 +++++++++++++++++++++++++ client/src/pages/DashboardPage.tsx | 152 +++++++++++++---------- 4 files changed, 257 insertions(+), 67 deletions(-) create mode 100644 client/src/components/StatusBanner.tsx diff --git a/client/src/components/Layout.tsx b/client/src/components/Layout.tsx index 59e1ea5..35a248e 100644 --- a/client/src/components/Layout.tsx +++ b/client/src/components/Layout.tsx @@ -2,6 +2,7 @@ import { ReactNode, useState } from 'react' import { Link, useLocation } from 'react-router-dom' import { LayoutDashboard, Store, ClipboardList, TrendingUp, Settings, LogOut, Menu, X, Package, DollarSign, ShoppingBag, Users, AlertTriangle, Clock, Database, MapPin, PieChart, Wallet, CalendarClock, Activity, Crown, BarChart3, Receipt, Utensils, Landmark, ChefHat, Truck, Network, TrendingUp as TrendingUpIcon } from 'lucide-react' import { cn } from '@/lib/utils' +import { StatusBanner } from '@/components/StatusBanner' interface LayoutProps { children: ReactNode @@ -114,7 +115,8 @@ export function Layout({ children, user, onLogout }: LayoutProps) { 'fixed left-0 top-0 z-40 h-full w-56 border-r bg-card transition-transform lg:translate-x-0', sidebarOpen ? 'translate-x-0' : '-translate-x-full' )}> -
+
+ 态势感知系统