<template>
	<view class="index-page">
		<!-- 顶部 -->
		<view class="index-navbar">
			<view style="position: relative;height: 392rpx;">
				<image class="index-bg" src="@/static/images/bg.png" mode=""></image>
				<u-navbar bgColor='rgba(0,0,0,0)' placeholder :safeAreaInsetTop="true" @leftClick="return1">

				</u-navbar>
				<view class="header-down " style="padding: 28rpx 0 0 32rpx;box-sizing: border-box;">
					<view class="mingpianfont">
						邀请你完善基础求职名片
					</view>
					<view class="explain">
						<text>海量名企职位｜</text>
						<text>优质猎头服务｜</text>
						<text>全程隐私保护</text>
					</view>
				</view>
			</view>
		</view>
		<!-- 个人信息 -->
		<view class="personal">
			<view class="body-input u-flex-col u-row-center ">
				<text class="input-title">姓名</text>
				<u--input customStyle="padding:0 !important" type="text" placeholder="请填写您的真实姓名" border
					placeholderClass='input-style' v-model="from.name"></u--input>
			</view>
			<view class="body-input u-flex-col u-row-center" @click="sexShow  = true">
				<text class="input-title">性别</text>
				<u--input :disabled="true" disabledColor="#fff" customStyle="padding:0 !important" type="text"
					placeholder="请选择您的性别" border placeholderClass='input-style' suffixIcon="arrow-right"
					suffixIconStyle="font-size: 32rpx;font-weight: 400;color: #CACACA;" v-model="sexvalue"></u--input>
			</view>
			<view class="body-input u-flex-col u-row-center" @click="birthdayBtn">
				<text class="input-title">出生年月</text>
				<u--input :disabled="true" disabledColor="#fff" customStyle="padding:0 !important" type="text"
					placeholder="请选择您的出生年月" border placeholderClass='input-style' suffixIcon="arrow-right"
					suffixIconStyle="font-size: 32rpx;font-weight: 400;color: #CACACA;"
					v-model="from.birthday"></u--input>
			</view>
			<view class="body-input u-flex-col u-row-center" style="height: 128rpx;">
				<view class="u-flex u-row-between ">
					<view class="">
						<text class="input-title">求职身份</text>
					</view>
					<u-subsection :list="list" :current="current" @change="sectionChange"
						v-model="from.job_role"></u-subsection>
				</view>
			</view>
			<view class="body-input u-flex-col u-row-center" @click="cityShow = true">
				<text class="input-title">户口所在地</text>
				<u--input :disabled="true" disabledColor="#fff" customStyle="padding:0 !important" type="text"
					placeholder="请选择您的户口所在地" border placeholderClass='input-style' suffixIcon="arrow-right"
					suffixIconStyle="font-size: 32rpx;font-weight: 400;color: #CACACA;" v-model="city1"></u--input>
			</view>
			<view class="body-input u-flex-col u-row-center" @click="jobShow = true">
				<text class="input-title">当前求职状态</text>
				<u--input :disabled="true" disabledColor="#fff" customStyle="padding:0 !important" type="text"
					placeholder="请选择您当前求职状态" border placeholderClass='input-style' suffixIcon="arrow-right"
					suffixIconStyle="font-size: 32rpx;font-weight: 400;color: #CACACA;" v-model="job"></u--input>
			</view>
			<view class="body-input u-flex-col u-row-center" @click="workBtn">
				<text class="input-title">参加工作时间</text>
				<u--input :disabled="true" disabledColor="#fff" customStyle="padding:0 !important" type="text"
					placeholder="请选择您参加工作的时间" border placeholderClass='input-style' suffixIcon="arrow-right"
					suffixIconStyle="font-size: 32rpx;font-weight: 400;color: #CACACA;"
					v-model="from.job_time"></u--input>
			</view>
			<view class="body-input u-flex-col u-row-center">
				<text class="input-title">邮箱</text>
				<u--input customStyle="padding:0 !important" type="text" placeholder="请填写(选填)" border
					placeholderClass='input-style' v-model="from.email"></u--input>
			</view>
			<view class="body-input u-flex-col u-row-center">
				<text class="input-title">手机号</text>
				<u--input customStyle="padding:0 !important" type="text" placeholder="请填写" border
					placeholderClass='input-style' v-model="from.mobile"></u--input>
			</view>
			<view class="body-input u-flex-col u-row-center" @click="maritalShow = true">
				<text class="input-title">婚姻状态</text>
				<u--input :disabled="true" disabledColor="#fff" customStyle="padding:0 !important" type="text"
					placeholder="请选择(选填)" border placeholderClass='input-style' suffixIcon="arrow-right"
					suffixIconStyle="font-size: 32rpx;font-weight: 400;color: #CACACA;" v-model="status"></u--input>
			</view>
			<view class="body-input u-flex-col u-row-center" @click="politicsShow = true">
				<text class="input-title">政治面貌</text>
				<u--input :disabled="true" disabledColor="#fff" customStyle="padding:0 !important" type="text"
					placeholder="请选择(选填)" border placeholderClass='input-style' suffixIcon="arrow-right"
					suffixIconStyle="font-size: 32rpx;font-weight: 400;color: #CACACA;" v-model="politics"></u--input>
			</view>
			<view class="button" @click="next">
				保存
			</view>
		</view>
		<!-- 选择器 -->
		<u-picker title="性别" :show="sexShow" @confirm="sexConfirm" :columns="sexdata" @cancel='close()'></u-picker>
		<u-picker title="政治面貌" keyName="name" :show="politicsShow" @confirm="politicsConfirm" :columns="politicslist"
			@cancel='close()'></u-picker>
		<u-picker title="婚姻状态" keyName="name" :show="maritalShow" @confirm="maritalConfirm" :columns="maritallist"
			@cancel='close()'>
		</u-picker><u-picker title="求职状态" keyName="name" :show="jobShow" @confirm="jobConfirm" :columns="joblist"
			@cancel='close()'></u-picker>
		<u-datetime-picker ref="picker" title="出生日期" :minDate="minDate" @confirm="birthdayConfirm" :show="birthdayShow"
			mode="date" @cancel='close()'></u-datetime-picker>
		<u-datetime-picker ref="pickers" title="参加工作时间" :minDate="minDate1" @confirm="workConfirm" :show="workShow" mode="date"
			@cancel='close()'></u-datetime-picker>
		<u-picker ref="uPicker" keyName="name" title="户口所在地" :defaultIndex="indexs" :show="cityShow" :columns="cityList"
			@confirm="cityconfirm" @cancel="cityShow = false" @change="changeHandler"></u-picker>
	</view>
