浏览代码

上传头像

wgl 4 年之前
父节点
当前提交
ff2cb4cd10

+ 5 - 2
src/projects/business/views/Master/Center.vue

@@ -49,7 +49,7 @@
 						</a>
 					</li>
 					<li class="mui-table-view-cell">
-						<a href="../home/#/role?project=business" class="mui-navigate-right jump">
+						<a href="../home/#/role?project=business&exchange=1" class="mui-navigate-right jump">
 							<img src="~$project/assets/img/cicon17.png" width="18" /> 切换身份
 						</a>
 					</li>
@@ -93,7 +93,10 @@
 			}
 		},
 		created() {
-
+			//如果不存在则跳转到注册页面
+			if (!this.person_data) {
+				window.location.href = '../home/#/login'
+			}
 		},
 		methods: {
 			//修改个人信息

+ 3 - 2
src/projects/business/views/Master/Home.vue

@@ -1,7 +1,8 @@
 <template>
 	<div>
 		<common @asynCallBack="asynCallBack"></common>
-		<top-header :pageTitle="pageTitle" headerClass="vongi-bar" :rightLink="rightLink" :doRightLink="doRightLink" :leftShow="false"></top-header>
+		<top-header :pageTitle="pageTitle" headerClass="vongi-bar" :rightLink="rightLink" :doRightLink="doRightLink"
+		 :leftShow="false"></top-header>
 
 		<div class="mui-content margin49">
 			<div class="vongi-icons">
@@ -207,7 +208,7 @@
 		methods: {
 			//右上角点击事件
 			doRightLink() {
-
+				window.location.href = '../home/#/role?project=business&exchange=1'
 			},
 			asynCallBack() {
 

+ 4 - 1
src/projects/business/views/Master/Message.vue

@@ -81,7 +81,10 @@
 			}
 		},
 		created() {
-
+			//如果不存在则跳转到注册页面
+			if (!this.person_data) {
+				window.location.href = '../home/#/login'
+			}
 		},
 		methods: {
 			//获取最新一条通知消息

+ 9 - 0
src/projects/home/apis/person.js

@@ -18,3 +18,12 @@ export function validateCode(params) {
 		method: 'post',
 	})
 }
+
+//用户注册提交信息
+export function save(params) {
+	return request({
+		url: '/mobile/personInfoApi/save',
+		data: Qs.stringify(params),
+		method: 'post',
+	})
+}

+ 3 - 3
src/projects/home/router/index.js

@@ -24,9 +24,9 @@ const routes = [
 	},
 	//上传照片
 	{
-		path: '/uploadPhone',
-		name: 'UploadPhone',
-		component: () => import('../views/UploadPhone.vue'),
+		path: '/uploadPhoto',
+		name: 'UploadPhoto',
+		component: () => import('../views/UploadPhoto.vue'),
 		meta: {
 			title: '上传照片',
 		}

+ 4 - 2
src/projects/home/views/Home.vue

@@ -86,13 +86,15 @@
 				})
 			},
 			asynCallBack() {
-
+				
 			},
 			...mapMutations({
 				set_vister_scene: types.SET_VISTER_SCENE,
 			})
 		},
-		mounted() {},
+		mounted() {
+
+		},
 		destroyed() {
 
 		},

+ 34 - 11
src/projects/home/views/Login.vue

@@ -49,6 +49,9 @@
 		mapGetters,
 		mapMutations
 	} from 'vuex'
