AlarmArea.vue 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. /* 告警区 */
  2. <template>
  3. <gy-card
  4. title="告警区"
  5. area-style="alarm"
  6. circle-style="green"
  7. content-style="25"
  8. >
  9. <div style="padding-left:5px;padding-right:5px;">
  10. <el-table
  11. :data="values"
  12. height="219px"
  13. :header-cell-style="{
  14. background: 'Black',
  15. color: 'rgb(220,220,220)',
  16. padding:'4px',
  17. fontSize:'14px',
  18. 'border-bottom':'solid 1px black'
  19. }"
  20. :cell-style="{ background: '#1e1e1e', color: 'rgb(220,220,220)',padding:'3px',fontSize:'12px'}"
  21. @row-dblclick="itemDblclick"
  22. @cell-click="itemChecked"
  23. >
  24. <el-table-column
  25. prop="lastUpdateTime"
  26. align="center"
  27. label="时间"
  28. width="150">
  29. </el-table-column>
  30. <el-table-column
  31. prop="alertText"
  32. align="center"
  33. label="描述"
  34. width="380">
  35. </el-table-column>
  36. <el-table-column
  37. prop="address"
  38. align="center"
  39. label="确认">
  40. <input type="checkbox"/>
  41. </el-table-column>
  42. </el-table>
  43. </div>
  44. </gy-card>
  45. <WindturbineDetailPages
  46. v-model="dialogVisible"
  47. :windturbine="currentWindturbine"
  48. ></WindturbineDetailPages>
  49. </template>
  50. <script>
  51. import MessageBridge from "../../assets/script/MessageBridge";
  52. import WindturbineDetailPages from '../area/windturbine/WindturbineDetailPages.vue'
  53. import BackgroundData from '../../assets/script/BackgroundData'
  54. export default {
  55. name: "AlarmArea",
  56. components:{
  57. WindturbineDetailPages,
  58. },
  59. created: function () {
  60. this.initData();
  61. },
  62. props: {},
  63. data() {
  64. return {
  65. values: ['-','-','-','-','-','-'],
  66. dialogVisible:false,
  67. currentWindturbine: {},
  68. };
  69. },
  70. methods: {
  71. initData() {
  72. var mb = MessageBridge.getInstance();
  73. var vs = [{ key: "/topic/fault-popup", action: this.faultMessage }];
  74. mb.register(vs);
  75. },
  76. faultMessage(msg) {
  77. var val = JSON.parse(msg);
  78. this.values = new Array();
  79. for (var v in val) {
  80. var vl = val[v];
  81. if (vl.stationId != "QS_FDC" && vl.category1 == "FJ") {
  82. vl.alertText = vl.windturbineName + "-" + vl.alertText;
  83. }
  84. this.values.push(vl);
  85. }
  86. console.log(val);
  87. },
  88. /* 行双击 */
  89. itemDblclick(row){
  90. if(row.category1!='FJ')return;
  91. this.dialogVisible = true;
  92. this.currentWindturbine=row;
  93. },
  94. /* 报警确认 */
  95. itemChecked(row, column){
  96. if(column.label!="确认")return;
  97. var bd = BackgroundData.getInstance();
  98. if(!bd.LoginUser){
  99. this.$notify({
  100. title: "请登录",
  101. message: "确认报警需要先登录!",
  102. type: "warning",
  103. position: "bottom-right",
  104. offset: 60,
  105. });
  106. return;
  107. }
  108. console.log(row);
  109. }
  110. },
  111. };
  112. </script>
  113. <style scoped>
  114. :deep(.el-table__body-wrapper::-webkit-scrollbar) {
  115. width: 8px;
  116. height:0px;
  117. background-color: black;
  118. }
  119. :deep(.el-table__body-wrapper::-webkit-scrollbar-thumb) {
  120. background-color: #292929;
  121. border-radius: 6px;
  122. }
  123. :deep(.el-table td,.el-table th){
  124. border-bottom:2px solid black;
  125. }
  126. tr {
  127. line-height: 1.5;
  128. background: #1e1e1e;
  129. margin-bottom: 2px;
  130. border-radius: 5px;
  131. }
  132. /* .ToolBar {
  133. position: absolute;
  134. right: 12px;
  135. width: 586px;
  136. text-align: center;
  137. z-index: 2;
  138. font-size: 14px;
  139. height: 28px;
  140. margin: 5px;
  141. background: #1e1e1e;
  142. } */
  143. .table-main {
  144. font-size: 14px;
  145. width: 600px;
  146. text-align: center;
  147. background: #000000;
  148. margin: 5px;
  149. border-collapse:separate;
  150. border-spacing:0px 5px;
  151. }
  152. </style>