<template>
	<view class="box">
		<view class="lanBox">
			<view class="headbox">
				<view class="touxiang">
					<image v-if="headimg" :src="headimg" class="headimage" />
					<icon v-else class="iconfont icon-user-filling headimage"></icon>
				</view>
			</view>
			<view class="lan border-bottom">
				<view class="left">姓名</view>
				<view class="right">
					<input name="name" type="text" v-model="memInfo.nickname" placeholder="请输入姓名" />
					<uni-icons type="clear" color="#999" v-if="memInfo.nickname" @click="memInfo.nickname=''"
						size="20"></uni-icons>
				</view>
			</view>
			<view class="lan border-bottom">
				<view class="left">性别</view>
				<view class="right">
					<view class="radio">
						<uni-icons :type="memInfo.gender==1?'checkbox-filled':'circle'" @click="memInfo.gender=1"
							size="24" :color="memInfo.gender==1?'#fea606':'#dfdfdf'"></uni-icons>男
					</view>
					<view class="radio ml-15">
						<uni-icons :type="memInfo.gender==2?'checkbox-filled':'circle'" @click="memInfo.gender=2"
							size="24" :color="memInfo.gender==2?'#fea606':'#dfdfdf'"></uni-icons>女
					</view>
				</view>
			</view>
			<view class="lan border-bottom">
				<view class="left">身高</view>
				<view class="right">
					<input name="name" class="mr-5" type="digit" v-model="memInfo.height" placeholder="请输入身高" />CM
					<uni-icons type="clear" color="#999" v-if="memInfo.height" @click="memInfo.height=''"
						size="20"></uni-icons>
				</view>
			</view>
			<view class="lan border-bottom">
				<view class="left">体重</view>
				<view class="right">
					<input name="name" type="digit" class="mr-5" v-model="memInfo.weight" placeholder="请输入体重" />KG
					<uni-icons type="clear" color="#999" v-if="memInfo.weight" @click="memInfo.weight=''"
						size="20"></uni-icons>
				</view>
			</view>
			<view class="lan border-bottom">
				<view class="left">出生日期</view>
				<view class="right">
					<picker mode="date" :end="endDate" @change="maskClick"
						:value="memInfo.birthday?memInfo.birthday:endDate" :fields="fields">
						<view class="uni-input">{{memInfo.birthday?memInfo.birthday:'请选择'}}</view>
						<icon class="iconfont icon-arrow-down-bold"></icon>
					</picker>
				</view>
			</view>
			<view class="lan border-bottom">
				<view class="left">活动系数</view>
				<view class="right">
					<picker mode="selector" @change="changeClickType" :range="activityLevel" range-key="name"
						:value="levelInd">
						<view>
							{{memInfo.activity_level?activityLevel[levelInd].name:'请选择'}}
							<icon class="iconfont icon-arrow-down-bold"></icon>
						</view>
					</picker>
				</view>
			</view>
		</view>
		<view class="btn" @click="confirmInfo">提交</view>
	</view>
