辽宁页面调整

This commit is contained in:
2026-06-22 15:50:31 +08:00
parent d85dba8bf8
commit 0c64711dd8
7 changed files with 80 additions and 25 deletions

View File

@@ -4,6 +4,10 @@ import request from '@/utils/request'
export function getSubLineGiveAnAlarm(data: any) { export function getSubLineGiveAnAlarm(data: any) {
return request({ url: '/harmonic-boot/gridDiagram/getSubLineGiveAnAlarm', method: 'post', data }) return request({ url: '/harmonic-boot/gridDiagram/getSubLineGiveAnAlarm', method: 'post', data })
} }
export function getAreaObjAlarm(data: any) {
return request({ url: '/harmonic-boot/gridDiagram/getAreaObjAlarm', method: 'post', data })
}
// 变电站详细列表 // 变电站详细列表
export function getPollutionAlarmPageData(data: any) { export function getPollutionAlarmPageData(data: any) {
return request({ url: '/harmonic-boot/gridDiagram/getPollutionAlarmPageData', method: 'post', data }) return request({ url: '/harmonic-boot/gridDiagram/getPollutionAlarmPageData', method: 'post', data })

View File

@@ -24,7 +24,7 @@
<template #dropdown> <template #dropdown>
<el-dropdown-menu> <el-dropdown-menu>
<el-dropdown-item command="adminInfo">个人资料</el-dropdown-item> <el-dropdown-item command="adminInfo">个人资料</el-dropdown-item>
<el-dropdown-item command="changePwd">修改密码</el-dropdown-item> <el-dropdown-item command="changePwd" v-if="!IS_LNQR">修改密码</el-dropdown-item>
<el-dropdown-item command="logout">退出登录</el-dropdown-item> <el-dropdown-item command="logout">退出登录</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</template> </template>

View File

@@ -504,14 +504,16 @@ const maintenance = (val: any) => {
id: val.tfIndex, id: val.tfIndex,
subId: val.subIndex subId: val.subIndex
}).then(res => { }).then(res => {
bind.value = res.data.bind bind.value = res.data.bind
treeMenuLeftData.value = res.data.upNode treeMenuLeftData.value = res.data.upNode
treeMenuRightData.value = res.data.downNode treeMenuRightData.value = res.data.downNode
setDisabled(treeMenuRightData.value) setDisabled(treeMenuRightData.value)
setDisabled(treeMenuLeftData.value) setDisabled(treeMenuLeftData.value)
isLoading3.value = false isLoading3.value = false
if (treeMenuLeftData.value && treeMenuLeftData.value.length > 0) { if (treeMenuLeftData.value && treeMenuLeftData.value.length > 0) {
treeMenuLeftData.value[0].children?.forEach(item => { /* treeMenuLeftData.value[0].children?.forEach(item => {
item.children?.forEach(item1 => { item.children?.forEach(item1 => {
item1.children?.forEach(item2 => { item1.children?.forEach(item2 => {
item2.children?.forEach(item3 => { item2.children?.forEach(item3 => {
@@ -523,21 +525,25 @@ const maintenance = (val: any) => {
}) })
}) })
}) })
}) })*/
menuTreeLeft.value?.setCheckedKeys([bind.value[0]])
maintenanceData.upNode = bind.value[0]
bindLevel.value = 5
} }
if (treeMenuRightData.value && treeMenuRightData.value.length > 0) { if (treeMenuRightData.value && treeMenuRightData.value.length > 0) {
treeMenuRightData.value[0].children?.forEach(item => { /* treeMenuRightData.value[0].children?.forEach(item => {
item.children?.forEach(item1 => { item.children?.forEach(item1 => {
item1.children?.forEach(item2 => { item1.children?.forEach(item2 => {
item2.children?.forEach(item3 => { item2.children?.forEach(item3 => {
if (item3.level != null) { if (item3.level != null) {
menuTreeRight.value?.setCheckedKeys([item3.id])
maintenanceData.downNode = item3.id
} }
}) })
}) })
}) })
}) })*/
menuTreeRight.value?.setCheckedKeys([bind.value[1]])
maintenanceData.downNode = bind.value[1]
} }
nodemaintenanceInformation.value = true nodemaintenanceInformation.value = true
}) })

View File

@@ -694,7 +694,7 @@ const rules = ref({
reporter: [{ required: true, message: '请输入填报人', trigger: 'blur' }], reporter: [{ required: true, message: '请输入填报人', trigger: 'blur' }],
reportDate: [{ required: true, message: '请选择填报日期', trigger: 'change' }], reportDate: [{ required: true, message: '请选择填报日期', trigger: 'change' }],
orgId: [{ required: true, message: '请选择填报部门', trigger: 'change' }], orgId: [{ required: true, message: '请选择填报部门', trigger: 'change' }],
stationId: [{ required: true, message: '请选择所属电站', trigger: 'change' }], //stationId: [{ required: true, message: '请选择所属电站', trigger: 'change' }],
expectedProductionDate: [{ required: true, message: '请选择工程预期投产日期', trigger: 'change' }], expectedProductionDate: [{ required: true, message: '请选择工程预期投产日期', trigger: 'change' }],
userType: [{ required: true, message: '清选择用户性质', trigger: 'change' }], userType: [{ required: true, message: '清选择用户性质', trigger: 'change' }],
city: [{ required: true, message: '请选择所在地市', trigger: 'change' }], city: [{ required: true, message: '请选择所在地市', trigger: 'change' }],

View File

@@ -89,7 +89,7 @@ const tableStore = new TableStore({
} }
}, },
{ field: 'city', title: '所在地市', minWidth: 80 }, { field: 'city', title: '所在地市', minWidth: 80 },
{ field: 'substation', title: '厂站名称', minWidth: 100 }, /* { field: 'substation', title: '厂站名称', minWidth: 100 },*/
{ field: 'projectName', title: '项目名称', minWidth: 170 }, { field: 'projectName', title: '项目名称', minWidth: 170 },
{ {
field: 'userType', field: 'userType',
@@ -103,6 +103,7 @@ const tableStore = new TableStore({
// { field: 'responsibleDepartment', title: '归口管理部门', minWidth: 130 }, // { field: 'responsibleDepartment', title: '归口管理部门', minWidth: 130 },
{ field: 'ratePower', title: '装机容量(MW)', minWidth: 130 }, { field: 'ratePower', title: '装机容量(MW)', minWidth: 130 },
{ field: 'stationId', title: '所属电站', minWidth: 130 },
{ {
field: 'createBy', field: 'createBy',
title: '创建人', title: '创建人',

View File

@@ -29,7 +29,7 @@
<el-tab-pane label="稳态指标合格率" name="2" lazy v-if="!isReload"> <el-tab-pane label="稳态指标合格率" name="2" lazy v-if="!isReload">
<Wentaizhibiaohegelv v-if="activeName == '2'" /> <Wentaizhibiaohegelv v-if="activeName == '2'" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="稳态数据分析" name="3" lazy v-if="!isReload"> <el-tab-pane label="稳态数据分析" name="3" lazy v-if="!isReload && !IS_LNQR">
<Wentaishujufenxi v-if="activeName == '3'" /> <Wentaishujufenxi v-if="activeName == '3'" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="谐波频谱" name="4" lazy v-if="!isReload"> <el-tab-pane label="谐波频谱" name="4" lazy v-if="!isReload">
@@ -41,7 +41,7 @@
<el-tab-pane label="监测点运行状态" name="6" lazy v-if="!isReload"> <el-tab-pane label="监测点运行状态" name="6" lazy v-if="!isReload">
<Yunxingzhuangtai v-if="activeName == '6'" /> <Yunxingzhuangtai v-if="activeName == '6'" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="实时数据" name="7" lazy v-if="!isReload && !VITE_FLAG1"> <el-tab-pane label="实时数据" name="7" lazy v-if="!isReload && !VITE_FLAG1 && !IS_LNQR">
<Shishishuju v-if="activeName == '7'" /> <Shishishuju v-if="activeName == '7'" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="统计报表" name="8" lazy v-if="!isReload && VITE_FLAG"> <el-tab-pane label="统计报表" name="8" lazy v-if="!isReload && VITE_FLAG">
@@ -77,6 +77,8 @@ import { useRoute } from 'vue-router'
import StatisticalReport from './statisticalReport/index.vue' import StatisticalReport from './statisticalReport/index.vue'
const VITE_FLAG = import.meta.env.VITE_NAME == 'jibei' const VITE_FLAG = import.meta.env.VITE_NAME == 'jibei'
const VITE_FLAG1 = import.meta.env.VITE_NAME == 'hainan' const VITE_FLAG1 = import.meta.env.VITE_NAME == 'hainan'
// 环境标识
const IS_LNQR = import.meta.env.VITE_NAME === 'LNqr'
import router from '@/router' import router from '@/router'
import { useMonitoringPoint } from '@/stores/monitoringPoint' import { useMonitoringPoint } from '@/stores/monitoringPoint'
import { id } from 'element-plus/es/locale' import { id } from 'element-plus/es/locale'

View File

@@ -10,8 +10,7 @@
<img src="@/assets/img/FGX.png" /> <img src="@/assets/img/FGX.png" />
</div> </div>
<div style="display: flex"> <div style="display: flex">
<div v-for="(item, i) in list" class="cardBox" :style="i == 1 ? 'flex:1.3' : ''"> <div v-for="(item, i) in list" class="cardBox" :style="i == 1 ? 'flex:1.2' : i === 2 ? 'flex: 1.3' : ''"> <div class="card">
<div class="card">
<span style="cursor: pointer" @click="GridDiagram(i)">{{ item.title }}</span> <span style="cursor: pointer" @click="GridDiagram(i)">{{ item.title }}</span>
<span <span
:style="`color: ${item.color[0]}; cursor:pointer`" :style="`color: ${item.color[0]}; cursor:pointer`"
@@ -30,7 +29,7 @@
</div> </div>
<!-- 监测规模 列表 --> <!-- 监测规模 列表 -->
<div> <div>
<div class="vcl mt5"> <div class="vcl mt2">
<p <p
v-for="(item, i) in vList" v-for="(item, i) in vList"
:style="i == 0 ? 'width: 60px' : i == vList?.length - 1 ? 'width: 32px' : 'flex:1'" :style="i == 0 ? 'width: 60px' : i == vList?.length - 1 ? 'width: 32px' : 'flex:1'"
@@ -69,16 +68,16 @@
</div> </div>
</div> </div>
<!-- 监测点指标统计 --> <!-- 监测点指标统计 -->
<div :style="`height:calc(${boxHeight.height} + 50px)`"> <div :style="`height:calc(${boxHeight.height} + 10px)`" >
<div class="title"> <div class="title">
<span>监测点指标统计</span> <span>监测点指标统计</span>
</div> </div>
<div style="display: flex" class="mt2"> <div style="display: flex" class="mt2">
<img src="@/assets/img/FGX.png" /> <img src="@/assets/img/FGX.png" />
</div> </div>
<div :style="`height:calc(${boxHeight.height} + 20px);overflow-y: auto;`"> <div :style="`height:calc(${boxHeight.height} );overflow-y: auto;`">
<div v-for="item in countList"> <div v-for="item in countList">
<div class="title mt5" style="font-weight: 500"> <div class="title mt3" style="font-weight: 500">
<img src="@/assets/img/TJ.png" /> <img src="@/assets/img/TJ.png" />
{{ item.title }} {{ item.title }}
</div> </div>
@@ -110,7 +109,7 @@
</div> </div>
</div> </div>
<!-- 监测点指标统计 --> <!-- 监测点指标统计 -->
<div :style="`height:calc(${boxHeight.height} - 55px)`"> <div :style="`height:calc(${boxHeight.height} - 75px)`" class="mt20">
<div class="title"> <div class="title">
<span>监测运行统计</span> <span>监测运行统计</span>
</div> </div>
@@ -178,7 +177,7 @@ import {
getGridDiagramMonitor, getGridDiagramMonitor,
getGridDiagramDev, getGridDiagramDev,
getGridDiagramStatistics, getGridDiagramStatistics,
getGridDiagramRunData getGridDiagramRunData, getAreaObjAlarm
} from '@/api/device-boot/panorama' } from '@/api/device-boot/panorama'
const emit = defineEmits(['LookMap', 'GridDiagram']) const emit = defineEmits(['LookMap', 'GridDiagram'])
const dictData = useDictData() const dictData = useDictData()
@@ -187,6 +186,43 @@ const standRef = ref()
const terminalRef = ref() const terminalRef = ref()
const pointRef = ref() const pointRef = ref()
const list: any = ref([ const list: any = ref([
{
title: '场站',
color: ['#000', '#bd3124'],
list: [
{
numOne: 0,
numTwo: 0,
numOneList: [],
numTwoList: []
},
{
numOne: 0,
numTwo: 0,
numOneList: [],
numTwoList: []
},
{
numOne: 0,
numTwo: 0,
numOneList: [],
numTwoList: []
},
{
numOne: 0,
numTwo: 0,
numOneList: [],
numTwoList: []
},
{
numOne: 0,
numTwo: 0,
numOneList: [],
numTwoList: []
}
]
},
{ {
title: '变电站', title: '变电站',
color: ['#000', '#bd3124'], color: ['#000', '#bd3124'],
@@ -383,8 +419,8 @@ const info = async (row: any) => {
countList.value[0].title = row.areaName countList.value[0].title = row.areaName
formRow.value = form formRow.value = form
vList.value = [''] vList.value = ['']
// 变电站
getSubLineGiveAnAlarm(form).then(res => { getAreaObjAlarm(form).then(res => {
let data = row.isUpToGrid == 1 ? res.data.gwInfo : res.data.info let data = row.isUpToGrid == 1 ? res.data.gwInfo : res.data.info
data[0].data.forEach((item: any) => { data[0].data.forEach((item: any) => {
if (item.columnName) vList.value.push(panoramicVoltage.find((v: any) => v.id == item.columnName).name) if (item.columnName) vList.value.push(panoramicVoltage.find((v: any) => v.id == item.columnName).name)
@@ -392,16 +428,22 @@ const info = async (row: any) => {
vList.value.push('') vList.value.push('')
list.value[0].list = data[0].data list.value[0].list = data[0].data
}) })
// 变电站
getSubLineGiveAnAlarm(form).then(res => {
let data = row.isUpToGrid == 1 ? res.data.gwInfo : res.data.info
list.value[1].list = data[0].data
})
// 终端 // 终端
getGridDiagramDev(form).then(res => { getGridDiagramDev(form).then(res => {
let data = row.isUpToGrid == 1 ? res.data.gwInfo : res.data.info let data = row.isUpToGrid == 1 ? res.data.gwInfo : res.data.info
list.value[1].list = data[0].data list.value[2].list = data[0].data
}) })
// 监测点 // 监测点
await getGridDiagramMonitor(form).then(res => { await getGridDiagramMonitor(form).then(res => {
let data = row.isUpToGrid == 1 ? res.data.gwInfo : res.data.info let data = row.isUpToGrid == 1 ? res.data.gwInfo : res.data.info
list.value[2].list = data[0].data.map((item: any) => { list.value[3].list = data[0].data.map((item: any) => {
return { return {
numOne: item.num, numOne: item.num,
numTwo: item.onLineNum, numTwo: item.onLineNum,
@@ -464,12 +506,12 @@ defineExpose({ info, show })
.card { .card {
justify-content: center; justify-content: center;
margin-top: 15px; margin-top: 1px;
margin-right: 2%; margin-right: 2%;
display: flex; display: flex;
flex: 1; flex: 1;
align-items: center; align-items: center;
font-size: 16px; font-size: 15px;
span:nth-child(2) { span:nth-child(2) {
font-weight: 550; font-weight: 550;