<template>
	<view class="apply">
		<u-navbar title="云拣仓代理申请" height="108rpx" :bgColor="background" placeholder="true" :titleStyle="{color: '#FFF', fontSize: '32rpx'}" leftIconColor="#FFF"></u-navbar>
		<view class="shop-detail">
			<shop-card-deatil></shop-card-deatil>
		</view>
		<view class="main-body">
			<u-form :model='model' :rules="rules" ref="uForm" :label-style="{'color':'#000000',fontWeight:600,lineHeight:1.2,fontSize:'32rpx'}" label-position="top" >
				<view class="item-con">
					<u-form-item
						label="姓名"
						labelWidth="280rpx"
						prop="name"
						label-position="top"
						required
						:border-bottom="false"
					>
						<u-input placeholder="请输入您的姓名" maxlength="40" v-model="model.name" placeholderStyle="color:#999" border="none"></u-input>
					</u-form-item>
				</view>
				<view class="item-con">
					<u-form-item
						label="手机号"
						labelWidth="280rpx"
						prop="phone"
						label-position="top"
						required
						:border-bottom="false"					
					>
						<u-input placeholder="请输入您的手机号" maxlength="40" v-model="model.phone" placeholderStyle="color:#999" border="none"></u-input>
					</u-form-item>
				</view>
				<view class="item-con">
					<u-form-item
						label="身份证号"
						labelWidth="280rpx"
						prop="idCard"
						label-position="top"
						required
						:border-bottom="false"					
					>
						<u-input placeholder="请输入您的身份证号" maxlength="40" v-model="model.idCard" placeholderStyle="color:#999" border="none"></u-input>
					</u-form-item>
					<u-form-item
						label="补充身份证照片"
						labelWidth="280rpx"
						prop="idCardImage"
						label-position="top"
						required
						:border-bottom="false"	
					>
						<view class="idCardCon">
							<view class="idCardItem">
								<u-upload
									:fileList="idCardList"
									@afterRead="afterRead"
									@delete="deletePic"
									name="idCardList"
									:maxCount="1"
								>
									<image class="idCardImg" src="http://file.hecrab.com/crab-net/yxs-yxsSfzQ.png"></image>
								</u-upload>
								<text class="idCardText">点击上传头像面</text>
							</view>
							
							<view class="idCardItem">
								<u-upload
									:fileList="idCardUpList"
									@afterRead="afterRead"
									@delete="deletePic"
									name="idCardUpList"
									:maxCount="1"
								>
									<image class="idCardImg" src="http://file.hecrab.com/crab-net/yxs-yxsSfzH.png"></image>
								</u-upload>
								<text class="idCardText">点击上传国徽面</text>
							</view>
						</view>
					</u-form-item>
					
					<!-- <u-form-item 
						label="补充身份证照片"
						labelWidth="280rpx"
						prop="idCardImage"
						label-position="top"
						required
						:border-bottom="false">
						<view class="idCardCon">
							<image class="idCardImg" src="http://file.hecrab.com/crab-net/yxs-yxsSfzQ.png"
								mode="aspectFit"></image>
							<file-upload :maxNum="1" uploadText="身份证人像面" v-model="idCardList"
								:showTipsNumber="false" @okCallBack="uploadSuccess(1)"></file-upload>
						</view>
						<view class="idCardCon">
							<image class="idCardImg" src="http://file.hecrab.com/crab-net/yxs-yxsSfzH.png"
								mode="aspectFit"></image>
							<file-upload :maxNum="1" uploadText="身份证国徽面" v-model="idCardUpList" :showTipsNumber="false"
								@okCallBack="uploadSuccess(2)"></file-upload>
						</view>
					</u-form-item> -->
				</view>
				
				<view class="item-con">
					<u-form-item
						label="预计销量(万年/年)"
						labelWidth="280rpx"
						prop="sales"
						label-position="top"
						required
						:border-bottom="false"					
					>
						<u-input placeholder="请输入你的每年预计销量" maxlength="40" v-model="model.sales" placeholderStyle="color:#999" border="none"></u-input>
					</u-form-item>
				</view>
				
				<view class="item-con">
					<u-form-item
						label="选择你的销售渠道(多选)"
						labelWidth="630rpx"
						prop=""
						label-position="top"
						required
						:border-bottom="false"					
					>
						<view class="Item" >
							<view class="Con" v-for="(item,index) in channelList" :key="index" :class="item.checked?'checked':''" :data-id="item.num" @tap="selectChannel">{{item.name}}</view>
						</view>
					</u-form-item>
				</view>
				
				<view class="item-con">
					<u-form-item
						label="选择你的分销模式(多选)"
						labelWidth="630rpx"
						prop=""
						label-position="top"
						required
						:border-bottom="false"					
					>
						<view class="Item" >
							<view class="Con" v-for="(item,index) in modelList" :key="index" :class="item.checked?'checked':''" :data-id="item.num" @tap="selectModel">{{item.name}}</view>
						</view>
					</u-form-item>
				</view>
			</u-form>
		</view>
		<view class="bottom">
			<button class="saveBtn" @click="saveClick">提交申请</button>
		</view>
	</view>
</template>

