| | |
| | | <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(scope.row)">评分</el-button> |
| | | <el-button v-if="scope.row.evaluationState ==0" type="primary" link @click="openEvaluate('add',scope.row)">考评与报销</el-button> |
| | | <el-button v-if="scope.row.evaluationState ==1" type="primary" link @click="openEvaluate('view',scope.row)">查看</el-button> |
| | | <el-button v-if="scope.row.evaluationState ==1" type="success" link @click="downloadFile(scope.row)">导出考评表</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | import {ElMessage} from "element-plus"; |
| | | import Evaluate from "./evaluate"; |
| | | import { |
| | | getExpertEvaDetail, |
| | | getProjectExpertEvaluationList, |
| | | } from "@/api/backManage/evaluate"; |
| | | import {generateWordDocument} from "@/views/safetyReview/projectManage/components/exportWord"; |
| | | const dialogVisible = ref(false); |
| | | const evaluateRef = ref() |
| | | const emit = defineEmits(["getList"]); |
| | |
| | | pageSize: 10 |
| | | }, |
| | | projectName: '', |
| | | deptName: '', |
| | | projectCheckTime: '', |
| | | title: '' |
| | | title: '', |
| | | rateList: [ |
| | | {label: '优秀',value: 1}, |
| | | {label: '合格',value: 2}, |
| | | {label: '基本合格',value: 3}, |
| | | {label: '不合格',value: 4} |
| | | ] |
| | | }) |
| | | const {tableData,total,queryParams,projectName,title,projectCheckTime} = toRefs(state) |
| | | const openDialog = async (type,value) => { |
| | |
| | | } |
| | | state.queryParams.id = value.id |
| | | state.projectName = value.projectName |
| | | state.deptName = value.deptName |
| | | state.projectCheckTime = value.projectCheckTime |
| | | await getEvaluationList() |
| | | dialogVisible.value = true; |
| | |
| | | } |
| | | } |
| | | |
| | | const openEvaluate = (value)=>{ |
| | | evaluateRef.value.openDialog(value,state.projectName,state.projectCheckTime) |
| | | |
| | | const downloadFile = async (val) => { |
| | | const res = await getExpertEvaDetail({projectExpertId: val.id}); |
| | | if(res.code == 200){ |
| | | let outData = res.data |
| | | outData.deptName = state.deptName |
| | | outData.name = val.name |
| | | outData.sex = val.sex == 0?'男':'女' |
| | | outData.domain = val.domain |
| | | outData.professionalEthics = state.rateList.find(i=>i.value == res.data.professionalEthics)?.label |
| | | outData.impartialHonest = state.rateList.find(i=>i.value == res.data.impartialHonest)?.label |
| | | outData.comprehensiveCoordination = state.rateList.find(i=>i.value == res.data.comprehensiveCoordination)?.label |
| | | outData.professionalAbility = state.rateList.find(i=>i.value == res.data.professionalAbility)?.label |
| | | outData.expressingOpinions = state.rateList.find(i=>i.value == res.data.expressingOpinions)?.label |
| | | outData.comprehensiveEvaluation = state.rateList.find(i=>i.value == res.data.comprehensiveEvaluation)?.label |
| | | try { |
| | | generateWordDocument('/evaluateFile.docx',outData, outData.name + '专家考评表.docx'); |
| | | } catch (error){ |
| | | ElMessage({ |
| | | type: 'warning', |
| | | message: '导出失败' |
| | | }); |
| | | } |
| | | }else{ |
| | | ElMessage.warning(res.msg) |
| | | } |
| | | // data.companyName = data.companyName != '' ? data.companyName: '-' |
| | | // data.projectCheckTime = data.projectCheckTime != '' ? data.projectCheckTime: '-' |
| | | // data.tableData = state.dataList.map(item => { |
| | | // return { |
| | | // ...item, |
| | | // ratingLevel: item.ratingLevel == 1 ? '一级' : item.ratingLevel == 2 ? '二级':item.ratingLevel == 3 ? '三级' : '', |
| | | // sex: item.sex == 0 ? '男' : '女', |
| | | // selectionMode: item.selectionMode == 1 ? '固定' : '随机', |
| | | // teamLeader: item.teamLeader == 1 ? '是' : '否', |
| | | // } |
| | | // }) |
| | | |
| | | }; |
| | | |
| | | const openEvaluate = (type,value)=>{ |
| | | evaluateRef.value.openDialog(type,value,state.projectName,state.projectCheckTime) |
| | | } |
| | | |
| | | const closeEvaluate = ()=>{ |