现场修改电网一张图
This commit is contained in:
@@ -384,6 +384,9 @@ body,
|
||||
background: #fff;
|
||||
z-index: 2;
|
||||
}
|
||||
.bjs-powered-by{
|
||||
display: none;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'AlimamaFangYuanTiVF';
|
||||
|
||||
@@ -5,9 +5,10 @@
|
||||
<vxe-table v-bind="defaultAttribute" ref="vxeRef" height="320px" :data="tableData">
|
||||
<vxe-column field="devName" title="区域" />
|
||||
<vxe-column field="num" title="异常问题总数" />
|
||||
<vxe-column field="num" title="已关联工单数" />
|
||||
<vxe-column field="num" title="工单转换率(%)" />
|
||||
<vxe-column field="num" title="工单总数" />
|
||||
<!-- <vxe-column field="num" title="已关联工单数" /> -->
|
||||
<vxe-column field="num" title="工单转换率(%)" />
|
||||
|
||||
<vxe-column field="num" title="已处理工单数" />
|
||||
<vxe-column field="num" title="工单处置率(%)" />
|
||||
</vxe-table>
|
||||
|
||||
@@ -164,6 +164,7 @@ import {
|
||||
getEventDetailByLineId,
|
||||
getGridDiagramTargetData
|
||||
} from '@/api/device-boot/panorama'
|
||||
import { formatter } from 'element-plus'
|
||||
|
||||
const emit = defineEmits(['back'])
|
||||
const dropList: any = ref({})
|
||||
@@ -254,6 +255,9 @@ const open = async (id: string) => {
|
||||
},
|
||||
label: {
|
||||
normal: {
|
||||
formatter: () => {
|
||||
return num * 100 + '%'
|
||||
},
|
||||
textStyle: {
|
||||
fontSize: 20,
|
||||
color: '#000'
|
||||
@@ -323,6 +327,9 @@ const open = async (id: string) => {
|
||||
},
|
||||
label: {
|
||||
normal: {
|
||||
formatter: () => {
|
||||
return num * 100 + '%'
|
||||
},
|
||||
textStyle: {
|
||||
fontSize: 20,
|
||||
color: '#000'
|
||||
|
||||
@@ -103,6 +103,28 @@ const popupOffsets = ref({
|
||||
})
|
||||
const mapList: any = ref([])
|
||||
const flag = ref(true)
|
||||
const LngLat = [
|
||||
{
|
||||
name: '唐山',
|
||||
LngLat: [118.335849137, 39.7513593355]
|
||||
},
|
||||
{
|
||||
name: '张家口',
|
||||
LngLat: [115.032504679, 40.8951549951]
|
||||
},
|
||||
{
|
||||
name: '秦皇岛',
|
||||
LngLat: [119.185113833, 40.1179119754]
|
||||
},
|
||||
{
|
||||
name: '承德',
|
||||
LngLat: [117.548498365, 41.3775890632]
|
||||
},
|
||||
{
|
||||
name: '廊坊',
|
||||
LngLat: [116.628004129, 39.0589378611]
|
||||
}
|
||||
]
|
||||
import { getAssessOverview } from '@/api/device-boot/panorama'
|
||||
|
||||
narimap.Require(['PSRMap', 'Thematic', 'Components.Query', 'Components.RegionSelector'], () => {
|
||||
@@ -559,7 +581,6 @@ const addLayer = () => {
|
||||
// console.log(123, map.value.getCenter())
|
||||
|
||||
if (map.value.getZoom() > 8.5 || map.value.getZoom() < 6) {
|
||||
|
||||
rPopList.value.map((item: any) => item.remove())
|
||||
rPopList.value = []
|
||||
} else {
|
||||
@@ -568,7 +589,7 @@ const addLayer = () => {
|
||||
})
|
||||
}
|
||||
//添加多个监测点
|
||||
const addMarkers = async (row?: any, key?: any) => {
|
||||
const addMarkers = async (row?: any, key?: any, num?: any) => {
|
||||
if (map.value == null) return
|
||||
let params = {
|
||||
deptIndex: deptIndex.value,
|
||||
@@ -659,7 +680,7 @@ const addMarkers = async (row?: any, key?: any) => {
|
||||
type: 'FeatureCollection',
|
||||
features: []
|
||||
})
|
||||
if (key != undefined) map.value.easeTo({ zoom: 8.1 })
|
||||
if (key != undefined && num == undefined) map.value.easeTo({ zoom: 8.1 })
|
||||
|
||||
if (key == undefined) {
|
||||
map.value.getSource('spotImg-DW').setData({
|
||||
@@ -701,30 +722,7 @@ const addMarkers = async (row?: any, key?: any) => {
|
||||
}
|
||||
// 统计弹框数据
|
||||
const GridDiagramArea = () => {
|
||||
let List = [
|
||||
{
|
||||
name: '唐山',
|
||||
LngLat: [118.335849137, 39.7513593355]
|
||||
},
|
||||
{
|
||||
name: '张家口',
|
||||
LngLat: [115.032504679, 40.8951549951]
|
||||
},
|
||||
{
|
||||
name: '秦皇岛',
|
||||
LngLat: [119.185113833, 40.1179119754]
|
||||
},
|
||||
{
|
||||
name: '承德',
|
||||
LngLat: [117.548498365, 41.3775890632]
|
||||
},
|
||||
{
|
||||
name: '廊坊',
|
||||
LngLat: [116.628004129, 39.0589378611]
|
||||
}
|
||||
]
|
||||
|
||||
List.forEach((item: any) => {
|
||||
LngLat.forEach((item: any) => {
|
||||
assessList.value.forEach((y: any) => {
|
||||
if (item.name == y.name) {
|
||||
if (y.score == 3.14159) {
|
||||
@@ -763,20 +761,22 @@ const radiusPop = (k?: number) => {
|
||||
}
|
||||
|
||||
mapList.value.forEach((item: any, i: number) => {
|
||||
console.log('🚀 ~ mapList.value.forEach ~ item:', item.LngLat)
|
||||
let infoText = ''
|
||||
|
||||
if (PopKey.value == 0) {
|
||||
// 监测点
|
||||
infoText = `<img src="${new URL(`@/assets/img/JCD-ZS.png`, import.meta.url)}" />
|
||||
<div class="infoBox">
|
||||
<div id="clickZs${i}" data-line="${item.lineList}" data-alarm="${
|
||||
item.alarmList
|
||||
}" data-key="0">总数<br/>${item.lineNum}</div>
|
||||
<div id="clickZx${i}" data-alarm="${item.onlineList}" data-key="0">在线<br/>${
|
||||
item.onlineNum
|
||||
}</div>
|
||||
<div id="clickGj${i}" data-line="" data-alarm="${item.alarmList}" data-key="1">告警<br/>${
|
||||
item.alarm
|
||||
}</div>
|
||||
}" data-key="0" data-LngLat="${item.LngLat}">总数<br/>${item.lineNum}</div>
|
||||
<div id="clickZx${i}" data-alarm="${item.onlineList}" data-key="0" data-LngLat="${
|
||||
item.LngLat
|
||||
}">在线<br/>${item.onlineNum}</div>
|
||||
<div id="clickGj${i}" data-line="" data-alarm="${
|
||||
item.alarmList
|
||||
}" data-key="1" data-LngLat="${item.LngLat}">告警<br/>${item.alarm}</div>
|
||||
</div>`
|
||||
} else if (PopKey.value == 1) {
|
||||
// 变电站
|
||||
@@ -784,10 +784,10 @@ const radiusPop = (k?: number) => {
|
||||
<div class="infoBox">
|
||||
<div id="clickZs${i}" data-line="${item.lineList}" data-alarm="${
|
||||
item.alarmSubList
|
||||
}" data-key="1">总数<br/>${item.subNum}</div>
|
||||
<div id="clickGj${i}" data-line="" data-alarm="${item.alarmSubList}" data-key="1">告警<br/>${
|
||||
item.alarmSubNum
|
||||
}</div>
|
||||
}" data-key="1" data-LngLat="${item.LngLat}">总数<br/>${item.subNum}</div>
|
||||
<div id="clickGj${i}" data-line="" data-alarm="${
|
||||
item.alarmSubList
|
||||
}" data-key="1" data-LngLat="${item.LngLat}">告警<br/>${item.alarmSubNum}</div>
|
||||
</div>`
|
||||
} else if (PopKey.value == 2) {
|
||||
// 终端
|
||||
@@ -795,10 +795,10 @@ const radiusPop = (k?: number) => {
|
||||
<div class="infoBox">
|
||||
<div id="clickZs${i}" data-line="${item.lineList}" data-alarm="${
|
||||
item.onlineList
|
||||
}" data-key="2">总数<br/>${item.deviceNum}</div>
|
||||
<div id="clickGj${i}" data-line="" data-alarm="${item.onlineList}" data-key="2">在运<br/>${
|
||||
item.onDevice
|
||||
}</div>
|
||||
}" data-key="2" data-LngLat="${item.LngLat}">总数<br/>${item.deviceNum}</div>
|
||||
<div id="clickGj${i}" data-line="" data-alarm="${
|
||||
item.onlineList
|
||||
}" data-key="2" data-LngLat="${item.LngLat}">在运<br/>${item.onDevice}</div>
|
||||
</div>`
|
||||
}
|
||||
|
||||
@@ -823,28 +823,50 @@ const radiusPop = (k?: number) => {
|
||||
let html2: any = document.getElementById(`clickGj${i}`)
|
||||
if (html)
|
||||
html.onclick = function (v: any) {
|
||||
popMarkers(v.target.dataset.line?.split(','), v.target.dataset.alarm?.split(','), v.target.dataset.key)
|
||||
popMarkers(
|
||||
v.target.dataset.line?.split(','),
|
||||
v.target.dataset.alarm?.split(','),
|
||||
v.target.dataset.key,
|
||||
v.target.dataset.lnglat?.split(',')
|
||||
)
|
||||
}
|
||||
if (html1)
|
||||
html1.onclick = function (v: any) {
|
||||
popMarkers([], v.target.dataset.alarm?.split(','), v.target.dataset.key)
|
||||
popMarkers(
|
||||
[],
|
||||
v.target.dataset.alarm?.split(','),
|
||||
v.target.dataset.key,
|
||||
v.target.dataset.lnglat?.split(',')
|
||||
)
|
||||
}
|
||||
if (html2)
|
||||
html2.onclick = function (v: any) {
|
||||
|
||||
popMarkers([], v.target.dataset.alarm?.split(','), v.target.dataset.key)
|
||||
popMarkers(
|
||||
[],
|
||||
v.target.dataset.alarm?.split(','),
|
||||
v.target.dataset.key,
|
||||
v.target.dataset.lnglat?.split(',')
|
||||
)
|
||||
}
|
||||
})
|
||||
}
|
||||
// 点击弹框调用点加载
|
||||
const popMarkers = (coutList: any, alarmList: any, key: any) => {
|
||||
const popMarkers = (coutList: any, alarmList: any, key: any, LngLat: any) => {
|
||||
addMarkers(
|
||||
{
|
||||
coutList: coutList,
|
||||
alarmList: alarmList,
|
||||
type: 1
|
||||
},
|
||||
key
|
||||
key,
|
||||
0
|
||||
)
|
||||
|
||||
flyTo(
|
||||
{
|
||||
coordinate: LngLat
|
||||
},
|
||||
8.1
|
||||
)
|
||||
}
|
||||
|
||||
@@ -854,17 +876,11 @@ const locatePositions = (e: any) => {
|
||||
// 加载点
|
||||
addMarkers()
|
||||
|
||||
powerManageGridMap.value.drillDown(
|
||||
{
|
||||
powerManageGridMap.value.drillDown({
|
||||
// 判断超高压
|
||||
orgId:
|
||||
e.data.code == '1100F3DE246A6FADE050007F01006CBE'
|
||||
? '1100F3DE20806FADE050007F01006CBE'
|
||||
: e.data.code,
|
||||
orgId: e.data.code == '1100F3DE246A6FADE050007F01006CBE' ? '1100F3DE20806FADE050007F01006CBE' : e.data.code,
|
||||
onlyDisplay: true
|
||||
},
|
||||
|
||||
)
|
||||
})
|
||||
}
|
||||
}
|
||||
// 电网查询功能
|
||||
|
||||
@@ -113,7 +113,7 @@ const tableStore = new TableStore({
|
||||
buttons: [
|
||||
{
|
||||
name: 'productSetting',
|
||||
title: '入网设计方案审查',
|
||||
title: '入网设计方案申请',
|
||||
type: 'primary',
|
||||
icon: 'el-icon-EditPen',
|
||||
render: 'basicButton',
|
||||
@@ -123,7 +123,7 @@ const tableStore = new TableStore({
|
||||
},
|
||||
{
|
||||
name: 'productSetting',
|
||||
title: '治理工程验收',
|
||||
title: '治理工程申请',
|
||||
type: 'primary',
|
||||
icon: 'el-icon-EditPen',
|
||||
render: 'basicButton',
|
||||
|
||||
Reference in New Issue
Block a user