297 lines
10 KiB
Vue
297 lines
10 KiB
Vue
<template>
|
|
<div>
|
|
<TableHeader area ref="TableHeaderRef" showExport>
|
|
<template #select>
|
|
<el-form-item label="运行状态">
|
|
<el-select v-model="tableStore.table.params.runF" clearable placeholder="请选择运行状态">
|
|
<el-option
|
|
v-for="item in runFlagList"
|
|
:key="item.id"
|
|
:label="item.name"
|
|
:value="item.id"
|
|
></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="数据筛选">
|
|
<el-input
|
|
style="width: 240px"
|
|
placeholder="电站名称,终端编号,监测点名称、电压等级、终端厂家、干扰源类型"
|
|
v-model="tableStore.table.params.searchValue"
|
|
clearable
|
|
maxlength="32"
|
|
show-word-limit
|
|
></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="电压等级:">
|
|
<el-select
|
|
v-model="tableStore.table.params.scale"
|
|
filterable
|
|
multiple
|
|
collapse-tags
|
|
clearable
|
|
placeholder="请选择电压等级"
|
|
value-key="id"
|
|
>
|
|
<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"
|
|
filterable
|
|
multiple
|
|
collapse-tags
|
|
clearable
|
|
placeholder="请选择终端厂家"
|
|
value-key="id"
|
|
>
|
|
<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"
|
|
filterable
|
|
multiple
|
|
collapse-tags
|
|
clearable
|
|
placeholder="请选择干扰源类型"
|
|
value-key="id"
|
|
>
|
|
<el-option
|
|
v-for="item in interfereoption"
|
|
:key="item.id"
|
|
:label="item.name"
|
|
:value="item"
|
|
></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
</template>
|
|
|
|
<template #operation>
|
|
<!-- <el-button icon="el-icon-Download" type="primary">导出</el-button> -->
|
|
</template>
|
|
</TableHeader>
|
|
<Table ref="tableRef" />
|
|
</div>
|
|
</template>
|
|
<script setup lang="ts">
|
|
import { ref, onMounted, provide, nextTick, watch } from 'vue'
|
|
import TableStore from '@/utils/tableStore'
|
|
import Table from '@/components/table/index.vue'
|
|
import TableHeader from '@/components/table/header/index.vue'
|
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
|
import { mainHeight } from '@/utils/layout'
|
|
import { useDictData } from '@/stores/dictData'
|
|
import { addUse, updateUse, removeUse } from '@/api/advance-boot/bearingCapacity'
|
|
|
|
const dictData = useDictData()
|
|
const interferenceType = dictData.getBasicData('Interference_Source')
|
|
const istatusList = dictData.getBasicData('On-network_Status')
|
|
const TableHeaderRef = ref()
|
|
const areaOptionList = dictData.getBasicData('jibei_area')
|
|
const interfereoption = dictData.getBasicData('Interference_Source')
|
|
const terminaloption = dictData.getBasicData('Dev_Manufacturers')
|
|
const voltageleveloption = dictData.getBasicData('Dev_Voltage_Stand')
|
|
const tableStore = new TableStore({
|
|
url: '/device-boot/runManage/getLineLedger',
|
|
publicHeight: 65,
|
|
isWebPaging: true,
|
|
method: 'POST',
|
|
filename: '监测点台账',
|
|
column: [
|
|
{
|
|
title: '序号',
|
|
width: 80,
|
|
formatter: (row: any) => {
|
|
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
|
|
}
|
|
},
|
|
|
|
{
|
|
field: 'areaName',
|
|
title: '省公司',
|
|
minWidth: 100
|
|
},
|
|
|
|
{ field: 'gdName', title: '市公司', minWidth: 150 },
|
|
{
|
|
field: 'bdName',
|
|
title: '所属变电站',
|
|
minWidth: 150
|
|
},
|
|
{ field: 'lineName', title: '监测点名称', minWidth: 130 },
|
|
{ field: 'scale', title: '监测点电压等级', minWidth: 120 },
|
|
|
|
{ field: 'loadType', title: '干扰源类型', minWidth: 120 },
|
|
{
|
|
field: 'objName',
|
|
title: '监测对象名称',
|
|
minWidth: 180,
|
|
formatter: (row: any) => {
|
|
return row.cellValue ? row.cellValue : '/'
|
|
}
|
|
},
|
|
{
|
|
field: 'manufacturer',
|
|
title: '终端厂家',
|
|
minWidth: 100,
|
|
formatter: (row: any) => {
|
|
return row.cellValue ? row.cellValue : '/'
|
|
}
|
|
},
|
|
{
|
|
field: 'shortCapacity',
|
|
title: '最小短路容量(MVA)',
|
|
minWidth: 150
|
|
},
|
|
{
|
|
field: 'devCapacity',
|
|
title: '供电设备容量(MVA )',
|
|
minWidth: 160
|
|
},
|
|
{
|
|
field: 'dealCapacity',
|
|
title: '用户协议容量(MVA)',
|
|
minWidth: 150
|
|
},
|
|
/* { field: 'comFlag', title: '通讯状态 ', minWidth: 120 },*/
|
|
{ field: 'id', title: '监测点序号', minWidth: 90 },
|
|
{
|
|
field: 'runFlag',
|
|
title: '运行状态',
|
|
minWidth: 80,
|
|
render: 'tag',
|
|
custom: {
|
|
投运: 'success',
|
|
停运: 'danger',
|
|
检修: 'warning',
|
|
调试: 'warning',
|
|
退运: 'danger'
|
|
}
|
|
},
|
|
{ field: 'devName', title: '监测终端编号 ', minWidth: 140 },
|
|
{ field: 'ptType', title: '监测终端接线方式', minWidth: 140 },
|
|
{
|
|
field: 'voltageDev',
|
|
title: '电压偏差上限(%)',
|
|
minWidth: 140
|
|
},
|
|
{
|
|
field: 'uvoltageDev',
|
|
title: '电压偏差下限(%)',
|
|
minWidth: 140
|
|
}
|
|
|
|
/* {
|
|
title: '操作',
|
|
minWidth: 150,
|
|
fixed: 'right',
|
|
render: 'buttons',
|
|
buttons: [
|
|
{
|
|
name: 'productSetting',
|
|
title: '流程详情',
|
|
type: 'primary',
|
|
icon: 'el-icon-EditPen',
|
|
render: 'basicButton',
|
|
click: row => {
|
|
|
|
}
|
|
}
|
|
]
|
|
}*/
|
|
],
|
|
|
|
beforeSearchFun: () => {
|
|
tableStore.table.params.serverName = 'harmonic-boot'
|
|
|
|
tableStore.table.params.runFlag = []
|
|
if (tableStore.table.params.runF != null) {
|
|
tableStore.table.params.runFlag = [tableStore.table.params.runF]
|
|
}
|
|
tableStore.table.params.comFlag = [0, 1]
|
|
tableStore.table.params.statisticalType = {
|
|
name: '电网拓扑',
|
|
code: 'Power_Network'
|
|
}
|
|
}
|
|
})
|
|
|
|
tableStore.table.params.runF = 0
|
|
tableStore.table.params.runFlag = []
|
|
tableStore.table.params.searchValue = ''
|
|
tableStore.table.params.scale = []
|
|
tableStore.table.params.manufacturer = []
|
|
tableStore.table.params.loadType = []
|
|
const runFlagList = [
|
|
{ id: 0, name: '投运' },
|
|
{ id: 1, name: '检修' },
|
|
{ id: 2, name: '停运' },
|
|
{ id: 3, name: '调试' },
|
|
{ id: 4, name: '退运' }
|
|
]
|
|
|
|
provide('tableStore', tableStore)
|
|
onMounted(() => {
|
|
tableStore.index()
|
|
})
|
|
const setSearchValue = (val: string) => {
|
|
tableStore.table.params.searchValue = val
|
|
tableStore.index()
|
|
}
|
|
const setSearchType = async (val: string, key: string) => {
|
|
tableStore.table.params.searchValue = ''
|
|
tableStore.table.params.scale = []
|
|
tableStore.table.params.manufacturer = []
|
|
tableStore.table.params.loadType = []
|
|
if (key == 'Voltage_Level') {
|
|
// 电压等级
|
|
tableStore.table.params.scale = await getType(voltageleveloption, val)
|
|
} else if (key == 'Manufacturer') {
|
|
// 终端厂家
|
|
tableStore.table.params.manufacturer = await getType(terminaloption, val)
|
|
} else if (key == 'Load_Type') {
|
|
// 干扰源类型
|
|
tableStore.table.params.loadType = await getType(interfereoption, val)
|
|
}
|
|
|
|
await tableStore.index()
|
|
}
|
|
const getType = (list: any, str: string) => {
|
|
if (str == '其他') {
|
|
return list.filter(
|
|
(item: any) =>
|
|
item.name != '风电场' &&
|
|
item.name != '光伏电站' &&
|
|
item.name != '电气化铁路' &&
|
|
item.name != '一类变电站' &&
|
|
item.name != '安徽振兴' &&
|
|
item.name != '南京灿能' &&
|
|
item.name != '深圳中电' &&
|
|
item.name != '东方威思顿' &&
|
|
item.name != '220kV' &&
|
|
item.name != '110kV' &&
|
|
item.name != '35kV' &&
|
|
item.name != '500kV'
|
|
)
|
|
} else {
|
|
return list.filter((item: any) => item.name == str)
|
|
}
|
|
}
|
|
defineExpose({
|
|
setSearchValue,
|
|
setSearchType
|
|
})
|
|
</script>
|