<template>
	<view>
		<!-- 状态栏 -->
		<status-nav :titleVal="'修改资料'" :whereCome="whereCome" :statusTitle="true"></status-nav>
		<!-- 自定义二级分类 -->
		<!-- 列表 -->
		<view :style="{paddingTop: statusHNH+'px'}" class="fon28 pad-x20">
			<view v-for="(itemd,indexd) in dataList" :key="indexd"
			class="disjbac borbot mar-zy40" :class="(indexd!=1 && indexd!=5 && indexd!=6) ? 'pad-sx40':''">
				<!-- 标题 -->
				<view class="col9 flexs" style="width: 17.8%;">
					<view v-if="indexd!=2 && indexd!=3 && indexd!=7">{{itemd.title}}:</view>
					<!-- 恒美ID -->
					<view v-if="indexd==2" class="disjb">
						<view class="disjb width100">
							<view>{{itemd.title.charAt(0)}}</view>
							<view>{{itemd.title.charAt(1)}}</view>
							<view>{{itemd.title.charAt(2)}}{{itemd.title.charAt(3)}}</view>
						</view>
						<view>:</view>
					</view>
					<!-- 性别、地址 -->
					<view v-if="indexd==3 || indexd==7" class="disjb">
						<view class="disjb width100">
							<view>{{itemd.title.charAt(0)}}</view>
							<view>{{itemd.title.charAt(1)}}</view>
						</view>
						<view>:</view>
					</view>
				</view>
				<view class="disac fe width100 tright">
					<!-- 内容 -->
					<view v-if="itemd.content!='' && (indexd!=1 && indexd!=5 && indexd!=6)" :class="indexd==1?'nic':'col3'" class="mar-y20 width100" :style="{marginRight:indexd==2?'39rpx':''}">{{itemd.content}}</view>
					<!-- 性别下拉弹框 -->
					<picker v-if="indexd==3" class="col3 mar-y20 width100" @change="changePicker" :value="current" :range="pickerData">
						<view>{{pickerData[current]}}</view>
					</picker>
					<!-- 出生日期下拉框 -->
					<picker v-if="indexd==4" mode="date" class="col3 mar-y20 width100" @change="changeTime" :value="currentt" :range="pickerTime">
						<view>{{pickerTime[currentt]}}</view>
					</picker>
					<!-- 地址下拉框 -->
					<!-- <picker v-if="indexd==7" mode="multiSelector" class="col3 mar-y20 width100" @change="changeAddress" :value="currenta" :range="pickerAddress">
						<view>{{pickerAddress[0]}}{{pickerAddress[1]}}{{pickerAddress[2]}}</view>
					</picker> -->
					<!-- <view v-if="indexd==7" @tap="openPicker" class="width100 mar-y20">{{region}}</view> -->
					<view v-if="indexd==7" @tap="openAddres2" class="width100 mar-y20">{{pickerText}}</view>
					<!-- 用户昵称、真实姓名、联系电话输入框 -->
					<input @focus="inputFo(indexd)" @blur="inputB(indexd)" v-if="indexd==1 || indexd==5 || indexd==6" :type="(indexd==1 || indexd==5)?'text':'number'" :maxlength="indexd==6?11:10" v-model="itemd.content" class="mar-y20 tright pad-sx40 width100" style="border: none;" :placeholder="itemd.fcon"/>
					<!-- 用户头像 -->
					<image v-if="indexd==0" :src="itemd.imgSrc || moHead" :class="indexd==0?'head_img':'head_next'" class="" mode="aspectFill"></image>
					<!-- <image @tap="chooseHead" v-if="itemd.imgSrc!=''" :src="itemd.imgSrc" :class="indexd==0?'head_img':'head_next'" class="" mode="aspectFill"></image> -->
					<!-- 前进键 -->
					<image v-if="indexd!=0 && indexd!=2" src="/static/public/nexth.png" class="head_next flexs"></image>
				</view>
			</view>
		</view>
		<view class="" @tap="updataInfo" style="height: 90rpx;line-height: 90rpx;margin: 80rpx 100rpx 120rpx 100rpx;" class="radius20 fon40 bold colf tc" :style="{background:publicColor}">{{btnCon}}</view>
		<!-- 底部弹框 -->
		<!-- <city @choseVal="choseValue" :lotusAddressData="lotusAddressData"></city> -->
		<simple-address ref="simpleAddress" :pickerValueDefault="cityPickerValueDefault" @onConfirm="onConfirm" themeColor="#007AFF"></simple-address>
		<!-- 底部客服 -->
		<public-customer :nbottom="100"></public-customer>
	</view>
