From b8de520fa696d8a95393aa3ff544c5a6f5c36001 Mon Sep 17 00:00:00 2001
From: 吴羡 <16976746+Xian-TT3@user.noreply.gitee.com>
Date: 星期三, 30 九月 2026 15:33:41 +0800
Subject: [PATCH] 宁夏万通需求:出库单行支持主/辅单位录入;物料型号维护;考勤节假日配置时间段;设备批量删除;质检导出按筛选条件

---
 src/views/mes/dv/machinery/index.vue |   26 +++++++++++++++++++++-----
 1 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/src/views/mes/dv/machinery/index.vue b/src/views/mes/dv/machinery/index.vue
index 8546a19..06aa887 100644
--- a/src/views/mes/dv/machinery/index.vue
+++ b/src/views/mes/dv/machinery/index.vue
@@ -13,6 +13,7 @@
 import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
 import {
   deleteMachinery,
+  deleteMachineryList,
   exportMachinery,
   getMachineryPage,
 } from '#/api/mes/dv/machinery';
@@ -31,6 +32,15 @@
   records: MesDvMachineryApi.Machinery[];
 }) {
   checkedIds.value = records.map((item) => item.id!);
+}
+
+/**
+ * 琛ㄦ牸鏁版嵁閲嶈浇鍚庯紙鏌ヨ/缈婚〉/鍒锋柊/鍒囨崲璁惧绫诲瀷锛夋竻绌哄嬀閫夛紝
+ * 閬垮厤鍕鹃�変簡涓婁竴椤电殑璁惧鍚庯紝椤甸潰宸插埛鏂颁絾浠嶆寜鏃у嬀閫夊垹闄�
+ */
+function handleDataChange() {
+  checkedIds.value = [];
+  gridApi.grid.clearCheckboxRow();
 }
 
 const [FormModal, formModalApi] = useVbenModal({
@@ -79,17 +89,21 @@
 
 /** 鎵归噺鍒犻櫎璁惧 */
 async function handleDeleteBatch() {
+  if (checkedIds.value.length === 0) {
+    return;
+  }
+  const count = checkedIds.value.length;
   const hideLoading = message.loading({
-    content: $t('ui.actionMessage.deleting', [`${checkedIds.value.length} 鍙癭]),
+    content: $t('ui.actionMessage.deleting', [`${count} 鍙癭]),
     duration: 0,
   });
   try {
-    await Promise.all(checkedIds.value.map((id) => deleteMachinery(id)));
-    message.success($t('ui.actionMessage.deleteSuccess', ['']));
-    checkedIds.value = [];
-    handleRefresh();
+    await deleteMachineryList(checkedIds.value);
+    message.success($t('ui.actionMessage.deleteSuccess', [`${count} 鍙癭]));
   } finally {
     hideLoading();
+    handleDataChange();
+    handleRefresh();
   }
 }
 
@@ -143,6 +157,7 @@
   gridEvents: {
     checkboxAll: handleRowCheckboxChange,
     checkboxChange: handleRowCheckboxChange,
+    dataChange: handleDataChange,
   },
 });
 </script>
@@ -174,6 +189,7 @@
                   auth: ['mes:dv-machinery:delete'],
                   disabled: checkedIds.length === 0,
                   popConfirm: {
+                    disabled: checkedIds.length === 0,
                     title: $t('ui.actionMessage.deleteConfirm', [
                       `${checkedIds.length} 鍙癭,
                     ]),

--
Gitblit v1.9.3