定时刷新

This commit is contained in:
白菜
2025-09-10 09:54:29 +08:00
parent f16b92582c
commit ae1c2a5d6c
5 changed files with 70 additions and 39 deletions

View File

@ -69,9 +69,10 @@
<script> <script>
import {getBMSBatteryCluster} from '@/api/ems/dzjk' import {getBMSBatteryCluster} from '@/api/ems/dzjk'
import getQuerySiteId from "@/mixins/ems/getQuerySiteId"; import getQuerySiteId from "@/mixins/ems/getQuerySiteId";
import intervalUpdate from "@/mixins/ems/intervalUpdate";
export default { export default {
name:'DzjkSbjkBmsdcc', name:'DzjkSbjkBmsdcc',
mixins:[getQuerySiteId], mixins:[getQuerySiteId,intervalUpdate],
components:{}, components:{},
data() { data() {
return { return {
@ -96,12 +97,15 @@ export default {
} }
}, },
methods:{ methods:{
init(){ updateData(){
this.loading = true this.loading = true
getBMSBatteryCluster(this.siteId).then(response => { getBMSBatteryCluster(this.siteId).then(response => {
this.baseInfoList = JSON.parse(JSON.stringify(response?.data || [])); this.baseInfoList = JSON.parse(JSON.stringify(response?.data || []));
}).finally(() => {this.loading = false}) }).finally(() => {this.loading = false})
},
init(){
this.updateData()
this.updateInterval(this.updateData)
} }
} }
} }

View File

@ -108,9 +108,10 @@
<script> <script>
import {getBMSOverView} from '@/api/ems/dzjk' import {getBMSOverView} from '@/api/ems/dzjk'
import getQuerySiteId from "@/mixins/ems/getQuerySiteId"; import getQuerySiteId from "@/mixins/ems/getQuerySiteId";
import intervalUpdate from "@/mixins/ems/intervalUpdate";
export default { export default {
name:'DzjkSbjkBmszl', name:'DzjkSbjkBmszl',
mixins:[getQuerySiteId], mixins:[getQuerySiteId,intervalUpdate],
data() { data() {
return { return {
loading:false, loading:false,
@ -129,11 +130,15 @@ export default {
} }
}, },
methods:{ methods:{
init(){ updateData(){
this.loading=true; this.loading = true
getBMSOverView(this.siteId).then(response => { getBMSOverView(this.siteId).then(response => {
this.baseInfoList = JSON.parse(JSON.stringify(response?.data || [])); this.baseInfoList = JSON.parse(JSON.stringify(response?.data || []));
}).finally(() => {this.loading = false}) }).finally(() => {this.loading = false})
},
init(){
this.updateData()
this.updateInterval(this.updateData)
} }
} }

View File

@ -3,11 +3,10 @@
<el-card <el-card
shadow="always" shadow="always"
class="common-card-container" class="common-card-container"
:class=" :class="{
zbInfo.emsCommunicationStatus !== '0' 'zb-common-card-container':zbInfo.emsCommunicationStatus && zbInfo.emsCommunicationStatus !== '0',
? 'zb-common-card-container' 'cnb-common-card-container':zbInfo.emsCommunicationStatus === '0'
: 'cnb-common-card-container' }"
"
> >
<div slot="header"> <div slot="header">
<span class="large-title">1#{{ zbInfo.deviceName }}</span> <span class="large-title">1#{{ zbInfo.deviceName }}</span>
@ -40,11 +39,10 @@
shadow="always" shadow="always"
class="common-card-container" class="common-card-container"
style="margin-top: 20px" style="margin-top: 20px"
:class=" :class="{
cnbInfo.emsCommunicationStatus !== '0' 'zb-common-card-container':zbInfo.emsCommunicationStatus && zbInfo.emsCommunicationStatus !== '0',
? 'zb-common-card-container' 'cnb-common-card-container':zbInfo.emsCommunicationStatus === '0'
: 'cnb-common-card-container' }"
"
> >
<div slot="header"> <div slot="header">
<span class="large-title">2#{{ cnbInfo.deviceName }}</span> <span class="large-title">2#{{ cnbInfo.deviceName }}</span>
@ -77,9 +75,10 @@
<script> <script>
import getQuerySiteId from "@/mixins/ems/getQuerySiteId"; import getQuerySiteId from "@/mixins/ems/getQuerySiteId";
import { getAmmeterDataList } from "@/api/ems/dzjk"; import { getAmmeterDataList } from "@/api/ems/dzjk";
import intervalUpdate from "@/mixins/ems/intervalUpdate";
export default { export default {
name: "DzjkSbjkDb", name: "DzjkSbjkDb",
mixins: [getQuerySiteId], mixins: [getQuerySiteId,intervalUpdate],
data() { data() {
return { return {
loading: false, loading: false,
@ -88,20 +87,24 @@ export default {
}; };
}, },
methods: { methods: {
init() { updateData(){
this.loading = true; this.loading = true;
getAmmeterDataList(this.siteId) getAmmeterDataList(this.siteId)
.then((response) => { .then((response) => {
this.zbInfo = JSON.parse( this.zbInfo = JSON.parse(
JSON.stringify(response?.data?.ammeterLoadData || {}) JSON.stringify(response?.data?.ammeterLoadData || {})
); );
this.cnbInfo = JSON.parse( this.cnbInfo = JSON.parse(
JSON.stringify(response?.data?.ammeterMeteData || {}) JSON.stringify(response?.data?.ammeterMeteData || {})
); );
}) })
.finally(() => { .finally(() => {
this.loading = false; this.loading = false;
}); });
},
init() {
this.updateData()
this.updateInterval(this.updateData)
}, },
}, },
mounted() {}, mounted() {},
@ -109,17 +112,23 @@ export default {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.zb-common-card-container, .common-card-container {
.cnb-common-card-container {
::v-deep { ::v-deep {
.el-card__header { .el-card__header {
background-color: transparent;
padding: 10px 14px; padding: 10px 14px;
background-color: #fc6b69;
color: #ffffff; color: #ffffff;
position: relative; position: relative;
} }
} }
} }
.zb-common-card-container{
::v-deep {
.el-card__header {
background-color: #fc6b69;
}
}
}
.cnb-common-card-container { .cnb-common-card-container {
margin-top: 25px; margin-top: 25px;
::v-deep { ::v-deep {

View File

@ -157,7 +157,7 @@ export default {
}, },
init(){ init(){
this.updateData() this.updateData()
this.updateInterval(this.updateData,5000) this.updateInterval(this.updateData)
} }
}, },

View File

@ -1,7 +1,7 @@
<template> <template>
<div v-loading="loading"> <div v-loading="loading">
<div class="yl-item-container" :class="{'yl-warn-item-container':item.workMode !== '0'}" v-for="(item,index) in list" :key="index+'ylLise'"> <div class="yl-item-container" :class="{'yl-warn-item-container':item.workMode !== '0','yl-normal-item-container':item.workMode === '0'}" v-for="(item,index) in list" :key="index+'ylLise'">
<div class="header"> <div class="header">
<div class="header-title">{{item.systemName}}</div> <div class="header-title">{{item.systemName}}</div>
<div>工作模式<span class="header-values">{{$store.state.ems.workModeOptions[item.workMode]}}</span></div> <div>工作模式<span class="header-values">{{$store.state.ems.workModeOptions[item.workMode]}}</span></div>
@ -21,9 +21,10 @@
<script> <script>
import getQuerySiteId from "@/mixins/ems/getQuerySiteId"; import getQuerySiteId from "@/mixins/ems/getQuerySiteId";
import {getCoolingDataList} from '@/api/ems/dzjk' import {getCoolingDataList} from '@/api/ems/dzjk'
import intervalUpdate from "@/mixins/ems/intervalUpdate";
export default { export default {
name:'DzjkSbjkYl', name:'DzjkSbjkYl',
mixins:[getQuerySiteId], mixins:[getQuerySiteId,intervalUpdate],
data() { data() {
return { return {
loading:false, loading:false,
@ -40,11 +41,15 @@ export default {
} }
}, },
methods:{ methods:{
init(){ updateData(){
this.loading = true this.loading = true
getCoolingDataList(this.siteId).then(response => { getCoolingDataList(this.siteId).then(response => {
this.list = JSON.parse(JSON.stringify(response?.data || [])); this.list = JSON.parse(JSON.stringify(response?.data || []));
}).finally(() => {this.loading = false}) }).finally(() => {this.loading = false})
},
init(){
this.updateData()
this.updateInterval(this.updateData)
} }
}, },
mounted(){ mounted(){
@ -56,7 +61,6 @@ export default {
<style scoped lang="scss"> <style scoped lang="scss">
.yl-item-container{ .yl-item-container{
border-radius: 5px; border-radius: 5px;
background-color: #EBF6F6;
&:not(:last-child){ &:not(:last-child){
margin-bottom: 25px; margin-bottom: 25px;
} }
@ -73,11 +77,9 @@ export default {
width: 120px; width: 120px;
height: 40px; height: 40px;
font-size: 16px; font-size: 16px;
background-color: #05AEA3;
text-align: center; text-align: center;
} }
.header-values{ .header-values{
color: #05AEA3;
font-weight: 500; font-weight: 500;
} }
} }
@ -113,5 +115,16 @@ export default {
} }
} }
} }
.yl-normal-item-container{
background-color: #EBF6F6;
.header{
.header-title{
background-color: #05AEA3;
}
.header-values{
color: #05AEA3;
}
}
}
</style> </style>