Browse Source

用户体系优化V6.2.0

zhengjinyi 5 years ago
parent
commit
f2868ef986

+ 2 - 2
api/utils.js

@@ -128,8 +128,8 @@ export function uploadFileImage() {
 	return new Promise(function(resolve,reject) {
 		uni.chooseImage({
 			count: 1, //默认1
-			sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有
-			sourceType: ['album','camera'], //从相册选择
+			sizeType: ['original','compressed'], //可以指定是原图还是压缩图,默认二者都有
+			sourceType: ['album'], //从相册选择
 			success: (res) => {
 				const tempFilePaths = res.tempFilePaths;
 				console.log(tempFilePaths)

+ 4 - 1
manifest.json

@@ -64,7 +64,10 @@
             "postcss" : true
         },
         "usingComponents" : true,
-        "permission" : {}
+        "permission" : {},
+		"navigateToMiniProgramAppIdList" : [
+			"wx5a5cda32926f55ac"
+		]
     },
     "mp-alipay" : {
         "usingComponents" : true

+ 15 - 1
pages.json

@@ -236,6 +236,20 @@
 			}
 		}
     ],
+	"subPackages": [
+			{
+				"root": "user",
+				"pages": [
+					{
+						"path": "register/register",
+						"style": {
+							"navigationBarTitleText": "注册",
+							"navigationStyle":"custom"
+						}
+					}
+				]
+			}
+	],
 	"tabBar": {
 			"height":"80",
 			"color": "#999999",
@@ -266,7 +280,7 @@
 					"text": "我的"
 				}
 			]
-		},
+	},
 	"globalStyle": {
 		"navigationBarTextStyle": "black",
 		"navigationBarTitleText": "采美采购商城",

+ 11 - 0
pages/goods/product.vue

@@ -503,6 +503,17 @@
 				this.navbarFiexd = 'none'
 			}
 		},
+		onShareAppMessage(res){//分享转发
+			if (res.from === 'button') {
+		      // 来自页面内转发按钮
+		      console.log(res.target)
+		    }
+			return {
+			  title: '采美采购商城-生美/医美采购服务平台',
+			  path: `pages/goods/product?id=${this.productID}`,
+			  imageUrl:'https://img.caimei365.com/group1/M00/03/8C/Cmis215XHXSAWWkhAAXDP4-6m_c397.png'
+			}
+		},
 		onShow() {
 			this.$api.getStorage().then((resolve) => {
 				this.userID = resolve.userID ? resolve.userID : '';	

+ 13 - 0
pages/tabBar/home/home.vue

@@ -261,6 +261,19 @@
 			},
 			showTost(){
 				this.$util.msg("正在开发中,敬请期待~",2000);
+				// uni.navigateToMiniProgram({
+				// 	appId: 'wx5a5cda32926f55ac',
+				// 	path: '/pages/tabBar/home/home',
+				// 	extraData: {
+				// 		'data1': 'test'
+				// 	},
+				// 	envVersion: 'develop',
+				// 	success(res) {
+				// 		console.log(res)
+				// 		// 打开成功
+						
+				// 	}
+				// })
 			},
 			navto(url){
 				this.$api.navigateTo(url)

+ 14 - 14
pages/user-module/bindemail.vue

@@ -104,23 +104,23 @@
 				}
 				this.isEmialDisabled = true;	
 				getEmailCode({email:this.bindEmail,status:1}).then(res =>{
-					this.$util.msg('验证邮件已发送至邮箱,请登录邮箱查收',2000)
+					this.$util.msg('邮箱验证码已发送',2000)
 					const TIME_COUNT = 60;
-			     	if (!this.codeTime) {
-			       		this.count = TIME_COUNT;
+			     	if (!this.codeTime) {
+			       		this.count = TIME_COUNT;
 						this.isEmialDisabled = true;
-			       		this.codeTime = setInterval(() => {
-			       			if (this.count > 1 && this.count <= TIME_COUNT) {
-			         			this.count--
-			         			this.emailCodeText = this.count +'s重新发送'
-			        		} else {
-				         		this.isEmialDisabled = false;
-				         		clearInterval(this.codeTime)
-				         		this.codeTime = null
+			       		this.codeTime = setInterval(() => {
+			       			if (this.count > 1 && this.count <= TIME_COUNT) {
+			         			this.count--
+			         			this.emailCodeText = this.count +'s重新发送'
+			        		} else {
+				         		this.isEmialDisabled = false;
+				         		clearInterval(this.codeTime)
+				         		this.codeTime = null
 								this.emailCodeText = '获取验证码'
-			        		}
-			       		},1000)
-			      	}
+			        		}
+			       		},1000)
+			      	}
 				}).catch( res =>{
 					this.$util.msg(res.msg,2000);
 					this.isEmialDisabled = false;

+ 0 - 1
pages/user-module/bindwechat.vue

@@ -180,7 +180,6 @@
 				}).catch( res =>{
 					this.$util.msg(res.msg,2000)
 					this.isMobileDisabled = false;
-					this.getVerificationCode()
 				})
 			},
 			bindingWechatLogin(){//获取用户基本信息登录

+ 1 - 1
pages/user-module/information.vue

@@ -154,7 +154,7 @@
 				<view class="register-picture">
 					<view class="label zz">医疗执业许可证:</view>
 					<view class="upload-picture">
-						<view class="upload-none" v-if="uploadMedicalImage == null" @click="chooseMedicalImage"><text class="iconfont icon-jiahao"></text></view>
+						<view class="upload-none" v-if="uploadMedicalImage == ''" @click="chooseMedicalImage"><text class="iconfont icon-jiahao"></text></view>
 						<view class="upload-image" v-else>
 							<image :src="uploadMedicalImage" mode=""  @click="viewMedicalImage"></image>
 							<view class="upload-del" @click="delMedicalImage">

+ 41 - 37
pages/user-module/password.vue

@@ -36,7 +36,7 @@
 			</view>
 			<view class="login-form clearfix">
 				<view class="login-input code">
-					<input type="number" v-model="mobileCode"  maxlength="4" class="input" placeholder="请输入短信验证码"/>
+					<input type="number" v-model="mobileCode"  maxlength="6" class="input" placeholder="请输入短信验证码"/>
 				</view>
 				<view class="login-input btn" :class="[isMobileDisabled  ? 'disabled' : '']" >
 					<button type="button"
@@ -74,7 +74,7 @@
 			</view>
 			<view class="login-form clearfix">
 				<view class="login-input code">
-					<input class="input" type="number" v-model="emailCode" maxlength="6"  placeholder="请输入邮箱验证码" />
+					<input class="input" type="number" v-model="emailCode" maxlength="4"  placeholder="请输入邮箱验证码" />
 				</view>
 				<view class="login-input btn" :class="[isEmialDisabled ? 'disabled' : '']">
 					<button class="input"  
@@ -87,15 +87,15 @@
 			</view>
 			<view class="login-form clearfix">
 				<view class="login-input pwd">
-					<input v-show="isShowEye" type="text" v-model="password"  maxlength="18" class="input" placeholder="请输入新密码,必须为8-16位字母数字的组合" autocomplete="new-password"/>
-					<input v-show="!isShowEye" type="password" v-model="password"  :password="true" maxlength="18" class="input" placeholder="请输入新密码,必须为8-16位字母数字的组合" autocomplete="new-password"/>
+					<input v-show="isShowEye" type="text" v-model="password"  maxlength="16" class="input" placeholder="请输入新密码,必须为8-16位字母数字的组合" autocomplete="new-password"/>
+					<input v-show="!isShowEye" type="password" v-model="password"  :password="true" maxlength="16" class="input" placeholder="请输入新密码,必须为8-16位字母数字的组合" autocomplete="new-password"/>
 					<view class="iconfont" :class="isShowEye ? iconEyen : iconEyes"  @click="passwordEye"></view>
 				</view>
 			</view>
 			<view class="login-form clearfix">
 				<view class="login-input pwd">
-					<input v-show="isShowEyes" type="text" v-model="passwordCheck"  maxlength="18" class="input" placeholder="请确认密码" autocomplete="new-password"/>
-					<input v-show="!isShowEyes" type="password" v-model="passwordCheck"  :password="true" maxlength="18" class="input" placeholder="请确认密码" autocomplete="new-password"/>
+					<input v-show="isShowEyes" type="text" v-model="passwordCheck"  maxlength="16" class="input" placeholder="请确认密码" autocomplete="new-password"/>
+					<input v-show="!isShowEyes" type="password" v-model="passwordCheck"  :password="true" maxlength="16" class="input" placeholder="请确认密码" autocomplete="new-password"/>
 					<view class="iconfont" :class="isShowEyes ? iconEyen : iconEyes"  @click="passwordEyes"></view>
 				</view>
 			</view>
@@ -151,9 +151,11 @@
 					}
 				mobilePassword(params).then(res =>{
 					this.$util.msg(res.msg,2000);
+					uni.navigateBack({
+						delta: 1
+					});
 				}).catch( res =>{
 					this.$util.msg(res.msg,2000);
-					this.getVerificationCode()
 				})
 			},
 			confirmEmailPassword(){//邮箱修改密码
@@ -166,6 +168,9 @@
 					}
 				emailPassword(params).then(res =>{
 					this.$util.msg(res.msg,2000);
+					uni.navigateBack({
+						delta: 1
+					});
 				}).catch( res =>{
 					this.$util.msg(res.msg,2000);
 				})
