index.vue 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. <template>
  2. <div>
  3. <!-- 头部区域 -->
  4. <top-header></top-header>
  5. <!-- 首页主体start -->
  6. <div class="mainbox">
  7. <div style="margin: 0rem auto; width: 15rem">
  8. <div class="column" v-for="item in homeData" :key="item.StationID">
  9. <div
  10. class="panel"
  11. @click="goInnerCard(item)"
  12. :class="{
  13. alarm: Number(item.status) === 1,
  14. fault: Number(item.status) === 2,
  15. }"
  16. >
  17. <div>
  18. <!-- <img src="@/assets/images/panel-icon.png" alt="" /> -->
  19. <p>
  20. 状态:<span>{{ item.DeviceStatusNote }}</span>
  21. </p>
  22. <p class="light-color">{{ item.DeviceType }}</p>
  23. <p v-if="item.DeviceType=='电气火灾监测装置'" class="light-color"> {{item.KeyPoints[0].PointName}}: {{item.KeyPoints[0].ValueList[0].Value==0?'正常':'告警'}}</p>
  24. <p v-else class="light-color"> {{item.KeyPoints[0].PointName}}: {{item.KeyPoints[0].ValueList[0].Value}}</p>
  25. </div>
  26. </div>
  27. </div>
  28. <!-- <div class="column">
  29. <div class="panel alarm" @click="goInnerCard">
  30. <div>
  31. <img src="@/assets/images/panel-icon.png" alt="" />
  32. <p>状态:<span>告警</span></p>
  33. <p class="light-color">电气火灾</p>
  34. <p class="light-color">电缆温度:51℃</p>
  35. </div>
  36. </div>
  37. </div>
  38. <div class="column">
  39. <div class="panel" @click="goInnerCard">
  40. <div>
  41. <img src="@/assets/images/panel-icon.png" alt="" />
  42. <p>状态:<span>正常</span></p>
  43. <p class="light-color">电气火灾</p>
  44. <p class="light-color">电缆温度:51℃</p>
  45. </div>
  46. </div>
  47. </div>
  48. <div class="column">
  49. <div class="panel fault" @click="goInnerCard">
  50. <div>
  51. <img src="@/assets/images/panel-icon.png" alt="" />
  52. <p>状态:<span>故障</span></p>
  53. <p class="light-color">电气火灾</p>
  54. <p class="light-color">电缆温度:51℃</p>
  55. </div>
  56. </div>
  57. </div>
  58. <div class="column">
  59. <div class="panel normal" @click="goGasCard">
  60. <div>
  61. <img src="@/assets/images/gas-icon.png" alt="" />
  62. <p>状态:<span>正常</span></p>
  63. <p class="light-color">可燃气体</p>
  64. <p class="light-color">一氧化碳浓度:120ppm</p>
  65. </div>
  66. </div>
  67. </div>
  68. <div class="column">
  69. <div class="panel" @click="goGasCard">
  70. <div>
  71. <img src="@/assets/images/gas-icon.png" alt="" />
  72. <p>状态:<span>正常</span></p>
  73. <p class="light-color">可燃气体</p>
  74. <p class="light-color">一氧化碳浓度:120ppm</p>
  75. </div>
  76. </div>
  77. </div>
  78. <div class="column">
  79. <div class="panel" @click="goGasCard">
  80. <div>
  81. <img src="@/assets/images/gas-icon.png" alt="" />
  82. <p>状态:<span>正常</span></p>
  83. <p class="light-color">可燃气体</p>
  84. <p class="light-color">一氧化碳浓度:120ppm</p>
  85. </div>
  86. </div>
  87. </div> -->
  88. </div>
  89. </div>
  90. </div>
  91. </template>
  92. <script>
  93. import topHeader from "@/components/topHeader";
  94. export default {
  95. name: "index",
  96. components: {
  97. topHeader,
  98. },
  99. data() {
  100. return {
  101. homeData: [],
  102. };
  103. },
  104. watch: {
  105. "$store.state.wsInfo"(val) {
  106. this.messageHandle(val);
  107. },
  108. },
  109. created() {},
  110. methods: {
  111. messageHandle(e) {
  112. if (e.data.search("{") != -1) {
  113. const redata = JSON.parse(e.data);
  114. // 初始化获取站点下拉数据
  115. if (redata.CMD == "getStationInfo" && redata.RESULT) {
  116. // 如果有站点选项,发送请求获取站点信息页数据
  117. this.global.sendWs({
  118. CMD: "getStationDetail",
  119. StationID: "7c9c30af-6132-43d1-98fb-020395183094",
  120. });
  121. }
  122. if (redata.CMD == "getStationDetail") {
  123. this.homeData = redata.RESULT.LIST;
  124. // console.log('redata')
  125. // console.log(redata)
  126. console.log(this.homeData);
  127. }
  128. }
  129. },
  130. goInnerCard(item) {
  131. if (item.DeviceType == "电气火灾监测装置") {
  132. this.$router.push("/eleFireCard?DeviceID="+item.DeviceID);
  133. } else {
  134. this.$router.push("/gasCard?DeviceID="+item.DeviceID);
  135. }
  136. },
  137. goGasCard() {
  138. },
  139. },
  140. };
  141. </script>
  142. <!-- Add "scoped" attribute to limit CSS to this component only -->
  143. <style scoped>
  144. </style>