董国庆
2025-06-25 d8d68a0aee93073b5ec3195368ca0ed1076f66a2
laboratory/src/views/deliveryAssessment/restsTask/index.vue
@@ -1,11 +1,11 @@
<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="请输入" />
@@ -21,17 +21,21 @@
                <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>
@@ -40,13 +44,13 @@
            </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',
@@ -66,8 +70,8 @@
            },
            total: 0,
            assessmentVisible: false,
            currentReport: {},
            detailType: 'detail',
            detailType: '',
            currentId: null,
            loading: false,
            roleType:'',
        }
@@ -109,29 +113,19 @@
            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;
        },
    }