| | |
| | | @click="openDialog('add',{})" |
| | | >新增</el-button> |
| | | </div> |
| | | <div style="margin-top: 15px;margin-bottom: 15px"> |
| | | <div style="margin-top: 15px;margin-bottom: 15px;"> |
| | | <el-radio-group v-model="queryParams.expertType"> |
| | | <el-radio-button label="">全部</el-radio-button> |
| | | <el-radio-button label="1">安全评价</el-radio-button> |
| | | <el-radio-button label="2">检验检测</el-radio-button> |
| | | </el-radio-group> |
| | | |
| | | </div> |
| | | <div style="margin-bottom: 20px"><span style="font-size: 16px;color: #ed5565;">提示:疆外企业无需上传社保、医保、工资清单,疆内企业需每季度进行更新。</span></div> |
| | | <div style="margin-bottom: 15px; display: flex;align-items: center"> |
| | | <el-input |
| | | v-model="queryParams.name" |
| | |
| | | placeholder="手机号" |
| | | style="width: 220px;margin-right: 12px" |
| | | /> |
| | | <el-select |
| | | v-model="queryParams.agencyName" |
| | | filterable |
| | | remote |
| | | @change="selectValue" |
| | | reserve-keyword |
| | | placeholder="所属机构" |
| | | remote-show-suffix |
| | | :remote-method="getCompanyList" |
| | | :loading="loadingCompany" |
| | | style="width: 240px;margin-right: 12px" |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="item in data.companyList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.name" |
| | | /> |
| | | </el-select> |
| | | <el-select v-model="queryParams.level" style="width: 220px;margin-right: 12px" placeholder="评价师等级" > |
| | | <el-option |
| | | v-for="item in levelList" |
| | |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | <el-select v-model="queryParams.post" style="width: 220px;margin-right: 12px" placeholder="请选择职务"> |
| | | <el-select v-model="queryParams.post" style="width: 220px;margin-right: 12px" placeholder="职务"> |
| | | <el-option |
| | | v-for="item in postList" |
| | | :key="item.id" |
| | |
| | | |
| | | <!-- 表格数据 --> |
| | | <el-table v-loading="loading" :data="dataList" :border="true"> |
| | | <el-table-column label="用户ID" prop="id" align="center" /> |
| | | <el-table-column label="序号" type="index" align="center" width="60" /> |
| | | <el-table-column label="姓名" prop="name" align="center" width="110" /> |
| | | <el-table-column label="手机号" prop="phone" align="center" width="125" /> |
| | | <el-table-column label="用户名" prop="username" align="center" width="110" /> |
| | |
| | | import {getDictList} from "@/api/backManage/evaluate"; |
| | | import {ElMessage, ElMessageBox} from "element-plus"; |
| | | import projectDialog from "./components/projectDialog.vue"; |
| | | import noPic from '@/assets/images/noPic.png' |
| | | import Cookies from "js-cookie"; |
| | | import {delMonitor, getExpertList, getMonitorList} from "@/api/sysUsers"; |
| | | import {getAllAgency} from "@/api/backManage/insitution"; |
| | | const { proxy } = getCurrentInstance(); |
| | | const loading = ref(false); |
| | | const expertRef = ref(); |
| | |
| | | phone: '', |
| | | level: '', |
| | | major: null, |
| | | post: '' |
| | | post: '', |
| | | agencyName: '' |
| | | }, |
| | | total: 0, |
| | | dataList: [], |
| | |
| | | id: '5', |
| | | name: '员工' |
| | | }, |
| | | ] |
| | | ], |
| | | companyList: [] |
| | | }); |
| | | |
| | | const { queryParams, total, dataList, majorList, levelList, postList } = toRefs(data); |
| | |
| | | getList() |
| | | getMajor() |
| | | }) |
| | | const loadingCompany = ref(false) |
| | | const getCompanyList = async (val)=>{ |
| | | if(val != ""){ |
| | | loadingCompany.value = true; |
| | | const queryParams = { |
| | | name: val |
| | | } |
| | | const res = await getAllAgency(queryParams) |
| | | if (res.code == 200) { |
| | | loadingCompany.value = false; |
| | | data.companyList = res.data |
| | | |
| | | } else { |
| | | ElMessage.warning(res.message) |
| | | } |
| | | } |
| | | } |
| | | const getList = async () => { |
| | | loading.value = true |
| | | const res = await getExpertList(data.queryParams) |
| | |
| | | data.dataList = res.data.list.map(item => { |
| | | return{ |
| | | ...item, |
| | | socialAttach: item.socialAttach.map(s => { return import.meta.env.VITE_APP_BASE_API + '/' + s.path}), |
| | | medicalAttach: item.medicalAttach.map(s => { return import.meta.env.VITE_APP_BASE_API + '/' + s.path}), |
| | | salaryAttach: item.salaryAttach.map(s => { return import.meta.env.VITE_APP_BASE_API + '/' + s.path}), |
| | | idPhoto: item.idPhoto ? [import.meta.env.VITE_APP_BASE_API + '/' + item.idPhoto ] : [], |
| | | lastEstimateTime: item.personProjectVO ? item.personProjectVO.lastEstimateTime : '', |
| | | socialAttach: item.socialAttach.length >0 ?item.socialAttach.map(s => { return import.meta.env.VITE_APP_BASE_API + '/' + s.path}): [noPic], |
| | | medicalAttach: item.medicalAttach.length > 0 ?item.medicalAttach.map(s => { return import.meta.env.VITE_APP_BASE_API + '/' + s.path}):[noPic], |
| | | salaryAttach: item.salaryAttach.length > 0 ? item.salaryAttach.map(s => { return import.meta.env.VITE_APP_BASE_API + '/' + s.path}):[noPic], |
| | | idPhoto: item.idPhoto ? [import.meta.env.VITE_APP_BASE_API + '/' + item.idPhoto ] : [noPic], |
| | | lastEstimateTime: item.personProjectVO ? item.personProjectVO.lastEstimateTime.slice(0,10) : '', |
| | | projectCount: item.personProjectVO ? item.personProjectVO.projectCount : '' |
| | | } |
| | | }) |
| | |
| | | phone: '', |
| | | level: '', |
| | | major: null, |
| | | post: '' |
| | | post: '', |
| | | agencyName: '' |
| | | } |
| | | data.companyList = [] |
| | | getList() |
| | | } |
| | | |
| | |
| | | }) |
| | | } |
| | | |
| | | const selectValue = (val) => { |
| | | console.log('val',val) |
| | | if(val == ""){ |
| | | data.companyList = [] |
| | | } |
| | | // data.companyList.forEach(item => { |
| | | // if(item.name === val){ |
| | | // data.queryParams.companyId = item.id |
| | | // } |
| | | // }) |
| | | } |
| | | |
| | | </script> |
| | | <style scoped lang="scss"> |
| | | .demo-image__error .image-slot { |