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