</template>

<script>
	import {
		politics,
		marital,
		getAllArea,
		getjob,
		profile
	} from "@/units/inquire.js"
	export default {
		data() {
			return {

				addressData: {
					id: "",
					province: "",
					city: "",
					area: "",
					detail: "",
					userName: "",
					phone: "",
					isDefault: false
				}, //地址数据
				province: [], //省数据
				city: [], //市数据
				area: [], //区数据
				provinceid: "", //省数据
				cityid: "", //市数据
				areaid: "", //区数据
				indexs: [], //默认地区下标


				//选择器状态
				sexShow: false, //性别
				birthdayShow: false, //出生年月
				politicsShow: false, //政治面貌
				maritalShow: false, //婚姻状态
				workShow: false, //工作时间
				cityShow: false, //户口所在地
				jobShow: false, //工作显示




				// 列表数据
				sexvalue: "", //性别传的值
				status: "", //婚姻状态
				politics: "", //政治面貌
				city1: "", //地址
				job: "",
				from: {
					name: "",
					sex: "",
					birthday: "",
					job_name: "",
					industry_id: "", //行业id
					province_id: "", //省份id
					city_id: "", //城市id
					invitation_code: "", //邀请码
					avatar: "", //头像
					job_role: "student", //求职身份
					job_time: "", //参加工作时间
					mobile: "", //手机号
					domicile_province_id: "", //户籍省份
					domicile_city_id: "", //市
					political_status_id: "", //政治面貌
					marital_status_id: "", //婚姻状态
					job_status_id: "", //求职
					email: "" //邮箱
				},
				minDate: "",
				minDate1: "",
				height: '',
				list: ['学生', '职场人'],
				current: 0,
				sexdata: [
					['男', '女', '保密']
				],
				politicslist: [
					[]
				],
				maritallist: [
					[]
				],
				cityList: [], //数据地址
				cityids: [], //数据地址
				joblist: []
			}
		},
		onLoad() {
			// this.getHeight()
			this.minDate = Number(new Date('1900-01-01'));
			this.minDate1 = Number(new Date('1980-01-01'));
			this.getpolitics()
			this.getmarital()
			this.AllArea()
			this.getJob()  
		},
		methods: {
			workBtn(){
				this.workShow = true
				this.$refs.pickers.innerValue = new Date(1672502400000).getTime()
			},
			// 获取政治面貌
			getpolitics() {
				politics().then((res) => {
					this.politicslist[0] = res.data
				})
			},
			//婚姻状态
			getmarital() {
				marital().then((res) => {
					this.maritallist[0] = res.data
				})
			},
			//获取求职状态
			getJob() {
				getjob().then((res) => {
					this.joblist[0] = res.data
				})
			},
			//所有地区
			AllArea() {
				getAllArea().then((res) => {
					console.log(res);
					this.province = res.data.map(t => {
						return {
							name: t.name,
							id: t.id
						}
					})
					console.log("aaa", this.province);
					this.city = res.data.map(t => t.children.map(v => {
						return {
							name: v.name,
							id: v.id
						}
					}))
					this.area = res.data.map(t => t.children.map(v => v.children.map(i => {
						return {
							name: i.name,
							id: i.id
						}
					})))
					//默认显示数据
					// this.cityList = [
					// 	this.province.map(res => res.name),
					// 	this.city[0].map(res => res.name),
					// 	this.area[0][0].map(res => res.name)
					// ]
					let a = []
					let b = []
					let c = []
					this.province.map(res => {
						a.push({
							name: res.name,
							id: res.id,
						})
					})
					this.city[0].map(res => {
						b.push({
							name: res.name,
							id: res.id,
						})
					})
					this.area[0][0].map(res => {
						c.push({
							name: res.name,
							id: res.id,
						})
					})

					this.cityList = [a, b, c]
					console.log(33, this.cityList);
					if (this.addressData.province && this.addressData.city && this.addressData.area) {
						//省索引
						let pIdx = this.province.findIndex(v => v.name == this.addressData.province);
						//根据省索引设置默认市数据
						this.columns[1] = this.city[pIdx].map(res => res.name)
						//市索引
						let cIdx = this.city[pIdx].findIndex(v => v.name == this.addressData.city);
						//根据市索引设置默认区数据
						this.columns[2] = this.area[pIdx][cIdx].map(res => res.name)
						//区索引
						let aIdx = this.area[pIdx][cIdx].findIndex(v => v.name == this.addressData.area);
						this.indexs = [pIdx, cIdx, aIdx];
						// console.log(pIdx, cIdx, aIdx);
						console.log(this.indexs);
					}
				})
			},
			changeHandler(e) {
				const {
					columnIndex, //当前改变值的列下标
					value,
					values, // values为当前变化列的数组内容
					indexs, //当前地区值下标
					picker = this.$refs.uPicker
				} = e
				//columnIndex代表第几列，意思是下标为0的列发生变化

				if (columnIndex === 0) {
					picker.setColumnValues(1, this.city[indexs[0]].map(v => {
						return {
							name: v.name,
							id: v.id
						}
					}))
					picker.setColumnValues(2, this.area[indexs[0]][0].map(v => {
						return {
							name: v.name,
							id: v.id
						}
					}))
				}
				if (columnIndex === 1) {
					picker.setColumnValues(2, this.area[indexs[0]][indexs[1]].map(v => {
						return {
							name: v.name,
							id: v.id
						}
					}))
				}
			},

			// 选择器
			// 求职身份选择器
			sectionChange(index) {
				this.current = index;
				if (index == 0) {
					this.from.job_role = "student"
				} else {
					this.from.job_role = "employee"
				}
			},
			//性别选择器确认
			sexConfirm(e) {
				if (e.value[0] == '男') {
					this.sexvalue = "男",
						this.from.sex = "male"
				} else if (e.value[0] == "女") {
					this.sexvalue = "女",
						this.from.sex = "female"
				} else {
					this.sexvalue = "保密",
						this.from.sex = "secret"
				}
				this.sexShow = false
			},
			//点击显示时间选择器
			birthdayBtn() {
				this.birthdayShow = true
				//new Date(this.endDate).getTime()为你需要在选择器上显示的时间戳
				this.$refs.picker.innerValue = new Date(946656000000).getTime()
			},
			//出生日期选择器
			async birthdayConfirm(e) {
				const timeFormat = uni.$u.timeFormat;
				let timeValue = await timeFormat(e.value, 'yyyy-mm-dd');
				this.from.birthday = timeValue;
				this.birthdayShow = false
			},
			//政治面貌
			politicsConfirm(e) {
				this.from.political_status_id = e.value[0].id
				this.politics = e.value[0].name
				this.politicsShow = false;
			},
			//婚姻状态
			maritalConfirm(e) {
				this.from.marital_status_id = e.value[0].id
				this.status = e.value[0].name
				this.maritalShow = false
			},
			//参加工作时间
			async workConfirm(e) {
				const timeFormat = uni.$u.timeFormat;
				let timeValue = await timeFormat(e.value, 'yyyy-mm-dd');
				this.from.job_time = timeValue;
				this.workShow = false
			},
			//户口地址
			cityconfirm(e) {
				let a = e.value[0].name + e.value[1].name + e.value[2].name
				let ids = String(e.value[0].id) + String(e.value[1].id) + String(e.value[2].id)
				this.from.domicile_city_id = e.value[1].id
				this.from.domicile_province_id = e.value[0].id
				// this.city1 = e.value.join("")
				this.city1 = a
				this.cityShow = false
			},
			jobConfirm(e) {
				this.job = e.value[0].name
				this.from.job_status_id = e.value[0].id
				this.jobShow = false
			},
			//关闭模态框
			close() {
				this.sexShow = false;
				this.birthdayShow = false;
				this.politicsShow = false;
				this.maritalShow = false
				this.workShow = false
				this.cityShow = false
				this.jobShow = false
			},
			next() {
				if (!this.from.name) {
					this.$u.toast("请填写姓名")
					return
				}
				if (!this.sexvalue) {
					this.$u.toast("请选择性别")
					return
				}
				if (!this.from.birthday) {
					this.$u.toast("请选择出生年月")
					return
				}
				if (!this.city1) {
					this.$u.toast("请选择户口所在地")
					return
				}
				if (!this.job) {
					this.$u.toast("请选择当前求职状态")
					return
				}
				if (!this.from.job_time) {
					this.$u.toast("请选择工作时间")
					return
				}
				if (!this.$u.test.mobile(this.from.mobile)) {
					this.$u.toast("请输入正确的手机号")
					return
				}
				if (uni.$u.test.email(this.from.email)) {
					this.$u.toast("请输入正确的邮箱号")
					return
				}
				profile({
					...this.from
				}).then(res => {
					
				})
				
				uni.setStorageSync("from",this.from)

				uni.navigateTo({
					url: '../pagesA/userinfo'
				})
			},
			return1() {
				uni.navigateBack()
			},
			getHeight() {
				const query = uni.createSelectorQuery().in(this);
				query.select('#height').boundingClientRect(data => {
					this.height = (data.height) * 2
				}).exec();
			}
		}
	}
