|
|
@ -1,15 +1,17 @@ |
|
|
|
<template> |
|
|
|
<template> |
|
|
|
<div class="container" style="padding: 30px !important"> |
|
|
|
<div class="container" style="padding: 30px !important"> |
|
|
|
<el-tabs v-model="activeName" @tab-click="handleClick"> |
|
|
|
<el-tabs v-model="activeName" @tab-click="handleClick"> |
|
|
|
<el-tab-pane label="个人认证" name="first"></el-tab-pane> |
|
|
|
<el-tab-pane label="云员工认证" name="first"></el-tab-pane> |
|
|
|
<el-tab-pane label="企业认证" name="second"></el-tab-pane> |
|
|
|
<el-tab-pane label="企业认证" name="second"></el-tab-pane> |
|
|
|
</el-tabs> |
|
|
|
</el-tabs> |
|
|
|
|
|
|
|
|
|
|
|
<el-table v-if="activeName == 'first'" v-loading="loading" :data="ApplicationReviewList"> |
|
|
|
<el-table v-if="activeName === 'first'" v-loading="loading" :data="ApplicationReviewList"> |
|
|
|
<el-table-column label="用户编号" align="center" prop="userId" /> |
|
|
|
<el-table-column label="用户编号" align="center" prop="userId" /> |
|
|
|
<el-table-column label="姓名" align="center" prop="name" /> |
|
|
|
<el-table-column label="姓名" align="center" prop="name" /> |
|
|
|
<el-table-column label="身份证号" align="center" prop="idNumber" /> |
|
|
|
<el-table-column label="身份证号" align="center" prop="idNumber" /> |
|
|
|
<el-table-column label="状态" align="center" prop="loginDate" width="180"> |
|
|
|
<el-table-column label="所在城市" align="center" prop="city" /> |
|
|
|
|
|
|
|
<el-table-column label="技能" align="center" prop="testSkills" /> |
|
|
|
|
|
|
|
<el-table-column label="状态" align="center" prop="status" width="180"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<span v-if="scope.row.status == 0" style="color: #e6a23c">未审核</span> |
|
|
|
<span v-if="scope.row.status == 0" style="color: #e6a23c">未审核</span> |
|
|
|
<span v-if="scope.row.status == 1" style="color: #0952c8">待审核</span> |
|
|
|
<span v-if="scope.row.status == 1" style="color: #0952c8">待审核</span> |
|
|
@ -33,18 +35,18 @@ |
|
|
|
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleUpdate('del', scope.row)" |
|
|
|
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleUpdate('del', scope.row)" |
|
|
|
>删除</el-button |
|
|
|
>删除</el-button |
|
|
|
> |
|
|
|
> |
|
|
|
<el-button size="mini" type="text" icon="el-icon-view" @click="handleUpdate('senk', scope.row)" |
|
|
|
<el-button size="mini" type="text" icon="el-icon-view" @click="cloudUserDetail(scope.row)" |
|
|
|
>查看详情</el-button |
|
|
|
>查看详情</el-button |
|
|
|
> |
|
|
|
> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
</el-table> |
|
|
|
|
|
|
|
|
|
|
|
<el-table v-if="activeName == 'second'" v-loading="loading" :data="companyApplyList"> |
|
|
|
<el-table v-else-if="activeName === 'second'" :data="companyApplyList"> |
|
|
|
<el-table-column label="公司编号" align="center" prop="applyId" /> |
|
|
|
<el-table-column label="公司编号" align="center" prop="applyId" /> |
|
|
|
<el-table-column label="姓名" align="center" prop="name" /> |
|
|
|
<el-table-column label="姓名" align="center" prop="name" /> |
|
|
|
<el-table-column label="公司名称" align="center" prop="companyDesc" /> |
|
|
|
<el-table-column label="公司名称" align="center" prop="companyDesc" /> |
|
|
|
<el-table-column label="状态" align="center" prop="loginDate" width="180"> |
|
|
|
<el-table-column label="状态" align="center" prop="status" width="180"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<span v-if="scope.row.status == 0" style="color: #e6a23c">待审核</span> |
|
|
|
<span v-if="scope.row.status == 0" style="color: #e6a23c">待审核</span> |
|
|
|
<span v-if="scope.row.status == 1" style="color: #67c23a">审核通过</span> |
|
|
|
<span v-if="scope.row.status == 1" style="color: #67c23a">审核通过</span> |
|
|
@ -262,8 +264,10 @@ |
|
|
|
width="1000px" |
|
|
|
width="1000px" |
|
|
|
append-to-body |
|
|
|
append-to-body |
|
|
|
> |
|
|
|
> |
|
|
|
<div>认证人:{{ companyDetailInfo.contact_name }}</div> |
|
|
|
<div style="color: #000; font-size: 18px; margin-bottom: 20px"> |
|
|
|
<img :src="baseTarget + companyDetailInfo.businessLicenseUrl" style="width: 100%" alt="" /> |
|
|
|
法人姓名:{{ companyDetailInfo.contact_name }} |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<img :src="baseTarget + companyDetailInfo.businessLicenseUrl" style="width: 100%; height: 500px" alt="" /> |
|
|
|
</el-dialog> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 公司审核 --> |
|
|
|
<!-- 公司审核 --> |
|
|
@ -284,6 +288,60 @@ |
|
|
|
<el-button size="mini" @click="companyApplyCancel">取 消</el-button> |
|
|
|
<el-button size="mini" @click="companyApplyCancel">取 消</el-button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</el-dialog> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- 用户详情 --> |
|
|
|
|
|
|
|
<el-dialog title="详情" :visible.sync="cloudUserOpen" width="700px" append-to-body class="cloudi"> |
|
|
|
|
|
|
|
<div class="sintitle"> |
|
|
|
|
|
|
|
<div class="line"></div> |
|
|
|
|
|
|
|
个人信息</div> |
|
|
|
|
|
|
|
<div class="newfont"> |
|
|
|
|
|
|
|
<div>姓名:{{ cloudUserOpenRow.name || '未填写' }}</div> |
|
|
|
|
|
|
|
<div>性别:{{ cloudUserOpenRow.sex || '未填写' }}</div> |
|
|
|
|
|
|
|
<div>手机号:{{ cloudUserOpenRow.phonenumber || '未填写' }}</div> |
|
|
|
|
|
|
|
<div>所在城市:{{ cloudUserOpenRow.city || '未填写' }}</div> |
|
|
|
|
|
|
|
<div>技能方向:{{ cloudUserOpenRow.testSkills || '未填写' }}</div> |
|
|
|
|
|
|
|
<div>个人优势:{{ cloudUserOpenRow.personalAdvantage || '未填写' }}</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="sintitle"><div class="line"></div>工作经历</div> |
|
|
|
|
|
|
|
<div v-if="workList.length"> |
|
|
|
|
|
|
|
<div class="newfont" v-for="it in workList" :key="it.caseId"> |
|
|
|
|
|
|
|
<div>公司名称:{{ it.name }}</div> |
|
|
|
|
|
|
|
<div>在职时间:{{ it.startTime }} - {{ it.endTime }}</div> |
|
|
|
|
|
|
|
<div>职位名称:{{ it.title }}</div> |
|
|
|
|
|
|
|
<div>工作内容:{{ it.intro }}</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<p v-else style="color: #333333; margin: 20px 30px; text-align: left">未填写</p> |
|
|
|
|
|
|
|
<div class="sintitle"><div class="line"></div>项目经历</div> |
|
|
|
|
|
|
|
<div v-if="proList.length"> |
|
|
|
|
|
|
|
<div class="newfont" v-for="it in proList" :key="it.caseId"> |
|
|
|
|
|
|
|
<div>公司名称:{{ it.name }}</div> |
|
|
|
|
|
|
|
<div>在职时间:{{ it.startTime }} - {{ it.endTime }}</div> |
|
|
|
|
|
|
|
<div>担任角色:{{ it.title }}</div> |
|
|
|
|
|
|
|
<div>应用技术:{{ it.applyTech }}</div> |
|
|
|
|
|
|
|
<div>工作内容:{{ it.intro }}</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<p v-else style="color: #333333; margin: 20px 30px; text-align: left">未填写</p> |
|
|
|
|
|
|
|
<div class="sintitle"><div class="line"></div>教育经历</div> |
|
|
|
|
|
|
|
<div v-if="eduList.length"> |
|
|
|
|
|
|
|
<div class="newfont" v-for="it in eduList" :key="it.caseId"> |
|
|
|
|
|
|
|
<div>学校名称:{{ it.name }}</div> |
|
|
|
|
|
|
|
<div>在校时间:{{ it.startTime }} - {{ it.endTime }}</div> |
|
|
|
|
|
|
|
<div>学历:{{ it.education }}</div> |
|
|
|
|
|
|
|
<div>专业:{{ it.major }}</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<p v-else style="color: #333333; margin: 20px 30px; text-align: left">未填写</p> |
|
|
|
|
|
|
|
<div class="sintitle"><div class="line"></div>技能证书</div> |
|
|
|
|
|
|
|
<div v-if="bookList.length"> |
|
|
|
|
|
|
|
<div class="newfont" v-for="it in bookList" :key="it.fileId"> |
|
|
|
|
|
|
|
<div>证书名称:{{ it.fileName }}</div> |
|
|
|
|
|
|
|
<img :src="it.fileUrl" style="width: 360px; height: 150px" alt="" /> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<p v-else style="color: #333333; margin: 20px 30px; text-align: left">未填写</p> |
|
|
|
|
|
|
|
</el-dialog> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
|
@ -302,6 +360,7 @@ import { |
|
|
|
companyDetail, |
|
|
|
companyDetail, |
|
|
|
companyDelete, |
|
|
|
companyDelete, |
|
|
|
companyApplyPost, |
|
|
|
companyApplyPost, |
|
|
|
|
|
|
|
getUserJL, |
|
|
|
} from '@/api/system/ApplicationReview' |
|
|
|
} from '@/api/system/ApplicationReview' |
|
|
|
import { getUnauditInfo, changeAllStatusOnce, user_status, apple_type } from '@/api/system/user' |
|
|
|
import { getUnauditInfo, changeAllStatusOnce, user_status, apple_type } from '@/api/system/user' |
|
|
|
import { changeCAStatus } from '@/api/tester/CompanyApply' |
|
|
|
import { changeCAStatus } from '@/api/tester/CompanyApply' |
|
|
@ -406,6 +465,17 @@ export default { |
|
|
|
companyApplyFormRules: { |
|
|
|
companyApplyFormRules: { |
|
|
|
status: [{ required: true, message: '请选择审核结果', trigger: 'blur' }], |
|
|
|
status: [{ required: true, message: '请选择审核结果', trigger: 'blur' }], |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
cloudUserOpen: false, |
|
|
|
|
|
|
|
cloudUserOpenRow: {}, |
|
|
|
|
|
|
|
base: process.env.VUE_APP_BASE_API, |
|
|
|
|
|
|
|
// 工作经历 |
|
|
|
|
|
|
|
workList: [], |
|
|
|
|
|
|
|
// 项目经历 |
|
|
|
|
|
|
|
proList: [], |
|
|
|
|
|
|
|
// 教育经历 |
|
|
|
|
|
|
|
eduList: [], |
|
|
|
|
|
|
|
// 证书 |
|
|
|
|
|
|
|
bookList: [], |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
}, |
|
|
|
created() { |
|
|
|
created() { |
|
|
@ -415,6 +485,27 @@ export default { |
|
|
|
}) |
|
|
|
}) |
|
|
|
}, |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
methods: { |
|
|
|
|
|
|
|
// 获取云员工详情 |
|
|
|
|
|
|
|
cloudUserDetail(row) { |
|
|
|
|
|
|
|
this.cloudUserOpenRow = {} |
|
|
|
|
|
|
|
this.workList = [] |
|
|
|
|
|
|
|
this.proList = [] |
|
|
|
|
|
|
|
this.eduList = [] |
|
|
|
|
|
|
|
this.bookList = [] |
|
|
|
|
|
|
|
getUserJL(row.userId).then((res) => { |
|
|
|
|
|
|
|
this.cloudUserOpenRow = res.personalInfo |
|
|
|
|
|
|
|
if (res.experience && res.experience.length) { |
|
|
|
|
|
|
|
this.workList = res.experience.filter((it) => it.type == 1) |
|
|
|
|
|
|
|
this.proList = res.experience.filter((it) => it.type == 0) |
|
|
|
|
|
|
|
this.eduList = res.experience.filter((it) => it.type == 2) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (res.credentials && res.credentials.length) { |
|
|
|
|
|
|
|
this.bookList = res.credentials |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
this.cloudUserOpen = true |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
// 打开审核 |
|
|
|
// 打开审核 |
|
|
|
companyApplyFn(row) { |
|
|
|
companyApplyFn(row) { |
|
|
|
this.companyApplyForm.applyId = row.applyId |
|
|
|
this.companyApplyForm.applyId = row.applyId |
|
|
@ -460,7 +551,7 @@ export default { |
|
|
|
// 打开详情 |
|
|
|
// 打开详情 |
|
|
|
opencompanyDetail(id) { |
|
|
|
opencompanyDetail(id) { |
|
|
|
companyDetail(id).then((res) => { |
|
|
|
companyDetail(id).then((res) => { |
|
|
|
this.companyDetailInfo = res.data |
|
|
|
this.companyDetailInfo = res.data || {} |
|
|
|
this.companyOpen = true |
|
|
|
this.companyOpen = true |
|
|
|
}) |
|
|
|
}) |
|
|
|
}, |
|
|
|
}, |
|
|
@ -475,15 +566,12 @@ export default { |
|
|
|
}, |
|
|
|
}, |
|
|
|
// 查询公司审核 |
|
|
|
// 查询公司审核 |
|
|
|
getCompanyList() { |
|
|
|
getCompanyList() { |
|
|
|
this.loading = true |
|
|
|
|
|
|
|
companyList(this.queryParams1) |
|
|
|
companyList(this.queryParams1) |
|
|
|
.then((res) => { |
|
|
|
.then((res) => { |
|
|
|
this.loading = false |
|
|
|
|
|
|
|
this.total1 = res.total |
|
|
|
this.total1 = res.total |
|
|
|
this.companyApplyList = res.rows |
|
|
|
this.companyApplyList = res.rows |
|
|
|
}) |
|
|
|
}) |
|
|
|
.catch((error) => { |
|
|
|
.catch((error) => { |
|
|
|
this.loading = false |
|
|
|
|
|
|
|
}) |
|
|
|
}) |
|
|
|
}, |
|
|
|
}, |
|
|
|
/** 查询个人申请审核列表 */ |
|
|
|
/** 查询个人申请审核列表 */ |
|
|
@ -624,7 +712,7 @@ export default { |
|
|
|
cancelButtonText: '取消', |
|
|
|
cancelButtonText: '取消', |
|
|
|
type: 'warning', |
|
|
|
type: 'warning', |
|
|
|
}).then(() => { |
|
|
|
}).then(() => { |
|
|
|
deltestercert(row.applyId).then((res) => { |
|
|
|
deltestercert(row.userId).then((res) => { |
|
|
|
this.$message.success('删除成功') |
|
|
|
this.$message.success('删除成功') |
|
|
|
this.getList() |
|
|
|
this.getList() |
|
|
|
}) |
|
|
|
}) |
|
|
@ -769,4 +857,31 @@ export default { |
|
|
|
background-color: transparent; |
|
|
|
background-color: transparent; |
|
|
|
color: #606266; |
|
|
|
color: #606266; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.cloudi >>> .el-dialog__body { |
|
|
|
|
|
|
|
max-height: 700px; |
|
|
|
|
|
|
|
overflow: auto; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.sintitle { |
|
|
|
|
|
|
|
font-size: 16px; |
|
|
|
|
|
|
|
color: #000000; |
|
|
|
|
|
|
|
font-weight: bold; |
|
|
|
|
|
|
|
margin-top: 20px; |
|
|
|
|
|
|
|
margin-bottom: 10px; |
|
|
|
|
|
|
|
display: flex; |
|
|
|
|
|
|
|
align-items: center; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.newfont { |
|
|
|
|
|
|
|
padding: 0 20px; |
|
|
|
|
|
|
|
box-sizing: border-box; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.newfont div { |
|
|
|
|
|
|
|
margin-bottom: 5px; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.line { |
|
|
|
|
|
|
|
width: 4px; |
|
|
|
|
|
|
|
height: 18px; |
|
|
|
|
|
|
|
background: #1890ff; |
|
|
|
|
|
|
|
margin-right: 5px; |
|
|
|
|
|
|
|
border-radius: 2px; |
|
|
|
|
|
|
|
} |
|
|
|
</style> |
|
|
|
</style> |
|
|
|