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();