From d8d68a0aee93073b5ec3195368ca0ed1076f66a2 Mon Sep 17 00:00:00 2001
From: 董国庆 <364620639@qq.com>
Date: 星期三, 25 六月 2025 17:58:08 +0800
Subject: [PATCH] 对接评定接口和中台待办事项

---
 laboratory/src/views/deliveryAssessment/testerWorkerEvaluate/index.vue |  117 +++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 82 insertions(+), 35 deletions(-)

diff --git a/laboratory/src/views/deliveryAssessment/testerWorkerEvaluate/index.vue b/laboratory/src/views/deliveryAssessment/testerWorkerEvaluate/index.vue
index 493ab7f..636f7d7 100644
--- a/laboratory/src/views/deliveryAssessment/testerWorkerEvaluate/index.vue
+++ b/laboratory/src/views/deliveryAssessment/testerWorkerEvaluate/index.vue
@@ -5,54 +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.projectName" placeholder="请输入" />
                     </el-form-item>
                     <el-form-item label="实验编号:">
-                        <el-input v-model="form.name" placeholder="请输入" />
+                        <el-input v-model="form.experimentNo" placeholder="请输入" />
                     </el-form-item>
                     <el-form-item label="实验名称:">
-                        <el-input v-model="form.name" placeholder="请输入" />
+                        <el-input v-model="form.experimentName" placeholder="请输入" />
                     </el-form-item>
                     <el-form-item label="评定时间:">
-                        <el-date-picker v-model="value1" type="daterange" range-separator="至" start-placeholder="开始日期"
+                        <el-date-picker v-model="form.dateRange" type="daterange" range-separator="至" start-placeholder="开始日期"
                             end-placeholder="结束日期">
                         </el-date-picker>
                     </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="handleSearch">查询</el-button>
                     </el-form-item>
                 </el-form>
             </template>
             <template #setting>
                 <div class="tableTitle">
-                    <div class="flex a-center">
-                        <div class="title" :class="{ active: currentType === 'list' }"
-                            @click="handleTypeChange('list')">
+                    <div class="flex a-center ">
+                        <div class="title active" >
                             实验员工作评定列表</div>
-                        <div class="drafts" :class="{ active: currentType === 'draft' }"
-                            @click="handleTypeChange('draft')">草稿箱</div>
+                       
                     </div>
                     <el-button @click="handleAdd" class="el-icon-plus" type="primary">
                         新增实验员工作评定</el-button>
                 </div>
             </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="teamName" label="所属项目课题方案" />
+                <el-table-column prop="experimentCode" label="实验编号" />
+                <el-table-column prop="experimentName" label="实验名称" />
+                <el-table-column prop="chemistName" label="被评定实验员" />
+                <el-table-column prop="chemistIntegral" label="评定分数" />
+                <el-table-column prop="evaluateTime" label="评定时间" />
+                <el-table-column label="操作" width="180">
                     <template #default="{ row }">
-                        <el-tag v-if="row.status == 1" type="info" color="#fff">已评定</el-tag>
-                        <el-tag v-else type="success">待评定</el-tag>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="age" label="操作">
-                    <template #default="{ row }">
-                        <el-button type="text" @click="assessmentVisible = true">详情</el-button>
+                        <el-button type="text" style="color: #1890ff" @click="handleDetail(row)">详情</el-button>
+                        <el-button type="text" style="color: #1890ff" @click="handleEdit(row)">编辑</el-button>
+                        <el-button type="text" style="color: #1890ff" @click="handleDelete(row)">删除</el-button>
                     </template>
                 </el-table-column>
             </template>
@@ -61,13 +55,17 @@
 </template>
 
 <script>
-
+import { chemistEvaluateList } from './service'
 export default {
     name: 'TesterWorkerEvaluate',
     data() {
         return {
             currentType: 'list', // 当前显示类型:list-列表,draft-草稿箱
             form: {
+                projectName: '',
+                experimentNo: '',
+                experimentName: '',
+                dateRange: []
             },
             tableData: [],
             queryForm: {
@@ -75,14 +73,52 @@
                 pageNum: 1
             },
             total: 0,
+            loading: false
         }
     },
     methods: {
-        handleAdd() {
-            this.$router.push({
-                path: '/deliveryAssessment/addTesterWorkerEvaluate'
-            })
+        async getList() {
+            this.loading = true
+            const params = {
+                ...this.queryForm,
+                projectName: this.form.projectName,
+                experimentNo: this.form.experimentNo,
+                experimentName: this.form.experimentName,
+                startTime: this.form.dateRange && this.form.dateRange[0] ? this.form.dateRange[0] : '',
+                endTime: this.form.dateRange && this.form.dateRange[1] ? this.form.dateRange[1] : ''
+            }
+            try {
+                const res = await chemistEvaluateList(params)
+                this.tableData = (res.data?.records || []).map(item => {
+                  let score = '';
+                  try {
+                    const json = typeof item.resultEvaluateJson === 'string'
+                      ? JSON.parse(item.resultEvaluateJson)
+                      : item.resultEvaluateJson;
+                    score = json?.score || '';
+                  } catch (e) {}
+                  return { ...item, score };
+                })
+                this.total = res.data?.total || 0
+            } finally {
+                this.loading = false
+            }
         },
+        handleSearch() {
+            this.queryForm.pageNum = 1
+            this.getList()
+        },
+        handleReset() {
+            this.form = {
+                projectName: '',
+                experimentNo: '',
+                experimentName: '',
+                dateRange: []
+            }
+            this.queryForm.pageNum = 1
+            this.getList()
+        },
+       
         handleCurrentChange(page) {
             this.queryForm.pageNum = page
             this.getList()
@@ -91,13 +127,24 @@
             this.queryForm.pageSize = size
             this.getList()
         },
-        getList() {
-
+        handleAdd() {
+            this.$router.push({
+                path: '/deliveryAssessment/addTesterWorkerEvaluate'
+            })
         },
-        handleTypeChange(type) {
-            this.currentType = type;
-            this.getList();
+        handleDetail(row) {
+            // 详情逻辑后续补充
         },
+        handleEdit(row) {
+            // 编辑逻辑后续补充
+        },
+        handleDelete(row) {
+            // 删除逻辑后续补充
+        }
+       
+    },
+    mounted() {
+        this.getList()
     }
 }
 </script>

--
Gitblit v1.7.1