<!--
|
* @Author: daidai
|
* @Date: 2022-03-01 15:27:58
|
* @LastEditors: Please set LastEditors
|
* @LastEditTime: 2022-05-07 11:24:14
|
* @FilePath: \web-pc\src\pages\big-screen\view\indexs\right-center.vue
|
-->
|
<template>
|
<div v-if="pageflag" class="right_center_wrap beautify-scroll-def" :class="{ 'overflow-y-auto': !sbtxSwiperFlag }">
|
<component :is="components" :data="list" :class-option="defaultOption">
|
<ul class="right_center ">
|
<li class="right_center_item" v-for="(item, i) in list" :key="i">
|
<span class="orderNum">{{ i + 1 }}</span>
|
<div class="inner_right">
|
<div class="dibu"></div>
|
<div class="flex">
|
<div class="info">
|
<span class="labels ">设备ID:</span>
|
<span class="contents zhuyao"> {{ item.gatewayno }}</span>
|
</div>
|
<div class="info">
|
<span class="labels">型号:</span>
|
<span class="contents "> {{ item.terminalno }}</span>
|
</div>
|
<div class="info">
|
<span class="labels">告警值:</span>
|
<span class="contents warning"> {{ item.alertvalue | montionFilter }}</span>
|
</div>
|
</div>
|
|
|
<div class="flex">
|
|
<div class="info">
|
<span class="labels"> 地址:</span>
|
<span class="contents ciyao" style="font-size:12px"> {{ item.provinceName }}/{{ item.cityName }}/{{ item.countyName }}</span>
|
</div>
|
<div class="info time">
|
<span class="labels">时间:</span>
|
<span class="contents" style="font-size:12px"> {{ item.createtime }}</span>
|
</div>
|
|
</div>
|
<div class="flex">
|
|
<div class="info">
|
<span class="labels">报警内容:</span>
|
<span class="contents ciyao" :class="{ warning: item.alertdetail }"> {{ item.alertdetail || '无'
|
}}</span>
|
</div>
|
</div>
|
</div>
|
</li>
|
</ul>
|
</component>
|
</div>
|
<Reacquire v-else @onclick="getData" style="line-height:200px" />
|
|
</template>
|
|
<script>
|
import { currentGET } from 'api/modules'
|
import vueSeamlessScroll from 'vue-seamless-scroll' // vue2引入方式
|
import Kong from '../../components/kong.vue'
|
export default {
|
components: { vueSeamlessScroll, Kong },
|
|
data() {
|
return {
|
list: [],
|
pageflag: true,
|
defaultOption: {
|
...this.$store.state.setting.defaultOption,
|
limitMoveNum: 3,
|
singleHeight: 250,
|
step:0,
|
}
|
|
};
|
},
|
computed: {
|
sbtxSwiperFlag() {
|
let ssyjSwiper = this.$store.state.setting.ssyjSwiper
|
if (ssyjSwiper) {
|
this.components = vueSeamlessScroll
|
} else {
|
this.components = Kong
|
}
|
return ssyjSwiper
|
}
|
},
|
created() {
|
this.getData()
|
},
|
|
mounted() { },
|
methods: {
|
getData() {
|
this.pageflag = true
|
// this.pageflag =false
|
currentGET('big5', { limitNum: 50 }).then(res => {
|
console.log('实时预警', res);
|
if (res.success) {
|
this.list = res.data.list
|
let timer = setTimeout(() => {
|
clearTimeout(timer)
|
this.defaultOption.step=this.$store.state.setting.defaultOption.step
|
}, this.$store.state.setting.defaultOption.waitTime);
|
} else {
|
this.pageflag = false
|
this.$Message.warning(res.msg)
|
}
|
})
|
},
|
|
},
|
};
|
</script>
|
<style lang='scss' scoped>
|
.right_center {
|
width: 100%;
|
height: 100%;
|
|
.right_center_item {
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
height: auto;
|
padding: 10px;
|
font-size: 14px;
|
color: #fff;
|
|
.orderNum {
|
margin: 0 20px 0 -20px;
|
}
|
|
|
.inner_right {
|
position: relative;
|
height: 100%;
|
width: 400px;
|
flex-shrink: 0;
|
line-height: 1.5;
|
|
.dibu {
|
position: absolute;
|
height: 2px;
|
width: 104%;
|
background-image: url("../../assets/img/zuo_xuxian.png");
|
bottom: -12px;
|
left: -2%;
|
background-size: cover;
|
}
|
}
|
|
.info {
|
margin-right: 10px;
|
display: flex;
|
align-items: center;
|
|
.labels {
|
flex-shrink: 0;
|
font-size: 12px;
|
color: rgba(255, 255, 255, 0.6);
|
}
|
|
.zhuyao {
|
color: $primary-color;
|
font-size: 15px;
|
}
|
|
.ciyao {
|
color: rgba(255, 255, 255, 0.8);
|
}
|
|
.warning {
|
color: #E6A23C;
|
font-size: 15px;
|
}
|
}
|
|
}
|
}
|
|
.right_center_wrap {
|
overflow: hidden;
|
width: 100%;
|
height: 250px;
|
}
|
|
.overflow-y-auto {
|
overflow-y: auto;
|
}
|
</style>
|