This commit is contained in:
GGJ
2025-04-29 14:53:46 +08:00
parent 1018de896e
commit 503398d050
2 changed files with 41 additions and 28 deletions

View File

@@ -1,13 +1,14 @@
<template> <template>
<el-dialog draggable v-model="dialogVisible" :title="title" width="70%"> <el-dialog draggable v-model="dialogVisible" :title="title" width="70%">
<div style="height: 55vh"> <div style="height: 55vh">
<vxe-table height="auto" auto-resize :data="tableData" v-loading="loading" v-bind="defaultAttribute" <vxe-table
:key="key"> height="auto"
auto-resize
:data="tableData"
v-loading="loading"
v-bind="defaultAttribute"
:key="key"
>
<div v-if="!voltageLevelFlag"> <div v-if="!voltageLevelFlag">
<vxe-column field="name" title="名称" min-width="150"></vxe-column> <vxe-column field="name" title="名称" min-width="150"></vxe-column>
<vxe-column field="onlineCount" title="在线监测点数" min-width="120"> <vxe-column field="onlineCount" title="在线监测点数" min-width="120">
@@ -67,13 +68,20 @@
</vxe-column> </vxe-column>
<vxe-column field="overTwentyThreeTimes" title="23次"> <vxe-column field="overTwentyThreeTimes" title="23次">
<template #default="scope"> <template #default="scope">
{{ scope.row.overTwentyThreeTimes == 3.14159 ? '暂无数据' : scope.row.overTwentyThreeTimes {{
scope.row.overTwentyThreeTimes == 3.14159
? '暂无数据'
: scope.row.overTwentyThreeTimes
}} }}
</template> </template>
</vxe-column> </vxe-column>
<vxe-column field="overTwentyFiveTimes" title="25次"> <vxe-column field="overTwentyFiveTimes" title="25次">
<template #default="scope"> <template #default="scope">
{{ scope.row.overTwentyFiveTimes == 3.14159 ? '暂无数据' : scope.row.overTwentyFiveTimes }} {{
scope.row.overTwentyFiveTimes == 3.14159
? '暂无数据'
: scope.row.overTwentyFiveTimes
}}
</template> </template>
</vxe-column> </vxe-column>
<vxe-column field="otherTimes" title="其他次"> <vxe-column field="otherTimes" title="其他次">
@@ -82,16 +90,12 @@
</template> </template>
</vxe-column> </vxe-column>
</vxe-colgroup> </vxe-colgroup>
</div> </div>
</vxe-table> </vxe-table>
</div> </div>
</el-dialog> </el-dialog>
</template> </template>
<script setup lang='ts'> <script setup lang="ts">
import { ref, reactive } from 'vue' import { ref, reactive } from 'vue'
import { defaultAttribute } from '@/components/table/defaultAttribute' import { defaultAttribute } from '@/components/table/defaultAttribute'
import { getSubInfoById, getXbLineInfoById } from '@/api/harmonic-boot/area' import { getSubInfoById, getXbLineInfoById } from '@/api/harmonic-boot/area'
@@ -109,18 +113,21 @@ const open = (row: any, flag: boolean, params: any) => {
statisticalName.value = params.statisticalType.name + '(%)' statisticalName.value = params.statisticalType.name + '(%)'
tableData.value = [] tableData.value = []
if (flag) { if (flag) {
getXbLineInfoById({ ...params, deptIndex: row.pid, id: row.id }).then((res: any) => { getXbLineInfoById({ ...params, deptIndex: row.pid, id: row.id, powerFlag: row.powerFlag })
.then((res: any) => {
tableData.value = res.data tableData.value = res.data
loading.value = false loading.value = false
}).catch(() => {
loading.value = false
}) })
.catch(() => {
loading.value = false
})
} else { } else {
getSubInfoById({ ...params, deptIndex: row.id }).then((res: any) => { getSubInfoById({ ...params, deptIndex: row.id })
.then((res: any) => {
tableData.value = res.data tableData.value = res.data
loading.value = false loading.value = false
}).catch(() => { })
.catch(() => {
loading.value = false loading.value = false
}) })
} }

View File

@@ -7,6 +7,11 @@
<el-option v-for="item in options" :key="item.id" :label="item.name" :value="item" /> <el-option v-for="item in options" :key="item.id" :label="item.name" :value="item" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="电网标志">
<el-select v-model="tableStore.table.params.powerFlag" placeholder="请选择电网标志">
<el-option v-for="item in sign" :key="item.id" :label="item.name" :value="item.algoDescribe" />
</el-select>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-DataAnalysis" <el-button type="primary" icon="el-icon-DataAnalysis"
@click="rankingClick">排名前10监测点</el-button> @click="rankingClick">排名前10监测点</el-button>
@@ -155,6 +160,7 @@ const rankingRef = ref()
const dataList = ref([]) const dataList = ref([])
const header = ref() const header = ref()
const sign = dictData.getBasicData('power_flag')
const options = dictData.getBasicData('Indicator_Type', ['PLPC', 'DYPC', 'SXDYBPHD', 'CSSB', 'FXDL', 'JXBDY']) const options = dictData.getBasicData('Indicator_Type', ['PLPC', 'DYPC', 'SXDYBPHD', 'CSSB', 'FXDL', 'JXBDY'])
const tableStore = new TableStore({ const tableStore = new TableStore({
url: '/harmonic-boot/detailAnalysis/deptSubRelations', url: '/harmonic-boot/detailAnalysis/deptSubRelations',
@@ -173,7 +179,7 @@ provide('tableStore', tableStore)
tableStore.table.params.deptIndex = dictData.state.area[0].id tableStore.table.params.deptIndex = dictData.state.area[0].id
tableStore.table.params.statisticalType = options[0] tableStore.table.params.statisticalType = options[0]
tableStore.table.params.monitorFlag = 2 tableStore.table.params.monitorFlag = 2
tableStore.table.params.powerFlag = 2 tableStore.table.params.powerFlag = sign[0]?.algoDescribe || 0
tableStore.table.params.statFlag = true tableStore.table.params.statFlag = true
tableStore.table.params.serverName = 'event-boot' tableStore.table.params.serverName = 'event-boot'