"use client" import { Badge } from "@/components/ui/badge" import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "@/components/ui/card" import type { DashboardOverview } from "@/lib/api/dashboard" type TeamLoadPanelProps = { agentStats: DashboardOverview["agentStats"] } function getLoadTone(loadRate: number) { if (loadRate >= 85) { return "bg-red-500" } if (loadRate >= 60) { return "bg-amber-500" } return "bg-emerald-500" } export function TeamLoadPanel({ agentStats }: TeamLoadPanelProps) { return ( 客服组负载 在线 {agentStats.onlineAgents},忙碌 {agentStats.busyAgents},离线 {agentStats.offlineAgents} {agentStats.teamLoads.length === 0 ? (
暂无客服组数据
) : ( agentStats.teamLoads.map((item) => (
{item.teamName}
{item.hasScheduleNow ? ( 排班中 ) : ( 无当前排班 )}
总客服 {item.totalAgents},在线 {item.onlineAgents},忙碌 {item.busyAgents},离线{" "} {item.offlineAgents}
{item.loadRate.toFixed(1)}%
负载 {item.processingConversations}/{item.maxConcurrentCapacity || 0}
待接入
{item.waitingConversations}
处理中
{item.processingConversations}
并发容量
{item.maxConcurrentCapacity}
忙碌客服
{item.busyAgents}
)) )} ) }