fix(ticket): reset detail dialog action state
This commit is contained in:
@@ -117,6 +117,15 @@ export function TicketDetailDialog({
|
|||||||
void loadDetail()
|
void loadDetail()
|
||||||
}, [loadDetail])
|
}, [loadDetail])
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
setStatusSaving(null)
|
||||||
|
setProgressSaving(false)
|
||||||
|
setEditSaving(false)
|
||||||
|
setAssignOpen(false)
|
||||||
|
setEditOpen(false)
|
||||||
|
setProgressContent("")
|
||||||
|
}, [open, ticketId])
|
||||||
|
|
||||||
async function handleStatusChange(status: TicketStatus) {
|
async function handleStatusChange(status: TicketStatus) {
|
||||||
if (!detail || detail.ticket.status === status) {
|
if (!detail || detail.ticket.status === status) {
|
||||||
return
|
return
|
||||||
@@ -130,6 +139,9 @@ export function TicketDetailDialog({
|
|||||||
}
|
}
|
||||||
toast.success("工单状态已更新")
|
toast.success("工单状态已更新")
|
||||||
await loadDetail(activeTicketId)
|
await loadDetail(activeTicketId)
|
||||||
|
if (!isCurrentTicket(activeTicketId)) {
|
||||||
|
return
|
||||||
|
}
|
||||||
onChanged()
|
onChanged()
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
if (!isCurrentTicket(activeTicketId)) {
|
if (!isCurrentTicket(activeTicketId)) {
|
||||||
@@ -165,6 +177,9 @@ export function TicketDetailDialog({
|
|||||||
toast.success("处理进展已记录")
|
toast.success("处理进展已记录")
|
||||||
setProgressContent("")
|
setProgressContent("")
|
||||||
await loadDetail(activeTicketId)
|
await loadDetail(activeTicketId)
|
||||||
|
if (!isCurrentTicket(activeTicketId)) {
|
||||||
|
return
|
||||||
|
}
|
||||||
onChanged()
|
onChanged()
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
if (!isCurrentTicket(activeTicketId)) {
|
if (!isCurrentTicket(activeTicketId)) {
|
||||||
@@ -204,6 +219,9 @@ export function TicketDetailDialog({
|
|||||||
toast.success("工单已更新")
|
toast.success("工单已更新")
|
||||||
setEditOpen(false)
|
setEditOpen(false)
|
||||||
await loadDetail(payload.ticketId)
|
await loadDetail(payload.ticketId)
|
||||||
|
if (!isCurrentTicket(payload.ticketId)) {
|
||||||
|
return
|
||||||
|
}
|
||||||
onChanged()
|
onChanged()
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
if (!isCurrentTicket(payload.ticketId)) {
|
if (!isCurrentTicket(payload.ticketId)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user