WindturbineDetailPages.vue 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. <template>
  2. <el-dialog
  3. width="65%"
  4. @opened="opened()"
  5. @closed="closed()"
  6. :show-close="false"
  7. >
  8. <template #title>
  9. <div style="margin-top:-10px;">风机详情</div>
  10. </template>
  11. <div style="background-color: black;margin-top:-30px;margin-left:-10px;margin-right:-10px;margin-bottom:-30px;">
  12. <!-- <div class="titeldiv">
  13. <div class="chunkdiv" width="15%">
  14. <img src="../../../assets/img/WindturbineDetailPages/pic_01.png"/>
  15. <div>MA B401</div>
  16. </div>
  17. <div class="chunkdiv" width="15%">
  18. <div>所属线路&emsp;</div>
  19. <div>某某某1线</div>
  20. </div>
  21. <div class="chunkdiv" width="15%">
  22. <div>机型&emsp;</div>
  23. <div>GW1000</div>
  24. </div>
  25. <div class="chunkdiv" width="15%">
  26. <div>告警时间:</div>
  27. <div>2021年5月10日&emsp;12:23:31</div>
  28. </div>
  29. <div class="chunkdiv" width="15%">
  30. <div>告警内容:</div>
  31. <div>通讯中断</div>
  32. </div> -->
  33. <table width="99.8%">
  34. <tr>
  35. <td>
  36. <div class="chunkdiv">
  37. <img
  38. src="../../../assets/img/WindturbineDetailPages/pic_01.png"
  39. />
  40. <div>&emsp;</div>
  41. <div>{{ windturbine.windturbineId }}</div>
  42. </div>
  43. </td>
  44. <td>
  45. <div class="chunkdiv">
  46. <div>所属线路&emsp;</div>
  47. <div>{{line}}</div>
  48. </div>
  49. </td>
  50. <td>
  51. <div class="chunkdiv">
  52. <div>机型&emsp;</div>
  53. <div>{{windturbine.modelId}}</div>
  54. </div>
  55. </td>
  56. <td>
  57. <div class="chunkdiv">
  58. <div>告警时间:</div>
  59. <div>{{alarmTime}}</div>
  60. </div>
  61. </td>
  62. <td>
  63. <div class="chunkdiv">
  64. <div>告警内容:</div>
  65. <div>{{alarmContent}}</div>
  66. </div>
  67. </td>
  68. </tr>
  69. </table>
  70. <el-tabs type="border-card" tab-position="bottom" stretch="true">
  71. <el-tab-pane label="基本信息">
  72. <BasicInformationDetail ref="BasicInfo"></BasicInformationDetail>
  73. </el-tab-pane>
  74. <!-- <el-tab-pane label="机舱信息">
  75. <BasicInformationDetail></BasicInformationDetail>
  76. </el-tab-pane>
  77. <el-tab-pane label="故障信息">
  78. <BasicInformationDetail></BasicInformationDetail>
  79. </el-tab-pane>
  80. <el-tab-pane label="齿轮箱" >
  81. <BasicInformationDetail></BasicInformationDetail>
  82. </el-tab-pane>
  83. <el-tab-pane label="变桨">
  84. <BasicInformationDetail></BasicInformationDetail>
  85. </el-tab-pane>
  86. <el-tab-pane label="偏航">
  87. <YawDetail></YawDetail>
  88. </el-tab-pane>
  89. <el-tab-pane label="液压">
  90. <BasicInformationDetail></BasicInformationDetail>
  91. </el-tab-pane>
  92. <el-tab-pane label="发电机">
  93. <BasicInformationDetail></BasicInformationDetail>
  94. </el-tab-pane> -->
  95. </el-tabs>
  96. </div>
  97. </el-dialog>
  98. </template>
  99. <script>
  100. /* import YawDetail from "./YawDetail.vue";
  101. */import BasicInformationDetail from "./BasicInformationDetail.vue";
  102. import UniformCodes from "../../../assets/script/UniformCodes";
  103. import {config} from '../../../config';
  104. import axios from 'axios';
  105. import BackgroundData from "../../../assets/script/BackgroundData"
  106. export default {
  107. components: {
  108. /* YawDetail, */
  109. BasicInformationDetail,
  110. },
  111. props: {
  112. windturbine: Object,
  113. },
  114. data() {
  115. return {
  116. BasicInfo: {},
  117. line:"",
  118. alarmTime:"",
  119. alarmContent:"",
  120. };
  121. },
  122. created() {
  123. this.UniformCodes = new UniformCodes();
  124. },
  125. methods: {
  126. opened() {
  127. this.line="";
  128. this.alarmTime="";
  129. this.alarmContent="";
  130. this.BasicInfo = this.UniformCodes.getStationInfos(this.windturbine);
  131. this.BasicInfo.windturbineId = this.windturbine.windturbineId;
  132. this.$refs.BasicInfo.start(this.BasicInfo);
  133. this.initData();
  134. //this.refreshData();
  135. //this.refreshTimer = setInterval(this.refreshData, 3000);
  136. },
  137. closed() {
  138. // todo 切换页面的时候应该让上一个页面停止刷新数据(调用end方法)
  139. this.$refs.BasicInfo.end();
  140. //clearInterval(this.refreshTimer);
  141. },
  142. initData(){
  143. axios.get(`http://${config.calcUrl}/windturbine/line/${this.windturbine.windturbineId}`)
  144. .then(msg=>this.line=msg.data);
  145. axios.get(`http://${config.calcUrl}/alarm/real-time-alarm?objectId=${this.windturbine.windturbineId}&pageIndex=1&pageSize=1`)
  146. .then(msg=>{
  147. var vs = msg.data;
  148. if(vs.length<=0)return;
  149. this.alarmTime = BackgroundData.getInstance().formatDate(vs[0].lastUpdateTime);
  150. this.alarmContent = vs[0].alertText;
  151. })
  152. .catch(err=>{
  153. console.log(err);
  154. });
  155. }
  156. },
  157. };
  158. </script>
  159. <style scoped>
  160. /* .titeldiv{
  161. display: flex;
  162. justify-content: space-around;
  163. } */
  164. .chunkdiv {
  165. display: flex;
  166. justify-content: center;
  167. background-color: #363636;
  168. margin: 1px;
  169. padding: 2px;
  170. color: rgb(220, 220, 220);
  171. overflow:hidden;
  172. white-space:nowrap;
  173. }
  174. table {
  175. margin-left: 2px;
  176. margin-right: 2px;
  177. }
  178. td {
  179. width: 20%;
  180. }
  181. el-tabs {
  182. background-color: black;
  183. }
  184. </style>