import { Activity, AlertTriangle, BedDouble, CheckCircle2, Clock3, HeartPulse, ShieldAlert, Users, } from "lucide-react"; import type { LucideIcon } from "lucide-react"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Table } from "@/components/ui/table"; type Metric = { label: string; value: string; trend: string; icon: LucideIcon; }; const metrics: Metric[] = [ { label: "在院", value: "126", trend: "+6 本周", icon: Users }, { label: "床位", value: "82%", trend: "28 空闲", icon: BedDouble }, { label: "任务", value: "184", trend: "142 完成", icon: CheckCircle2 }, { label: "异常", value: "9", trend: "3 待复核", icon: HeartPulse }, ]; const taskRows = [ { name: "晨间生命体征记录", owner: "护理一组", status: "进行中", due: "09:30" }, { name: "二楼失能老人巡检", owner: "护理二组", status: "待执行", due: "10:00" }, { name: "高血压老人复测", owner: "医护组", status: "需复核", due: "10:30" }, { name: "晚间护理计划生成", owner: "护理主管", status: "待派发", due: "16:00" }, ]; const alerts = [ { label: "任务逾期", count: "4", tone: "warning" }, { label: "设备故障", count: "2", tone: "danger" }, { label: "应急处理中", count: "1", tone: "danger" }, { label: "未读通知", count: "18", tone: "success" }, ] as const; export function DashboardHome(): React.ReactElement { return (
一期

运营看板

照护、床位、预警一屏处理。

今日闭环

{["档案", "床位", "健康", "护理", "应急"].map((item, index) => (
{item}
{88 - index * 9}%
))}
{metrics.map((metric) => ( {metric.label} {metric.value}

{metric.trend}

))}
今日护理任务
任务 负责 状态 截止 {taskRows.map((task) => ( {task.name} {task.owner} {task.status} {task.due} ))}
预警与工单 {alerts.map((alert) => (
{alert.tone === "danger" ? (
{alert.count}
))}
); }