generalList.vue 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <template>
  2. <div class="general-list">
  3. <div class="general-content-box" v-for="(item, index) in generalData" :key="index">
  4. <div class="general-icon" :class="index % 2 == 0 ? 'icon-blue' : 'icon-green'"></div>
  5. <div class="general-label">{{ item.areaName }}</div>
  6. <div class="general-status" :class="index % 2 == 0 ? 'text-blue' : 'text-green'">{{ item.CORealtime || '-' }}</div>
  7. </div>
  8. </div>
  9. </template>
  10. <script setup lang="ts">
  11. import { ref } from 'vue'
  12. let props = defineProps({
  13. generalData: {
  14. type: Array,
  15. default: () => {
  16. return []
  17. }
  18. }
  19. })
  20. </script>
  21. <style lang="less" scoped>
  22. @import '/@/design/theme.less';
  23. @{theme-deepblue} {
  24. .card-list {
  25. --image-bg-green: url('@/assets/images/themify/deepblue/home-container/configurable/electroChamper/3-3.png');
  26. --image-bg-blue: url('@/assets/images/themify/deepblue/home-container/configurable/electroChamper/3-4.png');
  27. --image-bg-green-icon: url('@/assets/images/themify/deepblue/home-container/configurable/electroChamper/3-3.png');
  28. --image-bg-blue-icon: url('@/assets/images/themify/deepblue/home-container/configurable/electroChamper/3-2.png');
  29. }
  30. }
  31. .general-list {
  32. --image-bg-green: url('@/assets/images/home-container/configurable/electroChamper/3-3.png');
  33. --image-bg-blue: url('@/assets/images/home-container/configurable/electroChamper/3-1.png');
  34. --image-bg-green-icon: url('@/assets/images/home-container/configurable/electroChamper/3-4.png');
  35. --image-bg-blue-icon: url('@/assets/images/home-container/configurable/electroChamper/3-2.png');
  36. width: 100%;
  37. height: 100%;
  38. padding: 10px 15px;
  39. box-sizing: border-box;
  40. .general-content-box {
  41. position: relative;
  42. width: 100%;
  43. height: 36px;
  44. margin-bottom: 10px;
  45. display: flex;
  46. align-items: center;
  47. &:nth-child(odd) {
  48. background: var(--image-bg-blue) no-repeat;
  49. background-size: 100% 100%;
  50. }
  51. &:nth-child(even) {
  52. background: var(--image-bg-green) no-repeat;
  53. background-size: 100% 100%;
  54. }
  55. .general-label {
  56. position: absolute;
  57. left: 60px;
  58. }
  59. .general-status {
  60. position: absolute;
  61. right: 98px;
  62. }
  63. }
  64. .general-icon {
  65. position: absolute;
  66. width: 22px;
  67. height: 22px;
  68. left: 12px;
  69. top: 50%;
  70. transform: translate(0, -50%);
  71. }
  72. .icon-green {
  73. background: var(--image-bg-green-icon) no-repeat;
  74. background-size: 100% 100%;
  75. }
  76. .icon-blue {
  77. background: var(--image-bg-blue-icon) no-repeat;
  78. background-size: 100% 100%;
  79. }
  80. .text-green {
  81. font-size: 12px;
  82. font-family: 'douyuFont';
  83. color: #2af7d7;
  84. }
  85. .text-blue {
  86. font-size: 12px;
  87. font-family: 'douyuFont';
  88. color: #91e0ff;
  89. }
  90. }
  91. </style>