parent
6c0cdc4750
commit
2348d22365
@ -0,0 +1,248 @@ |
|||||||
|
<template> |
||||||
|
<div class="cloudUser"> |
||||||
|
<el-form :model="queryParams" ref="queryForm" :inline="true"> |
||||||
|
<el-form-item label="姓名" prop="name"> |
||||||
|
<el-input |
||||||
|
v-model="queryParams.name" |
||||||
|
placeholder="请输入姓名" |
||||||
|
clearable |
||||||
|
size="small" |
||||||
|
@keyup.enter.native="handleQuery" |
||||||
|
/> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="手机号" prop="title"> |
||||||
|
<el-input |
||||||
|
v-model="queryParams.title" |
||||||
|
placeholder="请输入手机号" |
||||||
|
clearable |
||||||
|
size="small" |
||||||
|
@keyup.enter.native="handleQuery" |
||||||
|
/> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item> |
||||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
||||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
||||||
|
</el-form-item> |
||||||
|
</el-form> |
||||||
|
<el-table v-loading="loading" :data="cloudUserList"> |
||||||
|
<el-table-column label="用户编号" align="center" prop="userId" /> |
||||||
|
<el-table-column label="姓名" align="center" prop="name" /> |
||||||
|
<el-table-column label="手机号" align="center" prop="sex" /> |
||||||
|
<el-table-column label="技能" align="center" prop="testSkills" /> |
||||||
|
<el-table-column label="毕业年份" align="center" prop="title" /> |
||||||
|
<el-table-column label="简历完整度" align="center" prop="title" /> |
||||||
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="260px"> |
||||||
|
<template slot-scope="scope"> |
||||||
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="cloudUserDetail(scope.row)" |
||||||
|
>查看详情</el-button |
||||||
|
> |
||||||
|
<el-button size="mini" type="text" icon="el-icon-download" @click="downloadFn(scope.row)" |
||||||
|
>下载简历</el-button |
||||||
|
> |
||||||
|
<el-button size="mini" type="text" icon="el-icon-turn-off" @click="downloadFn(scope.row)" |
||||||
|
>隐藏简历</el-button |
||||||
|
> |
||||||
|
</template> |
||||||
|
</el-table-column> |
||||||
|
</el-table> |
||||||
|
<pagination |
||||||
|
v-show="total > 0" |
||||||
|
:total="total" |
||||||
|
:page.sync="queryParams.pageNum" |
||||||
|
:limit.sync="queryParams.pageSize" |
||||||
|
@pagination="getList" |
||||||
|
/> |
||||||
|
<!-- 简历弹层 --> |
||||||
|
<!-- 用户详情 --> |
||||||
|
<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> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import { downloadPdf, getUserJL } from '@/api/system/ApplicationReview' |
||||||
|
import { getCloudList } from '@/api/cloudUser' |
||||||
|
import { saveAs } from 'file-saver' |
||||||
|
export default { |
||||||
|
data() { |
||||||
|
return { |
||||||
|
loading: false, |
||||||
|
cloudUserList: [], |
||||||
|
total: 0, |
||||||
|
queryParams: { |
||||||
|
pageNum: 1, |
||||||
|
pageSize: 10, |
||||||
|
}, |
||||||
|
companyApplyOpen: false, |
||||||
|
// 工作经历 |
||||||
|
workList: [], |
||||||
|
// 项目经历 |
||||||
|
proList: [], |
||||||
|
// 教育经历 |
||||||
|
eduList: [], |
||||||
|
// 证书 |
||||||
|
bookList: [], |
||||||
|
cloudUserOpenRow: {}, |
||||||
|
cloudUserOpen: false, |
||||||
|
base: process.env.VUE_APP_BASE_TARGET, |
||||||
|
} |
||||||
|
}, |
||||||
|
created() { |
||||||
|
this.getList() |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
// 获取列表 |
||||||
|
getList() { |
||||||
|
this.loading = true |
||||||
|
getCloudList(this.queryParams) |
||||||
|
.then((res) => { |
||||||
|
this.loading = false |
||||||
|
this.total = res.total |
||||||
|
this.cloudUserList = res.rows |
||||||
|
}) |
||||||
|
.catch((error) => { |
||||||
|
this.loading = false |
||||||
|
}) |
||||||
|
}, |
||||||
|
// 下载简历 |
||||||
|
downloadFn(row) { |
||||||
|
downloadPdf(row.userId).then((res) => { |
||||||
|
const blob = new Blob([res]) |
||||||
|
saveAs(blob, row.name + '简历.pdf') |
||||||
|
}) |
||||||
|
// window.open(this.base + '/prod-api/personal/download/resume/' + row.userId) |
||||||
|
}, |
||||||
|
// 云员工详情 |
||||||
|
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 |
||||||
|
}) |
||||||
|
}, |
||||||
|
|
||||||
|
detailFn() {}, |
||||||
|
/** 搜索按钮操作 */ |
||||||
|
handleQuery() { |
||||||
|
this.getList() |
||||||
|
}, |
||||||
|
/** 重置按钮操作 */ |
||||||
|
resetQuery() { |
||||||
|
this.resetForm('queryForm') |
||||||
|
this.handleQuery() |
||||||
|
}, |
||||||
|
}, |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style lang="scss" scoped> |
||||||
|
.cloudUser { |
||||||
|
padding: 20px; |
||||||
|
} |
||||||
|
.addbtnbtn { |
||||||
|
margin: 10px 0 20px 0; |
||||||
|
} |
||||||
|
.cloudi >>> .el-dialog__body { |
||||||
|
max-height: 700px; |
||||||
|
overflow: auto; |
||||||
|
padding: 0 20px !important; |
||||||
|
} |
||||||
|
.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> |
@ -0,0 +1,156 @@ |
|||||||
|
<template> |
||||||
|
<div class="cloudUser"> |
||||||
|
<!-- <el-form :model="queryParams" ref="queryForm" :inline="true"> |
||||||
|
<el-form-item label="职位名称" prop="title"> |
||||||
|
<el-input |
||||||
|
v-model="queryParams.title" |
||||||
|
placeholder="请输入职位名称" |
||||||
|
clearable |
||||||
|
size="small" |
||||||
|
@keyup.enter.native="handleQuery" |
||||||
|
/> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item> |
||||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
||||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
||||||
|
</el-form-item> |
||||||
|
</el-form> --> |
||||||
|
<div class="addbtnbtn"> |
||||||
|
<el-button type="primary" icon="el-icon-plus" size="mini" @click="addFn">新增</el-button> |
||||||
|
</div> |
||||||
|
<el-table v-loading="loading" :data="cloudUserList"> |
||||||
|
<el-table-column label="编号" align="center" prop="user_id" /> |
||||||
|
<el-table-column label="云员工技能方向" align="center" prop="nick_name" /> |
||||||
|
<el-table-column label="语言" align="center" prop="sex" /> |
||||||
|
<el-table-column label="云员工技能定义" align="center" prop="phonenumber" /> |
||||||
|
<el-table-column label="排序" align="center" prop="title" /> |
||||||
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
||||||
|
<template slot-scope="scope"> |
||||||
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="editFn(scope.row)">修改</el-button> |
||||||
|
<el-button size="mini" type="text" icon="el-icon-delete" @click="delFn(scope.row)">删除</el-button> |
||||||
|
</template> |
||||||
|
</el-table-column> |
||||||
|
</el-table> |
||||||
|
<pagination |
||||||
|
v-show="total > 0" |
||||||
|
:total="total" |
||||||
|
:page.sync="queryParams.pageNum" |
||||||
|
:limit.sync="queryParams.pageSize" |
||||||
|
@pagination="getList" |
||||||
|
/> |
||||||
|
<!-- 审核弹层 --> |
||||||
|
<el-dialog :title="title" :visible.sync="detailOpen" width="700px" append-to-body @close="closeFn"> |
||||||
|
<el-form :model="form" :rules="rules" ref="form" label-width="130px"> |
||||||
|
<el-form-item label="云员工技能方向" prop="name"> |
||||||
|
<el-input v-model="form.name"></el-input> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="语言" prop="name"> |
||||||
|
<el-input v-model="form.name"></el-input> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="云员工技能定义" prop="name"> |
||||||
|
<el-input v-model="form.name"></el-input> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="排序" prop="name"> |
||||||
|
<el-input v-model="form.name"></el-input> |
||||||
|
</el-form-item> |
||||||
|
</el-form> |
||||||
|
<span slot="footer" class="dialog-footer"> |
||||||
|
<el-button @click="closeFn">取 消</el-button> |
||||||
|
<el-button type="primary" @click="submitFn">确 定</el-button> |
||||||
|
</span> |
||||||
|
</el-dialog> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import { getJobEdList } from '@/api/cloudUser' |
||||||
|
export default { |
||||||
|
data() { |
||||||
|
return { |
||||||
|
loading: false, |
||||||
|
cloudUserList: [], |
||||||
|
detailOpen: false, |
||||||
|
total: 0, |
||||||
|
queryParams: { |
||||||
|
pageNum: 1, |
||||||
|
pageSize: 10, |
||||||
|
}, |
||||||
|
form: {}, |
||||||
|
rules: {}, |
||||||
|
title: '' |
||||||
|
} |
||||||
|
}, |
||||||
|
created() { |
||||||
|
this.getList() |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
getList() { |
||||||
|
this.loading = true |
||||||
|
getJobEdList(this.queryParams) |
||||||
|
.then((res) => { |
||||||
|
this.loading = false |
||||||
|
this.total = res.total |
||||||
|
this.cloudUserList = res.rows |
||||||
|
}) |
||||||
|
.catch((error) => { |
||||||
|
this.loading = false |
||||||
|
}) |
||||||
|
}, |
||||||
|
delFn() { |
||||||
|
this.$confirm('此操作将永久云员工, 是否继续?', '提示', { |
||||||
|
confirmButtonText: '确定', |
||||||
|
cancelButtonText: '取消', |
||||||
|
type: 'warning', |
||||||
|
}) |
||||||
|
.then(() => { |
||||||
|
this.$message({ |
||||||
|
type: 'success', |
||||||
|
message: '删除成功!', |
||||||
|
}) |
||||||
|
}) |
||||||
|
.catch(() => {}) |
||||||
|
}, |
||||||
|
closeFn() { |
||||||
|
this.form = {} |
||||||
|
this.$refs['form'].resetFields() |
||||||
|
this.detailOpen = false |
||||||
|
}, |
||||||
|
addFn() { |
||||||
|
this.detailOpen = true |
||||||
|
this.title = '新增技能方向' |
||||||
|
}, |
||||||
|
editFn() { |
||||||
|
this.detailOpen = true |
||||||
|
this.title = '修改技能方向' |
||||||
|
}, |
||||||
|
// 提交 |
||||||
|
submitFn() { |
||||||
|
this.$refs['form'].validate((valid) => { |
||||||
|
if (valid) { |
||||||
|
this.closeFn() |
||||||
|
} else { |
||||||
|
return false |
||||||
|
} |
||||||
|
}) |
||||||
|
}, |
||||||
|
/** 搜索按钮操作 */ |
||||||
|
handleQuery() { |
||||||
|
this.getList() |
||||||
|
}, |
||||||
|
/** 重置按钮操作 */ |
||||||
|
resetQuery() { |
||||||
|
this.resetForm('queryForm') |
||||||
|
this.handleQuery() |
||||||
|
}, |
||||||
|
}, |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style lang="scss" scoped> |
||||||
|
.cloudUser { |
||||||
|
padding: 20px; |
||||||
|
} |
||||||
|
.addbtnbtn { |
||||||
|
margin: 10px 0 20px 0; |
||||||
|
} |
||||||
|
</style> |
Loading…
Reference in new issue