MonitorBar.vue 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. <template>
  2. <a-row class="midback-info" :gutter="5">
  3. <div v-for="item in computedConfig" :key="item.class" style="width: 17%; margin-left: 1%; margin-right: 2%; float: left">
  4. <div class="middata" :class="item.class">
  5. <div class="midnumberval">{{ item.value }}</div>
  6. <div class="infotext1">{{ item.label }}</div>
  7. </div>
  8. </div>
  9. <!-- <div style="width: 17%; margin-left: 1%; margin-right: 2%; float: left">
  10. <div class="middata middata2">
  11. <div class="midnumberval">{{ '123' }}</div>
  12. <div class="infotext1">总进风量(m³/min)</div>
  13. </div>
  14. </div>
  15. <div style="width: 17%; margin-left: 1%; margin-right: 2%; float: left">
  16. <div class="middata middata3">
  17. <div class="midnumberval">{{ '123' }}</div>
  18. <div class="infotext1">计划风量(m³/min)</div>
  19. </div>
  20. </div>
  21. <div style="width: 17%; margin-left: 1%; margin-right: 2%; float: left">
  22. <div class="middata middata4">
  23. <div class="midnumberval">{{ '123' }}</div>
  24. <div class="infotext1">通风巷道长度(万m)</div>
  25. </div>
  26. </div>
  27. <div style="width: 17%; margin-left: 1%; margin-right: 2%; float: left">
  28. <div class="middata middata6">
  29. <div class="midnumberval">{{ '123' }}%</div>
  30. <div class="infotext1">有效风量率</div>
  31. </div>
  32. </div> -->
  33. </a-row>
  34. </template>
  35. <script lang="ts" setup>
  36. import { computed } from 'vue';
  37. import { getFormattedText } from '../hooks/helper';
  38. import { useGlobSetting } from '/@/hooks/setting';
  39. const props = defineProps<{
  40. isDataRealTime: boolean;
  41. data: any;
  42. }>();
  43. const { sysOrgCode } = useGlobSetting();
  44. const config = computed(() => {
  45. if (sysOrgCode === 'huainanzhangji') {
  46. return [
  47. {
  48. label: '总回风量(m³/min)',
  49. value: '${midinfo[0].sysdata.zonghuifeng}',
  50. },
  51. {
  52. label: '总进风量(m³/min)',
  53. value: '${midinfo[0].sysdata.zongjinfeng}',
  54. },
  55. {
  56. label: '有效风量率(%)',
  57. value: '${midinfo[0].sysinfo.useM3Perent}',
  58. },
  59. ];
  60. }
  61. if (props.isDataRealTime) {
  62. return [
  63. {
  64. label: '总回风量(m³/min)',
  65. value: '${midinfo[0].sysdata.zonghuifeng}',
  66. },
  67. {
  68. label: '总进风量(m³/min)',
  69. value: '${midinfo[0].sysdata.zongjinfeng}',
  70. },
  71. {
  72. label: '计划风量(m³/min)',
  73. value: '${midinfo[0].sysdata.xufengliang}',
  74. },
  75. {
  76. label: '通风巷道长度(m)',
  77. // value: '223196',
  78. value: '${midinfo[0].sysinfo.totallength}',
  79. },
  80. {
  81. label: '有效风量率(%)',
  82. value: '${midinfo[0].sysinfo.useM3Perent}',
  83. },
  84. ];
  85. } else {
  86. return [
  87. {
  88. label: '总回风量(m³/min)',
  89. value: '${midinfo[0].sysinfo.info.totalRetM3}',
  90. },
  91. {
  92. label: '总进风量(m³/min)',
  93. value: '${midinfo[0].sysinfo.info.totalIntM3}',
  94. },
  95. {
  96. label: '计划风量(m³/min)',
  97. value: '${midinfo[0].sysinfo.info.totalPlanM3}',
  98. },
  99. {
  100. label: '通风巷道长度(万m)',
  101. value: '${midinfo[0].sysinfo.info.flength}',
  102. },
  103. {
  104. label: '有效风量率(%)',
  105. value: '${midinfo[0].sysinfo.info.useM3Perent}',
  106. },
  107. ];
  108. }
  109. });
  110. const computedConfig = computed(() => {
  111. const data = props.data;
  112. return config.value.map((e, i) => {
  113. return {
  114. label: getFormattedText(data, e.label),
  115. value: getFormattedText(data, e.value),
  116. class: `middata${i}`,
  117. };
  118. });
  119. });
  120. </script>
  121. <style lang="less" scoped>
  122. .middata {
  123. // margin-top: 7px;
  124. padding: 5px 0px 5px 60px;
  125. width: calc(100% - 10px);
  126. height: 65px;
  127. margin-top: 4px;
  128. margin-left: 10px;
  129. margin-bottom: 5px;
  130. background-size: 100% 100%;
  131. }
  132. .middata0 {
  133. background: url('/@/assets/images/home-container/configurable/middata1.png');
  134. }
  135. .middata1 {
  136. background: url('/@/assets/images/home-container/configurable/middata2.png');
  137. }
  138. .middata2 {
  139. background: url('/@/assets/images/home-container/configurable/middata3.png');
  140. }
  141. .middata3 {
  142. background: url('/@/assets/images/home-container/configurable/middata6.png');
  143. }
  144. .middata4 {
  145. background: url('/@/assets/images/home-container/configurable/middata5.png');
  146. }
  147. .middata5 {
  148. background: url('/@/assets/images/home-container/configurable/middata4.png');
  149. }
  150. .midnumberval {
  151. z-index: 4;
  152. padding-top: -10px;
  153. // position: absolute;
  154. // top: -6px;
  155. text-align: center;
  156. font-weight: 600;
  157. color: #f6ca0e;
  158. font-size: 18px;
  159. font-family: 'Microsoft YaHei', Arial;
  160. // font-family: 'UnidreamLED';
  161. }
  162. </style>