<template>
|
<div class="riskBox">
|
<el-table v-loading="loading" ref="tableRef" :data="tableData" :border="true" style="margin-top: 20px">
|
<el-table-column label="序号" type="index" width="55" />
|
<el-table-column label="人员姓名" prop="planPerson.person.name" align="center"/>
|
<el-table-column label="联系电话" prop="planPerson.person.phone" align="center"/>
|
<el-table-column label="职位" prop="planPerson.person.post" align="center"/>
|
<el-table-column label="项目担任角色" prop="username" align="center">
|
<template #default="scope">
|
<span>{{ scope.row.planPerson.playRole === 1?'项目负责人': scope.row.planPerson.playRole === 2?
|
'项目组成员':scope.row.planPerson.playRole === 3?
|
'过程控制负责人':scope.row.planPerson.playRole === 4?
|
'机构评价负责人':scope.row.planPerson.playRole === 5?
|
'技术负责人':scope.row.planPerson.playRole === 6?'内部审核员':''}}
|
</span>
|
</template>
|
</el-table-column>
|
<el-table-column label="评价师等级" prop="planPerson.person.level" align="center"/>
|
<el-table-column label="专业能力" prop="planPerson.person.majorNames" align="center"/>
|
<el-table-column label="工作类型" align="center">
|
<template #default="scope">
|
<span>{{scope.row.planPerson.jobType === 1 ? '普通人员' : scope.row.planPerson.jobType === 2?'组长': ''}}</span>
|
</template>
|
</el-table-column>
|
<el-table-column label="扫脸时间" prop="faceRecord.updateTime" align="center" width="120"/>
|
<el-table-column label="是否扫脸" prop="username" align="center">
|
<template #default="scope">
|
<span v-if="scope.row.facePic.length>0">是</span>
|
<span v-else>否</span>
|
</template>
|
</el-table-column>
|
<!-- <el-table-column label="是否变更" prop="username" align="center"/>-->
|
<el-table-column label="人脸照片" prop="socialSecurity" align="center" width="120">
|
<template #default="scope">
|
<div class="demo-image__preview" v-if="scope.row.facePic && scope.row.facePic.length>0">
|
<el-image
|
style="width: 100px; height: 100px"
|
:src= "scope.row.facePic[0]"
|
:zoom-rate="1.2"
|
:max-scale="7"
|
:min-scale="0.2"
|
:preview-src-list="scope.row.facePic"
|
:initial-index="0"
|
fit="cover"
|
:preview-teleported=true
|
/>
|
</div>
|
</template>
|
</el-table-column>
|
<el-table-column label="签字图片" prop="socialSecurity" align="center" width="120">
|
<template #default="scope">
|
<div class="demo-image__preview" v-if="scope.row.signPic && scope.row.signPic.length>0">
|
<el-image
|
style="width: 100px; height: 100px"
|
:src= "scope.row.signPic[0]"
|
:zoom-rate="1.2"
|
:max-scale="7"
|
:min-scale="0.2"
|
:preview-src-list="scope.row.signPic"
|
:initial-index="0"
|
fit="cover"
|
:preview-teleported=true
|
/>
|
</div>
|
</template>
|
</el-table-column>
|
<el-table-column label="承诺书" prop="socialSecurity" align="center" width="120">
|
<template #default="scope">
|
<div class="demo-image__preview" v-if="scope.row.commitPic && scope.row.commitPic.length>0">
|
<el-image
|
style="width: 100px; height: 100px"
|
:src= "scope.row.commitPic[0]"
|
:zoom-rate="1.2"
|
:max-scale="7"
|
:min-scale="0.2"
|
:preview-src-list="scope.row.commitPic"
|
:initial-index="0"
|
fit="cover"
|
:preview-teleported=true
|
/>
|
</div>
|
</template>
|
</el-table-column>
|
</el-table>
|
</div>
|
</template>
|
<script setup>
|
|
import {defineEmits, defineProps, onMounted, reactive, ref, toRefs} from "vue";
|
import {ElMessage} from "element-plus";
|
import {Search} from '@element-plus/icons-vue'
|
import {
|
addFaceRecognition,
|
addRisk, checkAll,
|
editRisk,
|
getRecognitionDetail,
|
getRiskDetail
|
} from "@/api/projectManage/riskAnalysis"
|
import {delPic} from "@/api/login"
|
import { getToken } from "@/utils/auth";
|
import Cookies from "js-cookie"
|
import {getDetail} from "@/api/projectManage/contractMng";
|
const emit = defineEmits(["getNextStatus"]);
|
const props = defineProps(['projectId'])
|
const state = reactive({
|
loading: false,
|
queryParams: {
|
pageNum: 1,
|
pageSize: 10,
|
},
|
total: 0,
|
tableData: []
|
})
|
|
const {loading,queryParams,total,tableData} = toRefs(state)
|
|
const isAmin = ref(false)
|
const formRef = ref()
|
onMounted(() => {
|
const userInfo = JSON.parse(Cookies.get('userInfo'))
|
if(userInfo.identity === 0){
|
isAmin.value = true;
|
}
|
if(props.projectId){
|
getRecognition(props.projectId);
|
}
|
})
|
const getRecognition = async (val) =>{
|
const res = await getRecognitionDetail({projectId: val});
|
if(res.code == 200){
|
state.tableData = res.data.map(item => {
|
return {
|
...item,
|
facePic: item.faceRecord.facePath ? [import.meta.env.VITE_APP_BASE_API + '/' + item.faceRecord.facePath ] : [],
|
signPic: item.signPath ? [import.meta.env.VITE_APP_BASE_API + '/' + item.signPath] : [],
|
commitPic: item.insurancePath ? [import.meta.env.VITE_APP_BASE_API + '/' + item.insurancePath] : [],
|
}
|
})
|
console.log("res", state.tableData)
|
}else {
|
ElMessage.warning(res.message)
|
}
|
}
|
|
|
|
const riskOpen = async (type,val) => {
|
// if((type === 'detail' || type === 'edit') && !props.projectId){
|
// getRecognition(val);
|
// }
|
if(type === 'add' || type === 'clickEdit') {
|
if (isAmin.value) {
|
ElMessage.warning("当前用户暂无权限");
|
return;
|
}
|
if(type === 'add'){
|
const res = await addFaceRecognition({projectId: val});
|
if (res.code == 200) {
|
ElMessage.success('保存成功')
|
emit('getNextStatus', val);
|
} else {
|
ElMessage.warning(res.message)
|
}
|
}
|
}
|
}
|
|
defineExpose({
|
riskOpen
|
});
|
|
|
</script>
|
<style scoped lang="scss">
|
.riskBox{
|
:deep(.el-form .el-form-item__label) {
|
font-size: 15px;
|
}
|
}
|
|
</style>
|