<template>
	<view>
		<status-nav navBarTitle="个人信息" returnColor="#c2c2c2"></status-nav>
		<container-subgroup-two>
			<view slot="content" style="margin: 0 -30rpx;">
				<view class="fon28">
					<view class="bacf pad-sx30 pad-zy40 disac bbot">
						<view class="bold width30 flexs">我的昵称</view>
						<view class="width100" style="color: #8b8b8b;">
							<input type="text" v-model="nickname" placeholder="请输入昵称" placeholder-style="font-size:28rpx;color:#8b8b8b;" />
						</view>
					</view>
					<view class="bacf pad-sx30 pad-zy40 disac bbot">
						<view class="bold width30 flexs">姓名</view>
						<view class="width100" style="color: #8b8b8b;">
							<input type="text" v-model="full_name" placeholder="请输入姓名" placeholder-style="font-size:28rpx;color:#8b8b8b;" />
						</view>
					</view>
					<view class="bacf pad-sx30 pad-zy40 disac bbot">
						<view class="bold width30 flexs">性别</view>
						<view class="disac">
							<view @tap="chooseGender(1)" class="disac gender-box" :class="genderNum==1 ? 'gender-active' : ''">
								<view></view>
								<text>男</text>
							</view>
							<view @tap="chooseGender(2)" class="disac gender-box" :class="genderNum==2 ? 'gender-active' : ''">
								<view></view>
								<text>女</text>
							</view>
						</view>
					</view>
					<view class="bacf pad-sx30 pad-zy40 disac bbot">
						<view class="bold width30 flexs">联系电话</view>
						<view class="width100" style="color: #8b8b8b;">
							<input type="number" v-model="contact_number" maxlength="11" placeholder="请输入联系电话" placeholder-style="font-size:28rpx;color:#8b8b8b;" />
						</view>
					</view>
					<view class="bacf pad-sx30 pad-zy40 disac bbot">
						<view class="bold width30 flexs">电子邮箱</view>
						<view class="width100" style="color: #8b8b8b;">
							<input type="text" v-model="e_mail" placeholder="请输入电子邮箱" placeholder-style="font-size:28rpx;color:#8b8b8b;" />
						</view>
					</view>
					<view class="bacf pad-sx30 pad-zy40 disac bbot mar-s10">
						<view class="bold width30 flexs">身份证号码</view>
						<view class="width100" style="color: #8b8b8b;">
							<input type="text" v-model="id_card_no" placeholder="请输入身份证号码" placeholder-style="font-size:28rpx;color:#8b8b8b;" />
						</view>
					</view>
					<view class="bacf pad-sx30 pad-zy40 disac bbot">
						<view class="bold width30 flexs">身份证正面</view>
						<view style="color: #f26803;" class="width100 disjbac">
							<text @tap="previewImageEv(0)">查看</text>
							<image @tap="uploadImgEv(0)" src="/static/public/icon-personInfo-upload.png" mode="widthFix" lazy-load style="width: 128rpx;height: 50rpx;"></image>
						</view>
					</view>
					<view class="bacf pad-sx30 pad-zy40 disac bbot">
						<view class="bold width30 flexs">身份证反面</view>
						<view style="color: #f26803;" class="width100 disjbac">
							<text @tap="previewImageEv(1)">查看</text>
							<image @tap="uploadImgEv(1)" src="/static/public/icon-personInfo-upload.png" mode="widthFix" lazy-load style="width: 128rpx;height: 50rpx;"></image>
						</view>
					</view>
					<view class="bacf pad-sx30 pad-zy40 disac bbot">
						<view class="bold width30 flexs">意外险材料</view>
						<view style="color: #f26803;" class="width100 disjbac">
							<text @tap="previewImageEv(2)">查看</text>
							<image @tap="uploadImgEv(2)" src="/static/public/icon-personInfo-upload.png" mode="widthFix" lazy-load style="width: 128rpx;height: 50rpx;"></image>
						</view>
					</view>
					<view class="bacf pad-sx30 pad-zy40 disac bbot">
						<view class="bold flexs mar-y40">签署工程师合作协议</view>
						<view style="color: #f26803;" class="width100 disjbac">
							<text @tap="previewImageEv(3)">查看</text>
							<image @tap="uploadImgEv(3)" src="/static/public/icon-personInfo-upload.png" mode="widthFix" lazy-load style="width: 128rpx;height: 50rpx;"></image>
						</view>
					</view>
					<view class="bacf pad-sx30 pad-zy40 disac bbot">
						<view class="bold width30 flexs">技能证书</view>
						<view style="color: #f26803;" class="width100 disjbac">
							<text @tap="previewImageEv(4)">查看</text>
							<image @tap="uploadImgEv(4)" src="/static/public/icon-personInfo-upload.png" mode="widthFix" lazy-load style="width: 128rpx;height: 50rpx;"></image>
						</view>
					</view>
				</view>
				<view class="person-btn" @tap="sumbmitData">提交保存</view>
			</view>
		</container-subgroup-two>
	</view>
</template>