@@ -187,23 +192,23 @@
 				}
 				this.isEmialDisabled = true;
 				getEmailCode({email:this.email,status:3}).then(res =>{
-					this.$util.msg('验证邮件已发送至邮箱,请登录邮箱查收',2000);
+					this.$util.msg('邮箱验证码已发送',2000);
 					const TIME_COUNT = 60;
-			     	if (!this.codeTime) {
-			       		this.count = TIME_COUNT;
-			       		this.isEmialDisabled = true;
-			       		this.codeTime = setInterval(() => {
-			       			if (this.count > 1 && this.count <= TIME_COUNT) {
-			         			this.count--
-			         			this.emailCodeText = this.count +'s重新发送'
-			        		} else {
-				         		this.isEmialDisabled = false;
-				         		clearInterval(this.codeTime)
-				         		this.codeTime = null
+			     	if (!this.codeTime) {
+			       		this.count = TIME_COUNT;
+			       		this.isEmialDisabled = true;
+			       		this.codeTime = setInterval(() => {
+			       			if (this.count > 1 && this.count <= TIME_COUNT) {
+			         			this.count--
+			         			this.emailCodeText = this.count +'s重新发送'
+			        		} else {
+				         		this.isEmialDisabled = false;
+				         		clearInterval(this.codeTime)
+				         		this.codeTime = null
 								this.emailCodeText = '获取验证码'
-			        		}
-			       		},1000)
-			      	}
+			        		}
+			       		},1000)
+			      	}
 				}).catch( res =>{
 					this.$util.msg(res.msg,2000);
 					this.isEmialDisabled = false;
@@ -233,25 +238,24 @@
 				getMobileCode(params).then(res =>{
 					this.$util.msg('验证短信已发送',2000);
 					const TIME_COUNT = 60;
-			     	if (!this.codeTime) {
-			       		this.count = TIME_COUNT;
-			       		this.isMobileDisabled = true;
-			       		this.codeTime = setInterval(() => {
-			       			if (this.count > 1 && this.count <= TIME_COUNT) {
-			         			this.count--
-			         			this.mobileCodeText = this.count +'s重新发送'
-			        		} else {
-				         		this.isMobileDisabled = false;
-				         		clearInterval(this.codeTime)
-				         		this.codeTime = null
+			     	if (!this.codeTime) {
+			       		this.count = TIME_COUNT;
+			       		this.isMobileDisabled = true;
+			       		this.codeTime = setInterval(() => {
+			       			if (this.count > 1 && this.count <= TIME_COUNT) {
+			         			this.count--
+			         			this.mobileCodeText = this.count +'s重新发送'
+			        		} else {
+				         		this.isMobileDisabled = false;
+				         		clearInterval(this.codeTime)
+				         		this.codeTime = null
 								this.mobileCodeText = '获取验证码'
-			        		}
-			       		},1000)
-			      	}
+			        		}
+			       		},1000)
+			      	}
 				}).catch( res =>{
 					this.$util.msg(res.msg,2000);
 					this.isMobileDisabled = false;
-					this.getVerificationCode()
 				})
 			},
 			tabClick(index) {//tab切换

+ 45 - 36
pages/user-module/register.vue

@@ -48,6 +48,12 @@
 			<view class="register-row clearfix">
 				<view class="register-btn"  @click="registerStepsfirst">下一步</view>
 			</view>
+			<view class="register-row">
+				<view class="register-text">
+					<text class="txt">注:</text>
+					<text>邮件可能存在1-2分钟的延迟,同时请留意垃圾箱邮件!</text>
+				</view>
+			</view>
 		</view>
 		<view class="register-main clearfix" v-if="tabCurrentIndex === 2">
 			<view class="register-row clearfix">
@@ -377,17 +383,11 @@
 		},
 		methods:{
 			hanldNavigateBack(){
-				if(this.tabCurrentIndex == 1){
-					this.$util.modal('','注册尚未完成,确定放弃注册吗?','确定','取消',true,() =>{
-						uni.navigateBack({
-							delta: 1
-						});
-					})
-				}else{
+				this.$util.modal('','注册尚未完成,确定放弃注册吗?','确定','取消',true,() =>{
 					uni.navigateBack({
 						delta: 1
 					});
-				}
+				})
 			},
 			registerStepsfirst(){
 				let params ={
@@ -418,7 +418,6 @@
 					this.tabCurrentIndex = 3
 				}).catch(res =>{
 					this.$util.msg(res.msg,2000);
-					this.getVerificationCode()
 				})
 			},
 			registerStepsSub(){
@@ -469,23 +468,23 @@
 				}
 				this.isEmialDisabled = true;
 				getEmailCode({email:this.registerEmail,status:2}).then(res =>{
-					this.$util.msg('验证邮件已发送至邮箱,请登录邮箱查收',2000);
+					this.$util.msg('邮箱验证码已发送',2000);
 					const TIME_COUNT = 60;
-			     	if (!this.codeTime) {
-			       		this.count = TIME_COUNT;
+			     	if (!this.codeTime) {
+			       		this.count = TIME_COUNT;
 						this.isEmialDisabled = true;
-			       		this.codeTime = setInterval(() => {
-			       			if (this.count > 1 && this.count <= TIME_COUNT) {
-			         			this.count--
-			         			this.emailCodeText = this.count +'s重新发送'
-			        		} else {
-				         		clearInterval(this.codeTime)
-				         		this.codeTime = null
+			       		this.codeTime = setInterval(() => {
+			       			if (this.count > 1 && this.count <= TIME_COUNT) {
+			         			this.count--
+			         			this.emailCodeText = this.count +'s重新发送'
+			        		} else {
+				         		clearInterval(this.codeTime)
+				         		this.codeTime = null
 								this.emailCodeText = '获取验证码'
 								this.isEmialDisabled = false;
-			        		}
-			       		},1000)
-			      	}
+			        		}
+			       		},1000)
+			      	}
 				}).catch( res =>{
 					this.$util.msg(res.msg,2000);
 					this.isEmialDisabled = false;
@@ -515,21 +514,21 @@
 				getMobileCode(params).then(res =>{
 					this.$util.msg('验证短信已发送',2000);
 					const TIME_COUNT = 60;
-			     	if (!this.codeTime) {
-			       		this.count = TIME_COUNT;
-			       		this.isMobileDisabled = true;
-			       		this.codeTime = setInterval(() => {
-			       			if (this.count > 1 && this.count <= TIME_COUNT) {
-			         			this.count--
-			         			this.mobileCodeText = this.count +'s重新发送'
-			        		} else {
-				         		this.isMobileDisabled = false;
-				         		clearInterval(this.codeTime)
-				         		this.codeTime = null
+			     	if (!this.codeTime) {
+			       		this.count = TIME_COUNT;
+			       		this.isMobileDisabled = true;
+			       		this.codeTime = setInterval(() => {
+			       			if (this.count > 1 && this.count <= TIME_COUNT) {
+			         			this.count--
+			         			this.mobileCodeText = this.count +'s重新发送'
+			        		} else {
+				         		this.isMobileDisabled = false;
+				         		clearInterval(this.codeTime)
+				         		this.codeTime = null
 								this.mobileCodeText = '获取验证码'
-			        		}
-			       		},1000)
-			      	}
+			        		}
+			       		},1000)
+			      	}
 				}).catch( res =>{
 					this.$util.msg(res.msg,2000);
 					this.isEmialDisabled = false;
@@ -770,6 +769,16 @@
 				height: auto;
 				padding: 0 24rpx;
 				margin-bottom: 20rpx;
+				.register-text{
+					line-height: 44rpx;
+					margin-top: 100rpx;
+					font-size: $font-size-24;
+					color: #999999;
+					text-align: justify;
+					.txt{
+						margin-right: 15rpx;
+					}
+				}
 				.register-from{
 					width: 654rpx;
 					height: 40rpx;

+ 1177 - 0
user/register/register.vue

@@ -0,0 +1,1177 @@
+<template>
+	<view class="container register" :style="{paddingTop:CustomBar+'px'}">
+		<cu-custom :navbar-data='nvabarData'  @navigateBack="hanldNavigateBack"></cu-custom>
+		<view class="register-tab">
+			<view class="nav-item" :class="{ current: tabCurrentIndex === 1 }" >
+				  账户信息<view class="line"></view>
+			</view>					
+			<view class="nav-item" :class="{ current: tabCurrentIndex === 2 }" >
+				  基本信息<view class="line"></view>
+			</view>
+			<view class="nav-item" :class="{ current: tabCurrentIndex === 3 }" >
+				  详细信息
+			</view>
+		</view>
+		<view class="register-main clearfix" v-if="tabCurrentIndex === 1">
+			<view class="register-row clearfix">
+				<view class="register-from">
+					<view class="label">邮箱:</view>
+					<input class="row-input" type="text" name="input" v-model="registerEmail" placeholder="请输入您的常用邮箱" maxlength="30"/>
+				</view>
+			</view>
+			<view class="register-row clearfix">
+				<view class="register-from code">
+					<view class="label">邮箱验证码:</view>
+					<input class="row-input" type="text"  name="input" v-model="regEmailCode" placeholder="请输入邮箱验证码" maxlength="4"/>
+				</view>
+				<view class="register-from btn" :class="[isEmialDisabled ? 'disabled' : '']">
+					<button class="row-input"  
+							type="button"  
+							@click.stop="getEmailCodeFn"  
+							:disabled="isEmialDisabled">
+							{{ emailCodeText }}
+					</button>
+				</view>
+			</view>
+			<view class="register-row clearfix">
+				<view class="register-from">
+					<view class="label">登录密码:</view>
+					<input class="row-input" type="password" name="input" v-model="password" placeholder="密码必须为8-16位字母数字组合" maxlength="16"/>
+				</view>
+			</view>
+			<view class="register-row clearfix">
+				<view class="register-from">
+					<view class="label">确认密码:</view>
+					<input class="row-input" type="password" name="input" v-model="passwordCheck" placeholder="请确认密码" maxlength="16"/>
+				</view>
+			</view>
+			<view class="register-row clearfix">
+				<view class="register-btn"  @click="registerStepsfirst">下一步</view>
+			</view>
+			<view class="register-row">
+				<view class="register-text">
+					<text class="txt">注:</text>
+					<text>邮件可能存在1-2分钟的延迟,同时请留意垃圾箱邮件!</text>
+				</view>
+			</view>
+		</view>
+		<view class="register-main clearfix" v-if="tabCurrentIndex === 2">
+			<view class="register-row clearfix">
+				<view class="register-from">
+					<view class="label">机构名称:</view>
+					<input class="row-input" type="text" name="input" v-model="clubName" placeholder="请输入您的机构名称" maxlength="30"/>
+				</view>
+			</view>
+			<view class="register-row clearfix">
+				<view class="register-from">
+					<view class="label">联系人:</view>
+					<input class="row-input" type="text" name="input" v-model="clubContact" placeholder="请输入联系姓名" maxlength="6"/>
+				</view>
+			</view>
+			<view class="register-row clearfix">
+				<view class="register-from">
+					<view class="label">手机号:</view>
+					<input class="row-input" type="number" name="input" v-model="registerMobile" placeholder="请输入手机号" maxlength="11"/>
+				</view>
+			</view>
+			<view class="register-row clearfix">
+				<view class="register-from imgcode">
+					<view class="label">图形验证码:</view>
+					<input class="row-input" type="text" name="input" v-model="imageCode" placeholder="请输入图形验证码" maxlength="4"/>
+				</view>
+				<view class="register-from img-btn">
+					<view class="vscodeimg">
+						<image :src="imageCodeUrl" mode=""></image>
+					</view>
+					<view class="vscod-refresh" @click.stop="getVerificationCode">
+						<text class="iconfont icon-shuaxin"></text>
+						<text class="ref-text">刷新</text>
+					</view>
+				</view>
+			</view>
+			<view class="register-row clearfix">
+				<view class="register-from code">
+					<view class="label">短信验证码:</view>
+					<input class="row-input" type="text" v-model="mobileCode" placeholder="请输入短信验证码" maxlength="6"/>
+				</view>
+				<view class="register-from btn" :class="[isMobileDisabled  ? 'disabled' : '']" >
+					<button class="row-input"  
+							type="button" 
+							@click.stop="getMobileCodeFn" 
+							:disabled="isMobileDisabled">
+							{{ mobileCodeText }}
+					</button>
+				</view>
+			</view>
+			<view class="register-row clearfix">
+				<view class="register-btn"  @click="registerStepsTwo">下一步</view>
+			</view>
+			<view class="register-row clearfix">
+				<view class="register-btn none"  @click="steps(1)">上一步</view>
+			</view>
+		</view>
+		<view class="register-main detailed clearfix" v-if="tabCurrentIndex === 3">
+			<view class="register-tips"><text class="iconfont icon-gantanhao-yuankuang">详细信息请尽量填写,有利于快速审核通过</text></view>
+			<view class="register-row clearfix">
+				<view class="register-from">
+					<view class="label">机构简称:</view>
+					<input class="row-input" type="text" v-model="abbreviation" placeholder="请输入您的机构简称" maxlength="10"/>
+				</view>
+			</view>
+			<view class="register-row clearfix">
+				<view class="register-from"  @click="showMulLinkageThreePicker">
+					<view class="label">机构地址:</view>
+					<text class="row-input" :class="addressData.address === '请选择机构所在地区' ? 'none' : ''">
+						{{addressData.address}}
+					</text>		
+					<text class="iconfont icon-xiayibu"></text>
+				</view>
+			</view>
+			<view class="register-row text-textarea clearfix">
+				<view class="textarea show" v-if="isShowInput">{{addressData.addressDetail ? addressData.addressDetail :'详细地址:如道路、门牌号、小区等'}}</view>
+				<textarea 	v-else
+							class="textarea" 
+							type="text" 
+							v-model="addressData.addressDetail" 
+							placeholder="详细地址:如道路、门牌号、小区等" 
+							placeholder-class="placeholder"
+							maxlength="25"
+							@input="onTextareaInput"
+							:class="isShowInput ? '':''"
+				/>
+			</view>
+			<view class="register-row clearfix" >
+				<view class="register-from">
+					<view class="label">营业执照编号:</view>
+					<input class="row-input" type="text" v-model="socialCreditCode" placeholder="请填写社会统一信用代码" maxlength="16"/>
+				</view>
+			</view>
+			<view class="register-row clearfix">
+				<view class="register-picture">
+					<view class="label">营业执照:</view>
+					<view class="upload-picture">
+						<view class="upload-none" v-if="uploadBusinessImage === ''"  @click="chooseBusinessImage"><text class="iconfont icon-jiahao"></text></view>
+						<view class="upload-image" v-else>
+							<image :src="uploadBusinessImage" mode="" @click="viewBusinessImage"></image>
+							<view class="upload-del" @click="delBusinessImage">
+								<text class='iconfont icon-shanchu1'></text>
+							</view>
+						</view>
+					</view>
+				</view>
+			</view>
+			<view class="register-row clearfix">
+				<view class="register-picture">
+					<view class="label">门头照:</view>
+					<view class="upload-picture">
+						<view class="upload-none" v-if="uploadMentuzImage === ''" @click="chooseMentuzImage"><text class="iconfont icon-jiahao"></text></view>
+						<view class="upload-image" v-else>
+							<image :src="uploadMentuzImage" mode=""  @click="viewMentuzImage"></image>
+							<view class="upload-del" @click="delMentuzImage">
+								<text class='iconfont icon-shanchu1'></text>
+							</view>
+						</view>
+					</view>
+				</view>
+			</view>
+			<view class="register-row clearfix">
+				<view class="register-from picker">
+					<view class="label">机构类型:</view>
+						<view class="row-input picker" @click="bindPickerChange">{{ organizationTypeText }}</view>
+<!-- 					<picker @change="bindPickerChange" :value="index" :range="organizationTypeList" range-key="name">
+						<view class="row-input" :class="[isOrganizationType == 0 ? 'none' : '']">{{organizationTypeList[typtIndex].name}}</view>
+					</picker> -->
+					<text class="iconfont icon-xiayibu"></text>
+				</view>
+			</view>
+			<view class="register-row clearfix" v-if="isOrganizationType == 1" >
+				<view class="register-from radio">
+					<radio-group @change="radioChange">
+						<label class="row-input" v-for="(item, index) in beautyList" :key="item.value">
+							<radio class="row-radio" :value="item.value" :checked="index === current" color="#E15616"/>
+							<view class="row-text">{{item.name}}</view>
+						</label>
+					</radio-group>
+				</view>
+			</view>
+			<view class="register-row clearfix" v-show="isDepartment" >
+				<view class="register-from">
+					<view class="label">科室:</view>
+					<input class="row-input keshi" type="text" v-model="department" placeholder="请填写经营的科室,至少三个,用逗号隔开" maxlength="16"/>
+				</view>
+			</view>
+			<view class="register-row clearfix" v-if="isOrganizationType == 1">
+				<view class="register-picture">
+					<view class="label zz">医疗执业许可证:</view>
+					<view class="upload-picture">
+						<view class="upload-none" v-if="uploadMedicalImage === ''" @click="chooseMedicalImage"><text class="iconfont icon-jiahao"></text></view>
+						<view class="upload-image" v-else>
+							<image :src="uploadMedicalImage" mode=""  @click="viewMedicalImage"></image>
+							<view class="upload-del" @click="delMedicalImage">
+								<text class='iconfont icon-shanchu1'></text>
+							</view>
+						</view>
+					</view>
+				</view>
+			</view>
+			<view class="register-row clearfix" v-if="isOrganizationType == 1">
+				<view class="register-from group">
+					<view class="label">主营内容:</view>
+					<checkbox-group class="content-class" @change="chooseMaleLike" >
+						<label class="item" v-for="(item, index) in mentuzCampList" :key="index" :class="{on: item.checked}">
+						   <checkbox :value="item.value"></checkbox>
+						   <text class="item-text">{{item.name}}</text>
+						</label>
+				    </checkbox-group>
+				</view>	
+				<view class="register-from group btn">
+					<view class="content-class btn">
+						<view class="item" @click="showAustomItem">
+							<text class="item-text">其他</text>
+						</view>
+					</view>
+				</view>
+				<view class="register-from group btn" v-show="isShowAustomItem">
+					<view class="content-class btn">
+						<input class="row-input other" type="text" v-model="customItemValue" placeholder="请输入自定义项目"  @blur="onBlurInput" maxlength="5"/>
+						<button type="default" 
+								class="confirm-btn other" 
+								:class="[isDisabled === true ? 'disabled' : 'none']" 
+								:disabled="isDisabled"
+								@click.stop="addCustomItem"
+						>确认添加</button>
+					</view>
+				</view>
+			</view>
+			<view class="register-row clearfix" v-if="isOrganizationType == 2">
+				<view class="register-from group">
+					<view class="label">主营内容:</view>
+					<checkbox-group class="content-class" @change="chooseMaleLikes">
+						<label class="item" v-for="(item, index) in medicaCampList" :key="index" :class="{on: item.checked}">
+						   <checkbox :value="item.value"></checkbox>
+						   <text class="item-text">{{item.name}}</text>
+						</label>
+				    </checkbox-group>
+				</view>	
+				<view class="register-from group btn">
+					<view class="content-class btn">
+						<view class="item" @click="showAustomItem">
+							<text class="item-text">其他</text>
+						</view>
+					</view>
+				</view>
+				<view class="register-from group btn" v-show="isShowAustomItem">
+					<view class="content-class btn">
+						<input class="row-input other" type="text" v-model="customItemValue" placeholder="请输入自定义项目"  @blur="onBlurInput" maxlength="5"/>
+						<button type="default" 
+								class="confirm-btn" 
+								:class="[isDisabled === true ? 'disabled' : 'none']" 
+								:disabled="isDisabled"
+								@click.stop="addCustomItem"
+						>确认添加</button>
+					</view>
+				</view>
+			</view>
+			<view class="register-fiexd clearfix">
+				<view class="register-agree">
+					<view class="agree-text"  @tap.stop="agreeCheck()">
+						<button class="checkbox iconfont" :class="[isCheck?'icon-gouxuan':'icon-weigouxuan']"></button> 
+						我已阅读并同意
+						<text @click.stop="this.$api.navigateTo('/pages/service/organagree')">《机构协议》</text>
+						<text @click.stop="this.$api.navigateTo('/pages/service/useragree')">《用户协议》</text>及
+						<text @click.stop="this.$api.navigateTo('/pages/service/privacyagree')">《隐私权政策》</text>
+					</view>
+				</view>
+				<view class="register-row ">
+					<view class="register-btn sub" @click.stop="registerStepsSub">提交审核</view>
+				</view>
+				<view class="register-row clearfix">
+					<view class="register-btn none"  @click="steps(2)">上一步</view>
+				</view>
+			</view>
+			<mpvue-city-picker :themeColor="themeColor"
+								ref="mpvueCityPicker" 
+							    :pickerValueDefault="cityPickerValueDefault"
+								@onCancel="onCancel" 
+								@onConfirm="onConfirm">
+			</mpvue-city-picker>
+		</view>
+	</view>
+</template>
+
+<script>
+	import { mapMutations } from 'vuex';
+	import mpvueCityPicker from '@/components/mpvue-citypicker/mpvueCityPicker.vue'
+	import authorize from '@/common/config/authorize.js' 
+	import { organizationRegister , organizationVerifyRegisterFirst ,organizationVerifyRegisterTwo } from "@/api/use.js"
+	import { getImageCode, getEmailCode, getMobileCode, uploadFileImage } from "@/api/utils.js"
+	var self;
+	export default{
+		components:{
+			mpvueCityPicker
+		},
+		data() {
+			return{
+				nvabarData: {		//顶部自定义导航
+					showCapsule: 1, // 是否显示左上角图标  1表示显示  0表示不显示,
+					showSearch: 0,
+					title: '注册', // 导航栏 中间的标题
+				},
+				CustomBar:this.CustomBar,// 顶部导航栏高度
+				tabCurrentIndex:1,			//显示step
+				isPreviewImage:false,   	//预览图片开关
+				isEmialDisabled: false,		//验证码按钮控制
+				isMobileDisabled: false,	//手机验证码按钮控制
+			    count: '',					//倒计时
+			    emailCodeText: '获取验证码',
+			    mobileCodeText: '获取验证码',
+			    codeTime: null,
+				registerEmail:'', 		//注册邮箱
+				regEmailCode:'',  		//邮箱验证码
+				password:'',			//密码
+				passwordCheck:'',		//校验密码
+				clubName:'',	 		//机构名称
+				abbreviation:'',	 	//机构简称
+				clubContact:'',	 		//联系人
+				registerMobile:'',		//联系人手机号
+				mobileCode:'',			//手机验证码
+				imageCode:'',			//图形验证码
+				imageCodeUrl:'',		//图形验证码图片
+				imageCodetoken:'',		//图形验证校验
+				socialCreditCode:'',	//统一社会信用代码
+				isAgreed:0,				//是否勾选协议
+				isDisabled:true,
+				isShowInput:false,
+				isCheck:false,			//是否勾选协议
+				uploadBusinessImage:'',	//营业执照图片
+				uploadMentuzImage:'',  	//门头照图片
+				uploadMedicalImage:'', 	//资质照图片
+				department:'',			//科室
+				isDepartment:false,     //是否显示科室
+				secondClubType:'',		//机构类型二级分类
+				mainpro:'',				//主营内容
+				isOrganizationType:0,
+				organizationTypeText:'请选择机构类型',
+				beautyList:[{value:'1',name:'诊所'},{value:'2',name:'门诊'},{value:'3',name:'医院'}],
+				mentuzCampList:[{value:'1',name:'整形'},{value:'2',name:'轻医美'},{value:'3',name:'皮肤科'}],
+				medicaCampList:[
+					{value:'1',name:'美容'},
+					{value:'2',name:'美体'},
+					{value:'3',name:'美发'},
+					{value:'4',name:'皮肤管理'},
+					{value:'5',name:'光电'},
+					{value:'6',name:'综合类'},
+					{value:'7',name:'中医养生'},
+					{value:'8',name:'spa'}
+				],
+				typtIndex:0,
+				organizationType:3,
+				current:0,
+				isShowAustomItem:false, //是否显示其他添加
+				customItemValue:'', 	//自定义项目
+				addressData:{
+					address:'请选择机构所在地区',
+					townID:'',			//区ID
+					cityID:'',			//区ID
+					provinceID:'',		//区ID
+					addressDetail: '',	//地址
+				},
+			}
+		},
+		onLoad(option) {
+			console.log(option)
+		},
+		methods:{
+			hanldNavigateBack(){
+				this.$util.modal('','注册尚未完成,确定放弃注册吗?','确定','取消',true,() =>{
+					uni.navigateBack({
+						delta: 1
+					});
+				})
+			},
+			registerStepsfirst(){
+				let params ={
+						email:this.registerEmail,
+						mailboxCode:this.regEmailCode,
+						password:this.password,
+						passWordConfirm:this.passwordCheck,
+						whichStep:1,
+				}
+				organizationVerifyRegisterFirst(params).then(res =>{
+					console.log(res)
+					this.tabCurrentIndex = 2
+					this.getVerificationCode()
+				}).catch(res =>{
+					this.$util.msg(res.msg,2000);
+				})
+			},
+			registerStepsTwo(){
+				let params ={
+						name:this.clubName,
+						linkMan:this.clubContact,
+						bindMobile:this.registerMobile,
+						activationCode:this.mobileCode,
+						whichStep:2,
+				}
+				organizationVerifyRegisterTwo(params).then(res =>{
+					console.log(res)
+					this.tabCurrentIndex = 3
+				}).catch(res =>{
+					this.$util.msg(res.msg,2000);
+				})
+			},
+			registerStepsSub(){
+				if(!this.isCheck){
+					this.$util.msg('请勾选同意协议',2000);
+					return
+				}
+				let params ={
+						email:this.registerEmail,
+						mailboxCode:this.regEmailCode,
+						password:this.password,
+						passWordConfirm:this.passwordCheck,
+						name:this.clubName,
+						linkMan:this.clubContact,
+						bindMobile:this.registerMobile,
+						activationCode:this.mobileCode,
+						sname:this.abbreviation,
+						provinceID:this.addressData.provinceID,
+						cityID:this.addressData.cityID,
+						townID:this.addressData.townID,
+						address:this.addressData.addressDetail,
+						socialCreditCode:this.socialCreditCode,
+						businessLicenseImage:this.uploadBusinessImage,
+						headpic:this.uploadMentuzImage,
+						firstClubType:this.isOrganizationType, //机构类型分类 医美:0和生美:1
+						secondClubType:this.secondClubType,	//机构类型二级分类 诊所:1,门诊:2,医院:3
+						department:this.department,			//科室
+						medicalPracticeLicenseImg:this.uploadMedicalImage,//资质图片
+						isAgreed:this.isAgreed,				//是否勾选协议	
+						mainpro:this.mainpro,
+						whichStep:3
+				}
+				organizationRegister(params).then(res =>{
+					this.$util.msg('您的机构账号已提交审核',2000);
+					this.$api.switchTabTo('/pages/tabBar/home/home')
+				}).catch(res =>{
+					this.$util.msg(res.msg,2000);
+				})
+			},
+			getEmailCodeFn(){
+				if( this.registerEmail == ''){
+					this.$util.msg('请输入邮箱地址',2000);
+					return
+				}
+				if(!this.$reg.isEmail(this.registerEmail)){
+					this.$util.msg('请输入正确的邮箱地址',2000);
+					return
+				}
+				this.isEmialDisabled = true;
+				getEmailCode({email:this.registerEmail,status:2}).then(res =>{
+					this.$util.msg('邮箱验证码已发送',2000);
+					const TIME_COUNT = 60;
+			     	if (!this.codeTime) {
+			       		this.count = TIME_COUNT;
+						this.isEmialDisabled = true;
+			       		this.codeTime = setInterval(() => {
+			       			if (this.count > 1 && this.count <= TIME_COUNT) {
+			         			this.count--
+			         			this.emailCodeText = this.count +'s重新发送'
+			        		} else {
+				         		clearInterval(this.codeTime)
+				         		this.codeTime = null
+								this.emailCodeText = '获取验证码'
+								this.isEmialDisabled = false;
+			        		}
+			       		},1000)
+			      	}
+				}).catch( res =>{
+					this.$util.msg(res.msg,2000);
+					this.isEmialDisabled = false;
+				})
+			},
+			getMobileCodeFn(){
+				if( this.registerMobile == ''){
+					this.$util.msg('请输入手机号',2000);
+					return
+				}
+				if(!this.$reg.isMobile(this.registerMobile)){
+					this.$util.msg('请输入正确的手机号',2000);
+					return
+				}
+				if( this.imageCode == ''){
+					this.$util.msg('请输入图形验证码',2000);
+					return
+				}
+				let params = {
+						mobile:this.registerMobile,
+						activateCodeType:2,
+						platformType:2,
+						imgCode:this.imageCode,
+						token:this.imageCodetoken,
+					}
+				this.isMobileDisabled = true;
+				getMobileCode(params).then(res =>{
+					this.$util.msg('验证短信已发送',2000);
+					const TIME_COUNT = 60;
+			     	if (!this.codeTime) {
+			       		this.count = TIME_COUNT;
+			       		this.isMobileDisabled = true;
+			       		this.codeTime = setInterval(() => {
+			       			if (this.count > 1 && this.count <= TIME_COUNT) {
+			         			this.count--
+			         			this.mobileCodeText = this.count +'s重新发送'
+			        		} else {
+				         		this.isMobileDisabled = false;
+				         		clearInterval(this.codeTime)
+				         		this.codeTime = null
+								this.mobileCodeText = '获取验证码'
+			        		}
+			       		},1000)
+			      	}
+				}).catch( res =>{
+					this.$util.msg(res.msg,2000);
+					this.isEmialDisabled = false;
+				})
+			},
+			getVerificationCode(){//获取图形验证
+				getImageCode().then(res => {
+					this.imageCodeUrl = res.data.baseImage
+					this.imageCodetoken = res.data.token
+				})
+			},
+			showMulLinkageThreePicker() {//三级地址联动
+				this.isShowInput = true
+				this.$refs.mpvueCityPicker.show()
+			},
+			onConfirm(e) {//获取选择的地址信息
+				console.log('地址',e);
+				this.addressData.address = e.name;
+				this.addressData.townID = e.townCode;
+				this.addressData.cityID = e.cityCode;
+				this.addressData.provinceID = e.provinceCode;
+			},	
+			onTextareaInput(e){//地址详细信息
+			   this.addressData.addressDetail = e.detail.value;
+			},
+			chooseBusinessImage() {//营业执照图片上传
+				uploadFileImage().then(res =>{
+					this.uploadBusinessImage = JSON.parse(res.data).data
+				})
+			},
+			chooseMentuzImage() {//门头照图片上传
+				uploadFileImage().then(res =>{
+					this.uploadMentuzImage = JSON.parse(res.data).data
+				})
+			},
+			chooseMedicalImage() {//资质照图片上传
+				uploadFileImage().then(res =>{
+					this.uploadMedicalImage = JSON.parse(res.data).data
+				})
+			},
+			viewBusinessImage(e) {//预览营业执照图片
+				this.myPreviewImageFn(this.uploadBusinessImage)
+			},
+			viewMentuzImage(e) {//预览门头照图片
+				this.myPreviewImageFn(this.uploadMentuzImage)
+			},
+			viewMedicalImage(e) {//预览资质照图片
+				this.myPreviewImageFn(this.uploadMedicalImage)
+			},
+			myPreviewImageFn(url){//预览图片公共方法
+				this.isPreviewImage = true
+				let mentuzArray = []
+				mentuzArray.push(url)
+				uni.previewImage({
+					urls: mentuzArray,
+					current: 0
+				});
+			},
+			delBusinessImage(){//删除营业执照图片
+				this.$util.modal('','确定删除营业执照图片吗?','确定','取消',true,() =>{
+					 this.uploadBusinessImage = ''
+				})
+			},
+			delMentuzImage(){//删除门头照图片
+				this.$util.modal('','确定删除门头照图片吗?','确定','取消',true,() =>{
+					this.uploadMentuzImage = ''
+				})
+			},			
+			delMedicalImage(){//删除资质图片
+				this.$util.modal('','确定删除资质图片吗?','确定','取消',true,() =>{
+					this.uploadMedicalImage = ''
+				})
+			},
+			bindPickerChange() {//机构类型选择
+				let self = this
+				uni.showActionSheet({
+					title:'标题',
+					itemList: ['医美', '生美'],
+					success: (e) => {
+						self.isOrganizationType = e.tapIndex+1
+						switch(e.tapIndex){
+							case 0:
+								this.organizationTypeText = '医美'
+								break;
+							case 1:
+								this.organizationTypeText = '生美'
+								break;
+						}
+					}
+				})
+			
+			},
+			bindPickerChange2(e) {
+				console.log('picker携带值为:' + e.target.value)
+				this.typtIndex = e.target.value
+				this.isOrganizationType = e.target.value
+			},
+			radioChange(e) {
+				this.secondClubType = e.target.value;
+				if( this.secondClubType == '2' || this.secondClubType == '3'){
+					this.isDepartment = true
+				}else{
+					this.isDepartment = false
+				}
+				for (let i = 0; i < this.beautyList.length; i++) {
+					if (this.beautyList[i].value === this.secondClubType) {
+						this.current = i;
+						break;
+					}
+				}
+			},
+			chooseMaleLike(e){
+				this.mainpro = this.checkLikes(e,this.mentuzCampList)
+				console.log(this.mainpro)
+			},
+			chooseMaleLikes(e){
+				this.mainpro = this.checkLikes(e,this.medicaCampList)
+				console.log(this.mainpro)
+			},
+			checkLikes(e,list){
+				let items = list
+				let	values = e.detail.value
+				let arr = []
+				for (let i = 0, lenI = items.length; i < lenI; ++i) {
+					const item = items[i]
+					if(values.indexOf(item.value) >= 0){
+						this.$set(item,'checked',true)
+						arr.push(item.name)
+					}else{
+						this.$set(item,'checked',false)
+					}
+				}
+				return arr.toString()
+			},
+			agreeCheck() {
+				this.isCheck = !this.isCheck
+				if(this.isCheck){
+					this.isAgreed = 1
+				}
+			},
+			onBlurInput(e){//
+				if(e.detail.value ===''){
+					this.isDisabled = true
+				}else{
+					this.isDisabled = false
+				}
+			},
+			showAustomItem() {
+				this.isShowAustomItem = !this.isShowAustomItem
+			},
+			addCustomItem(){
+				if(this.isOrganizationType == 1){
+					let item = {value:`${this.mentuzCampList.length+1}`,name:this.customItemValue}
+					this.mentuzCampList.push(item)
+				}else{
+					let item = {value:`${this.medicaCampList.length+1}`,name:this.customItemValue}
+					this.medicaCampList.push(item)
+				}
+			},
+			steps(index) {//$attrstab切换
+				console.log(index)
+				this.tabCurrentIndex = index;
+			}
+		},
+		onShow() {
+			if(this.isPreviewImage){
+				this.isPreviewImage = false
+				return
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.register{
+		width: 100%;
+		height: auto;
+		.model-warp.none{
+			display: none;			
+		}
+		.model-warp.show{
+			display: block;
+		}
+		.register-tab{
+			width: 570rpx;
+			height: 60rpx;
+			padding: 60rpx 90rpx;
+			position: relative;
+			.nav-item{
+				width: 142rpx;
+				background: #FFFFFF;
+				line-height: 60rpx;
+				border-radius: 30rpx;
+				text-align: center;
+				color: #999999;
+				font-size:$font-size-26;
+				float: left;
+				margin-right: 72rpx;
+				position: relative;
+				.line{
+					height: 3rpx;
+					width: 50rpx;
+					background: #999999;
+					position: absolute;
+					right: -58rpx;
+					top: 32rpx;
+				}
+				&:last-child{
+					margin-right: 0;
+				}
+				&.current{
+					color:#FFFFFF;
+					background: $btn-confirm;
+					
+				}
+			}
+		}
+		.register-main{
+			width: 100%;
+			height: auto;
+			&.detailed{
+				padding-bottom: 330rpx;
+			}
+			.register-tips{
+				display: flex;
+				flex-direction: column;
+				align-items: center;
+				line-height: 44rpx;
+				font-size: $font-size-24;
+				color: #FF0000;
+				margin-bottom: 40rpx;
+				.iconfont{
+					font-size: $font-size-24;
+				}
+			}
+			.register-row{
+				width: 702rpx;
+				height: auto;
+				padding: 0 24rpx;
+				margin-bottom: 20rpx;
+				.register-text{
+					line-height: 44rpx;
+					margin-top: 100rpx;
+					font-size: $font-size-24;
+					color: #999999;
+					text-align: justify;
+					.txt{
+						margin-right: 15rpx;
+					}
+				}
+				.register-from{
+					width: 654rpx;
+					height: 40rpx;
+					padding: 24rpx;
+					background: $sub-bg-color;
+					border-radius: 14rpx;
+					position: relative;
+					.label{
+						text-align: left;
+						font-size: $font-size-28;
+						color: $text-color;
+						line-height: 40rpx;
+						float: left;
+					}
+					.row-input{
+						width: 440rpx;
+						padding-left:10rpx;
+						font-size: $font-size-28;
+						color: $text-color;
+						line-height: 40rpx;
+						float: left;
+						height: 40rpx;
+						&.none{
+							color: #999999;
+						}
+						&.picker{
+							text-align: left;
+							color: #999999;
+						}
+						&.keshi{
+							width: 550rpx;
+						}
+					}
+					&.img-btn{
+						width: 220rpx;
+						height: 88rpx;
+						padding: 0;
+						float: left;
+						background: #FFFFFF;
+						display: block;
+						.vscodeimg{
+							width: 150rpx;
+							height: 88rpx;
+							float: left;
+							display: flex;
+							flex-direction: column;
+							align-items: center;
+							border-radius: 14rpx;
+							image{
+								width: 150rpx;
+								height: 88rpx;
+								border-radius: 14rpx;
+							}
+						}
+						.vscod-refresh{
+							width: 70rpx;
+							float: right;
+							text-align: right;
+							display: flex;
+							flex-direction: column;
+							align-items: center;
+							line-height: 44rpx;
+							.icon-shuaxin{
+								font-size: 48rpx;
+								color: #333333;
+							}
+							.ref-text{
+								font-size: 24rpx;
+								color: #333333;
+							}
+						}
+					}
+					&.imgcode{
+						width: 410rpx;
+						float: left;
+						margin-right: 20rpx;
+						.row-input{
+							width: 230rpx;
+						}
+					}
+					&.code{
+						width: 410rpx;
+						float: left;
+						margin-right: 20rpx;
+						.row-input{
+							width: 230rpx;
+						}
+					}
+					&.btn{
+						width: 224rpx;
+						height: 88rpx;
+						float: left;
+						background: $btn-confirm;
+						padding: 0;
+						.row-input{
+							width: 224rpx;
+							height: 88rpx;
+							line-height: 88rpx;
+							padding: 0;
+							color: #FFFFFF;
+							background: $btn-confirm;
+							text-align: center;
+							border-radius: 14rpx;
+							&.other{
+								width: 224rpx;
+								background: #F7F7F7;
+								margin-right: 20rpx;
+							}
+							&.none{
+								background: #F7F7F7;
+							}
+						}
+						&.disabled{
+							background: #F7F7F7;
+							.row-input{
+								background: #F7F7F7;
+								color: #999999;
+							}
+						}
+					}
+					&.picker{
+						padding: 0 24rpx;
+						width: 654rpx;
+						height: 88rpx;
+						line-height: 88rpx;
+						.label{
+							line-height: 88rpx;
+						}
+						.row-input{
+							width: 470rpx;
+							height: 88rpx;
+							line-height: 88rpx;
+							padding-left: 30rpx;
+						}
+					}
+					&.radio{
+						padding: 0 24rpx;
+						width: 654rpx;
+						height: 288rpx;
+						.row-input{
+							width: 100%;
+							height: 88rpx;
+							line-height: 88rpx;
+							padding-left: 0;
+						}
+						.row-radio{
+							float: left;
+							transform: scale(0.8);
+						}
+						.row-text{
+							width: 100rpx;
+							text-align: center;
+							float: left;
+						}
+					}
+					&.group{
+						padding: 0 24rpx;
+						width: 654rpx;
+						height: auto;
+						background: #FFFFFF;
+						margin-top: 30rpx;
+						.row-input{
+							width: 100%;
+							height: 88rpx;
+							line-height: 88rpx;
+							padding-left: 0;
+						}
+						.row-radio{
+							float: left;
+						}
+						.row-text{
+							width: 100rpx;
+							text-align: center;
+							float: left;
+						}
+					}
+					&.btn{
+						margin-top: 0;
+					}
+					.content-class {
+						width: 520rpx;
+						margin: 20rpx auto;
+						display: flex;
+						flex-flow: row wrap;
+						justify-content: space-between;
+						align-items: center;
+						&.btn{
+							margin: 0 auto;
+							margin-left: 126rpx;
+						}
+						.row-input{
+							display: flex;
+							width: 220rpx;
+							height: 40rpx;
+							padding: 24rpx;
+							text-align: left;
+							border-radius: 10rpx;
+							font-size: $font-size-28;
+							color: $text-color;
+						}
+						.confirm-btn{
+							width: 200rpx;
+							height: 88rpx;
+							border-radius: 10rpx;
+							line-height: 88rpx;
+							text-align: center;
+							&.other{
+								width: 213rpx;
+							}
+							&.none{
+								color: #FFFFFF;
+								background: $btn-confirm;
+							}
+							&.disabled{
+								color: #999999;
+							}
+						}
+						.item {
+						  width: 155rpx;
+						  height: 60rpx;
+						  font-size:$font-size-28;
+						  line-height: 60rpx;
+						  border-radius:10rpx;
+						  margin: 10rpx;
+						  text-align: center;
+						  box-sizing: border-box;
+						  border: 1rpx solid #EFEFEF;
+						  checkbox {
+							display: none;
+						  }
+						}
+						.on {
+						  border-color: $color-system;
+						  color:$color-system;
+						}
+					}
+				}
+				.icon-xiayibu{
+					width: 88rpx;
+					height: 88rpx;
+					position: absolute;
+					right: 0;
+					top: 0;
+					line-height: 88rpx;
+					text-align: center;
+				}
+				&.text-textarea{
+					background: #FFFFFF;
+					.textarea{
+						width: 654rpx;
+						height: 180rpx;
+						background: #F7F7F7;
+						padding: 24rpx;
+						font-size: $font-size-28;
+						color: $text-color;
+						z-index: 1;
+						border-radius: 14rpx;
+					}
+					.textarea.hide{
+						opacity: 0;
+					}
+					.textarea.show{
+						color: #999999;
+					}
+				}
+			}
+			.register-picture{
+				height: 102rpx;
+				margin: 40rpx 0 0 0;
+				.label{
+					float: left;
+					font-size: $font-size-28;
+					color: $text-color;
+					line-height: 102rpx;
+					width: 150rpx;
+					text-align: right;
+					&.zz{
+						width: 230rpx;
+					}
+				}
+				.upload-picture{
+					float: left;
+					height: 100rpx;
+					.upload-none{
+						width: 100rpx;
+						height: 100rpx;
+						text-align: center;
+						line-height: 100rpx;
+						color: #999999;
+						border: 1px solid #999999;
+						border-radius: 10rpx;
+						margin: 0 20rpx;
+						.iconfont{
+							font-size: $font-size-28;
+						}
+					}
+					.upload-image{
+						width: 100rpx;
+						height: 100rpx;
+						border-radius: 10rpx;
+						margin: 0 20rpx;
+						position: relative;
+						image{
+							width: 100rpx;
+							height: 100rpx;
+							border-radius: 10rpx;
+						}
+						.upload-del{
+							width: 40rpx;
+							height: 40rpx;
+							position: absolute;
+							top: -20rpx;
+							right: -20rpx;
+							line-height: 40rpx;
+							text-align: center;
+							.iconfont{
+								font-size: $font-size-32;
+								color: #999999;
+							}
+						}
+					}
+				}
+			}
+			.register-input{
+				width: 654rpx;
+				height: 40rpx;
+				padding: 24rpx;
+				margin: 0 auto;
+				margin-bottom: 60rpx;
+				background: #F7F7F7;
+				border-radius: 14rpx;
+				.input{
+					width: 100%;
+					height: 100%;
+					background: #F7F7F7;
+					font-size: $font-size-28;
+					line-height: 40rpx;
+					color: #333333;
+					border-radius: 14rpx;
+				}
+			}
+			.register-fiexd{
+				width: 100%;
+				height: auto;
+				position: fixed;
+				bottom: 0;
+				left: 0;
+				z-index: 999;
+				background: #FFFFFF;
+				.register-agree{
+					display: flex;
+					flex-direction: column;
+					align-items: center;
+					margin: 32rpx 0;
+					.agree-text{
+						.checkbox{
+							float: left;
+							margin: 4rpx 6rpx 0 0;
+							color: #999999;
+							font-size: $font-size-32;
+							&.icon-gouxuan{
+								color: $color-system;
+							}
+						}
+						font-size: 20rpx;
+						line-height: 44rpx;
+						color: #999999;
+						text{
+							color:#0091FF;
+						}
+					}
+				}
+			}
+			.register-btn{
+				width: 702rpx;
+				height: 88rpx;
+				border-radius: 14rpx;
+				font-size: $font-size-28;
+				line-height: 88rpx;
+				color: #FFFFFF;
+				margin: 0 auto;
+				text-align: center;
+				background: $btn-confirm;
+				margin-top: 96rpx;
+				&.none{
+					background: #FFFFFF;
+					color: $text-color;
+					margin-top: 0;
+				}
+				&.sub{
+					margin-top: 0;
+				}
+			}
+		}
+	}
+</style>