</script>

<style lang="scss">
	page {
		background-color: #F3F3F3;
	}

	.index-page {
		overflow: hidden;
		margin-bottom: 60rpx;

		.mingpianfont {
			height: 50rpx;
			font-size: 36rpx;
			font-family: PingFangSC-Medium, PingFang SC;
			font-weight: 500;
			color: #FFFFFF;
			line-height: 50rpx;
		}

		.explain {
			margin-top: 24rpx;
			width: 528rpx;
			height: 36rpx;
			font-size: 26rpx;
			font-family: PingFangSC-Regular, PingFang SC;
			font-weight: 400;
			color: #FFFFFF;
			line-height: 36rpx;
		}


		//个人信息
		.personal {
			width: 750rpx;
			background: #FFFFFF;
			border-radius: 28rpx 28rpx 0rpx 0rpx;
			margin-top: -40rpx;
			position: relative;
			z-index: 99;
			padding: 40rpx 32rpx 0;
			margin-bottom: 60rpx;
			box-sizing: border-box;

			.body-input {
				height: 170rpx;
				border-bottom: 2rpx solid #F4F4F4;

				.input-title {
					font-size: 26rpx;
					font-family: PingFangSC-Regular, PingFang SC;
					font-weight: 400;
					color: #888888;
					margin-bottom: 20rpx;
					margin-top: 30rpx;
					box-sizing: border-box;
				}

				.input-style {
					font-size: 32rpx;
					font-family: PingFangSC-Regular, PingFang SC;
					font-weight: 400;
					color: #CACACA;
				}
			}

			.button {
				width: 686rpx;
				height: 88rpx !important;
				background: #0C66C2;
				border-radius: 12rpx;
				font-size: 32rpx;
				font-family: PingFangSC-Medium, PingFang SC;
				font-weight: 500;
				color: #FFFFFF;
				line-height: 88rpx;
				margin: 10rpx 0 0rpx 0;
				display: flex;
				justify-content: center;
			}
		}












		.index-item {
			// width: 702rpx;
			// background: #FFFFFF;
			// border-radius: 20rpx;
			// margin: 20rpx auto;
			// padding: 0 20rpx 24rpx 10rpx;

			.item-down {
				text:first-child {
					font-size: 22rpx;
					font-family: SFPro-Regular, SFPro;
					font-weight: 400;
					color: #666666;
				}

				text:last-child {
					font-size: 22rpx;
					font-family: PingFangSC-Regular, PingFang SC;
					font-weight: 400;
					color: #666666;
				}
			}

			.item-gongsi {
				margin-bottom: 16rpx;

				.text2 {
					font-size: 24rpx;
					font-family: SFPro-Regular, SFPro;
					font-weight: 400;
					color: #666666;
				}

				.logo {
					width: 42rpx;
					height: 42rpx;
					border-radius: 10rpx;
					margin-right: 16rpx;
				}

				.text1 {
					max-width: 192rpx;
					font-size: 24rpx;
					font-family: PingFangSC-Regular, PingFang SC;
					font-weight: 400;
					color: #444444;
					margin-right: 12rpx;
				}
			}

			.item-label {
				margin-bottom: 20rpx;

				text {
					margin-right: 16rpx;
					line-height: 46rpx;
					background: #F7F7F7;
					border-radius: 4rpx;
					padding: 0 14rpx;
					font-size: 24rpx;
					font-family: PingFangSC-Regular, PingFang SC;
					font-weight: 400;
					color: #5F5F5F;
				}
			}

			.item-top {
				height: 88rpx;

				.text1 {
					font-size: 32rpx;
					font-family: PingFangSC-Medium, PingFang SC;
					font-weight: 500;
					color: #222222;
					margin-right: 16rpx;
				}

				.text2 {
					width: 50rpx;
					line-height: 32rpx;
					background: rgba(255, 83, 53, 0.1);
					border-radius: 4rpx;
					text-align: center;
					font-size: 20rpx;
					font-family: PingFangSC-Regular, PingFang SC;
					font-weight: 400;
					color: #FF5335;
					margin-right: 12rpx;
				}

				.text3 {
					width: 90rpx;
					line-height: 32rpx;
					background: #FFF2E8;
					border-radius: 4rpx;
					text-align: center;
					font-size: 20rpx;
					font-family: PingFangSC-Regular, PingFang SC;
					font-weight: 400;
					color: #FF8620;
					margin-right: 12rpx;
				}

				.text4 {
					line-height: 32rpx;
					background: #E6EFF8;
					border-radius: 4rpx;
					padding: 0 4rpx;
					text-align: center;
					font-size: 20rpx;
					font-family: SFPro-Regular, SFPro;
					font-weight: 400;
					color: #0C66C2;
				}

				.text5 {
					font-size: 32rpx;
					font-family: JDZhengHT-Regular, JDZhengHT;
					font-weight: 400;
					color: #0C66C2;
				}
			}
		}

		.index-navbar {
			position: sticky;
			top: 0;
			left: 0;
			width: 750rpx;
			z-index: 10;

			.header-down {
				height: 92rpx;
				padding: 20rpx 24rpx;
				box-sizing: border-box;

				.font {
					font-size: 40rpx;
					font-family: PingFangSC-Medium, PingFang SC;
					font-weight: 500;
					color: #222222;
				}

				.right-item {
					padding: 0 16rpx;
					height: 52rpx;
					background: #F3F3F3;
					border-radius: 4rpx;
					margin-left: 20rpx;

					.text {
						margin-right: 4rpx;
						font-size: 26rpx;
						font-family: PingFangSC-Regular, PingFang SC;
						font-weight: 400;
						color: #666666;
					}
				}

				.down-left {
					.text {
						margin-right: 4rpx;
						font-size: 26rpx;
						font-family: PingFangSC-Medium, PingFang SC;
						font-weight: 500;
						color: #222222;
					}
				}
			}

			.index-bg {
				position: absolute;
				top: 0;
				left: 0;
				z-index: -1;
				width: 750rpx;
				height: 392rpx;
			}
		}

		.index-header {
			flex: 1;
			padding: 0 32rpx;
			height: 50rpx;

			.index-search {
				width: 200rpx;
				height: 64rpx;
				background: #FFFFFF;
				border-radius: 20rpx;
				padding: 0 28rpx;

				.text1 {
					font-size: 24rpx;
					font-family: PingFangSC-Regular, PingFang SC;
					font-weight: 400;
					color: #999999;
					margin-left: 16rpx;
				}
			}

			.index-tabs {
				text:first-child {
					font-size: 36rpx;
					font-family: PingFangSC-Medium, PingFang SC;
					font-weight: 500;
					color: #222222;
				}

				text:last-child {
					width: 76rpx;
					height: 12rpx;
					background: linear-gradient(270deg, #208EFF 0%, rgba(28, 159, 227, 0) 100%);
					margin-top: -20rpx;
					border-radius: 100rpx;
				}
			}
		}
	}

	::v-deep .u-navbar__content__left {
		padding: 0 !important;
	}

	::v-deep .u-subsection {
		width: 312rpx !important;
	}
</style>