index.vue 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <script lang="ts" setup>
  2. import {AppMain, Navbar} from '@/layout/components/index.js'
  3. import AntvMap from '@/components/AntvMap/index.vue'
  4. let navbarHeight = '12vh'
  5. let theme = ''
  6. let navbarStyle = {height: navbarHeight}
  7. </script>
  8. <template>
  9. <div :style="{ '--current-color': theme }" class="app-wrapper">
  10. <antv-map class="floor-container"></antv-map>
  11. <!-- 顶部阴影 -->
  12. <div class="header-shade"></div>
  13. <!-- 底部阴影 -->
  14. <!-- <div class="bottom-shade"></div>-->
  15. <!-- 左侧阴影 -->
  16. <div class="left-shade"></div>
  17. <!-- 右侧阴影 -->
  18. <div class="right-shade"></div>
  19. <!-- 主页 -->
  20. <div class="main-container">
  21. <!-- 顶部 -->
  22. <navbar :style="navbarStyle"/>
  23. <!-- 展示页 -->
  24. <app-main/>
  25. </div>
  26. </div>
  27. </template>
  28. <style lang="scss" scoped>
  29. @use '@/assets/styles/mixin.scss';
  30. @use '@/assets/styles/variables.scss';
  31. $base-background-color: rgba(10, 117, 195, 0.6);
  32. $base-background-color2: rgba(10, 117, 195, 1);
  33. .app-wrapper {
  34. height: 100%;
  35. width: 100%;
  36. pointer-events: none;
  37. .main-container {
  38. // background: linear-gradient(120deg, #6236ff 0%, #6236ff 0%, #32c5ff 99%, #32c5ff 100%);
  39. width: 100%;
  40. height: 100%;
  41. position: relative;
  42. .header-container {
  43. width: 100%;
  44. background-image: linear-gradient(132deg, #4791f8 0%, #2d3bdb 100%);
  45. }
  46. .app-main {
  47. position: absolute;
  48. top: 8vh;
  49. left: 0;
  50. width: 100%;
  51. height: 92vh;
  52. }
  53. }
  54. .floor-container {
  55. position: fixed;
  56. top: 0;
  57. left: 0;
  58. width: 100%;
  59. height: 100%;
  60. }
  61. .header-shade {
  62. width: 100%;
  63. height: 8vh;
  64. top: 0;
  65. left: 0;
  66. background-image: linear-gradient(180deg,
  67. $base-background-color2 0%,
  68. rgba(0, 0, 0, 0) 100%);
  69. }
  70. .bottom-shade {
  71. width: 100%;
  72. height: 8vh;
  73. bottom: 0;
  74. left: 0;
  75. background-image: linear-gradient(0deg,
  76. $base-background-color 0%,
  77. rgba(0, 0, 0, 0) 100%);
  78. }
  79. .left-shade {
  80. top: 0;
  81. left: 0;
  82. background-image: linear-gradient(90deg,
  83. $base-background-color 0%,
  84. rgba(0, 0, 0, 0) 100%);
  85. }
  86. .right-shade {
  87. top: 0;
  88. right: 0;
  89. background-image: linear-gradient(270deg,
  90. $base-background-color 0%,
  91. rgba(0, 0, 0, 0) 100%);
  92. }
  93. .left-shade,
  94. .right-shade {
  95. width: 25vw;
  96. height: 100%;
  97. }
  98. .header-shade,
  99. .bottom-shade,
  100. .left-shade,
  101. .right-shade {
  102. pointer-events: none;
  103. //z-index: 1;
  104. position: absolute;
  105. background-size: 100% 100%;
  106. background-repeat: no-repeat;
  107. opacity: 1;
  108. }
  109. }
  110. </style>