修改 有用功率趋势分析页面

This commit is contained in:
GGJ
2025-04-09 10:41:56 +08:00
parent 3d5c73b268
commit 57360ea3a7
7 changed files with 99 additions and 45 deletions

View File

@@ -122,8 +122,14 @@ const loadData = () => {
}) })
}) })
nodeKey = res.data[0].children[0].children[0].children[0].children[0].id nodeKey =
emit('init', res.data[0].children[0].children[0].children[0].children[0]) res.data[0].children[0].children[0].children[0].children[0].children[0]?.id ||
res.data[0].children[0].children[0].children[0].children[0]?.id
emit(
'init',
res.data[0].children[0].children[0].children[0].children[0]?.children[0] ||
res.data[0].children[0].children[0].children[0].children[0]
)
tree.value = res.data tree.value = res.data
if (nodeKey) { if (nodeKey) {

View File

@@ -111,6 +111,7 @@ defineOptions({
const EchartMap = ref() const EchartMap = ref()
const dictData = useDictData() const dictData = useDictData()
const reason = dictData.getBasicData('Event_Reason') const reason = dictData.getBasicData('Event_Reason')
const triggerType = dictData.getBasicData('Event_Statis')
const echartMapList: any = ref({}) const echartMapList: any = ref({})
const header = ref() const header = ref()
const distributionData: any = ref([]) const distributionData: any = ref([])
@@ -294,11 +295,13 @@ const clickMap = (e: any) => {
} }
// 表格数据处理 // 表格数据处理
const tabulation = (e: any) => { const tabulation = (e: any) => {
console.log();
loading.value = true loading.value = true
voltageRideThroughEventQueryPage({ voltageRideThroughEventQueryPage({
...tableStore.table.params, ...tableStore.table.params,
areaId: e.data.id, areaId: e.data.id,
frequencyType: e.seriesName == '高压' ? 'Voltage_Rise' : 'Voltage_Dip' frequencyType: e.seriesName == '高压' ? triggerType.filter(item => item.code == 'Voltage_Rise')[0].id : triggerType.filter(item => item.code == 'Voltage_Dip')[0].id
}) })
.then(res => { .then(res => {
distributionData.value = res.data distributionData.value = res.data

View File

@@ -1,6 +1,6 @@
<template> <template>
<el-dialog v-model="dialogVisible" :title="title" width="1200" draggable> <el-dialog v-model="dialogVisible" :title="title" width="1200" draggable>
<vxe-table v-bind="defaultAttribute" ref="vxeRef" height="500px" :data="tableData"> <vxe-table v-bind="defaultAttribute" ref="vxeRef" height="500px" :data="tableData" v-loading="loading">
<vxe-colgroup field="anotherName" title="指标" width="180" /> <vxe-colgroup field="anotherName" title="指标" width="180" />
<!-- <vxe-colgroup field="unit" title="单位" /> --> <!-- <vxe-colgroup field="unit" title="单位" /> -->
<vxe-colgroup title="最小值"> <vxe-colgroup title="最小值">
@@ -240,11 +240,12 @@ import { getTargetByTime } from '@/api/harmonic-boot/pollution'
const dialogVisible = ref(false) const dialogVisible = ref(false)
const title = ref('') const title = ref('')
const anotherName = ref('') const anotherName = ref('')
const loading = ref(false)
const tableData: any = ref([]) const tableData: any = ref([])
const open = (row: any) => { const open = (row: any) => {
title.value = row.title + ' - ' + row.row.time + ' - 越限详情' title.value = row.title + ' - ' + row.row.time + ' - 越限详情'
anotherName.value = row.title anotherName.value = row.title
console.log('🚀 ~ detailClick ~ row:', row) loading.value = true
getTargetByTime({ getTargetByTime({
field: row.field, field: row.field,
lineId: row.lineId, lineId: row.lineId,
@@ -254,6 +255,7 @@ const open = (row: any) => {
code: row.key == '2' ? '' : row.key == '3' ? '' : row.key == '4' ? '' : row.key //row.key code: row.key == '2' ? '' : row.key == '3' ? '' : row.key == '4' ? '' : row.key //row.key
}).then((res: any) => { }).then((res: any) => {
tableData.value = res.data tableData.value = res.data
loading.value = false
}) })
dialogVisible.value = true dialogVisible.value = true
} }

View File

@@ -393,7 +393,7 @@ const powerList2: any = ref([
}, },
{ {
label: '90%~100%', label: '90%~100%',
quantity: '20', quantity: '0',
percentage: '10%', percentage: '10%',
crossTheLine: '越限', crossTheLine: '越限',
value: '90%~100%' value: '90%~100%'

View File

@@ -304,7 +304,7 @@ const echart = () => {
{ {
name: '告警占比', name: '告警占比',
type: 'bar', type: 'bar',
barWidth: 12, barWidth: 13,
data: [ data: [
((monitoringPoints.value.abnormalNum / monitoringPoints.value.runNum) * 100) == 0 ((monitoringPoints.value.abnormalNum / monitoringPoints.value.runNum) * 100) == 0
? '' ? ''

View File

@@ -23,30 +23,9 @@ const info = () => {
{ value: '80', name: '廊坊' }, { value: '80', name: '廊坊' },
{ value: '70', name: '秦皇岛' }, { value: '70', name: '秦皇岛' },
{ value: '60', name: '唐山' }, { value: '60', name: '唐山' },
{ value: '50', name: '承德' }, { value: '50', name: '承德' }
] ]
options.value = { options.value = {
xAxis: {
type: 'value',
data:[10,100,200,300,400,500,600,700,800,900,1000],
axisLabel: {
show: true,
textStyle: {
color: '#FFF'
}
},
splitLine: {
show: false
},
axisTick: {
show: false
},
axisLine: {
show: true
},
},
grid: { grid: {
top: '10' top: '10'
}, },
@@ -62,8 +41,27 @@ const info = () => {
}, },
splitLine: { splitLine: {
show: false show: false
}
}, },
xAxis: {
type: 'value',
data: [1, 2, 3, 4],
axisLabel: {
show: true,
textStyle: {
color: '#FFF'
},
formatter: function (value) {}
},
splitLine: {
show: false
},
axisTick: {
show: false
},
axisLine: {
show: true
}
}, },
dataZoom: null, dataZoom: null,
series: [ series: [
@@ -80,7 +78,48 @@ const info = () => {
: '#CC0000' : '#CC0000'
} }
}, },
markLine: {
silent: false,
symbol: 'circle',
data: [
{
name: '',
yAxis: 100,
lineStyle: {
color: '#009900'
},
label: {
show: true,
formatter: '优质',
color: '#009900'
}
},
{
name: '',
yAxis: 90,
lineStyle: {
color: '#77DA63'
},
label: {
show: true,
color: '#77DA63',
formatter: '良好'
}
},
{
name: '',
yAxis: 60,
lineStyle: {
color: '#FFCC00'
},
label: {
show: true,
color: '#FFCC00',
formatter: '合格'
}
}
]
},
data: dataSource.map(item => item.value) data: dataSource.map(item => item.value)
} }
] ]
@@ -119,7 +158,7 @@ onMounted(() => {
color: #ffffff; color: #ffffff;
background: var(--el-color-primary); background: var(--el-color-primary);
.el-radio-button__inner{ .el-radio-button__inner {
opacity: 1 !important; opacity: 1 !important;
border-left: 1px solid #00fff4 !important; border-left: 1px solid #00fff4 !important;
} }

View File

@@ -159,13 +159,13 @@
:color="[color[0], color[0]]" :color="[color[0], color[0]]"
class="box" class="box"
:backgroundColor="`${color[0]}24`" :backgroundColor="`${color[0]}24`"
title="最近一周终端评价趋势" title="终端运行评价详情"
> >
<div class="title"> <div class="title">
<span class="iconfont icon-a-qushi1"></span> <span class="iconfont icon-a-qushi1"></span>
最近一周终端评价趋势 终端运行评价详情
</div> </div>
<week /> <terminalOperation />
</BorderBox13> </BorderBox13>
</div> </div>
</transition> </transition>
@@ -190,13 +190,14 @@
:color="[color[0], color[0]]" :color="[color[0], color[0]]"
class="box" class="box"
:backgroundColor="`${color[0]}24`" :backgroundColor="`${color[0]}24`"
title="终端运行评价详情" title="最近一周终端评价趋势"
> >
<div class="title"> <div class="title">
<span class="iconfont icon-yunhangxiangqing"></span> <span class="iconfont icon-yunhangxiangqing"></span>
终端运行评价详情 最近一周终端评价趋势
</div> </div>
<terminalOperation />
<week />
</BorderBox13> </BorderBox13>
</div> </div>
</div> </div>
@@ -237,6 +238,9 @@ import week from './components/week.vue'
import terminalDetails from './components/terminalDetails.vue' import terminalDetails from './components/terminalDetails.vue'
import statistics from './components/statistics.vue' import statistics from './components/statistics.vue'
import run from './components/run.vue' import run from './components/run.vue'
defineOptions({
name: 'runManage/runEvaluate'
})
const config = useConfig() const config = useConfig()
const color = config.layout.elementUiPrimary const color = config.layout.elementUiPrimary
const dictData = useDictData() const dictData = useDictData()