소스 검색

替换地址控件。

zhupeng 3 년 전
부모
커밋
d79b8aebe6

+ 1 - 1
App.vue

@@ -2,7 +2,7 @@
 	import '.env.js'
 	import 'font.js'
 	import * as loginApi from '@/apis/login.js'
-	import {provinceData,setCityData,getCityData} from '@/pagesB/components/mpvue-citypicker/city-data/province.js';
+	import {provinceData,setCityData,getCityData} from '@/apis/city.js';
 	
 	export default {
 		onLaunch: function() { 

+ 9 - 6
pages.json

@@ -11,6 +11,14 @@
 			
 				//"navigationStyle": "custom" // 隐藏系统导航栏
 			}
+		},
+		{
+			"name":"欢迎页",
+			"path": "pages/user/test",
+			"style": {
+			
+				//"navigationStyle": "custom" // 隐藏系统导航栏
+			}
 		},
 		{
 			"name":"首页",
@@ -245,12 +253,7 @@
 				"name": "新闻", //模式名称
 				"path": "pages/news/index", //启动页面,必选
 				"query": "" //启动参数,在页面的onLoad函数里面得到
-			},
-			{
-				"name": "基础信息步骤1", //模式名称
-				"path": "pages/login/step1", //启动页面,必选
-				"query": "" //启动参数,在页面的onLoad函数里面得到
-			}
+			} 
 		]
 	}
   

+ 209 - 54
pages/user/edit.vue

@@ -14,18 +14,27 @@
 				<u-form-item label="年龄"><u-input :disabled='true' v-model="personal_info.age" input-align="right" placeholder="31岁"/></u-form-item>
 				<u-form-item label="身高">
 					<u-input v-model="form.height" input-align="right" placeholder="172cm" type="select" @click="show_height = true" />
-					<u-select v-model="show_height" mode="single-column" :list="height_ranges" @confirm="heightConfirm"></u-select>
+					<u-select v-model="show_height" :defaultValue="defaultData.height" mode="single-column" :list="height_ranges" @confirm="heightConfirm"></u-select>
 				</u-form-item>
 				<u-form-item label="体重">
 					<u-input v-model="form.weight" input-align="right" placeholder="75kg" type="select" @click="show_weight = true"/>
-					<u-select v-model="show_weight" mode="single-column" :list="weight_ranges" @confirm="weightConfirm"></u-select>
+					<u-select v-model="show_weight" :defaultValue="defaultData.weight" mode="single-column" :list="weight_ranges" @confirm="weightConfirm"></u-select>
 				</u-form-item>
 				
 				<view class="edit-line"></view>
 				
-				<u-form-item label="出身地"><u-input v-model="personal_info.birthplaceN" input-align="right" placeholder="荆州市沙市区" type="select" @click='birthdayAddressChange'/></u-form-item>
-				<u-form-item label="户口所在地"><u-input v-model="personal_info.registeredResidenceN" input-align="right" placeholder="荆州市沙市区" type="select" @click='registeredResidenceAddressChange'/></u-form-item>
-				<u-form-item label="工作所在地"><u-input v-model="personal_info.workplaceN" input-align="right" placeholder="荆州市沙市区" type="select" @click='workAddressChange'/></u-form-item>
+				<u-form-item label="出身地">
+					<u-input v-model="personal_info.birthplaceN" input-align="right" placeholder="荆州市沙市区" type="select" @click='birthdayAddressChange'/>
+					<u-select v-model="show_birthday_address" mode="mutil-column-auto" :default-value='defaultData.address' :list="defaultColumns" @confirm="onBirthdayCityConfirm"></u-select>
+				</u-form-item>
+				<u-form-item label="户口所在地">
+					<u-input v-model="personal_info.registeredResidenceN" input-align="right" placeholder="荆州市沙市区" type="select" @click='registeredResidenceAddressChange'/>
+					<u-select v-model="show_registered_residence" mode="mutil-column-auto" :default-value='defaultData.registered_residence' :list="defaultColumns" @confirm="onResidenceRegisteredCityConfirm"></u-select>
+				</u-form-item>
+				<u-form-item label="工作所在地">
+					<u-input v-model="personal_info.workplaceN" input-align="right" placeholder="荆州市沙市区" type="select" @click='workAddressChange'/>
+					<u-select v-model="show_work_address" mode="mutil-column-auto" :default-value='defaultData.work_address' :list="defaultColumns" @confirm="onWorkCityConfirm"></u-select>
+				</u-form-item>
 				
 				<view class="edit-line"></view>
 				
@@ -33,11 +42,11 @@
 				
 				<u-form-item label="学历" >
 					<u-input v-model="personal_info.educationN" input-align="right" placeholder="大学本科" type="select" @click="show_education = true"/>
-					<u-select v-model="show_education" mode="single-column" :list="base_dictionary.xlList" @confirm="educationConfirm"></u-select> 				
+					<u-select v-model="show_education" :defaultValue="defaultData.education" mode="single-column" :list="base_dictionary.xlList" @confirm="educationConfirm"></u-select> 				
 				</u-form-item>
 				<u-form-item label="行业" >
 					<u-input v-model="personal_info.industryN" input-align="right" placeholder="IT/互联网" type="select" @click="show_profession = true"/></u-form-item>
-					<u-select v-model="show_profession" mode="single-column" :list="base_dictionary.hyList" @confirm="professionConfirm"></u-select> 				
+					<u-select v-model="show_profession" :defaultValue="defaultData.profession" mode="single-column" :list="base_dictionary.hyList" @confirm="professionConfirm"></u-select> 				
 				<u-form-item label="工作单位">
 					<u-input v-model="personal_info.workUnit" input-align="right" placeholder="湖北荆鹏软件开发有限公司"  /></u-form-item>
 				<u-form-item label="岗位">
@@ -47,19 +56,19 @@
 				
 				<u-form-item label="月薪" >
 					<u-input v-model="personal_info.salaryRangeN" input-align="right" placeholder="请选择" type="select" @click="show_salary = true" />
-					<u-select v-model="show_salary" mode="single-column" :list="base_dictionary.yxList" @confirm="salaryConfirm"></u-select> 				
+					<u-select v-model="show_salary"  :defaultValue="defaultData.salary_range" mode="single-column" :list="base_dictionary.yxList" @confirm="salaryConfirm"></u-select> 				
 				</u-form-item>
 				<u-form-item label="住房状况">
 					<u-input v-model="personal_info.housingSituationN" input-align="right" placeholder="请选择" type="select"  @click="show_house = true"/>
-					<u-select v-model="show_house" mode="single-column" :list="base_dictionary.zfqkList" @confirm="houseConfirm"></u-select> 				
+					<u-select v-model="show_house" :defaultValue="defaultData.house_status" mode="single-column" :list="base_dictionary.zfqkList" @confirm="houseConfirm"></u-select> 				
 				</u-form-item>
 				<u-form-item label="婚姻状况">
 					<u-input v-model="personal_info.maritalStatusN" input-align="right" placeholder="未婚" type="select"  @click="show_marriage = true"/>
-					<u-select v-model="show_marriage" mode="single-column" :list="base_dictionary.hyqkList" @confirm="marriageConfirm"></u-select> 				
+					<u-select v-model="show_marriage" :defaultValue="defaultData.marriage_status" mode="single-column" :list="base_dictionary.hyqkList" @confirm="marriageConfirm"></u-select> 				
 				</u-form-item>
 				<u-form-item label="子女状况" >
 					<u-input v-model="personal_info.childStatusN" input-align="right" placeholder="无" type="select" @click="show_children = true"/>
-					<u-select v-model="show_children" mode="single-column" :list="base_dictionary.znqkList" @confirm="childrenConfirm"></u-select> 				
+					<u-select v-model="show_children"  :defaultValue="defaultData.children_status" mode="single-column" :list="base_dictionary.znqkList" @confirm="childrenConfirm"></u-select> 				
 				</u-form-item>
 				
 				<view class="edit-line"></view>
@@ -96,23 +105,25 @@
 			
 				<u-form-item label="年龄范围" >
 					<u-input v-model="personal_info.taAgeRangeN" input-align="right" placeholder="20~35" type="select" @click="show_ta_age_ranges = true"/>
-					<u-select v-model="show_ta_age_ranges" mode="single-column" :list="base_dictionary.nlfwList" @confirm="taAgeRangeConfirm"></u-select> 				
+					<u-select v-model="show_ta_age_ranges" :defaultValue="defaultData.ta_age_range" mode="single-column" :list="base_dictionary.nlfwList" @confirm="taAgeRangeConfirm"></u-select> 				
 				</u-form-item>
 				
 				<u-form-item label="月薪" >
 					<u-input v-model="personal_info.taIncomeRangeN" input-align="right" placeholder="不限" type="select" @click="show_ta_salary = true"/>
-					<u-select v-model="show_ta_salary" mode="single-column" :list="base_dictionary.yxList" @confirm="taSalaryRangeConfirm"></u-select> 				
+					<u-select v-model="show_ta_salary" :defaultValue="defaultData.ta_salary_range" mode="single-column" :list="base_dictionary.yxList" @confirm="taSalaryRangeConfirm"></u-select> 				
 				</u-form-item>
 				<u-form-item label="学历" >
 					<u-input v-model="personal_info.taEduN" input-align="right" placeholder="不限" type="select" @click="show_ta_education = true"/>
-					<u-select v-model="show_ta_education" mode="single-column" :list="base_dictionary.xlList" @confirm="taEducationConfirm"></u-select>
+					<u-select v-model="show_ta_education" :defaultValue="defaultData.ta_education"   mode="single-column" :list="base_dictionary.xlList" @confirm="taEducationConfirm"></u-select>
 				</u-form-item>
 				<u-form-item label="职业">
 					<u-input v-model="personal_info.taOccupation" input-align="right" placeholder="不限"  /></u-form-item>
 				<u-form-item label="所在地">
-					<u-input v-model="personal_info.taWorkplaceN" input-align="right" placeholder="请选择" type="select" @click='taWorkAddressChange'/></u-form-item>
+					<u-input v-model="personal_info.taWorkplaceN" :defaultValue="defaultData.ta_work_address" input-align="right" placeholder="请选择" type="select" @click='taWorkAddressChange'/>
+					<u-select v-model="show_ta_work_address" mode="mutil-column-auto" :default-value='defaultData.ta_work_address' :list="defaultColumns" @confirm="onTaWorkCityConfirm"></u-select>
+				</u-form-item>
 				<u-form-item label="其他要求">
-					<u-input v-model="personal_info.taOther" input-align="right" placeholder="请选择" /></u-form-item>
+					<u-input v-model="personal_info.taOther"  input-align="right" placeholder="请选择" /></u-form-item>
 			</u-form>
 		</view>
 		
@@ -141,12 +152,8 @@
 				</view>
 			</u-popup>
  		</view>
-	
-		<mpvue-city-picker themeColor="#007AFF" ref="mpvuebirtydayCityPicker" :pickerValueDefault="cityPickerValueDefault" @onConfirm="onBirthdayCityConfirm"></mpvue-city-picker>		
-		<mpvue-city-picker themeColor="#007AFF" ref="mpvueRegisteredResidenceCityPicker" :pickerValueDefault="cityPickerValueDefault"  @onConfirm="onResidenceRegisteredCityConfirm"></mpvue-city-picker>		
-		<mpvue-city-picker themeColor="#007AFF" ref="mpvueWorkCityPicker"  :pickerValueDefault="cityPickerValueDefault" @onConfirm="onWorkCityConfirm"></mpvue-city-picker>		
-		<mpvue-city-picker themeColor="#007AFF" ref="mpvueTaWorkCityPicker"  :pickerValueDefault="cityPickerValueDefault" @onConfirm="onTaWorkCityConfirm"></mpvue-city-picker>		
-<!--
+		
+		 <!--
 		<u-action-sheet
 				:show="show_education"
 				:actions="base_dictionary.xlList"
