|
@@ -1,16 +1,20 @@
|
|
|
<script setup>
|
|
|
+ import {
|
|
|
+ defineAsyncComponent
|
|
|
+ } from 'vue';
|
|
|
import JtHeader from './components/header.vue';
|
|
|
import modifyModule from './components/modifyPassword.vue';
|
|
|
import ZhHeader from "./components/ZhHeader.vue";
|
|
|
import map3d from './components/map.vue';
|
|
|
- import basicLayer from './components/basicLayer.vue';
|
|
|
+ // import basicLayer from './components/basicLayer.vue';
|
|
|
+ const layer = defineAsyncComponent(() => import('./components/layer.vue'));
|
|
|
+ const basicLayer = defineAsyncComponent(() => import('./components/basicLayer.vue'));
|
|
|
import {
|
|
|
provide
|
|
|
} from "vue";
|
|
|
provide("getMapInstance", () => {
|
|
|
return jt3d;
|
|
|
});
|
|
|
-
|
|
|
</script>
|
|
|
<template>
|
|
|
<div class="Mainpage">
|
|
@@ -18,20 +22,29 @@
|
|
|
<!-- <JtHeader @handleSelect="handleSelect" /> -->
|
|
|
<ZhHeader></ZhHeader>
|
|
|
<map3d @onload="jtMap3DOnload" ref="refMap3d" class="map3d" />
|
|
|
- <!-- 底图组件 -->
|
|
|
- <basicLayer v-if="mapLoaded" style="display: none;" ref="basicLayers"></basicLayer>
|
|
|
- <!-- 控制路由页面是否缓存 -->
|
|
|
- <router-view v-slot="{ Component }" v-if="mapLoaded">
|
|
|
- <keep-alive>
|
|
|
- <component :is=" Component" v-if="$route.meta.keepAlive" />
|
|
|
- </keep-alive>
|
|
|
- <component :is="Component" v-if="!$route.meta.keepAlive" />
|
|
|
- </router-view>
|
|
|
+
|
|
|
+ <template v-if="mapLoaded">
|
|
|
+ <!-- 底图组件 -->
|
|
|
+ <basicLayer style="display: none;" ref="basicLayers"></basicLayer>
|
|
|
+
|
|
|
+ <!-- 图层列表 -->
|
|
|
+ <layer></layer>
|
|
|
+
|
|
|
+ <!-- 控制路由页面是否缓存 -->
|
|
|
+ <router-view v-slot="{ Component }">
|
|
|
+ <keep-alive>
|
|
|
+ <component :is=" Component" v-if="$route.meta.keepAlive" />
|
|
|
+ </keep-alive>
|
|
|
+ <component :is="Component" v-if="!$route.meta.keepAlive" />
|
|
|
+ </router-view>
|
|
|
+
|
|
|
+ </template>
|
|
|
+
|
|
|
|
|
|
<!-- 修改密码 -->
|
|
|
<!-- <modifyModule ref="modifyMoudle"></modifyModule> -->
|
|
|
</div>
|
|
|
-
|
|
|
+
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
@@ -46,7 +59,7 @@
|
|
|
/* 数据 */
|
|
|
data() {
|
|
|
return {
|
|
|
- mapLoaded:false,//保证地图加载完成,在加载子路由
|
|
|
+ mapLoaded: false, //保证地图加载完成,在加载子路由
|
|
|
}
|
|
|
},
|
|
|
|
|
@@ -59,24 +72,34 @@
|
|
|
jtMap3DOnload(map) {
|
|
|
jt3d = map;
|
|
|
this.mapLoaded = true;
|
|
|
- console.log('地图实例',jt3d)
|
|
|
+ console.log('地图实例', jt3d)
|
|
|
store.jt3d = jt3d
|
|
|
},
|
|
|
},
|
|
|
mounted() {
|
|
|
|
|
|
- }
|
|
|
+ },
|
|
|
+ beforeUnmount () {
|
|
|
+ console.log('重新设置一张图!!!')
|
|
|
+ localStorage.setItem("currenttab", "YzTtitle");
|
|
|
+ },
|
|
|
+ // beforeRouteLeave(to, from, next) {
|
|
|
+ // console.log(123)
|
|
|
+ // this.$unmounted();
|
|
|
+ // next();
|
|
|
+ // }
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
- .Mainpage{
|
|
|
+ .Mainpage {
|
|
|
position: relative;
|
|
|
top: 0;
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
}
|
|
|
- .map3d{
|
|
|
+
|
|
|
+ .map3d {
|
|
|
z-index: 5;
|
|
|
}
|
|
|
</style>
|