<template>
	<view class="page">
		<uni-row style="height: 40px;margin-left: 10px;">
			<uni-col :span="12">
				<uni-row style="height: 40px;">
					<uni-col :span="10">
						<view style="font-size: 14px;line-height: 35px;color: white;">运行模式</view>
					</uni-col>
					<uni-col :span="12"><u-button :text="`${itemProperty.m == '1'? '自动':'手动'}`"
							:type="`${itemProperty.m == '1'? 'success':'warning'}`"
							style="height: 25px;width: 60px;margin-bottom: 2px;margin-top: 5px;float: right;margin-right: 5px;float: left;"
							@click="controlHeadSwitch(item,itemProperty.m,'m')"></u-button></uni-col>
				</uni-row>
			</uni-col>
			<uni-col :span="12">
				<u-button text="历史" type="info"
					style="height: 25px;width: 60px;margin-bottom: 2px;margin-top: 5px;float: right;margin-right: 5px;"
					@click="openH(item)"></u-button>
			</uni-col>
		</uni-row>
		<uni-row class="rowheadstyle">
			<view class="rowview">
				<uni-col :span="6">
					<u-icon label="降雨:" labelPos="right" label-color="white" size="28" labelSize="12"
						name="../../static/images/head/worm_rain.png"></u-icon>
				</uni-col>
				<uni-col :span="6">
					<view class="valuecol">
						{{itemProperty.rs ===null? "--": (itemProperty.rs === "0"?"无雨":"降雨") }}
					</view>
				</uni-col>
				<uni-col :span="6">
					<u-icon label="光照度:" labelPos="right" label-color="white" size="28" labelSize="12"
						name="../../static/images/head/worm_illu.png"></u-icon>
				</uni-col>
				<uni-col :span="6">
					<view class="valuecol">
						{{itemProperty.il===null?"--":itemProperty.il}}Lux
					</view>
				</uni-col>
			</view>
		</uni-row>
		<uni-row class="rowstyle">
			<uni-col :span="12">
				<uni-row class="col1"><uni-col :span="24">
						<view class="text1">诱虫灯</view>
					</uni-col></uni-row>
				<uni-row class="col2"><uni-col :span="24"><u-button :text="`${itemProperty.aw == '1'? '打开':'关闭'}`"
							type="info" @click="controlHeadSwitch(item,itemProperty.aw,'aw')"
							class="but1"></u-button></uni-col></uni-row>
			</uni-col>
			<uni-col :span="12">
				<uni-row class="col1"><uni-col :span="24">
						<view class="text1">震动装置</view>
					</uni-col></uni-row>
				<uni-row class="col2"><uni-col :span="24"><u-button :text="`${itemProperty.sk == '1'? '打开':'关闭'}`"
							type="info" @click="controlHeadSwitch(item,itemProperty.sk,'sk')"
							class="but1"></u-button></uni-col></uni-row>
			</uni-col>
		</uni-row>
		<uni-row class="rowstyle">
			<uni-col :span="12">
				<uni-row class="col1"><uni-col :span="24">
						<view class="text1">虫雨挡板</view>
					</uni-col></uni-row>
				<uni-row class="col2"><uni-col :span="24"><u-button :text="`${itemProperty.rf == '1'? '打开':'关闭'}`"
							type="info" @click="controlHeadSwitch(item,itemProperty.rf,'rf')"
							class="but1"></u-button></uni-col></uni-row>
			</uni-col>
			<uni-col :span="12">
				<uni-row class="col1"><uni-col :span="24">
						<view class="text1">补光灯</view>
					</uni-col></uni-row>
				<uni-row class="col2"><uni-col :span="24"><u-button :text="`${itemProperty.fl == '1'? '打开':'关闭'}`"
							type="info" @click="controlHeadSwitch(item,itemProperty.fl,'fl')"
							class="but1"></u-button></uni-col></uni-row>
			</uni-col>
		</uni-row>
		<uni-row class="rowstyle">
			<uni-col :span="12">
				<uni-row class="col1"><uni-col :span="24">
						<view class="text1">杀虫挡板</view>
					</uni-col></uni-row>
				<uni-row class="col2"><uni-col :span="24"><u-button :text="`${itemProperty.wf == '1'? '打开':'关闭'}`"
							type="info" @click="controlHeadSwitch(item,itemProperty.wf,'wf')"
							class="but1"></u-button></uni-col></uni-row>
			</uni-col>
			<uni-col :span="12">
				<uni-row class="col1"><uni-col :span="24">
						<view class="text1">杀虫控制</view>
					</uni-col></uni-row>
				<uni-row class="col2"><uni-col :span="24"><u-button :text="`${itemProperty.itc == '1'? '打开':'关闭'}`"
							type="info" @click="controlHeadSwitch(item,itemProperty.itc,'itc')"
							class="but1"></u-button></uni-col></uni-row>
			</uni-col>
		</uni-row>
		<uni-row class="rowstyle">
			<uni-col :span="12">
				<uni-row class="col1"><uni-col :span="24">
						<view class="text1">烘干挡板</view>
					</uni-col></uni-row>
				<uni-row class="col2"><uni-col :span="24"><u-button :text="`${itemProperty.df == '1'? '打开':'关闭'}`"
							type="info" @click="controlHeadSwitch(item,itemProperty.df,'df')"
							class="but1"></u-button></uni-col></uni-row>
			</uni-col>
			<uni-col :span="12">
				<uni-row class="col1"><uni-col :span="24">
						<view class="text1">烘干控制</view>
					</uni-col></uni-row>
				<uni-row class="col2"><uni-col :span="24"><u-button :text="`${itemProperty.d == '1'? '打开':'关闭'}`"
							type="info" @click="controlHeadSwitch(item,itemProperty.d,'d')"
							class="but1"></u-button></uni-col></uni-row>
			</uni-col>
		</uni-row>
		<uni-row class="rowstyle">
			<uni-col :span="12">
				<uni-row class="col1"><uni-col :span="24">
						<view class="text1">移虫装置</view>
					</uni-col></uni-row>
				<uni-row class="col2"><uni-col :span="24"><u-button :text="`${itemProperty.mw == '1'? '打开':'关闭'}`"
							type="info" @click="controlHeadSwitch(item,itemProperty.mw,'mw')"
							class="but1"></u-button></uni-col></uni-row>
			</uni-col>
			<uni-col :span="12">
				<uni-row class="col1"><uni-col :span="24">
						<view class="text1">摄像头</view>
					</uni-col></uni-row>
				<uni-row class="col2"><uni-col :span="24"><u-button text="拍照" type="info"
							@click="controlHeadSwitch(item,0,'car')" style="height: ;"></u-button></uni-col></uni-row>
			</uni-col>
		</uni-row>
		<uni-row class="rowheadstyle"> <uni-col :span="24" v-if="itemProperty.aal!=null">
				<u-button text="分析" type="info" @click="analysis(item,itemProperty.aal)"
					style="height: 25px;width: 200px;margin-bottom: 2px;margin-top: 10px;text-align: center;"></u-button>
			</uni-col></uni-row>
		<u-popup :show="showDeviceLog" mode="center">
			<view class="dialog-container">
				<view class="dialog-title">
					<text>虫情历史记录</text>
					<u-icon name="reload" size="20" class="reload-btn" @click="reload"></u-icon>
					<u-icon name="close" size="20" class="close-btn" @click="closeLog"></u-icon>
				</view>
				<view class="dialog-body">
					<view class="logs-data-box" style="width:90vw">
						<view class="logs-container">
							<view class="logs-item" v-for="itemHistory in listData" :key="item.id">
								<view class="row">
									<view class="full-line">
										<text class="label">设备编号：</text>
										<text class="text">{{ itemHistory.deviceCode }}</text>
									</view>
								</view>
								<view class="row">
									<view class="full-line">
										<text class="label">记录时间：</text>
										<text class="text">{{ itemHistory.createTime }}</text>
									</view>
								</view>
								<view class="charge">
									<view class="flex item charge-item">
										<view>{{ itemHistory.historyContent || "-" }}</view>
									</view>
								</view>
							</view>
						</view>
						<uni-pagination :pageCount="query.pageSize" :curPageNum="query.pageNum" :totalNum="total"
							@pageClick="pageTurning"></uni-pagination>
					</view>
				</view>
			</view>
		</u-popup>
		<u-popup :show="showAnalysis" mode="center">
			<view class="dialog-container">
				<view class="dialog-title">
					<text>虫情分析</text>
					<u-icon name="close" size="20" class="close-btn" @click="closeLogAnalysis"></u-icon>
				</view>
				<view class="dialog-body">
					<uni-row class="rowstyle">
						<uni-col :span="24">
							<uni-row class="col1"><uni-col :span="24">
									<view class="text2">分析图片</view>
								</uni-col></uni-row>
							<uni-row class="col2"><uni-col :span="24" style="text-align: center;"><u-image
										:src="analysisImgstr1" :lazy-load="true" style="width: 50%;height: 50%;"
										shape="square"></u-image></uni-col></uni-row>
						</uni-col>
					</uni-row>
					<uni-row class="rowstyle">
						<uni-col :span="24">
							<uni-row class="col1"><uni-col :span="24">
									<view class="text2">分析时间</view>
								</uni-col></uni-row>
							<uni-row class="col2"><uni-col :span="24" style="text-align: center;">
									<view class="text2">{{analysisTime}}</view>
								</uni-col></uni-row>
						</uni-col>
					</uni-row>
					<view v-for="itemanalyse in analyseData" :key="itemanalyse.name">
						<uni-row class="rowstyle">
							<uni-col :span="24">
								<uni-row class="col1"><uni-col :span="24">
										<view class="text2">{{itemanalyse.name}}</view>
									</uni-col></uni-row>
								<uni-row class="col2"><uni-col :span="24" style="text-align: center;">
										<view class="text2">{{itemanalyse.num}}</view>
									</uni-col></uni-row>
							</uni-col>
						</uni-row>
					</view>
				</view>
			</view>
		</u-popup>
	</view>
