<template>
	<view>
		<view :key="1">
			<view class="tip-box">
				<u-row :gutter="20">
					<u-col span="1">
						<u-text text="起点" size="32"></u-text>
					</u-col>
					<u-col span="3">
						<uni-data-select v-model="start_point" :localdata="startOptions" placeholder="请选择起点"></uni-data-select>
					</u-col>
					<u-col span="1">
						<u-text text="终点" size="32"></u-text>
					</u-col>
					<u-col span="3">
						<uni-data-select v-model="end_point" :localdata="endOptions" placeholder="请选择终点"></uni-data-select>
					</u-col>
					<u-col span="1" offset="0.5">agv</u-col>
					<u-col span="3">
						<uni-data-select v-model="agv_num" :localdata="agv_num_list"></uni-data-select>
					</u-col>
				</u-row>
				<u-gap height="20"></u-gap>
				<u-row>
					<u-col span="6" align="center">
						<view class="tip-icon" @click="start_agv"><span>启动</span></view>
					</u-col>
					<u-col span="6" align="center">
						<view class="tip-icon2" @click="stop_agv"><span style="font-size: 0.5rem">紧急终止</span></view>
					</u-col>
				</u-row>
			</view>
		</view>
		<u-toast ref="uToast"></u-toast>
	</view>
</template>

<script>
import { go_workshop, emergency_stop_agv, getAllOptions } from '@/api/materialManagement/MaterialRequsition.js';
import { debounce } from '@/utils/common.js';
export default {
	data() {
		return {
			loading: false,
			start_point: '',
			startOptions: [],
			end_point: '',
			endOptions: [],
			reqCode: '',
			agv_num_list: [
				{ value: '1743', text: '1号' },
				{ value: '1744', text: '2号' }
			],
			agv_num: ''
		};
	},
	watch: {},
	filters: {},
	mounted() {
		this.init();
	},
	methods: {
		init() {
			getAllOptions().then((res) => {
				if (res.code === 200) {
					let _list = [];
					res.data.forEach((item) => {
						_list.push({
							value: item,
							text: item
						});
					});
					this.startOptions = _list;
					this.endOptions = _list;
				}
			});
		},
		start_agv() {
			uni.$u.throttle(()=>{
				if (this.start_point == '' || this.end_point == '') {
					this.$refs.uToast.show({
						type: 'error',
						message: '起点或者终点不能为空'
					});
					return;
				}
				const query = {
					start_point: this.start_point,
					end_point: this.end_point,
					agvCode: this.agv_num
				};
				go_workshop(query).then((res) => {
					if (res.code == 200) {
						try {
							let json = JSON.parse(res.data);
							this.reqCode = json.data;
							this.$refs.uToast.show({
								type: 'success',
								message: 'agv起动成功' + this.reqCode
							});
						} catch (e) {
							this.$refs.uToast.show({
								type: 'error',
								message: 'agv起动失败：' + this.reqCode
							});
						}
					}
				});
			}, 5000)
		},
		stop_agv() {
			uni.$u.throttle(()=>{
				if (this.reqCode == '') {
					this.$refs.uToast.show({
						type: 'error',
						message: '无任务编号'
					});
					return;
				}
				const query = {
					reqCode: this.reqCode
				};
				
				emergency_stop_agv(query).then((res) => {
					if (res.code == 200) {
						this.$refs.uToast.show({
							type: 'success',
							message: '成功取消' + res.data
						});
					}
				});
			},5000)
			
		}
	}
};
</script>

<style scoped>
.area {
	height: 350px;
	background-color: white;

	overflow: hidden;
	/* 隐藏超出部分 */
	overflow-y: scroll;
	/* 添加垂直滚动条 */
}

.cartoon-list-item {
	background-color: #c8d3db;
	/* 设置蓝色背景 */
	padding: 10px;
	/* 设置内边距 */
	border-radius: 10px;
	/* 设置圆角边框 */
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	/* 添加阴影效果 */
	margin-bottom: 10px;
	/* 设置底部外边距 */
	font-family: 'Comic Sans MS', cursive;
	/* 设置卡通化字体 */
	color: white;
	/* 设置文字颜色为白色 */
}

.cartoon-list-item:hover {
	transform: scale(1.05);
	/* 鼠标悬停时放大 */
}

.tip-box {
	width: 100%;
	margin-top: 20px;
	background-color: #fff;
	/* 白色背景 */
	padding: 20px;
	border-radius: 10px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	/* 添加阴影 */
}

.tip-icon {
	margin-top: 5px;
	width: 50px;
	height: 50px;
	background-color: #00ff00;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 24px;
	color: #fff;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	/* 添加阴影 */
}

.tip-icon2 {
	margin-top: 5px;
	width: 50px;
	height: 50px;
	background-color: red;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 24px;
	color: #fff;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	/* 添加阴影 */
}

.tip-text {
	margin-top: 10px;
	font-size: 16px;
	color: #333;
}
</style>
