<template>
	<view class="step3">
		<view class="card">
			<view class="list">
				<view class="listItem" v-for="(item,index) in list" :key="index" :class="{active: FormData.deviceNum==item.seq}" @click="chooseDevice(item)">
					{{ item.seq }}  </view>
			</view>
		</view>

		<view class="btn_row" style="margin-top: 108rpx;">
			<view class="border btn" @click="changeStep(2)">返回上一步</view>
			<view class="btn" @click="confirmClick">确认</view>
		</view>

		<u-popup :show="show" mode="center" :round="8">
			<view class="popupCon">
				<view class="h2">再次确认预约信息</view>
				<view class="content">
					<view class="row">
						<view class="lab">预约类型</view>
						<view class="val">模拟器训练预约</view>
					</view>
					<view class="row">
						<view class="lab">预约时间</view>
						<view class="val">{{FormData.classDate}} {{ FormData.classTime}}</view>
					</view>
					<view class="row">
						<view class="lab">模拟驾驶馆</view>
						<view class="val">{{FormData.pointName}}</view>
					</view>
					<view class="row">
						<view class="lab">预约模拟器</view>
						<view class="val">{{ FormData.deviceNum}}</view>
					</view>
				</view>
				<view class="btn_row">
					<view class="border btn" @click="show = false">返回修改</view>
					<view class="btn" @click="simulationCreateFn">确认</view>
				</view>
			</view>
		</u-popup>
	</view>
</template>

<script>
	import { simulationDevices, simulationCreate } from '@/config/api.js'
	export default {
		props: ['FormData'],
		data() {
			return {
				list: [],
				show: false
			}
		},
		created() {
			this.simulationDevicesFn()
		},
		watch: {
			FormData: {
				handler(newVal) {
					if(newVal) {
						this.$emit('updatedForm', newVal)
					}
				},
				deep: true
			}
		},
		methods: {
			changeStep(val) {
				this.$emit('changeStep', val)
			},
			async simulationDevicesFn() {
				let arr = this.FormData.classTime.split('-')
				let obj = {  "pointId": this.FormData.pointId,  "classDate": this.FormData.classDate,  "beginTime": arr[0],  "endTime": arr[1]}
				const {data: res} = await simulationDevices(obj)
				this.list = res
				
			},
			chooseDevice(item) {
				this.FormData.deviceNum = item.seq
				this.$emit('updatedForm', this.FormData)
				// this.$set(this.FormData, 'deviceNum', )
				console.log(this.FormData.deviceNum)
				// this.FormData.deviceName = item.seq
				
			},
			confirmClick(item) {
				if(!this.FormData.deviceNum) return this.$u.toast('请选择模拟器')
				this.show = true
			},
			// 创建预约
			async simulationCreateFn() {
				let obj = {
				  "studentId": this.FormData.studentId,
				  "classId": this.FormData.courseIds,
				  "deviceNum": this.FormData.deviceNum
				}
				const res = await simulationCreate(obj)
				if(res.code==0) {
					this.show = false
					this.$u.toast('预约成功')
					setTimeout(()=>{
						this.$goPage('/pages/mineEntry/myAppointment/myAppointment?currentTab=1')
					},1500)
				}
			}
		}
	}
</script>

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

	.list {
		display: flex;
		flex-wrap: wrap;
		display: flex;
		justify-content: space-between;

		.listItem {
			width: 32.4%;
			height: 120rpx;
			background: #F8F8F8;
			border-radius: 12rpx;
			font-weight: 500;
			text-align: center;
			line-height: 120rpx;

			&.active {
				width: 200rpx;
				height: 120rpx;
				background: rgba(25, 137, 250, 0.1);
				border-radius: 12rpx;
				border: 2rpx solid $themC;
				color: $themC;
			}
		}
	}

	.popupCon {
		padding: 30rpx 50rpx;

		.h2 {
			font-weight: 600;
			color: #333333;
			line-height: 70rpx;
			font-size: 36rpx;
			text-align: center;
		}

		.content {
			padding-bottom: 20rpx;

			.row {
				padding: 22rpx 0;
				display: flex;
				font-size: 28rpx;
				align-items: center;

				.lab {
					width: 180rpx;
					color: #686B73;

				}

				.val {
					flex: 1;
					font-weight: 500;
				}
			}
		}
	}

	.btn_row {
		display: flex;
		justify-content: space-between;

		.btn {
			width: 47%;
			height: 72rpx;
			background: #1989FA;
			border-radius: 8rpx;
			font-size: 28rpx;
			color: #fff;
			text-align: center;
			line-height: 72rpx;

			&.border {
				background: rgba(25, 137, 250, 0.1);
				border: 2rpx solid $themC;
				color: $themC;
			}
		}
	}
</style>