<template>
	<view class="app">
		<view class="userinfo">
			<view class="itemimgs">
				<image class="picture" :src="img" mode="" v-if="img" @tap='uploadImag'></image>
				<image class="picture" src="../../static/headsculpture.png" mode="" v-else @tap='uploadImag'></image>
				<view class="text" @tap='uploadImag'>
					点击编辑头像
				</view>
			</view>
			<view class="item">
				<span>姓名：</span>
				<u-input :clearable='false' v-model="appPersonallist.patientName" placeholder="请输入" type="text"
					maxlength='30' />
			</view>
			<view class="item">
				<span>性别：</span>
				<u-radio-group v-model="sex" size='44'>
					<u-radio @change='sexchange' v-for="(item, index) in sexlist" :key="index" :name="item.name"
						:disabled="item.disabled">
						{{item.name}}
					</u-radio>
				</u-radio-group>
			</view>
			<!-- <view class="item">
				<span>电话:</span>
				<u-input :clearable='false' v-model="appPersonallist.phone" placeholder="请输入" maxlength='11'
					type="number" />
			</view> -->
			<view class="item" @tap='timeshow=true'>
				<span>出生日期：</span>
				<view class="address" style="" v-if="appPersonallist.birthDate">
					{{appPersonallist.birthDate}}
				</view>
			</view>
			<view class="item">
				<span>身份证号：</span>
				<u-input :clearable='false' v-model="appPersonallist.cardNo" placeholder="请输入身份证号" type="text"
					maxlength='18' disabled />
			</view>
			<view class="item" @tap='showPicker'>
				<span>所属区域：</span>
				<view class="address">{{address}}</view>
			</view>
			<view class="item">
				<span>详细地址：</span>
				<u-input :clearable='false' v-model="appPersonallist.address" type="text" maxlength='40'
					placeholder='小区、单元、门牌号' />
			</view>
			<view class="item" @tap='getAddress()'>
				<span>所在位置:</span>
				<view class="address" style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap;"
					v-if="appPersonallist.locationName">
					{{appPersonallist.locationName}}
				</view>
				<view class="address" style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap;" v-else>
				</view>
			</view>
			<view class="name">
				<span>基础疾病</span>
				<view class="select">
					<ld-select :multiple="true" :list="options" label-key="label" value-key="value" placeholder="请选择"
						v-model="value2" @change="selectChange" @cancel="cancel" @confirm="confirm"></ld-select>
				</view>
			</view>
		</view>
		<view class="radio-content">
			<view class="radio-right" @click='changeRadio'>
				<view class="radio" :class="radio == 2 ? 'radio-default':''">
					<view :class="radio == 2 ? 'radio-active':''"></view>
				</view>
			</view>
			<view class="agreement" @click.stop='changeRadio'>我已阅读并同意<text @click.stop='maskshow=true'
					style="color: #000000;border-bottom: 1rpx solid #000000;">《用户协议》</text>
			</view>
		</view>
		<view class="finish" @tap="informationinfo()">确认修改
		</view>
		<u-toast ref="uToast" />
		<!-- //用户协议 -->
		<u-mask :show="maskshow" class='mask' @click='maskshow=false'>
			<view class="Agreement">
				<view class="title">
					用户协议与隐私政策
				</view>
				<scroll-view scroll-y="true" class="scroll-Y" style="">
					<contenttext></contenttext>
				</scroll-view>
				<view class="cancel" @tap='maskshow=false'>
					取消
				</view>
				<view class="determine" @tap='tapradio'>
					确定并同意
				</view>
			</view>
		</u-mask>
		<view class="">
			<m-city style='z-index: 10076;' :provinceData="list" headTitle="地区选择" ref="cityPicker"
				@funcValue="getpickerParentValue" pickerSize="3">
			</m-city>
		</view>
		<u-picker mode="time" v-model="timeshow" :params="params" @confirm='timechange' @canel='timeshow=false'>
		</u-picker>
	</view>
