地图初始化

This commit is contained in:
13218645326 2023-11-30 20:18:54 +08:00
parent 1cb5730580
commit ad9d34e2f9
10 changed files with 65 additions and 93515 deletions

View File

@ -5,12 +5,12 @@
</div> </div>
<div class="e_content"> <div class="e_content">
<div class="left_nav_list"> <div class="left_nav_list">
<div class="nav_item" v-for="(item, index) in navInfo.list" :key="index"> <div class="nav_item" v-for="(item, index) in navInfo.list" :key="index" @click="toNavItem(item)">
{{ item.text }} {{ item.text }}
</div> </div>
</div> </div>
<div class="right_map_container"> <div class="right_map_container">
<mapEcharts :itemStyle="mapProps.itemStyle" :emphasisLabelStyle="mapProps.emphasisLabelStyle" <mapEcharts ref="mapEchartsRef" :jsonData="mapProps.jsonData" :itemStyle="mapProps.itemStyle" :emphasisLabelStyle="mapProps.emphasisLabelStyle"
:emphasisItemStyle="mapProps.emphasisItemStyle" :labelInfo="mapProps.labelInfo" :emphasisItemStyle="mapProps.emphasisItemStyle" :labelInfo="mapProps.labelInfo"
:rippleEffect="mapProps.rippleEffect" :tooltipProps="mapProps.tooltipProps" :rippleEffect="mapProps.rippleEffect" :tooltipProps="mapProps.tooltipProps"
:tooltipFormat="mapProps.tooltipFormat" :itemColorFormat="mapProps.itemColorFormat" :tooltipFormat="mapProps.tooltipFormat" :itemColorFormat="mapProps.itemColorFormat"
@ -52,49 +52,65 @@
import { getImg } from "@/utils/index" import { getImg } from "@/utils/index"
import mapEcharts from "../echartsCom/mapEcharts.vue" import mapEcharts from "../echartsCom/mapEcharts.vue"
import equipmentDialog from "./equipmentDialog.vue" import equipmentDialog from "./equipmentDialog.vue"
import xnallJSON from './mapData/xnall.json'
import gxJSON from './mapData/gx.json'
import gdJSON from './mapData/gd.json'
import gzJSON from './mapData/gz.json'
import ynJSON from './mapData/yn.json'
const mapEchartsRef = ref()
const navInfo = reactive({ const navInfo = reactive({
list: [ list: [
{ {
text: "全部", text: "全部",
navId: "" navId: "0",
jsonData:xnallJSON
}, },
{ {
text: "广西电网", text: "广西电网",
navId: "" navId: "1",
jsonData:gxJSON
}, },
{ {
text: "广东电网", text: "广东电网",
navId: "" navId: "2",
jsonData:gdJSON
}, },
{ {
text: "贵州电网", text: "贵州电网",
navId: "" navId: "3",
jsonData:gzJSON
}, },
{ {
text: "云南电网", text: "云南电网",
navId: "" navId: "4",
jsonData:ynJSON
}, },
{ {
text: "海南电网", text: "海南电网",
navId: "" navId: "5",
jsonData:xnallJSON
}, },
{ {
text: "储能公司", text: "储能公司",
navId: "" navId: "6",
}, },
{ {
text: "深圳供电局", text: "深圳供电局",
navId: "" navId: "7"
}, },
{ {
text: "超高压公司", text: "超高压公司",
navId: "" navId: "8"
} }
] ]
}) })
const mapProps = reactive({ const mapProps = reactive({
idType:"0",
jsonData:{
},
itemStyle: { itemStyle: {
areaColor: '#186894',// areaColor: '#186894',//
shadowColor: '#2894c9',// shadowColor: '#2894c9',//
@ -200,6 +216,17 @@ const mapDataByProvice = (provinceName: String) => {
const curItem: any = listData.find(ele => ele.name == provinceName) const curItem: any = listData.find(ele => ele.name == provinceName)
return curItem return curItem
} }
const toNavItem=(item:any)=>{
console.log("item",item)
mapProps.jsonData= item.jsonData
mapProps.idType=item.navId
mapEchartsRef.value.chagneJSON(item)
}
onBeforeMount(()=>{
mapProps.jsonData= xnallJSON
})
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,16 +1,26 @@
<template> <template>
<div ref="mapEcharts" style="width: 100%;height: 100%;"></div> <div :id="'mapEcharts'+idType" style="width: 100%;height: 100%;"></div>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import * as echarts from 'echarts' import * as echarts from 'echarts'
import gdGxJSON from './xnall.json'
const mapEcharts = ref(null) const mapEcharts = ref(null)
const getImg = () => { const getImg = () => {
return new URL(`/src/components/echartsCom/img/hover_bg.png`, import.meta.url).href; return new URL(`/src/components/echartsCom/img/hover_bg.png`, import.meta.url).href;
} }
const propsVal = defineProps({ const propsVal:any = defineProps({
idType:{
type:String,
default:'0'
},
jsonData:{
type: Object,
default: {
}
},
title: {// title: {//
type: Object, type: Object,
default: { default: {
@ -80,9 +90,10 @@ const propsVal = defineProps({
} }
}) })
const initEcharts = () => { const initEcharts = () => {
echarts.registerMap('guangdong', gdGxJSON) echarts.registerMap('guangdong', propsVal.jsonData)
nextTick(() => { nextTick(() => {
const map = echarts.init(mapEcharts.value, null, { const domitem= document.getElementById("mapEcharts"+propsVal.idType)
const map = echarts.init(domitem, null, {
renderer: 'canvas', renderer: 'canvas',
}) })
const option = { const option = {
@ -200,6 +211,17 @@ onMounted(() => {
initEcharts() initEcharts()
}) })
const chagneJSON=(item:any)=>{
console.log("propsval", propsVal)
propsVal.idType=item.navId
setTimeout(()=>{
initEcharts()
})
}
defineExpose({
chagneJSON
})
</script> </script>
<style scoped> <style scoped>

File diff suppressed because it is too large Load Diff