<template>
	<view>
		<view class="status_bar"></view>
		<view class="" style="position: relative;top: 44px;">
			<view style="position: fixed;z-index: 100;padding-top: 20rpx;background-color: #FFFFFF;">
				<uni-nav-bar @clickLeft="clickLeft" left-icon="back" left-text="返回"></uni-nav-bar>
				<view class="search_top_input">
					<input type="text" value="" placeholder="请输入设备ID" v-model="imports" @input="searchinp" />
					<u-icon name="search" size="40" class="icon" @click="search"></u-icon>
				</view>
			</view>
			<view class="nonetishi" v-if="none">
				暂无此设备
			</view>
			<view class="prevents" v-else>
				<view class="prevents_item" v-for="item,index in eqlistdata" :key="index" @click="eqdetails(item)">
					<image
						:src="item.is_online==1?'http://static.yfpyx.com/bigdata_app/image/prevention/6.png':'http://static.yfpyx.com/bigdata_app/image/prevention/7.png'"
						mode="" class="prevents_item_img"></image>
					<view class="prevents_item_top">
						<p>设备 ID：{{item.imei || item.device_id}}</p>
						<p :class="item.is_online==1?'green':'red'" v-text="item.is_online==1?'在线':'离线'"></p>
					</view>
					<view class="prevents_item_bot">
						<p>设备名称：{{item.device_name}}</p>
						<p>最新上报时间：{{item.addtime|timeFormat()}}</p>
					</view>
				</view>
			</view>
		</view>
		<view class="top" v-if="isTop" @click="top">
			<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode="">
			</image>
		</view>
	</view>
</template>

<script>
	import {
		Debounce,
		Throttle
	} from "../../../util/anitthro.js"
	export default {
		data() {
			return {
				imports: "",
				device_type_id: '',
				page: 1,
				eqlistdata: [],
				isTop: false,
				none: false,
				pur_id:0
			}
		},
		methods: {
			async searchEquip() {
				const res = await this.$myRequest({
					url: '/api/api_gateway?method=forecast.worm_lamp.lamp_list',
					data: {
						device_type_id: this.device_type_id,
						device_id: this.imports,
						page: this.page
					}
				})
				this.eqlistdata = this.eqlistdata.concat(res.data)
				console.log(res)
				if (this.eqlistdata.length == 0) {
					this.none = true
				} else {
					this.none = false
				}
			},
			async getxyEquipList(act) {
				const res = await this.$myRequest({
					url: '/api/api_gateway?method=sex_lure_nl.sex_lure.nl_device_list',
					data: {
						device_type_id: this.device_type_id,
						page: this.page,
						page_size: 10,
						device_id: this.imports,
					}
				})
				this.eqlistdata = this.eqlistdata.concat(res.data)
				console.log(res)
				if (this.eqlistdata.length == 0) {
					this.none = true
				} else {
					this.none = false
				}
			},
			async getthxyEquipList(act) {
				this.loadingtf = true
				const res = await this.$myRequest({
					url: '/api/api_gateway?method=forecast.worm_lamp.xy_three_list',
					data: {
						device_type_id: this.equipArr[act].type,
						page: this.equipArr[act].pageIndex,
						page_size: 10,
						device_status: this.device_status,
						device_id: this.imports,
					}
				})
				this.eqlistdata = this.eqlistdata.concat(res.data)
				console.log(res)
				if (this.eqlistdata.length == 0) {
					this.none = true
				} else {
					this.none = false
				}
			},
			async getxctEquipList(act) {
				this.loadingtf = true
				const res = await this.$myRequest({
					url: '/api/api_gateway?method=forecast.worm_lamp.xct_list',
					data: {
						device_type_id: this.equipArr[act].type,
						page: this.equipArr[act].pageIndex,
						page_size: 10,
						device_status: this.device_status,
						device_id: this.imports,
					}
				})
				this.eqlistdata = this.eqlistdata.concat(res.data)
				this.eqlistdata.forEach(item => {
					item.addtime = item.uptime;
				})
				console.log(res)
				if (this.eqlistdata.length == 0) {
					this.none = true
				} else {
					this.none = false
				}
			},
			searchinp() {
				Debounce(() => {
					this.eqlistdata = []
					this.page = 1
					if (this.device_type_id == 10) {
						this.getxyEquipList()
					} else if (this.device_type_id == 8) {
						this.getthxyEquipList()
					} else if (this.device_type_id == 12) {
						this.getxctEquipList()
					} else {
						this.searchEquip()
					}
				}, 1000)()
			},
			search() {
				this.eqlistdata = []
				this.page = 1
				if (this.device_type_id == 10) {
					this.getxyEquipList()
				} else if (this.device_type_id == 8) {
					this.getthxyEquipList()
				} else if (this.device_type_id == 12) {
					this.getxctEquipList()
				} else {
					this.searchEquip()
				}
			},
			clickLeft() {
				uni.navigateTo({
					url: "./index"
				})
			},
			top() {
				uni.pageScrollTo({
					scrollTop: 0,
					duration: 500
				})
			},
			eqdetails(item) {
				item.type = Number(this.device_type_id)
				item.pur_id = this.pur_id
				console.log(item)
				let data = JSON.stringify(item)
				if (item.type == 10) {
					uni.navigateTo({
						url: '/pages/cb/xy2.0/particulars?info=' + data
					});
				} else if (item.type == 8) {
					console.log(data)
					uni.navigateTo({
						url: '/pages/cb/thxydetail/thxydetail?imei=' + item.imei
					});
				} else if (item.type == 12) {
					uni.navigateTo({
						url: '/pages/cb/xctdetail/xctdetail?info=' + data
					});
				}else if (item.type == 32||item.type == 33||item.type == 34||item.type == 35) {
					uni.navigateTo({
						url: '/pages/cb/equip-detail/equip-detail-new?info=' + data
					});
				}else{
					uni.navigateTo({
						url: '/pages/cb/equip-detail/equip-detail?info=' + data
					});
				}
			}
		},
		onLoad(option) {
			this.device_type_id = option.device_type_id
			this.pur_id = option.pur_id
		},
		onReachBottom() {
			this.page++
			console.log(1)
			if (this.device_type_id == 10) {
				this.getxyEquipList()
			} else if (this.device_type_id == 8) {
				this.getthxyEquipList()
			} else if (this.device_type_id == 12) {
				this.getxctEquipList()
			} else {
				this.searchEquip()
			}
		},
		onBackPress(options) {
			if (options.from === 'navigateBack') {
				return false;
			}
			this.clickLeft();
			return true;
		},
		onPageScroll(e) { //nvue暂不支持滚动监听，可用bindingx代替
			if (e.scrollTop > 200) { //距离大于200时显示
				this.isTop = true
			} else { //距离小于200时隐藏
				this.isTop = false
			}
		},
	}
