<template>
	<view class="drug-user-authentication position-relative">
		<view class="drug-user-authentication-item m-b-40">
			<view class="drug-user-authentication-title font-32 text-black m-b-20 font-weight-bold">用药人信息</view>
			<u-form :model="form" ref="uForm">
				<u-form-item label-width="20%" label="姓名" prop="name"><u-input v-model="form.name" input-align="right" placeholder="请输入姓名" /></u-form-item>
				<u-form-item label-width="20%" label="出生日期" prop="time">
					<view @click="assignModalShow('timeShow')">
						<u-input v-model="form.time" disabled placeholder="请选择出生日期" input-align="right" @click="assignModalShow('timeShow')"/>
					</view>
				</u-form-item>
				<u-form-item label-width="20%" label="性别" prop="sex">
					<view  @click="assignModalShow('sexShow')" >
						<u-input v-model="form.sex" disabled placeholder="请选择性别" input-align="right" @click="assignModalShow('sexShow')"/>
					</view>
				</u-form-item>
				<u-form-item label-width="20%" label="身份证" prop="idCard"><u-input v-model="form.idCard" input-align="right" placeholder="请输入身份证号码" /></u-form-item>
				<u-form-item label-width="20%" label="身高" prop="height">
					<view class="flex align-center">
						<u-input class="flex-1" type="number" v-model="form.height" input-align="right" placeholder="请输入身高" />
						<text class="font-30 text-black m-l-20">CM</text>
					</view>
				</u-form-item>
				<u-form-item label-width="20%" label="体重" prop="weight">
					<view class="flex align-center">
						<u-input class="flex-1" type="number" v-model="form.weight" input-align="right" placeholder="请输入体重" />
						<text class="font-30 text-black m-l-20">KG</text>
					</view>
				</u-form-item>
				<u-form-item label-width="20%" label="手机号码" type="number" prop="phone"><u-input v-model="form.phone" input-align="right" placeholder="请输入手机号码" /></u-form-item>
			</u-form>
		</view>
		
		<view class="drug-user-authentication-item flex align-center">
			<view class="font-32 text-black m-r-15 font-weight-bold">关系标签</view>
			<view class="flex align-center">
				<u-tag 
					v-for="(item, index) in tagList" 
					:key="index" 
					:text="item" 
					mode="dark" 
					class="m-r-20"
					:mode="index === tagCurrent ? 'dark' : 'plain'"
					:type="index === tagCurrent ? 'primary' : 'info'"
					@click="tagClick(item, index)"
				></u-tag>
			</view>
		</view>
		<view class="drug-user-authentication-footer position-fixed flex align-center justify-center">
			<u-button type="primary" shape="circle" @click="preserve">保存并使用</u-button>
		</view>

		<u-picker mode="time" v-model="timeShow" @confirm="timeConfirm" confirm-color="#01AEEA" zIndex="999999999"></u-picker>
		<u-select v-model="sexShow" :list="sexList" @confirm="sexConfirm" confirm-color="#01AEEA"></u-select>
	</view>
</template>

<script>
const sexList = [
	{
		value: '1',
		label: '男'
	},
	{
		value: '2',
		label: '女'
	}
];

