<template>
	<view>
		<view class="header">
			<view class="top" v-if="userList.length">
				<view class="headimg" @click="handleAddUser(1)">
					<image :src="info.head_pic"></image>
				</view>
				<view class="info" @click="handleAddUser(1)">
					<view class="size18 bold">{{info.nickname}}</view>
					<view class="mt-5">
						<text class="mr-10">性别：{{info.gender==1?'男':info.gender==2?'女':'未知'}}</text>
						<text class="ml-10">年龄：{{info.age}}岁</text>
					</view>
				</view>
				<text class="t-icon t-icon-qiehuan1" @click="$store.commit('changeDrawe', true)" v-if="isLeft"></text>
			</view>
			<view class="top" v-else @click="handleAddUser(2)">
				<view class="info">
					暂无成员，请先添加~
				</view>
				<view class="add">
					+
				</view>
			</view>
		</view>
		<!-- 地区 -->
		<view class="cityList">
			<view class="area" v-if="isArea" @click="visible = true">
				<view>中招地区标准：</view>
				<view>{{region?region:info.address}}<uni-icons type="bottom"></uni-icons></view>
			</view>
			<!--  -->
			<view v-if="visible" class="visible" @click="visible=false">
				<view @click.stop class="item">
					<view class="groupBtn">
						<view @click="visible=false">取消</view>
						<view @click="handlesure()" class="sure">确定</view>
					</view>
					<picker-view @change="bindChange" :value="value" class="picker-view"
						:indicator-style="indicatorStyle">
						<picker-view-column>
							<view class="item" v-for="(item,index) in province" :key="index">{{item.name}}</view>
						</picker-view-column>
						<picker-view-column>
							<view class="item" v-for="(item,index) in city" :key="index">{{item}}</view>
						</picker-view-column>
						<!-- <picker-view-column>
							<view class="item" v-for="(item,index) in area" :key="index">{{item?item:'请选择'}}</view>
						</picker-view-column> -->
					</picker-view>
				</view>
			</view>
		</view>
		<!-- 切换成员 -->
		<drawer></drawer>
	</view>
</template>

<script>
	import {
		mapState
	} from "vuex";
	import drawer from "@/element/drawer.vue"
	export default {
		name: "headerIndex",
		components: {
			drawer
		},
		data() {
			return {
				value: [2, 0],
				visible: false,
				region: "",
				province: [], //省
				city: [], //市
				area: [], //区
				indicatorStyle: `height: 45px;`,
			};
		},
		computed: {
			...mapState(["user", "familayList", "configInfo"]),
			info() {
				return this.user
			},
			userList() {
				return this.familayList
			},
			userAddress() {
				return this.user.address
			},
		},
		props: {
			isArea: {
				type: Boolean,
				default: true
			},
			isLeft: {
				type: Boolean,
				default: true
			},
		},
		mounted() {
			let that = this
			setTimeout(() => {
				if (that.isArea) {
					that.handleCityList()
				}
			}, 1000);
		},
		watch: {
			userAddress() {
				let that = this
				that.region = that.user.address
				that.handleCityList()
				that.$emit("getAciveCity", that.region)
			},
		},
		methods: {
			bindChange: function(e) {
				let that = this
				if (e.detail.value[0] != that.value[0]) {
					e.detail.value[1] = 0
				}
				that.value = e.detail.value
				that.city = that.province[that.value[0]].list
			},
			handlesure() {
				let that = this
				let defaultRegion = [that.province[that.value[0]].name, that.city[that.value[1]]]
				that.region = defaultRegion.join(",");
				that.visible = false
				that.$emit("getAciveCity", that.region)
			},
			// 添加成员
			handleAddUser(ind) {
				let that = this
				if (uni.getStorageSync('token')) {
					let index = that.userList.findIndex((profile) => profile.id == that.info.id)
					uni.navigateTo({
						url: ind == 1 ? "/pageTwo/my/userInfo?info=" + JSON.stringify(that.userList[index]) :
							"/pageTwo/my/userInfo"
					})
				} else {
					console.log("headerIndex跳转登录页面")
					uni.reLaunch({
						url: '/pageTwo/login/login'
					})
				}
			},
			// 地区
			handleCityList() {
				let that = this
				if ( that.configInfo.area_list.length) {
					if (that.user.address != '') {
						that.province = that.configInfo.area_list
						let str = that.user.address.split(',')[0]
						var Index0 = that.province.findIndex((profile) => profile.name == str);
						that.value[0] = Index0
						console.log("地区", str, Index0)
						that.city = that.province[Index0].list
					} else {
						that.value = [2, 0]
						that.city = that.configInfo.area_list[2].list
					}
				}
			},
		}
	}
</script>

<style lang="scss" scoped>
	.info {
		display: flex;
		flex-wrap: wrap;
		margin-left: 15px;
		width: calc(100% - 70px);

		view {
			width: 100%;
		}

		last-child {
			margin-top: 2px !important;
		}
	}

	.area {
		margin: 15px 10px 0;
		padding: 15px 10px 10px;
		background-color: #fff;
		width: calc(100% - 40px);
		display: flex;
		border-radius: 10px;
		justify-content: space-between;
		box-shadow: 0px 1px 5px 2px #dfe2e1fc;
	}


	.item {
		line-height: 80rpx;
		text-align: center;
	}

	.visible {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 9999;
		background-color: rgba(0, 0, 0, 0.6);

		.groupBtn {
			height: 50px;
			line-height: 50px;
			background-color: #fff;
			display: flex;
			justify-content: space-between;
			padding: 0 15px;
			border-bottom: 1px solid #dfdfdf;
			position: absolute;
			left: 0;
			right: 0;
			bottom: 45%;
			z-index: 999;

			view {
				height: 30px;
				line-height: 30px;
				padding: 0 10px;
				background-color: #dfdfdf;
				border-radius: 5px;
				margin-top: 10px;
			}

			.sure {
				background-color: $textcolor;
				color: #fff !important;
			}
		}

		.picker-view {
			width: 100%;
			height: 45%;
			bottom: 0;
			position: absolute;
			background-color: #fff;
		}
	}

	.t-icon-qiehuan1 {
		width: 25px;
		height: 25px;
	}
</style>