</script>

<style lang="scss">
	.search_top_input {
		width: 80%;
		height: 54rpx;
		background-color: #E4E4E4;
		border-radius: 27rpx;
		position: absolute;
		top: 33rpx;
		right: 18rpx;
		padding-top: 8rpx;
		box-sizing: border-box;

		input {
			width: 85%;
			text-indent: 1rem;
			font-size: 26rpx;
		}

		.icon {
			position: absolute;
			top: 8rpx;
			right: 26rpx;
		}
	}

	.nonetishi {
		width: 100%;
		position: absolute;
		top: 60px;
		height: 200rpx;
		text-align: center;
		line-height: 200rpx;
		font-size: 22px;
	}

	.prevents {
		width: 100%;
		position: absolute;
		top: 60px;

		.prevents_item {
			width: 95%;
			margin: 0 auto 30rpx;
			border-radius: 10rpx;
			box-shadow: 0 0 10rpx #bcb9ca;
			padding: 20rpx 40rpx 20rpx 80rpx;
			box-sizing: border-box;
			position: relative;

			.prevents_item_img {
				width: 30rpx;
				height: 50rpx;
				position: absolute;
				top: -4rpx;
				left: 30rpx;
			}

			.prevents_item_top {
				display: flex;
				justify-content: space-between;
				height: 60rpx;
				border-bottom: 2rpx solid #F4F4F4;
				line-height: 60rpx;
				font-size: 26rpx;

				.red {
					color: #ff0000;
				}

				.green {
					color: #7DBB91;
				}
			}

			.prevents_item_bot {
				margin-top: 20rpx;
				font-size: 26rpx;
				color: #BDBDBD;
			}
		}
	}

	.top {
		position: fixed;
		right: 30px;
		bottom: 100px;
		z-index: 100;

		image {
			width: 100rpx;
			height: 100rpx;
		}
	}
</style>