const tagList = ['本人', '家庭成员', '亲戚', '朋友']
export default {
	data() {
		return {
			sexList,
			tagList,
			tagCurrent: null,
			form: {
				Id:'',
				name: '',
				sex: '',
				phone: '',
				height: '',
				weight: '',
				idCard: '',
				time: '',
				relationship: '',
				goodsIdDetails: '',
				goodsTypeText:''
			},
			timeShow: false,
			sexShow: false,
			rules: {
				name: [
					{
						required: true,
						message: '请输入姓名'
					},
					{
						validator: (rule, value, callback) => {
							let username = /^[\u4E00-\u9FA5\uf900-\ufa2d·s]{2,99}$/;
							return username.test(value);
						},
						message: '请输入正确格式的姓名',
						trigger: ['blur']
					}
				],
				idCard: [
					{
						required: true,
						message: '请输入身份证号码'
					},
					{
						message: '请输入正确格式的身份证号码',
						validator: (rule, value, callback) => {
							return this.$u.test.idCard(value);
						}
					}
				],
				phone: [
					{
						required: true,
						message: '请输入手机号码',
						trigger: ['change', 'blur']
					},
					{
						message: '请输入正确格式的手机号码',
						validator: (rule, value, callback) => {
							return this.$u.test.mobile(value);
						}
					}
				],
				sex: [
					{
						required: true,
						message: '请选择性别',
						trigger: ['change', 'blur']
					}
				],
				time: [
					{
						required: true,
						message: '请选择出生日期',
						trigger: ['change', 'blur']
					}
				],
				weight: [
					{
						required: true,
						message: '请输入体重',
						trigger: ['change', 'blur']
					}
				],
				height: [
					{
						required: true,
						message: '请输入身高',
						trigger: ['change', 'blur']
					}
				]
			},
			
		};
	},
	onReady() {
		this.$refs.uForm.setRules(this.rules);
	},
	onLoad(options) {
		// 将传过来的商品信息存入form 中
		this.form.goodsId = options.goodsId;
		this.form.typeName = options.typeName;
		this.form.isSituation = options.isSituation;
		this.form.num = options.num;
		this.form.price = options.price;
		this.form.goodSkuParam = options.goodSkuParam;
		this.form.prescriptionId = options.prescriptionId;
		this.form.num = options.num;
		this.form.num = options.num;
		
		// this.form.goodsIdDetails = options.goodsId;
		this.form.goodsTypeText = options.type;
		if(options.Id) {
			this.getDrugUserById(options.Id);
		}
	},
	methods: {
		assignModalShow (key) {
			this[key] = true
		},
		timeConfirm(time) {
			let { year, month, day } = time;
			this.form.time = `${year}/${month}/${day}`;
		},
		// 修改信息查询
		getDrugUserById(id) {
			uni.showLoading();
			this.$api('getDrugUserById',{id}).then(res => {
				let { code, result, message} = res;
				 if(code == 200) {
					 const form = {
						 ...result,
						Id: id,
					 	name: result.name,
					 	sex: result.sex==1? '男': '女',
					 	phone: result.phone,
					 	height: result.height + '',
					 	weight: result.weight + '',
					 	idCard: result.cardId,
					 	time: result.birthday,
					 	relationship: result.labelValue,
					 	goodsIdDetails: '',
					 	goodsTypeText:'',
					 }
					 this.tagList.forEach((item,index) => {
						 if(item == result.labelValue) {
							  this.tagCurrent = index
						 }
					 });
					 uni.hideLoading();
					 this.form = { ...this.form,...form}
					 console.log(result)
				 }else {
					 uni.hideLoading();
					 this.$Toast(message)
				 }
			}).catch(err => {
				uni.hideLoading();
				this.$Toast(err.message)
			})
		},
		sexConfirm(arr) {
			this.form.sex = arr[0].label
		},
		preserve() {
			console.log(this.form)
			this.$refs.uForm.validate(valid => {
				console.log(valid)
				if (valid) {
					console.log(valid)
					if (!this.form.relationship) return this.$Toast('请选择关系')
					const form = JSON.stringify(this.form);
					this.$tools.navigateTo({
						url: '/pagesB/nameAuthentication/uploadPapers?form='+form
					})
					console.log('验证通过');
				} else {
					console.log('验证失败');
				}
			});
		},
		tagClick(item, index) {
			this.form.relationship = item
			this.tagCurrent = index
		}
	}
};
</script>

<style lang="scss" scoped>
	/deep/ .u-tag {
		display: block !important; 
		width: initial !important;
		font-size: 30rpx !important;
		padding: 12rpx !important;
	}
	/deep/ .u-input__input{
		font-size: 32rpx !important;
	}
	/deep/.u-form-item--left__content__label {
		width: 140rpx !important;
		font-size: 32rpx;
	}
	/deep/ input{
		font-size: 32rpx;
	}

.drug-user-authentication {
	padding: 20rpx 20rpx 140rpx;
	&-footer {
		z-index: 1;
		height: 120rpx;
		bottom: 0;
		left: 0;
		width: 100%;
		background: #fff;
		/deep/.u-btn {
			width: 660rpx;
			height: 80rpx;
		}
	}
	
	&-item {
		background: #ffffff;
		border-radius: 12rpx;
		box-shadow: 0px 3rpx 6rpx 0px rgba(0,0,0,0.16);
		 padding: 20rpx 40rpx;
	}
}
</style>
