<template>
	<view class="pageBgImg">
		<topNavbar title="排课计划"></topNavbar>
		<view class="pad">
			<view class="card">
				<view class="row">
					<view class="lab">计划开始日期</view>
					<view class="rightCon" @click="showClick('classBeginDate')">
						<view class="inputBox">
							<input type="text" v-model="form.classBeginDate" placeholder="请选择" disabled style="pointer-events: none;">
						</view>
						<view class="icon">
							<u-icon name="arrow-right" :size="12" :color="'#696B72'"></u-icon>
						</view>
					</view>
				</view>
				<view class="row">
					<view class="lab">计划结束日期</view>
					<view class="rightCon"  @click="showClick('classEndDate')">
						<view class="inputBox">
							<input type="text" v-model="form.classEndDate" placeholder="请选择" disabled style="pointer-events: none;">
						</view>
						<view class="icon">
							<u-icon name="arrow-right" :size="12" :color="'#696B72'"></u-icon>
						</view>
					</view>
				</view>
				<view class="row">
					<view class="lab">选择训练场地</view>
					<view class="rightCon" @click="showSite=true">
						<view class="inputBox">
							<input type="text" v-model="form.siteName" placeholder="请选择" disabled style="pointer-events: none;">
						</view>
						<view class="icon">
							<u-icon name="arrow-right" :size="12" :color="'#696B72'"></u-icon>
						</view>
					</view>
				</view>
				<view class="row">
					<view class="lab">选择开课时间段</view>
					<view class="rightCon" @click="$goPage('/pages/recordEntry/operate/mySchedule/mould/mould')">
						<view class="inputBox">
							<input type="text" v-model="currentMould.templateName" placeholder="请选择" disabled style="pointer-events: none;">
						</view>
						<view class="icon">
							<u-icon name="arrow-right" :size="12" :color="'#696B72'"></u-icon>
						</view>
					</view>
				</view>
				
				<view class="blueBg">
					<view class="time_row hui">
						<text>时间段</text> <text>最多人数</text>
					</view>
					<view class="time_row" v-for="(item,index) in currentMould.detailVO" :key="index">
						<text>{{item.startTime}} <text>-</text> {{item.endTime}}</text> <text>{{item.personCount}}人</text>
					</view>
					
				</view>
				<view class="row">
					<view class="lab">训练科目</view>
					<view class="rightCon">
						<myRadio @changeRadio="changeRadioSubject" :radioData="radiolist1" :radioVal="{value: form.subject}"></myRadio>
					</view>
				</view>
				
				<view class="row">
					<view class="lab">选择教练车</view>
					<view class="rightCon" @click="showCar=true">
						<view class="inputBox">
							<input type="text" v-model="form.carNumber" placeholder="请选择" disabled style="pointer-events: none;">
						</view>
						<view class="icon">
							<u-icon name="arrow-right" :size="12" :color="'#696B72'"></u-icon>
						</view>
					</view>
				</view>
				<!-- <view class="row">
					<view class="lab">开放范围</view>
					<view class="rightCon">
						<myRadio @changeRadio="changeRadioOpenRange"  :radioData="radiolist3" :radioVal="{value: form.openRange}"></myRadio>
					</view>
				</view> -->
			</view>
			
			<view class="btnBg" @click="scheduleClassCreateFn">确认发布</view>
		</view>
		<u-datetime-picker
				:show="show"
				:minDate="minDate"
				:maxDate="maxDate"
				mode="date"
				@confirm="changeDate"
				@cancel="show=false"
		></u-datetime-picker>
		 <u-picker :show="showSite" :columns="siteColumns" keyName="name" @confirm="changeSite" @cancel="showSite=false" ></u-picker>
		 <u-picker :show="showCar" :columns="carColumns" keyName="licnum" @confirm="changeCarNumber" @cancel="showCar=false" ></u-picker>
	</view>
</template>

