From 81eb726dec221cce6e0be422a69c01916ac13bf0 Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期二, 26 十一月 2024 09:26:47 +0800 Subject: [PATCH] 新增 --- src/views/safetyReview/expertManage/postEvaluation/components/expertList.vue | 120 ++++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 76 insertions(+), 44 deletions(-) diff --git a/src/views/safetyReview/expertManage/postEvaluation/components/expertList.vue b/src/views/safetyReview/expertManage/postEvaluation/components/expertList.vue index ee97f29..d5a6e59 100644 --- a/src/views/safetyReview/expertManage/postEvaluation/components/expertList.vue +++ b/src/views/safetyReview/expertManage/postEvaluation/components/expertList.vue @@ -2,42 +2,62 @@ <div class="notice"> <el-dialog v-model="dialogVisible" - title="专家评估" + :title="title" width="75%" + @close="closeEvaluate" > <el-table :data="tableData" border style="width: 100%"> <el-table-column type="index" width="55" align="center" /> <el-table-column label="姓名" align="center" prop="name" /> - <el-table-column label="性别" align="center" prop="birthday" /> - <el-table-column label="身份证号" align="center" prop="birthday" /> - <el-table-column label="等级" align="center" prop="degree" /> - <el-table-column label="专业领域" align="center"> + <el-table-column label="性别" align="center" prop="sex"> <template #default="scope"> - {{findNodeById(expertTypes,scope.row.bigClassify)}}/{{findNodeById(expertTypes,scope.row.smallClassify)}} + {{scope.row.sex == 0?'男':scope.row.sex == 1?'女':'未知'}} </template> </el-table-column> - <el-table-column label="选用方式" align="center" prop="birthday" /> - <el-table-column label="是否为组长" align="center" prop="degree" /> - <el-table-column label="评估状态" align="center" prop="state"> + <el-table-column label="身份证号" align="center" prop="idCard" /> + <el-table-column label="等级" align="center" prop="ratingLevel"> <template #default="scope"> - <el-tag :type="scope.row.state==0?'info':scope.row.state==1?'':scope.row.state==2?'success':scope.row.state==3?'danger':'warning'"> - {{scope.row.state==0?'暂存':scope.row.state==1?'审核中':scope.row.state==2?'审核通过':scope.row.state==3?'审核驳回':scope.row.state==4?'已作废':'--'}} + {{scope.row.ratingLevel == 1?'一级':scope.row.ratingLevel == 2?'二级':scope.row.ratingLevel == 3?'三级':'暂无'}} + </template> + </el-table-column> + <el-table-column label="专业领域" align="center" prop="domain"/> + <el-table-column label="选用方式" align="center" prop="selectionMode"> + <template #default="scope"> + {{scope.row.selectionMode == 1?'固定':scope.row.selectionMode == 2?'随机':'其他'}} + </template> + </el-table-column> + <el-table-column label="是否为组长" align="center" prop="teamLeader"> + <template #default="scope"> + {{scope.row.teamLeader == 0?'否':scope.row.teamLeader == 1?'是':'未知'}} + </template> + </el-table-column> + <el-table-column label="评估状态" align="center" prop="evaluationState"> + <template #default="scope"> + <el-tag :type="scope.row.evaluationState == 0?'info':scope.row.evaluationState==1?'success':''"> + {{scope.row.evaluationState ==0?'未评估':scope.row.evaluationState==1?'已评估':'--'}} </el-tag> </template> </el-table-column> - <el-table-column label="考评总分" align="center" prop="degree" /> - <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> + <el-table-column label="考评总分" align="center" prop="score" /> + <el-table-column v-if="title == '专家评估'" label="操作" align="center" class-name="small-padding fixed-width"> <template #default="scope"> - <el-button type="primary" link @click="openEvaluate()">评分</el-button> + <el-button type="primary" link @click="openEvaluate(scope.row)">评分</el-button> </template> </el-table-column> </el-table> + <pagination + v-show="total > 0" + :total="total" + v-model:page="queryParams.pageNum" + v-model:limit="queryParams.pageSize" + @pagination="getEvaluationList" + /> <template #footer> <span class="dialog-footer"> - <el-button type="primary" @click="dialogVisible = false" size="default" v-preReClick>确认</el-button> + <el-button type="primary" @click="closeEvaluate" size="default" v-preReClick>确认</el-button> </span> </template> - <evaluate ref="evaluateRef"></evaluate> + <evaluate ref="evaluateRef" @getList="getEvaluationList()"></evaluate> </el-dialog> </div> </template> @@ -45,43 +65,55 @@ import {reactive, ref, toRefs} from 'vue' import {ElMessage} from "element-plus"; import Evaluate from "./evaluate"; -import {addDict, editDict, getDictDetail} from "@/api/backManage/evaluate"; +import { + getProjectExpertEvaluationList, +} from "@/api/backManage/evaluate"; const dialogVisible = ref(false); const evaluateRef = ref() -const title = ref(""); const emit = defineEmits(["getList"]); const state = reactive({ - - + tableData: [], + total: null, + queryParams: { + id: null, + pageNum: 1, + pageSize: 10 + }, + projectName: '', + projectCheckTime: '', + title: '' }) - -const openDialog = async (type, value) => { - if(type === 'edit') { - state.form = value; - const param = { - dictId: value.id - } - const res = await getDictDetail(param); - if(res.code === 200){ - state.form = res.data - }else{ - ElMessage.warning(res.message) - } - } - dialogVisible.value = true; +const {tableData,total,queryParams,projectName,title,projectCheckTime} = toRefs(state) +const openDialog = async (type,value) => { + if(type == 'view'){ + state.title = '专家列表' + }else{ + state.title = '专家评估' + } + state.queryParams.id = value.id + state.projectName = value.projectName + state.projectCheckTime = value.projectCheckTime + await getEvaluationList() + dialogVisible.value = true; } -const openEvaluate = ()=>{ - // evaluateRef.value.openDialog() +const getEvaluationList = async () => { + const res = await getProjectExpertEvaluationList(state.queryParams) + if(res.code == 200){ + state.tableData = res.rows + state.total = res.total + }else{ + ElMessage.warning(res.msg) + } } -const reset = () => { - state.form = { - id: '', - label: '', - value: '', - dictType: "sys_assess_type", - } +const openEvaluate = (value)=>{ + evaluateRef.value.openDialog(value,state.projectName,state.projectCheckTime) +} + +const closeEvaluate = ()=>{ + dialogVisible.value = false + emit('getList') } defineExpose({ -- Gitblit v1.9.2