diff --git a/web/app/dashboard/tickets/_components/ticket-detail-dialog.tsx b/web/app/dashboard/tickets/_components/ticket-detail-dialog.tsx index 491954e..0e0ba33 100644 --- a/web/app/dashboard/tickets/_components/ticket-detail-dialog.tsx +++ b/web/app/dashboard/tickets/_components/ticket-detail-dialog.tsx @@ -1,7 +1,7 @@ "use client" import { useCallback, useEffect, useRef, useState } from "react" -import { MessageSquareTextIcon, PencilIcon, RefreshCcwIcon, SendIcon, UserRoundIcon } from "lucide-react" +import { MessageSquareTextIcon, PencilIcon, PlusIcon, RefreshCcwIcon, SendIcon, UserRoundIcon } from "lucide-react" import { toast } from "sonner" import { type CustomerFormSavePayload } from "@/components/customer-form" @@ -12,6 +12,13 @@ import { ProjectDialog } from "@/components/project-dialog" import { isRichTextEmpty, SafeRichHTML } from "@/components/safe-rich-html" import { Badge } from "@/components/ui/badge" import { Button } from "@/components/ui/button" +import { + Dialog, + DialogContent, + DialogFooter, + DialogHeader, + DialogTitle, +} from "@/components/ui/dialog" import { Separator } from "@/components/ui/separator" import { saveCustomerProfile } from "@/lib/api/customer" import { @@ -74,6 +81,7 @@ export function TicketDetailDialog({ const [loading, setLoading] = useState(false) const [statusSaving, setStatusSaving] = useState(null) const [progressSaving, setProgressSaving] = useState(false) + const [progressOpen, setProgressOpen] = useState(false) const [progressContent, setProgressContent] = useState("") const [assignOpen, setAssignOpen] = useState(false) const [editOpen, setEditOpen] = useState(false) @@ -126,6 +134,7 @@ export function TicketDetailDialog({ setLoading(false) setStatusSaving(null) setProgressSaving(false) + setProgressOpen(false) setEditSaving(false) setCustomerEditSaving(false) setAssignOpen(false) @@ -191,6 +200,7 @@ export function TicketDetailDialog({ } toast.success("处理进展已记录") setProgressContent("") + setProgressOpen(false) await loadDetail(activeTicketId, activeDialogSeq) if (!isCurrentOperation(activeTicketId, activeDialogSeq)) { return @@ -433,29 +443,19 @@ export function TicketDetailDialog({ -