Home.vue 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <template>
  2. <div class="home-page">
  3. <div class="header">
  4. <Header />
  5. </div>
  6. <div class="content">
  7. <div class="content-left">
  8. <div class="content-algorithm">
  9. <AlgoData :data="violationData" :get-violations="getViolationCount" />
  10. </div>
  11. <div class="content-scores">
  12. <Score />
  13. </div>
  14. </div>
  15. <div class="content-right">
  16. <div class="content-click">
  17. <ClickShow />
  18. </div>
  19. <div class="content-operate">
  20. <QuickAction />
  21. </div>
  22. </div>
  23. </div>
  24. </div>
  25. </template>
  26. <script setup lang="ts">
  27. import AlgoData from './components/AlgoDataPanel.vue';
  28. import ClickShow from './components/ClickShow.vue';
  29. import Score from './components/Score.vue';
  30. import Header from './components/Header.vue';
  31. import useHomeInfo from './hooks/useHomeInfo';
  32. import QuickAction from './components/QuickAction.vue';
  33. const homeInfos = useHomeInfo();
  34. const { violationData, getViolationCount } = homeInfos;
  35. </script>
  36. <style scoped>
  37. .home-page {
  38. width: 100%;
  39. height: 91vh;
  40. padding-bottom: 24px;
  41. display: flex;
  42. flex-direction: column;
  43. /* background: #ffffff; */
  44. }
  45. .header {
  46. height: 128px;
  47. width: 100%;
  48. background: #ffffff;
  49. margin-bottom: 10px;
  50. }
  51. .content {
  52. flex-grow: 1;
  53. display: flex;
  54. width: 100%;
  55. /* background: #ffffff; */
  56. }
  57. .content-left {
  58. flex-grow: 1;
  59. margin-right: 10px;
  60. display: flex;
  61. flex-direction: column;
  62. }
  63. .content-algorithm {
  64. height: 392px;
  65. margin-bottom: 10px;
  66. background: #ffffff;
  67. }
  68. .content-scores {
  69. flex-grow: 1;
  70. background: #ffffff;
  71. }
  72. .content-right {
  73. /* flex-grow: 0; */
  74. width: 280px;
  75. display: flex;
  76. flex-direction: column;
  77. flex-shrink: 0;
  78. }
  79. .content-click {
  80. height: 203px;
  81. margin-bottom: 10px;
  82. background: #ffffff;
  83. }
  84. .content-operate {
  85. flex-grow: 1;
  86. background: #ffffff;
  87. }
  88. </style>