pc网页版软测宝
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.
keysass_portal/src/page/homepage/personability/abilityMoreDetail.vue

258 lines
7.8 KiB

<template>
<div style="background: #f2f3f7; overflow: hidden">
<div class="userDetail container">
<div class="topNA">
<div class="topNAT">
<span class="topNAT1">{{ userInfo.name }}</span>
<span class="topNAT2">{{ userInfo.testSkills }}</span>
</div>
<div class="topNAB">
<div class="topNABit">
<img src="/assets/ability/det1.png" alt="" />
{{ city }}
</div>
<div class="topNABit">
<img src="/assets/ability/det2.png" alt="" />
{{ educationList[0].name }}
</div>
<div class="topNABit">
<img src="/assets/ability/det3.png" alt="" />
{{ educationList[0].major }}
</div>
<div class="topNABit">
<img src="/assets/ability/det4.png" alt="" />
{{ educationList[0].education }}({{
educationList[0].startTime + '-' + educationList[0].endTime
}})
</div>
</div>
</div>
<div class="content">
<div class="contentitem">
<div class="contentitemT">
<div class="contentTline"></div>
个人优势
</div>
<div class="contentitemB">
{{ userInfo.personalAdvantage }}
</div>
</div>
<div class="contentitem">
<div class="contentitemT">
<div class="contentTline"></div>
工作经历
</div>
<div v-for="it in workList" :key="it.caseId">
<div class="contentitemM">
<div class="contentitemML">公司名称{{ it.name }}</div>
<div class="contentitemML">职位{{ it.title }}</div>
<div class="contentitemMR">{{ it.startTime }}-{{ it.endTime }}</div>
</div>
<div class="contentitemB"><span class="contentitemBF">工作内容</span>{{ it.intro }}</div>
</div>
</div>
<div class="contentitem">
<div class="contentitemT">
<div class="contentTline"></div>
项目经历
</div>
<div v-for="it in projectList" :key="it.caseId">
<div class="contentitemM">
<div class="contentitemML">公司名称{{ it.name }}</div>
<div class="contentitemML">担任角色{{ it.title }}</div>
<div class="contentitemMR">{{ it.startTime }}-{{ it.endTime }}</div>
</div>
<div class="contentitemB" style="margin-bottom: 20px">
<span class="contentitemBF">应用技术</span>{{ it.applyTech }}
</div>
<div class="contentitemB"><span class="contentitemBF">工作内容</span>{{ it.intro }}</div>
</div>
</div>
<div class="contentitem">
<div class="contentitemT">
<div class="contentTline"></div>
资格证书
</div>
<div class="contentitemTBook">
<div class="contentitemTBookit" v-for="it in certificateList" :key="it.fileId">
<div class="contentitemTBookitT">{{ it.fileName }}</div>
<img class="contentitemTBookitTimg" :src="it.fileUrl" alt="" />
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import { getCloudAll } from '@/api/tester/TesterApply'
export default {
data() {
return {
userInfo: {},
base: process.env.VUE_APP_BASE_API,
projectList: [],
workList: [],
educationList: [],
certificateList: [],
city: '',
}
},
mounted() {},
created() {
this.getCloudAllList()
},
computed: {
...mapGetters(['userinform', 'token']),
},
methods: {
getCloudAllList() {
getCloudAll(this.$route.query.id).then((res) => {
// 经历
this.projectList = res.experience.filter((it) => it.type == 0)
this.workList = res.experience.filter((it) => it.type == 1)
this.educationList = res.experience.filter((it) => it.type == 2)
if (!this.educationList.length) {
this.educationList = [
{
name: '未填写',
major: '未填写',
education: '未填写',
startTime: '未填写',
endTime: '未填写',
},
]
}
// 证书
this.certificateList = res.credentials
// 个人简介
if (res.personalInfo) {
this.userInfo = res.personalInfo
this.city = this.userInfo.city.split('-')[1] || '无'
}
})
},
},
}
</script>
<style scoped>
.container {
width: 1200px;
margin: auto;
}
.topNA {
height: 130px;
background: linear-gradient(270deg, #fdeeeb, #eaf1fc);
border-radius: 8px 8px 0 0;
margin-top: 18px;
padding: 0 40px;
box-sizing: border-box;
display: flex;
flex-direction: column;
justify-content: center;
}
.topNAT1 {
font-weight: bold;
font-size: 28px;
color: #1a1a1a;
margin-right: 50px;
}
.topNAT2 {
font-weight: bold;
font-size: 22px;
color: #de8423;
}
.topNAB {
display: flex;
align-items: center;
flex-wrap: wrap;
margin-top: 20px;
}
.topNABit {
display: flex;
align-items: center;
margin-right: 30px;
font-weight: 500;
font-size: 15px;
color: #4d4d4d;
}
.topNABit img {
margin-right: 5px;
}
.content {
border-radius: 0 0 8px 8px;
padding: 0 40px;
box-sizing: border-box;
margin-bottom: 30px;
background: #ffffff;
overflow: hidden;
}
.contentitem {
border-bottom: 1px solid #f2f2f2;
padding-bottom: 25px;
box-sizing: border-box;
}
.contentitemT {
display: flex;
align-items: center;
font-weight: bold;
font-size: 20px;
color: #1a1a1a;
margin: 25px 0;
}
.contentTline {
width: 4px;
height: 17px;
background: #0066eb;
border-radius: 2px;
margin-right: 6px;
}
.contentitemB {
font-weight: 500;
font-size: 16px;
color: #666666;
}
.contentitemM {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 25px;
}
.contentitemML {
font-weight: bold;
font-size: 18px;
color: #333333;
}
.contentitemMR {
font-weight: 500;
font-size: 16px;
color: #999999;
}
.contentitemBF {
font-weight: bold;
font-size: 16px;
color: #333333;
}
.contentitemTBook {
display: flex;
flex-wrap: wrap;
}
.contentitemTBookit {
margin-right: 30px;
}
.contentitemTBookitT {
font-weight: 500;
font-size: 16px;
color: #4d4d4d;
margin-bottom: 10px;
}
.contentitemTBookitTimg {
width: 313px;
height: 220px;
}
</style>