电网一张图代码提交
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
NODE_ENV = jibei
|
NODE_ENV = jibei
|
||||||
VITE_NAME="jibei"
|
VITE_NAME="jibei"
|
||||||
# 电网一张图 地图图层
|
# 电网一张图 地图图层
|
||||||
VITE_NARIMAP="http://25.42.182.218/narimap/libs/narimap.umd.min.js"
|
VITE_NARIMAP="http://25.42.182.218/sgepriamapsdk/libs/narimap.umd.min.js"
|
||||||
VITE_NRGISCOMMON="http://25.42.182.218/narimap/libs/nrgis-common/libs/index.min.js"
|
# VITE_NRGISCOMMON="http://25.42.182.218/narimap/libs/nrgis-common/libs/index.min.js"
|
||||||
# <!-- <script src="http://25.42.182.218/narimap/libs/narimap.umd.min.js"></script>
|
# <!-- <script src="http://25.42.182.218/narimap/libs/narimap.umd.min.js"></script>
|
||||||
# <script src="http://25.42.182.218/narimap/libs/nrgis-common/libs/index.min.js"></script> -->
|
# <script src="http://25.42.182.218/narimap/libs/nrgis-common/libs/index.min.js"></script> -->
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
<!-- 冀北地图 -->
|
<!-- 冀北地图 -->
|
||||||
<!--引入样式文件-->
|
<!--引入样式文件-->
|
||||||
<script src="%VITE_NARIMAP%"></script>
|
<script src="%VITE_NARIMAP%"></script>
|
||||||
<script src="%VITE_NRGISCOMMON%"></script>
|
<!-- <script src="%VITE_NRGISCOMMON%"></script> -->
|
||||||
<body>
|
<body>
|
||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
<script type="module" src="/src/main.ts"></script>
|
<script type="module" src="/src/main.ts"></script>
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -3,12 +3,8 @@
|
|||||||
<DatePicker ref="datePickerRef" theCurrentTime style="display: none" />
|
<DatePicker ref="datePickerRef" theCurrentTime style="display: none" />
|
||||||
<!-- 搜索框 -->
|
<!-- 搜索框 -->
|
||||||
<div class="query-box-wrap">
|
<div class="query-box-wrap">
|
||||||
<el-input
|
<el-input v-model.trim="inputQuery" style="height: 46px; width: 334px" @keyup.enter="DeviceQ"
|
||||||
v-model.trim="inputQuery"
|
placeholder="请输入终端名称">
|
||||||
style="height: 46px; width: 334px"
|
|
||||||
@keyup.enter="DeviceQ"
|
|
||||||
placeholder="请输入终端名称"
|
|
||||||
>
|
|
||||||
<template #prefix>
|
<template #prefix>
|
||||||
<div class="Icon"></div>
|
<div class="Icon"></div>
|
||||||
</template>
|
</template>
|
||||||
@@ -30,12 +26,9 @@
|
|||||||
<span class="ml10" style="color: #0d867f">{{ item.count }}</span>
|
<span class="ml10" style="color: #0d867f">{{ item.count }}</span>
|
||||||
</template>
|
</template>
|
||||||
<div class="collapseBox">
|
<div class="collapseBox">
|
||||||
<div
|
<div class="group-list__item"
|
||||||
class="group-list__item"
|
|
||||||
:style="colorKey == k.coordinate ? 'background-color: #009ea81a;' : ''"
|
:style="colorKey == k.coordinate ? 'background-color: #009ea81a;' : ''"
|
||||||
v-for="k in item.psrList"
|
v-for="k in item.psrList" @click="flyTo(k)">
|
||||||
@click="flyTo(k)"
|
|
||||||
>
|
|
||||||
<p>{{ k.psrName }}</p>
|
<p>{{ k.psrName }}</p>
|
||||||
<p>{{ k.vlevelName }}|{{ k.maintOrgName }}</p>
|
<p>{{ k.vlevelName }}|{{ k.maintOrgName }}</p>
|
||||||
</div>
|
</div>
|
||||||
@@ -43,169 +36,112 @@
|
|||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
</el-collapse>
|
</el-collapse>
|
||||||
|
|
||||||
<div
|
<div v-if="QueryList.length > 0 && !showCollapse" class="collapse_none" style="color: #009ea8"
|
||||||
v-if="QueryList.length > 0 && !showCollapse"
|
@click="showCollapse = true">
|
||||||
class="collapse_none"
|
|
||||||
style="color: #009ea8"
|
|
||||||
@click="showCollapse = true"
|
|
||||||
>
|
|
||||||
展开搜索结果
|
展开搜索结果
|
||||||
</div>
|
</div>
|
||||||
<div class="collapse_none" style="color: red; cursor: pointer" @click="showWrap = false">关闭</div>
|
<div class="collapse_none" style="color: red;cursor: pointer" @click="showWrap = false">关闭</div>
|
||||||
</div>
|
</div>
|
||||||
<baidu-map
|
<baidu-map class="map" :style="height" @ready="initMap" @zoomend='syncCenterAndZoom' :center="center"
|
||||||
class="map"
|
:zoom="zoomMap" :scroll-wheel-zoom='true' >
|
||||||
:style="height"
|
|
||||||
@ready="initMap"
|
|
||||||
@zoomend="syncCenterAndZoom"
|
|
||||||
:center="center"
|
|
||||||
:zoom="zoomMap"
|
|
||||||
:scroll-wheel-zoom="true"
|
|
||||||
>
|
|
||||||
<!-- 线-->
|
<!-- 线-->
|
||||||
<div v-if="zoom > 13">
|
<div v-if='zoom > 13'>
|
||||||
<bm-polyline :path="path" v-for="(path, index) in polyline" :key="index"></bm-polyline>
|
<bm-polyline :path='path' v-for='(path, index) in polyline' :key='index'></bm-polyline>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<!-- 变电站-->
|
<!-- 变电站-->
|
||||||
<template v-if="zoom > 13">
|
<template v-if='zoom > 13'>
|
||||||
<bm-marker
|
<bm-marker :position='path' v-for='path in siteList' :key='path.subId' :icon='path.icon'
|
||||||
:position="path"
|
@click='markerClick(path)'></bm-marker>
|
||||||
v-for="path in siteList"
|
|
||||||
:key="path.subId"
|
|
||||||
:icon="path.icon"
|
|
||||||
@click="markerClick(path)"
|
|
||||||
></bm-marker>
|
|
||||||
</template>
|
</template>
|
||||||
<!-- 点 -->
|
<!-- 点 -->
|
||||||
<div :maxZoom="12" v-if="zoom > 9">
|
<div :maxZoom='12' v-if='zoom > 9'>
|
||||||
<bm-marker
|
<bm-marker :position='path' v-for='path in areaLineInfo' :key='path.lineId' :icon='path.icon'
|
||||||
:position="path"
|
@click='markerClick(path)' :zIndex="1">
|
||||||
v-for="path in areaLineInfo"
|
|
||||||
:key="path.lineId"
|
<bm-label v-if='zoom > 14' :content="path.lineName"
|
||||||
:icon="path.icon"
|
:labelStyle="{ color: '#fff', border: '0px solid #fff', backgroundColor: 'rgba(0, 0, 0, 0.5)', borderRadius: '10px', padding: '2px 5px', fontSize: '12px', lineHeight: '15px', transform: 'translateX(-30%)' }"
|
||||||
@click="markerClick(path)"
|
:offset="{ height: 33 }" />
|
||||||
:zIndex="1"
|
|
||||||
>
|
|
||||||
<bm-label
|
|
||||||
v-if="zoom > 14"
|
|
||||||
:content="path.lineName"
|
|
||||||
:labelStyle="{
|
|
||||||
color: '#fff',
|
|
||||||
border: '0px solid #fff',
|
|
||||||
backgroundColor: 'rgba(0, 0, 0, 0.5)',
|
|
||||||
borderRadius: '10px',
|
|
||||||
padding: '2px 5px',
|
|
||||||
fontSize: '12px',
|
|
||||||
lineHeight: '15px',
|
|
||||||
transform: 'translateX(-30%)'
|
|
||||||
}"
|
|
||||||
:offset="{ height: 33 }"
|
|
||||||
/>
|
|
||||||
</bm-marker>
|
</bm-marker>
|
||||||
</div>
|
</div>
|
||||||
<!-- 详情 -->
|
<!-- 详情 -->
|
||||||
<bm-marker :position="infoWindowPoint" :icon="{ url: '1', size: { width: 0, height: 0 } }">
|
<bm-marker :position='infoWindowPoint' :icon="{ url: '1', size: { width: 0, height: 0 } }">
|
||||||
<bm-info-window :show="infoWindowPoint.show" @close="infoWindowPoint.show = false">
|
<bm-info-window :show='infoWindowPoint.show' @close='infoWindowPoint.show = false'>
|
||||||
<el-descriptions :title="infoWindowPoint.lineName" :column="1" v-if="infoWindowPoint.lineId">
|
<el-descriptions :title='infoWindowPoint.lineName' :column='1' v-if='infoWindowPoint.lineId'>
|
||||||
<el-descriptions-item label="供电公司">{{ infoWindowPoint.gdName }}</el-descriptions-item>
|
<el-descriptions-item label='供电公司'>{{ infoWindowPoint.gdName }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="变电站(场站)">{{ infoWindowPoint.subName }}</el-descriptions-item>
|
<el-descriptions-item label='变电站'>{{ infoWindowPoint.subName }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="母线">{{ infoWindowPoint.voltageName }}</el-descriptions-item>
|
<el-descriptions-item label='母线'>{{ infoWindowPoint.voltageName }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="网络参数">
|
<el-descriptions-item label='网络参数'>
|
||||||
{{ infoWindowPoint.ip }}
|
{{ infoWindowPoint.ip }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="PT变化">{{ infoWindowPoint.pt2 }}</el-descriptions-item>
|
<el-descriptions-item label='PT变化'>{{ infoWindowPoint.pt2 }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="CT变化">{{ infoWindowPoint.ct2 }}</el-descriptions-item>
|
<el-descriptions-item label='CT变化'>{{ infoWindowPoint.ct2 }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="生产厂家">
|
<el-descriptions-item label='生产厂家'>
|
||||||
{{ infoWindowPoint.manufacturer }}
|
{{ infoWindowPoint.manufacturer }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="终端状态">
|
<el-descriptions-item label='终端状态'>
|
||||||
{{
|
{{
|
||||||
infoWindowPoint.runFlag == 0 ? '投运' : infoWindowPoint.runFlag == 1 ? '检修' : '停运'
|
infoWindowPoint.runFlag == 0 ? '投运' : infoWindowPoint.runFlag == 1 ? '热备用' : '停运'
|
||||||
}}
|
}}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="通讯状态">
|
<el-descriptions-item label='通讯状态'>
|
||||||
{{ infoWindowPoint.comFlag == 0 ? '中断' : '正常' }}
|
{{ infoWindowPoint.comFlag == 0 ? '中断' : '正常' }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item>
|
<el-descriptions-item>
|
||||||
<el-button type="primary" size="small" @click="lookPoint(infoWindowPoint)">
|
<el-button type='primary' size='small' @click='lookPoint(infoWindowPoint)'>查看详情</el-button>
|
||||||
查看详情
|
|
||||||
</el-button>
|
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
<el-descriptions
|
<el-descriptions :title='infoWindowPoint.subName' :column='1' v-else-if='infoWindowPoint.subId'
|
||||||
:title="infoWindowPoint.subName"
|
style='padding-top: 10px'></el-descriptions>
|
||||||
:column="1"
|
|
||||||
v-else-if="infoWindowPoint.subId"
|
|
||||||
style="padding-top: 10px"
|
|
||||||
></el-descriptions>
|
|
||||||
</bm-info-window>
|
</bm-info-window>
|
||||||
</bm-marker>
|
</bm-marker>
|
||||||
<!-- 行政区划 -->
|
<!-- 行政区划 -->
|
||||||
<div v-if="zoom <= 11">
|
<div v-if='zoom <= 11'>
|
||||||
<div v-for="item in AreaData">
|
<div v-for="item in AreaData">
|
||||||
<bm-polygon
|
<bm-polygon v-for="timeK in item.boundary" :path="timeK" :strokeWeight="2" strokeColor="#fff"
|
||||||
v-for="timeK in item.boundary"
|
:strokeOpacity="1" :fillColor="item.background || ''" :fillOpacity="0.5"></bm-polygon>
|
||||||
:path="timeK"
|
|
||||||
:strokeWeight="2"
|
|
||||||
strokeColor="#0e8780"
|
|
||||||
:strokeOpacity="1"
|
|
||||||
:fillColor="item.background || ''"
|
|
||||||
:fillOpacity="0.5"
|
|
||||||
></bm-polygon>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 信息弹框 -->
|
<!-- 信息弹框 -->
|
||||||
<div v-if="zoom <= 9">
|
<div v-if='zoom <= 9'>
|
||||||
<bm-overlay
|
<bm-overlay v-for="item in AreaData" pane="labelPane" :class="{ sample: true, }"
|
||||||
v-for="item in AreaData"
|
@draw="draw($event, item.LngLat)">
|
||||||
pane="labelPane"
|
|
||||||
:class="{ sample: true }"
|
|
||||||
@draw="draw($event, item.LngLat)"
|
|
||||||
>
|
|
||||||
<div class="my-radiusPop" :style="{ background: item.background }">
|
<div class="my-radiusPop" :style="{ background: item.background }">
|
||||||
<img :src="PopKey == 2 ? imgUrl2 : PopKey == 1 ? imgUrl1 : PopKey == 0 ? imgUrl0 : ''" />
|
<img :src="PopKey == 2 ? imgUrl2 : PopKey == 1 ? imgUrl1 : PopKey == 0 ? imgUrl0 : ''" />
|
||||||
<div class="infoBox">
|
<div class="infoBox">
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
总数
|
总数<br />{{ PopKey == 2 ? item.lineNum : PopKey == 1 ? item.deviceNum : PopKey == 0 ?
|
||||||
<br />
|
item.subNum :
|
||||||
{{
|
'/' }}
|
||||||
PopKey == 2
|
|
||||||
? item.lineNum
|
|
||||||
: PopKey == 1
|
|
||||||
? item.deviceNum
|
|
||||||
: PopKey == 0
|
|
||||||
? item.subNum
|
|
||||||
: '/'
|
|
||||||
}}
|
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
{{ PopKey == 2 ? '在线' : PopKey == 1 ? '在运' : '告警' }}
|
{{ PopKey == 2 ? '在线' : PopKey == 1 ? '在运' : '告警' }}<br />{{ PopKey == 2 ?
|
||||||
<br />
|
item.onlineNum :
|
||||||
{{
|
PopKey
|
||||||
PopKey == 2
|
== 1
|
||||||
? item.onlineNum
|
?
|
||||||
: PopKey == 1
|
item.alarmSubNum : PopKey == 0 ?
|
||||||
? item.alarmSubNum
|
item.onDevice : '/' }}
|
||||||
: PopKey == 0
|
|
||||||
? item.onDevice
|
|
||||||
: '/'
|
|
||||||
}}
|
|
||||||
</div>
|
</div>
|
||||||
<div v-if="PopKey == 2">
|
<div v-if="PopKey == 2">
|
||||||
告警
|
告警<br />{{ PopKey == 2 ? item.alarm : PopKey == 1 ? item.xx : PopKey == 0 ? item.xx :
|
||||||
<br />
|
'/' }}
|
||||||
{{ PopKey == 2 ? item.alarm : PopKey == 1 ? item.xx : PopKey == 0 ? item.xx : '/' }}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</bm-overlay>
|
</bm-overlay>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</baidu-map>
|
</baidu-map>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang='ts'>
|
||||||
import { mainHeight } from '@/utils/layout'
|
import { mainHeight } from '@/utils/layout'
|
||||||
import { getAreaLineInfo } from '@/api/event-boot/areaInfo'
|
import { getAreaLineInfo } from '@/api/event-boot/areaInfo'
|
||||||
import { ref, reactive, onMounted } from 'vue'
|
import { ref, reactive, onMounted } from 'vue'
|
||||||
@@ -216,7 +152,7 @@ import { BaiduMap, BmOverlay } from 'vue-baidu-map-3x'
|
|||||||
import { getAssessOverview } from '@/api/device-boot/panorama'
|
import { getAssessOverview } from '@/api/device-boot/panorama'
|
||||||
import { getGridDiagramAreaData } from '@/api/device-boot/panorama'
|
import { getGridDiagramAreaData } from '@/api/device-boot/panorama'
|
||||||
const emit = defineEmits(['changeValue', 'drop', 'show'])
|
const emit = defineEmits(['changeValue', 'drop', 'show'])
|
||||||
import mapJson from './boundary'
|
import mapJson from './boundary';
|
||||||
const datePickerRef = ref()
|
const datePickerRef = ref()
|
||||||
const height = mainHeight(20)
|
const height = mainHeight(20)
|
||||||
// 页面中直接引入就可以
|
// 页面中直接引入就可以
|
||||||
@@ -225,7 +161,7 @@ const inputQuery: any = ref('')
|
|||||||
const QueryList: any = ref([])
|
const QueryList: any = ref([])
|
||||||
const activeName: any = ref(0)
|
const activeName: any = ref(0)
|
||||||
|
|
||||||
const zoomMap = ref(8.9)
|
const zoomMap = ref(8.8)
|
||||||
const colorKey = ref('')
|
const colorKey = ref('')
|
||||||
const showCollapse: any = ref(true)
|
const showCollapse: any = ref(true)
|
||||||
const showWrap: any = ref(false)
|
const showWrap: any = ref(false)
|
||||||
@@ -237,100 +173,30 @@ const imgUrl0 = new URL('@/assets/img/BDZ-ZS.png', import.meta.url).href
|
|||||||
const imgUrl1 = new URL('@/assets/img/ZD-ZS.png', import.meta.url).href
|
const imgUrl1 = new URL('@/assets/img/ZD-ZS.png', import.meta.url).href
|
||||||
const imgUrl2 = new URL('@/assets/img/JCD-ZS.png', import.meta.url).href
|
const imgUrl2 = new URL('@/assets/img/JCD-ZS.png', import.meta.url).href
|
||||||
const boundaryList: any = ref([
|
const boundaryList: any = ref([
|
||||||
// {
|
|
||||||
// orgName: '唐山',
|
|
||||||
// LngLat: [118.335849137, 39.7513593355],
|
|
||||||
// boundary: mapJson.tsJSON
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// orgName: '张家口',
|
|
||||||
// LngLat: [115.032504679, 40.8951549951],
|
|
||||||
// boundary: mapJson.zjkJSON
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// orgName: '秦皇岛',
|
|
||||||
// LngLat: [119.185113833, 40.1179119754],
|
|
||||||
// boundary: mapJson.qhdJSON
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// orgName: '承德',
|
|
||||||
// LngLat: [117.548498365, 41.3775890632],
|
|
||||||
// boundary: mapJson.cdJSON
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// orgName: '廊坊',
|
|
||||||
// LngLat: [116.628004129, 39.0589378611],
|
|
||||||
// boundary: mapJson.lfJSON
|
|
||||||
// }
|
|
||||||
{
|
{
|
||||||
orgName: '大连',
|
orgName: '唐山',
|
||||||
LngLat: [122.060077, 39.635794],
|
LngLat: [118.335849137, 39.7513593355],
|
||||||
boundary: mapJson['大连']
|
boundary: mapJson.tsJSON
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
orgName: '抚顺',
|
orgName: '张家口',
|
||||||
LngLat: [124.354599, 41.88962],
|
LngLat: [115.032504679, 40.8951549951],
|
||||||
boundary: mapJson['抚顺']
|
boundary: mapJson.zjkJSON
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
orgName: '沈阳',
|
orgName: '秦皇岛',
|
||||||
LngLat: [123.0389, 41.992993],
|
LngLat: [119.185113833, 40.1179119754],
|
||||||
boundary: mapJson['沈阳']
|
boundary: mapJson.qhdJSON
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
orgName: '丹东',
|
orgName: '承德',
|
||||||
LngLat: [124.585661, 40.645967],
|
LngLat: [117.548498365, 41.3775890632],
|
||||||
boundary: mapJson['丹东']
|
boundary: mapJson.cdJSON
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
orgName: '营口',
|
orgName: '廊坊',
|
||||||
LngLat: [122.225226, 40.433551],
|
LngLat: [116.628004129, 39.0589378611],
|
||||||
boundary: mapJson['营口']
|
boundary: mapJson.lfJSON
|
||||||
},
|
|
||||||
{
|
|
||||||
orgName: '盘锦',
|
|
||||||
LngLat: [121.875362, 41.075416],
|
|
||||||
boundary: mapJson['盘锦']
|
|
||||||
},
|
|
||||||
{
|
|
||||||
orgName: '铁岭',
|
|
||||||
LngLat: [124.229492, 42.731873],
|
|
||||||
boundary: mapJson['铁岭']
|
|
||||||
},
|
|
||||||
{
|
|
||||||
orgName: '朝阳',
|
|
||||||
LngLat: [119.640944, 41.39657],
|
|
||||||
boundary: mapJson['朝阳']
|
|
||||||
},
|
|
||||||
{
|
|
||||||
orgName: '葫芦岛',
|
|
||||||
LngLat: [119.850873, 40.728517],
|
|
||||||
boundary: mapJson['葫芦岛']
|
|
||||||
},
|
|
||||||
{
|
|
||||||
orgName: '锦州',
|
|
||||||
LngLat: [121.42, 41.58],
|
|
||||||
boundary: mapJson['锦州']
|
|
||||||
},
|
|
||||||
{
|
|
||||||
orgName: '阜新',
|
|
||||||
LngLat: [121.658585, 42.350951],
|
|
||||||
boundary: mapJson['阜新']
|
|
||||||
},
|
|
||||||
{
|
|
||||||
orgName: '本溪',
|
|
||||||
LngLat: [124.390785, 41.197021],
|
|
||||||
boundary: mapJson['本溪']
|
|
||||||
},
|
|
||||||
{
|
|
||||||
orgName: '辽阳',
|
|
||||||
LngLat: [123.090785, 41.297021],
|
|
||||||
boundary: mapJson['辽阳']
|
|
||||||
},
|
|
||||||
{
|
|
||||||
orgName: '鞍山',
|
|
||||||
LngLat: [122.808845, 40.840049],
|
|
||||||
boundary: mapJson['鞍山']
|
|
||||||
}
|
}
|
||||||
])
|
])
|
||||||
|
|
||||||
@@ -340,8 +206,7 @@ const siteList = ref<any>([])
|
|||||||
const polyline = ref<any>([])
|
const polyline = ref<any>([])
|
||||||
const lineId = ref('')
|
const lineId = ref('')
|
||||||
const center = ref({
|
const center = ref({
|
||||||
lng: 122.42588,
|
lng: 116.84428600000001, lat: 40.57707185292256
|
||||||
lat: 40.810977
|
|
||||||
})
|
})
|
||||||
const infoWindowPoint = ref<anyObj>({
|
const infoWindowPoint = ref<anyObj>({
|
||||||
lng: 0,
|
lng: 0,
|
||||||
@@ -349,9 +214,11 @@ const infoWindowPoint = ref<anyObj>({
|
|||||||
show: false
|
show: false
|
||||||
})
|
})
|
||||||
// 地图实例
|
// 地图实例
|
||||||
const initMap = async ({ BMap, map }: any) => {}
|
const initMap = async ({ BMap, map }: any) => {
|
||||||
|
}
|
||||||
// 加载点
|
// 加载点
|
||||||
const addMarkers = async (row?: any, key?: any, num?: any) => {
|
const addMarkers = async (row?: any, key?: any, num?: any) => {
|
||||||
|
|
||||||
let params = {
|
let params = {
|
||||||
deptIndex: deptIndex.value,
|
deptIndex: deptIndex.value,
|
||||||
monitorFlag: 2,
|
monitorFlag: 2,
|
||||||
@@ -442,12 +309,15 @@ const addMarkers = async (row?: any, key?: any, num?: any) => {
|
|||||||
siteList.value = list
|
siteList.value = list
|
||||||
// center.value.lng = areaLineInfo.value[0].lng
|
// center.value.lng = areaLineInfo.value[0].lng
|
||||||
// center.value.lat = areaLineInfo.value[0].lat
|
// center.value.lat = areaLineInfo.value[0].lat
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
// 获取zoom
|
// 获取zoom
|
||||||
const syncCenterAndZoom = (e: any) => {
|
const syncCenterAndZoom = (e: any) => {
|
||||||
zoom.value = e.target.getZoom()
|
zoom.value = e.target.getZoom()
|
||||||
}
|
}
|
||||||
const locatePositions = (e: any) => {
|
const locatePositions = (e: any) => {
|
||||||
|
|
||||||
deptIndex.value = e.data.id
|
deptIndex.value = e.data.id
|
||||||
// 加载点
|
// 加载点
|
||||||
addMarkers()
|
addMarkers()
|
||||||
@@ -468,18 +338,20 @@ const markerClick = (e: any) => {
|
|||||||
const lookPoint = (e: any) => {
|
const lookPoint = (e: any) => {
|
||||||
emit('drop', e.lineId)
|
emit('drop', e.lineId)
|
||||||
emit('show', true)
|
emit('show', true)
|
||||||
|
|
||||||
}
|
}
|
||||||
// 搜索
|
// 搜索
|
||||||
const DeviceQ = () => {
|
const DeviceQ = () => {
|
||||||
|
|
||||||
showCollapse.value = true
|
showCollapse.value = true
|
||||||
if (inputQuery.value.length == 0) return
|
if (inputQuery.value.length == 0) return
|
||||||
|
|
||||||
let list = []
|
let list = []
|
||||||
let regex = new RegExp(inputQuery.value, 'i')
|
let regex = new RegExp(inputQuery.value, 'i')
|
||||||
let data = areaLineInfo.value
|
let data = areaLineInfo.value.filter((item: any) => regex.test(item.lineName))
|
||||||
.filter((item: any) => regex.test(item.lineName))
|
|
||||||
.map((item: any) => {
|
.map((item: any) => {
|
||||||
return {
|
return {
|
||||||
|
|
||||||
psrName: item.lineName,
|
psrName: item.lineName,
|
||||||
vlevelName: item.voltageScale,
|
vlevelName: item.voltageScale,
|
||||||
maintOrgName: item.gdName,
|
maintOrgName: item.gdName,
|
||||||
@@ -488,6 +360,7 @@ const DeviceQ = () => {
|
|||||||
})
|
})
|
||||||
// data.replace(//s/g,',')
|
// data.replace(//s/g,',')
|
||||||
|
|
||||||
|
|
||||||
if (data.length > 0) {
|
if (data.length > 0) {
|
||||||
list.push({
|
list.push({
|
||||||
count: data.length,
|
count: data.length,
|
||||||
@@ -501,18 +374,21 @@ const DeviceQ = () => {
|
|||||||
|
|
||||||
// 定位
|
// 定位
|
||||||
const flyTo = (e: any, zoom?: number) => {
|
const flyTo = (e: any, zoom?: number) => {
|
||||||
|
|
||||||
let regex = new RegExp(e.psrName, 'i')
|
let regex = new RegExp(e.psrName, 'i')
|
||||||
center.value.lng = e.coordinate[0]
|
center.value.lng = e.coordinate[0]
|
||||||
center.value.lat = e.coordinate[1]
|
center.value.lat = e.coordinate[1]
|
||||||
if (zoom) {
|
if (zoom) { zoomMap.value = zoom }
|
||||||
zoomMap.value = zoom
|
else {
|
||||||
} else {
|
|
||||||
zoomMap.value = 15
|
zoomMap.value = 15
|
||||||
let data = areaLineInfo.value.filter((item: any) => regex.test(item.lineName))[0]
|
let data = areaLineInfo.value.filter((item: any) => regex.test(item.lineName))[0]
|
||||||
if (data) {
|
if (data) {
|
||||||
markerClick(data)
|
markerClick(data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
// 市级统计数据
|
// 市级统计数据
|
||||||
const grids = (row: any) => {
|
const grids = (row: any) => {
|
||||||
@@ -526,8 +402,8 @@ const grids = (row: any) => {
|
|||||||
isUpToGrid: row.isUpToGrid,
|
isUpToGrid: row.isUpToGrid,
|
||||||
monitorFlag: row.isUpToGrid == 0 ? null : row.isUpToGrid
|
monitorFlag: row.isUpToGrid == 0 ? null : row.isUpToGrid
|
||||||
}
|
}
|
||||||
AreaData.value = []
|
AreaData.value=[]
|
||||||
assessList.value = []
|
assessList.value=[]
|
||||||
// 综合评估
|
// 综合评估
|
||||||
getAssessOverview(form).then(res => {
|
getAssessOverview(form).then(res => {
|
||||||
assessList.value = res.data?.children
|
assessList.value = res.data?.children
|
||||||
@@ -540,29 +416,29 @@ const grids = (row: any) => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
const radiusPop = (k: any) => {
|
const radiusPop = (k: any) => {
|
||||||
console.log('🚀 ~ radiusPop ~ k:', k)
|
console.log("🚀 ~ radiusPop ~ k:", k)
|
||||||
if (k != undefined) PopKey.value = k
|
if (k != undefined) PopKey.value = k
|
||||||
}
|
}
|
||||||
const GridDiagramArea = () => {
|
const GridDiagramArea = () => {
|
||||||
boundaryList.value.forEach((item: any) => {
|
|
||||||
|
|
||||||
assessList.value &&
|
boundaryList.value.forEach((item: any) => {
|
||||||
assessList.value.forEach((y: any) => {
|
assessList.value.forEach((y: any) => {
|
||||||
if (item.orgName == y.name) {
|
if (item.orgName == y.name) {
|
||||||
if (y.score == 3.14159) {
|
|
||||||
} else if (y.score > 4.5) {
|
if (y.score == 3.14159) {
|
||||||
item.background = '#33996699'
|
} else if (y.score > 4.5) {
|
||||||
} else if (y.score > 4) {
|
item.background = '#33996699'
|
||||||
item.background = '#3399ff99'
|
} else if (y.score > 4) {
|
||||||
} else if (y.score > 3) {
|
item.background = '#3399ff99'
|
||||||
item.background = '#ffcc3399'
|
} else if (y.score > 3) {
|
||||||
} else if (y.score > 2) {
|
item.background = '#ffcc3399'
|
||||||
item.background = '#db088799'
|
} else if (y.score > 2) {
|
||||||
} else if (y.score > 0) {
|
item.background = '#db088799'
|
||||||
item.background = '#ff000099'
|
} else if (y.score > 0) {
|
||||||
}
|
item.background = '#ff000099'
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
|
})
|
||||||
AreaData.value.forEach((k: any, i: any) => {
|
AreaData.value.forEach((k: any, i: any) => {
|
||||||
if (item.orgName == k.orgName) {
|
if (item.orgName == k.orgName) {
|
||||||
for (let kk in item) {
|
for (let kk in item) {
|
||||||
@@ -577,7 +453,7 @@ const GridDiagramArea = () => {
|
|||||||
}, 0)
|
}, 0)
|
||||||
}
|
}
|
||||||
// 市级统计
|
// 市级统计
|
||||||
const draw = ({ el, BMap, map }, val = [0, 0]) => {
|
const draw = ({ el, BMap, map }, val) => {
|
||||||
const pixel = map.pointToOverlayPixel(new BMap.Point(val[0], val[1]))
|
const pixel = map.pointToOverlayPixel(new BMap.Point(val[0], val[1]))
|
||||||
el.style.left = pixel.x - 60 + 'px'
|
el.style.left = pixel.x - 60 + 'px'
|
||||||
el.style.top = pixel.y - 20 + 'px'
|
el.style.top = pixel.y - 20 + 'px'
|
||||||
@@ -587,7 +463,8 @@ const reset = () => {
|
|||||||
inputQuery.value = ''
|
inputQuery.value = ''
|
||||||
showWrap.value = false
|
showWrap.value = false
|
||||||
}
|
}
|
||||||
onMounted(() => {})
|
onMounted(() => {
|
||||||
|
})
|
||||||
defineExpose({ addMarkers, locatePositions, reset, grids, radiusPop, flyTo })
|
defineExpose({ addMarkers, locatePositions, reset, grids, radiusPop, flyTo })
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@@ -595,6 +472,7 @@ defineExpose({ addMarkers, locatePositions, reset, grids, radiusPop, flyTo })
|
|||||||
|
|
||||||
.map {
|
.map {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.query-box-wrap {
|
.query-box-wrap {
|
||||||
@@ -636,9 +514,7 @@ defineExpose({ addMarkers, locatePositions, reset, grids, radiusPop, flyTo })
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
:deep(.el-descriptions__cell) {
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
./cds.js./boundary
|
||||||
Reference in New Issue
Block a user