From 4828e8d724a771a8535751e094d587cf578548a6 Mon Sep 17 00:00:00 2001
From: 董国庆 <364620639@qq.com>
Date: 星期四, 19 六月 2025 15:12:54 +0800
Subject: [PATCH] 修改实验数据模块

---
 laboratory/src/views/dataManagement/dispatching/addDispatch.vue |   49 ++++++++++++++++++++++++++++++++++---------------
 1 files changed, 34 insertions(+), 15 deletions(-)

diff --git a/laboratory/src/views/dataManagement/dispatching/addDispatch.vue b/laboratory/src/views/dataManagement/dispatching/addDispatch.vue
index d5a4681..54b0c13 100644
--- a/laboratory/src/views/dataManagement/dispatching/addDispatch.vue
+++ b/laboratory/src/views/dataManagement/dispatching/addDispatch.vue
@@ -177,8 +177,11 @@
 
       <Table
         :data="taskTableData"
-        :total="0"
+        :total="allTaskTableData.length"
         :height="null"
+        :queryForm="{ pageNum: taskPageNum, pageSize: taskPageSize }"
+        :disAblePagination="true"
+        @handleCurrentChange="handleCurrentChange"
         class="rwuTable"
       >
         <el-table-column type="index" label="序号" width="80"></el-table-column>
@@ -270,7 +273,10 @@
         ],
       },
       groupTableData: [],
-      taskTableData: [],
+      taskTableData: [], // 当前页展示的数据
+      allTaskTableData: [], // 全部任务数据
+      taskPageNum: 1,
+      taskPageSize: 15,
       members: {
         processEngineer: [], // 工艺工程师
         experimenter: [], // 实验员
@@ -518,31 +524,32 @@
         cancelButtonText: '取消',
         type: 'warning'
       }).then(() => {
-        const index = this.taskTableData.findIndex(item => item === row)
+        const index = this.allTaskTableData.findIndex(item => item === row)
         if (index > -1) {
-          this.taskTableData.splice(index, 1)
+          this.allTaskTableData.splice(index, 1)
+          this.updateTaskTableData();
           this.$message.success('删除成功')
         }
       }).catch(() => {})
     },
     handleTaskSubmit(form) {
-      const index = this.taskTableData.findIndex(item => item.taskName === form.taskName);
+      const index = this.allTaskTableData.findIndex(item => item.taskName === form.taskName);
       const taskData = {
-        id: form.id || '', // 编辑时使用原id,新增时为空
+        id: form.id || '',
         taskName: form.taskName,
-        personCharge: form.leader, // 负责人名称
+        personCharge: form.leader,
         startTime: form.startTime,
-        dispatchId: this.id || '', // 实验调度id
-        selectedUsers: form.selectedUsers // 保存选中的用户ID数组
+        dispatchId: this.id || '',
+        selectedUsers: form.selectedUsers
       };
-      
       if (index > -1) {
-        this.taskTableData.splice(index, 1, taskData);
+        this.allTaskTableData.splice(index, 1, taskData);
       } else {
-        this.taskTableData.push(taskData);
+        this.allTaskTableData.push(taskData);
       }
+      this.updateTaskTableData();
       // 更新表单数据
-      this.form.experimentDispatchTasks = this.taskTableData;
+      this.form.experimentDispatchTasks = this.allTaskTableData;
     },
     // 获取所有编辑器的内容
     getAllEditorContent() {
@@ -762,7 +769,8 @@
             }
             // 设置表格数据
             this.groupTableData = data.experimentDispatchGroups || []
-            this.taskTableData = data.experimentDispatchTasks || []
+            this.allTaskTableData = data.experimentDispatchTasks || []
+            this.updateTaskTableData();
             
             // 处理参与人员数据
             this.members = {
@@ -811,7 +819,17 @@
       } finally {
         this.projectLoading = false;
       }
-    }
+    },
+    updateTaskTableData() {
+      const start = (this.taskPageNum - 1) * this.taskPageSize;
+      const end = this.taskPageNum * this.taskPageSize;
+      this.taskTableData = this.allTaskTableData.slice(start, end);
+    },
+    handleCurrentChange(page) {
+      this.taskPageNum = page;
+      this.updateTaskTableData();
+    },
+
   },
   created() {
     // 从路由参数中获取id
@@ -835,6 +853,7 @@
       // 同时更新selectMemberData
       this.selectMemberData = [...this.members.processEngineer];
     }
+    this.updateTaskTableData(); // 初始化时同步一次
   }
 };
 </script>

--
Gitblit v1.7.1