From 29357b29ab363dae9d9688da1b580479bd7334a7 Mon Sep 17 00:00:00 2001
From: 董国庆 <364620639@qq.com>
Date: 星期二, 24 六月 2025 09:52:00 +0800
Subject: [PATCH] 化验师QA换真实上传

---
 laboratory/src/views/deliveryAssessment/restsTask/index.vue |   90 +++++++++++++++++++++++++++++++++++---------
 1 files changed, 71 insertions(+), 19 deletions(-)

diff --git a/laboratory/src/views/deliveryAssessment/restsTask/index.vue b/laboratory/src/views/deliveryAssessment/restsTask/index.vue
index 4d5cd5b..5c92bcf 100644
--- a/laboratory/src/views/deliveryAssessment/restsTask/index.vue
+++ b/laboratory/src/views/deliveryAssessment/restsTask/index.vue
@@ -5,44 +5,48 @@
             <template #search>
                 <el-form :model="form" label-width="140px" inline>
                     <el-form-item label="项目组名称:">
-                        <el-input v-model="form.name" placeholder="请输入" />
+                        <el-input v-model="form.groupName" placeholder="请输入" />
                     </el-form-item>
                     <el-form-item label="任务内容:">
-                        <el-input v-model="form.name" placeholder="请输入" />
+                        <el-input v-model="form.taskContent" placeholder="请输入" />
                     </el-form-item>
                     <el-form-item class="search-btn-box">
-                        <el-button>重置</el-button>
-                        <el-button type="primary">查询</el-button>
+                        <el-button @click="handleReset">重置</el-button>
+                        <el-button type="primary" @click="getList">查询</el-button>
                     </el-form-item>
                 </el-form>
             </template>
             <!-- 工艺工程师 -->
             <template #setting>
-                <el-button @click="assessmentVisible = true, currentReport = {}" class="el-icon-plus" type="primary">
-                    新增其他任务</el-button>
+                <el-button v-if="roleType==3" @click="handleAdd" class="el-icon-plus" type="primary">新增其他任务</el-button>
             </template>
             <template #table>
-                <el-table-column prop="name" label="所属项目组" />
-                <el-table-column prop="age" label="任务内容" />
-                <el-table-column prop="age" label="任务时间" />
-                <el-table-column prop="age" label="添加人" />
-                <el-table-column prop="age" label="评定积分" />
-                <el-table-column prop="age" label="累计分数" />
-                <el-table-column prop="age" label="评定时间" />
-                <el-table-column prop="age" label="操作">
+                <el-table-column :prop="'projectTeam.teamName'" label="所属项目组" />
+                <el-table-column prop="taskContent" label="任务内容" />
+                <el-table-column prop="taskTime" label="任务时间" />
+                <el-table-column prop="testerName" 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 label="操作">
                     <template #default="{ row }">
-                        <el-button type="text">详情</el-button>
+                        <el-button type="text" @click="handleDetail(row)">详情</el-button>
                     </template>
                 </el-table-column>
             </template>
         </TableCustom>
 
-        <Detail :modelValue="assessmentVisible" :reportData="currentReport" />
+        <Detail :modelValue="assessmentVisible" :reportData="currentReport" :type="detailType" @close="assessmentVisible = false" />
     </div>
 </template>
 
 <script>
 import Detail from './components/detail.vue'
+import { pageList, getDetailById } from './service.js'
 
 export default {
     name: 'RestsTask',
@@ -52,6 +56,8 @@
     data() {
         return {
             form: {
+                groupName: '',
+                taskContent: ''
             },
             tableData: [],
             queryForm: {
@@ -60,8 +66,16 @@
             },
             total: 0,
             assessmentVisible: false,
-            currentReport: {}
+            currentReport: {},
+            detailType: 'detail',
+            loading: false,
+            roleType:'',
         }
+    },
+    mounted() {
+        this.getList();
+        const userInfo = JSON.parse(sessionStorage.getItem('userInfo'));
+        this.roleType = userInfo?.roleType;
     },
     methods: {
         handleCurrentChange(page) {
@@ -73,10 +87,48 @@
             this.getList()
         },
         getList() {
-
+            this.loading = true;
+            const params = {
+                ...this.form,
+                ...this.queryForm
+            };
+            pageList(params).then(res => {
+                if (res && res.data) {
+                    this.tableData = res.data.records || [];
+                    this.total = res.data.total || 0;
+                }
+            }).finally(() => {
+                this.loading = false;
+            });
+        },
+        handleReset() {
+            this.form = {
+                groupName: '',
+                taskContent: ''
+            };
+            this.queryForm.pageNum = 1;
+            this.getList();
+        },
+        handleAdd() {
+            this.currentReport = {
+                assignee: '',
+                taskContent: '',
+                taskTime: '',
+                score: '',
+                memberList: [] // 这里需要你根据实际情况传入项目组成员
+            };
+            this.detailType = 'add';
+            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;

--
Gitblit v1.7.1