+	import {
+		checkPhone,
+	} from '$project/utils'
 	import * as types from '$project/store/mutation-types'
 	export default {
 		name: 'Home',
@@ -68,26 +71,44 @@
 				personId: '',
 				verifyCode: '',
 				sendMsgWz: '发送验证码',
+
+				isLoading: false,
 			}
 		},
 		created() {
 
 		},
 		methods: {
+			//表单检测
+			checkForm() {
+				let phoneResult = checkPhone(this.subForm.phone);
+				if (!this.subForm.name) {
+					mui.toast('请输入您的姓名');
+					return false;
+				} else if (typeof phoneResult == 'string') {
+					mui.toast(phoneResult);
+					return false;
+				} else {
+					return true;
+				}
+			},
 			//根据用户名和手机号查询人员信息
 			findByNameAndPhone() {
-				this.isLoading = true;
-				API_Person.findByNameAndPhone(this.subForm).then(response => {
+				if (this.checkForm()) {
+					this.isLoading = true;
+					API_Person.findByNameAndPhone(this.subForm).then(response => {
 
-					this.personId = response;
-					this.isLoading = false;
+						this.personId = response;
+						this.isLoading = false;
 
-					this.sendMsg();
-				}).catch(error => {
-					this.isLoading = false;
-					mui.toast(error);
-				})
+						this.sendMsg();
+					}).catch(error => {
+						this.isLoading = false;
+						mui.toast(error);
+					})
+				}
 			},
+			//发送验证码
 			sendMsg() {
 				this.isLoading = true;
 				API_Common.sendMsg({
@@ -127,11 +148,13 @@
 						openId: this.openId
 					}).then(response => {
 
-						this.set_token(respone);
+						this.set_token(response);
 						//上传头像					
 						this.$router.push({
 							name: 'UploadPhoto',
-							query: {}
+							query: {
+								personId: this.personId
+							}
 						})
 
 						this.isLoading = false;

+ 12 - 0
src/projects/home/views/Role.vue

@@ -110,7 +110,18 @@
 				}
 			},
 			asynCallBack() {
+				//如果用户不存则去注册用户
+				if (!this.person_data) {
+					this.$router.push({
+						name: 'Login',
+						query: {}
+					})
+				}
 
+				//如果场景是存在的则直接跳转
+				if (!this.$route.query.exchange && this.visterScene.project && this.vister_scene.role) {
+					this.sure();
+				}
 			},
 			...mapMutations({
 				set_vister_scene: types.SET_VISTER_SCENE,
@@ -136,6 +147,7 @@
 				token: 'token',
 				person_data: 'person_data',
 				company_data: 'company_data',
+				vister_scene: 'vister_scene',
 			})
 		}
 	}

+ 0 - 34
src/projects/home/views/UploadPhone.vue

@@ -1,34 +0,0 @@
-<template>
-<div>
-    <header class="mui-bar mui-bar-nav">
-			<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
-			<h1 class="mui-title">上传登记照</h1>
-		</header>
-		<div class="mui-content">
-			<div class="mui-content-padded">
-				<div class="mui-content-padded">
-					<h5>请上传照片</h5>
-					<div class="mui-h5 color999">
-						照片将用于人脸识别设备,请上传清晰的免冠登记照或肩部以上近照。
-					</div>
-				</div>
-				<div class="mui-content-padded vongi-photo">
-					<div class="faceaifyy-content-region">
-						<a href="#picture"><span class="mui-icon iconfont icon-weibiaoti1"></span></a>
-					</div>
-				</div>
-			</div>
-		</div>
-		<div class="fyy-footer">
-			<div class="bindfyy-btn"><button type="submit" class="mui-btn mui-btn-primary ">提交</button></div>
-		</div>
-</div>
-</template>
-
-<script>
-</script>
-
-<style scoped src="$project/assets/css/xpwyfyy.css"></style>
-<style src="$project/assets/css/iconfont.css"></style>
-<style>
-</style>

+ 146 - 0
src/projects/home/views/UploadPhoto.vue