<script>
	import { scheduleClassCreate, getClassDateLimit, trainingSiteList, carPage} from '@/config/api.js'
	export default {
		data() {
			return {
				tmpDateName:'',//选择日期临时变量
				minDate: null,
				maxDate: null,
				show: false,
				showSite: false,
				showCar: false,
				form: {
					classDate: '',
					carNumber: '',
					subject: 0, //科目类别:0：不限；2：科目二；3：科目三
					openRange: '0', //开放范围：0：自己的学员；1：绑定的驾校的学员
					siteName: '',
					siteId: ''
				},
				formToast: {
					classBeginDate: '请选择开始时间',
					classEndDate: '请选择结束时间',
					siteId: '请选择场地',
					carNumber: '请选择车辆',
				},
				currentMould: {},
				siteColumns: [],
				carColumns: [],
				radiolist1: [{
						name: '不限制',
						id: 0,
						disabled: false
					},
					{
						name: '科目二',
						id: 2,
						disabled: false
					},
					{
						name: '科目三',
						id: 3,
						disabled: false
					},
				],
				
				radiolist3: [{
						name: '我的学员',
						id: 0,
						disabled: false
					},
					{
						name: '所有学员',
						id: 1,
						disabled: false
					},
				] //开放范围：0：自己的学员；1：绑定的驾校的学员
			}
		},
		onLoad() {
			this.form.deptId = this.vuex_deptId
			this.form.coachId = this.vuex_coachId
			this.getClassDateLimitFn()
			this.trainingSiteListFn()
			this.carPageFn()
			uni.$on('chooseMould',(item)=>{
				this.form.templateId = item.id
				this.currentMould = item
				console.log(item)
			})
		},
		methods: {
			// 点击显示选择日期组件
			showClick(name) {
				this.show = true
				this.tmpDateName = name
			},
			// 选择车牌号
			changeCarNumber(val) {
				const item = val.value[0]
				this.showCar = false
				this.form.carNumber = item.licnum
				// console.log()
			},
			// 发布排课计划
			async scheduleClassCreateFn() {
				for(let k in this.formToast) {
					if(!this.form[k]) 
					return this.$u.toast(this.formToast[k])
				}
				console.log(this.form)
				const res = await scheduleClassCreate(this.form)
				if(res.code==0) {
					this.$goPage('/pages/recordEntry/operate/mySchedule/mySchedule')
				}
				console.log(res)
			},
			// 选择训练场地
			changeSite(val) {
				let item = val.value[0]
				this.form.address = item.address
				this.form.seq = item.seq
				this.form.area = item.area
				this.form.siteName = item.name
				this.form.siteId = item.id
				this.showSite = false
			},
			// 获取训练场地
			async trainingSiteListFn() {
				let obj = {
					pageNo: 1,
					pageSize: 100,
					schoolId: this.vuex_userInfo.schoolId
				}
				const {data: res} = await trainingSiteList(obj)
				this.siteColumns = [ res ]
				console.log(res)
			},
			changeRadio(val) {
				console.log(val)
			},
			// changeRadioOpenRange(val) {
			// 	this.form.openRange = val
			// },
			// 选择科目
			changeRadioSubject(val) {
				this.form.subject  = val
				console.log(this.form.subject)
			},
			// 选择日期
			changeDate(val) {
				this.form[this.tmpDateName] = this.$u.date(val.value, 'yyyy-mm-dd')
				this.show = false
				console.log(val)
			},
			
			// 获取排课日期范围
			async getClassDateLimitFn() {
				let obj = {
					coachId: this.vuex_coachId
				}
				const {data: res} = await getClassDateLimit(obj)
				this.minDate = new Date(res.beginDateLimit)*1 + 86400000
				this.maxDate = new Date(res.endDateLimit)*1
			},
			async carPageFn() {
				let obj = {
					pageNo: 1,
					pageSize: 40,
					schoolId: this.vuex_schoolId,
					coachId: this.vuex_coachId
				}
				const {data: res} = await carPage(obj)
				this.carColumns = [res.list]
			},
			
		}
	}
</script>

<style lang="scss" scoped>
	.card {
		padding: 10rpx 28rpx;

		.row {
			display: flex;
			justify-content: space-between;
			padding: 26rpx 0;

			.lab {
				font-weight: 500;
			}
		}
	}
	.btnBg {
		width: 396rpx;
		margin: 120rpx auto 0 auto;
	}
	.rightCon {
		display: flex;
		align-items: center;

		.icon {
			margin-left: 10rpx;
		}

		.inputBox {
			flex: 1;

			input {
				text-align: right;
				font-size: 28rpx;
				color: #333;
			}
		}
	}
	.blueBg {
		background-color: #E8F3FE;
		padding: 12rpx 32rpx;
		border-radius: 16rpx;
		text-align: center;
		.time_row {
			display: flex;
			justify-content: space-between;
			padding: 12rpx 0;
			&.hui {
				color: #ADADAD;
			}
			text {
				width: 170rpx;
			}
		}
	}
</style>