"use client" import { Badge } from "@/components/ui/badge" import type { TicketItem } from "@/lib/api/ticket" function isClosedStatus(status: string) { return status === "resolved" || status === "closed" || status === "cancelled" } export function TicketSLABadge({ ticket }: { ticket: TicketItem }) { if (isClosedStatus(ticket.status)) { return ( 已结束 ) } if (!ticket.resolveDeadlineAt) { return ( 未设置 ) } const deadline = new Date(ticket.resolveDeadlineAt.replace(" ", "T")) if (Number.isNaN(deadline.getTime())) { return ( 未设置 ) } const remainingMinutes = Math.floor((deadline.getTime() - Date.now()) / 60000) if (remainingMinutes < 0) { return ( 已超时 ) } if (remainingMinutes <= 60) { return ( 1 小时内 ) } if (remainingMinutes <= 240) { return ( 今日风险 ) } return ( 正常 ) }