@@ -0,0 +1,146 @@
+<template>
+	<div>
+		<common @asynCallBack="asynCallBack"></common>
+		<top-header :pageTitle="pageTitle"></top-header>
+
+		<div class="mui-content">
+			<div class="mui-content-padded">
+				<div class="mui-content-padded">
+					<h5>请上传照片</h5>
+					<div class="mui-h5 color999">
+						照片将用于人脸识别设备,请上传清晰的免冠登记照或肩部以上近照。
+					</div>
+				</div>
+				<div class="mui-content-padded vongi-photo" @click="chooseImage">
+					<div class="faceaifyy-content-region" :style="subForm.faceImageUrl?'background:none':''">
+						<a v-if="!subForm.faceImageUrl"><span class="mui-icon iconfont icon-weibiaoti1"></span></a>
+						<img v-if="subForm.faceImageUrl" :src="subForm.faceImageUrl" width="100%" />
+					</div>
+				</div>
+			</div>
+		</div>
+		<div class="fyy-footer">
+			<div class="bindfyy-btn"><button type="submit" class="mui-btn mui-btn-primary" @click="submit">提交</button></div>
+		</div>
+	</div>
+</template>
+
+<script>
+	import * as API_Person from '@/apis/person'
+	import Common from '$project/components/Common.vue'
+	import Loading from '$project/components/Loading.vue'
+	import TopHeader from '$project/components/TopHeader.vue'
+	import {
+		mapGetters,
+		mapMutations
+	} from 'vuex'
+	import * as WxJsApi from '$project/utils/wxJsApi'
+	export default {
+		name: 'UploadPhoto',
+		components: {
+			Common,
+			Loading,
+			TopHeader
+		},
+		data() {
+			return {
+				pageTitle: '上传登记照',
+
+				isLoading: false,
+
+				subForm: {
+					personId: this.$route.query.personId,
+					openId: '',
+					faceImageUrl: ''
+				},
+			}
+		},
+		created() {
+			this.subForm.openId = this.openId;
+		},
+		methods: {
+			//微信选择图片
+			chooseImage() {
+				WxJsApi.chooseImage().then(res => {
+					var localData = res.localData;
+
+					if (localData.indexOf('data:image') != 0) {
+						//判断是否有这样的头部
+						localData = 'data:image/jpeg;base64,' + localData
+					}
+					localData = localData.replace(/\r|\n/g, '').replace('data:image/jgp', 'data:image/jpeg')
+					this.imgBase64 = localData;
+					//显示裁剪图片
+					//_this.showCropper(field);
+					this.uploadpic();
+				}).catch(error => {
+					mui.toast(error);
+				})
+			},
+			//上传图片
+			uploadpic() {
+				this.isLoading = true;
+				WxJsApi.uploadPic(this.imgBase64).then(response => {
+					this.isLoading = false;
+
+					this.subForm.faceImageUrl = response;
+				}).catch(error => {
+					this.isLoading = false;
+					mui.toast(error);
+				})
+			},
+			//表单检测
+			checkFrom() {
+				if (!this.subForm.personId) {
+					mui.toast('用户id未定义');
+					return false;
+				} else if (!this.subForm.openId) {
+					mui.toast('openId未获取到');
+					return false;
+				} else if (!this.subForm.faceImageUrl) {
+					mui.toast('请上传人脸照片');
+					return false;
+				} else {
+					return true;
+				}
+			},
+			//提交
+			submit() {
+				if (this.checkFrom()) {
+					this.isLoading = true;
+					API_Person.save(this.subForm).then(response => {
+						this.isLoading = false;
+
+						this.$router.push({
+							name: 'Home',
+							query: {}
+						})
+
+					}).catch(error => {
+						this.isLoading = false;
+						mui.toast(error);
+					})
+				}
+			},
+			asynCallBack() {
+
+			},
+		},
+		mounted() {
+			//获取微信配置
+			WxJsApi.getWxConfig();
+		},
+		destroyed() {},
+		computed: {
+			...mapGetters({
+				openId: 'wx_openid',
+				token: 'token',
+			})
+		}
+	}
+</script>
+
+<style scoped src="$project/assets/css/xpwyfyy.css"></style>
+<style src="$project/assets/css/iconfont.css"></style>
+<style>
+</style>