<template>
	<view class="hehuo_view">
		<view class="advantage-title">
			<image style="width: 35rpx; height: 35rpx; margin-right:10rpx; margin-top: 5rpx;" src="../../static/technician.png"></image>申请合作技师</view>
		<view class="advantage-bor" style="margin-right: 10rpx;"></view>
		<view class="text_view">
			<view class="item_view">
				<view class="item_title" @tap="Cityshow = true">服务城市</view>
				<view class="text text-city text-city-active" v-if="city" @tap="Cityshow = true">{{city}}</view>
				<view class="text text-city text-city-disable" v-else @tap="Cityshow = true">选择城市</view>
				<u-input type="text" v-show="false" disabled="true" v-model="city" placeholder="选择城市"/>
				<view class="xian"></view>
			</view>
			<view class="item_view">
				<view class="item_title">姓名</view>
				<u-input type="text" v-model="userName" placeholder="请输入姓名" />
				<view class="xian"></view>
			</view>
			<view class="item_view">
				<view class="item_title">联系电话</view>
				<u-input type="number" v-model="phone" maxlength="11" placeholder="请输入联系电话" />
				<view class="xian"></view>
			</view>
			<view class="item_view">
				<view class="item_title">年龄</view>
				<u-input type="number" v-model="age" maxlength="11" placeholder="请输入年龄" />
				<view class="xian"></view>
			</view>
			<view class="item_view">
				<view class="item_title">请选合作项目</view>
				<view class="guke-list">
					<view class="guke-btn huiBtn" :class="{ lanBtn: selected.includes(item) }"
						@click="gukeBtn(item)" v-for="(item,index) in typeList" :key="index">
						{{item.value}}
					</view>
				</view>
			</view>
			<view class="item_view">
				<view class="item_title" style="margin-bottom: 10px;">上传身份证正面</view>
				<view class="flex" style="overflow: hidden;flex-direction: initial;">
					<view  v-if="front.length">
						<view class="margin-top flex margin-right-sm">
							<view class="flex"
								style="width: 150upx;height: 150upx;margin-right: 10rpx;position: relative;">
								<image :src="front" style="width: 100%;height: 100%;"></image>
								<view style="z-index: 9;position: absolute;margin-top: -1px;right: 0px;"
									@click="frontremove(index)">
									<u-icon name="close-circle-fill" color="#039d88" size="50rpx"></u-icon>
								</view>
							</view>
						</view>
					</view>
					<view class="margin-top" @click="addImage()" v-else>
						<view class="flex justify-center align-center margin-top-view">
							<view>
								<view class="text-center">
									<image style="width: 43.06rpx;height: 38.19rpx;" src="../../static/orderDetail/img-shang.png" mode=""></image>
								</view>
								<view class="text-center text-xs margin-top-xs">上传图片</view>
							</view>
						</view>
					</view>
				</view>
				
			</view>
			<view class="item_view">
				<view class="item_title" style="margin-bottom: 10px;">上传身份证反面</view>
				<view class="flex" style="overflow: hidden;flex-direction: initial;">
					<view v-if="back.length">
						<view class="margin-top flex margin-right-sm">
							<view class="flex"
								style="width: 150upx;height: 150upx;margin-right: 10rpx;position: relative;">
								<image :src="back" style="width: 100%;height: 100%;"></image>
								<view style="z-index: 9;position: absolute;margin-top: -1px;right: 0px;"
									@click="frontremoves(index)">
									<u-icon name="close-circle-fill" color="#039d88" size="50rpx"></u-icon>
								</view>
							</view>
						</view>
					</view>
					<view class="margin-top" @click="addImageBack()" v-else>
						<view class="flex justify-center align-center margin-top-view">
							<view>
								<view class="text-center">
									<image style="width: 43.06rpx;height: 38.19rpx;" src="../../static/orderDetail/img-shang.png" mode=""></image>
								</view>
								<view class="text-center text-xs margin-top-xs">上传图片</view>
							</view>
						</view>
					</view>
				</view>
				
			</view>
			<view class="item_view">
				<view class="item_title" style="margin-bottom: 10px;">上传资格证书（可多张）</view>
				<view class="flex" style="overflow: hidden;flex-direction: initial;">
					<view class="margin-top flex margin-right-sm flex-wrap" v-if="certification.length">
						<view class="flex" style="width: 150upx;height: 150upx;margin-right: 10rpx;position: relative;"
							v-for="(image,index) in  certification" :key="index">
							<image :src="image" style="width: 100%;height: 100%;"></image>
							<view style="z-index: 9;position: absolute;margin-top: -1px;right: 0px;"
								@click="frontremoveC(index)">
								<u-icon name="close-circle-fill" color="#039d88" size="50rpx"></u-icon>
							</view>
						</view>
					</view>
					<view class="margin-top" @click="addImageC()" v-if="certification.length < 6">
						<view class="flex justify-center align-center margin-top-view">
							<view>
								<view class="text-center">
									<image style="width: 43.06rpx;height: 38.19rpx;" src="../../static/orderDetail/img-shang.png" mode=""></image>
								</view>
								<view class="text-center text-xs margin-top-xs">上传图片</view>
							</view>
						</view>
					</view>
				</view>
			</view>
		<!-- 经验筛选 -->
		<u-select v-model="Cityshow" style="height: auto;" :list="cityList" @confirm="getCity"></u-select>
		</view>
		<view  class="push-button">
			<view class="que-btn" @tap="save" v-if="bb!=0">提交申请</view>
		</view>
		
	</view>
