ControlArea.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. /* 控制区 */
  2. <template>
  3. <gy-card
  4. title="控制区"
  5. area-style="control"
  6. circle-style="green"
  7. content-style="44"
  8. >
  9. <MatrixCard title="待启动" :datas="ls.start"></MatrixCard>
  10. <MatrixCard title="待停机" :datas="ls.stop"></MatrixCard>
  11. <MatrixCard title="待维护" :datas="ls.maintain"></MatrixCard>
  12. <MatrixCard title="待取消维护" :datas="ls.unmaintain"></MatrixCard>
  13. <MatrixCard title="待复位" :datas="ls.reset"></MatrixCard>
  14. </gy-card>
  15. </template>
  16. <script>
  17. import MatrixCard from "./windturbine/MatrixCard.vue";
  18. import MessageBridge from "../../assets/script/MessageBridge";
  19. export default {
  20. name: "ControlArea",
  21. components: {
  22. MatrixCard,
  23. },
  24. created: function () {
  25. this.initData();
  26. },
  27. data() {
  28. return {
  29. ls: {
  30. start: { key: "待启动", value: [] },
  31. stop: { key: "待停机", value: [] },
  32. maintain: { key: "待维护", value: [] },
  33. unmaintain: { key: "待取消维护", value: [] },
  34. reset: { key: "待复位", value: [] },
  35. },
  36. };
  37. },
  38. methods: {
  39. initData: function () {
  40. var mb = MessageBridge.getInstance();
  41. var vs = [
  42. { key: "/topic/windturbine", action: this.windturbineMessage },
  43. { key: "/topic/suggestion", action: this.suggestion },
  44. ];
  45. mb.register(vs);
  46. },
  47. windturbineMessage: function (msg) {
  48. var val = JSON.parse(msg);
  49. for(var v in this.ls){
  50. var vv = this.ls[v];
  51. for(var it in vv.value){
  52. vv.value[it].status = val[it].status;
  53. }
  54. }
  55. },
  56. suggestion: function (msg) {
  57. var val = JSON.parse(msg);
  58. var ll = {
  59. start: { key: "待启动", value: [] },
  60. stop: { key: "待停机", value: [] },
  61. maintain: { key: "待维护", value: [] },
  62. unmaintain: { key: "待取消维护", value: [] },
  63. reset: { key: "待复位", value: [] },
  64. };
  65. for (var vv in val) {
  66. var v = val[vv];
  67. if (v.adviceOperateStyle == "UnMaintain") {
  68. // 推荐取消维护
  69. ll.unmaintain.value.push(this.getCardValue(v));
  70. } else if (v.adviceOperateStyle == "Start") {
  71. //推荐启动
  72. ll.start.value.push(this.getCardValue(v));
  73. } else if (v.adviceOperateStyle == "Stop") {
  74. // 推荐停机
  75. ll.stop.value.push(this.getCardValue(v));
  76. } else if (v.adviceOperateStyle == "Reset") {
  77. // 推荐复位
  78. ll.reset.value.push(this.getCardValue(v));
  79. } else if (v.adviceOperateStyle == "Maintain") {
  80. // 推荐维护
  81. ll.maintain.value.push(this.getCardValue(v));
  82. }
  83. }
  84. this.ls=ll;
  85. },
  86. getCardValue(val){
  87. return {
  88. status:0,
  89. power:0,
  90. windSpeed:0,
  91. rollSpeed:0,
  92. windturbineId:val.windturbineId,
  93. }
  94. }
  95. },
  96. };
  97. </script>