From f6555fdd15b88a5548b3dfc0b1227a3561b4efdf Mon Sep 17 00:00:00 2001 From: GiveMePast <1248298477@qq.com> Date: Thu, 14 May 2026 17:41:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=B8=80=E9=94=AE=E5=AE=8C?= =?UTF-8?q?=E7=BB=93=EF=BC=8C=E8=BF=BD=E5=8A=A0=E9=94=81=E5=AE=9A=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/TicketManagement.vue | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/src/views/TicketManagement.vue b/src/views/TicketManagement.vue index fc5c21b..5450be6 100644 --- a/src/views/TicketManagement.vue +++ b/src/views/TicketManagement.vue @@ -73,7 +73,7 @@ - @@ -268,9 +268,10 @@ const handleAdd = () => { isEditing.value = false; currentTicket.value = { website: "", - operator: "", - staff_id: null, - is_complete: "未分配", + company_id: null, + operator_id: null, + user_id: null, + status: 0, remark: "", }; showAddDialog.value = true; @@ -324,18 +325,25 @@ const handleDelete = async (id) => { }; const handleBatchFinish = async () => { - const ids = selectedTickets.value.map((t) => t.id); + const selected = selectedTickets.value; + const ids = selected.map((t) => t.id); + const hasUnlocked = selected.some((t) => !t.lock_time || t.lock_time === "0"); + try { await ElMessageBox.confirm( - `确认将选中的 ${ids.length} 个工单一键已完结?`, + `确认将选中的 ${ids.length} 个工单一键已完结?${hasUnlocked ? "
检测到未锁定工单,将自动补齐锁定时间。" : ""}`, "批量操作", - { type: "warning", confirmButtonText: "确认已完结" } + { + type: "warning", + confirmButtonText: "确认已完结", + dangerouslyUseHTMLString: true, + } ); - const res = await ticketApi.batchUpdateTicket({ - ids, - status: "已完结", - remark: "批量结单", - }); + const payload = { ids, status: 3 }; + if (hasUnlocked) { + payload.lock_time = String(Math.floor(Date.now() / 1000)); + } + const res = await ticketApi.batchUpdateTicket(payload); if (res.code === 200) { ElMessage.success(res.data?.msg || `成功完结 ${ids.length} 个工单`); ticketListRef.value.clearSelection();