污染值报表高度,合并查询

This commit is contained in:
sjl
2025-09-11 15:57:31 +08:00
parent 868463aef9
commit 6fcf99284d
2 changed files with 35 additions and 53 deletions

View File

@@ -1,10 +1,10 @@
<template> <template>
<div class="default-main"> <div class="default-main">
<el-tabs v-model="activeName" type="border-card" @tab-change="handleTabChange"> <el-tabs v-model="activeName" type="border-card" @tab-change="handleTabChange">
<el-tab-pane label="谐波阻抗" name="1"> <el-tab-pane label="谐波阻抗模型库" name="1">
<HarmonicImpedanceTable ref="harmonicImpedanceRef" /> <HarmonicImpedanceTable ref="harmonicImpedanceRef" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="谐波源" name="2"> <el-tab-pane label="谐波源模型库" name="2">
<HarmonicSourcesTable ref="harmonicSourcesRef" /> <HarmonicSourcesTable ref="harmonicSourcesRef" />
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>

View File

@@ -1,6 +1,6 @@
<template> <template>
<div class="default-main"> <div class="default-main">
<TableHeader datePicker ref="TableHeaderRef"> <TableHeader datePicker ref="TableHeaderRef" @selectChange="handleTableHeaderSelectChange">
<template #select> <template #select>
<el-form-item label="区域"> <el-form-item label="区域">
@@ -33,29 +33,14 @@
<el-option label="非电网侧" value="2"></el-option> <el-option label="非电网侧" value="2"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 添加其他前端过滤条件 --> <el-form-item label="筛选">
<el-form-item label="变电站">
<el-input <el-input
v-model="localFilters.subStationName" v-model="searchKeyword"
placeholder="请输入变电站名称" placeholder="请输入变电站/终端/监测点"
clearable
@input="handleFilterChange"
/>
</el-form-item>
<el-form-item label="终端名称">
<el-input
v-model="localFilters.devName"
placeholder="请输入终端名称"
clearable
@input="handleFilterChange"
/>
</el-form-item>
<el-form-item label="监测点名称">
<el-input
v-model="localFilters.lineName"
placeholder="请输入监测点名称"
clearable clearable
@input="handleFilterChange" @input="handleFilterChange"
:show-word-limit=true
:maxlength="32"
/> />
</el-form-item> </el-form-item>
</template> </template>
@@ -86,8 +71,9 @@
<vxe-column field="lineVoltage" title="监测点电压等级" align="center" min-width="120"></vxe-column> <vxe-column field="lineVoltage" title="监测点电压等级" align="center" min-width="120"></vxe-column>
<vxe-column field="loadType" title="干扰源类型" align="center" min-width="120"></vxe-column> <vxe-column field="loadType" title="干扰源类型" align="center" min-width="120"></vxe-column>
<vxe-column field="objName" title="监测对象名称" align="center" min-width="150"></vxe-column> <vxe-column field="objName" title="监测对象名称" align="center" min-width="150"></vxe-column>
<vxe-column field="onlineRate" title="在线率" align="center" min-width="100"></vxe-column> <vxe-column field="interval" title="统计间隔" align="center" min-width="100"></vxe-column>
<vxe-column field="integrity" title="完整率" align="center" min-width="100"></vxe-column> <vxe-column field="onlineRate" title="在线率(%)" align="center" min-width="100"></vxe-column>
<vxe-column field="integrity" title="完整率(%)" align="center" min-width="100"></vxe-column>
<vxe-column field="harmonicValue" :title="harmonicValueTitle" align="center" min-width="120"></vxe-column> <vxe-column field="harmonicValue" :title="harmonicValueTitle" align="center" min-width="120"></vxe-column>
<vxe-column field="upCounts" title="暂升次数(次)" align="center" min-width="100"></vxe-column> <vxe-column field="upCounts" title="暂升次数(次)" align="center" min-width="100"></vxe-column>
<vxe-column field="downCounts" title="电压暂降(次)" align="center" min-width="100"></vxe-column> <vxe-column field="downCounts" title="电压暂降(次)" align="center" min-width="100"></vxe-column>
@@ -134,6 +120,8 @@ const allData = ref<PollutionItem[]>([])
const TableHeaderRef = ref() const TableHeaderRef = ref()
// 添加响应式标题变量 // 添加响应式标题变量
const harmonicValueTitle = ref('谐波电压污染值') const harmonicValueTitle = ref('谐波电压污染值')
const searchKeyword = ref('')
const cascaderProps = { const cascaderProps = {
label: 'name', label: 'name',
value: 'id', value: 'id',
@@ -154,15 +142,16 @@ interface PollutionItem {
const formatMonitorId = (row: any) => { const formatMonitorId = (row: any) => {
return row.row.monitorId || '/' return row.row.monitorId || '/'
} }
// 本地过滤参数
const localFilters = reactive({
gdName: '',
subStationName: '',
devName: '',
lineName: '',
powerFlag: '0' // 本地存储电网标志值
})
// 处理 TableHeader 展开/收起事件
const handleTableHeaderSelectChange = (isExpanded: boolean) => {
if(isExpanded){
tableHeight.value = tableHeight.value - 55
}else{
tableHeight.value = tableHeight.value + 55
}
};
const calculateTableHeight = () => { const calculateTableHeight = () => {
const windowHeight = window.innerHeight const windowHeight = window.innerHeight
@@ -209,28 +198,23 @@ const filteredData = computed(() => {
} }
// 电网标志过滤 // 电网标志过滤
if (localFilters.powerFlag === '1') { if (tableStore.table.params.powerFlag === '1') {
// 电网侧 // 电网侧
result = result.filter(item => item.powerFlag && !item.powerFlag.includes('非')) result = result.filter(item => item.powerFlag && !item.powerFlag.includes('非'))
} else if (localFilters.powerFlag === '2') { } else if (tableStore.table.params.powerFlag === '2') {
// 非电网侧 // 非电网侧
result = result.filter(item => item.powerFlag && item.powerFlag.includes('非')) result = result.filter(item => item.powerFlag && item.powerFlag.includes('非'))
} }
// '0' 表示全部,不过滤 // '0' 表示全部,不过滤
// 变电站过滤 // 统一搜索过滤
if (localFilters.subStationName) { if (searchKeyword.value) {
result = result.filter(item => item.subStationName && item.subStationName.includes(localFilters.subStationName)) const keyword = searchKeyword.value.toLowerCase()
} result = result.filter(item =>
(item.subStationName && item.subStationName.toLowerCase().includes(keyword)) ||
// 终端名称过滤 (item.devName && item.devName.toLowerCase().includes(keyword)) ||
if (localFilters.devName) { (item.lineName && item.lineName.toLowerCase().includes(keyword))
result = result.filter(item => item.devName && item.devName.includes(localFilters.devName)) )
}
// 监测点名称过滤
if (localFilters.lineName) {
result = result.filter(item => item.lineName && item.lineName.includes(localFilters.lineName))
} }
return result return result
@@ -323,8 +307,6 @@ const handleStatisticalTypeChange = (newVal: { id: any }) => {
// 处理过滤条件变化 // 处理过滤条件变化
const handleFilterChange = () => { const handleFilterChange = () => {
// 更新本地电网标志值
localFilters.powerFlag = tableStore.table.params.powerFlag
// 重置分页到第一页 // 重置分页到第一页
tableStore.table.params.pageNum = 1 tableStore.table.params.pageNum = 1
// 更新数据和总条数 // 更新数据和总条数
@@ -353,7 +335,7 @@ const exportEvent = () => {
// 使用 vxe-table 的导出功能 // 使用 vxe-table 的导出功能
positioningtableRef.value.exportData({ positioningtableRef.value.exportData({
filename: '谐波电压污染报告', filename: '污染报告',
sheetName: 'Sheet1', sheetName: 'Sheet1',
type: 'xlsx', type: 'xlsx',
useStyle: true, useStyle: true,