<script>
	import containerSubgroupTwo from '@/components/containers/container-subgroup-two.vue';
	import { uploadImg } from '@/jsFile/public-api.js';
	export default {
		components:{
			containerSubgroupTwo
		},
		data() {
			return {
				nickname:'', // 我的昵称
				full_name:'', // 姓名
				genderNum:1 ,// 1：男		2：女
				contact_number:'', // 联系电话
				e_mail:'', // 电子邮箱
				id_card_no:'', // 身份证号码
				imgList:[],
				flag:true,
				temporaryImg:[],
			}
		},
        onLoad() {
			// 调用获取个人信息事件
           this.getData() 
        },
		methods: {
			// 获取个人信息
			getData(){
			   this.$requst.get('/universal/api.user/user_info').then(res => {
					if (res.code == 1 && res.data.length != 1) {
						// 我的昵称
						this.nickname=res.data.nickname;
						// 姓名
						this.full_name=res.data.name;
						// res.data.sex ==> 2：男 1：女 0：未知
						res.data.sex != 2 ? this.genderNum = 1 : this.genderNum = 2;
						// 联系电话
						this.contact_number=res.data.phone;
						// 电子邮箱
						this.e_mail = res.data.email;
						// 身份证号码
						this.id_card_no = res.data.idcard;
						// 身份证正面
						this.imgList[0] = res.data.idcard_front;
						// 身份证反面
						this.imgList[1] = res.data.idcard_reverse;
						// 意外险材料
						this.imgList[2] = res.data.accident_insurance;
						// 签署工程师合作协议
						this.imgList[3] = res.data.agreement_document;
						// 技能证书
						this.imgList[4] = res.data.skills_certificate;
						this.temporaryImg = [
							res.data.idcard_front_value,
							res.data.idcard_reverse_value,
							res.data.accident_insurance_value,
							res.data.agreement_document_value,
							res.data.skills_certificate_value
						];
					}
			   })
			},
			// 提交保存事件
			sumbmitData(){
				if(this.checkEmpty()){
					if(this.flag) {
						// this.flag = false;
						let params = {
							nickname:this.nickname,
							name:this.full_name,
							sex:this.genderNum,
							phone:this.contact_number,
							email:this.e_mail,
							idcard:this.id_card_no,
							idcard_front:this.temporaryImg[0] || '',
							idcard_reverse:this.temporaryImg[1] || '',
							accident_insurance:this.temporaryImg[2] || '',
							agreement_document:this.temporaryImg[3] || '',
							skills_certificate:this.temporaryImg[4] || ''
						}
			
						this.$requst.post('/universal/api.user/user_info',params).then(res=>{
							if(res.code){
								this.$toolAll.tools.showToast('保存成功');
								setTimeout(()=>{
									uni.navigateBack({delta:1})
								},1000)
                            
							} else {
								this.$toolAll.tools.showToast(res.msg);
							}
						})
					} else {
						this.$toolAll.tools.showToast('请勿重复提交');
					}
				}
			},
			// 判断是否为空
			checkEmpty(){
				let result = false;
				if(uni.getStorageSync('type_id')==4) {
					// 如果是工程师
					if(!this.nickname) {
						this.$toolAll.tools.showToast('请输入我的昵称');
					} else if(!this.full_name) {
						this.$toolAll.tools.showToast('请输入姓名');
					} else if(this.$toolAll.tools.isPhone(this.contact_number)) {
						this.$toolAll.tools.showToast('请正确输入联系电话');
					} else if(this.$toolAll.tools.isEmail(this.e_mail)) {
						this.$toolAll.tools.showToast('请正确输入电子邮箱');
					} else if(this.$toolAll.tools.isIdentity(this.id_card_no)) {
						this.$toolAll.tools.showToast('请正确输入身份证号码');
					} else if(!this.imgList[0]) {
						this.$toolAll.tools.showToast('请上传身份证正面照');
					} else if(!this.imgList[1]) {
						this.$toolAll.tools.showToast('请上传身份证反面照');
					} else if(!this.imgList[2]) {
						this.$toolAll.tools.showToast('请上传意外险材料');
					} else if(!this.imgList[3]) {
						this.$toolAll.tools.showToast('请上传合作协议');
					} else if(!this.imgList[4]) {
						this.$toolAll.tools.showToast('请上传技能证书');
					} else {
						result = true;
					}
				} else {
					// 如果不是工程师
					if(this.contact_number || this.e_mail || this.id_card_no) {
						if(this.$toolAll.tools.isPhone(this.contact_number) && this.contact_number) {
							this.$toolAll.tools.showToast('请正确输入联系电话');
						} else if(this.$toolAll.tools.isEmail(this.e_mail) && this.e_mail) {
							this.$toolAll.tools.showToast('请正确输入电子邮箱');
						} else if(this.$toolAll.tools.isIdentity(this.id_card_no) && this.id_card_no) {
							this.$toolAll.tools.showToast('请正确输入身份证号码');
						} else {
							result = true;
						}
					} else {
						result = true;
					}
				}
				return result;
			},
			// 性别切换
			chooseGender(index){
				this.genderNum = index;
			},
			// 图片上传
			uploadImgEv(index){
				uni.chooseImage({
					count:1,
					sourceType:['album'],
					success: (res) => {
						let tempImg = res.tempFilePaths[0];
						uploadImg({path:tempImg}).then(res=>{
							if(res.code) {
								this.$toolAll.tools.showToast('上传成功');
								this.imgList[index] = tempImg;
								this.temporaryImg[index] = res.data.id;
							}
						})
					},fail:(err)=> {
						this.$toolAll.tools.checkQx(err.code);
                    }
				})
			},
			// 预览图片
			previewImageEv(current){
				let arr = [];
				// 不能滑动看其他的图片
				this.imgList.forEach((item,index)=>{
					if(current==index) arr.push(item);
				})
				if(arr.length) {
					if(arr[0]) {
						uni.previewImage({
							current:current,
							urls: arr,
							success() {}
						})
					} else {
						this.$toolAll.tools.showToast('请上传，再查看')
					}
				} else {
					this.$toolAll.tools.showToast('请上传，再查看')
				}
			}
		}
	}
</script>

<style>

</style>
