You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

363 lines
13 KiB

<template>
<div>
<el-card shadow="hover" class="mgb20">
<div class="flex-between">
<div class="per_title" @click="$router.back()">
<i class="el-icon-arrow-left"></i>
<span class="per_back">返回</span>
<span class="per_school">{{ this.$route.query.platformName }}</span>
</div>
</div>
</el-card>
<div class="page" v-loading="loading">
<div class="inner">
<h6 class="l-title"><img src="@/assets/img/info1.png" alt=""> 基本信息</h6>
<el-form disabled>
<div class="page-content">
<ul class="list">
<div class="line info">
<li>
<label>姓名</label>
<el-input size="small" v-model="form.userName" clearable></el-input>
</li>
<li>
<label>工号:</label>
<el-input size="small" v-model="form.workNumber" clearable></el-input>
</li>
</div>
<div class="line info">
<li>
<label>性别:</label>
<el-select size="small" v-model="form.sex">
<el-option v-for="item in sexList" :key="item.value" :label="item.name" :value="item.value"></el-option>
</el-select>
</li>
<li class="selects">
<label>所在地:</label>
<div class="mul">
<div class="child">
<el-select size="small" value="中国" placeholder>
<el-option label="中国" value="中国"></el-option>
</el-select>
</div>
<div class="child">
<el-select size="small" v-model="form.provinceName" placeholder>
<el-option :label="form.provinceName" :value="form.provinceName"></el-option>
</el-select>
</div>
<div class="child">
<el-select size="small" v-model="form.cityName" placeholder>
<el-option :label="form.cityName" :value="form.cityName"></el-option>
</el-select>
</div>
</div>
</li>
</div>
<div class="line info">
<li>
<label>出生年月:</label>
<el-date-picker size="small" placeholder="请选择时间" v-model="form.dateBirth" :clearable="false" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd"></el-date-picker>
</li>
<li>
<label>教育程度:</label>
<el-select size="small" v-model="form.educationDegree" placeholder="请选择教育程度">
<el-option v-for="(item,index) in educationDegreeList" :key="index" :label="item.name" :value="item.value"></el-option>
</el-select>
</li>
</div>
<div class="line info">
<li>
<label>角色:</label>
<el-input size="small" v-model="form.roleName" clearable></el-input>
</li>
<li>
<label>身份证:</label>
<el-input size="small" placeholder="请输入身份证" v-model="form.idNumber" clearable></el-input>
</li>
</div>
</ul>
</div>
<div class="flex j-between a-center" style="width: 862px">
<h6 class="l-title"><img src="@/assets/img/info2.png" alt=""> 个人档案</h6>
</div>
<div class="page-content">
<div class="archives" v-for="(archive,index) in archivesList" :key="index" v-show="index == 0 || showArch">
<ul class="list">
<div class="line">
<li>
<label>职业:</label>
<el-select size="small" v-model="archive.personalCareerId" placeholder="选择职业">
<el-option v-for="item in occupationList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</li>
<li>
<label>院校:</label>
<el-select size="small" v-model="archive.schoolName" filterable placeholder="选择学校">
<el-option :label="archive.schoolName" :value="archive.schoolName"></el-option>
</el-select>
</li>
</div>
<div class="line">
<li>
<label>专业学科:</label>
<el-select size="small" v-model="archive.disciplineName" placeholder="选择专业学科">
<el-option :label="archive.disciplineName" :value="archive.disciplineName"></el-option>
</el-select>
</li>
<li>
<label>专业类:</label>
<el-select size="small" v-model="archive.professionalClassName" placeholder="选择专业类">
<el-option :label="archive.professionalClassName" :value="archive.professionalClassName"></el-option>
</el-select>
</li>
</div>
<div class="line" style="margin-bottom: 0">
<li>
<label>专业:</label>
<el-select size="small" v-model="archive.professionalName" placeholder="选择专业">
<el-option :label="archive.professionalName" :value="archive.professionalName"></el-option>
</el-select>
</li>
</div>
</ul>
</div>
<div class="fold" v-if="archivesList.length > 1">
<span :class="{active: showArch}" @click="showArch = !showArch">
展开更多
<i class="el-icon-arrow-down"></i>
</span>
</div>
</div>
</el-form>
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
userId: this.$route.query.userId,
form: {
name:'',
workNumber:'',
password:"",
phone:'',
email:'',
provinceName:'',
cityName:'',
schoolName:'',
professionalName:'',
experimentName:'',
sex: 1,
dateBirth: '',
educationDegree: ''
},
sexList: [
{
name: '男',
value: 1
},
{
name: '女',
value: 2
}
],
occupationList: [{
value: 1,
label: '学生'
},{
value: 2,
label: '老师'
}],
educationDegreeList: [
{
name: '专科',
value: 1
},
{
name: '本科',
value: 2
},
{
name: '硕士',
value: 3
},
{
name: '博士',
value: 4
},
{
name: '其他',
value: 5
}
],
archivesList: [],
showArch: false,
archivesForm: {
personalCareerId: '',
schoolId: '',
schoolName: '',
professionalClassId: '',
professionalClassName: '',
disciplineId: '',
disciplineName: '',
professionalId: '',
professionalName: '',
},
loading: false
};
},
mounted() {
this.getdata()
},
methods: {
getdata() {
this.loading = true
this.$get(this.api.personalFile, { userId: this.userId }).then(({ result }) => {
this.form = result
const list = result.nakadaiPersonalFileList
this.archivesList = list.length ? list : [this.archivesForm]
this.loading = false
}).catch(err => {
this.loading = false
})
},
foldArch() {
this.showArch = !this.showArch
this.$nextTick(() => {
document.body.scrollTop = document.querySelector('.content-box').scrollHeight
document.documentElement.scrollTop = document.querySelector('.content-box').scrollHeight
})
}
}
};
</script>
<style lang="scss" scoped>
.m-r-10 {
margin-right: 10px;
}
.l-title{
display: flex;
align-items: center;
margin-bottom: 12px;
font-size: 14px;
color: #333;
img{
margin-right: 5px;
}
}
.page{
.inner {
width: 1000px;
margin: 0 auto;
}
/deep/.el-input__inner{
border-color: #CACFDB;
}
.list{
.line{
display: flex;
margin-bottom: 24px;
&.info li:not(.selects){
.el-input{
flex: 1;
}
}
&.imp li{
&:nth-child(odd) {
width: 360px;
margin-right: 64px;
}
}
}
.el-input, .el-select{
width: 220px;
.el-input__inner{
border-color: #CACFDB;
}
}
li{
display: inline-flex;
align-items: center;
&>label{
width: 100px;
margin-right: 5px;
text-align: right;
font-size: 14px;
color: #4c4c4c;
}
.el-select {
flex: 1;
}
.el-select .el-input.is-disabled .el-input__inner{
border-color: #ddd;
}
.val{
margin-right: 15px;
color: #606266;
font-size: 14px;
}
.mul{
display: inline-flex;
.child{
display: inline-flex;
width: 132px;
margin-right: 10px;
&>span{
margin-bottom: 5px;
font-size: 14px;
color: #575757;
}
}
}
&:nth-child(odd) {
width: 325px;
margin-right: 100px;
}
}
}
.archives{
position: relative;
width: 862px;
padding: 16px 0;
margin-bottom: 6px;
border-radius: 4px;
background-color: #FAFAFA;
.del{
position: absolute;
top: 80px;
right: 19px;
cursor: pointer;
}
}
.fold{
margin-top: 20px;
text-align: center;
font-size: 12px;
color: #006EFF;
span{
cursor: pointer;
i{
transition: .5s;
}
&.active i{
transform: rotate(180deg);
}
}
}
}
.btns{
width: 100%;
padding: 12px 0;
text-align: center;
background-color: #fff;
box-shadow: 0px 0px 10px 0px rgba(188, 201, 218, 0.4);
.el-button{
width: 80px;
}
}
</style>