From dcc3a4d842740f7ff6e79a58ddec945f50ea9b5d Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期三, 03 六月 2026 10:10:22 +0800
Subject: [PATCH] Merge branch 'dev_NEW_pro' into dev_宁夏_英泽防锈

---
 src/views/officeProcessAutomation/ApproveManage/approve-list/useApproveList.js |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 48 insertions(+), 0 deletions(-)

diff --git a/src/views/officeProcessAutomation/ApproveManage/approve-list/useApproveList.js b/src/views/officeProcessAutomation/ApproveManage/approve-list/useApproveList.js
index 3f0e99c..7c198e5 100644
--- a/src/views/officeProcessAutomation/ApproveManage/approve-list/useApproveList.js
+++ b/src/views/officeProcessAutomation/ApproveManage/approve-list/useApproveList.js
@@ -102,6 +102,9 @@
   const submitFormRef = ref();
   const submitSaving = ref(false);
 
+  // 鎵归噺鍒犻櫎鐩稿叧
+  const selectedRows = ref([]);
+
   const isSubmitEdit = computed(() => submitDialog.mode === "edit");
   const submitDialogTitle = computed(() => {
     if (submitDialog.mode === "edit") {
@@ -640,6 +643,49 @@
     return "寰呭鐞�";
   }
 
+  // 鎵归噺鍒犻櫎瀹℃壒瀹炰緥
+  async function batchDelete() {
+    if (!selectedRows.value?.length) {
+      ElMessage.warning("璇烽�夋嫨瑕佸垹闄ょ殑璁板綍");
+      return;
+    }
+    try {
+      await ElMessageBox.confirm(
+        `纭畾鍒犻櫎閫変腑鐨� ${selectedRows.value.length} 鏉″鎵硅褰曞悧锛熷垹闄ゅ悗涓嶅彲鎭㈠銆俙,
+        "鍒犻櫎纭",
+        {
+          type: "warning",
+          confirmButtonText: "纭畾鍒犻櫎",
+          cancelButtonText: "鍙栨秷",
+          distinguishCancelAndClose: true,
+          autofocus: false,
+        }
+      );
+    } catch {
+      return;
+    }
+    const ids = selectedRows.value.map((row) => row.id).filter(Boolean);
+    if (!ids.length) {
+      ElMessage.warning("鏃犳硶鍒犻櫎锛氱己灏戝鎵瑰疄渚� ID");
+      return;
+    }
+    try {
+      await deleteApprovalInstance(ids);
+      ElMessage.success("鍒犻櫎鎴愬姛");
+      selectedRows.value = [];
+      // 鍏抽棴鍙兘鎵撳紑鐨勮鎯呭脊绐�
+      if (detailDialog.visible) {
+        detailDialog.visible = false;
+      }
+      if (approveDialog.visible) {
+        approveDialog.visible = false;
+      }
+      await fetchApprovalList();
+    } catch {
+      /* 閿欒鐢辨嫤鎴櫒鎻愮ず */
+    }
+  }
+
   return {
     Search,
     APPROVAL_TYPE_OPTIONS,
@@ -696,5 +742,7 @@
     openDetail,
     openApprove,
     fetchApprovalList,
+    selectedRows,
+    batchDelete,
   };
 }
\ No newline at end of file

--
Gitblit v1.9.3