</template>

<script>
	import city from '@/components/city/city.vue';
	import simpleAddress from '@/components/simple-address/simple-address.vue';
	export default {
		components:{
			// city,
			simpleAddress
		},
		data() {
			return {
				statusHNH:uni.getStorageSync('statusHNH'),
				publicColor:uni.getStorageSync('publicColor'),//主题颜色
				moHead:'/static/public/logo.png',
				dataList:[
					{title:'用户头像',content:'',imgSrc:'',fcon:''},
					{title:'用户昵称',content:'',imgSrc:'',fcon:'请输入用户昵称'},
					{title:'恒美ID',content:'',imgSrc:'',fcon:''},
					{title:'性别',content:'',imgSrc:'',fcon:''},
					{title:'出生日期',content:'',imgSrc:'',fcon:''},
					{title:'真实姓名',content:'',imgSrc:'',fcon:'请输入真实姓名'},
					{title:'联系电话',content:'',imgSrc:'',fcon:'请输入联系电话'},
					{title:'地址',content:'',imgSrc:'',fcon:''},
				],
				isKuang:true,
				current:0,
				pickerData:['未知','男','女'],
				currentt:0,
				pickerTime:['1997-01-01'],
				currenta:0,
				// pickerAddress:['四川省 ','成都市 ','青羊区'],
				// lotusAddressData:{
				//     visible:false,
				//     provinceName:'',
				//     cityName:'',
				//     townName:'',
				// },
				// region:'四川省成都市成华区',
				cityPickerValueDefault: [0, 0, 1],
				pickerText: '四川省成都市成华区',
				btnCon:'保存',
				uinfo:{},
				addressInfo:[],
				newProvice:'',//当前省份
				newCity:'',//当前城市
				newDistrict:'',//当前区县
				whereCome:0,
			}
		},
		onShow() {
			this.$toolAll.tools.isLogin()
		},
		onUnload() {
			uni.removeStorageSync('firstInfo')
		},
		onLoad(options) {
			if(options.whereNum==2){
				this.whereCome = options.whereNum
			}
			let chuo = new Date().getTime()// 获取当前时间戳
			let time = this.$toolAll.tools.timestampToTime(chuo)// 转换日期格式为XXXX-XX-XX
			// 获取当前位置的经纬度
			wx.getLocation({
				success:(res)=> {
					// 逆解析经纬度
					this.getDistrict(res.latitude, res.longitude)
				},
			})
			let firstObj = uni.getStorageSync('firstInfo')
			if(firstObj==''){
				let obj = uni.getStorageSync('uinfo')
				if(obj!='') this.uinfo = obj
				this.dataList[0].imgSrc = obj.headimgurl//用户头像
				this.dataList[1].content = obj.nickname//用户昵称
				this.dataList[2].content = obj.coding//恒美ID
				this.current = obj.gender//性别1男,2女,0未知
				obj.birthday!='' ? this.pickerTime = [obj.birthday.slice(0,10)] : this.pickerTime = [time.slice(0,10)]//出生日期
				obj.real_name!=null && obj.real_name !=''  ? this.dataList[5].content = obj.real_name : this.dataList[5].fcon = '未知'//真实姓名
				obj.mobile!='' ? this.dataList[6].content = obj.mobile : this.dataList[6].fcon = '未知'//电话
				if(obj.county!='') this.pickerText = obj.province + obj.city + obj.county//省市区县
			} else {
				this.dataList[0].imgSrc = firstObj.headimgurl//用户头像
				this.dataList[1].content = firstObj.nickname//用户昵称
				this.dataList[2].content = firstObj.coding//恒美ID
				this.current = firstObj.gender//性别1男,2女,0未知
			}
		},
		methods: {
			cancleEv(){
				uni.setStorageSync('bindPhone',false)
			},
			updataInfo(){//修改资料事件
				let params = {
					real_name:this.dataList[5].content,//姓名
					nickname:this.dataList[1].content,//昵称
					mobile:this.dataList[6].content,//手机号
					gender:this.current,//性别,0未知,1男,2女
					province:this.addressInfo[0],//省份
					city:this.addressInfo[1],//市
					county:this.addressInfo[2],//区县
					birthday:this.pickerTime[0]//生日(出生年月),日期格式:2021-08-10
				}
				this.$requst.post('user/edit-info',params).then(res=>{
					if(res.code==0){
						this.$toolAll.tools.showToast('资料修改成功')
						setTimeout(()=>{
							if(this.whereCome==2){
								uni.navigateTo({
									url:'/pages/tabbar/my/my'
								})
							} else {
								uni.navigateBack({delta:1})
							}
						},1000)
					}
				},error=>{})
			},
			getDistrict(latitude, longitude) {//获取当前位置的省市区县
				let ya = this
			    wx.request({
					url: `https://apis.map.qq.com/ws/geocoder/v1/?location=${latitude},${longitude}&key=B2ABZ-SIDKS-WD2O3-6CJ2U-CDZOT-U3FKF`,
					header: {
						'Content-Type':'application/json'
					},
					success:function(res) {
						// console.log('地址数据:',res)
						ya.newProvice = res.data.result.address_component.province
						ya.newCity = res.data.result.address_component.city
						ya.newDistrict = res.data.result.address_component.district
						if(ya.pickerText=='') ya.pickerText = ya.newProvice + ya.newCity + ya.newDistrict
					}
			    })
			},
			openAddres2() {//地址弹框事件
				// 根据 label 获取
				var index = this.$refs.simpleAddress.queryIndex([this.newProvice, this.newCity, this.newDistrict], 'label');
				this.cityPickerValueDefault = index.index;
				this.$refs.simpleAddress.open();
			},
			onConfirm(e) {//地址确认事件
				this.pickerText = e.labelArr[0]+e.labelArr[1]+e.labelArr[2];
				this.addressInfo = [e.labelArr[0],e.labelArr[1],e.labelArr[2]]
			},
			chooseHead(){//选择头像事件
				uni.chooseImage({
					count:1,
					success: (res) => {
						this.dataList[0].imgSrc = res.tempFilePaths[0]
					}
				})
			},
			changePicker(e){//性别选择
				this.current = e.detail.value
			},
			changeTime(e){//出生日期选择
				this.pickerTime = [e.detail.value]
			},
			changeAddress(e){
				
			},
			inputFo(index){//输入框获取焦点
				if(this.dataList[index].content!=''){
					this.dataList[index].fcon = this.dataList[index].content//将当前输入框的实际值赋值给当前输入框的placeholder属性
					this.dataList[index].content = ''//清空当前输入框的实际值
				}
			},
			inputB(index){//输入框失去焦点
				if(index==1){
					if(this.dataList[1].content==''){
						this.dataList[1].content = this.uinfo.nickname
					}
				}
				if(index==5){
					if(this.dataList[5].content==''){
						this.dataList[5].content = this.uinfo.real_name
					}
				}
				if(index==6){
					if(this.dataList[6].content==''){
						this.dataList[6].content = this.uinfo.mobile
					}
				}
			}
			//打开picker
			// openPicker() {
			//     this.lotusAddressData.visible = true;
			//     this.lotusAddressData.provinceName = this.newProvice;
			//     this.lotusAddressData.cityName = this.newCity;
			//     this.lotusAddressData.townName = this.newDistrict;
			// },
			//回传已选的省市区的值
			// choseValue(res){
			//     //res数据源包括已选省市区与省市区code
			//     // console.log(res);
			//     this.lotusAddressData.visible = res.visible;//visible为显示与关闭组件标识true显示false隐藏
			//     //res.isChose = 1省市区已选 res.isChose = 0;未选
			//     if(res.isChose){
			//         this.lotusAddressData.provinceName = res.province;//省
			//         this.lotusAddressData.cityName = res.city;//市
			//         this.lotusAddressData.townName = res.town;//区
			//         this.region = `${res.province} ${res.city} ${res.town}`; //region为已选的省市区的值
			// 		this.regionObj = {
			// 			province:res.province,
			// 			provinceCode:res.provinceCode,
			// 			city:res.city,
			// 			cityCode:res.cityCode,
			// 			town:res.town,
			// 			townCode:res.townCode
			// 		}
			//     }
			// },
		}
	}
</script>

<style>
page{background-color: #FFFFFF;}
</style>