邓洁: 首屏面板的loading
This commit is contained in:
@@ -675,9 +675,11 @@ input[type="number"] {
|
|||||||
font-size:35px;
|
font-size:35px;
|
||||||
min-height: 350px;
|
min-height: 350px;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
color: #2fb0df;
|
color: #2fb0df;
|
||||||
|
letter-spacing: 3px;
|
||||||
}
|
}
|
||||||
//loading
|
//loading
|
||||||
.loading-block{
|
.loading-block{
|
||||||
@@ -689,18 +691,16 @@ input[type="number"] {
|
|||||||
font-size: 55px;
|
font-size: 55px;
|
||||||
color: #38CAFB;
|
color: #38CAFB;
|
||||||
letter-spacing: 3px;
|
letter-spacing: 3px;
|
||||||
.loading {
|
|
||||||
margin-bottom: 20px;
|
|
||||||
width: 100px;
|
|
||||||
height: 100px;
|
|
||||||
border: 2px solid #38CAFB;
|
|
||||||
border-top-color: transparent;
|
|
||||||
border-radius: 100%;
|
|
||||||
animation: circle infinite 0.75s linear;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
.loading {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
width: 100px;
|
||||||
|
height: 100px;
|
||||||
|
border: 2px solid #38CAFB;
|
||||||
|
border-top-color: transparent;
|
||||||
|
border-radius: 100%;
|
||||||
|
animation: circle infinite 0.75s linear;
|
||||||
|
}
|
||||||
// 转转转动画
|
// 转转转动画
|
||||||
@keyframes circle {
|
@keyframes circle {
|
||||||
0% {
|
0% {
|
||||||
|
|||||||
@@ -192,8 +192,10 @@ const getAirInfo = (now) => {
|
|||||||
windSpeed.value = item.value
|
windSpeed.value = item.value
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
airArr.push(airArr.shift())
|
if(airArr.length!==0){
|
||||||
airList.value = airArr
|
airArr.push(airArr.shift())
|
||||||
|
airList.value = airArr
|
||||||
|
}
|
||||||
}
|
}
|
||||||
const initChart = (type, values) => {
|
const initChart = (type, values) => {
|
||||||
//3.初始化container容器
|
//3.初始化container容器
|
||||||
|
|||||||
@@ -4,7 +4,8 @@
|
|||||||
:style="{ backgroundImage: 'url(' + getImageUrl(bgImage) + ')' }">
|
:style="{ backgroundImage: 'url(' + getImageUrl(bgImage) + ')' }">
|
||||||
<div class="title">有害气体</div>
|
<div class="title">有害气体</div>
|
||||||
<div v-if="badGasList==null||badGasList.length===0" class="showNull">
|
<div v-if="badGasList==null||badGasList.length===0" class="showNull">
|
||||||
暂无数据~
|
<div class="loading" v-if="loading===0"></div>
|
||||||
|
{{loading===0?'加载中...':'暂无数据~'}}
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="info-list">
|
<div v-else class="info-list">
|
||||||
<gas-info-item
|
<gas-info-item
|
||||||
@@ -55,7 +56,8 @@ import {getBadGasEchartsInfo} from "@/api/largeScreen";
|
|||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
list: Array,
|
list: Array,
|
||||||
badGasData: Array,
|
badGasData: Array,
|
||||||
tunnelId: Number
|
tunnelId: Number,
|
||||||
|
loading: Number,
|
||||||
});
|
});
|
||||||
const timeList = ref(["年", "月", "日"]);
|
const timeList = ref(["年", "月", "日"]);
|
||||||
const selectTimeButton = ref(2);
|
const selectTimeButton = ref(2);
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<div id="fan_info">
|
<div id="fan_info">
|
||||||
<div class="title">风机</div>
|
<div class="title">风机</div>
|
||||||
<div v-if="socketData==null||socketData.length===0" class="showNull">
|
<div v-if="socketData==null||socketData.length===0" class="showNull ">
|
||||||
暂无数据~
|
<div class="loading" v-if="loading===0"></div>
|
||||||
|
{{loading===0?'加载中...':'暂无数据~'}}
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="fans">
|
<div v-else class="fans">
|
||||||
<div class="fan-item" v-for="(item,index) in socketData" :key="item.equipmentId">
|
<div class="fan-item" v-for="(item,index) in socketData" :key="item.equipmentId">
|
||||||
@@ -72,6 +73,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="digital-tunnel">
|
<div class="digital-tunnel">
|
||||||
<el-dialog :close-on-click-modal="false" v-model="isVisited" :title="changeNum(fanIndex)+'号风机电流监控数据'" width="2175px"
|
<el-dialog :close-on-click-modal="false" v-model="isVisited" :title="changeNum(fanIndex)+'号风机电流监控数据'" width="2175px"
|
||||||
:modal="false">
|
:modal="false">
|
||||||
@@ -107,7 +109,8 @@ import {getFanEchartsInfo} from "../../../api/largeScreen";
|
|||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
list: Array,
|
list: Array,
|
||||||
fanData: Array,
|
fanData: Array,
|
||||||
transducerData: Array
|
transducerData: Array,
|
||||||
|
loading: Number,
|
||||||
});
|
});
|
||||||
const socketData = ref()
|
const socketData = ref()
|
||||||
let Echarts_info1 = null;
|
let Echarts_info1 = null;
|
||||||
@@ -121,7 +124,9 @@ const isVisited = ref(false)
|
|||||||
const showLoading = ref(false)
|
const showLoading = ref(false)
|
||||||
const fanIndex = ref(0)
|
const fanIndex = ref(0)
|
||||||
let myEcharts = reactive({});
|
let myEcharts = reactive({});
|
||||||
|
watch(() => props.loading, (now) => {
|
||||||
|
props.loading=now
|
||||||
|
}, {deep: true});
|
||||||
watch(() => props.transducerData, (now) => {
|
watch(() => props.transducerData, (now) => {
|
||||||
getTransData(now.frequencyChangerList)
|
getTransData(now.frequencyChangerList)
|
||||||
}, {deep: true});
|
}, {deep: true});
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
<div id="wind-pressure">
|
<div id="wind-pressure">
|
||||||
<div class="name">风压</div>
|
<div class="name">风压</div>
|
||||||
<div v-if="wpList==null||wpList.length===0" class="showNull">
|
<div v-if="wpList==null||wpList.length===0" class="showNull">
|
||||||
暂无数据~
|
<div class="loading" v-if="loading===0"></div>
|
||||||
|
{{loading===0?'加载中...':'暂无数据~'}}
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="list">
|
<div v-else class="list">
|
||||||
<wind-pressure-item v-for="(item,index) in wpList" :key="item.equipmentId" :wp="item"
|
<wind-pressure-item v-for="(item,index) in wpList" :key="item.equipmentId" :wp="item"
|
||||||
@@ -43,7 +44,8 @@ import {getEchartsInfo} from "@/api/largeScreen";
|
|||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
list: Array,
|
list: Array,
|
||||||
winData: Array
|
winData: Array,
|
||||||
|
loading: Number,
|
||||||
});
|
});
|
||||||
const windSort = ref(1)
|
const windSort = ref(1)
|
||||||
const timeList = ref(["年", "月", "日"]);
|
const timeList = ref(["年", "月", "日"]);
|
||||||
|
|||||||
@@ -38,8 +38,7 @@
|
|||||||
<el-drawer v-model="drawerLeft" direction="ltr" modal-class="modal-box" :modal="false" :show-close="false"
|
<el-drawer v-model="drawerLeft" direction="ltr" modal-class="modal-box" :modal="false" :show-close="false"
|
||||||
:close-on-click-modal="false" :close-on-press-escape="false">
|
:close-on-click-modal="false" :close-on-press-escape="false">
|
||||||
<fan-info v-if="showFan" :list="socketData.leftData" :fan-data="largeScreenData"
|
<fan-info v-if="showFan" :list="socketData.leftData" :fan-data="largeScreenData"
|
||||||
:transducer-data="largeScreenData"/>
|
:transducer-data="largeScreenData" :loading="showFanLoading"/>
|
||||||
<!-- <transducer-list v-if="showFan" :list="socketData.leftData" :transducer-data="largeScreenData" />-->
|
|
||||||
<used-ele v-if="showFan" :list="socketData.leftData" :ele-data="largeScreenData"/>
|
<used-ele v-if="showFan" :list="socketData.leftData" :ele-data="largeScreenData"/>
|
||||||
</el-drawer>
|
</el-drawer>
|
||||||
<div v-if="drawerLeft" class="left-arrow" @click="closeLeft"></div>
|
<div v-if="drawerLeft" class="left-arrow" @click="closeLeft"></div>
|
||||||
@@ -48,9 +47,9 @@
|
|||||||
<div class="right">
|
<div class="right">
|
||||||
<el-drawer v-model="drawerRight" direction="rtl" modal-class="modal-box" :modal="false" :show-close="false"
|
<el-drawer v-model="drawerRight" direction="rtl" modal-class="modal-box" :modal="false" :show-close="false"
|
||||||
:close-on-click-modal="false" :close-on-press-escape="false">
|
:close-on-click-modal="false" :close-on-press-escape="false">
|
||||||
<wind-pressure-list v-if="showFan" :list="socketData.windPressure" :win-data="largeScreenData"/>
|
<wind-pressure-list v-if="showFan" :list="socketData.windPressure" :win-data="largeScreenData" :loading="showWindLoading"/>
|
||||||
<air-info v-if="showFan" :list="socketData.sensor" :air-data="largeScreenData"/>
|
<air-info v-if="showFan" :list="socketData.sensor" :air-data="largeScreenData" />
|
||||||
<bad-gas-info v-if="showFan" :list="socketData.sensor" :bad-gas-data="largeScreenData" :tunnelId="tunnelId"/>
|
<bad-gas-info v-if="showFan" :list="socketData.sensor" :bad-gas-data="largeScreenData" :tunnelId="tunnelId" :loading="showBadLoading"/>
|
||||||
</el-drawer>
|
</el-drawer>
|
||||||
<div v-if="drawerRight" class="right-arrow" @click="closeRight"></div>
|
<div v-if="drawerRight" class="right-arrow" @click="closeRight"></div>
|
||||||
<div v-else class="shrink-right" @click="closeRight"></div>
|
<div v-else class="shrink-right" @click="closeRight"></div>
|
||||||
@@ -89,6 +88,9 @@ const router = useRouter();
|
|||||||
const selectIndex = ref(-1);
|
const selectIndex = ref(-1);
|
||||||
const showFan = ref(false);
|
const showFan = ref(false);
|
||||||
const drawerLeft = ref(true);
|
const drawerLeft = ref(true);
|
||||||
|
const showFanLoading = ref(0)
|
||||||
|
const showWindLoading = ref(0)
|
||||||
|
const showBadLoading = ref(0)
|
||||||
const drawerRight = ref(true);
|
const drawerRight = ref(true);
|
||||||
const showMenu = ref(false);
|
const showMenu = ref(false);
|
||||||
const currentSiteId = ref(0);
|
const currentSiteId = ref(0);
|
||||||
@@ -196,6 +198,36 @@ const getScreenInfo = (id) => {
|
|||||||
tunnelId.value = id
|
tunnelId.value = id
|
||||||
getLargeScreen(id).then((res) => {
|
getLargeScreen(id).then((res) => {
|
||||||
if (res?.code === 1000) {
|
if (res?.code === 1000) {
|
||||||
|
console.log('res',res.data)
|
||||||
|
if(res.data.frequencyChangerList.length!==0){
|
||||||
|
showFanLoading.value=0
|
||||||
|
}else {
|
||||||
|
showFanLoading.value=1
|
||||||
|
}
|
||||||
|
if(res.data.windPressureSensorList.length!==0){
|
||||||
|
showWindLoading.value=0
|
||||||
|
}else {
|
||||||
|
showWindLoading.value=1
|
||||||
|
}
|
||||||
|
|
||||||
|
if(res.data.sensorList.length!==0){
|
||||||
|
res.data.sensorList.forEach((item,index)=>{
|
||||||
|
if (
|
||||||
|
item.equipmentType === "carbonDioxide" ||
|
||||||
|
item.equipmentType === "carbonMonoxide" ||
|
||||||
|
item.equipmentType === "hydrogenSulfide" ||
|
||||||
|
item.equipmentType === "sulfurDioxide" ||
|
||||||
|
item.equipmentType === "sulfurMonoxide" ||
|
||||||
|
item.equipmentType === "nitrogenDioxide"
|
||||||
|
) {
|
||||||
|
showBadLoading.value=0
|
||||||
|
}else {
|
||||||
|
showBadLoading.value=1
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}else {
|
||||||
|
showBadLoading.value=1
|
||||||
|
}
|
||||||
largeScreenData.value = res.data;
|
largeScreenData.value = res.data;
|
||||||
} else {
|
} else {
|
||||||
ElMessage.warning(res.msg)
|
ElMessage.warning(res.msg)
|
||||||
|
|||||||
Reference in New Issue
Block a user