MessageCom.vue 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. <template>
  2. <div class="Information">
  3. <div class="Total" v-if="showfirstly">
  4. <p class="captionText">总容量</p>
  5. <p class="strong"><span>{{ totalCapacity }}</span>MW</p>
  6. <p class="bottomText">此信息仅作为布局</p>
  7. </div>
  8. <div class="Total potential" v-if="showfourth">
  9. <p class="captionText">电力价格</p>
  10. <p class="strong"><span>{{ potentialIssuesCost }}</span>/MWh</p>
  11. <p class="bottomText">{{ potentialIssuesMWh }}/yr <span class="greenText">{{ potentialIssuesIncrease
  12. }}</span></p>
  13. </div>
  14. <div class="Total issues" v-if="showsecond">
  15. <p class="captionText">总容量</p>
  16. <p class="strong"><span>{{ totalCapacity }}</span>检查需要注意</p>
  17. <p class="bottomText"><span>{{ openIssues }} 开放的</span><span class="greenText">{{ fixedIssues }}
  18. 固定的</span><span class="yellowText">{{ unverifiedIssues }} 未证实的</span></p>
  19. </div>
  20. <div class="Total potential" v-if="showthird">
  21. <p class="captionText">AEP 潜在开放性问题</p>
  22. <p class="strong"><span>{{ potentialIssuesCost }}</span>/yr</p>
  23. <p class="bottomText">{{ potentialIssuesMWh }}/yr <span class="greenText">{{ potentialIssuesIncrease
  24. }}</span></p>
  25. </div>
  26. <div class="Total earnings" v-if="showfifth">
  27. <p class="captionText">AEP 固定问题收益</p>
  28. <p class="strong"><span>{{ potentialIssuesCost }}</span>/yr</p>
  29. <p class="bottomText">{{ potentialIssuesCost }}/yr <span class="greenText">{{ fixedIssuesIncrease }}</span>
  30. </p>
  31. </div>
  32. </div>
  33. </template>
  34. <script>
  35. export default {
  36. props: {
  37. showfirstly: Boolean,
  38. showsecond: Boolean,
  39. showthird: Boolean,
  40. showfourth: Boolean,
  41. showfifth: Boolean,
  42. totalCapacity: String,
  43. totalIssues: String,
  44. openIssues: String,
  45. fixedIssues: String,
  46. unverifiedIssues: String,
  47. potentialIssuesCost: String,
  48. potentialIssuesMWh: String,
  49. potentialIssuesIncrease: String,
  50. fixedIssuesEarnings: String,
  51. fixedIssuesMWh: String,
  52. fixedIssuesIncrease: String
  53. }
  54. }
  55. </script>
  56. <style lang="scss" scoped>
  57. .Information {
  58. width: 100%;
  59. display: flex;
  60. justify-content: space-between;
  61. margin-bottom: 30px;
  62. .Total {
  63. flex: 1 1 calc(20% - 20px);
  64. /* Initially, each .Total takes up 20% of the container width */
  65. margin: 10px;
  66. padding: 15px;
  67. border-radius: 10px;
  68. border: 1px solid #d1d1d1;
  69. box-sizing: border-box;
  70. background: #fff;
  71. // width: 24%;
  72. // padding: 15px;
  73. // border-radius: 10px;
  74. // border: 1px solid #d1d1d1;
  75. // box-sizing: border-box;
  76. // background: #fff;
  77. /* 设置为怪异盒模型 */
  78. span {
  79. margin-right: 10px;
  80. }
  81. }
  82. .Total:first-child {
  83. margin-left: 0;
  84. /* Set margin-left to 0 for the first .Total element */
  85. }
  86. .Total:last-child {
  87. margin-right: 0;
  88. /* Set margin-right to 0 for the last .Total element */
  89. }
  90. @media only screen and (max-width: 1200px) {
  91. .Total {
  92. flex-basis: calc(25% - 20px);
  93. /* For screens smaller than 1200px, each .Total takes up 25% of the container width */
  94. }
  95. }
  96. @media only screen and (max-width: 900px) {
  97. .Total {
  98. flex-basis: calc(33.33% - 20px);
  99. /* For screens smaller than 900px, each .Total takes up 33.33% of the container width */
  100. }
  101. }
  102. @media only screen and (max-width: 600px) {
  103. .Total {
  104. flex-basis: calc(50% - 20px);
  105. /* For screens smaller than 600px, each .Total takes up 50% of the container width */
  106. }
  107. }
  108. @media only screen and (max-width: 400px) {
  109. .Total {
  110. flex-basis: calc(100% - 20px);
  111. /* For screens smaller than 400px, each .Total takes up 100% of the container width */
  112. }
  113. }
  114. .earnings {
  115. background: rgb(229, 242, 238, );
  116. .greenText {
  117. color: green;
  118. font-weight: 600;
  119. margin-left: 10px;
  120. }
  121. }
  122. .potential {
  123. .greenText {
  124. color: green;
  125. font-weight: 600;
  126. margin-left: 10px;
  127. }
  128. }
  129. .issues {
  130. .strong {
  131. color: red;
  132. }
  133. .greenText {
  134. color: green;
  135. margin-left: 10px;
  136. }
  137. .yellowText {
  138. color: #f9b115;
  139. margin-left: 10px;
  140. }
  141. }
  142. }
  143. </style>