设备监控-点位清单
This commit is contained in:
@ -154,30 +154,30 @@ export function getClusterData({siteId,stackId,clusterId,dateTime,pageNum,pageSi
|
|||||||
|
|
||||||
// 实时运行
|
// 实时运行
|
||||||
//储能
|
//储能
|
||||||
export function storagePower(siteId) {
|
export function storagePower(siteId,startTime,endTime) {
|
||||||
return request({
|
return request({
|
||||||
url: `/ems/siteMonitor/runningGraph/storagePower?siteId=${siteId}`,
|
url: `/ems/siteMonitor/runningGraph/storagePower?siteId=${siteId}&startTime=${startTime}&endTime=${endTime}`,
|
||||||
method: 'get'
|
method: 'get'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
//poc温度
|
//poc温度
|
||||||
export function pcsMaxTemp(siteId) {
|
export function pcsMaxTemp(siteId,startTime,endTime) {
|
||||||
return request({
|
return request({
|
||||||
url: `/ems/siteMonitor/runningGraph/pcsMaxTemp?siteId=${siteId}`,
|
url: `/ems/siteMonitor/runningGraph/pcsMaxTemp?siteId=${siteId}&startTime=${startTime}&endTime=${endTime}`,
|
||||||
method: 'get'
|
method: 'get'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 电池平均soc
|
// 电池平均soc
|
||||||
export function batteryAveSoc(siteId) {
|
export function batteryAveSoc(siteId,startTime,endTime) {
|
||||||
return request({
|
return request({
|
||||||
url: `/ems/siteMonitor/runningGraph/batteryAveSoc?siteId=${siteId}`,
|
url: `/ems/siteMonitor/runningGraph/batteryAveSoc?siteId=${siteId}&startTime=${startTime}&endTime=${endTime}`,
|
||||||
method: 'get'
|
method: 'get'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 电池平均温度
|
// 电池平均温度
|
||||||
export function batteryAveTemp(siteId) {
|
export function batteryAveTemp(siteId,startTime,endTime) {
|
||||||
return request({
|
return request({
|
||||||
url: `/ems/siteMonitor/runningGraph/batteryAveTemp?siteId=${siteId}`,
|
url: `/ems/siteMonitor/runningGraph/batteryAveTemp?siteId=${siteId}&startTime=${startTime}&endTime=${endTime}`,
|
||||||
method: 'get'
|
method: 'get'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,7 +8,10 @@
|
|||||||
'running-card-container':baseInfo.workStatus === '0'
|
'running-card-container':baseInfo.workStatus === '0'
|
||||||
}">
|
}">
|
||||||
<div slot="header">
|
<div slot="header">
|
||||||
<span class="large-title">{{index+1}}#{{baseInfo.parentDeviceName?`${baseInfo.parentDeviceName} —> ` : ''}}{{baseInfo.deviceName}}</span>
|
<span class="large-title">{{baseInfo.parentDeviceName?`${baseInfo.parentDeviceName} —> ` : ''}}{{baseInfo.deviceName}}</span>
|
||||||
|
<div class="alarm">
|
||||||
|
<el-button type="primary" size="small" style="margin-right:20px;" @click="pointDetail(baseInfo)">详细</el-button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="descriptions-main">
|
<div class="descriptions-main">
|
||||||
<el-descriptions direction="vertical" :column="3" :colon="false">
|
<el-descriptions direction="vertical" :column="3" :colon="false">
|
||||||
@ -80,19 +83,21 @@
|
|||||||
</div>
|
</div>
|
||||||
<el-empty v-show="baseInfoList.length<=0" :image-size="200"></el-empty>
|
<el-empty v-show="baseInfoList.length<=0" :image-size="200"></el-empty>
|
||||||
<point-chart ref="pointChart" :site-id="siteId"/>
|
<point-chart ref="pointChart" :site-id="siteId"/>
|
||||||
|
<point-table ref="pointTable"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import pointChart from "./../PointChart.vue";
|
import pointChart from "./../PointChart.vue";
|
||||||
|
import PointTable from "@/views/ems/site/sblb/PointTable.vue";
|
||||||
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";
|
import intervalUpdate from "@/mixins/ems/intervalUpdate";
|
||||||
export default {
|
export default {
|
||||||
name:'DzjkSbjkBmsdcc',
|
name:'DzjkSbjkBmsdcc',
|
||||||
mixins:[getQuerySiteId,intervalUpdate],
|
mixins:[getQuerySiteId,intervalUpdate],
|
||||||
components:{pointChart},
|
components:{PointTable, pointChart},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loading:false,
|
loading:false,
|
||||||
@ -127,6 +132,11 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
|
// 查看设备电位表格
|
||||||
|
pointDetail(row){
|
||||||
|
const {siteId,deviceId} = row
|
||||||
|
this.$refs.pointTable.showTable({siteId,deviceId,deviceCategory:'CLUSTER'})
|
||||||
|
},
|
||||||
showChart(pointName,deviceId){
|
showChart(pointName,deviceId){
|
||||||
pointName && this.$refs.pointChart.showChart({pointName,deviceCategory:'CLUSTER',deviceId})
|
pointName && this.$refs.pointChart.showChart({pointName,deviceCategory:'CLUSTER',deviceId})
|
||||||
},
|
},
|
||||||
|
|||||||
@ -8,7 +8,10 @@
|
|||||||
}" class="sbjk-card-container common-card-container-body-no-padding common-card-container-no-title-bg"
|
}" class="sbjk-card-container common-card-container-body-no-padding common-card-container-no-title-bg"
|
||||||
shadow="always">
|
shadow="always">
|
||||||
<div slot="header">
|
<div slot="header">
|
||||||
<span class="large-title">{{index+1}}#{{baseInfo.deviceName}}</span>
|
<span class="large-title">{{baseInfo.deviceName}}</span>
|
||||||
|
<div class="alarm">
|
||||||
|
<el-button type="primary" size="small" style="margin-right:20px;" @click="pointDetail(baseInfo)">详细</el-button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="descriptions-main">
|
<div class="descriptions-main">
|
||||||
<el-descriptions :colon="false" :column="3" direction="vertical">
|
<el-descriptions :colon="false" :column="3" direction="vertical">
|
||||||
@ -111,6 +114,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<el-empty v-show="baseInfoList.length<=0" :image-size="200"></el-empty>
|
<el-empty v-show="baseInfoList.length<=0" :image-size="200"></el-empty>
|
||||||
<point-chart ref="pointChart" :site-id="siteId"/>
|
<point-chart ref="pointChart" :site-id="siteId"/>
|
||||||
|
<point-table ref="pointTable"/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -119,9 +123,10 @@ import {getBMSOverView} from '@/api/ems/dzjk'
|
|||||||
import getQuerySiteId from "@/mixins/ems/getQuerySiteId";
|
import getQuerySiteId from "@/mixins/ems/getQuerySiteId";
|
||||||
import intervalUpdate from "@/mixins/ems/intervalUpdate";
|
import intervalUpdate from "@/mixins/ems/intervalUpdate";
|
||||||
import pointChart from "./../PointChart.vue";
|
import pointChart from "./../PointChart.vue";
|
||||||
|
import PointTable from "@/views/ems/site/sblb/PointTable.vue";
|
||||||
export default {
|
export default {
|
||||||
name:'DzjkSbjkBmszl',
|
name:'DzjkSbjkBmszl',
|
||||||
components: {pointChart,},
|
components: {pointChart,PointTable},
|
||||||
mixins:[getQuerySiteId,intervalUpdate],
|
mixins:[getQuerySiteId,intervalUpdate],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -141,6 +146,11 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
|
// 查看设备电位表格
|
||||||
|
pointDetail(row){
|
||||||
|
const {siteId,deviceId} = row
|
||||||
|
this.$refs.pointTable.showTable({siteId,deviceId,deviceCategory:'STACK'})
|
||||||
|
},
|
||||||
showChart(pointName,deviceId,deviceCategory = 'STACK'){
|
showChart(pointName,deviceId,deviceCategory = 'STACK'){
|
||||||
pointName && this.$refs.pointChart.showChart({pointName,deviceCategory,deviceId})
|
pointName && this.$refs.pointChart.showChart({pointName,deviceCategory,deviceId})
|
||||||
},
|
},
|
||||||
|
|||||||
@ -11,7 +11,7 @@
|
|||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
<div slot="header">
|
<div slot="header">
|
||||||
<span class="large-title">{{index+1}}#{{ item.deviceName }}</span>
|
<span class="large-title">{{ item.deviceName }}</span>
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div>
|
<div>
|
||||||
{{
|
{{
|
||||||
@ -22,6 +22,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div>数据更新时间:{{ item.dataUpdateTime }}</div>
|
<div>数据更新时间:{{ item.dataUpdateTime }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="alarm">
|
||||||
|
<el-button type="primary" size="small" style="margin-right:20px;" @click="pointDetail(item)">详细</el-button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col v-for="(tempDataItem,tempDataIndex) in deviceIdTypeMsg[item.deviceId]" :key="tempDataIndex+'dbTempData'" :span="8">
|
<el-col v-for="(tempDataItem,tempDataIndex) in deviceIdTypeMsg[item.deviceId]" :key="tempDataIndex+'dbTempData'" :span="8">
|
||||||
@ -33,6 +36,7 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
<el-empty v-show="list.length<=0" :image-size="200"></el-empty>
|
<el-empty v-show="list.length<=0" :image-size="200"></el-empty>
|
||||||
<point-chart ref="pointChart" :site-id="siteId"/>
|
<point-chart ref="pointChart" :site-id="siteId"/>
|
||||||
|
<point-table ref="pointTable"/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -41,10 +45,11 @@ import pointChart from "./../PointChart.vue";
|
|||||||
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";
|
import intervalUpdate from "@/mixins/ems/intervalUpdate";
|
||||||
|
import PointTable from "@/views/ems/site/sblb/PointTable.vue";
|
||||||
export default {
|
export default {
|
||||||
name: "DzjkSbjkDb",
|
name: "DzjkSbjkDb",
|
||||||
mixins: [getQuerySiteId,intervalUpdate],
|
mixins: [getQuerySiteId,intervalUpdate],
|
||||||
components:{pointChart},
|
components:{PointTable, pointChart},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loading: false,
|
loading: false,
|
||||||
@ -140,6 +145,11 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 查看设备电位表格
|
||||||
|
pointDetail(row){
|
||||||
|
const {deviceId} = row
|
||||||
|
this.$refs.pointTable.showTable({siteId:this.siteId,deviceId,deviceCategory:'AMMETER'})
|
||||||
|
},
|
||||||
showChart(pointName,deviceId){
|
showChart(pointName,deviceId){
|
||||||
pointName && this.$refs.pointChart.showChart({pointName,deviceCategory:'AMMETER',deviceId})
|
pointName && this.$refs.pointChart.showChart({pointName,deviceCategory:'AMMETER',deviceId})
|
||||||
},
|
},
|
||||||
|
|||||||
@ -52,13 +52,13 @@
|
|||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- <el-table-column label="曲线图">
|
<el-table-column label="操作">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button @click="chartDetail(scope.row)" type="text" size="small">
|
<el-button @click="$emit('pointDetail',scope.row)" type="text" size="small">
|
||||||
展示
|
详细
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column> -->
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<!-- <el-pagination
|
<!-- <el-pagination
|
||||||
v-show="tableData.length > 0"
|
v-show="tableData.length > 0"
|
||||||
|
|||||||
@ -88,6 +88,7 @@
|
|||||||
:totalSize="totalSize"
|
:totalSize="totalSize"
|
||||||
:pointIdList="pointIdList"
|
:pointIdList="pointIdList"
|
||||||
@chart="chartDetail"
|
@chart="chartDetail"
|
||||||
|
@pointDetail="pointDetail"
|
||||||
></component>
|
></component>
|
||||||
<el-pagination
|
<el-pagination
|
||||||
v-show="tableData.length > 0"
|
v-show="tableData.length > 0"
|
||||||
@ -104,6 +105,7 @@
|
|||||||
</el-pagination>
|
</el-pagination>
|
||||||
<chart-detail ref="chartDetail" />
|
<chart-detail ref="chartDetail" />
|
||||||
<point-chart ref="pointChart" :site-id="siteId" />
|
<point-chart ref="pointChart" :site-id="siteId" />
|
||||||
|
<point-table ref="pointTable"/>
|
||||||
</el-card>
|
</el-card>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -119,10 +121,12 @@ import ChartDetail from "./ChartDetail.vue";
|
|||||||
import Table from "./Table.vue";
|
import Table from "./Table.vue";
|
||||||
import List from "./List.vue";
|
import List from "./List.vue";
|
||||||
import pointChart from "./../PointChart.vue";
|
import pointChart from "./../PointChart.vue";
|
||||||
|
import PointTable from "@/views/ems/site/sblb/PointTable.vue";
|
||||||
export default {
|
export default {
|
||||||
name: "DzjkSbjkDtdc",
|
name: "DzjkSbjkDtdc",
|
||||||
mixins: [getQuerySiteId],
|
mixins: [getQuerySiteId],
|
||||||
components: {
|
components: {
|
||||||
|
PointTable,
|
||||||
BarChart,
|
BarChart,
|
||||||
ChartDetail,
|
ChartDetail,
|
||||||
DtdcTable: Table,
|
DtdcTable: Table,
|
||||||
@ -165,6 +169,11 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 查看设备电位表格
|
||||||
|
pointDetail(row){
|
||||||
|
const {deviceId,clusterDeviceId} = row
|
||||||
|
this.$refs.pointTable.showTable({siteId:this.siteId,deviceId,deviceCategory:'BATTERY',parentId:clusterDeviceId})
|
||||||
|
},
|
||||||
changeMenu(menu) {
|
changeMenu(menu) {
|
||||||
const { activeBtn } = this;
|
const { activeBtn } = this;
|
||||||
activeBtn !== menu && (this.activeBtn = menu);
|
activeBtn !== menu && (this.activeBtn = menu);
|
||||||
|
|||||||
@ -18,7 +18,7 @@
|
|||||||
>
|
>
|
||||||
<div slot="header">
|
<div slot="header">
|
||||||
<span class="large-title"
|
<span class="large-title"
|
||||||
>{{ pcsIndex + 1 }}#{{ pcsItem.deviceName }}</span
|
>{{ pcsItem.deviceName }}</span
|
||||||
>
|
>
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div>
|
<div>
|
||||||
@ -31,6 +31,7 @@
|
|||||||
<div>数据更新时间:{{ pcsItem.dataUpdateTime }}</div>
|
<div>数据更新时间:{{ pcsItem.dataUpdateTime }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="alarm">
|
<div class="alarm">
|
||||||
|
<el-button type="primary" size="small" style="margin-right:20px;" @click="pointDetail(pcsItem)">详细</el-button>
|
||||||
<el-badge :value="pcsItem.alarmNum || 0" class="item">
|
<el-badge :value="pcsItem.alarmNum || 0" class="item">
|
||||||
<i
|
<i
|
||||||
class="el-icon-message-solid"
|
class="el-icon-message-solid"
|
||||||
@ -170,18 +171,20 @@
|
|||||||
</div>
|
</div>
|
||||||
<el-empty v-show="pcsList.length <= 0" :image-size="200"></el-empty>
|
<el-empty v-show="pcsList.length <= 0" :image-size="200"></el-empty>
|
||||||
<point-chart ref="pointChart" :site-id="siteId" />
|
<point-chart ref="pointChart" :site-id="siteId" />
|
||||||
|
<point-table ref="pointTable"/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import pointChart from "./../PointChart.vue";
|
import pointChart from "./../PointChart.vue";
|
||||||
|
import PointTable from "@/views/ems/site/sblb/PointTable.vue";
|
||||||
import RealTimeBaseInfo from "./../RealTimeBaseInfo.vue";
|
import RealTimeBaseInfo from "./../RealTimeBaseInfo.vue";
|
||||||
import getQuerySiteId from "@/mixins/ems/getQuerySiteId";
|
import getQuerySiteId from "@/mixins/ems/getQuerySiteId";
|
||||||
import { getRunningHeadInfo, getPcsDetailInfo } from "@/api/ems/dzjk";
|
import { getRunningHeadInfo, getPcsDetailInfo } from "@/api/ems/dzjk";
|
||||||
import intervalUpdate from "@/mixins/ems/intervalUpdate";
|
import intervalUpdate from "@/mixins/ems/intervalUpdate";
|
||||||
export default {
|
export default {
|
||||||
name: "DzjkSbjkPcs",
|
name: "DzjkSbjkPcs",
|
||||||
components: { RealTimeBaseInfo, pointChart },
|
components: { RealTimeBaseInfo, pointChart ,PointTable},
|
||||||
mixins: [getQuerySiteId, intervalUpdate],
|
mixins: [getQuerySiteId, intervalUpdate],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -269,6 +272,11 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 查看设备电位表格
|
||||||
|
pointDetail(row){
|
||||||
|
const {siteId,deviceId} = row
|
||||||
|
this.$refs.pointTable.showTable({siteId,deviceId,deviceCategory:'PCS'})
|
||||||
|
},
|
||||||
showChart(pointName, deviceId,isBranch=false) {
|
showChart(pointName, deviceId,isBranch=false) {
|
||||||
pointName &&
|
pointName &&
|
||||||
this.$refs.pointChart.showChart({ pointName,deviceCategory:isBranch ? 'BRANCH' : 'PCS', deviceId });
|
this.$refs.pointChart.showChart({ pointName,deviceCategory:isBranch ? 'BRANCH' : 'PCS', deviceId });
|
||||||
|
|||||||
@ -35,12 +35,13 @@ export default {
|
|||||||
this.chart = null;
|
this.chart = null;
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
init(siteId) {
|
init(siteId, timeRange) {
|
||||||
this.chart.showLoading();
|
this.chart.showLoading();
|
||||||
const x = [];
|
const x = [];
|
||||||
const data1 = [],
|
const data1 = [],
|
||||||
data2 = [];
|
data2 = [];
|
||||||
storagePower(siteId)
|
const [startTime='', endTime=''] = timeRange;
|
||||||
|
storagePower(siteId,startTime,endTime)
|
||||||
.then((response) => {
|
.then((response) => {
|
||||||
this.setOption(response?.data?.pcsPowerList || []);
|
this.setOption(response?.data?.pcsPowerList || []);
|
||||||
})
|
})
|
||||||
|
|||||||
@ -34,9 +34,10 @@ export default {
|
|||||||
this.chart = null;
|
this.chart = null;
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
init(siteId) {
|
init(siteId,timeRange) {
|
||||||
this.chart.showLoading();
|
this.chart.showLoading();
|
||||||
batteryAveSoc(siteId)
|
const [startTime='', endTime=''] = timeRange;
|
||||||
|
batteryAveSoc(siteId,startTime,endTime)
|
||||||
.then((response) => {
|
.then((response) => {
|
||||||
this.setOption(response?.data?.batteryAveSOCList || []);
|
this.setOption(response?.data?.batteryAveSOCList || []);
|
||||||
})
|
})
|
||||||
|
|||||||
@ -35,12 +35,13 @@ export default {
|
|||||||
this.chart = null;
|
this.chart = null;
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
init(siteId) {
|
init(siteId,timeRange) {
|
||||||
this.chart.showLoading();
|
this.chart.showLoading();
|
||||||
const x = [];
|
const x = [];
|
||||||
const data1 = [],
|
const data1 = [],
|
||||||
data2 = [];
|
data2 = [];
|
||||||
batteryAveTemp(siteId)
|
const [startTime='', endTime=''] = timeRange;
|
||||||
|
batteryAveTemp(siteId,startTime,endTime)
|
||||||
.then((response) => {
|
.then((response) => {
|
||||||
this.setOption(response?.data?.batteryAveTempList || []);
|
this.setOption(response?.data?.batteryAveTempList || []);
|
||||||
})
|
})
|
||||||
|
|||||||
@ -35,11 +35,12 @@ export default {
|
|||||||
this.chart = null;
|
this.chart = null;
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
init(siteId) {
|
init(siteId,timeRange) {
|
||||||
this.chart.showLoading();
|
this.chart.showLoading();
|
||||||
const x = [];
|
const x = [];
|
||||||
const data = [];
|
const data = [];
|
||||||
pcsMaxTemp(siteId)
|
const [startTime='', endTime=''] = timeRange;
|
||||||
|
pcsMaxTemp(siteId,startTime,endTime)
|
||||||
.then((response) => {
|
.then((response) => {
|
||||||
this.setOption(response?.data?.pcsMaxTempList || []);
|
this.setOption(response?.data?.pcsMaxTempList || []);
|
||||||
})
|
})
|
||||||
|
|||||||
@ -3,6 +3,8 @@
|
|||||||
<div class="ssyx-ems-dashboard-editor-container">
|
<div class="ssyx-ems-dashboard-editor-container">
|
||||||
<!-- 6个方块-->
|
<!-- 6个方块-->
|
||||||
<real-time-base-info :data="runningHeadData"/>
|
<real-time-base-info :data="runningHeadData"/>
|
||||||
|
<!-- 时间选择 -->
|
||||||
|
<date-range-select ref="dateRangeSelect" @updateDate="updateDate" style="margin-top:20px;"/>
|
||||||
<!-- echart图表-->
|
<!-- echart图表-->
|
||||||
<el-row :gutter="32" style="background:#fff;margin:30px 0;">
|
<el-row :gutter="32" style="background:#fff;margin:30px 0;">
|
||||||
<el-col :xs="24" :sm="12" :lg="12">
|
<el-col :xs="24" :sm="12" :lg="12">
|
||||||
@ -27,6 +29,7 @@
|
|||||||
|
|
||||||
</style>
|
</style>
|
||||||
<script>
|
<script>
|
||||||
|
import DateRangeSelect from '@/components/Ems/DateRangeSelect/index.vue'
|
||||||
import RealTimeBaseInfo from "./../RealTimeBaseInfo.vue";
|
import RealTimeBaseInfo from "./../RealTimeBaseInfo.vue";
|
||||||
import CnglqxChart from './CnglqxChart.vue'
|
import CnglqxChart from './CnglqxChart.vue'
|
||||||
import PocpjwdChart from './PocpjwdChart.vue'
|
import PocpjwdChart from './PocpjwdChart.vue'
|
||||||
@ -38,11 +41,13 @@ import intervalUpdate from "@/mixins/ems/intervalUpdate";
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
name:'DzjkSbjkSsyx',
|
name:'DzjkSbjkSsyx',
|
||||||
components:{RealTimeBaseInfo,CnglqxChart,PocpjwdChart,DcpjwdChart,DcpjsocChart},
|
components:{RealTimeBaseInfo,CnglqxChart,PocpjwdChart,DcpjwdChart,DcpjsocChart,DateRangeSelect},
|
||||||
mixins:[getQuerySiteId,intervalUpdate],
|
mixins:[getQuerySiteId,intervalUpdate],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
runningHeadData:{},//运行信息
|
runningHeadData:{},//运行信息
|
||||||
|
timeRange:[],
|
||||||
|
isInit:true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
@ -52,17 +57,27 @@ export default {
|
|||||||
this.runningHeadData = response?.data || {}
|
this.runningHeadData = response?.data || {}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
// 更新时间范围 重置图表
|
||||||
|
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)
|
||||||
|
},
|
||||||
updateData(){
|
updateData(){
|
||||||
this.getRunningHeadData()
|
this.getRunningHeadData()
|
||||||
this.$refs.cnglqx.init(this.siteId)
|
this.updateChart()
|
||||||
this.$refs.pocpjwd.init(this.siteId)
|
|
||||||
this.$refs.dcpjsoc.init(this.siteId)
|
|
||||||
this.$refs.dcpjwd.init(this.siteId)
|
|
||||||
},
|
},
|
||||||
init(){
|
init(){
|
||||||
|
this.$refs.dateRangeSelect.init(true)
|
||||||
this.$nextTick(()=>{
|
this.$nextTick(()=>{
|
||||||
this.updateData()
|
this.updateData()
|
||||||
this.updateInterval(this.updateData)
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,7 +7,10 @@
|
|||||||
class="sbjk-card-container running-card-container"
|
class="sbjk-card-container running-card-container"
|
||||||
shadow="always">
|
shadow="always">
|
||||||
<div slot="header">
|
<div slot="header">
|
||||||
<span class="large-title">{{index+1}}#{{item.deviceName}}</span>
|
<span class="large-title">{{item.deviceName}}</span>
|
||||||
|
<div class="alarm">
|
||||||
|
<el-button type="primary" size="small" style="margin-right:20px;" @click="pointDetail(item)">详细</el-button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col v-for="(tempDataItem,tempDataIndex) in tempData" :key="tempDataIndex+'ylTempData'" :span="8">
|
<el-col v-for="(tempDataItem,tempDataIndex) in tempData" :key="tempDataIndex+'ylTempData'" :span="8">
|
||||||
@ -19,6 +22,7 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
<el-empty v-show="list.length<=0" :image-size="200"></el-empty>
|
<el-empty v-show="list.length<=0" :image-size="200"></el-empty>
|
||||||
<point-chart ref="pointChart" :site-id="siteId"/>
|
<point-chart ref="pointChart" :site-id="siteId"/>
|
||||||
|
<point-table ref="pointTable"/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -28,10 +32,11 @@ import getQuerySiteId from "@/mixins/ems/getQuerySiteId";
|
|||||||
import {getCoolingDataList} from '@/api/ems/dzjk'
|
import {getCoolingDataList} from '@/api/ems/dzjk'
|
||||||
import intervalUpdate from "@/mixins/ems/intervalUpdate";
|
import intervalUpdate from "@/mixins/ems/intervalUpdate";
|
||||||
import pointChart from "./../PointChart.vue";
|
import pointChart from "./../PointChart.vue";
|
||||||
|
import PointTable from "@/views/ems/site/sblb/PointTable.vue";
|
||||||
export default {
|
export default {
|
||||||
name:'DzjkSbjkYl',
|
name:'DzjkSbjkYl',
|
||||||
mixins:[getQuerySiteId,intervalUpdate],
|
mixins:[getQuerySiteId,intervalUpdate],
|
||||||
components:{pointChart},
|
components:{pointChart,PointTable},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loading:false,
|
loading:false,
|
||||||
@ -48,6 +53,11 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
|
// 查看设备电位表格
|
||||||
|
pointDetail(row){
|
||||||
|
const {deviceId} = row
|
||||||
|
this.$refs.pointTable.showTable({siteId:this.siteId,deviceId,deviceCategory:'COOLING'})
|
||||||
|
},
|
||||||
showChart(pointName,deviceId){
|
showChart(pointName,deviceId){
|
||||||
pointName && this.$refs.pointChart.showChart({pointName,deviceCategory:'COOLING',deviceId})
|
pointName && this.$refs.pointChart.showChart({pointName,deviceCategory:'COOLING',deviceId})
|
||||||
},
|
},
|
||||||
|
|||||||
@ -77,12 +77,15 @@
|
|||||||
@sort-change="handleSortChange"
|
@sort-change="handleSortChange"
|
||||||
>
|
>
|
||||||
<el-table-column label="数据点位" prop="dataPoint"> </el-table-column>
|
<el-table-column label="数据点位" prop="dataPoint"> </el-table-column>
|
||||||
<el-table-column label="数据点位名称" prop="pointName"></el-table-column>
|
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="modbus地址"
|
label="数据点位名称"
|
||||||
>
|
prop="pointName"
|
||||||
|
></el-table-column>
|
||||||
|
<el-table-column label="modbus地址">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span>{{`${scope.row.ipAddress || ''} ${scope.row.ipPort || ''}`}}</span>
|
<span>{{
|
||||||
|
`${scope.row.ipAddress || ""} ${scope.row.ipPort || ""}`
|
||||||
|
}}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
@ -92,19 +95,18 @@
|
|||||||
sortable="custom"
|
sortable="custom"
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span
|
<span class="pointer" @click="showChart(scope.row)">{{
|
||||||
class="pointer"
|
scope.row.pointValue
|
||||||
@click="
|
}}</span>
|
||||||
showChart(
|
|
||||||
scope.row
|
|
||||||
)
|
|
||||||
"
|
|
||||||
>{{ scope.row.pointValue }}</span
|
|
||||||
>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="单位" prop="dataUnit"></el-table-column>
|
<el-table-column label="单位" prop="dataUnit"></el-table-column>
|
||||||
<el-table-column label="更新时间" min-width="160px" prop="updateTime" sortable="custom">
|
<el-table-column
|
||||||
|
label="更新时间"
|
||||||
|
min-width="160px"
|
||||||
|
prop="updateTime"
|
||||||
|
sortable="custom"
|
||||||
|
>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<el-pagination
|
<el-pagination
|
||||||
@ -137,7 +139,7 @@ export default {
|
|||||||
if (!val) {
|
if (!val) {
|
||||||
this.tableData = [];
|
this.tableData = [];
|
||||||
this.deviceId = "";
|
this.deviceId = "";
|
||||||
this.parentId='';
|
this.parentId = "";
|
||||||
this.siteId = "";
|
this.siteId = "";
|
||||||
this.pageSize = 10;
|
this.pageSize = 10;
|
||||||
this.pageNum = 1;
|
this.pageNum = 1;
|
||||||
@ -149,8 +151,8 @@ export default {
|
|||||||
dataPoint: "", //点位名称
|
dataPoint: "", //点位名称
|
||||||
lower: "", //
|
lower: "", //
|
||||||
upper: "", //
|
upper: "", //
|
||||||
ipAddress:'',
|
ipAddress: "",
|
||||||
ipPort:''
|
ipPort: "",
|
||||||
};
|
};
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
}
|
}
|
||||||
@ -158,8 +160,8 @@ export default {
|
|||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
isDtdc() {
|
isDtdc() {
|
||||||
return this.deviceCategory === 'BATTERY'
|
return this.deviceCategory === "BATTERY";
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -174,12 +176,12 @@ export default {
|
|||||||
dataPoint: "", //点位名称
|
dataPoint: "", //点位名称
|
||||||
lower: "", //
|
lower: "", //
|
||||||
upper: "", //
|
upper: "", //
|
||||||
ipAddress:'',
|
ipAddress: "",
|
||||||
ipPort:''
|
ipPort: "",
|
||||||
},
|
},
|
||||||
deviceCategory: "",
|
deviceCategory: "",
|
||||||
deviceId: "",
|
deviceId: "",
|
||||||
parentId:'',
|
parentId: "",
|
||||||
siteId: "",
|
siteId: "",
|
||||||
tableData: [],
|
tableData: [],
|
||||||
pageSize: 10, //分页栏当前每个数据总数
|
pageSize: 10, //分页栏当前每个数据总数
|
||||||
@ -190,13 +192,24 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
showChart({ pointName }) {
|
showChart({ pointName }) {
|
||||||
if (pointName) {
|
if (pointName) {
|
||||||
const {deviceCategory,deviceId}=this
|
const { deviceCategory, deviceId } = this;
|
||||||
if(this.isDtdc) this.$refs.pointChart.showChart({ pointName, deviceCategory, deviceId:this.parentId,child:[deviceId] });
|
if (this.isDtdc)
|
||||||
else this.$refs.pointChart.showChart({ pointName, deviceCategory, deviceId });
|
this.$refs.pointChart.showChart({
|
||||||
|
pointName,
|
||||||
|
deviceCategory,
|
||||||
|
deviceId: this.parentId,
|
||||||
|
child: [deviceId],
|
||||||
|
});
|
||||||
|
else
|
||||||
|
this.$refs.pointChart.showChart({
|
||||||
|
pointName,
|
||||||
|
deviceCategory,
|
||||||
|
deviceId,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
handleSortChange(column) {
|
handleSortChange(column) {
|
||||||
this.form.sortData = column.prop
|
this.form.sortData = column.prop;
|
||||||
this.form.sortMethod = column.order === "descending" ? "desc" : "asc";
|
this.form.sortMethod = column.order === "descending" ? "desc" : "asc";
|
||||||
console.log("切换排序方式", column, this.form);
|
console.log("切换排序方式", column, this.form);
|
||||||
this.getData();
|
this.getData();
|
||||||
@ -205,11 +218,11 @@ export default {
|
|||||||
this.pageNum = 1;
|
this.pageNum = 1;
|
||||||
this.getData();
|
this.getData();
|
||||||
},
|
},
|
||||||
showTable({ deviceCategory, siteId, deviceId ,parentId=''}) {
|
showTable({ deviceCategory, siteId, deviceId, parentId = "" }) {
|
||||||
this.deviceCategory = deviceCategory;
|
this.deviceCategory = deviceCategory;
|
||||||
this.siteId = siteId;
|
this.siteId = siteId;
|
||||||
this.deviceId = deviceId;
|
this.deviceId = deviceId;
|
||||||
this.parentId=deviceCategory === 'BATTERY' ? parentId : ''//只有单体电池需要这个值
|
this.parentId = deviceCategory === "BATTERY" ? parentId : ""; //只有单体电池需要这个值
|
||||||
this.show = true;
|
this.show = true;
|
||||||
this.getData();
|
this.getData();
|
||||||
},
|
},
|
||||||
@ -230,7 +243,7 @@ export default {
|
|||||||
lower,
|
lower,
|
||||||
upper,
|
upper,
|
||||||
ipAddress,
|
ipAddress,
|
||||||
ipPort
|
ipPort,
|
||||||
},
|
},
|
||||||
} = this;
|
} = this;
|
||||||
getDevicePointList({
|
getDevicePointList({
|
||||||
@ -247,7 +260,7 @@ export default {
|
|||||||
lower,
|
lower,
|
||||||
upper,
|
upper,
|
||||||
ipAddress,
|
ipAddress,
|
||||||
ipPort
|
ipPort,
|
||||||
})
|
})
|
||||||
.then((response) => {
|
.then((response) => {
|
||||||
this.tableData = response?.rows || [];
|
this.tableData = response?.rows || [];
|
||||||
|
|||||||
Reference in New Issue
Block a user