From 9bb5b09920fb70f1606f2cf39cfaffdba786be54 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期三, 16 七月 2025 16:34:41 +0800
Subject: [PATCH] yys  增加筛选条件

---
 src/views/equipmentManagement/upkeep/index.vue |  202 ++++++++++++++++++++++++++++++++++----------------
 1 files changed, 138 insertions(+), 64 deletions(-)

diff --git a/src/views/equipmentManagement/upkeep/index.vue b/src/views/equipmentManagement/upkeep/index.vue
index 5d3dcd2..7183964 100644
--- a/src/views/equipmentManagement/upkeep/index.vue
+++ b/src/views/equipmentManagement/upkeep/index.vue
@@ -1,5 +1,49 @@
 <template>
   <div class="app-container">
+    <el-form :model="filters" :inline="true">
+      <el-form-item label="璁惧鍚嶇О">
+        <el-input
+            v-model="filters.deviceName"
+            style="width: 240px"
+            placeholder="璇疯緭鍏ヨ澶囧悕绉�"
+            clearable
+            :prefix-icon="Search"
+            @change="getTableData"
+        />
+      </el-form-item>
+      <el-form-item label="璁″垝淇濆吇鏃ユ湡">
+        <el-date-picker
+            v-model="filters.maintenancePlanTime"
+            type="date"
+            placeholder="璇烽�夋嫨璁″垝淇濆吇鏃ユ湡"
+            size="default"
+            @change="(date) => handleDateChange(date,2)"
+        />
+      </el-form-item>
+      <el-form-item label="瀹為檯淇濆吇鏃ユ湡">
+        <el-date-picker
+            v-model="filters.maintenanceActuallyTime"
+            type="date"
+            placeholder="璇烽�夋嫨瀹為檯淇濆吇鏃ユ湡"
+            size="default"
+            @change="(date) => handleDateChange(date,1)"
+        />
+      </el-form-item>
+      <el-form-item label="瀹為檯淇濆吇浜�">
+        <el-input
+            v-model="filters.maintenanceActuallyName"
+            style="width: 240px"
+            placeholder="璇疯緭鍏ュ疄闄呬繚鍏讳汉"
+            clearable
+            :prefix-icon="Search"
+            @change="getTableData"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" @click="getTableData">鎼滅储</el-button>
+        <el-button @click="resetFilters">閲嶇疆</el-button>
+      </el-form-item>
+    </el-form>
     <div class="table_list">
       <div class="actions">
         <el-text class="mx-1" size="large">璁惧淇濆吇</el-text>
@@ -19,6 +63,7 @@
             type="danger"
             icon="Delete"
             :disabled="multipleList.length <= 0"
+            @click="delRepairByIds(multipleList.map((item) => item.id))"
           >
             鎵归噺鍒犻櫎
           </el-button>
@@ -35,6 +80,7 @@
           total: pagination.total,
         }"
         @selection-change="handleSelectionChange"
+        @pagination="changePage"
       >
         <template #maintenanceResultRef="{ row }">
           <el-tag v-if="row.maintenanceResult === 1" type="success">
@@ -100,70 +146,93 @@
 };
 
 // 琛ㄦ牸閽╁瓙
