coulometric-analysis.vue 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. <template>
  2. <div class="coulometric-analysis">
  3. <tab @select="selectionItemClick" v-if="false" />
  4. <row style="margin-top: 36px">
  5. <Col :span="12" style="padding-left: 7%">
  6. <div class="coulometric-info">
  7. <svg-icon svgid="svg-arrow-up" class="icon green" />
  8. <span class="title gray">增发电量</span>
  9. <span class="value">{{ AddElectricity }}</span>
  10. </div>
  11. <percent-card :value="tsl_" color="green" title="提升率" />
  12. </Col>
  13. <Col :span="12" style="padding-left: 7%">
  14. <div class="coulometric-info">
  15. <svg-icon svgid="svg-arrow-down" class="icon yellow" />
  16. <span class="title gray">避免故障</span>
  17. <span class="value">{{ bmgz_ }}次</span>
  18. </div>
  19. <percent-card :value="jdl_" color="yellow" title="降低率" />
  20. </Col>
  21. </row>
  22. <div class="rate">
  23. <card-1
  24. class="increase-info"
  25. title="设备可利用率"
  26. :value="sbklyl_"
  27. :isIncrease="sbklyl_ >= 0"
  28. />
  29. <card-1
  30. class="increase-info"
  31. title="风能利用率"
  32. :value="fnlyl_"
  33. :isIncrease="fnlyl_ >= 0"
  34. />
  35. <card-1
  36. class="increase-info"
  37. title="综合场用电率"
  38. :value="zhcydl_"
  39. :isIncrease="zhcydl_ >= 0"
  40. />
  41. </div>
  42. </div>
  43. </template>
  44. <script>
  45. import percentCard from "@/components/coms/cards/percent-card.vue";
  46. import Col from "@/components/coms/grid/col.vue";
  47. import Row from "@/components/coms/grid/row.vue";
  48. import Tab from "@/components/coms/tabs/tab.vue";
  49. import SvgIcon from "@/components/coms/icon/svg-icon.vue";
  50. import Card1 from "../../../components/coms/cards/card-1.vue";
  51. export default {
  52. components: { percentCard, Row, Col, Tab, SvgIcon, Card1 },
  53. props: {
  54. bmgz: {
  55. type: Number,
  56. default: 0,
  57. },
  58. tsl: {
  59. type: Number,
  60. default: 0,
  61. },
  62. jdl: {
  63. type: Number,
  64. default: 0,
  65. },
  66. fnlyl: {
  67. type: Number,
  68. default: 0,
  69. },
  70. sbklyl: {
  71. type: Number,
  72. default: 0,
  73. },
  74. zhcydl: {
  75. type: Number,
  76. default: 0,
  77. },
  78. yhfj: {
  79. type: Number,
  80. default: 0,
  81. },
  82. },
  83. data() {
  84. // 电量分析
  85. return {
  86. // 增发电量
  87. AddElectricity: 0,
  88. // 避免故障
  89. bmgz_: 0,
  90. // 提升率
  91. tsl_: 0,
  92. // 降低率
  93. jdl_: "0",
  94. // 风能利用率
  95. fnlyl_: 0,
  96. // 设备科利用率
  97. sbklyl_: 0,
  98. // 综合场用电率
  99. zhcydl_: 0,
  100. // 存在隐患风机
  101. yhfj_: 0,
  102. };
  103. },
  104. mounted() {
  105. this.bmgz_ = this.bmgz ? this.bmgz : 0;
  106. this.tsl_ = this.tsl;
  107. this.jdl_ = this.jdl_ ? this.jdl_ : 0;
  108. this.fnlyl_ = this.fnlyl;
  109. this.sbklyl_ = this.sbklyl;
  110. this.zhcydl_ = this.zhcydl;
  111. this.yhfj_ = this.yhfj;
  112. },
  113. methods: {
  114. selectionItemClick(item) {},
  115. },
  116. watch: {
  117. bmgz(res) {
  118. this.bmgz_ = res;
  119. },
  120. tsl(res) {
  121. this.tsl_ = res;
  122. },
  123. jdl(res) {
  124. this.jdl_ = res;
  125. },
  126. fnlyl(res) {
  127. this.fnlyl_ = res;
  128. },
  129. sbklyl(res) {
  130. this.sbklyl_ = res;
  131. },
  132. zhcydl(res) {
  133. this.zhcydl_ = res;
  134. },
  135. yhfj(res) {
  136. this.yhfj_ = res;
  137. },
  138. },
  139. };
  140. </script>
  141. <style lang="less">
  142. .coulometric-analysis {
  143. padding: 0 8px;
  144. .coulometric-info {
  145. margin-bottom: 1.4815vh;
  146. .title {
  147. font-size: @fontsize;
  148. margin-right: 10px;
  149. }
  150. .value {
  151. font-size: @fontsize;
  152. }
  153. }
  154. .increase-info {
  155. width: 33%;
  156. display: flex;
  157. justify-content: center;
  158. align-items: center;
  159. }
  160. .icon {
  161. width: 1.204vh;
  162. height: 1.204vh;
  163. margin-right: 10px;
  164. &.green use {
  165. fill: @green;
  166. }
  167. &.yellow use {
  168. fill: @yellow;
  169. }
  170. }
  171. }
  172. .rate {
  173. display: flex;
  174. flex-direction: row;
  175. align-items: center;
  176. margin: 3% 0% 3% 0%;
  177. }
  178. </style>