</template>
<script>
	import {
		getRegionAndStreetInfo
	} from '@/api/pagesB/information/index.js'
	import contenttext from '../text.vue';
	import baseurl from '@/api/baseurl.js'
	import {
		appPersonal,
	} from '@/api/pages/myinformation/myinformation.js';
	import {
		getSubordinateRegions,
	} from '@/api/pagesB/modifyAddress/modifyAddress.js';
	import gkcity from "../../components/m-city/m-city.vue";
	import {
		registerdata
	} from '@/api/pages/register/register.js'
	export default {
		components: {
			contenttext,
			"m-city": gkcity
		},
		data() {
			return {
				params: {
					year: true,
					month: true,
					day: true,
					hour: false,
					minute: false,
					second: false
				},
				value2: [],
				options: [{
					value: '1',
					label: '高血压'
				}, {
					value: '2',
					label: '高血糖'
				}, {
					value: '3',
					label: '高血脂'
				}, {
					value: '0',
					label: '无'
				}],
				timeshow: false, //出生日期
				sexlist: [{
						name: '男',
						disabled: false
					},
					{
						name: '女',
						disabled: false
					}
				],
				list: [{
					id: "",
					localName: "请选择",
					children: [],
				}, ],
				radio: 1,
				baseurl: '',
				address: '',
				maskshow: false, //用户协议
				img: null,
				image: null,
				timer: null,
				appPersonallist: {
					patientName: "",
					cardNo: "",
					phone: "",
					address: "",
					areaCode: "",
					homeLongitude: null,
					homeLatitude: null,
					nurseTypeIdList: [],
					diseaseInfoList: [],
					diseaseList: [],
					headPictureUrl: '',
					birthDate: '',
					locationName: '',
					sex: '',
					sexname: '',
					cityCode: '',
				},
				sex: '',
				addresslength: null,
				value: {},
			}
		},
		onLoad(options) {
			this.areaInfo();
			this.baseurl = baseurl
			var that = this
			this.value = uni.getStorageSync('userinfo');
			if (this.value) {
				const patientid = this.value.id
				appPersonal(patientid).then(Response => {
					if (Response.code == 200) {
						if (Response.data.sex == 'MALE') {
							that.sex = '男';
						} else if (Response.data.sex == 'FEMALE') {
							that.sex = '女';
						}
						that.appPersonallist = Response.data
						that.value2 = Response.data.diseaseList.map(String)
						Number(that.appPersonallist.homeLatitude) > 0 ? that.appPersonallist.homeLatitude = Number(
							that.appPersonallist.homeLatitude) : that.appPersonallist.homeLatitude = null
						Number(that.appPersonallist.homeLongitude) > 0 ? that.appPersonallist.homeLongitude =
							Number(that.appPersonallist.homeLongitude) : that.appPersonallist.homeLongitude = null
						if (that.appPersonallist.headPictureUrl) {
							that.img = baseurl + that.appPersonallist.headPictureUrl
						}

						if (that.appPersonallist.areaName) {
							that.address = that.appPersonallist.areaName
						}
					} else if (Response.code == 9999) {} else {
						uni.navigateBack({
							delta: 1
						})
					}
				})
			} else {}
		},
		methods: {
			confirm(e) {
				this.appPersonallist.diseaseList = e.map(Number)
			},
			// 下拉框多选
			selectChange(val) {},
			cancel() {},
			//性别
			sexchange(e) {
				if (e == '男') {
					this.appPersonallist.sex = 'MALE';
				} else if (e == '女') {
					this.appPersonallist.sex = 'FEMALE';
				}
			},
			//选择出生日期
			timechange(e) {
				this.appPersonallist.birthDate = e.year + '-' + e.month + '-' + e.day
			},
			// 三级地址联动回调
			getpickerParentValue(e) {
				this.addresslength = e
				if (e.length == 4) {
					this.address = e[0].localName + e[1].localName + e[2].localName + e[3]
						.localName
					this.appPersonallist.areaCode = e[3].id
				} else if (e.length == 3) {
					this.address = e[0].localName + e[1].localName + e[2].localName
					this.appPersonallist.areaCode = e[2].id
				} else if (e.length == 2) {
					this.address = e[0].localName + e[1].localName
					this.appPersonallist.areaCode = e[1].id
				} else if (e.length == 1) {
					this.address = e[0].localName
					this.appPersonallist.areaCode = e[0].id
				} else {
					this.address = ''
					this.appPersonallist.areaCode = ''
				}
			},
			// 显示三级地址联动
			showPicker() {
				this.$refs.cityPicker.show();
			},
			//上传图片+提交信息
			data() {
				var that = this
				that.appPersonallist.openid = uni.getStorageSync('openid');
				if (that.sex == '男') {
					that.appPersonallist.sex = 'MALE';
				} else if (that.sex == '女') {
					that.appPersonallist.sex = 'FEMALE';
				}
				if (that.radio == 1) {
					that.$refs.uToast.show({
						title: '请审核并同意用户协议',
						type: 'error'
					})
				} else {
					if (that.image) {
						uni.uploadFile({
							url: baseurl + '/nurseApplet/uploadFile/uploadHeadPictureUrl',
							filePath: that.appPersonallist.headPictureUrl,
							name: 'file',
							formData: {
								'patientId': that.appPersonallist.patientId
							},
							timeout: 5000,
							success(res) {
								that.appPersonallist.headPictureUrl = JSON.parse(res.data).imgUrl
								that.appPersonallist.cityCode = uni.getStorageSync('region')
								registerdata(that.appPersonallist).then(res => {
									if (res.code == 200) {
										that.$refs.uToast.show({
											title: '修改信息成功',
											type: 'success',
											duration: '1500'
										})
										if (that.timer) {
											clearTimeout(that.timer)
										}
										that.timer = setTimeout(e => {
											uni.navigateBack({
												delta: 1
											})
										}, 1500)
									} else if (res.code == 500) {
										that.$refs.uToast.show({
											title: res.msg,
											type: 'error',
											url: ''
										})
									}
								})
							}
						})
					} else {
						that.appPersonallist.cityCode = uni.getStorageSync('region')
						registerdata(that.appPersonallist).then(res => {
							if (res.code == 200) {
								that.$refs.uToast.show({
									title: '修改信息成功',
									type: 'success',
									duration: '1500'
								})
								if (that.timer) {
									clearTimeout(that.timer)
								}
								that.timer = setTimeout(e => {
									uni.navigateBack({
										delta: 1
									})
								}, 1500)
							} else if (res.code == 500) {
								that.$refs.uToast.show({
									title: res.msg,
									type: 'error',
								})
							}
						})
					}
				}
			},
			informationinfo() {
				//上传图片
				var that = this
				if (this.addresslength) {
					if (this.addresslength.length > 2) {
						that.data();
					} else {
						that.$refs.uToast.show({
							title: '所属区域应选择所在的区或街道,请重新选择!',
							type: 'error'
						})
					}
				} else {
					that.data();
				}

			},
			//上传头像
			uploadImag() {
				var that = this;
				uni.chooseImage({
					count: 1,
					sizeType: ['original'],
					sourceType: ['album'],
					success(res) {
						that.appPersonallist.headPictureUrl = res.tempFilePaths[0]
						that.img = res.tempFilePaths[0]
						that.image = res.tempFilePaths[0]
					}
				})
			},
			//获取所在位置
			getAddress() {
				var that = this;
				uni.chooseLocation({
					success: function(res) {
						that.appPersonallist.locationName = res.address
						that.appPersonallist.homeLongitude = res.longitude;
						that.appPersonallist.homeLatitude = res.latitude;
					}
				});
			},
			// //获取所在位置
			// getAddress() {
			// 	uni.getLocation({
			// 		type: 'wgs84',
			// 		success: function(res) {
			// 			const key = '3VABZ-6LZWK-YPAJ3-AMQED-D7RUK-VPB37'; //使用在腾讯位置服务申请的key
			// 			const referer = '新医路健康服务平台'; //调用插件的app的名称
			// 			const location = JSON.stringify({
			// 				latitude: 39.89631551,
			// 				longitude: 116.323459711
			// 			});
			// 			wx.navigateTo({
			// 				url: 'plugin://chooseLocation/index?key=' + key + '&referer=' + referer
			// 			});
			// 		}
			// 	});
			// },
			//区街道
			areaInfo() {
				// getSubordinateRegions().then(res => {
				// 	this.list = res.data;
				// })
				this.list = [{
					areaCode: "370500000000",
					areaLevel: 2,
					areaName: "东营市",
					id: 255903,
					parentId: 188870,
				}, {
					areaCode: "371400000000",
					areaLevel: 2,
					areaName: "德州市",
					id: 398888,
					parentId: 188870,
				}]
			},
			changeRadio() {
				if (this.radio == 1) {
					this.radio = 2;
				} else {
					this.radio = 1;
				}
			},
			tapradio() {
				this.radio = 2;
				this.maskshow = false;
			},
		},
		onUnload() {
			// 页面卸载时设置插件选点数据为null，防止再次进入页面，geLocation返回的是上次选点结果
			// chooseLocation.setLocation(null);
		},
		//带参返回
		onShow() {
			// let that = this
			// // const chooseLocation = requirePlugin('chooseLocation');
			// // const location = chooseLocation.getLocation(); // 如果点击确认选点按钮，则返回选点结果对象，否则返回null
			// // if (location) {
			// // 	that.appPersonallist.locationName = location.address
			// // 	that.appPersonallist.homeLongitude = location.longitude;
			// // 	that.appPersonallist.homeLatitude = location.latitude;
			// // }
			// uni.$on('disease', function(data) {
			// 	console.log(data,'777')
			// 	that.patientDiseaseInfoList = JSON.parse(data.disease)
			// 	uni.$off('disease')
			// })
		},
	}
</script>

<style lang="scss">
	@import "./modify.scss"
</style>