MainView.vue 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <script setup>
  2. import JtHeader from './components/header.vue';
  3. import modifyModule from './components/modifyPassword.vue';
  4. import ZhHeader from "./components/ZhHeader.vue";
  5. import map3d from './components/map.vue';
  6. import {
  7. provide
  8. } from "vue";
  9. provide("getMapInstance", () => {
  10. return jt3d;
  11. });
  12. </script>
  13. <template>
  14. <div class="Mainpage">
  15. <!-- 顶栏容器 -->
  16. <!-- <JtHeader @handleSelect="handleSelect" /> -->
  17. <ZhHeader></ZhHeader>
  18. <map3d @onload="jtMap3DOnload" ref="refMap3d" class="map3d" />
  19. <!-- 控制路由页面是否缓存 -->
  20. <router-view v-slot="{ Component }" v-if="mapLoaded">
  21. <keep-alive>
  22. <component :is=" Component" v-if="$route.meta.keepAlive" />
  23. </keep-alive>
  24. <component :is="Component" v-if="!$route.meta.keepAlive" />
  25. </router-view>
  26. <!-- 修改密码 -->
  27. <!-- <modifyModule ref="modifyMoudle"></modifyModule> -->
  28. </div>
  29. </template>
  30. <script>
  31. import {
  32. Store
  33. } from '@/store/index'
  34. let store = Store();
  35. let jt3d = undefined;
  36. export default {
  37. name: 'MainView',
  38. /* 数据 */
  39. data() {
  40. return {
  41. mapLoaded:false,//保证地图加载完成,在加载子路由
  42. }
  43. },
  44. /* 方法 */
  45. methods: {
  46. //修改密码弹出框事件
  47. modifyMoudle() {
  48. this.$refs.modifyMoudle.isshow = true
  49. },
  50. jtMap3DOnload(map) {
  51. jt3d = map;
  52. this.mapLoaded = true;
  53. console.log('地图实例',jt3d)
  54. store.jt3d = jt3d
  55. },
  56. },
  57. mounted() {
  58. }
  59. }
  60. </script>
  61. <style lang="scss" scoped>
  62. .Mainpage{
  63. position: relative;
  64. top: 0;
  65. width: 100%;
  66. height: 100%;
  67. }
  68. .map3d{
  69. z-index: 5;
  70. }
  71. </style>