WindturbineDetailPages.vue 4.6 KB

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