| | |
| | | <template> |
| | | <div class="list"> |
| | | <TableCustom :queryForm="queryForm" :tableData="tableData" :total="total" @currentChange="handleCurrentChange" |
| | | <TableCustom :queryForm="queryForm" :tableData="tableData" :total="total" :loading="loading" :height='null' @currentChange="handleCurrentChange" |
| | | @sizeChange="handleSizeChange"> |
| | | <template #search> |
| | | <el-form :model="form" label-width="140px" inline> |
| | | <el-form-item label="项目组名称:"> |
| | | <el-input v-model="form.groupName" placeholder="请输入" /> |
| | | <el-input v-model="form.teamName" placeholder="请输入" /> |
| | | </el-form-item> |
| | | <el-form-item label="任务内容:"> |
| | | <el-input v-model="form.taskContent" placeholder="请输入" /> |
| | |
| | | <el-button v-if="roleType==3" @click="handleAdd" class="el-icon-plus" type="primary">新增其他任务</el-button> |
| | | </template> |
| | | <template #table> |
| | | <el-table-column :prop="'projectTeam.teamName'" label="所属项目组" /> |
| | | <el-table-column prop="projectTeam" label="所属项目组" > |
| | | <template #default="{ row }"> |
| | | <el-tag v-if="row.teamName" type="info">{{ row.teamName }}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="taskContent" label="任务内容" /> |
| | | <el-table-column prop="taskTime" label="任务时间" /> |
| | | <el-table-column prop="testerName" label="添加人" /> |
| | | <el-table-column prop="createBy" label="添加人" /> |
| | | <el-table-column prop="evaluateScore" label="评定积分" /> |
| | | <el-table-column label="累计分数"> |
| | | <template #default> |
| | | <!-- 累计分数接口未返回,留空或后端补充 --> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="evaluateTime" label="评定时间" /> |
| | | <el-table-column prop="createTime" label="评定时间" /> |
| | | <el-table-column label="操作"> |
| | | <template #default="{ row }"> |
| | | <el-button type="text" @click="handleDetail(row)">详情</el-button> |
| | |
| | | </template> |
| | | </TableCustom> |
| | | |
| | | <Detail :modelValue="assessmentVisible" :reportData="currentReport" :type="detailType" @close="assessmentVisible = false" /> |
| | | <Detail :modelValue="assessmentVisible" :type="detailType" :id="currentId" @close="closeDetail" /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import Detail from './components/detail.vue' |
| | | import { pageList, getDetailById } from './service.js' |
| | | import { pageList } from './service.js' |
| | | |
| | | export default { |
| | | name: 'RestsTask', |
| | |
| | | }, |
| | | total: 0, |
| | | assessmentVisible: false, |
| | | currentReport: {}, |
| | | detailType: 'detail', |
| | | detailType: '', |
| | | currentId: null, |
| | | loading: false, |
| | | roleType:'', |
| | | } |
| | |
| | | this.queryForm.pageNum = 1; |
| | | this.getList(); |
| | | }, |
| | | closeDetail() { |
| | | this.assessmentVisible = false; |
| | | this.getList(); |
| | | }, |
| | | handleAdd() { |
| | | this.currentReport = { |
| | | assignee: '', |
| | | taskContent: '', |
| | | taskTime: '', |
| | | score: '', |
| | | memberList: [] // 这里需要你根据实际情况传入项目组成员 |
| | | }; |
| | | this.detailType = 'add'; |
| | | this.currentId = null; |
| | | this.assessmentVisible = true; |
| | | }, |
| | | handleDetail(row) { |
| | | if (!row || !row.id) return; |
| | | getDetailById({ id: row.id }).then(res => { |
| | | if (res && res.data) { |
| | | this.currentReport = res.data; |
| | | this.detailType = 'detail'; |
| | | this.assessmentVisible = true; |
| | | } |
| | | }); |
| | | }, |
| | | handleAssessment(row) { |
| | | this.currentReport = row; |
| | | this.detailType = 'detail'; |
| | | this.currentId = row.id; |
| | | this.assessmentVisible = true; |
| | | }, |
| | | } |