董国庆
2025-06-19 4828e8d724a771a8535751e094d587cf578548a6
修改实验数据模块
5个文件已修改
88 ■■■■ 已修改文件
laboratory/src/App.vue 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory/src/components/SelectMember/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory/src/components/Table/index.vue 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory/src/views/dataManagement/dispatching/addDispatch.vue 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory/src/views/dataManagement/dispatching/list.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory/src/App.vue
@@ -142,6 +142,16 @@
      }
    }
    .el-pagination__sizes {
      .el-input__inner {
        width: 100px;
      }
    }
    .el-pagination__jump {
      .el-input__inner {
        width: 50px;
      }
    }
  }
  .el-dialog {
laboratory/src/components/SelectMember/index.vue
@@ -139,7 +139,7 @@
                delete params.roleIds;
                // TODO: 这里需要替换为新的接口调用
                const res = await listByRole(params);
                this.tableData = res;
                this.tableData = res.filter(item => item.roleId == 4 || item.roleId == 5);
            } else {
                const res = await getUserList(params);
                this.tableData = res.records;
laboratory/src/components/Table/index.vue
@@ -4,12 +4,20 @@
            <slot></slot>
        </el-table>
        <div v-if="total > 0">
            <el-pagination layout="slot, prev, pager, next, sizes, jumper" :page-size="queryForm.pageSize"
                :current-page="queryForm.pageNum" :total="total" @current-change="handleCurrentChange"
                @size-change="handleSizeChange" class="pagination">
            <el-pagination v-if="!disAblePagination" layout="slot, prev, pager, next, sizes, jumper"
                :page-size="queryForm.pageSize" :current-page="queryForm.pageNum"
                :total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange" class="pagination">
                <div class="pagination-info">第 {{ (queryForm.pageNum == 1) ? 1 : (queryForm.pageNum - 1) *
                    queryForm.pageSize + 1 }}-{{
                        queryForm.pageNum * queryForm.pageSize }} 条/总共 {{ total }} 条</div>
            </el-pagination>
            <el-pagination v-else layout="slot, prev, pager, next, jumper"
                :page-size="15" :current-page="queryForm.pageNum"
                :total="total" @current-change="handleCurrentChange"  class="pagination">
                <div class="pagination-info">第 {{ (queryForm.pageNum == 1) ? 1 : (queryForm.pageNum - 1) *
                    15 + 1 }}-{{
                        queryForm.pageNum * 15 }} 条/总共 {{ total }} 条</div>
            </el-pagination>
        </div>
    </div>
@@ -36,6 +44,10 @@
                }
            }
        },
        disAblePagination: {
            type: Boolean,
            default: false
        },
        height: {
            type: Number,
            default: () => Vue.prototype.$baseTableHeight()
@@ -54,7 +66,12 @@
            this.$emit('handleCurrentChange', page)
        },
        handleSizeChange(size) {
            this.$emit('handleSizeChange', size)
            if (this.disAblePagination) {
                return
            } else {
                this.$emit('handleSizeChange', size)
            }
        }
    }
}
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>
laboratory/src/views/dataManagement/dispatching/list.vue
@@ -81,7 +81,7 @@
          label="实验名称"
        ></el-table-column>
        <el-table-column
          prop="experimentDate"
          prop="createTime"
          label="通知时间"
        ></el-table-column>
        <el-table-column