人才服务页面调试+个人简历页面

main
lijingyu007 6 months ago
parent 2adaf1659c
commit 37400b3c44
  1. 355
      pages.json
  2. 84
      pages/index/outsourcing/cloudUserPage.vue
  3. 106
      pages/index/outsourcing/cloudUserdetail.vue
  4. 111
      pages/index/outsourcing/moreCloud.vue
  5. 40
      pages/index/testtraining/testtraining.vue
  6. 502
      pages/personal/personalresume/personalresume.vue
  7. 2
      pages/personal/personalresume/workexperience.vue

@ -2,303 +2,269 @@
"easycom": {
"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
},
"pages": [
{
"pages": [{
"path": "pages/index/index",
"style": {
"navigationBarTitleText": "首页",
"navigationBarBackgroundColor": "#284CD1"
}
},{
"path" : "pages/personal/mytestkit/mytestkit",
"style" :
{
"navigationBarTitleText" : "我的测试宝",
}, {
"path": "pages/personal/mytestkit/mytestkit",
"style": {
"navigationBarTitleText": "我的测试宝",
"navigationBarBackgroundColor": "#284CD1"
}
},{
"path" : "pages/personal/setup/Information",
"style" :
{
"navigationBarTitleText" : "个人信息",
}, {
"path": "pages/personal/setup/Information",
"style": {
"navigationBarTitleText": "个人信息",
"navigationBarBackgroundColor": "#284CD1"
}
},{
"path" : "pages/personal/personalresume/personalresume",
"style" :
{
"navigationBarTitleText" : "个人简历",
}, {
"path": "pages/personal/personalresume/personalresume",
"style": {
"navigationBarTitleText": "个人简历",
"navigationBarBackgroundColor": "#284CD1"
}
},{
"path" : "pages/personal/personalresume/advantage",
"style" :
{
"navigationBarTitleText" : "我的优势",
}, {
"path": "pages/personal/personalresume/advantage",
"style": {
"navigationBarTitleText": "我的优势",
"navigationBarBackgroundColor": "#284CD1"
}
},{
"path" : "pages/personal/personalresume/workexperience",
"style" :
{
"navigationBarTitleText" : "",
}, {
"path": "pages/personal/personalresume/workexperience",
"style": {
"navigationBarTitleText": "",
"navigationBarBackgroundColor": "#284CD1"
}
},{
"path" : "pages/personal/personalresume/education",
"style" :
{
"navigationBarTitleText" : "",
}, {
"path": "pages/personal/personalresume/education",
"style": {
"navigationBarTitleText": "",
"navigationBarBackgroundColor": "#284CD1"
}
}
,{
"path" : "pages/personal/privacy",
"style" :
{
"navigationBarTitleText" : "隐私政策",
, {
"path": "pages/personal/privacy",
"style": {
"navigationBarTitleText": "隐私政策",
"navigationBarBackgroundColor": "#284CD1"
}
},{
"path" : "pages/personal/userAgreemen",
"style" :
{
"navigationBarTitleText" : "用户协议",
}, {
"path": "pages/personal/userAgreemen",
"style": {
"navigationBarTitleText": "用户协议",
"navigationBarBackgroundColor": "#284CD1"
}
},
{
"path" : "pages/personal/personalresume/projectexperience",
"style" :
{
"navigationBarTitleText" : "",
"path": "pages/personal/personalresume/projectexperience",
"style": {
"navigationBarTitleText": "",
"navigationBarBackgroundColor": "#284CD1"
}
},{
"path" : "pages/personal/setup/index",
"style" :
{
"navigationBarTitleText" : "设置",
}, {
"path": "pages/personal/setup/index",
"style": {
"navigationBarTitleText": "设置",
"navigationBarBackgroundColor": "#284CD1"
}
},{
}, {
"path": "pages/personal/personal",
"style": {
"navigationBarTitleText": "我的",
"navigationBarBackgroundColor": "#284CD1"
}
},{
"path" : "pages/personal/mysignup/notice",
"style" :
{
"navigationBarTitleText" : "我的报名",
}, {
"path": "pages/personal/mysignup/notice",
"style": {
"navigationBarTitleText": "我的报名",
"navigationBarBackgroundColor": "#284CD1"
}
},
{
"path" : "pages/personal/ordernumber/ordernumber",
"style" :
{
"navigationBarTitleText" : "我的订单",
"path": "pages/personal/ordernumber/ordernumber",
"style": {
"navigationBarTitleText": "我的订单",
"navigationBarBackgroundColor": "#284CD1"
}
},
{
"path" : "pages/index/testtraining/testtraining",
"style" :
{
"navigationBarTitleText" : "培训服务",
"path": "pages/index/testtraining/testtraining",
"style": {
"navigationBarTitleText": "培训服务",
"navigationBarBackgroundColor": "#284CD1"
}
},{
"path" : "pages/index/outsourcing/outsourcing",
"style" :
{
"navigationBarTitleText" : "人力服务",
}, {
"path": "pages/index/outsourcing/outsourcing",
"style": {
"navigationBarTitleText": "人力服务",
"navigationBarBackgroundColor": "#284CD1"
}
},
{
"path" : "pages/index/outsourcing/cloudUserPage",
"style" :
{
"navigationBarTitleText" : "人力服务",
"navigationBarBackgroundColor": "#284CD1"
"path": "pages/index/outsourcing/cloudUserPage",
"style": {
"navigationBarTitleText": "人力服务",
"navigationBarBackgroundColor": "#284CD1",
"enablePullDownRefresh": true,
"onReachBottomDistance": 20
}
},
{
"path" : "pages/index/outsourcing/moreCloud",
"style" :
{
"navigationBarTitleText" : "人力服务",
"navigationBarBackgroundColor": "#284CD1"
"path": "pages/index/outsourcing/moreCloud",
"style": {
"navigationBarTitleText": "人力服务",
"navigationBarBackgroundColor": "#284CD1",
"enablePullDownRefresh": true,
"onReachBottomDistance": 20
}
},
{
"path" : "pages/index/outsourcing/cloudUserdetail",
"style" :
{
"navigationBarTitleText" : "人力服务",
"path": "pages/index/outsourcing/cloudUserdetail",
"style": {
"navigationBarTitleText": "人力服务",
"navigationBarBackgroundColor": "#284CD1"
}
},
{
"path" : "pages/index/toolleasing/toolleasing",
"style" :
{
"navigationBarTitleText" : "工具服务",
"path": "pages/index/toolleasing/toolleasing",
"style": {
"navigationBarTitleText": "工具服务",
"navigationBarBackgroundColor": "#284CD1"
}
},
{
"path" : "pages/index/toolleasing/tooldetails",
"style" :
{
"navigationBarTitleText" : "工具详情",
"path": "pages/index/toolleasing/tooldetails",
"style": {
"navigationBarTitleText": "工具详情",
"navigationBarBackgroundColor": "#284CD1",
"app-plus":{
"scrollIndicator":"none"
"app-plus": {
"scrollIndicator": "none"
}
}
},
{
"path" : "pages/index/testcrowdsourc/testcrowdsourc",
"style" :
{
"navigationBarTitleText" : "众包服务",
"path": "pages/index/testcrowdsourc/testcrowdsourc",
"style": {
"navigationBarTitleText": "众包服务",
"navigationBarBackgroundColor": "#284CD1"
}
},
{
"path" : "pages/index/testcrowdsourc/crowdsourcingdetails",
"style" :
{
"navigationBarTitleText" : "",
"path": "pages/index/testcrowdsourc/crowdsourcingdetails",
"style": {
"navigationBarTitleText": "",
"navigationBarBackgroundColor": "#284CD1"
}
},
{
"path" : "pages/index/customerservice",
"style" :
{
"navigationBarTitleText" : "客服",
"path": "pages/index/customerservice",
"style": {
"navigationBarTitleText": "客服",
"navigationBarBackgroundColor": "#284CD1"
}
},{
"path" : "pages/personal/login",
"style" :
{
"navigationBarTitleText" : "登录关键测试宝",
}, {
"path": "pages/personal/login",
"style": {
"navigationBarTitleText": "登录关键测试宝",
"navigationBarBackgroundColor": "#284CD1"
}
},{
"path" : "pages/personal/phonelogin",
"style" :
{
"navigationBarTitleText" : "关键测试宝",
}, {
"path": "pages/personal/phonelogin",
"style": {
"navigationBarTitleText": "关键测试宝",
"navigationBarBackgroundColor": "#284CD1"
}
},
{
"path" : "pages/index/testtraining/signup",
"style" :
{
"navigationBarTitleText" : "",
"path": "pages/index/testtraining/signup",
"style": {
"navigationBarTitleText": "",
"navigationBarBackgroundColor": "#284CD1"
}
},
{
"path" : "pages/personal/leavemessage/index",
"style" :
{
"navigationBarTitleText" : "我的留言",
"path": "pages/personal/leavemessage/index",
"style": {
"navigationBarTitleText": "我的留言",
"navigationBarBackgroundColor": "#284CD1"
}
},{
"path" : "pages/personal/setup/aboutus",
"style" :
{
"navigationBarTitleText" : "关于我们",
}, {
"path": "pages/personal/setup/aboutus",
"style": {
"navigationBarTitleText": "关于我们",
"navigationBarBackgroundColor": "#284CD1"
}
},
{
"path" : "pages/personal/setup/certification",
"style" :
{
"navigationBarTitleText" : "实名认证",
"path": "pages/personal/setup/certification",
"style": {
"navigationBarTitleText": "实名认证",
"navigationBarBackgroundColor": "#284CD1"
}
},{
"path" : "pages/message/message",
"style" :
{
"navigationBarTitleText" : "消息中心",
}, {
"path": "pages/message/message",
"style": {
"navigationBarTitleText": "消息中心",
"navigationBarBackgroundColor": "#284CD1"
}
},{
"path" : "pages/personal/setup/pcweb",
"style" :
{
"navigationBarTitleText" : "关键测试宝",
}, {
"path": "pages/personal/setup/pcweb",
"style": {
"navigationBarTitleText": "关键测试宝",
"navigationBarBackgroundColor": "#284CD1"
}
},
{
"path" : "pages/personal/mycrowdtest/mycrowdtest",
"style" :
{
"navigationBarTitleText" : "我的众包",
"path": "pages/personal/mycrowdtest/mycrowdtest",
"style": {
"navigationBarTitleText": "我的众包",
"navigationBarBackgroundColor": "#284CD1"
}
},
{
"path" : "pages/personal/setup/transaction",
"style" :
{
"navigationBarTitleText" : "交易记录",
"path": "pages/personal/setup/transaction",
"style": {
"navigationBarTitleText": "交易记录",
"navigationBarBackgroundColor": "#284CD1"
}
},
{
"path" : "pages/personal/setup/tranpassword",
"style" :
{
"navigationBarTitleText" : "交易密码",
"path": "pages/personal/setup/tranpassword",
"style": {
"navigationBarTitleText": "交易密码",
"navigationBarBackgroundColor": "#284CD1"
}
},
{
"path" : "pages/personal/setup/pclogin",
"style" :
{
"navigationBarTitleText" : "设置密码",
"path": "pages/personal/setup/pclogin",
"style": {
"navigationBarTitleText": "设置密码",
"navigationBarBackgroundColor": "#284CD1"
}
},{
"path" : "pages/personal/setup/Withdrawal",
"style" :
{
"navigationBarTitleText" : "金额提现",
}, {
"path": "pages/personal/setup/Withdrawal",
"style": {
"navigationBarTitleText": "金额提现",
"navigationBarBackgroundColor": "#284CD1"
}
},{
"path" : "pages/personal/setup/accountoverview",
"style" :
{
"navigationBarTitleText" : "",
}, {
"path": "pages/personal/setup/accountoverview",
"style": {
"navigationBarTitleText": "",
"navigationBarBackgroundColor": "#284CD1"
}
},
{
"path" : "pages/personal/personalresume/basicinform",
"style" :
{
"navigationBarTitleText" : "新增资格证书",
"path": "pages/personal/personalresume/basicinform",
"style": {
"navigationBarTitleText": "新增资格证书",
"navigationBarBackgroundColor": "#284CD1"
}
},
@ -375,28 +341,27 @@
"backgroundColor": "#F8F8F8"
},
"tabBar": {
"color" : "#7A7E83",
"selectedColor" : "#1578ED",
"borderStyle" : "black",
"backgroundColor" : "#F8F8F8",
"list":[
{
"pagePath" : "pages/index/index",
"iconPath" : "static/index/index.png",
"selectedIconPath" : "static/index/activeindex.png",
"text" : "首页"
},
{
"pagePath" : "pages/index/testcrowdsourc/testcrowdsourc",
"iconPath" : "static/index/cedt.png",
"selectedIconPath" : "static/index/actcedt.png",
"text" : "众包大厅"
},
{
"pagePath" : "pages/personal/personal",
"iconPath" : "static/index/person.png",
"selectedIconPath" : "static/index/activeperson.png",
"text" : "我的"
"color": "#7A7E83",
"selectedColor": "#1578ED",
"borderStyle": "black",
"backgroundColor": "#F8F8F8",
"list": [{
"pagePath": "pages/index/index",
"iconPath": "static/index/index.png",
"selectedIconPath": "static/index/activeindex.png",
"text": "首页"
},
{
"pagePath": "pages/index/testcrowdsourc/testcrowdsourc",
"iconPath": "static/index/cedt.png",
"selectedIconPath": "static/index/actcedt.png",
"text": "众包大厅"
},
{
"pagePath": "pages/personal/personal",
"iconPath": "static/index/person.png",
"selectedIconPath": "static/index/activeperson.png",
"text": "我的"
}
]
},

@ -1,8 +1,12 @@
<template>
<view class="moreCould">
<image src="../../../static/index/tj.png" class="topbanner" mode=""></image>
<image src="http://image.keyitest.cn/static/index/renliwb/cloudbanner.png" class="topbanner" mode=""></image>
<view class="topbanner1">
<image src="../../../static/index/tj.png" class="topbanner1img" mode=""></image>
<image src="http://image.keyitest.cn/static/index/renliwb/cloudbanner1.png" class="topbanner1img" mode="">
</image>
<view class="topbtntext">
关键云员工助力<text>软件测试人才</text>
</view>
<view class="topbtn" @click="ruzhu">
立即入驻
</view>
@ -15,25 +19,24 @@
</view>
</view>
<view class="userCont">
<view class="userContIt" v-for="it in 4" @click="goDetail">
<view class="userContIt" v-for="it in jobList" :key="it.jobId" @click="goDetail(it)">
<view class="userContItT">
<view class="userContItTT">
<view class="userContItTTL">
嵌入式软件测试工程师(偶尔出差)
{{it.title}}
</view>
<view class="userContItTTR">
6-10K
{{ it.emolument }}
</view>
</view>
<view class="userContItTB">
<view class="userContItTBit">北京/西安</view>
<view class="userContItTBit">1-3年经验</view>
<view class="userContItTBit">本科</view>
<view class="userContItTBit">嵌入式</view>
<view class="userContItTBit">{{ it.city }}</view>
<view class="userContItTBit">{{ it.experience }}</view>
<view class="userContItTBit">{{ it.education }}</view>
</view>
</view>
<view class="userContItB">
<view class="userContItBL">北京关键科技股份有限公司</view>
<view class="userContItBL">{{ it.company }}</view>
<view class="userContItBR">计算机软件</view>
</view>
</view>
@ -59,20 +62,54 @@
export default {
data() {
return {
showida: false
showida: false,
total: 0,
queryParams: {
pageNum: 1,
pageSize: 10,
},
jobList: []
};
},
onLoad() {
this.getList()
},
onReachBottom() {
if (this.queryParams.pageNum * this.queryParams.pageSize < this.total) {
this.queryParams.pageNum += 1
this.getList()
}
},
methods: {
goDetail() {
// joblist
getList() {
this.http.quickGet(
`/job/findAll?pageSize=${this.queryParams.pageSize}&pageNum=${this.queryParams.pageNum}`,
false).then(res => {
this.jobList = [...this.jobList, ...res.data.rows]
this.total = res.data.total
})
},
goDetail(it) {
uni.navigateTo({
url: '/pages/index/outsourcing/cloudUserdetail'
url: '/pages/index/outsourcing/cloudUserdetail?id=' + it.jobId
})
},
ruzhu() {
this.showida = true
},
copyUrl() {
uni.setClipboardData({
data: 'https://www.keyitest.cn/', // value
success: function() {
//
uni.showToast({
title: '已复制到剪切板',
icon: 'none'
})
}
})
this.showida = false
},
}
}
@ -99,6 +136,22 @@
height: 100%;
}
.topbtntext {
width: 100%;
position: absolute;
bottom: 128rpx;
left: 50%;
transform: translateX(-50%);
font-weight: 500;
font-size: 34rpx;
color: #000000;
text-align: center;
}
.topbtntext text {
color: #D4393C;
}
.topbtn {
width: 190rpx;
height: 52rpx;
@ -206,18 +259,21 @@
align-items: center;
justify-content: center;
flex-direction: column;
.maskBoxT {
color: #1A1A1A;
font-size: 26rpx;
font-weight: bold;
}
.maskBoxM {
color: #1A1A1A;
font-size: 26rpx;
font-weight: 500;
margin: 20rpx 0;
}
.maskBoxB {
color: #1578ED;
font-size: 26rpx;

@ -1,32 +1,32 @@
<template>
<view class="moreCould">
<view class="topbanner">
<image class="topbannerimg" src="../../../static/index/activeall.png" mode=""></image>
<image class="topbannerimg" src="http://image.keyitest.cn/static/index/renliwb/cloudbanner3.png" mode=""></image>
<view class="topCon">
<view class="topConT">
<div class="topConTL">嵌入式软件测试工程师</div>
<div class="topConTR">6-10K</div>
<div class="topConTL">{{ jonInfo.title }}</div>
<div class="topConTR">{{ jonInfo.emolument }}</div>
</view>
<view class="topConM">
<div class="topConMit">
<image src="../../../static/index/dd.png" mode=""></image>
北京
<image src="http://image.keyitest.cn/static/index/renliwb/cloudicon1.png" mode=""></image>
{{ jonInfo.city }}
</div>
<div class="topConMit">
<image src="../../../static/index/dd.png" mode=""></image>
北京
<image src="http://image.keyitest.cn/static/index/renliwb/cloudicon2.png" mode=""></image>
{{ jonInfo.experience }}
</div>
<div class="topConMit">
<image src="../../../static/index/dd.png" mode=""></image>
北京
<image src="http://image.keyitest.cn/static/index/renliwb/cloudicon3.png" mode=""></image>
{{ jonInfo.education }}
</div>
<div class="topConMit">
<image src="../../../static/index/dd.png" mode=""></image>
北京
<image src="http://image.keyitest.cn/static/index/renliwb/cloudicon4.png" mode=""></image>
{{ jonInfo.personCount }}
</div>
<div class="topConMit">
<image src="../../../static/index/dd.png" mode=""></image>
北京
<image src="http://image.keyitest.cn/static/index/renliwb/cloudicon5.png" mode=""></image>
{{ jonInfo.jobType == 1 ? '兼职' : '全职' }}
</div>
</view>
<view class="topConB">
@ -39,35 +39,20 @@
<view class="bocontent">
<div class="bocontentBox">
<div class="bocontentBoxT">职位描述</div>
<div class="skillBox">
<!-- <div class="skillBox">
<div class="skillBoxIt">C++test</div>
<div class="skillBoxIt">Testbed</div>
<div class="skillBoxIt">loadrunner</div>
<div class="skillBoxIt">jmeter</div>
<div class="skillBoxIt">C++</div>
</div> -->
<div v-html="jonInfo.jobDesc" class="bocontentBoxC">
</div>
<div class="bocontentBoxC">
岗位要求<br />
1.本科及以上学历计算机相关专业毕业<br />
2.对测试工作有兴趣能够接受出差
</div>
<div class="bocontentBoxC">
岗位技能<br />
1.掌握软件测试技能具备用例编写能力<br />
2.熟练掌握CC++语言有白盒测试经验有单元测试经验者优先非常重要条件<br />
3.具有嵌入式培训工作经历及相关行业测试经验者优先<br />
4.熟悉C++testTestbedloadrunnerjmeter等测试工具或具有第三方测评经验者优先录用
</div>
<div class="bocontentBoxC">
岗位职责<br />
1.负责嵌入式软件的单元测试集成测试配置项测试和系统测试完成测试计划测试用例编写问题单提交测试报告编写<br />
2.负责通用软件文档审查功能测试性能测试兼容性易用性可靠性信息安全性维护性可移植性测试完成测试文档和测试报告编写<br />
3.完成内部测试和第三方软件测评
</div>
<div class="bocontentBoxT">工作地点</div>
<div class="bocontentBoxC">北京市昌平区国电投中央园区</div>
<div class="bocontentBoxC">{{ jonInfo.city }}</div>
<div class="bocontentBoxT">入职企业</div>
<div class="bocontentBoxC">北京关键科技股份有限公司</div>
<div class="bocontentBoxC">{{ jonInfo.company }}</div>
</div>
</view>
<view class="bottomBtn">
@ -76,6 +61,9 @@
</div>
</view>
</view>
<u-modal title='温馨提示' v-model="tokenshow" content="您还没有登录" confirm-text='现在就去' cancel-text='稍等一下'
show-cancel-button='true' cancel-color='#1578ED' confirm-color='#1578ED' @confirm="confirms"
@cancel='tokenshow=false'></u-modal>
</view>
</template>
@ -83,11 +71,52 @@
export default {
data() {
return {
jonInfo: {},
tokenshow: false
};
},
onLoad(options) {
const id = options.id
this.getInfo(id)
},
methods: {
shenqing() {}
getInfo(id) {
this.http.quickGet(
`/job/detail/${id}`,
false).then(res => {
this.jonInfo = res.data.data
})
},
shenqing() {
const accessToken = uni.getStorageSync('accessToken');
if (!accessToken) {
this.tokenshow = true
} else {
const wxUserInfo = uni.getStorageSync('wxUserInfo');
this.http.quickPost(
`/job/apply/${this.jonInfo.jobId}`, {
userId: wxUserInfo.userId
},
true).then(res => {
uni.showToast({
title: '职位申请成功',
icon: 'none'
})
}).catch(error => {
uni.showToast({
title: '职位申请失败',
icon: 'none'
})
})
}
},
confirms() {
uni.navigateTo({
url: '/pages/personal/login'
})
},
}
}
</script>
@ -137,7 +166,8 @@
.topConM {
display: flex;
align-items: center;
margin: 34rpx 0;
margin: 20rpx 0;
flex-wrap: wrap;
.topConMit {
display: flex;
@ -146,6 +176,7 @@
font-size: 22rpx;
color: #FFFFFF;
margin-right: 32rpx;
margin-bottom: 10rpx;
image {
width: 23rpx;
@ -227,6 +258,7 @@
align-items: center;
justify-content: center;
margin-top: 32rpx;
.bottomB {
width: 700rpx;
height: 70rpx;

@ -1,7 +1,8 @@
<template>
<view class="moreCould">
<view class="topbanner">
<image class="topbannerimg" src="../../../static/index/activeall.png" mode=""></image>
<image class="topbannerimg" src="http://image.keyitest.cn/static/index/renliwb/cloudbanner2.png" mode="">
</image>
<view class="topCon">
<view class="topConT">
关键云员工
@ -13,32 +14,32 @@
</view>
<view class="searchBox">
<div class="input">
<u-input v-model="value" clearable :type="type" border />
<u-input v-model="queryParams.keyword" clearable border />
</div>
<view class="searchbtn" @click="search">
搜索
</view>
</view>
<div class="contentBox">
<view class="jianliboxitem" v-for="it in peopleList" >
<view class="jianliboxitem" v-for="it in peopleList" :key="it.user_id">
<view class="address">
<image src="../../../static/index/dd.png" mode=""></image>
北京
<image src="http://image.keyitest.cn/static/index/renliwb/cloudicon6.png" mode=""></image>
{{it.city && it.city.split('-')[1]}}
</view>
<view class="jlboxtop">
<image class="jlboxtopimg" :src="it.url" alt="" />
<image class="jlboxtopimg" :src="it.avatar" alt="" />
<view class="jlboxtoptit">{{it.name}}</view>
<view class="jlboxtopzc">{{it.zhicheng}}</view>
<view class="jlboxtopzcC">{{it.zhicheng}}</view>
<view class="jlboxtopzc">{{it.testSkills}}</view>
<view class="jlboxtopzcC">{{it.personalAdvantage}}</view>
</view>
<view class="jlboxbottom">
<view class="jlboxbottoml jlboxbottomlbor">
<image class="jlboxbottomlimg" src="../../../static/crowd/daxue.png" alt="" />
{{it.school}}
<text>{{it.college}}</text>
</view>
<view class="jlboxbottoml">
<image class="jlboxbottomlimg" src="../../../static/crowd/zhuanye.png" alt="" />
{{it.maj}}
<text>{{it.major}}</text>
</view>
</view>
</view>
@ -50,39 +51,35 @@
export default {
data() {
return {
peopleList: [{
url: 'http://image.keyitest.cn/static/index/renliwb/people1.png',
name: '杨**',
zhicheng: 'JAVA后端研发工程师',
school: '河南科技大学',
maj: '软件工程专业'
peopleList: [],
total: 0,
queryParams: {
pageNum: 1,
pageSize: 10,
keyword: '',
},
{
url: 'http://image.keyitest.cn/static/index/renliwb/people2.png',
name: '赵**',
zhicheng: 'Web全栈开发工程师',
school: '西安科技大学',
maj: '软件工程专业'
};
},
{
url: 'http://image.keyitest.cn/static/index/renliwb/people3.png',
name: '杨**',
zhicheng: 'JAVA研发工程师',
school: '阜阳师范大学',
maj: '软件工程专业'
onLoad() {
this.getList()
},
{
url: 'http://image.keyitest.cn/static/index/renliwb/people4.png',
name: '王**',
zhicheng: '嵌入式工程师',
school: '西安科技大学',
maj: '软件工程专业'
onReachBottom() {
if (this.queryParams.pageNum * this.queryParams.pageSize < this.total) {
this.queryParams.pageNum += 1
this.getList()
}
],
};
},
methods: {
search() {}
search() {},
getList() {
this.http.quickGet(
`/tester/cert/cloudEmps?pageSize=${this.queryParams.pageSize}&pageNum=${this.queryParams.pageNum}&keyword=${this.queryParams.keyword}`,
true).then(res => {
this.peopleList = [...this.peopleList, ...res.data.rows]
this.total = res.data.total
})
},
}
}
</script>
@ -92,7 +89,10 @@
.topbanner {
height: 250rpx;
margin-bottom: 43rpx;
margin-top: 25rpx;
position: relative;
padding: 0 25rpx;
box-sizing: border-box;
.topbannerimg {
width: 100%;
@ -111,12 +111,14 @@
flex-direction: column;
justify-content: center;
align-items: center;
.topConT {
font-weight: bold;
font-size: 42rpx;
color: #FFFFFF;
margin-bottom: 20rpx;
}
.topConTB {
font-weight: 500;
font-size: 25rpx;
@ -134,19 +136,23 @@
margin-bottom: 40rpx;
display: flex;
align-items: center;
.input {
flex: 1;
height: 60rpx;
::v-deep .u-input {
background: #FFFFFF !important;
border-radius: 4rpx 0rpx 0rpx 4rpx !important;
border: 1px solid #E6E7EB !important;
height: 60rpx !important;
}
::v-deep .u-input__input {
min-height: 60rpx !important;
}
}
.searchbtn {
width: 140rpx;
height: 60rpx;
@ -159,12 +165,14 @@
color: #FFFFFF;
}
}
.contentBox {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
padding: 0 25rpx;
box-sizing: border-box;
.jianliboxitem {
width: 338rpx;
height: 380rpx;
@ -178,6 +186,7 @@
margin-bottom: 24rpx;
position: relative;
}
.address {
position: absolute;
top: 20rpx;
@ -185,6 +194,7 @@
font-weight: 500;
font-size: 20rpx;
color: #999999;
image {
width: 15rpx;
height: 19rpx;
@ -213,18 +223,33 @@
font-size: 28rpx;
color: #000000;
margin: 10rpx 0;
padding: 0 30rpx;
box-sizing: border-box;
text-align: center;
}
.jlboxtopzc {
font-weight: 500;
font-size: 24rpx;
padding: 0 30rpx;
box-sizing: border-box;
color: #333333;
text-align: center;
}
.jlboxtopzcC {
font-weight: 500;
font-size: 20rpx;
color: #808080;
margin-top: 20rpx;
padding: 0 30rpx;
box-sizing: border-box;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
justify-content: flex-start;
}
@ -237,16 +262,24 @@
}
.jlboxbottoml {
height: 19rpx;
flex: 1;
height: 100%;
width: 50%;
display: flex;
justify-content: center;
align-items: center;
font-weight: 500;
font-size: 20rpx;
color: #808080;
}
.jlboxbottoml text {
max-width: 120rpx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.jlboxbottomlbor {
box-sizing: border-box;
border-right: 1px solid #EBEBEB;

@ -201,7 +201,7 @@
<swiper class="swiper" circular :indicator-dots="true" indicator-active-color="#1578ed">
<swiper-item v-for="(it,index) in zhuanjiaList" :key="index">
<view class="newmodel3" >
<view class="newmodel3">
<view class="newmodel3l">
<image :src="it.avatar" mode=""></image>
<view class="newmodel3ln">
@ -406,8 +406,8 @@
<u-toast ref="uToast" />
<!-- 弹窗 -->
<view class="dialogbox" v-show="isShowDia">
<view class="contentbox">
<view class="dialogbox" :style="{'align-items': flag ? 'center':'flex-start'}" v-show="isShowDia">
<view class="contentbox" >
<view class="closexx" @click="closeclosexx">x</view>
<!-- 标题 -->
<view class="contentboxTitle">
@ -476,13 +476,12 @@
</view>
</view>
</view>
</view>
<!-- 评测班报名 -->
<view class="dialogbox" v-show="isPCshow">
<view class="contentbox">
<view class="dialogbox" :style="{'align-items': flag ? 'center':'flex-start'}" v-show="isPCshow">
<view class="contentbox" style="margin-top: 200rpx;">
<view class="closexx" @click="closeclosejj">x</view>
<!-- 标题 -->
<view class="contentboxTitle">
@ -560,6 +559,7 @@
})
}
return {
flag: true,
accessToken: null,
codeBtn: false,
calltext: '',
@ -935,6 +935,10 @@
//
this.getClassList()
this.getTeacherList()
uni.onKeyboardHeightChange(this.onKeyboardHeightChange);
},
onUnload() {
uni.offKeyboardHeightChange(this.onKeyboardHeightChange);
},
onReady() {
//onReady uni-app
@ -942,6 +946,27 @@
this.$refs.uFormjj.setRules(this.jjrules)
},
methods: {
onKeyboardHeightChange(res) {
const {
height,
duration
} = res;
//
if (height > 0) {
//
this.flag = false
uni.showToast({
title:'打开'
})
}
//
else {
this.flag = true
uni.showToast({
title:'收起'
})
}
},
//
getTeacherList() {
this.http.quickGet(`/talent/portal/teachers`, false).then((res) => {
@ -1229,6 +1254,7 @@
}
.contentbox {
margin-top: 40rpx;
width: 559rpx;
/* height: 670rpx; */
background: #FFFFFF;
@ -1996,9 +2022,11 @@
line-height: 34rpx;
margin-bottom: 20rpx;
}
.swiper {
height: 465rpx;
}
.newmodel3 {
height: 410rpx;
background: #FFFFFF;

@ -1,135 +1,175 @@
<template>
<view class="accounmt">
<view class="beizhu">
友情提示完善简历有助于您在竞标时提高竞争力哦
<view class="jianlibox">
<view class="topTip">
友情提示入驻成为云员工简历才能被企业主浏览到哦<text @click="ruzhu">PC端入驻</text>
</view>
<view style="display: flex;justify-content: space-between;">
<view>
<view style="display: flex;align-items: center;">
<p style="font-weight: bold;font-size: 36rpx;">
<view class="accounmt">
<view class="accounmtBox">
<view class="newTitle paddingL">
<view class="newTitlename">
{{resumedata.name}}
</p>
<p>{{resumedata.sex}}</p>
</view>
<view class="newTitlesex">
性别{{resumedata.sex}}
</view>
</view>
<!-- 个人优势 -->
<view class="linx"></view>
<view style="display: flex;justify-content: space-between;">
<p style="font-weight: bold;font-size: 36rpx;">基本信息</p>
<img @click="nextpro('advantage')" style="width: 14px;height: 14px;margin:6px 5px 0 5px"
src="http://image.keyitest.cn/static/resume/edit.png" alt="" />
</view>
<p v-if='resumedata.city' @click="nextpro('advantage')"
style="color: #333333;margin-top:13px;line-height: 40rpx;">{{resumedata.city}}</p>
<p v-if='resumedata.testSkills' @click="nextpro('advantage')"
style="color: #333333;margin-top:13px;line-height: 40rpx;">{{resumedata.testSkills}}</p>
<p v-if='resumedata.personalAdvantage' @click="nextpro('advantage')"
style="color: #333333;margin-top:13px;line-height: 40rpx;">{{resumedata.personalAdvantage}}</p>
<p v-else style="color: #333333;margin-top:13px;"></p>
<div class="contenBox paddingL">
<!-- 基本信息 -->
<div class="contenItem paddingL">
<div class="contenItemTIle">
<div class="contenItemTIleL">基本信息</div>
<img class="contenItemTIleR"
src="http://image.keyitest.cn/static/index/renliwb/cloudicon7.png"
@click="nextpro('advantage')" alt="" />
</div>
<div class="contenItemC">
<div class="contenItemCIt">
所在城市{{resumedata.city}}
</div>
<div class="contenItemCIt">
技能方向{{resumedata.testSkills}}
</div>
<div class="contenItemCIt">
个人优势{{resumedata.personalAdvantage}}
</div>
</div>
</div>
<!-- 工作经历 -->
<view class="linx"></view>
<view style="display: flex;justify-content: space-between;">
<p style="font-weight: bold;font-size: 36rpx;">工作经历</p>
<img @click="nextpro('work')" style="width: 14px;height: 14px;margin:6px 5px 0 5px"
src="http://image.keyitest.cn/static/resume/add.png" alt="" />
</view>
<view v-if="worklist.length>0">
<view v-for="(item,key) of worklist" @click="workdetaols(item)">
<view style="display: flex;justify-content: space-between;margin: 45rpx 0 25rpx 0;">
<p style="font-weight: bold;font-size:14px;">{{item.name}}</p>
<view style="display: flex;">
<p style="margin-right:6px;color: #4D4D4D;">{{item.startTime}}-{{item.endTime}}
</p>
<u-icon name="arrow-right" color="#808080" size="26"></u-icon>
</view>
</view>
<p style="color:#000000">{{item.title}}</p>
<p style="color: #595959;margin-top:25rpx;line-height: 20px;">
{{item.intro}}
</p>
</view>
</view>
<p v-else style="color: #333333;margin-top:13px;"></p>
<div class="contenItem paddingL">
<div class="contenItemTIle">
<div class="contenItemTIleL">工作经历</div>
<img class="contenItemTIleR contenItemTIleR2"
src="http://image.keyitest.cn/static/index/renliwb/cloudicon8.png"
@click="nextpro('work')" alt="" />
</div>
<div class="contenItemC">
<div class="contenItemCitem" v-for="(item,key) of worklist" :key="key"
@click="workdetaols(item)">
<div class="contenItemCitemT">
<div class="contenItemCitemL">{{item.name}}</div>
<div class="contenItemCitemR">{{item.startTime}}-{{item.endTime}}
<u-icon name="arrow-right" color="#666666" size="24"></u-icon>
</div>
</div>
<div class="contenItemCitemM">
{{item.title}}
</div>
<div class="contenItemCIt">
工作内容{{item.intro}}
</div>
</div>
</div>
</div>
<!-- 项目经历 -->
<view class="linx"></view>
<view style="display: flex;justify-content: space-between;">
<p style="font-weight: bold;font-size: 36rpx;">项目经历</p>
<img @click="nextpro('pro')" style="width: 14px;height: 14px;margin:6px 5px 0 5px"
src="http://image.keyitest.cn/static/resume/add.png" alt="" />
</view>
<view v-if="projectlist.length>0">
<view v-for="(item,key) of projectlist" @click="prodetaols(item)">
<view style="display: flex;justify-content: space-between;margin: 45rpx 0 25rpx 0;">
<p style="font-weight: bold;font-size:14px;">{{item.name}}</p>
<view style="display: flex;">
<p style="margin-right:6px;color: #4D4D4D;">{{item.startTime}}-{{item.endTime}}
</p>
<u-icon name="arrow-right" color="#808080" size="26"></u-icon>
</view>
</view>
<p style="color:#000000">{{item.title}}</p>
<p style="color: #595959;margin-top:25rpx;line-height: 20px;">
{{item.intro}}
</p>
</view>
</view>
<p v-else style="color: #333333;margin-top:13px;"></p>
<div class="contenItem paddingL">
<div class="contenItemTIle">
<div class="contenItemTIleL">项目经历</div>
<img class="contenItemTIleR contenItemTIleR2"
src="http://image.keyitest.cn/static/index/renliwb/cloudicon8.png"
@click="nextpro('pro')" alt="" />
</div>
<div class="contenItemC">
<div class="contenItemCitem" v-for="(item,key) of projectlist" :key="key"
@click="prodetaols(item)">
<div class="contenItemCitemT">
<div class="contenItemCitemL">{{item.name}}</div>
<div class="contenItemCitemR">{{item.startTime}}-{{item.endTime}}
<u-icon name="arrow-right" color="#666666" size="24"></u-icon>
</div>
</div>
<div class="contenItemCitemM">
{{item.title}}
</div>
<div class="contenItemCIt">
应用技术{{item.applyTech}}
</div>
<div class="contenItemCIt">
工作内容{{item.intro}}
</div>
</div>
</div>
</div>
<!-- 教育经历 -->
<view class="linx"></view>
<view style="display: flex;justify-content: space-between;">
<p style="font-weight: bold;font-size: 36rpx;">教育经历</p>
<img @click="nextpro('edu')" style="width: 14px;height: 14px;margin:6px 5px 0 5px"
src="http://image.keyitest.cn/static/resume/add.png" alt="" />
</view>
<view v-if="educationlist.length>0">
<view v-for="(item,key) of educationlist" @click="edudetaols(item)">
<view style="display: flex;justify-content: space-between;margin: 45rpx 0 25rpx 0;">
<p style="font-weight: bold;font-size:14px;">{{item.name}}</p>
<view style="display: flex;">
<p style="margin-right:6px;color: #4D4D4D;">{{item.startTime}}-{{item.endTime}}
</p>
<u-icon name="arrow-right" color="#808080" size="26"></u-icon>
</view>
</view>
<p style="color:#000000">{{item.education}}</p>
<p style="color: #595959;margin-top:25rpx;line-height: 20px;">
{{item.major}}
</p>
<div class="contenItem paddingL">
<div class="contenItemTIle">
<div class="contenItemTIleL">教育经历</div>
<img class="contenItemTIleR contenItemTIleR2"
src="http://image.keyitest.cn/static/index/renliwb/cloudicon8.png"
@click="nextpro('edu')" alt="" />
</div>
<div class="contenItemC">
<div class="contenItemCitem" v-for="(item,key) of educationlist" :key="key"
@click="edudetaols(item)">
<div class="contenItemCitemT">
<div class="contenItemCitemL">{{item.name}}</div>
<div class="contenItemCitemR">{{item.startTime}}-{{item.endTime}}
<u-icon name="arrow-right" color="#666666" size="24"></u-icon>
</div>
</div>
<div class="contenItemCitemM">
学历{{item.education}} 专业{{item.major}}
</div>
</div>
</div>
</div>
<!-- 资格证书 -->
<div class="contenItem paddingL">
<div class="contenItemTIle">
<div class="contenItemTIleL">资格证书</div>
<img class="contenItemTIleR contenItemTIleR2"
src="http://image.keyitest.cn/static/index/renliwb/cloudicon8.png"
@click="nextpro('basic')" alt="" />
</div>
<div class="contenItemC">
<div class="contenItemCitem" v-for="(item,key) of credentialsList" :key="key" @click="bookdetaols(item)">
<div class="contenItemCitemimgBoxT">
<div class="contenItemCitemimgBoxTL">
证书名称{{item.fileName}}
</div>
<div class="contenItemCitemimgBoxTR" @click.stop="delBook(item)">删除</div>
</div>
<image class="contenItemCitemimg" @click.stop="priveimg(item.fileUrl)" :src="item.fileUrl"
alt=""></image>
</div>
</div>
</div>
</div>
</div>
</view>
</view>
<p v-else style="color: #333333;margin-top:13px;"></p>
<!-- 资格证书 -->
<view class="linx"></view>
<view style="display: flex;justify-content: space-between;">
<p style="font-weight: bold;font-size: 36rpx;">资格证书</p>
<img @click="nextpro('basic')" style="width: 14px;height: 14px;margin:6px 5px 0 5px"
src="http://image.keyitest.cn/static/resume/add.png" alt="" />
<view class="maskDia" v-if="showida">
<view class="maskBox">
<view class="maskBoxT">
入驻云员工请前往PC端认证
</view>
<view style="text-align:center;margin: 15px 0;" v-for="it in credentialsList" @click="bookdetaols(it)">
<view style="display: flex;justify-content: space-between;margin: 45rpx 0 25rpx 0;">
<view>
<p style="text-align: left;">{{it.fileName}}</p>
<img @click="priveimg(it.fileUrl)" style="width: 196rpx;height: 139rpx;" :src="it.fileUrl" alt="">
<view class="maskBoxM">
PC端网址https://www.keyitest.cn/
</view>
<view style="display: flex;">
<u-icon name="arrow-right" color="#808080" size="26"></u-icon>
<view class="maskBoxB" @click="copyUrl">
复制网址
</view>
</view>
<!-- <p style="text-align: left;">{{it.fileName}}</p>
<img @click="priveimg(it.fileUrl)"
style="width: 196rpx;height: 139rpx;" :src="it.fileUrl" alt=""> -->
</view>
<view class="linx"></view>
<u-toast ref="uToast" />
</view>
</template>
<script>
export default {
data() {
return {
showida: false,
userinfo: {},
projectlist: [], //
worklist: [], //
@ -210,33 +250,241 @@
urls: imgsArray
});
},
delBook(it) {
const _this = this
uni.showModal({
title: '提示',
content: '此操作将永久删除,是否删除',
success: function(res) {
if (res.confirm) {
_this.http.quickDelete(`/tester/cert/credentials/${it.fileId}`, true).then(res => {
_this.$refs.uToast.show({
title: '删除成功',
type: 'info',
})
_this.http.quickGet(`/personal/resume`, true).then(res => {
//
_this.projectlist = res.data.experience.filter(it => it
.type == 0)
_this.worklist = res.data.experience.filter(it => it.type ==
1)
_this.educationlist = res.data.experience.filter(it => it
.type == 2)
//
_this.resumedata = res.data.personalInfo
//
_this.credentialsList = res.data.credentials
})
})
} else if (res.cancel) {}
}
});
},
ruzhu() {
this.showida = true
},
copyUrl() {
uni.setClipboardData({
data: 'https://www.keyitest.cn/', // value
success: function() {
//
uni.showToast({
title: '已复制到剪切板',
icon: 'none'
})
}
})
this.showida = false
},
}
}
</script>
<style>
.accounmt {
background-color: #ffffff;
/* height: 96vh; */
width: 96vw;
margin: 2vh auto;
padding: 10px 15px 30px 15px;
border-radius: 5px;
font-size: 13px;
<style lang="scss" scoped>
.topTip {
width: 100%;
height: 130rpx;
background: #FFFFFF;
padding: 25rpx 45rpx;
box-sizing: border-box;
font-weight: 500;
font-size: 26rpx;
color: #4D4D4D;
}
.linx {
.topTip text {
color: #1578ED;
}
.accounmt {
padding: 25rpx;
box-sizing: border-box;
.accounmtBox {
width: 100%;
background: #ffffff;
border-radius: 6rpx;
.newTitle {
width: 100%;
height: 1rpx;
opacity: 0.15;
background: #999999;
margin: 15px 0;
height: 100rpx;
background: linear-gradient(90deg, #E2EDFD, #FEE4E4);
border-radius: 6rpx 6rpx 0rpx 0rpx;
display: flex;
align-items: center;
justify-content: space-between;
.newTitlename {
font-weight: bold;
font-size: 36rpx;
color: #000000;
}
.newTitlesex {
font-weight: 500;
font-size: 28rpx;
color: #333333;
}
}
.contenBox {
.contenItem {
border-bottom: 1px solid rgba(153, 153, 153, 0.15);
padding-bottom: 44rpx;
.contenItemTIle {
height: 100rpx;
display: flex;
align-items: center;
justify-content: space-between;
.contenItemTIleL {
font-weight: bold;
font-size: 32rpx;
color: #000000;
}
.contenItemTIleR {
width: 25rpx;
height: 25rpx;
}
.contenItemTIleR2 {
width: 30rpx;
height: 30rpx;
}
}
.contenItemC {
.contenItemCIt {
font-weight: 500;
font-size: 24rpx;
color: #4D4D4D;
line-height: 46rpx;
}
.contenItemCitem {
.contenItemCitemM {
font-weight: 500;
font-size: 24rpx;
color: #1A1A1A;
margin: 25rpx 0;
}
.contenItemCitemT {
display: flex;
align-items: center;
justify-content: space-between;
.contenItemCitemL {
font-weight: bold;
font-size: 26rpx;
color: #000000;
}
.contenItemCitemR {
font-weight: 500;
font-size: 24rpx;
color: #666666;
}
}
}
}
}
}
}
}
.contenItemCitemimgBoxT {
display: flex;
align-items: center;
justify-content: space-between;
.beizhu {
font-size: 25rpx;
color: #808080;
margin-bottom: 20rpx;
.contenItemCitemimgBoxTL {
font-weight: 500;
font-size: 24rpx;
color: #4D4D4D;
}
.contenItemCitemimgBoxTR {
font-weight: 500;
font-size: 22rpx;
color: #FD4747;
}
}
.contenItemCitemimg {
width: 300rpx;
height: 200rpx;
margin: 20rpx 0;
}
.paddingL {
padding: 0 25rpx;
}
.maskDia {
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
background: rgba(5, 5, 7, 0.5);
display: flex;
align-items: center;
justify-content: center;
.maskBox {
width: 570rpx;
height: 220rpx;
background: linear-gradient(0deg, #FFFFFF, #EFF3FE);
box-shadow: 0rpx 4rpx 21rpx 4rpx rgba(22, 27, 33, 0.1);
border-radius: 6rpx;
border: 1px solid #999999;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
.maskBoxT {
color: #1A1A1A;
font-size: 26rpx;
font-weight: bold;
}
.maskBoxM {
color: #1A1A1A;
font-size: 26rpx;
font-weight: 500;
margin: 20rpx 0;
}
.maskBoxB {
color: #1578ED;
font-size: 26rpx;
font-weight: 500;
}
}
}
</style>

@ -132,7 +132,7 @@
console.log('res---', res)
this.$refs.uToast.show({
title: '删除工作成功',
type: 'info',
type: 'success',
url: 'pages/personal/personalresume/personalresume'
})
})

Loading…
Cancel
Save