Bläddra i källkod

用户体系优化V1.0.0

zhengjinyi 5 år sedan
förälder
incheckning
502ab5fb07

+ 17 - 13
App.vue

@@ -4,6 +4,7 @@
 	 */
 	import { mapState,mapMutations} from 'vuex';
 	import authorize from '@/common/config/authorize.js'
+	import { userInfoLogin } from "@/api/use.js"
 	export default {
 		onLaunch: function() {
 			this.refresh()
@@ -22,19 +23,22 @@
 			getCheekeyCode(){// 根据微信的code获取用户登录状态:1已登录过 -1未登录过
 				authorize.getCode('weixin').then(wechatcode =>{
 					// console.log(wechatcode);
-					this.$api.get('/login/doLogin',{userOrganizeID:this.userOrganizeID,code:wechatcode},
-						response =>{
-							// console.log(response);
-							if(response.code == '1'){
-								let user_key = {code:response.code,openid:response.data.openid,userID:response.data.userID}
-								this.$store.commit('updateStatus',user_key)
-								// uni.setStorageSync('cookieKey','JSESSIONID='+response.data.sessionId)
-							}else{
-								let user_key = {code:response.code,tel:response.data,userID:'',openid:''}
-								this.$store.commit('updateStatus',user_key)
-							}							
-						}
-					)
+					// 根据微信的code获取用户登录状态:1已登录过 -1未登录过
+					userInfoLogin({code:wechatcode}).then(response =>{
+						this.isLogin = true;
+						this.userID = response.data.userID;						
+						let user_key = {code:response.code,openid:response.data.openid,userID:response.data.userID}
+						this.$store.commit('updateStatus',user_key)
+						uni.setStorageSync('cookieKey','JSESSIONID='+response.data.sessionId)
+						this.getHomeInformation()
+					}).catch(response =>{
+						this.isLogin = false;
+						this.userID ='';
+						let user_key = {code:response.code,userID:this.userID,openid:''}
+						uni.setStorageSync('cookieKey','JSESSIONID='+response.data)
+						this.$store.commit('updateStatus',user_key)
+						this.getHomeInformation()
+					})
 				})
 			},
 			refresh(){

+ 95 - 15
api/product.js

@@ -4,22 +4,102 @@
  *@date 2020/03/19 14:56:57
  *@param registerByPass
  */
-// 获取商品分类
-const queryGoodscategory = "/personalCenter/address";
-// 商品列表
-const queryGoodslist = "/tiny-shop/v1/common/collect/create";
-// 商品详情
-const queryGoodsdetile = "/tiny-shop/v1/common/collect/delete";
+/**
+ * 获取商品分类
+ */
+export function queryGoodscategory() {
+	return new Promise(function(resolve,reject) {
+		request.get("/product/classify",{}, res => {
+			if(res.code == '0'){
+				resolve(res);
+			}else{
+				reject(res)
+			}
+		})
+	});
+}
+/**
+ * @三级分类下的商品列表
+ * @param:tinyTypeID 三级分类ID
+ * @param:pageNum	页码
+ * @param:pageSize	每页显示条数
+ */
+export function queryGoodslist(params) {
+	return new Promise(function(resolve,reject) {
+		request.get("/product/listByTinyTypeID",params, res => {
+			if(res.code == '0'){
+				resolve(res);
+			}else{
+				reject(res)
+			}
+		})
+	});
+}
+/**
+ * @商品搜索
+ * @param:searchWord 关键词
+ * @param:pageNum	页码
+ * @param:pageSize	每页显示条数
+ */
+export function querySearchProduct(params) {
+	return new Promise(function(resolve,reject) {
+		request.get("/product/search",params, res => {
+			if(res.code == '0'){
+				resolve(res);
+			}else{
+				reject(res)
+			}
+		})
+	});
+}
+/**
+ * @搜索历史记录
+ * @param:header请求头加入token
+ */
+export function querySearchHistory() {
+	return new Promise(function(resolve,reject) {
+		request.get("/product/searchHistory",{}, res => {
+			if(res.code == '0'){
+				resolve(res);
+			}else{
+				reject(res)
+			}
+		})
+	});
+}
+/**
+ * @商品详情
+ * @param:productID 商品ID
+ */
+export function queryProductDetils(params) {
+	return new Promise(function(resolve,reject) {
+		request.get("/product/details",params, res => {
+			if(res.code == '0'){
+				resolve(res);
+			}else{
+				reject(res)
+			}
+		})
+	});
+}
+/**
+ * @常用商品,精品推荐,热门推荐列表
+ * @param:preferredFlag 新品上线(001) 优惠商品(010) 常用商品(100),,
+ * @param:pageNum 页码
+ * @param:pageSize 每页条数
+ */
+export function queryPreferred(params) {
+	return new Promise(function(resolve,reject) {
+		request.get("/product//preferred",params, res => {
+			if(res.code == '0'){
+				resolve(res);
+			}else{
+				reject(res)
+			}
+		})
+	});
+}
 // 再次购买商品列表
 const queryAgaingoodslist = "/tiny-shop/v1/common/transmit/create";
 // 加入购物车
 const addCart = "/tiny-shop/v1/common/transmit/create";
-
-
-export {
-    queryGoodscategory,
-    queryGoodslist,
-    queryGoodsdetile,
-    queryAgaingoodslist,
-	addCart
-};

+ 123 - 4
api/use.js

@@ -4,10 +4,12 @@
  *@date 2020/03/19 14:56:57
  *@param registerByPass
  */
+import request from '@/common/config/caimeiApi.js'
+import { queryVerifImage , queryMobileCode , queryEmailCode } from '@/api/utils.js'
+import $reg from '@/common/config/common.js'
+
 // 首页初始化
 const queryHomeInfo = "/tiny-shop/v1/common/provinces/index";
-// 机构注册
-const organizationRegister = "/tiny-shop/v1/common/provinces/index";
 // 机构修改申请信息
 const organizationModify = "/tiny-shop/v1/common/provinces/index";
 // 获取机构资料
@@ -31,9 +33,126 @@ const mobilePassword  = "/tiny-shop/v1/third-party/wechat-js-sdk";
 // 邮箱修改密码
 const emailPassword = "/tiny-shop/v1/third-party/wechat-js-sdk";
 
-export {
+
+/**
+ *机构注册第一步校验
+ */
+export function organizationVerifyRegisterFirst(params) {
+	return new Promise(function(resolve,reject) {
+		if( params.email == ''){
+			uni.showToast({title: '请输入邮箱地址',duration: 2000,mask:true, icon:'none'})
+			return
+		}
+		if(!$reg.isEmail(params.email)){
+			uni.showToast({title: '请输入正确的邮箱地址',duration: 2000,mask:true,icon:'none'})
+			return
+		}
+		if( params.mailboxCode == ''){
+			uni.showToast({title: '请输入邮箱验证码',duration: 2000,mask:true,icon:'none'})
+			return
+		}
+		if(!$reg.isEmailCode(params.mailboxCode)){
+			uni.showToast({title: '验证码格式不正确',duration: 2000,mask:true,icon:'none'})
+			return
+		}
+		if( params.password == ''){
+			uni.showToast({title: '请输入密码',duration: 2000,mask:true,icon:'none'})
+			return
+		}
+		if(!$reg.checkPwd(params.password)){
+			uni.showToast({title: '密码必须为8-16位字母数字的组合',duration: 2000,mask:true,icon:'none'})
+			return
+		}
+		if( params.passWordConfirm == ''){
+			uni.showToast({title: '请再次确认密码',duration: 2000,mask:true,icon:'none'})
+			return
+		}
+		if( params.passWordConfirm !== params.password){
+			uni.showToast({title: '两次输入的密码不一致',duration: 2000,mask:true,icon:'none'})
+			return
+		}
+		request.post('/club/verifyRegister',params, res => {
+			if(res.code == '0'){
+				resolve(res);
+			}else{
+				reject(res)
+			}
+		})
+	});
+}
+/**
+ *机构注册第二步校验
+ */
+export function organizationVerifyRegisterTwo(params) {
+	return new Promise(function(resolve,reject) {
+		if( params.name == ''){
+			uni.showToast({title: '请输入机构名称',duration: 2000,mask:true, icon:'none'})
+			return
+		}
+		if( params.linkMan == ''){
+			uni.showToast({title: '请输入联系人名称',duration: 2000,mask:true,icon:'none'})
+			return
+		}
+		if( params.bindMobile == ''){
+			uni.showToast({title: '请输入手机号',duration: 2000,mask:true,icon:'none'})
+			return
+		}
+		if(!$reg.isMobile(params.bindMobile)){
+			uni.showToast({title: '手机格式不正确',duration: 2000,mask:true,icon:'none'})
+			return
+		}
+		if( params.activationCode == ''){
+			uni.showToast({title: '请输入手机验证码',duration: 2000,mask:true,icon:'none'})
+			return
+		}
+		if(!$reg.isMobileCode(params.activationCode)){
+			uni.showToast({title: '验证码格式不正确',duration: 2000,mask:true,icon:'none'})
+			return
+		}
+		request.post('/club/verifyRegister',params, res => {
+			if(res.code == '0'){
+				resolve(res);
+			}else{
+				reject(res)
+			}
+		})
+	});
+}
+/**
+ *机构注册提交审核
+ */
+export function organizationRegister(params) {
+	if(params.isAgreed!=1){
+		uni.showToast({title: '请勾选协议',duration: 2000,mask:true,icon:'none'})
+		return
+	}
+	return new Promise(function(resolve,reject) {
+		request.post('/user/club/clubRegister',params, res => {
+			if(res.code == '0'){
+				resolve(res)
+			}else{
+				reject(res)
+			}
+		})
+	})
+}
+
+/**
+ *用户状态初始化
+ */
+export function userInfoLogin(params) {
+	return new Promise(function(resolve,reject) {
+		request.post('/club/authorization',params, res => {
+			if(res.code == '0'){
+				resolve(res)
+			}else{
+				reject(res)
+			}
+		})
+	})
+}
+export default {
     queryHomeInfo,
-    organizationRegister,
     organizationModify,
     organizationInfo,
     organizationUpdate,

+ 125 - 25
api/utils.js

@@ -4,29 +4,129 @@
  *@date 2020/03/19 14:56:57
  *@param registerByPass
  */
-// 获取省市区列表 @param 空
-const queryAddressInformation = "/club/address";
-// 获取邮箱验证码 @param email status
-const queryEmailCode = "/user/mailbox";
-// 获取手机验证码 @param 空
-const queryMobileCode = "/user/activateCodeByReg";
-// 获取图形验证码 @param 空
-const queryVerificationCode = "/user/getImgVerifyCode";
-// 校验图形验证码 @param 空
-const checkVerificationCode = "/user/getImgVerifyCode";
-// 上传图片 @param 空
-const uploadImage = "/tiny-shop/v1/common/transmit/create";
-// 协议接口 @param 空
-const queryProtocol = "/club/protocol";
+import request from '@/common/config/caimeiApi.js'
+import $reg from '@/common/config/common.js'
 
-
-
-export {
-    queryAddressInformation,
-    queryEmailCode,
-    queryMobileCode,
-    queryVerificationCode,
-	checkVerificationCode,
-	uploadImage,
-	queryProtocol
-};
+/**
+ *获取省市区列表
+ */
+export function queryAddressInformation() {
+	return new Promise(function(resolve,reject) {
+		request.get("/club/address",{}, res => {
+			if(res.code == '0'){
+				resolve(res);
+			}else{
+				reject(res)
+			}
+		})
+	});
+}
+/**
+ *获取协议
+ */
+export function queryProtocol() {
+	return new Promise(function(resolve,reject) {
+		request.get("/club/protocol",{}, res => {
+			if(res.code == '0'){
+				resolve(res);
+			}else{
+				reject(res)
+			}
+		})
+	});
+}
+/**
+ *获取图形验证码
+ */
+export function getImageCode() {
+	return new Promise(function(resolve,reject) {
+		request.get("/user/getImgVerifyCode",{platformType:2}, res => {
+			if(res.code == '0'){
+				resolve(res);
+			}else{
+				reject(res)
+			}
+		})
+	});
+}
+/**
+ *获取邮箱验证码
+ */
+export function getEmailCode(params) {
+	return new Promise(function(resolve,reject) {
+		if( params.email == ''){
+			uni.showToast({title: '请输入邮箱地址',duration: 2000,mask:true, icon:'none'})
+			return
+		}
+		if(!$reg.isEmail(params.email)){
+			uni.showToast({title: '请输入正确的邮箱地址',duration: 2000,mask:true,icon:'none'})
+			return
+		}
+		request.get("/user/mailbox",params, res => {
+			if(res.code == '0'){
+				resolve(res);
+			}else{
+				reject(res)
+			}
+		})
+	});
+}
+/**
+ *获取手机验证码
+ */
+export function getMobileCode(params) {
+	return new Promise(function(resolve,reject) {
+		if( params.mobile == ''){
+			uni.showToast({title: '请输入手机号',duration: 2000,mask:true, icon:'none'})
+			return
+		}
+		if(!$reg.isMobile(params.mobile)){
+			uni.showToast({title: '请输入正确的手机号',duration: 2000,mask:true,icon:'none'})
+			return
+		}
+		if( params.imgCode == ''){
+			uni.showToast({title: '请输入图形验证码',duration: 2000,mask:true,icon:'none'})
+			return
+		}
+		request.get("/user/activateCodeByReg",params, res => {
+			if(res.code == '0'){
+				resolve(res);
+			}else{
+				reject(res)
+			}
+		})
+	});
+}
+/**
+ *上传图片
+ */
+export function uploadFileImage() {
+	return new Promise(function(resolve,reject) {
+		uni.chooseImage({
+			count: 1, //默认1
+			sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有
+			sourceType: ['album','camera'], //从相册选择
+			success: (res) => {
+				const tempFilePaths = res.tempFilePaths;
+				console.log(tempFilePaths)
+				const uploadTask = uni.uploadFile({
+					url : 'https://spi-b.caimei365.com/formData/MultiPictareaddData',
+					filePath: tempFilePaths[0],
+					name: 'file',
+					header: {
+					    "Content-Type": "multipart/form-data",
+					},
+					formData: {
+						'user': 'test'
+					},
+					success: function (res) {
+						resolve(res);
+					},
+					error : function(e){
+						reject(res)
+					}
+				})
+			}
+		});
+	});
+}

+ 2 - 3
common/config/addressdata.js

@@ -3,13 +3,12 @@
  *已提供给地区选择picker组件使用
  */ 
 import { queryAddressInformation } from '@/api/utils.js';
-import api from '@/common/config/caimeiApi.js';
 const provinceData=[];
 const cityData=[];
 const areaData=[];
 
-api.get(queryAddressInformation,{},response =>{
-	let list = response.data;
+queryAddressInformation().then(res =>{
+	let list = res.data;
 	list.forEach(item => {
 		let xxx = handleCitys(item);
 		provinceData.push(item);

+ 2 - 1
common/config/caimeiApi.js

@@ -76,13 +76,14 @@ const caimeiApi = {
 	 * @方法参数:请求地址,请求后台需要的参数字段,回调函数
 	 */
 	post:function(url,data,callback){
+		console.log(data)
 		uni.showLoading({mask: true,title:'加载中~'})
 		uni.request({
 			url: requestUrl+url,
 			data:data,
 			header: {
 				'Accept': 'application/json',
-				'Content-Type': 'application/json',
+				'Content-Type': 'application/x-www-form-urlencoded',
 				'X-Token':uni.getStorageSync('token'),
 				'Cookie': uni.getStorageSync('cookieKey')
 			},

+ 1 - 1
common/config/common.js

@@ -14,7 +14,7 @@ const utils = {
 	},
 	isMobile: function(value) {
 		//是否为手机号
-		return RegExp(/^(?:13\d|14\d|15\d|16\d|17\d|18\d|19\d)\d{5}(\d{3}|\*{3})$/).test(value);
+		return RegExp(/^1[1-9][0-9]{9}$/).test(value);
 	},
 	isFloat: function(value) {
 		//金额,只允许保留两位小数

+ 12 - 4
components/mpvue-citypicker/mpvueCityPicker.vue

@@ -34,7 +34,7 @@
 				pickerValue: [0, 0, 0],
 				provinceDataList: provinceData,
 				cityDataList: cityData[1],
-				areaDataList: areaData[0][0],
+				areaDataList: areaData&&areaData[0]&&areaData[0][0],
 				/* 是否显示控件 */
 				showPicker: false,
 			};
@@ -42,7 +42,7 @@
 		created() {
 			// console.log('provinceData',provinceData)
 			// console.log('cityData',cityData)
-			// console.log('areaData',areaData)
+			console.log('areaData',areaData)
 			// this.init()
 		},
 		props: {
@@ -136,7 +136,9 @@
 				let pickObj = {
 					name: this._getLabel(),
 					value: this.pickerValue,
-					cityCode: this._getCityCode()
+					townCode: this._getTownCode(),
+					cityCode: this._getCityCode(),
+					provinceCode: this._getProvinceCode()
 				};
 				this.$emit(emitName, pickObj);
 			},
@@ -149,8 +151,14 @@
 					this.areaDataList[this.pickerValue[2]].name;
 				return pcikerLabel;
 			},
+			_getTownCode() {
+				return this.areaDataList[this.pickerValue[2]].townID;
+			},
 			_getCityCode() {
-				return this.areaDataList[this.pickerValue[2]].townid;
+				return this.cityDataList[this.pickerValue[1]].cityID;
+			},
+			_getProvinceCode() {
+				return this.provinceDataList[this.pickerValue[0]].provinceID;
 			}
 		}
 	};

+ 0 - 2
main.js

@@ -7,7 +7,6 @@ import * as Regs from '@/common/config/common.js'
 import validate from '@/common/utils/ys-validate.js'
 import Json from './json' //本地数据
 
-const userOrganizeID = 2 //组织ID
 /**
  *  示例使用了uni.scss下的变量, 除变量外已尽量移除特有语法,可直接替换为其他预处理器使用
  */
@@ -55,7 +54,6 @@ Vue.config.productionTip = false
 Vue.prototype.$fire = new Vue();
 Vue.prototype.$store = store;
 Vue.prototype.$util = {msg, json, prePage,modal};
-Vue.prototype.userOrganizeID = userOrganizeID;
 Vue.prototype.$api = Api;
 Vue.prototype.$reg = Regs;
 Vue.prototype.$validate = validate;

+ 5 - 5
pages.json

@@ -1,11 +1,6 @@
 {
 	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
 		{
-			"path": "pages/user-module/register",
-			"style": {
-				"navigationBarTitleText": "注册"
-			}
-		},{
 			"path": "pages/tabBar/home/home",
 			"style": {
 				"navigationBarTitleText": "采美采购商城",
@@ -161,6 +156,11 @@
 			"style": {
 				"navigationBarTitleText": "搜索"
 			}
+		},{
+			"path": "pages/user-module/register",
+			"style": {
+				"navigationBarTitleText": "注册"
+			}
 		},{
 			"path": "pages/user-module/login",
 			"style": {

+ 15 - 21
pages/tabBar/home/home.vue

@@ -131,7 +131,7 @@
 	import authorize from '@/common/config/authorize.js'
 	import modalLayer from "@/components/modal-layer"
 	import btSearch from '@/components/uni-search/bt-search.vue'
-	
+	import { userInfoLogin } from "@/api/use.js"
 	import { mapMutations} from 'vuex';
 	export default {
 		components:{
@@ -179,26 +179,20 @@
 				authorize.getCode('weixin').then(wechatcode =>{
 					// console.log(wechatcode);
 					// 根据微信的code获取用户登录状态:1已登录过 -1未登录过
-					this.$api.get('/login/doLogin',{userOrganizeID:this.userOrganizeID,code:wechatcode},
-						response =>{
-							// console.log(response);
-							if(response.code == '1'){
-								this.isLogin = true;
-								this.userID = response.data.userID;						
-								let user_key = {code:response.code,openid:response.data.openid,userID:response.data.userID}
-								this.$store.commit('updateStatus',user_key)
-								uni.setStorageSync('cookieKey','JSESSIONID='+response.data.sessionId)
-								this.getHomeInformation()
-							}else{
-								this.isLogin = false;
-								this.userID ='';
-								let user_key = {code:response.code,tel:response.data,userID:this.userID,openid:''}
-								this.$store.commit('updateStatus',user_key)
-								this.getHomeInformation()
-								// this.$store.commit('updateAllNum',0)
-							}
-						}
-					)
+					userInfoLogin({code:wechatcode}).then(response =>{
+						this.isLogin = true;
+						this.userID = response.data.userID;						
+						let user_key = {code:response.code,openid:response.data.openid,userID:response.data.userID}
+						this.$store.commit('updateStatus',user_key)
+						uni.setStorageSync('cookieKey','JSESSIONID='+response.data.sessionId)
+						// this.getHomeInformation()
+					}).catch(response =>{
+						this.isLogin = false;
+						this.userID ='';
+						let user_key = {code:response.code,userID:this.userID,openid:''}
+						this.$store.commit('updateStatus',user_key)
+						// this.getHomeInformation()
+					})
 				})
 			},		
 			getHomeInformation(){				

+ 5 - 13
pages/tabBar/user/user.vue

@@ -111,29 +111,20 @@
 				</view>	
 			</view>
 		</view>	
-		<no-login
-			v-if="isShowNoLogin" 
-			:telPhone='telPhone'
-			:alertType ='4'
-			:path = 'true'
-		>
-		</no-login>		
 	</view>
 </template>
 <script>
 	import uniBadge from '@/components/uni-badge/uni-badge.vue'
-	import noLogin from '@/components/module/noLogin/nologin.vue'//未登录弹窗
 	import { mapState,mapMutations } from 'vuex';
 	export default{
 		components: {
-			uniBadge,
-			noLogin
+			uniBadge
 		},
 		data() {
 			return{	
-				name:'星范商城',
+				name:'采美采购商城',
 				headpic:'../../../static/temp/logo@3x.png',
-				userMoney:888888.88,
+				userMoney:0.00,
 				contactNumber:'',
 				openid:'',
 				aboutHtml:'',
@@ -211,13 +202,14 @@
 			},
 			onShow(){
 				this.$api.getStorage().then((resolve) => {
+					console.log(resolve)
 					if(resolve.code == '1'){
 						this.openid = resolve.openid
 						this.isShowNoLogin = false;
 						this.initData();
 					}else{
-						this.telPhone = resolve.tel;
 						this.isShowNoLogin = true;
+						this.$api.navigateTo('/pages/user-module/login-accont')
 						this.$store.commit('updateAllNum',0)
 					}
 				})

+ 229 - 298
pages/user-module/register.vue

@@ -15,7 +15,7 @@
 			<view class="register-row clearfix">
 				<view class="register-from">
 					<view class="label">邮箱:</view>
-					<input class="row-input" type="text"  v-model="registerEmail" @blur="registerEmailInput" placeholder="请输入您的常用邮箱" maxlength="30"/>
+					<input class="row-input" type="text"  v-model="registerEmail" placeholder="请输入您的常用邮箱" maxlength="30"/>
 				</view>
 			</view>
 			<view class="register-row clearfix">
@@ -23,8 +23,8 @@
 					<view class="label">邮箱验证码:</view>
 					<input class="row-input" type="text" v-model="regEmailCode" placeholder="请输入邮箱验证码" maxlength="4"/>
 				</view>
-				<view class="register-from btn" :class="[isEmialDisabled === true ? 'disabled' : 'none']">
-					<button class="row-input"  type="button" @click.stop="getEmailCode" :disabled="isEmialDisabled">{{codeText}}</button>
+				<view class="register-from btn" :class="[isEmialDisabled ? 'disabled' : '']" @click.stop="getEmailCodeFn">
+					<button class="row-input"  type="button"  :disabled="isEmialDisabled">{{ emailCodeText }}</button>
 				</view>
 			</view>
 			<view class="register-row clearfix">
@@ -65,13 +65,13 @@
 			<view class="register-row clearfix">
 				<view class="register-from imgcode">
 					<view class="label">图形验证码:</view>
-					<input class="row-input" type="text" v-model="imageCode" @blur="checkImgCode" placeholder="请输入图形验证码" maxlength="6"/>
+					<input class="row-input" type="text" v-model="imageCode" placeholder="请输入图形验证码" maxlength="6"/>
 				</view>
 				<view class="register-from img-btn">
 					<view class="vscodeimg">
-						<image src="https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=2158189919,2752757953&fm=26&gp=0.jpg" mode=""></image>
+						<image :src="imageCodeUrl" mode=""></image>
 					</view>
-					<view class="vscod-refresh">
+					<view class="vscod-refresh" @click.stop="refreshVscode">
 						<text class="iconfont icon-shuaxin"></text>
 						<text class="ref-text">刷新</text>
 					</view>
@@ -82,8 +82,8 @@
 					<view class="label">短信验证码:</view>
 					<input class="row-input" type="text" v-model="mobileCode" placeholder="请输入短信验证码" maxlength="6"/>
 				</view>
-				<view class="register-from btn" :class="[isMobileDisabled === true ? 'disabled' : 'none']">
-					<button class="row-input"  type="button" @click.stop="getMobileCode" :disabled="isMobileDisabled">获取验证码</button>
+				<view class="register-from btn" :class="[isMobileDisabled  ? 'disabled' : '']" @click.stop="getMobileCodeFn">
+					<button class="row-input"  type="button" :disabled="isMobileDisabled">{{ mobileCodeText }}</button>
 				</view>
 			</view>
 			<view class="register-row clearfix">
@@ -98,7 +98,7 @@
 			<view class="register-row clearfix">
 				<view class="register-from">
 					<view class="label">机构简称:</view>
-					<input class="row-input" type="text" v-model="clubContact" placeholder="请输入您的机构简称" maxlength="16"/>
+					<input class="row-input" type="text" v-model="abbreviation" placeholder="请输入您的机构简称" maxlength="16"/>
 				</view>
 			</view>
 			<view class="register-row clearfix">
@@ -126,7 +126,7 @@
 			<view class="register-row clearfix">
 				<view class="register-from">
 					<view class="label">营业执照编号:</view>
-					<input class="row-input" type="text" v-model="clubContact" placeholder="请填写社会统一信用代码" maxlength="16"/>
+					<input class="row-input" type="text" v-model="socialCreditCode" placeholder="请填写社会统一信用代码" maxlength="16"/>
 				</view>
 			</view>
 			<view class="register-row clearfix">
@@ -179,7 +179,7 @@
 			<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="clubContact" placeholder="请填写经营的科室,至少三个,用逗号隔开" maxlength="16"/>
+					<input class="row-input keshi" type="text" v-model="department" placeholder="请填写经营的科室,至少三个,用逗号隔开" maxlength="16"/>
 				</view>
 			</view>
 			<view class="register-row clearfix" v-if="isOrganizationType == 1">
@@ -215,7 +215,7 @@
 				</view>
 				<view class="register-from group btn" v-show="isShowAustomItem">
 					<view class="content-class btn">
-						<input class="row-input" type="text" v-model="customItemValue" placeholder="请输入自定义项目"  @blur="onBlurInput" maxlength="5"/>
+						<input class="row-input none" type="text" v-model="customItemValue" placeholder="请输入自定义项目"  @blur="onBlurInput" maxlength="5"/>
 						<button type="default" 
 								class="confirm-btn" 
 								:class="[isDisabled === true ? 'disabled' : 'none']" 
@@ -244,7 +244,7 @@
 				</view>
 				<view class="register-from group btn" v-show="isShowAustomItem">
 					<view class="content-class btn">
-						<input class="row-input" type="text" v-model="customItemValue" placeholder="请输入自定义项目"  @blur="onBlurInput" maxlength="5"/>
+						<input class="row-input none" type="text" v-model="customItemValue" placeholder="请输入自定义项目"  @blur="onBlurInput" maxlength="5"/>
 						<button type="default" 
 								class="confirm-btn" 
 								:class="[isDisabled === true ? 'disabled' : 'none']" 
@@ -286,15 +286,8 @@
 	import mpvueCityPicker from '@/components/mpvue-citypicker/mpvueCityPicker.vue'
 	import uniTag from '@/components/uni-tag/uni-tag.vue';
 	import authorize from '@/common/config/authorize.js' 
-	import URLCONFIG from '@/common/config/config.js' 
-	import { organizationRegister } from "@/api/use.js"
-	import { 
-		queryEmailCode, 
-		queryMobileCode, 
-		ueryVerificationCode, 
-		checkVerificationCode,
-		queryVerificationCode
-	} from "@/api/utils.js"
+	import { organizationRegister , organizationVerifyRegisterFirst ,organizationVerifyRegisterTwo } from "@/api/use.js"
+	import { getImageCode, getEmailCode, getMobileCode, uploadFileImage } from "@/api/utils.js"
 	var self;
 	export default{
 		components:{
@@ -303,27 +296,38 @@
 		},
 		data() {
 			return{
-				registerEmail:'', 		//注册邮箱
-				regEmailCode:'',  		//邮箱验证码
-				isEmialDisabled: true,	//验证码按钮控制
-				isMobileDisabled: true,	//手机验证码按钮控制
+				tabCurrentIndex:1,	
+				isPreviewImage:false,   //预览图片开关
+				isEmialDisabled: false,	//验证码按钮控制
+				isMobileDisabled: false,	//手机验证码按钮控制
 			    count: '',				//倒计时
-			    codeText: '获取验证码',
+			    emailCodeText: '获取验证码',
+			    mobileCodeText: '获取验证码',
 			    codeTime: null,
+				registerEmail:'', 		//注册邮箱
+				regEmailCode:'',  		//邮箱验证码
 				password:'',			//密码
 				passwordCheck:'',		//校验密码
 				clubName:'',	 		//机构名称
+				abbreviation:'',	 	//机构简称
 				clubContact:'',	 		//联系人
 				registerMobile:'',		//联系人手机号
 				mobileCode:'',			//手机验证码
 				imageCode:'',			//图形验证码
+				imageCodeUrl:'',		//图形验证码图片
+				imageCodetoken:'',		//图形验证校验
+				socialCreditCode:'',	//统一社会信用代码
+				isAgreed:0,				//是否勾选协议
 				isDisabled:true,
-				tabCurrentIndex:1,	
 				isShowInput:false,
-				isCheck:false,		//是否全选
-				uploadBusinessImage:'',
-				uploadMentuzImage:'https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=1431188283,1203112303&fm=26&gp=0.jpg',
-				uploadMedicalImage:'https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=1431188283,1203112303&fm=26&gp=0.jpg',
+				isCheck:false,			//是否全选
+				uploadBusinessImage:'',//营业执照图片
+				uploadMentuzImage:'',  //门头照图片
+				uploadMedicalImage:'', //资质照图片
+				department:'',			//科室
+				isDepartment:false,     //是否显示科室
+				secondClubType:'',		//机构类型二级分类
+				mainpro:'',				//主营内容
 				isOrganizationType:0,
 				organizationTypeList:[
 					{name:'请选择机构类型',value:0},
@@ -345,18 +349,14 @@
 				typtIndex:0,
 				organizationType:0,
 				current:0,
-				isDepartment:false, //是否显示科室
 				isShowAustomItem:false, //是否显示其他添加
-				customItemValue:'', //自定义项目
+				customItemValue:'', 	//自定义项目
 				addressData:{
-					addressID:'',
 					address:'请选择机构所在地区',
-					userID: '',			//用户id ,只在新增收货地址时传
-					shouHuoRen: '',		//收货人
-					mobile:'',			//收货人手机
 					townID:'',			//区ID
+					cityID:'',			//区ID
+					provinceID:'',		//区ID
 					addressDetail: '',	//地址
-					defaultFlag:0,		//是否默认收货地址(0 不是默认,1 默认)
 				},
 			}
 		},
@@ -372,141 +372,130 @@
 		},
 		methods:{
 			registerStepsfirst(){
-				if( this.registerEmail == ''){
-					this.$util.msg('请输入邮箱地址',2000);
-					return
-				}
-				if(!this.$reg.isEmail(this.registerEmail)){
-					this.$util.msg('请输入正确的邮箱地址',2000);
-					return
-				}
-				if( this.regEmailCode == ''){
-					this.$util.msg('请输入邮箱验证码',2000);
-					return
+				let params ={
+						email:this.registerEmail,
+						mailboxCode:this.regEmailCode,
+						password:this.password,
+						passWordConfirm:this.passwordCheck,
+						whichStep:1,
 				}
-				if(!this.$reg.isEmailCode(this.regEmailCode)){
-					this.$util.msg('请输入正确验证码',2000);
-					return
-				}
-				if( this.password == ''){
-					this.$util.msg('请输入密码',2000);
-					return
-				}
-				if(!this.$reg.checkPwd(this.password)){
-					this.$util.msg('密码必须为8-16位字母数字的组合',2000);
-					return
-				}
-				if( this.passwordCheck != this.password){
-					this.$util.msg('两次输入的密码不一致',2000);
-					return
-				}
-				this.tabCurrentIndex = 2
-				this.getVerificationCode()
+				organizationVerifyRegisterFirst(params).then(res =>{
+					console.log(res)
+					this.tabCurrentIndex = 2
+					this.getVerificationCode()
+				}).catch(res =>{
+					this.$util.msg(res.msg,2000);
+				})
 			},
 			registerStepsTwo(){
-				if( this.clubName == ''){
-					this.$util.msg('请输入机构名称',2000);
-					return
+				let params ={
+						name:this.clubName,
+						linkMan:this.clubContact,
+						bindMobile:this.registerMobile,
+						activationCode:this.mobileCode,
+						whichStep:2,
 				}
-				if( this.clubContact == ''){
-					this.$util.msg('请输入联系人名称',2000);
-					return
-				}
-				if( this.registerMobile == ''){
-					this.$util.msg('请输入手机号',2000);
-					return
-				}
-				if(!this.$reg.isMobile(this.registerMobile)){
-					this.$util.msg('手机格式不正确',2000);
-					return
-				}
-				if( this.mobileCode == ''){
-					this.$util.msg('请输入手机验证码',2000);
-					return
-				}
-				if(!this.$reg.isMobileCode(this.mobileCode)){
-					this.$util.msg('请输入正确验证码',2000);
-					return
-				}
-				this.tabCurrentIndex = 3
-			},
-			registerStepsSub(){
-				
-			},
-			getVerificationCode(){
-				this.$api.get(queryVerificationCode,{}, res => {
+				organizationVerifyRegisterTwo(params).then(res =>{
 					console.log(res)
+					this.tabCurrentIndex = 3
+				}).catch(res =>{
+					this.$util.msg(res.msg,2000);
 				})
 			},
-			getEmailCode(){
-				if(!this.$reg.isEmail(this.registerEmail)){
-					this.$util.msg('请输入正确的邮箱地址',3000);
-					console.log(this.$reg.isEmail(this.registerEmail))
-					return
+			registerStepsSub(){
+				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, //机构类型分类 医美:1和生美:2
+						secondClubType:this.secondClubType,	//机构类型二级分类 诊所:1,门诊:2,医院:3
+						department:this.department,			//科室
+						medicalPracticeLicenseImg:this.uploadMedicalImage,//资质图片
+						isAgreed:this.isAgreed,				//是否勾选协议	
+						mainpro:this.mainpro,
+						whichStep:3
 				}
-				this.$api.get(queryEmailCode,{email:this.registerEmail,status:2}, res => {
-					console.log(res)
+				organizationRegister(params).then(res =>{
+					this.$util.msg('您的机构账号已提交审核',2000);
+					this.$api.switchTabTo('/pages/tabBar/home/home')
+				}).catch(res =>{
+					this.$util.msg(res.msg,2000);
 				})
-				const TIME_COUNT = 120;
-		     	if (!this.codeTime) {
-		       		this.count = TIME_COUNT;
-		       		this.isEmialDisabled = false;
-		       		this.codeTime = setInterval(() => {
-		       			if (this.count > 1 && this.count <= TIME_COUNT) {
-		         			this.count--
-		         			this.codeText = this.count +'s'
-		        		} else {
-			         		this.isEmialDisabled = true;
-			         		clearInterval(this.codeTime)
-			         		this.codeTime = null
-							this.codeText = '获取验证码'
-		        		}
-		       		},1000)
-		      	}
-				this.isEmialDisabled = true;
 			},
-			getMobileCode(){
-				if(!this.$reg.isMobile(this.registerMobile)){
-					this.$util.msg('请输入正确的手机号',3000);
-					return
+			getEmailCodeFn(){
+				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 {
+				         		this.isEmialDisabled = false;
+				         		clearInterval(this.codeTime)
+				         		this.codeTime = null
+								this.emailCodeText = '获取验证码'
+			        		}
+			       		},1000)
+			      	}
+				}).catch( res =>{
+					this.$util.msg(res.msg,2000);
+				})
+			},
+			getMobileCodeFn(){
+				let params = {
+						mobile:this.registerMobile,
+						activateCodeType:2,
+						platformType:2,
+						imgCode:this.imageCode,
+						token:this.imageCodetoken,
 				}
-				this.$api.get(queryMobileCode,{email:this.registerEmail,status:2}, res => {
-					console.log(res)
+				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);
 				})
-				const TIME_COUNT = 120;
-		     	if (!this.codeTime) {
-		       		this.count = TIME_COUNT;
-		       		this.isMobileDisabled = false;
-		       		this.codeTime = setInterval(() => {
-		       			if (this.count > 1 && this.count <= TIME_COUNT) {
-		         			this.count--
-		         			this.codeText = this.count +'s'
-		        		} else {
-			         		this.isMobileDisabled = true;
-			         		clearInterval(this.codeTime)
-			         		this.codeTime = null
-							this.codeText = '获取验证码'
-		        		}
-		       		},1000)
-		      	}
-				this.isMobileDisabled = true;
 			},
-			checkImgCode(e){
-				this.$api.get(checkVerificationCode,{imagecode:imageCode}, res => {
-					console.log(res)
-					this.isMobileDisabled = false
+			getVerificationCode(){//图形验证
+				getImageCode().then(res => {
+					this.imageCodeUrl = res.data.baseImage
+					this.imageCodetoken = res.data.token
 				})
 			},
-			registerEmailInput(e){
-				console.log(this.$reg.isEmail(e.detail.value))
-				 this.registerEmail = e.detail.value;
-				 if(!this.$reg.isEmail(this.registerEmail)){
-				 	this.$util.msg('请输入正确的邮箱地址',2000);
-					this.isEmialDisabled = true
-				 	return
-				 }else{
-					 this.isEmialDisabled = false
-				 }
+			refreshVscode(){//刷新图形吗
+				this.getVerificationCode()
 			},
 			// 三级联动选择
 			showMulLinkageThreePicker() {
@@ -514,168 +503,104 @@
 				this.$refs.mpvueCityPicker.show()
 			},
 			onConfirm(e) {
-				// console.log('地址',e);
+				console.log('地址',e);
 				this.addressData.address = e.name;
-				this.addressData.townID = e.cityCode;	
+				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.uploadBusinessImage = ''
+			},
+			delMentuzImage(){
+				this.uploadMentuzImage = ''
+			},			
+			delMedicalImage(){
+				this.uploadMedicalImage = ''
+			},
 			bindPickerChange(e) {
-				console.log('picker发送选择改变,携带值为:' + e.target)
+				console.log('picker携带值为:' + e.target.value)
 				this.typtIndex = e.target.value
 				this.isOrganizationType = e.target.value
 			},
 			radioChange(e) {
-				let _value = e.target.value
-				if( _value == '2' || _value == '3'){
+				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 === _value) {
+					if (this.beautyList[i].value === this.secondClubType) {
 						this.current = i;
 						break;
 					}
 				}
 			},
 			chooseMaleLike(e){
-				let items = this.mentuzCampList
-				let	values = e.detail.value
-				for (var i = 0, lenI = items.length; i < lenI; ++i) {
-					const item = items[i]
-					if(values.indexOf(item.value) >= 0){
-						this.$set(item,'checked',true)
-					}else{
-						this.$set(item,'checked',false)
-					}
-				}
+				this.mainpro = this.checkLikes(e,this.mentuzCampList)
+				console.log(this.mainpro)
 			},
 			chooseMaleLikes(e){
-				let items = this.medicaCampList
+				this.mainpro = this.checkLikes(e,this.medicaCampList)
+				console.log(this.mainpro)
+			},
+			checkLikes(e,list){
+				let items = list
 				let	values = e.detail.value
-				for (var i = 0, lenI = items.length; i < lenI; ++i) {
+				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)
 					}
 				}
-			},
-			onTextareaInput(e){
-			   this.addressData.addressDetail = e.detail.value;
-			   // console.log(this.addressData.addressDetail)
-			},
-			chooseBusinessImage() {
-				let self = this;
-				uni.chooseImage({
-					count: 1, //默认1
-					sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有
-					sourceType: ['album','camera'], //从相册选择
-					success: (res) => {
-						const tempFilePaths = res.tempFilePaths;
-						const uploadTask = uni.uploadFile({
-							url : 'https://mall-b.caimei365.com/formData/MultiPictareaddData',
-							filePath: tempFilePaths[0],
-							name: 'file',
-							formData: {
-								'user': 'test'
-							},
-							success: function (data) {
-								console.log(data.data);
-								self.uploadBusinessImage = res.tempFilePaths
-							},
-							error : function(e){
-								 console.log(e);
-							}
-						})
-					},
-					
-				})
-			},
-			chooseMentuzImage() {
-				let self = this;
-				uni.chooseImage({
-					count: 1, //默认1
-					sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有
-					sourceType: ['album','camera'], //从相册选择
-					success: (res) => {
-						const tempFilePaths = res.tempFilePaths;
-						const uploadTask = uni.uploadFile({
-							url : 'https://mall-b.caimei365.com/formData/MultiPictareaddData',
-							filePath: tempFilePaths[0],
-							name: 'file',
-							formData: {
-								'user': 'test'
-							},
-							success: function (res) {
-								console.log(res.data);
-								self.uploadMentuzImage = res.data
-							},
-							error : function(e){
-								 console.log(e);
-							}
-						})
-					}
-				});
-			},
-			chooseMedicalImage() {
-				let self = this;
-				uni.chooseImage({
-					count: 1, //默认1
-					sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有
-					sourceType: ['album','camera'], //从相册选择
-					success: (res) => {
-						const tempFilePaths = res.tempFilePaths;
-						const uploadTask = uni.uploadFile({
-							url : 'https://mall-b.caimei365.com/formData/MultiPictareaddData',
-							filePath: tempFilePaths[0],
-							name: 'file',
-							formData: {
-								'user': 'test'
-							},
-							success: function (res) {
-								console.log(res.data);
-								self.uploadMedicalImage = res.data
-							},
-							error : function(e){
-								 console.log(e);
-							}
-						})
-					}
-				});
-			},
-			viewMentuzImage(e) {
-				let self = this
-				uni.previewImage({
-					urls: self.uploadMentuzImage,
-					current: e.currentTarget.dataset.url
-				});
-			},
-			viewBusinessImage(e) {
-				let self = this
-				uni.previewImage({
-					urls: self.uploadBusinessImage,
-					current: e.currentTarget.dataset.url
-				});
-			},
-			viewMedicalImage(e) {
-				let self = this
-				uni.previewImage({
-					urls: self.uploadMedicalImage,
-					current: e.currentTarget.dataset.url
-				});
-			},
-			delBusinessImage(){
-				this.uploadBusinessImage = ''
-			},
-			delMentuzImage(){
-				this.uploadMentuzImage = ''
-			},			
-			delMedicalImage(){
-				this.uploadMedicalImage = ''
+				return arr.toString()
 			},
 			agreeCheck() {
 				this.isCheck = !this.isCheck
+				if(this.isCheck){
+					this.isAgreed = 1
+				}
 			},
 			onBlurInput(e){//
 				if(e.detail.value ===''){
@@ -684,7 +609,6 @@
 					this.isDisabled = false
 				}
 			},
-			
 			showAustomItem() {
 				this.isShowAustomItem = !this.isShowAustomItem
 			},
@@ -701,6 +625,12 @@
 				console.log(index)
 				this.tabCurrentIndex = index;
 			}
+		},
+		onShow() {
+			if(this.isPreviewImage){
+				this.isPreviewImage = false
+				return
+			}
 		}
 	}
 </script>
@@ -860,21 +790,21 @@
 					&.btn{
 						width: 176rpx;
 						float: left;
+						background: $btn-confirm;
 						.row-input{
 							width: 176rpx;
 							padding: 0;
-							background: #F7F7F7;
-							text-align: center;
-						}
-						&.none{
+							color: #FFFFFF;
 							background: $btn-confirm;
-							.row-input{
-								color: #FFFFFF;
-								background: $btn-confirm;
+							text-align: center;
+							&.none{
+								background: #F7F7F7;
 							}
 						}
 						&.disabled{
+							background: #F7F7F7;
 							.row-input{
+								background: #F7F7F7;
 								color: #999999;
 							}
 						}
@@ -906,6 +836,7 @@
 						}
 						.row-radio{
 							float: left;
+							transform: scale(0.8);
 						}
 						.row-text{
 							width: 100rpx;