Преглед на файлове

对接修改信息/对接我的面试/对接我的简历

空白格 преди 3 години
родител
ревизия
28a1d357ce

+ 19 - 1
h5_web/common/apiurl.js

@@ -48,6 +48,8 @@ const apiurl = {
 	getIdInfoUrl: '/veteEduc/idcard/',
 	// 合作学校分页数据
 	getSchoolListUrl: '/school/list',
+	// 修改用户信息
+	modifyUserInfoUrl: '/memberinfo',
 	
 	// 学院模块
 	school: {
@@ -100,7 +102,23 @@ const apiurl = {
     getRecruitmentJobListUrl: '/companypost/pageList',
     // 岗位详情
     getJobDetailsUrl: '/companypost/getDetail'
-  }
+  },
+	/**
+	 * 我的面试
+	 */
+	interview: {
+		// 我的面试列表
+		getInterviewListUrl: '/delivery/myInterviewList'
+	},
+	/**
+	 * 我的简历
+	 */
+	resume: {
+		// 保存求职意向
+		submitJobIntentionUrl: '/memberinfo/saveJobIntention',
+		// 保存自我评价
+		submitSelfAssessmentUrl: '/memberinfo/saveSelfAssessment'
+	}
 }
 
 export {

+ 16 - 1
h5_web/common/http.api.js

@@ -52,6 +52,8 @@ const install = (Vue, vm) => {
 	let getIdInfo = (params = {}) => vm.$u.get(apiurl.getIdInfoUrl+params.id);
 	// 获取学院分页数据
 	let getSchoolList = (params = {}) => vm.$u.get(apiurl.getSchoolListUrl, params)
+	// 修改用户信息
+	let modifyUserInfo = (params = {}) => vm.$u.put(apiurl.modifyUserInfoUrl, params)
 	
 	// 学院模块
 	let school = {
@@ -100,6 +102,16 @@ const install = (Vue, vm) => {
 	// 我的投递
 	let delivery = {
 		getDeliveryList: (params = {}) => vm.$u.get(apiurl.delivery.deliveryListUrl, params)
+	};
+	
+	// 我的面试
+	let interview = {
+		getInterviewList: (params = {}) => vm.$u.get(apiurl.interview.getInterviewListUrl, params)
+	};
+	// 我的简历
+	let resume = {
+		submitJobIntention: (params = {}) => vm.$u.put(apiurl.resume.submitJobIntentionUrl, params),
+		submitSelfAssessment: (params = {}) => vm.$u.put(apiurl.resume.submitSelfAssessmentUrl, params)
 	}
 	// 将各个定义的接口名称,统一放进对象挂载到vm.$u.api(因为vm就是this,也即this.$u.api)下
 	vm.$u.api = {
@@ -131,7 +143,10 @@ const install = (Vue, vm) => {
 		company,
     policyInfo,
 		delivery,
-    recruitment
+    recruitment,
+		interview,
+		resume,
+		modifyUserInfo
 	};
 }
 

+ 37 - 0
h5_web/pages/evaluationIntention/city.js

@@ -0,0 +1,37 @@
+export const city = [{
+		label: "贵阳市",
+		value: "5201"
+	},
+	{
+		label: "六盘水市",
+		value: "5202"
+	},
+	{
+		label: "遵义市",
+		value: "5203"
+	},
+	{
+		label: "安顺市",
+		value: "5204"
+	},
+	{
+		label: "毕节市",
+		value: "5205"
+	},
+	{
+		label: "铜仁市",
+		value: "5206"
+	},
+	{
+		label: "黔西南布依族苗族自治州",
+		value: "5223"
+	},
+	{
+		label: "黔东南苗族侗族自治州",
+		value: "5226"
+	},
+	{
+		label: "黔南布依族苗族自治州",
+		value: "5227"
+	}
+]

+ 1 - 1
h5_web/pages/evaluationIntention/evaluationIntention.scss

@@ -48,7 +48,7 @@
 		&-submit {
 			margin-top: 40rpx;
 			.btn {
-				background-color: #a9d8d1;
+				// background-color: #a9d8d1;
 			}
 		}
 		&-explain {

+ 222 - 29
h5_web/pages/evaluationIntention/evaluationIntention.vue

@@ -4,7 +4,7 @@
 		
 		<!-- 导航栏 -->
 		<u-navbar class="evaluate-intention-bar" back-text="" title="">
-			<view class="evaluate-intention-bar-right" slot="right" @click="jumpPage('/pages/index/index')">跳过</view>
+			<view class="evaluate-intention-bar-right" slot="right" @click="jumpPage('/pages/myResume/myResume')">跳过</view>
 		</u-navbar>
 		
 		<view class="evaluate-intention-explain">
@@ -32,25 +32,25 @@
 				ref="intentionForm"
 				label-position="top"
 			>
-				<u-form-item label="工作城市">
+				<u-form-item label="工作城市" prop="city" required>
 					<u-input v-model="intentionForm.city" type="select" @click="cityShow = true" placeholder="请选择工作城市"/>
-					<u-select v-model="cityShow" :list="cityList"></u-select>
+					<u-select v-model="cityShow" :list="cityList" @confirm="cityConfirm"></u-select>
 				</u-form-item>
-				<u-form-item label="期望职位">
+				<u-form-item label="期望职位" prop="position" required>
 					<u-input v-model="intentionForm.position" type="select" @click="positionShow = true" placeholder="请选择期望职位"/>
-					<u-select v-model="positionShow" :list="positionList"></u-select>
+					<u-select v-model="positionShow" :list="positionList" @confirm="positionConfirm"></u-select>
 				</u-form-item>
-				<u-form-item label="期望行业">
+				<u-form-item label="期望行业" prop="industry" required>
 					<u-input v-model="intentionForm.industry" type="select" @click="industryShow = true" placeholder="请选择期望行业"/>
-					<u-select v-model="industryShow" :list="industryList"></u-select>
+					<u-select v-model="industryShow" :list="industryList" @confirm="industryConfirm"></u-select>
 				</u-form-item>
-				<u-form-item label="薪资要求">
+				<u-form-item label="薪资要求" prop="salary" required>
 					<u-input v-model="intentionForm.salary" type="select" @click="salaryShow = true" placeholder="请选择薪资要求"/>
-					<u-select v-model="salaryShow" :list="salaryList"></u-select>
+					<u-select v-model="salaryShow" :list="salaryList" @confirm="salaryConfirm"></u-select>
 				</u-form-item>
 			</u-form>
 			<view class="evaluate-intention-intention-submit">
-				<u-button type="primary" class="btn">开始找工作</u-button>
+				<u-button type="primary" class="btn" @click="submitIntention">开始找工作</u-button>
 			</view>
 			<view class="evaluate-intention-intention-explain">去完善项目经历,让更多HR看到你</view>
 		</view>
@@ -73,13 +73,16 @@
 				</u-form-item>
 			</u-form>
 			<view class="evaluate-intention-evaluate-submit">
-				<u-button type="primary" class="btn">提交</u-button>
+				<u-button type="primary" class="btn" @click="submitEvaluation">提交</u-button>
 			</view>
 		</view>
+		<u-toast ref="uToast" />
 	</view>
 </template>
 
 <script>
+	import { industry } from './industry.js';
+	import { city } from './city.js'
 	export default {
 		data() {
 			return {
@@ -93,20 +96,49 @@
 				],
 				tabCur: 0,
 				intentionForm: {
-					city: '贵阳',
+					city: '',
+					cityId: '',
 					position: '',
-					industry: '不限',
-					salary: ''
+					positionId: '',
+					industry: '',
+					industryId: '',
+					salary: '',
+					salaryId: ''
+				},
+				intentionRules: {
+					city: [
+						{ 
+							required: true, 
+							message: '请选择您的工作城市', 
+							trigger: ['change','blur']
+						}
+					],
+					position: [
+						{
+							required: true, 
+							message: '请选择您的期望职位', 
+							trigger: ['change', 'blur']
+						}
+					],
+					industry: [
+						{
+							required: true, 
+							message: '请选择您的期望行业', 
+							trigger: ['change', 'blur']
+						}
+					],
+					salary: [
+						{
+							required: true,
+							message: '请选择您的期望薪资', 
+							trigger: ['change', 'blur']
+						}
+					]
 				},
 				// 城市下拉显示
 				cityShow: false,
 				// 城市列表
-				cityList: [
-					{
-						value: 1,
-						label: '贵阳'
-					}
-				],
+				cityList: city,
 				// 职位下拉显示
 				positionShow: false,
 				// 职位列表
@@ -114,28 +146,43 @@
 					{
 						value: 1,
 						label: '保安'
+					},
+					{
+						value: 2,
+						label: '服务员'
+					},
+					{
+						value: 3,
+						label: '消防员'
 					}
 				],
 				// 行业下拉显示
 				industryShow: false,
 				// 行业列表
-				industryList: [
-					{
-						value: 1,
-						label: '不限'
-					}
-				],
+				industryList: industry,
 				// 薪资下拉显示
 				salaryShow: false,
 				// 薪资列表
 				salaryList: [
 					{
 						value: 1,
-						label: '3000 ~ 4000'
+						label: '1 ~ 3'
 					},
 					{
 						value: 2,
-						label: '4000 ~ 5000'
+						label: '3 ~ 5'
+					},
+					{
+						value: 3,
+						label: '5 ~ 7'
+					},
+					{
+						value: 4,
+						label: '7 ~ 10'
+					},
+					{
+						value: 5,
+						label: '10 ~ 以上'
 					}
 				],
 				// 自我评价
@@ -145,17 +192,163 @@
 			}
 		},
 		onLoad(page) {
+			this.getMemberinfo()
 			if (page.tabCur) {
 				this.tabCur = Number(page.tabCur)
 			}
 		},
+		// 必须要在onReady生命周期,因为onLoad生命周期组件可能尚未创建完毕
+		onReady() {
+			if (this.tabCur === 0) {
+				this.$refs.intentionForm.setRules(this.intentionRules);
+			}
+		},
 		methods: {
+			/**
+			 * 获取用户基本信息
+			 */
+			getMemberinfo(){
+				this.$u.api.getmemberinfo().then(res => {
+					if (res.code === 200){
+						this.evaluateForm.content = res.data.selfAssessment
+						this.intentionForm.city = res.data.workCity
+						this.evaluateForm.position = res.data.expectedPost
+						this.evaluateForm.industry = res.data.expectedIndustry
+						this.evaluateForm.salary = (res.data.expectedLowestSalary + 'k ~ ' + res.data.expectedHighestSalary + 'k')
+					} else {
+						this.$refs.uToast.show({
+							title: res.msg,
+							type: 'error'
+						})
+					}
+				}).catch(err => {
+					this.$refs.uToast.show({
+						title: err.msg,
+						type: 'error'
+					})
+				})
+			},
+			/**
+			 * 城市下拉
+			 * @param { Object } item
+			 */
+			cityConfirm(item) {
+				this.intentionForm.city = item[0].label
+				this.intentionForm.cityId = item[0].value
+			},
+			/**
+			 * 职位下拉
+			 * @param {Object} item
+			 */
+			positionConfirm(item) {
+				this.intentionForm.position = item[0].label
+				this.intentionForm.positionId = item[0].value
+			},
+			/**
+			 * 行业下拉
+			 * @param {Object} item
+			 */
+			industryConfirm(item) {
+				this.intentionForm.industry = item[0].label
+				this.intentionForm.industryId = item[0].value
+			},
+			/**
+			 * 薪资下拉
+			 * @param {Object} item
+			 */
+			salaryConfirm(item) {
+				this.intentionForm.salary = item[0].label
+				this.intentionForm.salaryId = item[0].value
+			},
 			/**
 			 * 跳转到指定页面
 			 */
 			jumpPage(url) {
-				console.log(url)
 				this.$u.route(url)
+			},
+			submitIntention() {
+				this.$refs.intentionForm.validate(valid => {
+					if (valid) {
+						const form = {
+							...this.intentionForm
+						}
+						uni.showLoading({
+							title: '数据提交中,请等待'
+						})
+						this.$u.api.resume.submitJobIntention({
+							workCity: form.city,
+							expectedPost: form.position,
+							expectedIndustry: form.industry,
+							expectedLowestSalary: form.salary.split(' ~ ')[0],
+							expectedHighestSalary: form.salary.split(' ~ ')[1]
+						}).then(res => {
+							if (res.code === 200) {
+								this.$refs.uToast.show({
+									title: '更新成功',
+									type: 'success'
+								})
+								setTimeout(() => {
+									uni.hideLoading()
+									this.jumpPage('/pages/myResume/myResume');
+								}, 300)
+							} else {
+								uni.hideLoading();
+								this.$refs.uToast.show({
+									title: res.msg,
+									type: 'error'
+								})
+							}
+						}).catch(() => {
+							uni.hideLoading();
+							this.$refs.uToast.show({
+								title: '系统异常',
+								type: 'error'
+							})
+						})
+					}
+				})
+			},
+			/**
+			 * 提交自我评价
+			 */
+			submitEvaluation() {
+				if (this.evaluateForm.content) {
+					uni.showLoading({
+						title: '数据提交中,请等待'
+					})
+					this.$u.api.resume.submitSelfAssessment({
+						selfAssessment: this.evaluateForm.content
+					}).then(res => {
+						if (res.code === 200) {
+							this.$refs.uToast.show({
+								title: '更新成功',
+								type: 'success'
+							})
+							setTimeout(() => {
+								uni.hideLoading()
+								this.jumpPage('/pages/myResume/myResume');
+							}, 300)
+						} else {
+							uni.hideLoading();
+							this.$refs.uToast.show({
+								title: res.msg,
+								type: 'error'
+							})
+						}
+					}).catch(() => {
+						uni.hideLoading();
+						this.$refs.uToast.show({
+							title: '系统异常',
+							type: 'error'
+						})
+					})
+				} else {
+					uni.hideLoading()
+					this.$refs.uToast.show({
+						title: '请输入自我评价',
+						type: 'warning'
+					})
+				}
 			}
 		}
 	}

+ 58 - 0
h5_web/pages/evaluationIntention/industry.js

@@ -0,0 +1,58 @@
+export const industry = [
+	{
+		value: 1001,
+		label: "IT服务"
+	},
+	{
+		value: 1002,
+		label: "制造业"
+	},
+	{
+		value: 1003,
+		label: "批发/零售"
+	},
+	{
+		value: 1004,
+		label: "生活服务"
+	},
+	{
+		value: 1005,
+		label: "文化/体育/娱乐业"
+	},
+	{
+		value: 1006,
+		label: "建筑/房地产"
+	},
+	{
+		value: 1007,
+		label: "教育"
+	},
+	{
+		value: 1008,
+		label: "运输/物流/仓储"
+	},
+	{
+		value: 1009,
+		label: "医疗"
+	},
+	{
+		value: 1010,
+		label: "政府"
+	},
+	{
+		value: 1011,
+		label: "金融"
+	},
+	{
+		value: 1012,
+		label: "能源/采矿"
+	},
+	{
+		value: 1013,
+		label: "农林渔牧"
+	},
+	{
+		value: 1014,
+		label: "其他行业"
+	}
+]

+ 1 - 1
h5_web/pages/mine/mine.vue

@@ -12,7 +12,7 @@
 			<view class="mine-info-header">
 				<view class="mine-info-header-left">
 					<view class="avatar" @click="jumpPage('/pages/personalModify/personalModify')">
-						<image :src="memberinfo.avatar" mode=""></image>
+						<u-avatar :src="memberinfo.avatar" mode="circle" size="130"/>
 					</view>
 					<view class="name">{{ memberinfo.name }}</view>
 				</view>

+ 104 - 0
h5_web/pages/myInterview/myInterview.scss

@@ -1 +1,105 @@
 /* 我的面试 */
+.interview {
+	&-list {
+		padding: 44rpx 40rpx;
+		&-item {
+			border: solid 1px #e5e5e5;
+			border-radius: 24rpx;
+			padding: 24rpx 32rpx;
+			margin-bottom: 30rpx;
+			&-status {
+				color: #505050;
+				font-size: 32rpx;
+				font-weight: bold;
+				margin-bottom: 16rpx;
+			}
+			&-time {
+				color: #2a82e4;
+				font-size: 48rpx;
+				margin-bottom: 16rpx;
+			}
+			&-address {
+				font-size: 28rpx;
+				color: #505050;
+				margin-bottom: 40rpx;
+			}
+			&-company {
+				display: flex;
+				justify-content: space-between;
+				.left {
+					display: flex;
+					image {
+						width: 102rpx;
+						height: 102rpx;
+						border-radius: 10rpx;
+						border: solid 1px #f2f2f2;
+						margin-right: 38rpx;
+					}
+					&-info {
+						color: #a6a6a6;
+						font-size: 22rpx;
+						view {
+							line-height: 40rpx;
+							&:first-child {
+								color: #383838;
+								font-weight: bold;
+								font-size: 28rpx;
+							}
+						}
+					}
+				}
+				.right {
+					text-align: right;
+					view {
+						font-size: 22rpx;
+						&:first-child {
+							color: #ff5733;
+						}
+						&:last-child {
+							margin-top: 10rpx;
+							color: #a6a6a6;
+						}
+					}
+				}
+			}
+			&-btn {
+				.single-btn {
+					color: #fff;
+					font-size: 32rpx;
+					border-radius: 46rpx;
+					text-align: center;
+					height: 80rpx;
+					line-height: 80rpx;
+					margin-top: 52rpx;
+				}
+				.not-arrive {
+					background-color: #a6a6a6;
+				}
+				.arrive {
+					background-color: #2a82e4;
+				}
+				.double-btn {
+					display: flex;
+					justify-content: space-between;
+					view {
+						width: 280rpx;
+						height: 80rpx;
+						line-height: 80rpx;
+						text-align: center;
+						font-size: 36rpx;
+						border-radius: 46rpx;
+						margin-top: 52rpx;
+						&:first-child {
+							background-color: #2a82e4;
+							color: #fff;
+						}
+						&:last-child {
+							border: solid 1px #2a82e4;
+							color: #2a82e4;
+						}
+					}
+				}
+			}
+		}
+	}
+}

+ 106 - 3
h5_web/pages/myInterview/myInterview.vue

@@ -1,7 +1,45 @@
 <!-- 我的面试 -->
 <template>
 	<view class="interview">
-		我的面试
+		<z-paging
+			ref="paging"
+			v-model="interviewList"
+			@query="queryList"
+		>
+		<view class="interview-list">
+			<view class="interview-list-item" v-for="(item, index) in interviewList" :key="index">
+				<view class="interview-list-item-status">{{ getDictLabel(item.status, 'deliveryStatusList') }}</view>
+				<view class="interview-list-item-time">{{ item.interviewTime || '2021-10-29 10:00' }}</view>
+				<view class="interview-list-item-address">{{ item.interviewAddress }}</view>
+				<view class="interview-list-item-company">
+					<view class="left">
+						<view>
+							<image :src="item.companyLogoUrl"/>
+						</view>
+						<view class="left-info">
+							<view>{{ item.postName }}</view>
+							<view>{{ `${item.workPlace} | 经验${item.workYear}年 | ${item.educationBg}` }}</view>
+							<view>{{ item.companyName }}</view>
+						</view>
+					</view>
+					<view class="right">
+						<view>{{ `${item.lowestSalary}k ~ ${item.highestSalary}k` }}</view>
+						<view v-if="item.updateTime">{{ item.updateTime.split(' ')[0] }}</view>
+						<view v-else>{{ item.createTime.split(' ')[0] }}</view>
+					</view>
+				</view>
+				<view class="interview-list-item-btn">
+					<view class="single-btn not-arrive" v-if="Number(item.status) === 20 && new Date('2021-10-29 10:00').valueOf() > new Date().valueOf()">未到面试时间</view>
+					<view class="single-btn arrive" v-else-if="Number(item.status) === 20 && new Date('2021-10-29 10:00').valueOf() <= new Date().valueOf()">发起视频面试</view>
+					<view class="double-btn" v-else-if="Number(item.status) === 50">
+						<view>接受</view>
+						<view>拒绝</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		</z-paging>
+		<u-toast ref="uToast" />
 	</view>
 </template>
 
@@ -9,11 +47,76 @@
 	export default {
 		data() {
 			return {
-				
+				// 面试列表
+				interviewList: [],
+				// 面试状态
+				deliveryStatusList: []
 			}
 		},
+		onLoad() {
+			this.getDict('delivery_status')
+		},
 		methods: {
-			
+			/**
+			 * 获取我的面试列表
+			 * @param { Number } pageNum 
+			 * @param { Number } pageSize
+			 */
+			getInterviewList(pageNum, pageSize) {
+				this.$u.api.interview.getInterviewList({ pageNum, pageSize }).then(res => {
+					if (res.code === 200) {
+						this.$refs.paging.complete(res.rows)
+					} else {
+						this.$refs.paging.complete([])
+						this.$refs.uToast.show({
+							title: res.msg,
+							type: 'error'
+						})
+					}
+				}).catch(err => {
+					this.$refs.uToast.show({
+						title: '系统异常!',
+						type: 'error'
+					})
+				})
+			},
+			/**
+			 * 组件下拉加载触发
+			 * @param { Number } pageNo
+			 * @param { Number } pageSize
+			 */
+			queryList(pageNo, pageSize) {
+				this.getInterviewList(pageNo, pageSize)
+			},
+			/**
+			 * 获取数据字典
+			 * @param { String } key
+			 */
+			getDict(key) {
+				this.$u.api.getDictdataUrl({ key }).then(res => {
+					if (res.code === 200) {
+						switch(key) {
+							case 'delivery_status':
+								this.deliveryStatusList = res.data;
+								break;
+						}
+					}
+				})
+			},
+			/**
+			 * 获取字典名称
+			 * @param { String } val
+			 * @param { String } key
+			 */
+			getDictLabel(val, key) {
+				let label;
+				this[key].forEach(item => {
+					if (Number(item.text) === Number(val)) {
+						label = item.label
+					}
+				})
+				return label;
+			}
 		}
 	}
 </script>

+ 37 - 19
h5_web/pages/myResume/myResume.vue

@@ -6,20 +6,20 @@
 		<view class="resume-head" @click="jumpPage('/pages/dynamicTracking/dynamicTracking')">
 			<view class="resume-head-left">
 				<view class="name">
-					<view>{{ userInfo.nickName }}</view>
-					<image src="../../static/img/edit-icon.png" mode=""></image>
+					<view>{{ memberinfo.name }}</view>
+					<!-- <image src="../../static/img/edit-icon.png" mode=""></image> -->
 				</view>
 				<view class="info">
-					<view>{{ userInfo.sex }} · </view>
+					<view>{{ memberinfo.menSex === 1 ? '女' : '男' }} · </view>
 					<view>
-						<text class="position">{{ userInfo.company ? '入职中' : '未入职' }}</text>
-						{{ `(${ userInfo.company })` }}
+						<text class="position">{{ memberinfo.jobStatus !== 0 ? '入职中' : '未入职' }}</text>
+						<!-- {{ `(${ memberinfo.company })` }} -->
 					</view>
 				</view>
 			</view>
 			<view class="resume-head-right">
 				
-				<u-avatar :src="userInfo.avatar" mode="circle" size="128" />
+				<u-avatar :src="memberinfo.avatar" mode="circle" size="130" />
 			</view>
 		</view>
 
@@ -27,9 +27,9 @@
 		<view class="resume-base-info">
 			<view class="resume-base-info-left">
 				<view class="title">基本信息</view>
-				<view class="resume-base-info-item">退役军人 · 36岁 · 群众 · 本科</view>
+				<view class="resume-base-info-item">退役军人 · 36岁 · {{ memberinfo.politOutlook }} · {{ memberinfo.degrEduc }}</view>
 				<view class="resume-base-info-phone">
-					电话:<text class="icon-phone-icon"></text> 17004240181
+					电话:<text class="icon-phone-icon"></text> {{ memberinfo.mobile }}
 				</view>
 			</view>
 			<view class="resume-base-info-right">
@@ -41,8 +41,8 @@
 		<view class="resume-job-intention">
 			<view class="resume-job-intention-left">
 				<view class="title">求职意向</view>
-				<view>保安员  4K-8K</view>
-				<view class="supple">暂末补充求意向… </view>
+				<view v-if="memberinfo.workCity">{{ memberinfo.expectedPost }}  {{ `${memberinfo.expectedLowestSalary}k ~ ${memberinfo.expectedHighestSalary}k` }}</view>
+				<view class="supple" v-else>暂末补充求意向… </view>
 			</view>
 			<view class="resume-job-intention-right">
 				<image src="../../static/img/edit-icon.png" mode="" @click="jumpPage('/pages/evaluationIntention/evaluationIntention', { tabCur: 0 })"></image>
@@ -53,10 +53,10 @@
 		<view class="resume-self-evaluation">
 			<view class="resume-self-evaluation-left">
 				<view class="title">自我评价</view>
-				<view class="supple" v-if="!isExpand">暂未补充自我评价...</view>
+				<view class="supple" v-if="memberinfo.selfAssessment === ''">暂未补充自我评价...</view>
 				
 				<view class="resume-self-evaluation-info" v-else>
-					<view class="rsei-box">{{ userInfo.evaluate }}</view>
+					<view class="rsei-box">{{ memberinfo.selfAssessment }}</view>
 				</view>
 			</view>
 			<view class="resume-self-evaluation-right">
@@ -116,6 +116,7 @@
 				{{ isTrainExpand ? '收起' : '展开全部' }}
 			</view>
 		</view>
+		<u-toast ref="uToast" />
 	</view>
 </template>
 
@@ -123,13 +124,7 @@
 	export default {
 		data() {
 			return {
-				userInfo: {
-					avatar: require('@/static/img/avatar.jpg'),
-					nickName: '郝爱国',
-					company: '贵州威振押运有限公司',
-					sex: '男',
-					evaluate: '性格开朗,工作认真负责,细心,有很强的职责心和进取心,头脑灵活,不怕吃苦,理解潜力强,能够很好的处理同事的关系,具有强烈的团队合作精神,并能承担必须的工作压力。'
-				},
+				memberinfo: {},
 				// 求职意向
 				jobIntention: true,
 				// 自我评价
@@ -176,6 +171,9 @@
 				isTrainExpand: true
 			}
 		},
+		onShow() {
+			this.getMemberinfo()
+		},
 		methods: {
 			/**
 			 * 跳转到指定页
@@ -185,6 +183,26 @@
 					url: url,
 					params: params
 				})
+			},
+			/**
+			 * 获取用户基本信息
+			 */
+			getMemberinfo(){
+				this.$u.api.getmemberinfo().then(res => {
+					if (res.code === 200){
+						this.memberinfo = res.data;
+					} else {
+						this.$refs.uToast.show({
+							title: res.msg,
+							type: 'error'
+						})
+					}
+				}).catch(err => {
+					this.$refs.uToast.show({
+						title: err.msg,
+						type: 'error'
+					})
+				})
 			}
 		}
 	}

+ 91 - 4
h5_web/pages/personalModify/personalModify.vue

@@ -3,11 +3,21 @@
 	<view>
 		<u-cell-group>
 			<u-cell-item title="头像修改">
-				<u-upload slot="right-icon" :custom-btn="true" :before-upload="beforeUpload" :multiple="false" :show-upload-list="false">
+				<u-upload
+					slot="right-icon"
+					:action="action"
+					:custom-btn="true"
+					:before-upload="beforeUpload"
+					:multiple="false"
+					:show-upload-list="false"
+					:limitType="['png', 'jpg']"
+					@on-success="uploadSuccess"
+				>
 					<u-avatar slot="addBtn" :src="avatarUrl" mode="circle" size="100"></u-avatar>
 				</u-upload>
 			</u-cell-item>
 		</u-cell-group>
+		<u-toast ref="uToast" />
 	</view>
 </template>
 
@@ -15,13 +25,90 @@
 	export default {
 		data() {
 			return {
-				avatarUrl: require('@/static/img/avatar.jpg')
+				// 上传地址
+				action: this.config.uploadUrl,
+				avatarUrl: ''
 			}
 		},
+		onShow() {
+			this.getMemberinfo()
+		},
 		methods: {
+			/**
+			 * 获取用户基本信息
+			 */
+			getMemberinfo(){
+				uni.showLoading({
+					mask: true,
+					title: '数据请求中...'
+				})
+				this.$u.api.getmemberinfo().then(res => {
+					if (res.code === 200){
+						this.avatarUrl = res.data.avatar;
+						uni.hideLoading()
+					} else {
+						this.$refs.uToast.show({
+							title: res.msg,
+							type: 'error'
+						})
+						uni.hideLoading()
+					}
+				}).catch(err => {
+					this.$refs.uToast.show({
+						title: err.msg,
+						type: 'error'
+					})
+					uni.hideLoading()
+				})
+			},
+			/**
+			 * 上传组件上传触发
+			 * @param {Object} index
+			 * @param {Object} list
+			 */
 			beforeUpload(index, list) {
-				console.log(index)
-				console.log(list)
+				uni.showLoading({
+					title: '图片上传中...',
+					mask: true
+				})
+			},
+			/**
+			 * 上传组件成功触发
+			 * @param { Object } res
+			 */
+			uploadSuccess(res) {
+				if (res.code === 200) {
+					this.$u.api.modifyUserInfo({
+						avatar: res.data.url
+					}).then(res => {
+						if (res.code === 200) {
+							this.getMemberinfo()
+							this.$refs.uToast.show({
+								title: '修改成功!',
+								type: 'success'
+							})
+							uni.hideLoading()
+						} else {
+							this.$refs.uToast.show({
+								title: res.msg,
+								type: 'error'
+							})
+							uni.hideLoading()
+						}
+					}).catch(() => {
+						uni.hideLoading()
+						this.$refs.uToast.show({
+							title: '系统异常',
+							type: 'error'
+						})
+					})
+				} else {
+					uni.hideLoading();
+					this.$refs.uToast.show({
+						title: res.msg,
+						type: 'error'
+					})
+				}
 			}
 		}
 	}

+ 0 - 1
h5_web/pages/phoneLogin/phoneLogin.vue

@@ -52,7 +52,6 @@ export default {
 	onLoad(page) {},
 	onShow() {
 		// 判断是否登录 已登录直接跳转首页
-		console.log(this.vuex_hasLogin)
 		if(this.vuex_hasLogin){
 			uni.switchTab({
 				url: '../index/index'