2025-06-22 17:22:40 +08:00
|
|
|
|
<template>
|
2025-08-15 14:13:54 +08:00
|
|
|
|
<div v-loading="loading">
|
2025-09-25 17:58:22 +08:00
|
|
|
|
<el-card
|
2025-09-26 14:47:45 +08:00
|
|
|
|
v-for="(item,index) in list"
|
|
|
|
|
|
:key="index+'dbList'"
|
2025-09-25 17:58:22 +08:00
|
|
|
|
shadow="always"
|
2025-09-26 14:47:45 +08:00
|
|
|
|
class="sbjk-card-container list"
|
2025-09-25 17:58:22 +08:00
|
|
|
|
:class="{
|
2025-09-26 14:47:45 +08:00
|
|
|
|
'warning-card-container':item.emsCommunicationStatus && item.emsCommunicationStatus !== '0',
|
|
|
|
|
|
'running-card-container':item.emsCommunicationStatus === '0'
|
2025-09-10 09:54:29 +08:00
|
|
|
|
}"
|
2025-09-25 17:58:22 +08:00
|
|
|
|
>
|
|
|
|
|
|
<div slot="header">
|
2025-09-26 14:47:45 +08:00
|
|
|
|
<span class="large-title">{{ item.deviceName }}</span>
|
2025-09-25 17:58:22 +08:00
|
|
|
|
<div class="info">
|
|
|
|
|
|
<div>
|
|
|
|
|
|
{{
|
|
|
|
|
|
$store.state.ems.communicationStatusOptions[
|
2025-09-26 14:47:45 +08:00
|
|
|
|
item.emsCommunicationStatus
|
2025-09-25 17:58:22 +08:00
|
|
|
|
]
|
|
|
|
|
|
}}
|
|
|
|
|
|
</div>
|
2025-09-26 14:47:45 +08:00
|
|
|
|
<div>数据更新时间:{{ item.dataUpdateTime }}</div>
|
2025-09-25 17:58:22 +08:00
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<el-table
|
|
|
|
|
|
class="common-table"
|
2025-09-26 14:47:45 +08:00
|
|
|
|
:data="item.loadDataDetailInfo"
|
|
|
|
|
|
@cell-click="(row,col)=>{handlerCell(item,row,col)}"
|
2025-09-25 17:58:22 +08:00
|
|
|
|
stripe
|
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
|
>
|
|
|
|
|
|
<el-table-column prop="category" label="类别"> </el-table-column>
|
|
|
|
|
|
<el-table-column prop="totalKwh" label="总/kWh"> </el-table-column>
|
|
|
|
|
|
<el-table-column prop="peakKwh" label="尖/kWh"> </el-table-column>
|
|
|
|
|
|
<el-table-column prop="highKwh" label="峰/kWh"> </el-table-column>
|
|
|
|
|
|
<el-table-column prop="flatKwh" label="平/kWh"> </el-table-column>
|
|
|
|
|
|
<el-table-column prop="valleyKwh" label="谷/kWh"> </el-table-column>
|
|
|
|
|
|
</el-table>
|
|
|
|
|
|
</el-card>
|
2025-09-26 14:47:45 +08:00
|
|
|
|
<el-empty v-show="list.length<=0" :image-size="200"></el-empty>
|
2025-09-13 20:36:46 +08:00
|
|
|
|
<point-chart ref="pointChart" :site-id="siteId"/>
|
2025-08-15 14:13:54 +08:00
|
|
|
|
</div>
|
2025-06-22 17:22:40 +08:00
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
<script>
|
2025-09-13 20:36:46 +08:00
|
|
|
|
import pointChart from "./../PointChart.vue";
|
2025-06-30 17:32:04 +08:00
|
|
|
|
import getQuerySiteId from "@/mixins/ems/getQuerySiteId";
|
2025-08-15 14:13:54 +08:00
|
|
|
|
import { getAmmeterDataList } from "@/api/ems/dzjk";
|
2025-09-10 09:54:29 +08:00
|
|
|
|
import intervalUpdate from "@/mixins/ems/intervalUpdate";
|
2025-06-22 17:22:40 +08:00
|
|
|
|
export default {
|
2025-08-15 14:13:54 +08:00
|
|
|
|
name: "DzjkSbjkDb",
|
2025-09-10 09:54:29 +08:00
|
|
|
|
mixins: [getQuerySiteId,intervalUpdate],
|
2025-09-13 20:36:46 +08:00
|
|
|
|
components:{pointChart},
|
2025-06-22 17:22:40 +08:00
|
|
|
|
data() {
|
|
|
|
|
|
return {
|
2025-08-15 14:13:54 +08:00
|
|
|
|
loading: false,
|
2025-09-25 17:58:22 +08:00
|
|
|
|
list:[],
|
2025-08-15 14:13:54 +08:00
|
|
|
|
};
|
2025-06-22 17:22:40 +08:00
|
|
|
|
},
|
2025-08-15 14:13:54 +08:00
|
|
|
|
methods: {
|
2025-09-26 14:47:45 +08:00
|
|
|
|
handlerCell({deviceId,deviceName},row,column){
|
2025-09-13 20:36:46 +08:00
|
|
|
|
if(column.label !== '类别'){
|
|
|
|
|
|
const arr = row.category.split('')
|
|
|
|
|
|
arr.splice(6,0,column.label[0])
|
2025-09-26 14:47:45 +08:00
|
|
|
|
this.showChart(arr.join(''),deviceName,deviceId)
|
2025-09-13 20:36:46 +08:00
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
showChart(pointName,categoryName,deviceId){
|
|
|
|
|
|
console.log('点击查询图表',pointName,categoryName,deviceId)
|
|
|
|
|
|
pointName && this.$refs.pointChart.showChart({pointName,categoryName,deviceId})
|
|
|
|
|
|
},
|
2025-09-10 09:54:29 +08:00
|
|
|
|
updateData(){
|
2025-08-15 14:13:54 +08:00
|
|
|
|
this.loading = true;
|
|
|
|
|
|
getAmmeterDataList(this.siteId)
|
2025-09-10 09:54:29 +08:00
|
|
|
|
.then((response) => {
|
2025-09-26 14:47:45 +08:00
|
|
|
|
this.list = response?.data || []
|
2025-09-10 09:54:29 +08:00
|
|
|
|
})
|
|
|
|
|
|
.finally(() => {
|
|
|
|
|
|
this.loading = false;
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
init() {
|
|
|
|
|
|
this.updateData()
|
|
|
|
|
|
this.updateInterval(this.updateData)
|
2025-08-15 14:13:54 +08:00
|
|
|
|
},
|
2025-06-22 17:22:40 +08:00
|
|
|
|
},
|
2025-08-15 14:13:54 +08:00
|
|
|
|
mounted() {},
|
|
|
|
|
|
};
|
2025-06-22 17:22:40 +08:00
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
<style scoped lang="scss">
|
2025-09-22 17:57:30 +08:00
|
|
|
|
.sbjk-card-container {
|
2025-09-26 14:47:45 +08:00
|
|
|
|
&.list:not(:last-child){
|
|
|
|
|
|
margin-bottom: 25px;
|
|
|
|
|
|
}
|
2025-08-15 14:13:54 +08:00
|
|
|
|
::v-deep {
|
2025-09-13 20:36:46 +08:00
|
|
|
|
.el-table__row td{
|
|
|
|
|
|
&:not(:first-child){
|
|
|
|
|
|
.cell{
|
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-06-22 17:22:40 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-09-17 14:52:08 +08:00
|
|
|
|
|
2025-06-22 17:22:40 +08:00
|
|
|
|
</style>
|