'use client' import { useState, useEffect } from 'react' import StatsOverview from '@/components/dashboard/StatsOverview' import TrendChart from '@/components/dashboard/TrendChart' import CategoryChart from '@/components/dashboard/CategoryChart' import { Card } from '@/components/ui' interface StatsData { overview: { total: number open: number in_progress: number resolved: number closed: number thisMonth: number avgDuration: number slaRate: number } categories: Array<{ fault_category: string; count: number }> monthlyTrend: Array<{ month: string; tickets: number; avg_duration: number }> } export default function DashboardPage() { const [stats, setStats] = useState(null) const [loading, setLoading] = useState(true) useEffect(() => { fetch('/api/stats') .then(r => r.json()) .then(data => { if (data.overview) setStats(data) }) .catch(() => {}) .finally(() => setLoading(false)) }, []) if (loading) return
加载中...
return (

仪表盘

工单统计概览与趋势分析

{/* Recent tickets summary */}

快速概要

待处理工单

{stats?.overview.open || 0}

处理中工单

{stats?.overview.in_progress || 0}

本月工单数

{stats?.overview.thisMonth || 0}

整体服务可用性

= 90 ? 'text-emerald-500' : 'text-amber-500'}`}>{stats?.overview.slaRate || 0}%

) }