新增一键完结,追加锁定工单时间

This commit is contained in:
2026-05-14 17:41:49 +08:00
parent b550737c8e
commit f6555fdd15

View File

@@ -73,7 +73,7 @@
</div> </div>
</div> </div>
<TicketForm v-model="showAddDialog" :form-data="currentTicket" :companiesWithOperators="companywithoperatorsList" <TicketForm v-model="showAddDialog" :form-data="currentTicket" :companies-with-operators="companywithoperatorsList"
:user-staffs="userStaffList" :is-editing="isEditing" @submit="handleFormSubmit" /> :user-staffs="userStaffList" :is-editing="isEditing" @submit="handleFormSubmit" />
</div> </div>
</template> </template>
@@ -268,9 +268,10 @@ const handleAdd = () => {
isEditing.value = false; isEditing.value = false;
currentTicket.value = { currentTicket.value = {
website: "", website: "",
operator: "", company_id: null,
staff_id: null, operator_id: null,
is_complete: "未分配", user_id: null,
status: 0,
remark: "", remark: "",
}; };
showAddDialog.value = true; showAddDialog.value = true;
@@ -324,18 +325,25 @@ const handleDelete = async (id) => {
}; };
const handleBatchFinish = async () => { 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 { try {
await ElMessageBox.confirm( await ElMessageBox.confirm(
`确认将选中的 ${ids.length} 个工单一键已完结?`, `确认将选中的 ${ids.length} 个工单一键已完结?${hasUnlocked ? "<br/>检测到未锁定工单,将自动补齐锁定时间。" : ""}`,
"批量操作", "批量操作",
{ type: "warning", confirmButtonText: "确认已完结" } {
type: "warning",
confirmButtonText: "确认已完结",
dangerouslyUseHTMLString: true,
}
); );
const res = await ticketApi.batchUpdateTicket({ const payload = { ids, status: 3 };
ids, if (hasUnlocked) {
status: "已完结", payload.lock_time = String(Math.floor(Date.now() / 1000));
remark: "批量结单", }
}); const res = await ticketApi.batchUpdateTicket(payload);
if (res.code === 200) { if (res.code === 200) {
ElMessage.success(res.data?.msg || `成功完结 ${ids.length} 个工单`); ElMessage.success(res.data?.msg || `成功完结 ${ids.length} 个工单`);
ticketListRef.value.clearSelection(); ticketListRef.value.clearSelection();