From f16b92582cc0a1ce2d36e579fe85ea07303a7b6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E8=8F=9C?= <43331987+JiaLiBai@users.noreply.github.com> Date: Tue, 9 Sep 2025 17:51:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mixins/ems/intervalUpdate.js | 24 ++++++++++++++++++++++++ src/views/ems/dzjk/sbjk/pcs/index.vue | 9 +++++++-- src/views/ems/dzjk/sbjk/ssyx/index.vue | 16 ++++++++++------ 3 files changed, 41 insertions(+), 8 deletions(-) create mode 100644 src/mixins/ems/intervalUpdate.js diff --git a/src/mixins/ems/intervalUpdate.js b/src/mixins/ems/intervalUpdate.js new file mode 100644 index 0000000..774f221 --- /dev/null +++ b/src/mixins/ems/intervalUpdate.js @@ -0,0 +1,24 @@ +// 定时刷新 +const intervalUpdate= { + data: function () { + return { + intervalUpdateTimer:null + } + }, + beforeDestroy() { + console.log('销毁之前 清空定时器') + if( this.intervalUpdateTimer) { + window.clearInterval(this.intervalUpdateTimer) + this.intervalUpdateTimer = null + } + }, + methods:{ + updateInterval: function (cn,time=10000) { + window.clearInterval(this.intervalUpdateTimer) + this.intervalUpdateTimer = null + this.intervalUpdateTimer = window.setInterval(cn,time) + } + } + +} +export default intervalUpdate diff --git a/src/views/ems/dzjk/sbjk/pcs/index.vue b/src/views/ems/dzjk/sbjk/pcs/index.vue index 70bf861..d222055 100644 --- a/src/views/ems/dzjk/sbjk/pcs/index.vue +++ b/src/views/ems/dzjk/sbjk/pcs/index.vue @@ -51,10 +51,11 @@ import RealTimeBaseInfo from "./../RealTimeBaseInfo.vue"; import getQuerySiteId from "@/mixins/ems/getQuerySiteId"; import {getRunningHeadInfo,getPcsDetailInfo} from '@/api/ems/dzjk' +import intervalUpdate from "@/mixins/ems/intervalUpdate"; export default { name:'DzjkSbjkPcs', components:{RealTimeBaseInfo}, - mixins:[getQuerySiteId], + mixins:[getQuerySiteId,intervalUpdate], data() { return { loading:false, @@ -150,9 +151,13 @@ export default { this.pcsList = JSON.parse(JSON.stringify(data)) }).finally(()=>this.loading = false) }, - init(){ + updateData(){ this.getRunningHeadData() this.getPcsList() + }, + init(){ + this.updateData() + this.updateInterval(this.updateData,5000) } }, diff --git a/src/views/ems/dzjk/sbjk/ssyx/index.vue b/src/views/ems/dzjk/sbjk/ssyx/index.vue index c862ef8..54bce5b 100644 --- a/src/views/ems/dzjk/sbjk/ssyx/index.vue +++ b/src/views/ems/dzjk/sbjk/ssyx/index.vue @@ -34,11 +34,12 @@ import DcpjwdChart from './DcpjwdChart.vue' import DcpjsocChart from './DcpjsocChart.vue' import getQuerySiteId from "@/mixins/ems/getQuerySiteId"; import {getRunningHeadInfo} from '@/api/ems/dzjk' +import intervalUpdate from "@/mixins/ems/intervalUpdate"; export default { name:'DzjkSbjkSsyx', components:{RealTimeBaseInfo,CnglqxChart,PocpjwdChart,DcpjwdChart,DcpjsocChart}, - mixins:[getQuerySiteId], + mixins:[getQuerySiteId,intervalUpdate], data() { return { runningHeadData:{},//运行信息 @@ -51,15 +52,18 @@ export default { this.runningHeadData = response?.data || {} }) }, + updateData(){ + this.$refs.cnglqx.init(this.siteId) + this.$refs.pocpjwd.init(this.siteId) + this.$refs.dcpjsoc.init(this.siteId) + this.$refs.dcpjwd.init(this.siteId) + }, init(){ this.getRunningHeadData() this.$nextTick(()=>{ - this.$refs.cnglqx.init(this.siteId) - this.$refs.pocpjwd.init(this.siteId) - this.$refs.dcpjsoc.init(this.siteId) - this.$refs.dcpjwd.init(this.siteId) + this.updateData() + this.updateInterval(this.updateData) }) - } }