</template>
<script>
	import plugin from "@/plugins"
	import {
		controlHeadSwitch
	} from "@/api/controlHeadInterface"
	import {
		getOutDeviceHistoryList
	} from "@/api/system/device_agricultural"
	export default {
		data() {
			return {
				item: {},
				itemProperty: {},
				showDeviceLog: false,
				passParams: {},
				showAnalysis: false,
				analysisImgstr1: "",
				analysisTime: "",
				analyseData: [],
				total: 0,
				listData: [],
				query: {
					pageNum: 1,
					pageSize: 10,
					deviceCode: null
				}
			}
		},
		onLoad(option) {
			if (option.item != null) {
				this.item = JSON.parse(decodeURIComponent(option.item));
				if (this.item) {
					this.itemProperty = this.item.deviceData;
					this.query.deviceCode = this.item.deviceCode;
				}
			}
		},
		methods: {
			queryList(str) {
				if (str == "into") {
					this.query.pageNum = 1;
				}
				if (str == "pre") {
					this.query.pageNum = this.query.pageNum - 1
				}
				if (str == "next") {
					this.query.pageNum = this.query.query.pageNum + 1
				}
				getOutDeviceHistoryList(this.query).then(res => {
					this.listData = res.rows;
					this.total = res.total;
				})
			},
			//打开历史界面
			openH(item) {
				this.showDeviceLog = true
				this.queryList("into");
			},
			reload() {
				uni.$emit("reloadlogs")
			},
			//关闭历史记录
			closeLog() {
				this.showDeviceLog = false;
			},
			//控制按钮
			controlHeadSwitch(item, e, k) {
				if (this.itemProperty.s === "offline") {
					plugin.modal.msgError("设备离线，不能操作！");
					return;
				}
				if (k === "car" && this.itemProperty.m === "1") {
					plugin.modal.msgError("自动模式不能拍照！");
					return;
				}
				if (k === "car" && this.itemProperty.fl === "0") {
					plugin.modal.msgError("请先打开补光灯！");
					return;
				}
				let par = {
					controlKey: k,
					deviceTypeId: 7,
					operationType: 11,
					deviceCode: item.deviceCode,
					controlValve: e == 1 ? 0 : 1
				};
				controlHeadSwitch(par).then(res => {})
			},
			//打开分析弹出页
			analysis(item, e) {
				if (!e) {
					plugin.modal.msgError("没有可以分析的数据！");
					return;
				}
				let data = JSON.parse(e);
				this.showAnalysis = true;
				this.analysisImgstr1 = data.analyseCoordUrl;
				this.analysisTime = this.formatDate(data.verifyTime, "-");
				this.analyseData = JSON.parse(data.analyseData);
			},
			//关闭分析弹出页
			closeLogAnalysis() {
				this.showAnalysis = false;
			},
			//时间戳转换时间
			formatDate(value, spe) {
				let data = new Date(value);
				let year = data.getFullYear();
				let month = data.getMonth() + 1;
				let day = data.getDate();
				let h = data.getHours();
				let mm = data.getMinutes();
				let s = data.getSeconds();
				month = month > 9 ? month : "0" + month;
				day = day > 9 ? day : "0" + day;
				h = h > 9 ? h : "0" + h;
				mm = mm > 9 ? mm : "0" + mm;
				s = s > 9 ? s : "0" + s;
				return `${year}${spe}${month}${spe}${day} ${h}:${mm}:${s}`;
			},
			pageTurning(flag) {
				if (flag === 0) {
					if (this.query.pageNum - 1 === 0) return
					this.queryList("pre")
				}
				if (flag === 1) {
					if (this.query.pageNum + 1 > Math.ceil(this.total / this.query.pageSize)) return
					this.queryList("next")
				}

			}
		}
	}