<script>
	import list from "../../uni_modules/uview-ui/libs/config/props/list";
	import shopCardDeatil from "./components/shopDetailCard.vue"
	export default{
		components:{shopCardDeatil},
		data() {
			return{
				background:'transparent',
				model:{
					name:'',
					phone:'',
					idCard:'',
					sales:'',
					salesChannels:'',
					salesModel:''
				},
				rules:{
					name:[{
						required:true,
						message:'请输入代理商姓名',
						trigger:['change','blur']
					}],
					phone:[{
						required:true,
						message:'请输入代理商手机号',
						trigger:['change','blur']
					},
					{
						validator:(rule,value,callback)=>{
							//true表示通过验证,false表示不通过验证
							return uni.$u.test.mobile(value);
						},
						message:'手机号码不正确',
						trigger:['change'],
					}],
					idCard:[{
						required:true,
						message:"请输入代理商身份证号",
						trigger:['change','blur']
					},
					{
						validator:(rule,value,callback)=>{
							return uni.$u.test.idCard(value);
						},
						message:'身份证号不正确',
						trigger:['change']
					}],
					sales:[{
						required:true,
						message:"请输入预计年销量",
						trigger:['change','blur']
					}],
					
				},
				idCardList:[],
				idCardUpList:[],
				channelList:[{
					name:"微信",
					num:'1',
					checked:false
				},
				{
					name:"淘宝",
					num:'2',
					checked:false
				},
				{
					name:"抖音",
					num:'3',
					checked:false
				},
				{
					name:"京东",
					num:'4',
					checked:false
				},
				{
					name:"实体店",
					num:'5',
					checked:false
				}],
				modelList:[{
					name:"卡券代理",
					num:'1',
					checked:false
				},
				{
					name:"批发",
					num:'2',
					checked:false
				},
				{
					name:"一键代发（通用包装）",
					num:'3',
					checked:false
				},
				{
					name:"一键代发（自有包装）",
					num:'4',
					checked:false
				}]
			}
		},
		onReady() {
			this.$refs.uForm.setRules(this.rules)
		},
		methods:{
			//删除图片
			deletePic(event){
				this['${event.name}'].splice(event.index,1)
			},
			//新增图片
			async afterRead(event){
				//当设置multiple为true时，file为数组格式，否则为对象格式
				let lists = [].concat(event.file)
				let fileListLen = this['${event.name}'].length
				lists.map((item)=>{
					this['${event.name}'].push({
						...item,
						status: 'uploading',
						message: '上传中'
					})
				})
				for (let i = 0; i < lists.length; i++) {
					const result = await this.uploadFilePromise(lists[i].url)
					console.log(result, '上传图像result');
					let item = this[`${event.name}`][fileListLen]
					this[`${event.name}`].splice(fileListLen, 1, Object.assign(item, {
						status: result.status,
						message: result.status == 'failed' ? '上传失败' : '',
						url: result.url
					}))
						fileListLen++
				}
			},
			//提交按钮
			saveClick() {
				this.$refs.uForm.validate(isOk => {
					if (isOk) {
						if (!this.idCardList.length) return this.$u.toast("请上传身份证人像面！")
						if (!this.idCardUpList.length) return this.$u.toast("请上传身份证国徽面！")
						// if (!this.channelChecked.length) return this.$u.toast("请至少选择一个销售渠道！")
						// if (!this.distributionChecked.length) return this.$u.toast("请至少选择一个分销模式！")
						this.request()
					}
				})
			},
			//事件点击
			selectChannel:function(e){
				var this_checked = e.currentTarget.dataset.id //获取对应的条目id
				var parameterList = this.channelList //获取Json数组
				console.log(this_checked)
				if(parameterList[this_checked-1].checked){
					parameterList[this_checked-1].checked = false
				}else{
					parameterList[this_checked-1].checked=true;
				}
				this.channelList=parameterList;
			},
			selectModel:function(e){
				var this_checked = e.currentTarget.dataset.id //获取对应的条目id
				var parameterList = this.modelList //获取Json数组
				console.log(this_checked)
				if(parameterList[this_checked-1].checked){
					parameterList[this_checked-1].checked = false
				}else{
					parameterList[this_checked-1].checked=true;
				}
				this.modelList=parameterList;
			},
		}
	}
</script>

<style lang="scss" scoped>
	.apply{
		height: 100vh;
		background: linear-gradient( 270deg, #3975F1 0%, #4AA4F5 100%);
		display: flex;
		flex-direction: column;
		.shop-detail{
			border-radius: 20rpx;
			display: flex;
			justify-content: center;
			margin-bottom: 24rpx;
		}
		.main-body{
			box-sizing: border-box;
			background: #F5F6FA;
			border-radius: 20rpx 20rpx 0rpx 0rpx;
			padding: 36rpx;
			flex: 1;
			overflow: auto;
			.item-con{
				background: #FFFFFF;
				border-radius: 20rpx;
				padding: 4rpx 24rpx 14rpx 24rpx;
				margin-bottom: 16rpx;
			}
			.idCardCon{
				display: flex;
				justify-content: space-between;
				align-items: center;
				width: 100%;
				margin-top: 12rpx;
				.idCardImg{
					width: 300rpx;
					height: 200rpx;
					border-radius: 8rpx;
					object-fit: cover;
				}
				.idCardText{
					font-weight: 400;
					font-size: 24rpx;
					color: #999999;
					margin-left: 58rpx;
				}
			}
		}
		.bottom{
			height: 180rpx;
			background: #FFFFFF;
			.saveBtn{
				width: 678rpx;
				height: 92rpx;
				background: linear-gradient( 91deg, #43A1FF 0%, #2F80F9 100%);
				border-radius: 24rpx;
				font-size: 28rpx;
				color: #FFFFFF;
				padding-top: 12rpx;
			}
		}
		.Item{
			display: flex;
			justify-content: space-between;
			flex-wrap: wrap;
			.Con{
				width: 284rpx;
				height: 84rpx;
				background: #F7F7F7;
				border-radius: 8rpx;
				margin-top: 16rpx;
				font-weight: 400;
				font-size: 28rpx;
				display: flex;
				align-items: center;
				padding-left: 24rpx;
				
			}
			.checked{
				background: #E9F0FE;
				color: #2E6BF6;
			}
		}	
	}
</style>