WindturbineDetailPages.vue 5.3 KB

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