</template>
<script>
	import {
		mapState
	} from "vuex";
	export default {
		data() {
			return {
				sexItem: [
					"男",
					"女"
				],
				memInfo: {
					birthday: "",
					height: "",
					weight: "",
					gender: 0,
					nickname: "",
					activity_level: "",
				},
				fields: "",
				levelInd: 0,
				isEdit: false,
			};
		},
		computed: {
			...mapState(["user", "familayList", "configInfo"]),
			endDate() {
				return this.$tools.getDate("start")
			},
			activityLevel() {
				return this.configInfo.activity_level
			}
		},
		onLoad(options) {
			let that = this
			if (options.info) { //编辑
				let info = JSON.parse(options.info)
				that.memInfo = info
				that.isEdit = true
				console.log("that.memInfo ", that.memInfo)
			} 
			// #ifdef APP-PLUS 
			that.fields = "time"
			// #endif 
			// #ifndef APP-PLUS 
			that.fields = "day"
			// #endif
		},
		watch: {
			familayList() {
				let that = this
				let userid = ""
				let found = that.familayList.find(e => e.id == that.userId);
				userid = found !== undefined ? that.userId : that.familayList[0].id
				uni.setStorageSync('userid', found !== undefined ? found.id : userid)
				uni.setStorageSync('gender', found !== undefined ? found.gender : that.familayList[0].gender)
				that.$store.commit('changeUser', found !== undefined ? found : that.familayList[0])
				that.$store.dispatch("getResult", {
					aud_id: userid
				})
				if (!that.isEdit && that.familayList.length == 1) {
					uni.switchTab({
						url: "/pages/home/home"
					})
				} else {
					uni.navigateBack()
				}
			}
		},
		methods: {
			// 提交
			confirmInfo() {
				let that = this
				if (!that.memInfo.nickname) {
					that.$tools.msg("请输入姓名")
					return;
				}
				if (!that.memInfo.height) {
					that.$tools.msg("请选择身高")
					return;
				}
				if (!that.memInfo.weight) {
					that.$tools.msg("请选择体重")
					return;
				}
				if (!that.memInfo.birthday) {
					that.$tools.msg("请选择出生日期")
					return;
				}
				if (!that.memInfo.activity_level) {
					that.$tools.msg("请选择活动系数")
					return;
				}
				let https = that.isEdit ? that.$model.getEditUser(that.memInfo) : that.$model.getAddUser(that.memInfo)
				return https.then(res => {
					console.log("成功", res)
					if (res.code == 0) {
						that.$tools.msg("提交成功");
						that.userId = res.data.aud_id
						that.$store.dispatch('getFamilyList', {
							type: 2
						})
					} else {
						that.$tools.msg(res.msg);
					}
				});
			},
			// 公共手动记录内容
			handlePublicRecord(id) {
				let that = this
				that.$model.getPublicRecord({
					aud_id: id
				}).then(res => {
					console.log("公共手动记录", res)
					if (res.code == 0) {
						that.$store.commit('changePublicRecord', res.data)
					}
				})
			},
			//确定年龄
			maskClick(e) {
				console.log("出生日期", e.detail.value)
				this.memInfo.birthday = e.detail.value
			},
			//确定性别
			onsexArr(e) {
				this.memInfo.gender = this.sexItem[e.target.value] == "男" ? 1 : 2
			},
			changeClickType(e) {
				this.levelInd = e.target.value
				this.memInfo.activity_level = this.activityLevel[e.target.value].val
			}
		},

	};
</script>

<style scoped="scoped" lang="scss">
	.box {
		height: 100vh;
		background-color: #fff;
	}

	input {
		border: none;
		background: inherit;
	}

	.headbox {
		height: 180rpx;
		padding-top: 10px;
		border-radius: 0 0 5px 5px;
		background: $maincolor;
	}

	.headimage {
		display: block;
		padding-top: 10px;
		width: 70px;
		height: 70px;
		border-radius: 50%;
		font-size: 140rpx;
		margin: auto;
		color: #fff;
	}

	.lan {
		display: flex;
		align-items: center;
		font-size: 32rpx;
		padding: 5px 0;
		margin: 5px 15px;
		border-bottom: 1px solid #f7f7f7;
	}

	.left {
		width: 24%;
		text-align: left;
	}

	.right {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		width: 72%;
		height: 40px;
		line-height: 40px;
		box-sizing: border-box;
		position: relative;
		text-align: right;

		.radio {
			display: flex;
			align-items: center;
		}

		picker {
			width: 100%;
			text-align: right;
			border: none;
			margin-right: 15px;
			font-size: 32rpx;
			color: #333333;
		}

		/deep/input {
			height: 35px;
			padding-top: 1px;
			font-size: 32rpx;
			color: #333333;
			margin-right: 15px;
		}

		.iconfont {
			color: #333333;
			font-size: 32rpx;
			position: absolute;
			right: -10px;
			top: 0;
		}
	}

	.btn {
		width: auto;
		margin: 40px 15px 0;
		background: $btncolor !important;
	}

	.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;
		}

		.item {
			line-height: 45px;
			text-align: center;
		}
	}
</style>