@@ -233,22 +240,42 @@
 </template>
 
 <script>
+	
 	import * as loginApi from '@/apis/login.js'
-	import mpvueCityPicker from "@/pagesB/components/mpvue-citypicker/mpvueCityPicker.vue";
+	
+//	import mpvueCityPicker from "@/pagesB/components/mpvue-citypicker/mpvueCityPicker.vue";
 //	import mpvueCityPicker from "../../pagesB/components/mpvue-citypicker/mpvueCityPicker.vue";
-	import {provinceData,setCityData,getCityData} from '@/pagesB/components/mpvue-citypicker/city-data/province.js';
+	import {provinceData,cityData,areaData,setCityData,getCityData,getCityPosition} from '@/apis/city.js';
 	let _self;
 	export default {
-		components:{
+/*		components:{
 			mpvueCityPicker
-		},
+		},*/
 		data() {
 			return {
-				
+				defaultColumns: [],				
 				cityPickerValueDefault:[16,6,0],
 				customStyle: {
 					background: '#FF5E5E'
 				}, 
+				defaultData:{
+					height:[45],
+					weight:[45],
+					
+					address:[16,6,0],
+					registered_residence:[16,6,0],
+					work_address:[16,6,0],
+					education:[1],
+					profession:[1],
+					salary_range:[1],
+					house_status:[1],
+					marriage_status:[1],
+					children_status:[1],
+					ta_age_range:[1],
+					ta_salary_range:[1],
+					ta_education:[1],
+					ta_work_address:[16,6,0]
+				},				
 				form: {
 					name: '',
 					sex: '',
@@ -314,10 +341,7 @@
 					
 				}
 			}
-
-			methods: {
-				
-			}
+ 
 
 		},
 		computed:{
@@ -333,10 +357,13 @@
 		},
 		onLoad(){
 			_self = this;
+			 
+//			console.log('省'+JSON.stringify(provinceData))
+			
 			//let personalInfoPlus = this.carhelp.getPersonInfoPlus();
 			//console.log('personalInfoPlus'+JSON.stringify(personalInfoPlus))
 			this.personal_info = this.carhelp.getPersonInfo();	
-			console.log('个人信息'+JSON.stringify(this.personal_info))
+//			console.log('个人信息'+JSON.stringify(this.personal_info))
 			let subject = {subject:''}		
 			loginApi.getBaseDictionary(subject).then(function(data){
 				//console.log('基础字典'+JSON.stringify(data));
@@ -503,7 +530,7 @@
 				this.weight_ranges.push(weight_range);
 			}
 			if(this.personal_info){
-				this.form.sex = this.personal_info.gender?'男':'女'
+				this.form.sex = this.personal_info.gender?'女':'男'
 				if(this.personal_info.height)
 				{
 					this.form.height = this.personal_info.height+'cm'
@@ -521,21 +548,29 @@
 //					console.log('获取城市成功'+JSON.stringify(data));
 					if(data.result &&  data.data){
 						setCityData(data.data);
+						_self.init_city_data();
+						
 						//_self.$refs.mpvuebirtydayCityPicker.setCityData(data.data);		
 						//console.log('province data '+JSON.stringify(provinceData))
 						if(_self.personal_info.birthplace!=null){
 							_self.personal_info.birthplaceN = getCityData(Number(_self.personal_info.birthplace));
-	//						console.log('address'+JSON.stringify(_self.form.addressId))
+							 _self.defaultData.address = getCityPosition(Number(_self.personal_info.birthplace));
+							//this.defaultData.registered_residence = this.defaultData.address;
+							//this.defaultData.work_address = this.defaultData.address;	//		
+							console.log('address'+JSON.stringify(_self.defaultData.address))
 						 }
 						 if(_self.personal_info.registeredResidence!=null){
 							 _self.personal_info.registeredResidenceN = getCityData(Number(_self.personal_info.registeredResidence));
+							 _self.defaultData.registered_residence = getCityPosition(Number(_self.personal_info.registeredResidence));
 						 } 
 						 if(_self.personal_info.workplace!=null){
 							_self.personal_info.workplaceN = getCityData(Number(_self.personal_info.workplace));
+							 _self.defaultData.work_address = getCityPosition(Number(_self.personal_info.workplace));
 													 
 						 } 
 						 if(_self.personal_info.taWorkplace!=null){
 							_self.personal_info.taWorkplaceN = getCityData(Number(_self.personal_info.taWorkplace));
+							 _self.defaultData.ta_work_address = getCityPosition(Number(_self.personal_info.taWorkplace));
 													 
 						 } 
 					} 
@@ -543,12 +578,54 @@
 				  },function(err){
 					console.log('获取城市列表错误'+JSON.stringify(err))
 				  })		
+			}else{
+				_self.init_city_data();
+				if(_self.personal_info.birthplace!=null){
+					_self.personal_info.birthplaceN = getCityData(Number(_self.personal_info.birthplace));
+					 _self.defaultData.address = getCityPosition(Number(_self.personal_info.birthplace));
+					//this.defaultData.registered_residence = this.defaultData.address;
+					//this.defaultData.work_address = this.defaultData.address;	//		
+					console.log('address'+JSON.stringify(_self.defaultData.address))
+				 }
+				 if(_self.personal_info.registeredResidence!=null){
+					 _self.personal_info.registeredResidenceN = getCityData(Number(_self.personal_info.registeredResidence));
+					 _self.defaultData.registered_residence = getCityPosition(Number(_self.personal_info.registeredResidence));
+				 } 
+				 if(_self.personal_info.workplace!=null){
+					_self.personal_info.workplaceN = getCityData(Number(_self.personal_info.workplace));
+					 _self.defaultData.work_address = getCityPosition(Number(_self.personal_info.workplace));
+											 
+				 } 
+				 if(_self.personal_info.taWorkplace!=null){
+					_self.personal_info.taWorkplaceN = getCityData(Number(_self.personal_info.taWorkplace));
+					 _self.defaultData.ta_work_address = getCityPosition(Number(_self.personal_info.taWorkplace));
+											 
+				 } 
 			}
 			
 			
 //			console.log('个人信息'+JSON.stringify(this.personal_info))
 		},
 		methods:{
+			init_city_data(){
+				for(let i = 0;i< provinceData.length;i++){
+					let province = provinceData[i];
+					if(cityData[i].length>0){
+						province.children = [];
+						for(let j = 0;j< cityData[i].length;j++){
+							let city = cityData[i][j];
+							if(areaData[i][j].length>0){
+								city.children = [];
+								for(let k = 0;k< areaData[i][j].length;k++){
+									city.children.push(areaData[i][j][k])
+								}
+							}
+							province.children.push(city);
+						}
+					}
+					this.defaultColumns.push(province);
+				}		
+			},
 			saveSelfEvaluation(){
 				this.showSelfEvaluation = false;
 				this.personal_info.selfEvaluation = this.selfEvaluation;
@@ -579,40 +656,98 @@
  				console.log('item'+JSON.stringify(this.base_dictionary.hobbyInfoList[index])) 
 			},
 			birthdayAddressChange(){
-				this.$refs.mpvuebirtydayCityPicker.show()
+				_self.show_birthday_address = true; 
+//				console.log('birthdayAddress change')
+//				this.$refs.mpvuebirtydayCityPicker.show()
 			},
 			registeredResidenceAddressChange(){
-				this.$refs.mpvueRegisteredResidenceCityPicker.show()
+				_self.show_registered_residence = true;
+//				this.$refs.mpvueRegisteredResidenceCityPicker.show()
 			},
 			workAddressChange(){
-				this.$refs.mpvueWorkCityPicker.show()
+				_self.show_work_address = true;
+//				this.$refs.mpvueWorkCityPicker.show()
 			},
 			taWorkAddressChange(){
-				this.$refs.mpvueTaWorkCityPicker.show()
+				_self.show_ta_work_address = true;
+//				this.$refs.mpvueTaWorkCityPicker.show()
 			},
 			onBirthdayCityConfirm(e) {
-				_self.personal_info.birthplaceN = e.label;
-				_self.personal_info.birthplace = e.cityCode.toString();
-				_self.personal_info.registeredResidenceN= e.label;
-				_self.personal_info.registeredResidence = e.cityCode.toString();
-				_self.personal_info.workplaceN = e.label;
-				_self.personal_info.workplace = e.cityCode.toString();
-				console.log('地址选择'+JSON.stringify(_self.form.addressId))
+//				console.log('e'+JSON.stringify(e))
+				//this.defaultData.address = [this.base_dictionary.znqkList.findIndex(item => item.value === e[0].value)]
+				//this.defaultData.address = [17,1,1]
+				let province = e[0];
+				let city = e[1];
+				let area = e[2];
+				
+				this.defaultData.address = getCityPosition(area.value);
+				this.defaultData.registered_residence = this.defaultData.address;
+				this.defaultData.work_address = this.defaultData.address;
+//				console.log('address '+JSON.stringify(this.defaultData.address))
+				this.personal_info.birthplaceN = '';
+				e.map((val, index) => {
+					// this.result += this.result == '' ? val.label : '-' + val.label;
+					let result = val.label
+					_self.personal_info.birthplace = val.value; 
+					let name = getCityData(Number(val.value));
+					_self.personal_info.birthplaceN = name;
+					
+					//						
+					_self.personal_info.registeredResidenceN= _self.personal_info.birthplaceN;
+					_self.personal_info.registeredResidence = _self.personal_info.birthplace;
+					_self.personal_info.workplaceN = _self.personal_info.birthplaceN;
+					_self.personal_info.workplace = _self.personal_info.birthplace;
+				}) 
+//				console.log('地址选择'+JSON.stringify(_self.form.addressId))
 			},
 			onResidenceRegisteredCityConfirm(e) {
-				_self.personal_info.registeredResidenceN= e.label;
-				_self.personal_info.registeredResidence = e.cityCode.toString();
-				console.log('地址选择'+JSON.stringify(_self.form.registered_residenceId))
+				let province = e[0];
+				let city = e[1];
+				let area = e[2];
+				
+				this.defaultData.registered_residence = getCityPosition(area.value);
+//				console.log('address '+JSON.stringify(this.defaultData.address))
+				this.personal_info.registeredResidenceN = '';
+				e.map((val, index) => {
+					// this.result += this.result == '' ? val.label : '-' + val.label;
+					let result = val.label 
+					let name = getCityData(Number(val.value));
+					_self.personal_info.registeredResidenceN = name;
+					_self.personal_info.registeredResidence = val.value; 
+				})  
 			},
 			onWorkCityConfirm(e) {
-				_self.personal_info.workplaceN = e.label;
-				_self.personal_info.workplace = e.cityCode.toString();
-				console.log('地址选择'+JSON.stringify(_self.form.work_addressId))
+				let province = e[0];
+				let city = e[1];
+				let area = e[2];
+				
+				this.defaultData.work_address = getCityPosition(area.value);
+//				console.log('address '+JSON.stringify(this.defaultData.address))
+				this.personal_info.workplaceN = '';
+				e.map((val, index) => {
+					// this.result += this.result == '' ? val.label : '-' + val.label;
+					let result = val.label 
+					let name = getCityData(Number(val.value));
+					_self.personal_info.workplaceN = name;
+					_self.personal_info.workplace = val.value;
+				})   
 			},
 			onTaWorkCityConfirm(e) {
-				_self.personal_info.taWorkplaceN = e.label;
-				_self.personal_info.taWorkplace = e.cityCode.toString();
-				console.log('地址选择'+JSON.stringify(_self.form.work_addressId))
+				let province = e[0];
+				let city = e[1];
+				let area = e[2];
+				
+				this.defaultData.ta_work_address = getCityPosition(area.value);
+//				console.log('address '+JSON.stringify(this.defaultData.address))
+				this.personal_info.taWorkplaceN = '';
+				e.map((val, index) => {
+					// this.result += this.result == '' ? val.label : '-' + val.label;
+					let result = val.label 
+					let name = getCityData(Number(val.value));
+					_self.personal_info.taWorkplaceN = name;
+					_self.personal_info.taWorkplace = val.value;
+				})   
+				 
 			},
 			formsubmit(){
 				let personal_info = {type:1,id:this.personal_info.id};
@@ -857,6 +992,8 @@
 			},
 			childrenConfirm(e){
 				console.log('e'+JSON.stringify(e))
+				this.defaultData.children_status = [this.base_dictionary.znqkList.findIndex(item => item.value === e[0].value)]
+				
 				this.personal_info.childStatusN = '';
 				e.map((val, index) => {
 					// this.result += this.result == '' ? val.label : '-' + val.label;
@@ -867,6 +1004,8 @@
 			},
 			marriageConfirm(e){
 				console.log('e'+JSON.stringify(e))
+				this.defaultData.marriage_status = [this.base_dictionary.hyqkList.findIndex(item => item.value === e[0].value)]
+				
 				this.personal_info.maritalStatusN = '';
 				e.map((val, index) => {
 					// this.result += this.result == '' ? val.label : '-' + val.label;
@@ -878,6 +1017,8 @@
 			},
 			houseConfirm(e){
 				console.log('e'+JSON.stringify(e))
+				this.defaultData.house_status = [this.base_dictionary.zfqkList.findIndex(item => item.value === e[0].value)]
+				
 				this.personal_info.housingSituationN = '';
 				e.map((val, index) => {
 					// this.result += this.result == '' ? val.label : '-' + val.label;
@@ -888,6 +1029,8 @@
 			},		
 			educationConfirm(e){
 				console.log('e'+JSON.stringify(e))
+				this.defaultData.education = [this.base_dictionary.xlList.findIndex(item => item.value === e[0].value)]
+				
 				this.personal_info.educationN = '';
 				e.map((val, index) => {
 					// this.result += this.result == '' ? val.label : '-' + val.label;
@@ -898,6 +1041,8 @@
 			},
 			professionConfirm(e){
 				console.log('e'+JSON.stringify(e))
+				this.defaultData.profession = [this.base_dictionary.hyList.findIndex(item => item.value === e[0].value)]
+				
 				this.personal_info.industryN = '';
 				e.map((val, index) => {
 					// this.result += this.result == '' ? val.label : '-' + val.label;
@@ -908,6 +1053,8 @@
 			},
 			salaryConfirm(e){
 				console.log('e'+JSON.stringify(e))
+				this.defaultData.salary_range = [this.base_dictionary.yxList.findIndex(item => item.value === e[0].value)]
+				
 				this.personal_info.salaryRangeN = '';
 				e.map((val, index) => {
 					// this.result += this.result == '' ? val.label : '-' + val.label;
@@ -918,6 +1065,8 @@
 			},
 			taSalaryRangeConfirm(e){
 				console.log('e111'+JSON.stringify(e))
+				this.defaultData.ta_salary_range = [this.base_dictionary.yxList.findIndex(item => item.value === e[0].value)]
+				
 				this.personal_info.taIncomeRangeN = '';
 				e.map((val, index) => {
 					// this.result += this.result == '' ? val.label : '-' + val.label;
@@ -929,6 +1078,8 @@
 			},
 			taAgeRangeConfirm(e){
 				console.log('e'+JSON.stringify(e))
+				this.defaultData.ta_age_range = [this.base_dictionary.nlfwList.findIndex(item => item.value === e[0].value)]
+				
 				this.personal_info.taAgeRangeN = '';
 				e.map((val, index) => {
 					console.log('val'+val + 'index '+index)
@@ -940,6 +1091,8 @@
 			},
 			taEducationConfirm(e){
 				console.log('e'+JSON.stringify(e))
+				this.defaultData.ta_education = [this.base_dictionary.xlList.findIndex(item => item.value === e[0].value)]
+				
 				this.personal_info.taEduN = '';
 				e.map((val, index) => {
 					console.log('val'+val + 'index '+index)
@@ -997,6 +1150,7 @@
 			},*/
 			heightConfirm(e){
 				console.log('e'+JSON.stringify(e))
+				this.defaultData.height = [this.height_ranges.findIndex(item => item.value === e[0].value)]				
 				this.form.height = '';
 				e.map((val, index) => {
 					// this.result += this.result == '' ? val.label : '-' + val.label;
@@ -1007,6 +1161,7 @@
 			},
 			weightConfirm(e){
 				console.log('e'+JSON.stringify(e))
+				this.defaultData.weight = [this.weight_ranges.findIndex(item => item.value === e[0].value)]				
 				this.form.weight = '';
 				e.map((val, index) => {
 					// this.result += this.result == '' ? val.label : '-' + val.label;

+ 2 - 2
pages/user/index.vue

@@ -202,7 +202,7 @@
 				}).then((response) => {
 					console.log('findByOpenId')
 					let [error, res] = response;
-					console.log('res'+JSON.stringify(res))
+//					console.log('res'+JSON.stringify(res))
 					if (res.data.code == 200 && res.data.result) {									 
 						var token = res ? res.data.data.token : '';			
 						
@@ -220,7 +220,7 @@
 			},
 			preparedPersonalData(){
 				let personalInfo = this.carhelp.getPersonInfo();
-				console.log('个人信息'+JSON.stringify(personalInfo));
+//				console.log('个人信息'+JSON.stringify(personalInfo));
 				this.personalInfo = personalInfo;
 				if(this.personalInfo.phone != null)
 				{

+ 1 - 1
pages/user/personal.vue

@@ -143,7 +143,7 @@
 <script>
 	let _self;
 	import * as loginApi from '@/apis/login.js'
-	import {provinceData,setCityData,getCityData,getAeraData} from '../../pagesB/components/mpvue-citypicker/city-data/province.js';
+	import {provinceData,setCityData,getCityData,getAeraData} from '@/apis/city.js';
 	export default {
 		data() {
 			return {

+ 0 - 233
pagesB/components/mpvue-citypicker/city-data/province.js

@@ -1,233 +0,0 @@
-/* eslint-disable */
-export var cityData =[] 
-export var areaData =[]
-export var provinceData = []
-export var cityInfoList = []
-
-function appendProvinceData(province){
-	let index = findProvinceDataById(province.id);
-	if(index == -1)
-	{
-		province.value = province.id;
-		province.label = province.name;
-		province.index = provinceData.length;				
-		provinceData.push(province);
-		cityData.push([])
-		areaData.push([])
-	}
-}
-function appendCityData(city,province){
-	/*let parentIndex = findProvinceDataById(city.parentId);
-	if(parentIndex<0)
-	{
-		console.log('未初始化城市数组');
-		return;
-	}*/
-	//console.log('city '+JSON.stringify(cityData))
-	let parentIndex = province.index;
-	let index = findCityDataById(parentIndex,city.id);			
-	city.value = city.id;
-	city.label = city.name;
-	if(parentIndex>=cityData.length)
-	{
-		console.log('未初始化城市数组');
-		return;
-	}
-	if(index>=0)
-		return;
-	 
-		
-	city.index = cityData[parentIndex].length;
-	//console.log('length '+ cityData[parentIndex].length);
-	cityData[parentIndex].push(city);
-	areaData[parentIndex].push([]);
-	//if(cityData[parentIndex].length>10)
-	//	return;
-	//console.log('parentIndex '+parentIndex + JSON.stringify(cityData[parentIndex]))
-}
-function appendAreaData(area,province){
-	
-	let provinceIndex = province.index;
-	//let provinceIndex = findProvinceDataById(province.id);
-	let parentIndex = findCityDataById(provinceIndex,area.parentId);
-	if(parentIndex<0)
-	{		
-		console.log('未初始化城市数组' + JSON.stringify(province) + JSON.stringify(area));
-		return;
-	} 
-	let index = findAreaDataById(provinceIndex,parentIndex,area);			
-	area.value = area.id;
-	area.label = area.name;
-	if(parentIndex>=areaData.length)
-	{
-		console.log('未初始化城市数组');
-		return;
-	}
-	if(index>=0)
-		return;
-		
-	area.index = areaData[parentIndex].length;
-	areaData[provinceIndex][parentIndex].push(area);
-}
-function findProvinceDataById(id){
-	for(let i = 0;i< provinceData.length;i++){
-		if(provinceData[i].id == id)
-		{
-			return i;
-		}
-	}
-	//console.log('not find '+id)
-	return -1;
-}
-function findCityDataById(index,id){
-	if(index >= cityData.length)
-		return -1;
-	for(let i = 0;i< cityData[index].length;i++){
-		if(cityData[index][i].id == id)
-		{
-			return i;
-		}
-	}
-	//console.log('not find city' + id +JSON.stringify(cityData[index]))
-	return -2;
-}
-function findAreaDataById(parentIndex,index,id){
-	if(parentIndex >= areaData.length)
-		return -1;
-	if(index >= areaData[parentIndex].length)
-		return -2;
-		
-	for(let i = 0;i< areaData[parentIndex][index].length;i++){
-		if(areaData[parentIndex][index][i].id == id)
-		{
-			return i;
-		}
-	}
-	return -3;
-}
-function findProvinceData(province){
-	for(let i = 0;i< provinceData.length;i++){
-		if(provinceData[i].name == province.name)
-		{
-			return i;
-		}
-	}
-	return -1;
-}
-function findCityData(city){
-	let index = {provinceIndex:-1,cityIndex:-1};
-	for(let i = 0;i < cityData.length;i++)
-	{
-		if(cityData[i]){
-			for(let j=0;j< cityData[i].length;j++)
-			{
-				if(cityData[i].parentId != city.parentId)
-					break;
-				
-				index.provinceIndex = i;
-				if(cityData[i].name == city.name)
-				{
-					index.cityIndex = j;
-					return index;
-				}
-			}
-		}
-	}
-	return index;
-}
-function findAreaData(area){
-	let index = {cityIndex:-1,areaIndex:-1};
-	for(let i = 0;i < areaData.length;i++)
-	{
-		if(areaData[i]){
-			for(let j=0;j< areaData[i].length;j++)
-			{
-				if(areaData[i].parentId != area.parentId)
-					break;
-				
-				index.cityIndex = i;
-				if(areaData[i].name == area.name)
-				{
-					index.areaIndex = j;
-					return index;
-				}
-			}
-		}
-	}
-	return index;
-}
-
-export function getCityPosition(id){
-	let area = cityInfoList[id-1];
-	if(area == null)
-		return [0,0,0]
-	let city = cityInfoList[area.parentId-1];
-	if(city == null)
-		return [0,0,0]
-	let province = cityInfoList[city.parentId-1];
-	if(province == null)
-		return [0,0,0]
-	let pos =[0,0,0];
-	pos[0] = findProvinceDataById(province.id);
-	return pos
- 	//return province.name +'-'+city.name +'-'+area.name;	
-}
-export function getAeraData(id){
-	let area = cityInfoList[id-1];
-	if(area == null)
-		return ''
-	 console.log('获取区域'+JSON.stringify(area))
- 	return area.name;
-}
-export function getCityData(id){
-	let area = cityInfoList[id-1];
-	if(area == null)
-		return ''
-	let city = cityInfoList[area.parentId-1];
-	if(city == null)
-		return area.name;
-	let province = cityInfoList[city.parentId-1];
-	if(province == null)
-		return ''
- 	return province.name +'-'+city.name +'-'+area.name;
-}
-
-export function setCityData(cityList){
-//	console.log('设置城市'+JSON.stringify(cityList))
-	cityInfoList = cityList
-	
-	provinceData  = [];
-	cityData = [];
-	areaData = [];
-	for(let i = 0;i<cityList.length;i++){
-		if(cityList[i].type == 1){					 
-			appendProvinceData(cityList[i]);
-		} 
-	} 
-	//console.log('省份'+JSON.stringify(provinceData))
-	//cityData = new Array(provinceData.length).fill(new Array());
-	//console.log('省份'+JSON.stringify(cityData))
-	//return;
-	
-	for(let i = 0;i<cityList.length;i++){
-		 if(cityList[i].type == 2){
-			let province= cityList[cityList[i].parentId-1];
-			//console.log('省'+JSON.stringify(province)+'市'+JSON.stringify(cityList[i]))
-			appendCityData(cityList[i],province);
-			//appendCityData(cityList[i],province);
-		} 
-	} 
-	//console.log('城市'+JSON.stringify(cityData))
-	//return;
-	//areaData = new Array(cityData.length).fill([]);
-	for(let i = 0;i<cityList.length;i++){
-		 if(cityList[i].type == 3){
-			let city= cityList[cityList[i].parentId-1];
-			let province = cityList[city.parentId-1];
-			appendAreaData(cityList[i],province);
-		}
-	}
-	//console.log('区'+JSON.stringify(areaData))
-}
-
-//export default {provinceData,setCityData};

+ 0 - 299
pagesB/components/mpvue-citypicker/mpvueCityPicker.vue

@@ -1,299 +0,0 @@
-<template>
-  <div class="mpvue-picker">
-    <div :class="{'pickerMask':showPicker}" @click="maskClick" catchtouchmove="true"></div>
-    <div class="mpvue-picker-content " :class="{'mpvue-picker-view-show':showPicker}">
-      <div class="mpvue-picker__hd" catchtouchmove="true">
-        <div class="mpvue-picker__action" @click="pickerCancel">取消</div>
-        <div class="mpvue-picker__action" :style="{color:themeColor}" @click="pickerConfirm">确定</div>
-      </div>
-      <picker-view indicator-style="height: 40px;" class="mpvue-picker-view" :value="pickerValue" @change="pickerChange">
-        <block>
-          <picker-view-column>
-            <div class="picker-item" v-for="(item,index) in provinceDataList" :key="index">{{item.label}}</div>
-          </picker-view-column>
-          <picker-view-column>
-            <div class="picker-item" v-for="(item,index) in cityDataList" :key="index">{{item.label}}</div>
-          </picker-view-column>
-          <picker-view-column>
-            <div class="picker-item" v-for="(item,index) in areaDataList" :key="index">{{item.label}}</div>
-          </picker-view-column>
-        </block>
-      </picker-view>
-    </div>
-  </div>
-</template>
-
-<script>
-import {provinceData,cityData,areaData,cityInfoList,setCityData} from './city-data/province.js';
-import * as loginApi from '@/apis/login.js'
-//import cityData from './city-data/city.js';
-//import areaData from './city-data/area.js';
-//let provinceData =[];
-//let cityData = [];
-//let areaData = [];
-let _self ;
-export default {
-	 
-  data() {
-    return {
-      pickerValue: [16,6,0],
-      provinceDataList: [],
-      cityDataList: [],
-      areaDataList: [],
-	   
-			/* 是否显示控件 */
-			showPicker: false,
-    };
-  },
-  created() {
-	  _self = this;
-	  if(provinceData.length<=0){
-		  loginApi.getCityList().then(function(data){
-//		  	console.log('获取城市成功'+JSON.stringify(data));
-		  	if(data.result &&  data.data){
-		  		setCityData(data.data);
-		  		//_self.$refs.mpvuebirtydayCityPicker.setCityData(data.data);		
-		  		//console.log('province data '+JSON.stringify(provinceData))
-		  	}
-			_self.init()
-			
-		  },function(err){
-		  	console.log('获取城市列表错误'+JSON.stringify(err))
-		  })		
-	  }else
-	  {
-		this.init()
-		  
-	  }
-	//console.log('mpvueCityPicker created')
-  },
-  props: {
-	 
-	AreaListDefault:{
-		type: Array,
-		default(){
-			return []
-		}
-	},
-    /* 默认值 */
-    pickerValueDefault: {
-      type: Array,
-      default(){
-				return [16, 6, 0]
-			}
-    },
-    /* 主题色 */
-    themeColor: String
-  },
-	watch:{
-		pickerValueDefault(){
-			this.init();
-		}
-	},
-  methods: {
-	       
-		init() {
-			//console.log('省'+JSON.stringify(provinceData));
-			//console.log('市'+JSON.stringify(cityData));
-			//console.log('区'+JSON.stringify(areaData));
-			
-			console.log('mpvueCityPicker init'+JSON.stringify(this.pickerValueDefault))
-			if(this.pickerValueDefault.length == 0)
-				this.pickerValueDefault  = [16,6,0];
-			this.handPickValueDefault(); // 对 pickerValueDefault 做兼容处理
-			this.provinceDataList = provinceData;
-			//console.log('provinces'+JSON.stringify(this.provinceDataList))
-			//console.log('省'+JSON.stringify(this.pickerValueDefault))
-			this.cityDataList = cityData[this.pickerValueDefault[0]];
-			this.areaDataList = areaData[this.pickerValueDefault[0]][this.pickerValueDefault[1]];
-			//console.log('citys'+JSON.stringify(this.cityDataList))
-			//console.log('area'+JSON.stringify(this.areaDataList))
-			this.pickerValue = this.pickerValueDefault;
-		},
-		getProvinceDataListLength(){
-			return this.provinceDataList.length;
-		},
-		getCityDataListLength(){
-			return this.cityDataList.length;
-		},
-		getAreaDataListLength(){
-			return this.areaDataList.length;
-		},
-		
-    show() {
-      setTimeout(() => {
-        this.showPicker = true;
-      }, 0);
-    },
-    maskClick() {
-      this.pickerCancel();
-    },
-    pickerCancel() {
-      this.showPicker = false;
-      this._$emit('onCancel');
-    },
-    pickerConfirm(e) {
-      this.showPicker = false;
-      this._$emit('onConfirm');
-    },
-    showPickerView() {
-      this.showPicker = true;
-    },
-    handPickValueDefault() {
-	
-      //console.log('mpvueCityPicker handPickValueDefault')
-	  console.log('默认树'+JSON.stringify(this.pickerValueDefault))
-	  console.log('省'+JSON.stringify(this.pickerValue))
-	  
-      if (this.pickerValueDefault !== [0, 0, 0]) {
-        if (this.pickerValueDefault[0] > provinceData.length - 1) {
-          this.pickerValueDefault[0] = provinceData.length - 1;
-		  
-		  console.log('省索引'+JSON.stringify(this.pickerValueDefault[0]))
-        }
-//		console.log('handPickValueDefault 1'+JSON.stringify(cityData));
-//		console.log('pickerValueDefault[1]' +JSON.stringify(this.pickerValueDefault));
-		if(this.pickerValueDefault.length>1)
-		{
-			if (this.pickerValueDefault[1] > cityData[this.pickerValueDefault[0]].length - 1) {
-			  this.pickerValueDefault[1] = cityData[this.pickerValueDefault[0]].length - 1;
-			  console.log('市索引'+JSON.stringify(this.pickerValueDefault[1]))
-			}
-		}
-		//console.log('cityData[this.pickerValueDefault[0]].length' +JSON.stringify(cityData[this.pickerValueDefault[0]].length));
-		
-		//console.log('handPickValueDefault 2');
-		if(this.pickerValueDefault.length>2)
-		{
-			if (this.pickerValueDefault[2] > areaData[this.pickerValueDefault[0]][this.pickerValueDefault[1]].length - 1) {
-			  this.pickerValueDefault[2] = areaData[this.pickerValueDefault[0]][this.pickerValueDefault[1]].length - 1;
- 			   console.log('区索引'+JSON.stringify(this.pickerValueDefault[2]))
-			}
-		}
-		//console.log('handPickValueDefault 3');
-      }
-    },
-    pickerChange(e) {
-      let changePickerValue = e.mp.detail.value;
-      if (this.pickerValue[0] !== changePickerValue[0]) {
-        // 第一级发生滚动
-        this.cityDataList = cityData[changePickerValue[0]];
-        this.areaDataList = areaData[changePickerValue[0]][0];
-		
-        changePickerValue[1] = 0;
-        changePickerValue[2] = 0;
-      } else if (this.pickerValue[1] !== changePickerValue[1]) {
-        // 第二级滚动
-        this.areaDataList =
-          areaData[changePickerValue[0]][changePickerValue[1]];
-        changePickerValue[2] = 0;
-      }
-      this.pickerValue = changePickerValue;
-      this._$emit('onChange');
-    },
-    _$emit(emitName) {
-      let pickObj = {
-        label: this._getLabel(),
-        value: this.pickerValue,
-        cityCode: this._getCityCode()
-      };
-      this.$emit(emitName, pickObj);
-    },
-    _getLabel() {
-		if(this.pickerValue[0]>=this.provinceDataList.length)
-			return;
-		if(this.pickerValue[1]>=this.cityDataList.length)
-			return;
-		if(this.pickerValue[2]>=this.areaDataList.length)
-			return;
-      let pcikerLabel =
-        this.provinceDataList[this.pickerValue[0]].label +
-        '-' +
-        this.cityDataList[this.pickerValue[1]].label +
-        '-' +
-        this.areaDataList[this.pickerValue[2]].label;
-      return pcikerLabel;
-    },
-    _getCityCode() {
-	if(this.pickerValue[0]>=this.provinceDataList.length)
-		return;
-	if(this.pickerValue[1]>=this.cityDataList.length)
-		return;
-	if(this.pickerValue[2]>=this.areaDataList.length)
-		return;
-      return this.areaDataList[this.pickerValue[2]].value;
-    }
-  }
-};
-</script>
-
-<style>
-.pickerMask {
-  position: fixed;
-  z-index: 1000;
-  top: 0;
-  right: 0;
-  left: 0;
-  bottom: 0;
-  background: rgba(0, 0, 0, 0.6);
-}
-.mpvue-picker-content {
-  position: fixed;
-  bottom: 0;
-  left: 0;
-  width: 100%;
-  transition: all 0.3s ease;
-  transform: translateY(100%);
-  z-index: 3000;
-}
-.mpvue-picker-view-show {
-  transform: translateY(0);
-}
-.mpvue-picker__hd {
-  display: flex;
-  padding: 9px 15px;
-  background-color: #fff;
-  position: relative;
-  text-align: center;
-  font-size: 17px;
-}
-.mpvue-picker__hd:after {
-  content: ' ';
-  position: absolute;
-  left: 0;
-  bottom: 0;
-  right: 0;
-  height: 1px;
-  border-bottom: 1px solid #e5e5e5;
-  color: #e5e5e5;
-  transform-origin: 0 100%;
-  transform: scaleY(0.5);
-}
-.mpvue-picker__action {
-  display: block;
-  flex: 1;
-  color: #1aad19;
-}
-.mpvue-picker__action:first-child {
-  text-align: left;
-  color: #888;
-}
-.mpvue-picker__action:last-child {
-  text-align: right;
-}
-.picker-item {
-  text-align: center;
-  line-height: 40px;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-  font-size: 16px;
-}
-.mpvue-picker-view {
-  position: relative;
-  bottom: 0;
-  left: 0;
-  width: 100%;
-  height: 238px;
-  background-color: rgba(255, 255, 255, 1);
-}
-</style>

+ 0 - 281
pagesB/components/mpvue-datepicker/mpvue-datepicker.vue

@@ -1,281 +0,0 @@
-<template>
-  <div class="mpvue-picker">
-    <div :class="{'pickerMask':showPicker}" @click="maskClick" catchtouchmove="true"></div>
-    <div class="mpvue-picker-content " :class="{'mpvue-picker-view-show':showPicker}">
-      <div class="mpvue-picker__hd" catchtouchmove="true">
-        <div class="mpvue-picker__action" @click="pickerCancel">取消</div>
-        <div class="mpvue-picker__action" :style="{color:themeColor}" @click="pickerConfirm">确定</div>
-      </div>
-      <picker-view indicator-style="height: 40px;" class="mpvue-picker-view" :value="pickerValue" @change="pickerChange">
-        <block>
-			<picker-view-column>
-			    <view class="picker-item" v-for="(item,index) in years" :key="index">{{item.label}}年</view>
-			</picker-view-column>
-			<picker-view-column>
-			    <view class="picker-item" v-for="(item,index) in months" :key="index">{{item.label}}月</view>
-			</picker-view-column>
-			<picker-view-column>
-			    <view class="picker-item" v-for="(item,index) in days" :key="index">{{item.label}}日</view>
-			</picker-view-column>
-        </block>
-      </picker-view>
-    </div>
-  </div>
-</template>
-
-<script>
-//import provinceData from './city-data/province.js';
-//import cityData from './city-data/city.js';
-//import areaData from './city-data/area.js';
-
-var addMonth=function(date, months) {
-	let y = date.getFullYear();
-	let m = date.getMonth();
-	var d = date.getDate();
-
-//		console.log('add month y' + y + ' m:' + m + ' d: ' + d + ' month: ' + months);
-	y += Math.floor((m + 1 + months) / 12); //计算年
-	m = Math.floor((m + 1 + months) % 12) - 1; //计算月
-	let _date = new Date(y,m,d);
-//		console.log('result y:' + y + ' m: ' + m + '_date:' + _date);
-	return _date;
-};
-var addDay=function(date, days) {
-	var _date = new Date(date.getTime() + 24*60*60*1000*days) 
-	return _date;
-};
-export default {
-  data() {
-	  const date = new Date()
-	  const years = []
-	  const year = date.getFullYear()
-	  const months = []
-	  const month = date.getMonth() + 1
-	  const days = []
-	  const day = date.getDate()
-	  
-	  let index = 0;
-	  for (let i = 1990; i <= date.getFullYear(); i++) {
-		  let data = { value: index++,label:i};
-	      years.push(data)
-	  }
-	  index = 0;
-	  for (let i = 1; i <= 12; i++) {
-		  let data = { value: index++,label:i};
-	      months.push(data)
-	  }
-	  index = 0;
-	  for (let i = 1; i <= 31; i++) {
-		  let data = { value: index++,label:i};
-	      days.push(data)
-	  }
-    return { 
-      pickerValue: [0, 0, 0],
-		 years,
-		 year,
-		 months,
-		 month,
-		 days,
-		 day,
-		/* 是否显示控件 */
-		showPicker: false,
-    };
-  },
-  created() {
-//	console.log('mpvueCityPicker created')
-	 
-    this.init()
-  },
-  props: {
-    /* 默认值 */
-    pickerValueDefault: {
-      type: Array,
-      default(){
-				return [0, 0 , 0]
-			}
-    },
-    /* 主题色 */
-    themeColor: String
-  },
-	watch:{
-		pickerValueDefault(){
-			this.init();
-		}
-	},
-  methods: {
-		init() {
-//			console.log('mpvueCityPicker init')
-			if(this.pickerValueDefault.length == 0)
-				this.pickerValueDefault  = [0,0, 0];
-			 
-			//console.log('ageDownLimit'+JSON.stringify(this.ageDownLimitDataList))
-			//console.log('ageUpLimit'+JSON.stringify(this.ageUpLimitDataList))
-			//this.handPickValueDefault(); // 对 pickerValueDefault 做兼容处理
-			
-			 
-			this.pickerValue = this.pickerValueDefault;
-		},
-    show() {
-      setTimeout(() => {
-        this.showPicker = true;
-      }, 0);
-    },
-    maskClick() {
-      this.pickerCancel();
-    },
-    pickerCancel() {
-      this.showPicker = false;
-      this._$emit('onCancel');
-    },
-    pickerConfirm(e) {
-      this.showPicker = false;
-      this._$emit('onConfirm');
-    },
-    showPickerView() {
-      this.showPicker = true;
-    },
-    handPickValueDefault() {
-	
-      //console.log('mpvueCityPicker handPickValueDefault')
-	  console.log('默认树'+JSON.stringify(this.pickerValueDefault))
-	  //console.log('省'+JSON.stringify(this.pickerValueDefault))
-	  	  
-       
-        if (this.pickerValueDefault[0] > this.years.length - 1) {
-          this.pickerValueDefault[0] = this.years.length - 1;
-		   
-        } 	
-		if (this.pickerValueDefault[1] > this.months.length - 1) {
-		  this.pickerValueDefault[1] = this.months.length - 1;
-		   
-		} 
-		if (this.pickerValueDefault[2] > this.days.length - 1) {
-		  this.pickerValueDefault[2] = this.days.length - 1;		   
-		} 
-    },
-    pickerChange(e) {
-      let changePickerValue = e.mp.detail.value;
-      if (this.pickerValue[0] !== changePickerValue[0]) {
-        // 第一级发生滚动   
-		 
-		//this.cityDataList = cityData[changePickerValue[0]];
-        //this.areaDataList = areaData[changePickerValue[0]][0];
-        changePickerValue[1] = 0; 
-		console.log('第一级滚动')
-        console.log('date'+JSON.stringify(this.years[changePickerValue[0]]) +'-'+JSON.stringify(this.months[changePickerValue[1]]))
-      } 
-	  else if (this.pickerValue[1] !== changePickerValue[1]) {
-        // 第二级滚动
-		console.log('第二级滚动')
-		let year = this.years[changePickerValue[0]].label;
-		let month = this.months[changePickerValue[1]].label; 
-        console.log('date'+JSON.stringify(this.years[changePickerValue[0]]) +'-'+JSON.stringify(this.months[changePickerValue[1]]))
-		let date = new Date(year,month-1,1);
-		let nextMonth = addMonth(date,1);
-		let currentMonth = addDay(nextMonth,-1);
-		
-		console.log('下月日期'+JSON.stringify(nextMonth))
-		console.log('当前日期'+JSON.stringify(currentMonth))
-		const day = currentMonth.getDate()
-		console.log('day'+JSON.stringify(day))
-		let index = 0;
-		this.days =[];
-		for (let i = 1; i <= day; i++) {
-				  let data = { value: index++,label:i};
-		    this.days.push(data)
-		}
-        changePickerValue[2] = 0;
-      } 
-      this.pickerValue = changePickerValue;
-      this._$emit('onChange');
-    },
-    _$emit(emitName) {
-      let pickObj = {
-        label: this._getLabel(),
-        value: this.pickerValue
-      };
-      this.$emit(emitName, pickObj);
-    },
-    _getLabel() {
-      let pcikerLabel = 
-        this.years[this.pickerValue[0]].label +
-        '-' +
-        this.months[this.pickerValue[1]].label+
-		'-'+
-		this.days[this.pickerValue[2]].label;
-      return pcikerLabel;
-    } 
-  }
-};
-</script>
-
-<style>
-.pickerMask {
-  position: fixed;
-  z-index: 1000;
-  top: 0;
-  right: 0;
-  left: 0;
-  bottom: 0;
-  background: rgba(0, 0, 0, 0.6);
-}
-.mpvue-picker-content {
-  position: fixed;
-  bottom: 0;
-  left: 0;
-  width: 100%;
-  transition: all 0.3s ease;
-  transform: translateY(100%);
-  z-index: 3000;
-}
-.mpvue-picker-view-show {
-  transform: translateY(0);
-}
-.mpvue-picker__hd {
-  display: flex;
-  padding: 9px 15px;
-  background-color: #fff;
-  position: relative;
-  text-align: center;
-  font-size: 17px;
-}
-.mpvue-picker__hd:after {
-  content: ' ';
-  position: absolute;
-  left: 0;
-  bottom: 0;
-  right: 0;
-  height: 1px;
-  border-bottom: 1px solid #e5e5e5;
-  color: #e5e5e5;
-  transform-origin: 0 100%;
-  transform: scaleY(0.5);
-}
-.mpvue-picker__action {
-  display: block;
-  flex: 1;
-  color: #1aad19;
-}
-.mpvue-picker__action:first-child {
-  text-align: left;
-  color: #888;
-}
-.mpvue-picker__action:last-child {
-  text-align: right;
-}
-.picker-item {
-  text-align: center;
-  line-height: 40px;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-  font-size: 16px;
-}
-.mpvue-picker-view {
-  position: relative;
-  bottom: 0;
-  left: 0;
-  width: 100%;
-  height: 238px;
-  background-color: rgba(255, 255, 255, 1);
-}
-</style>

+ 45 - 25
pagesB/pages/login/step1.vue

@@ -39,14 +39,14 @@
 					</view>
 					<view class="jpLogin-input">
 						<u-form-item :required="true">
-							<u-input v-model="form.height" type="select" placeholder="请选择身高" @click="show_height = true"/>
-							<u-select v-model="show_height"   :default_value="defaultvalue" mode="single-column" :list="height_ranges_by_names" @confirm="heightConfirm"></u-select>							
+							<u-input v-model="form.height" type="select" placeholder="请选择身高" @click="selectheight()"/>
+							<u-select v-model="show_height"   :defaultValue="defaultData.height" mode="single-column" :list="height_ranges_by_names" @confirm="heightConfirm"></u-select>							
 						</u-form-item>
 					</view>
 					<view class="jpLogin-input">
 						<u-form-item>
 							<u-input v-model="form.weight" type="select" placeholder="请选择填写体重" @click="show_weight = true"/>
-							<u-select v-model="show_weight" mode="single-column" :list="weight_ranges_by_names" @confirm="weightConfirm"></u-select>							
+							<u-select v-model="show_weight" :defaultValue="defaultData.weight"  mode="single-column" :list="weight_ranges_by_names" @confirm="weightConfirm"></u-select>							
 						</u-form-item>
 					</view>
 				</u-form>
@@ -57,14 +57,14 @@
 			</view>
 		</view>
 		<!--:pickerValueDefault="agePickerValueDefault"-->
- 		<mpvue-date-picker  themeColor="#007AFF" ref="mpvueDatePicker"  @onConfirm="onDateConfirm"></mpvue-date-picker>
+<!-- 		<mpvue-date-picker  themeColor="#007AFF" ref="mpvueDatePicker"  @onConfirm="onDateConfirm"></mpvue-date-picker>-->
 		 
 	</view>
 </template>
 
 <script>
 	import { mapState } from 'vuex'
-	import {provinceData,setCityData} from '../../components/mpvue-citypicker/city-data/province.js';
+	import {provinceData,setCityData} from '@/apis/city.js';
  	let _self;
 	/**
 	 * 获取任意时间
@@ -92,16 +92,17 @@
 		}
 	}
 	import * as loginApi from '@/apis/login.js'
-	import mpvueDatePicker from "../../components/mpvue-datepicker/mpvue-datepicker.vue" 
+//	import mpvueDatePicker from "../../components/mpvue-datepicker/mpvue-datepicker.vue" 
+	 
 	export default {
-		components:{ 
+	/*	components:{ 
 			mpvueDatePicker   
-		},
+		},*/
 		data() {
 			return { 
-				default:{
-					height:[10],
-					weight:[3]
+				defaultData:{
+					height:[45],
+					weight:[45]
 				},
 				personal_info:{},
 				form: {
@@ -133,20 +134,31 @@
 				} 
 			}
 		},		
-		computed:{
-		 defaultvalue(){
-//		 	console.log('heighs'+JSON.stringify(this.height_ranges_by_names))
+		
+		/*computed:{
+		 defaultHeihgt(){
+		 	console.log('heighs'+JSON.stringify(this.height_ranges_by_names))
 			for(var i in this.height_ranges_by_names){
 		 			
 		 		if(this.height_ranges_by_names[i].value==this.form.height_val){
-//		 			console.log('default'+JSON.stringify([i]))
+		 			console.log('default'+JSON.stringify([i]))
 		 			return [i]
 		 		}
-		 	}
-			
-		 	return [0]
+		 	}			
+		 	return [45]
+		 },
+		 defaultWeihgt(){
+		 	console.log('heighs'+JSON.stringify(this.weight_ranges_by_names))
+		 			for(var i in this.weight_ranges_by_names){
+		 			
+		 		if(this.weight_ranges_by_names[i].value==this.form.weight_val){
+		 			console.log('default'+JSON.stringify([i]))
+		 			return [i]
+		 		}
+		 	}			
+		 	return [45]
 		 }
-	   },
+	   },*/
 		onReady() {
 			
 			this.$nextTick(() => {
@@ -176,9 +188,9 @@
 					console.log('个人信息'+JSON.stringify(personal_info))
 					if(personal_info.gender!=null){
 						if(personal_info.gender)
-							_self.form.sex = "male";
-						else
 							_self.form.sex = "female";
+						else
+							_self.form.sex = "male";
 					}
 					if(personal_info.idCard!=null){
 						 let idCard = personal_info.idCard;
@@ -228,7 +240,13 @@
 			
  			
 		},
-		methods: { 
+		methods: { 
+			async selectheight(status) {
+				this.show_height = true;
+			},
+			async selectweight(status) {
+				this.show_weight = true;
+			},
 			changeSex(sex){
 				this.form.sex = sex;
 			},
@@ -249,7 +267,8 @@
 			},
 			heightConfirm(e){
 				console.log('e'+JSON.stringify(e))
-				//this.dafautValue = [this.height_ranges_by_names.findIndex(item => item.value === e[0].value)] || [0]
+				this.defaultData.height = [this.height_ranges_by_names.findIndex(item => item.value === e[0].value)] 
+				//console.log('default xx '+JSON.stringify(this.defaultvalue))
 				this.form.height = '';
 				e.map((val, index) => {
 					// this.result += this.result == '' ? val.label : '-' + val.label;
@@ -259,7 +278,8 @@
 				}) 
 			},
 			weightConfirm(e){
-				console.log('e'+JSON.stringify(e))
+				console.log('e'+JSON.stringify(e))
+				this.defaultData.weight = [this.weight_ranges_by_names.findIndex(item => item.value === e[0].value)]				
 				this.form.weight = '';
 				e.map((val, index) => {
 					// this.result += this.result == '' ? val.label : '-' + val.label;
@@ -296,7 +316,7 @@
 				if(_self.form.sex && _self.form.sex.length>0)
 				{
 					
-					_self.personal_info.gender = _self.form.sex=="male" ;
+					_self.personal_info.gender = _self.form.sex=="female" ;
 					
 				}else
 				{

+ 221 - 75
pagesB/pages/login/step2.vue

@@ -11,50 +11,57 @@
 				<u-form :model="form" ref="uForm">
 					<view class="jpLogin-input">
 						<u-form-item :required="true">
-							<u-input v-model="form.address" type="select" placeholder="我的出生地" @click="birthdayAddressChange" />
+							<u-input v-model="form.address" type="select" placeholder="我的出生地" @click="birthdayAddressChange" />
+							<u-select v-model="show_birthday_address" mode="mutil-column-auto" :default-value='defaultData.address' :list="defaultColumns" @confirm="onBirthdayCityConfirm"></u-select>							
 						</u-form-item> 							
 					</view> 
 					<view class="jpLogin-input">
-						<u-form-item :required="true"><u-input v-model="form.registered_residence" type="select" placeholder="我的的户口所在地" @click="registeredResidenceAddressChange"  /></u-form-item>
+						<u-form-item :required="true">
+							<u-input v-model="form.registered_residence" type="select" placeholder="我的的户口所在地" @click="registeredResidenceAddressChange"  />
+							<u-select v-model="show_registered_residence" mode="mutil-column-auto" :default-value='defaultData.registered_residence' :list="defaultColumns" @confirm="onResidenceRegisteredCityConfirm"></u-select>
+						</u-form-item>
 <!--						<u-select v-model="show_registered_residence" mode="single-column" :list="area_ranges_by_names" @confirm="registeredResidenceConfirm"></u-select>						-->
 					</view>
 					<view class="jpLogin-input">
-						<u-form-item :required="true"><u-input v-model="form.work_address" type="select" placeholder="我的工作所在地" @click="workAddressChange" /></u-form-item>
+						<u-form-item :required="true">
+							<u-input v-model="form.work_address" type="select" placeholder="我的工作所在地" @click="workAddressChange" /></u-form-item>
+							<u-select v-model="show_work_address" mode="mutil-column-auto" :default-value='defaultData.work_address' :list="defaultColumns" @confirm="onWorkCityConfirm"></u-select>
 <!--						<u-select v-model="show_work_address" mode="single-column" :list="area_ranges_by_names" @confirm="workAddressConfirm"></u-select>-->
 					
 					</view>
 					
 					<view class="jpLogin-input" style="margin-top: 38px;">
 						<u-form-item :required="true"><u-input v-model="form.education" type="select" placeholder="我的学历" @click="show_education = true"/></u-form-item>
-						<u-select v-model="show_education" mode="single-column" :list="education_ranges_by_names" @confirm="educationConfirm"></u-select>						
+						<u-select v-model="show_education"  :defaultValue='defaultData.education' mode="single-column" :list="education_ranges_by_names" @confirm="educationConfirm"></u-select>						
 					</view>
 					<view class="jpLogin-input">
 						<u-form-item :required="true"><u-input v-model="form.profession" type="select" placeholder="我的行业" @click="show_profession = true"/></u-form-item>
-						<u-select v-model="show_profession" mode="single-column" :list="profession_ranges_by_names" @confirm="professionConfirm"></u-select>						
+						<u-select v-model="show_profession" :defaultValue='defaultData.profession' mode="single-column" :list="profession_ranges_by_names" @confirm="professionConfirm"></u-select>						
 					</view>
 					<view class="jpLogin-input">
 						<u-form-item :required="true"><u-input v-model="form.work_corporation" placeholder="我的工作单位"/></u-form-item>
-						<u-icon custom-prefix="custom-icon" name="information-line" class="jpLogin-warn"></u-icon>
+						<u-icon custom-prefix="custom-icon"  name="information-line" class="jpLogin-warn"></u-icon>
 					</view>
 					<view class="jpLogin-input">
-						<u-form-item :required="true"><u-input v-model="form.work_post" placeholder="我的岗位"/></u-form-item>
+						<u-form-item :required="true">
+							<u-input v-model="form.work_post" placeholder="我的岗位"/></u-form-item>
 					</view>
 					
 					<view class="jpLogin-input" style="margin-top: 38px;">
 						<u-form-item><u-input v-model="form.salary_range" type="select" placeholder="我的月薪范围" @click="show_salary = true"/></u-form-item>
-						<u-select v-model="show_salary" mode="single-column" :list="salary_ranges_by_names" @confirm="salaryConfirm"></u-select>						
+						<u-select v-model="show_salary" :defaultValue='defaultData.salary_range' mode="single-column" :list="salary_ranges_by_names" @confirm="salaryConfirm"></u-select>						
 					</view>
 					<view class="jpLogin-input">
 						<u-form-item><u-input v-model="form.house_status" type="select" placeholder="我的住房情况" @click="show_house = true"/></u-form-item>
-						<u-select v-model="show_house" mode="single-column" :list="house_statuses_by_names" @confirm="houseConfirm"></u-select>						
+						<u-select v-model="show_house" :defaultValue='defaultData.house_status' mode="single-column" :list="house_statuses_by_names" @confirm="houseConfirm"></u-select>						
 					</view>
 					<view class="jpLogin-input">
 						<u-form-item :required="true"><u-input v-model="form.marriage_status" type="select" placeholder="我的婚姻状况" @click="show_marriage = true"/></u-form-item>
-						<u-select v-model="show_marriage" mode="single-column" :list="marriage_statuses_by_names" @confirm="marriageConfirm"></u-select>						
+						<u-select v-model="show_marriage" :defaultValue='defaultData.marriage_status' mode="single-column" :list="marriage_statuses_by_names" @confirm="marriageConfirm"></u-select>						
 					</view>
 					<view class="jpLogin-input">
 						<u-form-item :required="true"><u-input v-model="form.children_status" type="select" placeholder="我的子女状况" @click="show_children = true"/></u-form-item>
-						<u-select v-model="show_children" mode="single-column" :list="children_statuses_by_names" @confirm="childrenConfirm"></u-select>						
+						<u-select v-model="show_children" :defaultValue='defaultData.children_status' mode="single-column" :list="children_statuses_by_names" @confirm="childrenConfirm"></u-select>						
 					</view>
 					
 					<view class="form-tit" style="margin-top: 36px;">
@@ -83,24 +90,33 @@
 			</view>
 		</view>
 		<!-- :pickerValueDefault="cityPickerValueDefault"-->
-		<mpvue-city-picker themeColor="#007AFF" ref="mpvuebirtydayCityPicker" :pickerValueDefault="cityPickerValueDefault1" @onConfirm="onBirthdayCityConfirm"></mpvue-city-picker>		
-		<mpvue-city-picker themeColor="#007AFF" ref="mpvueRegisteredResidenceCityPicker" :pickerValueDefault="cityPickerValueDefault2"  @onConfirm="onResidenceRegisteredCityConfirm"></mpvue-city-picker>		
-		<mpvue-city-picker themeColor="#007AFF" ref="mpvueWorkCityPicker"  :pickerValueDefault="cityPickerValueDefault3" @onConfirm="onWorkCityConfirm"></mpvue-city-picker>		
+<!--		<mpvue-city-picker themeColor="#007AFF" ref="mpvuebirtydayCityPicker" :pickerValueDefault="defaultData.address" @onChange="onBirthdayCityChange" @onConfirm="onBirthdayCityConfirm"></mpvue-city-picker>		
+		<mpvue-city-picker themeColor="#007AFF" ref="mpvueRegisteredResidenceCityPicker" :pickerValueDefault="defaultData.registered_residence" @onChange="onRegisteredResidenceCityChange"  @onConfirm="onResidenceRegisteredCityConfirm"></mpvue-city-picker>		
+		<mpvue-city-picker themeColor="#007AFF" ref="mpvueWorkCityPicker"  :pickerValueDefault="defaultData.work_address" @onChange="onWorkCityChange" @onConfirm="onWorkCityConfirm"></mpvue-city-picker>		
+	-->
 	</view>
 </template>
-
 <script>
 	import * as loginApi from '@/apis/login.js'
-	import mpvueCityPicker from '@/pagesB/components/mpvue-citypicker/mpvueCityPicker.vue';
-	import {getCityData} from '@/pagesB/components/mpvue-citypicker/city-data/province.js';
+	//import mpvueCityPicker from '@/pagesB/components/mpvue-citypicker/mpvueCityPicker.vue';
+	import {provinceData,cityData,areaData,setCityData,getCityData,getCityPosition} from '@/apis/city.js';
 	let _self;
 	export default {
-		components:{
-			mpvueCityPicker
-		},
+		 
 		data() {
-			return {
-				 
+			return {
+				defaultColumns: [],			
+				 defaultData:{
+				 	address:[16,6,0],
+				 	registered_residence:[16,6,0],
+				 	work_address:[16,6,0],
+				 	education:[1],
+				 	profession:[1],
+				 	salary_range:[1],
+				 	house_status:[1],
+				 	marriage_status:[1],
+				 	children_status:[1],
+				 },
 				cityPickerValueDefault1:[16,6,0],
 				cityPickerValueDefault2:[16,6,0],
 				cityPickerValueDefault3:[16,6,0],
@@ -169,14 +185,6 @@
 		onLoad(){
 			_self = this;
 			let subject = {subject:''}		
-			//uni.removeStorageSync('AreaList')
-			//let areaList = uni.getStorageInfoSync('AreaList');
-			//if(areaList == null)
-			
-			//else
-			//{
-			//	console.log('城市列表'+JSON.stringify(areaList))
-			//}
 			 
 			
 			loginApi.getBaseDictionary(subject).then(function(data){
@@ -286,25 +294,65 @@
 						}
 						//_self.interests = interests;
 					}
-					
+					
+					 
 					if(personal_info)
 					{
 						//console.log('个人信息'+JSON.stringify(personal_info))
+						 if(provinceData.length<=0){
+							  loginApi.getCityList().then(function(data){
+				 //					console.log('获取城市成功'+JSON.stringify(data));
+								if(data.result &&  data.data){
+									setCityData(data.data);
+									_self.init_city_data();
+									
+									//_self.$refs.mpvuebirtydayCityPicker.setCityData(data.data);		
+									//console.log('province data '+JSON.stringify(provinceData))
+									if(personal_info.birthplace!=null){
+										_self.form.address = getCityData(Number(personal_info.birthplace));
+										 _self.form.addressId = personal_info.birthplace;
+										 _self.defaultData.address = getCityPosition(Number(personal_info.birthplace));
+										//this.defaultData.registered_residence = this.defaultData.address;
+										//this.defaultData.work_address = this.defaultData.address;	//		
+										console.log('address'+JSON.stringify(_self.defaultData.address))
+									 }
+									 if(personal_info.registeredResidence!=null){
+										 _self.form.registered_residence = getCityData(Number(personal_info.registeredResidence));
+										 _self.form.registered_residenceId = personal_info.registeredResidence;
+										 _self.defaultData.registered_residence = getCityPosition(Number(personal_info.registeredResidence));
+									 } 
+									 if(personal_info.workplace!=null){
+										_self.form.work_address = getCityData(Number(personal_info.workplace));
+										 _self.defaultData.work_address = getCityPosition(Number(personal_info.workplace));
+											_self.form.work_addressId = personal_info.workplace;
+																 
+									 }  
+								} 
+								
+							  },function(err){
+								console.log('获取城市列表错误'+JSON.stringify(err))
+							  })		
+						}else{
+							_self.init_city_data();
+							if(personal_info.birthplace!=null){
+								_self.form.address = getCityData(Number(personal_info.birthplace));
+								_self.form.addressId = personal_info.birthplace;
+								 _self.defaultData.address = getCityPosition(Number(personal_info.birthplace));
+								//console.log('address'+JSON.stringify(_self.form.addressId))
+							}
+							if(personal_info.registeredResidence!=null){
+								_self.form.registered_residence = getCityData(Number(personal_info.registeredResidence));
+								_self.form.registered_residenceId = personal_info.registeredResidence;
+								_self.defaultData.registered_residence = getCityPosition(Number(personal_info.registeredResidence));
+							} 
+							if(personal_info.workplace!=null){
+								_self.form.work_address = getCityData(Number(personal_info.workplace));
+								_self.form.work_addressId = personal_info.workplace;
+								_self.defaultData.work_address = getCityPosition(Number(personal_info.workplace));
+																							 
+							} 
+						}
 						 
-						 if(personal_info.birthplace!=null){
-							_self.form.address = getCityData(Number(personal_info.birthplace));
-						 	_self.form.addressId = personal_info.birthplace;
-							console.log('address'+JSON.stringify(_self.form.addressId))
-						 }
-						 if(personal_info.registeredResidence!=null){
-							 _self.form.registered_residence = getCityData(Number(personal_info.registeredResidence));
-						 	_self.form.registered_residenceId = personal_info.registeredResidence;
-						 } 
-						 if(personal_info.workplace!=null){
-							 _self.form.work_address = getCityData(Number(personal_info.workplace));
-						 	_self.form.work_addressId = personal_info.workplace;
-							 
-						 } 
 						 if(personal_info.education!=null){
 							 for(let i = 0;i< _self.education_ranges.length;i++)
 							 {
@@ -406,7 +454,43 @@
 		onReady(){
 			_self.get_options();
 		},
-		methods:{
+		methods:{
+			init_city_data(){
+				for(let i = 0;i< provinceData.length;i++){
+					let province = provinceData[i];
+					if(cityData[i].length>0){
+						province.children = [];
+						for(let j = 0;j< cityData[i].length;j++){
+							let city = cityData[i][j];
+							if(areaData[i][j].length>0){
+								city.children = [];
+								for(let k = 0;k< areaData[i][j].length;k++){
+									city.children.push(areaData[i][j][k])
+								}
+							}
+							province.children.push(city);
+						}
+					}
+					this.defaultColumns.push(province);
+				}		
+			},
+			onBirthdayCityChange(pick){
+				this.cityPickerValueDefault1 = pick.value;
+				//this.defaultData.work_address = pick.value;
+				//this.defaultData.registered_residence = pick.value;
+				//this.defaultData.address = pick.value;
+				console.log('pick'+JSON.stringify(pick))
+			},
+			onRegisteredResidenceCityChange(pick){
+				this.cityPickerValueDefault2 = pick.value;
+				//this.defaultData.registered_residence = pick.value;
+				console.log('pick'+JSON.stringify(pick))
+			},
+			onWorkCityChange(pick){
+				this.cityPickerValueDefault3 = pick.value;
+				//this.defaultData.work_address = pick.value;
+				console.log('pick'+JSON.stringify(pick))
+			},			
 			selectInterest(index){
 				let interest = this.interests;
 				interest[index].checked = !interest[index].checked;
@@ -427,7 +511,8 @@
 				});
 			},
 			childrenConfirm(e){
-				console.log('e'+JSON.stringify(e))
+				console.log('e'+JSON.stringify(e))
+				this.defaultData.children_status = [this.children_statuses_by_names.findIndex(item => item.value === e[0].value)]				
 				this.form.children_status = '';
 				e.map((val, index) => {
 					// this.result += this.result == '' ? val.label : '-' + val.label;
@@ -438,6 +523,7 @@
 			},
 			marriageConfirm(e){
 				console.log('e'+JSON.stringify(e))
+				this.defaultData.marriage_status = [this.marriage_statuses_by_names.findIndex(item => item.value === e[0].value)]				
 				this.form.marriage_status = '';
 				e.map((val, index) => {
 					// this.result += this.result == '' ? val.label : '-' + val.label;
@@ -448,7 +534,9 @@
 				}) 
 			},
 			houseConfirm(e){
-				console.log('e'+JSON.stringify(e))
+				console.log('e'+JSON.stringify(e))
+				this.defaultData.house_status = [this.house_statuses_by_names.findIndex(item => item.value === e[0].value)]
+				
 				this.form.house_status = '';
 				e.map((val, index) => {
 					// this.result += this.result == '' ? val.label : '-' + val.label;
@@ -488,7 +576,9 @@
 				}) 
 			},
 			educationConfirm(e){
-				console.log('e'+JSON.stringify(e))
+				console.log('e'+JSON.stringify(e))
+				this.defaultData.education = [this.education_ranges_by_names.findIndex(item => item.value === e[0].value)]
+				
 				this.form.education = '';
 				e.map((val, index) => {
 					// this.result += this.result == '' ? val.label : '-' + val.label;
@@ -498,7 +588,9 @@
 				}) 
 			},
 			professionConfirm(e){
-				console.log('e'+JSON.stringify(e))
+				console.log('e'+JSON.stringify(e))
+				this.defaultData.profession = [this.profession_ranges_by_names.findIndex(item => item.value === e[0].value)]
+				
 				this.form.profession = '';
 				e.map((val, index) => {
 					// this.result += this.result == '' ? val.label : '-' + val.label;
@@ -508,7 +600,9 @@
 				}) 
 			},
 			salaryConfirm(e){
-				console.log('e'+JSON.stringify(e))
+				console.log('e'+JSON.stringify(e))
+				this.defaultData.salary_range = [this.salary_ranges_by_names.findIndex(item => item.value === e[0].value)]
+				
 				this.form.salary_range = '';
 				e.map((val, index) => {
 					// this.result += this.result == '' ? val.label : '-' + val.label;
@@ -672,38 +766,90 @@
 					}
 				})
 			},
-			onBirthdayCityConfirm(e) {
-				_self.form.address = e.label;
-				_self.form.addressId = e.cityCode.toString();
-				_self.form.registered_residence = e.label;
-				_self.form.registered_residenceId = e.cityCode.toString();
+			onBirthdayCityConfirm(e) {
+				let province = e[0];
+				let city = e[1];
+				let area = e[2];
 				
-				_self.form.work_address = e.label;
-				_self.form.work_addressId = e.cityCode.toString();
-				console.log('地址选择'+JSON.stringify(_self.form.addressId))
+				this.defaultData.address = getCityPosition(area.value);
+				this.defaultData.registered_residence = this.defaultData.address;
+				this.defaultData.work_address = this.defaultData.address;
+//				console.log('address '+JSON.stringify(this.defaultData.address))
+				this.personal_info.birthplaceN = '';
+				e.map((val, index) => {
+					// this.result += this.result == '' ? val.label : '-' + val.label;
+					let result = val.label
+					_self.form.addressId = val.value.toString(); 
+					let name = getCityData(Number(val.value));
+					_self.form.address = name;
+					
+					//						
+					_self.form.registered_residence= _self.form.address;
+					_self.form.registered_residenceId = _self.form.addressId;
+					_self.form.work_address = _self.form.address;
+					_self.form.work_addressId = _self.form.addressId;
+				}) 
+				console.log('_self.form.address'+JSON.stringify(_self.form.address)) 
+				console.log('_self.form.addressId'+JSON.stringify(_self.form.addressId)) 
+				  
+				 
+ 
 			},
-			onResidenceRegisteredCityConfirm(e) {
-				_self.form.registered_residence = e.label;
-				_self.form.registered_residenceId = e.cityCode.toString();
-				console.log('地址选择'+JSON.stringify(_self.form.registered_residenceId))
+			onResidenceRegisteredCityConfirm(e) {
+				let province = e[0];
+				let city = e[1];
+				let area = e[2];
+				
+				this.defaultData.registered_residence = getCityPosition(area.value); 
+//				console.log('address '+JSON.stringify(this.defaultData.address))
+				this.personal_info.birthplaceN = '';
+				e.map((val, index) => {
+					// this.result += this.result == '' ? val.label : '-' + val.label;
+					let result = val.label
+					_self.form.registered_residenceId = val.value.toString();
+					let name = getCityData(Number(val.value));
+					_self.form.registered_residence = name;
+					
+					//						 
+				}) 
+				console.log('e'+JSON.stringify(e)) 
+				 
+				  
+				 
+				  
 			},
-			onWorkCityConfirm(e) {
-				_self.form.work_address = e.label;
-				_self.form.work_addressId = e.cityCode.toString();
-				
-				console.log('地址选择'+JSON.stringify(_self.form.work_addressId))
+			onWorkCityConfirm(e) {
+				let province = e[0];
+				let city = e[1];
+				let area = e[2];
+				
+				this.defaultData.work_address = getCityPosition(area.value); 
+//				console.log('address '+JSON.stringify(this.defaultData.address))
+				this.personal_info.birthplaceN = '';
+				e.map((val, index) => {
+					// this.result += this.result == '' ? val.label : '-' + val.label;
+					let result = val.label
+					_self.form.work_addressId = val.value.toString(); 
+					let name = getCityData(Number(val.value));
+					_self.form.work_address = name;
+					
+					//						 
+				})   
 			},
 			birthdayAddressChange(){
-				console.log('pos1'+JSON.stringify(this.cityPickerValueDefault1));
-				this.$refs.mpvuebirtydayCityPicker.show()
+				this.show_birthday_address = true;
+				//console.log('pos1'+JSON.stringify(this.cityPickerValueDefault1));
+				//this.$refs.mpvuebirtydayCityPicker.show()
 			},
 			registeredResidenceAddressChange(){
-				console.log('pos2'+JSON.stringify(this.cityPickerValueDefault1));
-				this.$refs.mpvueRegisteredResidenceCityPicker.show()
+				this.show_registered_residence = true;
+				//console.log('pos2'+JSON.stringify(this.cityPickerValueDefault1));
+				//this.$refs.mpvueRegisteredResidenceCityPicker.show()
 			},
-			workAddressChange(){
-				console.log('pos3'+JSON.stringify(this.cityPickerValueDefault1));
-				this.$refs.mpvueWorkCityPicker.show()
+			workAddressChange(){
+				this.show_work_address = true;
+				//console.log('pos3'+JSON.stringify(this.cityPickerValueDefault1));
+				//this.$refs.mpvueWorkCityPicker.show()
 			}
 		}
 	}

+ 114 - 31
pagesB/pages/login/step3.vue

@@ -12,20 +12,20 @@
 					<view class="jpLogin-input">
 						<u-form-item :required="true">
 							<u-input v-model="form.age_range" type="select" placeholder="Ta的年龄段范围" @click="show_age_ranges = true"/>
-							<u-select v-model="show_age_ranges" mode="single-column" :list="age_ranges_by_names" @confirm="ageRangeConfirm"></u-select>						
+							<u-select v-model="show_age_ranges" :defaultValue='defaultData.ageRange' mode="single-column" :list="age_ranges_by_names" @confirm="ageRangeConfirm"></u-select>						
 						</u-form-item>
 					</view>
 					<view class="jpLogin-input">
 						<u-form-item>
 							<u-input v-model="form.education" type="select" placeholder="Ta的学历是"  @click="show_education = true" >
 							</u-input>
-							<u-select v-model="show_education" mode="single-column" :list="education_ranges_by_names" @confirm="educationConfirm"></u-select>						
+							<u-select v-model="show_education" :defaultValue='defaultData.education' mode="single-column" :list="education_ranges_by_names" @confirm="educationConfirm"></u-select>						
 						</u-form-item>
 					</view>
 					<view class="jpLogin-input">
 						<u-form-item>
 							<u-input v-model="form.salary_range" type="select" placeholder="Ta的收入范围" @click="show_salary = true"/>
-							<u-select v-model="show_salary" mode="single-column" :list="salary_ranges_by_names" @confirm="salaryRangeConfirm"></u-select>						
+							<u-select v-model="show_salary" :defaultValue='defaultData.salary_range' mode="single-column" :list="salary_ranges_by_names" @confirm="salaryRangeConfirm"></u-select>						
 						</u-form-item>
 					</view>
 					<view class="jpLogin-input">
@@ -35,8 +35,10 @@
 					</view>
 					<view class="jpLogin-input">
 						<u-form-item>
-							<u-input v-model="form.work_address" type="select" placeholder="Ta的工作所在地" @click="workAddressChange"/>
-<!--							<u-select v-model="show_work_address" mode="single-column" :list="area_ranges_by_names" @confirm="workAddressConfirm"></u-select>-->						
+							<u-input v-model="form.work_address" type="select" placeholder="Ta的工作所在地" @click="workAddressChange"/>
+						    <u-select v-model="show_work_address" mode="mutil-column-auto" :default-value='defaultData.work_address' :list="defaultColumns" @confirm="onWorkCityConfirm"></u-select>
+							
+<!--							<u-select v-model="show_work_address" :defaultValue='defaultData.work_address' mode="single-column" :list="area_ranges_by_names" @confirm="workAddressConfirm"></u-select>-->						
 						</u-form-item>
 					</view>
 					<view class="form-tit">
@@ -54,32 +56,33 @@
 				<u-button type="error" shape="circle" :custom-style="customStyle" @click="next">下一步</u-button>
 				<view class="step-btn" @click="previous">返回上一步</view>
 			</view>
-		</view>
-		<mpvue-city-picker themeColor="#007AFF" ref="mpvueWorkCityPicker" :pickerValueDefault="cityPickerValueDefault" @onConfirm="onWorkCityConfirm"></mpvue-city-picker>
+		</view>
 	<!--	<mpvue-age-picker themeColor="#007AFF" ref="mpvueAgePicker" :pickerValueDefault="agePickerValueDefault" @onConfirm="onAgeConfirm"></mpvue-age-picker>-->
 	</view>
 </template>
 
 <script>
-	import * as loginApi from '@/apis/login.js'	
-	import mpvueCityPicker from '@/pagesB/components/mpvue-citypicker/mpvueCityPicker.vue';
-	import {getCityData} from '@/pagesB/components/mpvue-citypicker/city-data/province.js';
+	import * as loginApi from '@/apis/login.js';
+	import {provinceData,cityData,areaData,setCityData,getCityData,getCityPosition} from '@/apis/city.js';
 //	import mpvueAgePicker from "../../components/mpvue-agepicker/mpvueAgePicker.vue"
 	let _self;
 	export default {
-		components:{
-			mpvueCityPicker,
-//			mpvueAgePicker
-		},
-		data() {
-			return {
+ 		data() {
+			return {
+				defaultColumns: [],			
 				cityPickerValueDefault:[16,6,0],
 				personal_info:{},
 				education_index:0,
 				show_age_ranges:false,
 				show_education:false,
 				show_salary:false,
-				show_work_address:false,
+				show_work_address:false,
+				defaultData:{
+					ageRange:[1],
+					education:[1],
+					salary_range:[1],
+					work_address:[16,6,0]
+				},
 				form: { 
 					age_range:'',
 					height_range:'',
@@ -113,14 +116,33 @@
 			} 
 
 		},
-		methods:{
+		methods:{
+			init_city_data(){
+				for(let i = 0;i< provinceData.length;i++){
+					let province = provinceData[i];
+					if(cityData[i].length>0){
+						province.children = [];
+						for(let j = 0;j< cityData[i].length;j++){
+							let city = cityData[i][j];
+							if(areaData[i][j].length>0){
+								city.children = [];
+								for(let k = 0;k< areaData[i][j].length;k++){
+									city.children.push(areaData[i][j][k])
+								}
+							}
+							province.children.push(city);
+						}
+					}
+					this.defaultColumns.push(province);
+				}		
+			},
 			workAddressConfirm(e){
 				console.log('e'+JSON.stringify(e))
 				this.form.work_address = '';
 				e.map((val, index) => {
 					// this.result += this.result == '' ? val.label : '-' + val.label;
 					let result = val.label
-					this.form.work_addressId = val.value;
+					this.form.work_addressId = val.value.toString();
 					this.form.work_address  += result;
 				}) 
 			},
@@ -191,7 +213,9 @@
 				})
 			},		
 			salaryRangeConfirm(e){
-				console.log('e'+JSON.stringify(e))
+				console.log('e'+JSON.stringify(e))
+				this.defaultData.salary_range = [this.salary_ranges_by_names.findIndex(item => item.value === e[0].value)]
+				
 				this.form.salary_range = '';
 				e.map((val, index) => {
 					// this.result += this.result == '' ? val.label : '-' + val.label;
@@ -201,7 +225,9 @@
 				}) 
 			},
 			ageRangeConfirm(e){
-				console.log('e'+JSON.stringify(e))
+				console.log('e'+JSON.stringify(e))
+				this.defaultData.ageRange = [this.age_ranges_by_names.findIndex(item => item.value === e[0].value)]
+				
 				this.form.age_range = '';
 				e.map((val, index) => {
 					// this.result += this.result == '' ? val.label : '-' + val.label;
@@ -211,7 +237,9 @@
 				}) 
 			},
 			educationConfirm(e){
-				console.log('e'+JSON.stringify(e))
+				console.log('e'+JSON.stringify(e))
+				this.defaultData.education = [this.education_ranges_by_names.findIndex(item => item.value === e[0].value)]
+				
 				this.form.education = '';
 				e.map((val, index) => {
 					// this.result += this.result == '' ? val.label : '-' + val.label;
@@ -220,9 +248,23 @@
 					this.form.education  += result;
 				}) 
 			},
-			onWorkCityConfirm(e) {
-				_self.form.work_address = e.label;
-				_self.form.work_addressId = e.cityCode.toString(); 
+			onWorkCityConfirm(e) {
+				let province = e[0];
+				let city = e[1];
+				let area = e[2];
+				
+				this.defaultData.work_address = getCityPosition(area.value);
+//				console.log('address '+JSON.stringify(this.defaultData.address))
+				this.personal_info.workplaceN = '';
+				e.map((val, index) => {
+					// this.result += this.result == '' ? val.label : '-' + val.label;
+					let result = val.label 
+					let name = getCityData(Number(val.value));
+					
+					_self.form.work_address = name;
+					_self.form.work_addressId = val.value; 
+					
+				})   
 				console.log('地址选择'+_self.form.work_addressId)
 			},
 			onAgeConfirm(e) {
@@ -230,7 +272,8 @@
 				console.log('地址选择'+_self.form.age_range)
 			},
 			workAddressChange(){
-				this.$refs.mpvueWorkCityPicker.show()
+				this.show_work_address = true;
+				//this.$refs.mpvueWorkCityPicker.show()
 			},
 			ageChange(){
 				this.$refs.mpvueAgePicker.show()
@@ -335,11 +378,51 @@
 					  if(personal_info.taOther!=null){
 						_self.form.other = personal_info.taOther;	
 					  }   
-					  if(personal_info.taWorkplace!=null){
-					  	_self.form.work_address = getCityData(Number(personal_info.taWorkplace));
-					  	_self.form.work_addressId = personal_info.taWorkplace;
-					  	console.log('address'+JSON.stringify(_self.form.work_addressId))
-					  } 
+					  
+					  if(provinceData.length<=0){
+						  loginApi.getCityList().then(function(data){
+//					console.log('获取城市成功'+JSON.stringify(data));
+							if(data.result &&  data.data){
+								setCityData(data.data);
+								_self.init_city_data();
+								
+								//_self.$refs.mpvuebirtydayCityPicker.setCityData(data.data);		
+								//console.log('province data '+JSON.stringify(provinceData))
+								if(personal_info.birthplace!=null){
+									_self.form.address = getCityData(Number(personal_info.birthplace));
+									 _self.form.addressId = personal_info.birthplace;
+									 _self.defaultData.address = getCityPosition(Number(personal_info.birthplace));
+									//this.defaultData.registered_residence = this.defaultData.address;
+									//this.defaultData.work_address = this.defaultData.address;	//		
+									console.log('address'+JSON.stringify(_self.defaultData.address))
+								 }
+								 if(personal_info.registeredResidence!=null){
+									 _self.form.registered_residence = getCityData(Number(personal_info.registeredResidence));
+									 _self.form.registered_residenceId = personal_info.registeredResidence;
+									 _self.defaultData.registered_residence = getCityPosition(Number(personal_info.registeredResidence));
+								 } 
+								 if(personal_info.taWorkplace!=null){
+									_self.form.work_address = getCityData(Number(personal_info.taWorkplace));
+									 _self.defaultData.work_address = getCityPosition(Number(personal_info.taWorkplace));
+										_self.form.work_addressId = personal_info.taWorkplace;
+															 
+								 }  
+							} 
+							
+						  },function(err){
+							console.log('获取城市列表错误'+JSON.stringify(err))
+						  })		
+					}else{
+						_self.init_city_data();
+						 
+						if(personal_info.taWorkplace!=null){
+							_self.form.work_address = getCityData(Number(personal_info.taWorkplace));
+							_self.form.work_addressId = personal_info.taWorkplace;
+							_self.defaultData.work_address = getCityPosition(Number(personal_info.taWorkplace));
+																						 
+						}  
+					}
+					  
 				} 
 			},function(err){
 				console.log('获取基础字典错误'+JSON.stringify(err))