container.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. <template>
  2. <div class="container-box">
  3. <div class="container-left">
  4. <dv-border-box12 class="container-left-top">
  5. <LeftTop />
  6. </dv-border-box12>
  7. <dv-border-box12 class="container-left-center">
  8. <LeftCenter :dateArray="dateArray" />
  9. </dv-border-box12>
  10. <dv-border-box12 class="container-left-bottom">
  11. <LeftBottom :dateArray="dateArray" />
  12. </dv-border-box12>
  13. </div>
  14. <div class="container-center">
  15. <dv-border-box12 class="container-center-top">
  16. <CenterTop :dateArray="dateArray" />
  17. </dv-border-box12>
  18. <dv-border-box12 class="container-center-bottom">
  19. <CenterBottom :dateArray="dateArray" />
  20. </dv-border-box12>
  21. </div>
  22. <div class="container-right">
  23. <dv-border-box12 class="container-right-top">
  24. <RightTop />
  25. </dv-border-box12>
  26. <dv-border-box12 class="container-right-center">
  27. <RightCenter />
  28. </dv-border-box12>
  29. <dv-border-box12 class="container-right-bottom">
  30. <RightBottom />
  31. </dv-border-box12>
  32. </div>
  33. </div>
  34. </template>
  35. <script setup lang="ts">
  36. import LeftTop from "@/views/snapshot/left-top.vue";
  37. import LeftCenter from "@/views/snapshot/left-center.vue";
  38. import LeftBottom from "@/views/snapshot/left-bottom.vue";
  39. import CenterTop from "@/views/snapshot/center-top.vue";
  40. import CenterBottom from "@/views/snapshot/center-bottom.vue";
  41. import RightTop from "@/views/snapshot/right-top.vue";
  42. import RightCenter from "@/views/snapshot/right-center.vue";
  43. import RightBottom from "@/views/snapshot/right-bottom.vue";
  44. import { BorderBox12 as DvBorderBox12 } from "@kjgl77/datav-vue3";
  45. const props = defineProps({
  46. dateArray: {
  47. type: Array,
  48. default: () => [],
  49. },
  50. });
  51. </script>
  52. <style scoped lang="scss">
  53. .container-box {
  54. width: 100%;
  55. display: flex;
  56. min-height: calc(100% - 100px);
  57. justify-content: space-between;
  58. margin-top: 10px;
  59. .container-left,
  60. .container-right {
  61. display: flex;
  62. flex-direction: column;
  63. position: relative;
  64. width: 540px;
  65. box-sizing: border-box;
  66. flex-shrink: 0;
  67. margin: 0 10px;
  68. .container-left-top {
  69. height: 150px;
  70. }
  71. .container-left-center {
  72. height: 320px;
  73. }
  74. .container-left-bottom {
  75. height: 440px;
  76. }
  77. }
  78. .container-center-float {
  79. position: absolute;
  80. top: 300px;
  81. left: 520px;
  82. z-index: 2;
  83. }
  84. .container-center {
  85. flex: 1;
  86. margin: 0 24px;
  87. .container-center-top {
  88. height: 540px;
  89. overflow: hidden;
  90. margin-top: 30px;
  91. }
  92. .container-center-bottom {
  93. height: 390px;
  94. overflow: hidden;
  95. margin-top: 30px;
  96. }
  97. }
  98. .container-right,
  99. .container-left {
  100. display: flex;
  101. flex-direction: column;
  102. justify-content: space-between;
  103. position: relative;
  104. width: 540px;
  105. box-sizing: border-box;
  106. flex-shrink: 0;
  107. .container-right-top,
  108. .container-right-center {
  109. height: 230px;
  110. overflow: hidden;
  111. }
  112. .container-right-bottom {
  113. height: 500px;
  114. overflow: hidden;
  115. }
  116. }
  117. }
  118. </style>