index.vue 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <template>
  2. <div class="header">1111</div>
  3. <div class="container-box">
  4. <div class="left-box lr-box">
  5. <div class="lr-top air-monitor">
  6. <div class="column-header">
  7. <div class="header-item" v-for="(item, index) in airVolumeMonitorKey" :key="index">{{ item.value }}</div>
  8. </div>
  9. <div class="column-container">
  10. <div class="column-item" v-for="(airVolume, index) in airVolumeMonitor" :key="index">
  11. <div class="item-column" v-for="(item, key) in airVolumeMonitorKey" :key="key">{{ airVolume[item.code] }}</div>
  12. </div>
  13. </div>
  14. </div>
  15. <div class="lr-bottom warning-monitor"></div>
  16. </div>
  17. <div class="center-box ">
  18. <div class="center-container file-list"></div>
  19. </div>
  20. <div class="right-box lr-box">
  21. <div class="lr-top scene-monitor"></div>
  22. <div class="lr-bottom tunnel-statistic">
  23. </div>
  24. </div>
  25. </div>
  26. </template>
  27. <script lang="ts" setup>
  28. import { airVolumeMonitorKey, airVolumeMonitor } from './clique.data'
  29. </script>
  30. <style lang="less" scoped>
  31. .header{
  32. width: 100%;
  33. height: 100px;
  34. background-color: #ffffff11;
  35. }
  36. .container-box{
  37. height: calc(100% - 32px);
  38. display: flex;
  39. margin: 16px 10px;
  40. .lr-box{
  41. width: 400px;
  42. height: calc(100% - 50px);
  43. position: relative;
  44. top: -50px;
  45. background-color: #ffffff11;
  46. }
  47. .center-box{
  48. flex: 1;
  49. margin: 0 16px;
  50. .center-container{
  51. height: 500px;
  52. position: fixed;
  53. bottom: 0;
  54. background-color: #ffffff11;
  55. }
  56. }
  57. .air-monitor{
  58. .column-header{
  59. width: 100%;
  60. display: flex;
  61. justify-content: center;
  62. color: aqua;
  63. height: 80px;
  64. line-height: 80px;
  65. .header-item{
  66. width: 25%;
  67. text-align: center;
  68. }
  69. }
  70. .column-container{
  71. height: 400px;
  72. overflow-y: auto;
  73. &:hover {
  74. overflow-y: auto;
  75. & > .column-item{
  76. animation-play-state: paused;
  77. // animation: move1 2s linear;
  78. }
  79. }
  80. .column-item{
  81. width: 100%;
  82. display: flex;
  83. justify-content: center;
  84. color: #fff;
  85. height: 60px;
  86. animation: move 5s linear infinite;
  87. .item-column{
  88. width: 25%;
  89. text-align: center;
  90. }
  91. }
  92. }
  93. @keyframes move {
  94. 0% {
  95. transform: translateY(0px);
  96. }
  97. 100% {
  98. transform: translateY(-260px);
  99. }
  100. }
  101. @keyframes move1 {
  102. 0% {
  103. transform: translateY(0px);
  104. }
  105. }
  106. }
  107. }
  108. </style>