| | |
| | | |
| | | <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> |
| | |
| | | ], |
| | | }, |
| | | groupTableData: [], |
| | | taskTableData: [], |
| | | taskTableData: [], // 当前页展示的数据 |
| | | allTaskTableData: [], // 全部任务数据 |
| | | taskPageNum: 1, |
| | | taskPageSize: 15, |
| | | members: { |
| | | processEngineer: [], // 工艺工程师 |
| | | experimenter: [], // 实验员 |
| | |
| | | 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) |
| | | // 删除后判断是否需要跳页 |
| | | const maxPage = Math.ceil(this.allTaskTableData.length / this.taskPageSize) || 1; |
| | | if (this.taskPageNum > maxPage) { |
| | | this.taskPageNum = maxPage; |
| | | } |
| | | 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.taskPageNum = 1; // 新增后回到第一页 |
| | | } |
| | | this.updateTaskTableData(); |
| | | // 更新表单数据 |
| | | this.form.experimentDispatchTasks = this.taskTableData; |
| | | this.form.experimentDispatchTasks = this.allTaskTableData; |
| | | }, |
| | | // 获取所有编辑器的内容 |
| | | getAllEditorContent() { |
| | |
| | | } |
| | | // 设置表格数据 |
| | | this.groupTableData = data.experimentDispatchGroups || [] |
| | | this.taskTableData = data.experimentDispatchTasks || [] |
| | | this.allTaskTableData = data.experimentDispatchTasks || [] |
| | | this.updateTaskTableData(); |
| | | |
| | | // 处理参与人员数据 |
| | | this.members = { |
| | |
| | | } 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 |
| | |
| | | // 同时更新selectMemberData |
| | | this.selectMemberData = [...this.members.processEngineer]; |
| | | } |
| | | this.updateTaskTableData(); // 初始化时同步一次 |
| | | } |
| | | }; |
| | | </script> |