<template>
	<view class="page" :style="{'min-height':h+'px', 'padding-top':mt+'px'}">
		<cus-header title='设备异常'></cus-header>
		<div class="top" @tap="placeShow = true;">
			<div class="left">
				<image :src="imgBase+'inspection/record_location.png'"></image>
				<text>{{location}}</text>
			</div>
			<div class="right">
				<u-icon name="arrow-right" color="#FFFFFF" size="32"></u-icon>
			</div>
		</div>
		<div class="title">共有<span>{{list.length}}</span>条记录</div>
		<div class="boxs" v-if="list.length">
			<div class="box" v-for="(item,index) in list" :key="index">
				<div class="place">{{item.deviceName||''}}</div>
				<!-- <div class="pre">安装位置<span>{{item.time}}</span></div> -->
				<div class="pre">设备编号<span>{{item.deviceId||''}}</span></div>
				<div class="pre">告警原因<span class="red">{{item.alertConfigName||''}}</span></div>
				<div class="pre">告警内容<span>{{item.content||''}}</span></div>
				<div class="pre">告警时间<span>{{item.alertTime||''}}</span></div>
			</div>
		</div>
		<template v-else>
			<page-empty :height="'calc(100vh - 110px)'"></page-empty>
		</template>
		<u-picker :show="placeShow" :columns="placeColumns" keyName="orgName" @cancel="placeShow=false" @change="changeHandler" @confirm="placeConfirm" ref="uPicker"></u-picker>
	</view>
</template>

<script>
	import pageEmpty from '@/components/pageEmpty/index.vue'
	export default {
		components:{
			pageEmpty
		},
		data(){
			return {
				location:'',
				placeShow:false,
				placeColumns:[],
                placeColumnData: [],
				isOver:false,
				params:{
					buildingId:'',
					storeyId:''
				},
				list:[],
			}
		},
		async onLoad() {
			this.getFloorInfo();
			this.getList();
		},
		methods:{
			getFloorInfo(){
				this.$api.get('/control/getOrgStructureTree/').then(res=>{
					if(res.data.code===0){
						this.location = res.data.data[0].orgName;
						this.placeColumns = [
							res.data.data[0].childrenList,
							res.data.data[0].childrenList[0].childrenList
						]
						let allfloor = [];
						for (let i = 0; i < res.data.data[0].childrenList.length; i++) {
							allfloor.push(res.data.data[0].childrenList[i].childrenList)
						}
						this.placeColumnData = allfloor;
					}else this.$showToast(res.data.msg)
				})
			},
			getList(){
				this.$api.get('/home/actualAlertList',this.params).then(res=>{
					if(res.data.code===0){
						this.list = res.data.data;
					}else this.$showModal(res.data.msg)
				});
			},
            changeHandler(e) {
                const {
                    columnIndex,
                    value,
                    values, // values为当前变化列的数组内容
                    index,
					// 微信小程序无法将picker实例传出来,只能通过ref操作
                    picker = this.$refs.uPicker
                } = e
                // 当第一列值发生变化时,变化第二列(后一列)对应的选项
                if (columnIndex === 0) {
                    // picker为选择器this实例,变化第二列对应的选项
                    picker.setColumnValues(1, this.placeColumnData[index])
                }
            },
			placeConfirm(e){
				this.params.buildingId = e.value[0].orgId;
				this.params.storeyId = e.value[1].orgId;
				this.placeShow = false;
				this.init()
			},
			init(){
				this.params.page = 1;
				this.isOver = false;
				this.list = [];
				this.getList();
			}
		}
	}
</script>

<style scoped lang="less">
	.page{
		padding-bottom: 20rpx;
		background: #F4F8FB;
		box-sizing: border-box;
		.top{
			width: 100%;
			height: 102rpx;
			background: #198CFF;
			padding: 0 30rpx;
			box-sizing: border-box;
			display: flex;
			align-items: center;
			justify-content: space-between;
			.left{
				display: flex;
				align-items: center;
				image{
					width: 36rpx;
					height: 36rpx;
				}
				text{
					font-family: PingFangSC, PingFang SC;
					font-weight: 400;
					font-size: 30rpx;
					color: #FFFFFF;
					line-height: 42rpx;
					margin-left: 10rpx;
				}
			}
		}
		.filtrate{
			width: 100%;
			height: 90rpx;
			background: #FFFFFF;
			display: flex;
			.pre{
				width: calc(100% / 3);
				height: 100%;
				display: flex;
				align-items: center;
				justify-content: center;
				text{
					font-family: PingFangSC, PingFang SC;
					font-weight: 400;
					font-size: 28rpx;
					color: #4E5969;
					line-height: 40rpx;
					margin-right: 12rpx;
				}
			}
		}
		
		.title{
			font-family: PingFang-SC, PingFang-SC;
			font-weight: bold;
			font-size: 32rpx;
			color: #1D2129;
			line-height: 32rpx;
			margin-top: 36rpx;
			padding-left: 24rpx;
			span{
				color: #198CFF;
				margin: 0 10rpx;
			}
		}
		
		.boxs{
			width: 100%;
			padding: 0 24rpx;
			box-sizing: border-box;
			margin-top: 16rpx;
			overflow: hidden;
			.box{
				margin-top: 20rpx;
				background: #FFFFFF;
				border-radius: 16rpx;
				padding: 36rpx 24rpx;
				.place{
					font-family: PingFang-SC, PingFang-SC;
					font-weight: bold;
					font-size: 32rpx;
					color: #1D2129;
					line-height: 36rpx;
					white-space: nowrap;
					overflow: hidden;
					text-overflow: ellipsis;
				}
				.pre{
					font-family: PingFangSC, PingFang SC;
					font-weight: 400;
					font-size: 24rpx;
					color: #86909C;
					line-height: 24rpx;
					margin-top: 26rpx;
					span{
						font-family: PingFangSC, PingFang SC;
						font-weight: 400;
						font-size: 26rpx;
						color: #1D2129;
						line-height: 26rpx;
						margin-left: 20rpx;
						&.red{
							color: #F95050;
						}
					}
				}
			}
		}
	}
</style>