修改台账管理页面

This commit is contained in:
GGJ
2025-04-14 09:26:23 +08:00
parent ec9b4e12a6
commit f41f7ed16d
4 changed files with 140 additions and 44 deletions

View File

@@ -7,39 +7,74 @@
<el-input v-model="tableStore.table.params.searchValue" placeholder="输入关键字筛选" />
</el-form-item>
<el-form-item label="统计类型:">
<el-select v-model="tableStore.table.params.statisticalType" value-key="id"
placeholder="请选择统计类型">
<el-option v-for="item in classificationData" :key="item.id" :label="item.name"
:value="item"></el-option>
<el-select
v-model="tableStore.table.params.statisticalType"
value-key="id"
placeholder="请选择统计类型"
>
<el-option
v-for="item in classificationData"
:key="item.id"
:label="item.name"
:value="item"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="电压等级:">
<el-select v-model="tableStore.table.params.scale" multiple collapse-tags clearable
value-key="id" placeholder="请选择电压等级">
<el-option v-for="item in voltageleveloption" :key="item.id" :label="item.name"
:value="item"></el-option>
<el-select
v-model="tableStore.table.params.scale"
multiple
collapse-tags
clearable
value-key="id"
placeholder="请选择电压等级"
>
<el-option
v-for="item in voltageleveloption"
:key="item.id"
:label="item.name"
:value="item"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="终端厂家:">
<el-select v-model="tableStore.table.params.manufacturer" multiple collapse-tags clearable
value-key="id" placeholder="请选择终端厂家">
<el-option v-for="item in terminaloption" :key="item.id" :label="item.name"
:value="item"></el-option>
<el-select
v-model="tableStore.table.params.manufacturer"
multiple
collapse-tags
clearable
value-key="id"
placeholder="请选择终端厂家"
>
<el-option
v-for="item in terminaloption"
:key="item.id"
:label="item.name"
:value="item"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="干扰源类型:">
<el-select v-model="tableStore.table.params.loadType" multiple collapse-tags clearable
value-key="id" placeholder="请选择干扰源类型">
<el-option v-for="item in interfereoption" :key="item.id" :label="item.name"
:value="item"></el-option>
<el-select
v-model="tableStore.table.params.loadType"
multiple
collapse-tags
clearable
value-key="id"
placeholder="请选择干扰源类型"
>
<el-option
v-for="item in interfereoption"
:key="item.id"
:label="item.name"
:value="item"
></el-option>
</el-select>
</el-form-item>
</template>
</TableHeader>
<Table ref="tableRef" />
</div>
<div :style="{ height: pageHeight.height }" style="padding: 10px; overflow: hidden" v-if="!view">
<waveForm ref="waveFormRef" senior :boxoList="boxoList" :wp="wp" @backbxlb="backbxlb" />
@@ -80,16 +115,33 @@ const tableStore = new TableStore({
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
}
},
{ field: 'startTime', title: '暂降发生时刻', minWidth: "150" },
{ field: 'lineName', title: '监测点名称',minWidth: "90" },
{ field: 'gdName', title: '供电公司',minWidth: "90" },
{ field: 'subName', title: '变电站',minWidth: "150" },
{ field: 'ip', title: '网络参数',minWidth: "90" },
{ field: 'scale', title: '电压等级' ,minWidth: "90"},
{ field: 'advanceType', title: '暂降类型',minWidth: "90" },
{ field: 'advanceReason', title: '暂降原因' ,minWidth: "90",},
{ field: 'startTime', title: '暂降发生时刻', minWidth: '150' },
{ field: 'lineName', title: '监测点名称', minWidth: '90' },
{ field: 'gdName', title: '供电公司', minWidth: '90' },
{ field: 'subName', title: '变电站', minWidth: '150' },
{ field: 'ip', title: '网络参数', minWidth: '90' },
{ field: 'scale', title: '电压等级', minWidth: '90' },
{
field: 'eventType', title: '暂态统计类型',minWidth: "100", formatter: (row: any) => {
field: 'advanceType',
title: '暂降类型',
minWidth: '90',
formatter: (row: any) => {
return row.cellValue || '其他'
}
},
{
field: 'advanceReason',
title: '暂降原因',
minWidth: '90',
formatter: (row: any) => {
return row.cellValue || '其他'
}
},
{
field: 'eventType',
title: '暂态统计类型',
minWidth: '100',
formatter: (row: any) => {
return eventList.filter(item => item.id === row.cellValue)[0]?.name
}
},
@@ -99,20 +151,24 @@ const tableStore = new TableStore({
// }
// },
{
field: 'featureAmplitude', title: '暂降幅值(%)',minWidth: "90", formatter: (row: any) => {
field: 'featureAmplitude',
title: '暂降幅值(%)',
minWidth: '90',
formatter: (row: any) => {
return (row.cellValue * 100).toFixed(2)
}
},
{
field: 'eventDescribe', title: '暂降深度(%)',minWidth: "90", formatter: (row: any) => {
field: 'eventDescribe',
title: '暂降深度(%)',
minWidth: '90',
formatter: (row: any) => {
let data: any = (100 - row.row.featureAmplitude * 100).toFixed(2)
return data >= 0 ? data : '/'
}
},
{ field: 'duration', title: '持续时间(s)' ,minWidth: "80",},
{ field: 'duration', title: '持续时间(s)', minWidth: '80' },
{
title: '操作',
@@ -132,7 +188,7 @@ const tableStore = new TableStore({
view.value = false
setTimeout(() => {
waveFormRef.value.open(row)
},100)
}, 100)
// row.loading = true
// boxoList.value = row
// await getMonitorEventAnalyseWave({ id: row.eventId, systemType: 0 })
@@ -163,7 +219,7 @@ const tableStore = new TableStore({
}
],
loadCallback: () => { }
loadCallback: () => {}
})
tableStore.table.params.searchValue = ''
tableStore.table.params.statisticalType = classificationData.filter(item => item.name == '电网拓扑')[0]
@@ -183,9 +239,6 @@ onMounted(() => {
tableStore.index()
})
const backbxlb = () => {
view.value = true
view2.value = false

View File

@@ -0,0 +1,42 @@
<template>
<div class="default-main">
<el-tabs v-model="activeName" type="border-card">
<el-tab-pane label="终端台账" name="1">
<deviceLedgerTable v-if="activeName == '1'" />
</el-tab-pane>
<el-tab-pane label="监测点台账" name="2">
<monitorLedgerTable v-if="activeName == '2'" />
</el-tab-pane>
</el-tabs>
</div>
</template>
<script setup lang="ts">
import { onMounted, reactive, ref, provide } from 'vue'
import deviceLedgerTable from '@/views/pqs/supervise/terminal/components/deviceLedgerTable.vue'
import monitorLedgerTable from '@/views/pqs/supervise/terminal/components/monitorLedgerTable.vue'
import { mainHeight } from '@/utils/layout'
import { useRoute } from 'vue-router'
const route = useRoute()
const id = ref('')
defineOptions({
name: 'ledgerManage'
})
const activeName = ref('1')
const layout = mainHeight(63) as any
</script>
<style lang="scss" scoped>
.bars_w {
width: 100%;
height: 500px;
}
:deep(.el-tabs__content) {
height: v-bind('layout.height');
overflow-y: auto;
}
</style>

View File

@@ -106,14 +106,15 @@ const tableStore = new TableStore({
title: '供电公司',
minWidth: 100
},
{ field: 'objName', title: '监测点对象名称' , minWidth: 240},
{ field: 'objName', title: '对象名称' , minWidth: 240},
{ field: 'lineName', title: '监测点名称' , minWidth: 100},
{ field: 'manufacturer', title: '厂家' , minWidth: 100},
{ field: 'scale', title: '电压等级' , minWidth: 100},
{ field: 'businessType', title: '行业类型' , minWidth: 100},
{ field: 'devName', title: '终端名称', minWidth: 80 },
{ field: 'ip', title: '网络参数' , minWidth: 100},
{ field: 'lineName', title: '监测点名称' , minWidth: 100},
// { field: 'comFlag', title: '通讯状态' , minWidth: 100},
{
field: 'comFlag',

View File

@@ -119,7 +119,7 @@ const tableStore = new TableStore({
field: 'runFlag',
title: '终端状态',
effect: 'dark',
render: 'tag',
render: 'tag',minWidth: 100,
custom: {
'投运': 'success',
'热备用': 'warning',
@@ -131,7 +131,7 @@ const tableStore = new TableStore({
field: 'comFlag',
title: '通讯状态',
render: 'tag',
effect: 'dark',
effect: 'dark',minWidth: 100,
custom: {
'正常': 'success',
'中断': 'danger',
@@ -143,7 +143,7 @@ const tableStore = new TableStore({
field: 'onlineEvaluate',
title: '在线率评价',
render: 'tag',
effect: 'dark',
effect: 'dark',minWidth: 100,
custom: {
'/': 'info',
'优': 'success',