From fde27654b1b21a8d2c149d3d12f86c3c7314c091 Mon Sep 17 00:00:00 2001
From: lishenao <3065849776@qq.com>
Date: 星期四, 03 七月 2025 15:00:11 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 src/views/equipmentManagement/ledger/index.vue |  172 +++++++++++++++++++++++++++++++++------------------------
 1 files changed, 100 insertions(+), 72 deletions(-)

diff --git a/src/views/equipmentManagement/ledger/index.vue b/src/views/equipmentManagement/ledger/index.vue
index 83c416e..fceba64 100644
--- a/src/views/equipmentManagement/ledger/index.vue
+++ b/src/views/equipmentManagement/ledger/index.vue
@@ -22,10 +22,19 @@
         <div>
           <el-button type="primary" @click="add" icon="Plus"> 鏂板 </el-button>
           <el-button @click="handleOut" icon="download">瀵煎嚭</el-button>
+          <el-button
+            type="danger"
+            icon="Delete"
+            :disabled="multipleList.length <= 0"
+            @click="deleteRow(multipleList.map((item) => item.id))"
+          >
+            鎵归噺鍒犻櫎
+          </el-button>
         </div>
       </div>
       <PIMTable
         rowKey="id"
+        isSelection
         :column="columns"
         :tableData="dataList"
         :page="{
@@ -33,6 +42,8 @@
           size: pagination.pageSize,
           total: pagination.total,
         }"
+        @selection-change="handleSelectionChange"
+        @pagination="changePage"
       >
         <template #operation="{ row }">
           <el-button type="primary" text @click="edit(row.id)" icon="editPen">
@@ -55,7 +66,7 @@
 
 <script setup>
 import { usePaginationApi } from "@/hooks/usePaginationApi";
-import { Search } from "@element-plus/icons-vue";
+// import { Search } from "@element-plus/icons-vue";
 import { getLedgerPage, delLedger } from "@/api/equipmentManagement/ledger";
 import { onMounted, getCurrentInstance } from "vue";
 import Modal from "./Modal.vue";
@@ -65,80 +76,94 @@
   name: "璁惧鍙拌处",
 });
 
+// 琛ㄦ牸澶氶�夋閫変腑椤�
+const multipleList = ref([]);
 const { proxy } = getCurrentInstance();
 const modalRef = ref();
-const { filters, columns, dataList, pagination, getTableData, resetFilters } =
-  usePaginationApi(
-    getLedgerPage,
+const {
+  filters,
+  columns,
+  dataList,
+  pagination,
+  getTableData,
+  resetFilters,
+  onCurrentChange,
+} = usePaginationApi(
+  getLedgerPage,
+  {
+    searchText: undefined,
+  },
+  [
     {
-      searchText: undefined,
+      label: "璁惧鍚嶇О",
+      align: "center",
+      prop: "deviceName",
     },
-    [
-      {
-        label: "璁惧鍚嶇О",
-        align: "center",
-        prop: "deviceName",
-      },
-      {
-        label: "瑙勬牸鍨嬪彿",
-        align: "center",
-        prop: "deviceModel",
-      },
-      {
-        label: "渚涘簲鍟�",
-        align: "center",
-        prop: "supplierName",
-      },
-      {
-        label: "鍗曚綅",
-        align: "center",
-        prop: "unit",
-      },
-      {
-        label: "鏁伴噺",
-        align: "center",
-        prop: "number",
-      },
-      {
-        label: "鍚◣鍗曚环",
-        align: "center",
-        prop: "taxIncludingPriceUnit",
-      },
-      {
-        label: "鍚◣鎬讳环",
-        align: "center",
-        prop: "taxIncludingPriceTotal",
-      },
-      {
-        label: "绋庣巼",
-        align: "center",
-        prop: "taxRate",
-      },
-      {
-        label: "涓嶅惈绋庢�讳环",
-        align: "center",
-        prop: "unTaxIncludingPriceTotal",
-      },
-      {
-        label: "褰曞叆浜�",
-        align: "center",
-        prop: "createUser",
-      },
-      {
-        label: "褰曞叆鏃ユ湡",
-        align: "center",
-        prop: "createTime",
-      },
-      {
-        fixed: "right",
-        label: "鎿嶄綔",
-        dataType: "slot",
-        slot: "operation",
-        align: "center",
-        width: "200px",
-      },
-    ]
-  );
+    {
+      label: "瑙勬牸鍨嬪彿",
+      align: "center",
+      prop: "deviceModel",
+    },
+    {
+      label: "渚涘簲鍟�",
+      align: "center",
+      prop: "supplierName",
+    },
+    {
+      label: "鍗曚綅",
+      align: "center",
+      prop: "unit",
+    },
+    {
+      label: "鏁伴噺",
+      align: "center",
+      prop: "number",
+    },
+    {
+      label: "鍚◣鍗曚环",
+      align: "center",
+      prop: "taxIncludingPriceUnit",
+    },
+    {
+      label: "鍚◣鎬讳环",
+      align: "center",
+      prop: "taxIncludingPriceTotal",
+    },
+    {
+      label: "绋庣巼",
+      align: "center",
+      prop: "taxRate",
+    },
+    {
+      label: "涓嶅惈绋庢�讳环",
+      align: "center",
+      prop: "unTaxIncludingPriceTotal",
+    },
+    {
+      label: "褰曞叆浜�",
+      align: "center",
+      prop: "createUser",
+    },
+    {
+      label: "褰曞叆鏃ユ湡",
+      align: "center",
+      prop: "createTime",
+    },
+    {
+      fixed: "right",
+      label: "鎿嶄綔",
+      dataType: "slot",
+      slot: "operation",
+      align: "center",
+      width: "200px",
+    },
+  ]
+);
+
+// 澶氶�夊悗鍋氫粈涔�
+const handleSelectionChange = (selectionList) => {
+  multipleList.value = selectionList;
+};
 
 const add = () => {
   modalRef.value.openModal();
@@ -146,7 +171,10 @@
 const edit = (id) => {
   modalRef.value.loadForm(id);
 };
-
+const changePage = ({ page }) => {
+  pagination.currentPage = page;
+  onCurrentChange(page);
+};
 const deleteRow = (id) => {
   ElMessageBox.confirm("姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ枃浠�, 鏄惁缁х画?", "鎻愮ず", {
     confirmButtonText: "纭畾",

--
Gitblit v1.9.3