-const { filters, columns, dataList, pagination, getTableData, resetFilters } =
-  usePaginationApi(getUpkeepPage, {}, [
-    {
-      label: "璁惧鍚嶇О",
-      align: "center",
-      prop: "deviceName",
-    },
-    {
-      label: "瑙勬牸鍨嬪彿",
-      align: "center",
-      prop: "deviceModel",
-    },
-    {
-      label: "璁″垝淇濆吇鏃ユ湡",
-      align: "center",
-      prop: "maintenancePlanTime",
-      formatData: (cell) => dayjs(cell).format("YYYY-MM-DD"),
-    },
-    {
-      label: "褰曞叆浜�",
-      align: "center",
-      prop: "createUserName",
-    },
-    {
-      label: "褰曞叆鏃ユ湡",
-      align: "center",
-      prop: "createTime",
-      formatData: (cell) => dayjs(cell).format("YYYY-MM-DD HH:mm:ss"),
-      width: 200,
-    },
-    {
-      label: "瀹為檯淇濆吇浜�",
-      align: "center",
-      prop: "maintenanceActuallyName",
-    },
-    {
-      label: "瀹為檯淇濆吇鏃ユ湡",
-      align: "center",
-      prop: "maintenanceActuallyTime",
-      formatData: (cell) => dayjs(cell).format("YYYY-MM-DD HH:mm:ss"),
-    },
-    {
-      label: "淇濆吇缁撴灉",
-      align: "center",
-      prop: "maintenanceResult",
-      dataType: "slot",
-      slot: "maintenanceResultRef",
-    },
-    {
-      label: "鐘舵��",
-      align: "center",
-      prop: "status",
-      dataType: "slot",
-      slot: "statusRef",
-    },
-    {
-      fixed: "right",
-      label: "鎿嶄綔",
-      dataType: "slot",
-      slot: "operation",
-      align: "center",
-      width: "200px",
-    },
-  ]);
+const {
+  filters,
+  columns,
+  dataList,
+  pagination,
+  getTableData,
+  resetFilters,
+  onCurrentChange,
+} = usePaginationApi(getUpkeepPage, {}, [
+  {
+    label: "璁惧鍚嶇О",
+    align: "center",
+    prop: "deviceName",
+  },
+  {
+    label: "瑙勬牸鍨嬪彿",
+    align: "center",
+    prop: "deviceModel",
+  },
+  {
+    label: "璁″垝淇濆吇鏃ユ湡",
+    align: "center",
+    prop: "maintenancePlanTime",
+    formatData: (cell) => dayjs(cell).format("YYYY-MM-DD"),
+  },
+  {
+    label: "褰曞叆浜�",
+    align: "center",
+    prop: "createUserName",
+  },
+  {
+    label: "褰曞叆鏃ユ湡",
+    align: "center",
+    prop: "createTime",
+    formatData: (cell) => dayjs(cell).format("YYYY-MM-DD HH:mm:ss"),
+    width: 200,
+  },
+  {
+    label: "瀹為檯淇濆吇浜�",
+    align: "center",
+    prop: "maintenanceActuallyName",
+  },
+  {
+    label: "瀹為檯淇濆吇鏃ユ湡",
+    align: "center",
+    prop: "maintenanceActuallyTime",
+    formatData: (cell) =>
+      cell ? dayjs(cell).format("YYYY-MM-DD HH:mm:ss") : "-",
+  },
+  {
+    label: "淇濆吇缁撴灉",
+    align: "center",
+    prop: "maintenanceResult",
+    dataType: "slot",
+    slot: "maintenanceResultRef",
+  },
+  {
+    label: "鐘舵��",
+    align: "center",
+    prop: "status",
+    dataType: "slot",
+    slot: "statusRef",
+  },
+  {
+    fixed: "right",
+    label: "鎿嶄綔",
+    dataType: "slot",
+    slot: "operation",
+    align: "center",
+    width: "200px",
+  },
+]);
+// type == 1瀹為檯淇濆吇鏃堕棿 2璁″垝淇濆吇鏃堕棿
+const handleDateChange = (value,type) => {
+  filters.maintenanceActuallyTimeReq = null
+  filters.maintenancePlanTimeReq = null
+  if(type === 1){
+    if (value) {
+      filters.maintenanceActuallyTimeReq = dayjs(value).format("YYYY-MM-DD");
+    }
+  }else{
+    if (value) {
+      filters.maintenancePlanTimeReq = dayjs(value).format("YYYY-MM-DD");
+    }
+  }
+  getTableData();
+};
 
 // 鏂板淇濆吇
 const addMaintain = () => {
@@ -181,6 +250,11 @@
   planModalRef.value.openEdit(id);
 };
 
+const changePage = ({ page }) => {
+  pagination.currentPage = page;
+  onCurrentChange(page);
+};
+
 // 鍗曡鍒犻櫎
 const delRepairByIds = async (ids) => {
   ElMessageBox.confirm("纭鍒犻櫎鎶ヤ慨鏁版嵁, 姝ゆ搷浣滀笉鍙��?", "璀﹀憡", {

--
Gitblit v1.9.3