</template>

<script>
	import * as websocketUtils from 'utils/websocketUtils.js';
	export default {
		data() {
			return {
				cityList: [],
				Cityshow: false,
				selected:[],
				city: '',
				money: '',
				teamNumber: '',
				userName: '',
				phone: '',
				age: '',
				front: '',
				back:'',
				certification:[],
				bb:'1',
				typeId: '',
				typeList:[]
			}
		},
		onLoad() {
			this.getChannel();
			this.fuwuType();
			this.getKTCityList()
		},
		methods: {
			showCityList() {
				this.Cityshow = true;
			},
			getCity(e) {
				console.log(e[0].label);
				this.city = e[0].label;
				this.getKTCityList();
			},
			gukeBtn(item) {
				var index = this.selected.indexOf(item);
				if (index === -1) {
					this.selected.push(item);
				} else {
					this.selected.splice(index, 1);
				}
				var data = [];
				for (var i = 0; i < this.selected.length; i++) {
						data.push(this.selected[i].id)
				}
				this.typeId = data.join(",")
			},
			fuwuType(){
				this.$Request.get("/app/dict/list", {
					type: '服务类型'
				}).then(res => {
					if (res.code == 0) {
						if (res.data) {
							this.typeList = res.data
						}
					}
				});
			},
			getKTCityList(){
				this.$Request.getT('/app/trip/selectTripList').then(res => {
					if (res.code == 0) {
						this.cityList = [];
						let isOpen = false
						let cityName = uni.getStorageSync('city') ? uni.getStorageSync('city') : '请选择城市'
						res.data.forEach((d, index) => {
							if (cityName === d.city) {
								isOpen = true;
							}
							let data = {}
							data.label = d.city
							data.value = index
							this.cityList.push(data);
						});
					}
				});
			},
			// 身份证正面删除
			frontremove(index) {
				this.front = ''
			},
			// 身份证反面删除
			frontremoves(index) {
				this.back = ''
			},
			// 资质证书删除
			frontremoveC(index) {
				this.certification = []
			},
			getChannel() {
				let userId = this.$queue.getData('userId');
				this.$Request.getT('/app/artificer/selectAgencyById?userId=' + userId).then(res => {
					if (res.code == 0) {
						if (res.data == null) {
							this.bb = '1';
						} else {
							this.bb = res.data.status;
							this.city = res.data.city;
							this.age = res.data.age;
							this.userName = res.data.name;
							this.phone = res.data.phone;
							if(res.data.certification!=null){
								this.certification = res.data.certification.split(',')
							}
							if(res.data.front!=null){
								this.front = res.data.front;
							}
							if(res.data.back!=null){
								this.back=res.data.back;
							}
							console.log('111111111',this.certification)
						}
						// this.auditContent = res.data.auditContent;
					}
				});
			},
			//获取省市区
			Getcity(latitude, longitude) {
				this.$Request.get("/app/Login/selectCity", {
					lat: latitude,
					lng: longitude
				}).then(res => {
					console.log(res)
					this.city = res.data.city
					console.log(this.address)
				});
			},
			goCity() {
				let that = this
				uni.chooseLocation({
					success: function(res) {
						console.log('位置名称：' + res.name);
						console.log('详细地址：' + res.address);
						console.log('纬度：' + res.latitude);
						console.log('经度：' + res.longitude);
						that.Getcity(res.latitude, res.longitude)
					}
				});
			},
			save() {
				if (this.city === '') {
					this.$queue.showToast('请输入服务城市 ')
					return;
				}
				if (this.userName === '') {
					this.$queue.showToast('请输入姓名')
					return;
				}
				if (this.phone === '' || this.phone.length != 11) {
					this.$queue.showToast('请输入正确的手机号！')
					return;
				}
				if (this.age === '') {
					this.$queue.showToast('请输入年龄')
					return;
				}
				if (!this.typeId) {
					this.$queue.showToast('请选合作项目')
					return;
				}
				// if (this.front == '') {
				// 	this.$queue.showToast('请上传身份证正面')
				// 	return;
				// }
				// if (this.back == '') {
				// 	this.$queue.showToast('请上传身份证反面')
				// 	return;
				// }
				// if(!this.certification || this.certification.length == 0){
				// 	this.$queue.showToast('请上传资质证书')
				// 	return;
				// }
				this.certification = this.certification.toString();
				let userId = this.$queue.getData('userId');
				let data = {
					userId: userId,
					name: this.userName,
					phone: this.phone,
					age: this.age,
					city: this.city,
					front: this.front,
					back:this.back,
					certification:this.certification,
					classifyId: this.typeId,
				}
				this.$Request.postJson('/app/artificer/insertAgency', data).then(res => {
					if (res.code == 0) {
						uni.hideLoading();
						this.$queue.showToast('提交成功！');
						setTimeout(d => {
							uni.navigateBack();
						}, 1000);
					} else {
						uni.hideLoading();
						this.$queue.showToast(res.msg);
					}
				});
			},
			addImageC() {
				let that = this
				uni.chooseImage({
					count: 4,
					sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图，默认两者都有
					sourceType: ['album', 'camera'],
					success: res => {
						that.$queue.showLoading("上传中...");
						for (let i = 0; i < res.tempFilePaths.length; i++) {
							var tempFilePaths=res.tempFilePaths[i]
							console.log("tempFilePaths----",res)
							that.checkImageSize(tempFilePaths, (isValid) => {
							        if (isValid) {
										uni.uploadFile({ // 上传接口
											url: websocketUtils.uploadFileUrl(), //真实的接口地址
											filePath: tempFilePaths,
											name: 'file',
											success: (uploadFileRes) => {
												console.log(uploadFileRes.data)
												that.certification.push(JSON.parse(uploadFileRes.data)
													.data)
												// that.certification = JSON.parse(uploadFileRes.data).data
												console.log(that.certification)
												uni.hideLoading();
											}
										});
							          // 图片校验通过后的逻辑
							          console.log('图片校验通过，可以上传');
							        } else {
							          console.log('图片超出大小限制，请重新选择');
							        }
							});
						}
						
					}
				})
			},
			addImageBack() {
				let that = this
				uni.chooseImage({
					count: 1,
					sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图，默认两者都有
					sourceType: ['album', 'camera'],
					success: res => {
						that.$queue.showLoading("上传中...");
						var tempFilePaths=res.tempFilePaths[0]
						console.log("tempFilePaths----",res)
						that.checkImageSize(tempFilePaths, (isValid) => {
						        if (isValid) {
									uni.uploadFile({ // 上传接口
										url: websocketUtils.uploadFileUrl(), //真实的接口地址
										filePath: res.tempFilePaths[0],
										name: 'file',
										success: (uploadFileRes) => {
											console.log(uploadFileRes.data)
											that.back = JSON.parse(uploadFileRes.data).data
											console.log(that.back)
											uni.hideLoading();
										}
									});
						          // 图片校验通过后的逻辑
						          console.log('图片校验通过，可以上传');
						        } else {
						          console.log('图片超出大小限制，请重新选择');
						        }
					    });
					}
				})
			},
			addImage() {
				let that = this
				uni.chooseImage({
					count: 1,
					sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图，默认两者都有
					sourceType: ['album', 'camera'],
					success: res => {
						that.$queue.showLoading("上传中...");
						var tempFilePaths=res.tempFilePaths[0]
						console.log("tempFilePaths----",res)
						that.checkImageSize(tempFilePaths, (isValid) => {
						        if (isValid) {
						          // 图片校验通过后的逻辑
								  uni.uploadFile({ // 上传接口
								  	url: websocketUtils.uploadFileUrl(), //真实的接口地址
								  	filePath: res.tempFilePaths[0],
								  	name: 'file',
								  	success: (uploadFileRes) => {
								  		console.log(uploadFileRes.data)
								  		that.front = JSON.parse(uploadFileRes.data).data
								  		console.log(that.front)
								  		uni.hideLoading();
								  	}
								  });
						          console.log('图片校验通过，可以上传');
						        } else {
						          console.log('图片超出大小限制，请重新选择');
						        }
					    });
					}
				})
			},
			// 检查图片尺寸
			checkImageSize(filePath, callback) {
			  let that = this
			  uni.getFileInfo({
			    filePath: filePath,
			    success: (infoRes) => {
			      const size = infoRes.size;
			      if (size / 1024 / 1024 > 4) {
			        // 图片大于2MB
					uni.showToast({
						icon:'error',
						title:'图片超出2MB限制,请重新选择'
					})
			        callback(false);
			      } else {
			        // 图片小于等于2MB
			        callback(true);
			      }
			    },
			    fail: () => {
			      callback(false);
			    }
			  });
			},
		}
	}
