Files
emsfront/src/views/ems/dzjk/sbjk/ssyx/index.vue

92 lines
2.8 KiB
Vue
Raw Normal View History

2025-06-18 01:01:17 +08:00
<template>
<div class="ssyx-ems-dashboard-editor-container">
<!-- 6个方块-->
2026-02-15 16:24:29 +08:00
<real-time-base-info :display-data="runningDisplayData" :loading="runningHeadLoading"/>
2025-11-25 17:56:12 +08:00
<!-- 时间选择 -->
<date-range-select ref="dateRangeSelect" @updateDate="updateDate" style="margin-top:20px;"/>
2025-06-18 01:01:17 +08:00
<!-- echart图表-->
<el-row :gutter="32" style="background:#fff;margin:30px 0;">
<el-col :xs="24" :sm="12" :lg="12">
2026-02-15 16:24:29 +08:00
<cnglqx-chart ref='cnglqx' :display-data="runningDisplayData"/>
2025-06-18 01:01:17 +08:00
</el-col>
<el-col :xs="24" :sm="12" :lg="12">
2026-02-15 16:24:29 +08:00
<pocpjwd-chart ref='pocpjwd' :display-data="runningDisplayData"/>
2025-06-18 01:01:17 +08:00
</el-col>
</el-row>
<el-row :gutter="32" style="margin:30px 0;">
<el-col :xs="24" :sm="12" :lg="12">
2026-02-15 16:24:29 +08:00
<dcpjsoc-chart ref="dcpjsoc" :display-data="runningDisplayData"/>
2025-06-18 01:01:17 +08:00
</el-col>
<el-col :xs="24" :sm="12" :lg="12">
2026-02-15 16:24:29 +08:00
<dcpjwd-chart ref="dcpjwd" :display-data="runningDisplayData"/>
2025-06-18 01:01:17 +08:00
</el-col>
</el-row>
</div>
</template>
<style scoped lang="scss">
</style>
<script>
2025-11-25 17:56:12 +08:00
import DateRangeSelect from '@/components/Ems/DateRangeSelect/index.vue'
import RealTimeBaseInfo from "./../RealTimeBaseInfo.vue";
2025-06-18 01:01:17 +08:00
import CnglqxChart from './CnglqxChart.vue'
import PocpjwdChart from './PocpjwdChart.vue'
import DcpjwdChart from './DcpjwdChart.vue'
import DcpjsocChart from './DcpjsocChart.vue'
import getQuerySiteId from "@/mixins/ems/getQuerySiteId";
2026-02-15 16:24:29 +08:00
import {getProjectDisplayData} from '@/api/ems/dzjk'
2025-09-09 17:51:52 +08:00
import intervalUpdate from "@/mixins/ems/intervalUpdate";
2025-06-18 01:01:17 +08:00
export default {
2025-06-25 12:55:58 +08:00
name:'DzjkSbjkSsyx',
2025-11-25 17:56:12 +08:00
components:{RealTimeBaseInfo,CnglqxChart,PocpjwdChart,DcpjwdChart,DcpjsocChart,DateRangeSelect},
2025-09-09 17:51:52 +08:00
mixins:[getQuerySiteId,intervalUpdate],
2025-06-18 01:01:17 +08:00
data() {
return {
2026-02-15 16:24:29 +08:00
runningDisplayData: [], //单站监控项目配置展示数据
2025-11-25 17:56:12 +08:00
timeRange:[],
2026-02-15 16:24:29 +08:00
isInit:true,
runningHeadLoading: false,
2025-06-18 01:01:17 +08:00
}
},
methods:{
//6个方块数据
getRunningHeadData(){
2026-02-15 16:24:29 +08:00
this.runningHeadLoading = true
return getProjectDisplayData(this.siteId).then((displayResponse) => {
this.runningDisplayData = displayResponse?.data || []
}).finally(() => {
this.runningHeadLoading = false
})
},
2025-11-25 17:56:12 +08:00
// 更新时间范围 重置图表
updateDate(data){
this.timeRange=data
!this.isInit && this.updateChart()
this.isInit = false
},
updateChart(){
this.$refs.cnglqx.init(this.siteId,this.timeRange||[])
this.$refs.pocpjwd.init(this.siteId,this.timeRange||[])
this.$refs.dcpjsoc.init(this.siteId,this.timeRange||[])
this.$refs.dcpjwd.init(this.siteId,this.timeRange||[])
this.updateInterval(this.updateData)
},
2025-09-09 17:51:52 +08:00
updateData(){
2026-02-15 16:24:29 +08:00
this.getRunningHeadData().finally(() => {
this.updateChart()
})
2025-09-09 17:51:52 +08:00
},
init(){
2025-11-25 17:56:12 +08:00
this.$refs.dateRangeSelect.init(true)
this.$nextTick(()=>{
2025-09-09 17:51:52 +08:00
this.updateData()
})
}
}
2025-06-18 01:01:17 +08:00
}
</script>