<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://www.hnyfwlw.com:8006/bigdata_app/image/prevention/6.png':'http://www.hnyfwlw.com:8006/bigdata_app/image/prevention/7.png'" mode=""
					 class="prevents_item_img"></image>
					<view class="prevents_item_top">
						<p>设备名称：{{item.device_name}}</p>
						<p :class="item.is_online==1?'green':'red'" v-text="item.is_online==1?'在线':'离线'"></p>
					</view>
					<view class="prevents_item_bot">
						<p>设备 ID：{{item.imei || item.device_id}}</p>
						<p>最新上报时间：{{item.addtime|timeFormat()}}</p>
					</view>
				</view>
			</view>
		</view>
		<view class="top" v-if="isTop" @click="top">
			<image :src="'http://www.hnyfwlw.com:8006/bigdata_app'+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
		</view>
	</view>
</template>

<script>
	import {
		Debounce,
		Throttle
	} from "../../../util/anitthro.js"
	export default {
		data() {
			return {
				imports:"",
				device_id:'',
				page:1,
				eqlistdata:[],
				isTop:false,
				none:false
			}
		},
		methods: {
			async searchEquip() {
				const res = await this.$myRequest({
					url: '/api/api_gateway?method=forecast.worm_lamp.lamp_list',
					data: {
						device_type_id: this.device_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_id,
						page: this.page,
						page_size: 10,
					}
				})
				this.eqlistdata = this.eqlistdata.concat(res.data)
				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_id==10){
						this.getxyEquipList()
					}else{
						this.searchEquip()
					}
				}, 1000)()
			},
			search(){
				this.eqlistdata = []
				this.page = 1
				if(this.device_id==10){
					this.getxyEquipList()
				}else{
					this.searchEquip()
				}
			},
			clickLeft(){
				uni.navigateBack({
					delta:1
				})
			},
			top() {
				uni.pageScrollTo({
					scrollTop: 0,
					duration: 500
				})
			},
			eqdetails(item){
				item.type = Number(this.device_id)
				console.log(item)
				let data = JSON.stringify(item)
				if(item.type==10){
					uni.navigateTo({
						url: '/pages/cb/xy2.0/particulars?info=' + data
					});
				}else{
					uni.navigateTo({
						url: '/pages/cb/equip-detail/equip-detail?info=' + data
					});
				}
			}
		},
		onLoad(option){
			this.device_id = option.device_id
		},
		onReachBottom() {
			this.page++
			console.log(1)
			if(this.device_id==10){
				this.getxyEquipList()
			}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>