</script>

<style lang="less" scoped>
	@import '../../static/less/index.less';
	@import '../../static/css/index.css';
	.huiBtn {
		color:#333;
		background: #f3f3f3;
		// color: #333333;
	}
	.lanBtn {
		color:#fff;
		background: #049F89;
	}
	.guke-btn {
		width:30%;
		line-height:34px;
		text-align: center;
		font-weight: bold;
		font-size:11px;
		border-radius: 6px;
		margin-top:5px;
		margin-right:6px;
	}
	.guke-list {
		width: 100%;
		margin-top: 10px;
		display: flex;
		flex-direction: row;
		align-items: center;
		flex-wrap: wrap;
		box-sizing: border-box;
		background-color: #fff;
		justify-content: flex-start;
	}
	/deep/.is-required{
		display: none;
	}
	/deep/.uni-forms-item__label{
		width:100% !important;
		font-size: 16px;
		font-family: PingFang SC Heavy, PingFang SC Heavy-Heavy;
		color: #333333;
		margin-bottom: 4px;
	}
	/deep/.uni-forms-item{
		flex-direction: column !important;
	}
	.qing{
		color: rgb(192, 196, 204);
	}
	.push-button{
		    width: 100%;
		    height: 48px;
		    position: fixed;
		    bottom: 0px;
		    display: flex;
		    flex-direction: column;
		    align-items: center;
			margin: 0 auto;
	}
	.que-btn{
		display: inline-block;
		width: 90%;
		text-align: center;
		background: linear-gradient(90deg, #019C88, #28BA92, #35C495);
		height: 40px;
		border-radius: 28px;
		color: #ffffff;
		line-height: 40px;
		margin-top: 4px;
		font-size: 34rpx;
	}
	.margin-top-view{
		width: 150upx;
		height: 150upx;
		background: #f7f7f7;
	}
	.advantage-title{
		font-size: 32rpx;
		font-weight: bold;
		margin-top: 60rpx;
		margin-left: 35rpx;
	}
	.text-city{
		align-content: center;
		flex-wrap: wrap;
		min-height: 40px;
	}
	.text-city-active{
		color: inherit;
	}
	.text-city-disable{
		color: rgb(192, 196, 204);
	}
	.advantage-bor{
		width: 80px;
		height: 6px;
		border-radius: 3px;
		bottom: 0;
		background: linear-gradient(90deg, rgba(234, 248, 245, 0.7), rgba(132, 211, 196, 0.7));
		margin-bottom: 80rpx;
		margin-left: 35rpx;
		
	}
	.hehuo_view {
		width: 100%;
		padding-top: 10px;
		height: 100vh;
		background:#fff url(../../static/cooperate/cooperate6.png)no-repeat ;
		background-size: 100%;
		position: relative;
		display: flex;
		flex-direction: column;
		//align-items: center;
		
		.text_view {
			width: 95%;
			margin: 0 auto;
			background-color: #fff;
			border-radius: 10px;
			padding: 20px;
			.audit_message {
				color: red;
				width: 650rpx;
				height: 50rpx;
				margin-top: 50rpx;
			}

			

			.save_btn1 {
				width: 650rpx;
				height: 88rpx;
				background: #FFFFFF;
				border-radius: 10rpx;
				margin-top: 100rpx;
				text-align: center;
				line-height: 88rpx;
			}

			.item_view {
				margin-top: 30rpx;

				.item_title {
					font-size: 32rpx;
					font-family: PingFang SC Heavy, PingFang SC Heavy-Heavy;
					color: #333333;
				}

				input {
					margin-top: 20rpx;
					height: 40rpx;
					font-size: 24rpx;
					font-family: PingFang SC Regular, PingFang SC Regular-Regular;
					font-weight: 400;
					color: #333333;
				}

				.xian {
					width: 100%;
					border-bottom: 1rpx solid #f7f7f7;
					margin-top: 10rpx;
				}
			}
		}
	}
</style>