</script>

<style lang="scss">
	.page {
		height: 1200px;
		width: 100%;
		background-color: cadetblue;
	}

	.uni-page-head {
		display: none
	}

	.col1 {
		width: 130px;
		height: 20px;

	}

	.col2 {
		width: 130px;
		height: 30px;

	}

	.text1 {
		text-align: center;
		background-color: #13bff3;
		height: 20px;
		line-height: 20px;
		color: white;

	}

	.text2 {
		text-align: center;
		background-color: #13bff3;
		height: 20px;
		width: 240px;
		line-height: 20px;
		color: white;
	}

	.but1 {
		width: 130;
	}

	.demo-uni-col {
		height: 32px;
		border-radius: 2px;
	}

	.dark {
		background-color: cadetblue;
	}

	.light {
		background-color: cadetblue;
	}

	.rowheadstyle {
		height: 40px;
		left: 10px;

	}

	.rowstyle {
		height: 70px;
		left: 10px;
		padding-top: 10px;

	}

	.rowview {
		margin-top: 5px;
		height: 100%;
		width: 100%;
		line-height: 40px;
	}

	.valuecol {
		height: 80%;
		text-align: left;
		line-height: 28px;
		font-size: 12px;
		// border: 1px solid black;
		width: 95%;
		// background-color: white;
		color: white;
	}

	// 弹窗
	.dialog-container {
		width: 90vw;
		height: 90vh;
		overflow: hidden;

		.dialog-title {
			width: 100%;
			height: 34px;
			font-size: 16px;
			line-height: 34px;
			text-align: center;
			font-weight: bold;
			border-bottom: 1px solid #999;
			position: relative;

			.reload-btn {
				position: absolute;
				top: 50%;
				right: 56px;
				transform: translateY(-50%);
			}

			.close-btn {
				position: absolute;
				top: 50%;
				right: 10px;
				transform: translateY(-50%);
			}
		}

		.dialog-body {
			height: calc(100% - 35px);
			overflow: hidden;
			position: relative;
			background-color: #f7f7f7;

			//扫码的弹窗
			.scancode-device-info {
				height: 100%;
				padding: 0 20px;
				overflow-x: hidden;
				overflow-y: auto;
				display: flex;
				flex-direction: column;
				justify-content: space-evenly;

				&>view {
					width: 100%;
					line-height: 40px;
					font-size: 18px;
					color: gray;

					.label {
						display: inline-block;
						width: 30%;
						color: black;
						margin-right: 2px;
						white-space: nowrap;
					}
				}
			}
		}

		.control-panel {
			height: 100px;
			display: flex;
			align-items: center;
			flex-wrap: nowrap;
			justify-content: space-evenly;

			&>view {
				padding: 6px 10px;
				color: #007acc;
				font-size: 14px;
				border: 1px solid #ccc;
				border-radius: 4px;
			}
		}

		.logs-data-box {
			width: 90vw;
			height: calc(90vh - 35px);

			.logs-container {
				width: 100%;
				height: calc(100% - 40px);
				overflow-x: hidden;
				overflow-y: auto;
			}
		}

		.logs-item {
			margin: 4px 10px;
			padding: 6px;
			background: white;
			border-radius: 10px;
			border: 1px solid #eee;

			.row {
				line-height: 22px;
				font-size: 14px;
				display: flex;

				.left {
					width: 50%;
					white-space: nowrap;
				}

				.right {
					width: 50%;
					white-space: nowrap;
				}

				.full-line {
					width: 100%;
				}

				.label {
					color: gray;
				}

				.text {
					color: black;
				}
			}
		}

		.charge {
			background: white;
			margin: 10px 10px;
			padding: 20px 10px;
			border-radius: 10px;
			box-shadow: 1px 1px 2px 2px rgba(0, 0, 0, 0.05);
			position: relative;

			.charge-item {
				margin-left: 20px;
			}

			.call {
				position: absolute;
				top: 20px;
				right: 20px;
			}
		}
	}
</style>