prodnum-YK01.vue 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. <template>
  2. <view>
  3. <state ref="state" />
  4. <view class="control-title">设备参数</view>
  5. <preview ref="preview" />
  6. <control-panel ref="mpattern" />
  7. <view class="control-title">设备监控</view>
  8. <pilotLamp ref="pilotLamp" />
  9. <view v-if="showAlarms" class="control-title">异常告警</view>
  10. <pilotLamp id="pilotLamp" ref="alarms" />
  11. </view>
  12. </template>
  13. <script>
  14. import controlPanel from "./modules/controlPanel.vue";
  15. import preview from "./modules/preview.vue";
  16. import state from "./modules/state.vue";
  17. import pilotLamp from "../prodnum-MT03/modules/pilotLamp.vue";
  18. export default {
  19. name: 'prodnum-YK01',
  20. components: { controlPanel, pilotLamp, preview, state },
  21. props: {
  22. control: Object
  23. },
  24. data() {
  25. return {
  26. showAlarms: false
  27. }
  28. },
  29. watch: {
  30. control: function (newVal) {
  31. if (newVal) {
  32. console.log('YK01', newVal)
  33. //设备状态
  34. try {
  35. let list = this.__proto__.getControlItem(["open", "close", 'stop'], newVal);
  36. this.$refs.state.list = list.map(v => v.funcname)
  37. this.$refs.state.options = list;
  38. this.$refs.state.current = list.findIndex(v => v.params.lastvalue);
  39. } catch (error) {
  40. console.error("YK01设备状态", error);
  41. }
  42. try {
  43. this.$refs.preview.list = ["oilpressure", "pipeflow", "position", "closepressure", "closetime", "kv", "flowresistance", 'FMKQS120S'].map(v => newVal.params[v])
  44. } catch (error) {
  45. console.error("YK01设备参数", error)
  46. }
  47. try {
  48. this.$refs.mpattern.itemList = this.__proto__.getControlItem(['open valve', 'Quick Close', 'Slow closing', 'hydraulic', 'pressure', 'XTYYLC', 'YXYWLC', 'YXWDSXLC', 'YXWDXXLC'], newVal);
  49. } catch (error) {
  50. console.error("YK01控制面板", error)
  51. }
  52. try {
  53. this.$refs.pilotLamp.list = [{
  54. name: "就地",
  55. value: getBoole('local')
  56. }, {
  57. name: "远程",
  58. value: getBoole('remote')
  59. }, {
  60. name: "全开",
  61. value: getBoole('vfopen')
  62. }, {
  63. name: "全关",
  64. value: getBoole('vfclose')
  65. }, {
  66. name: "无线",
  67. value: getBoole('wire')
  68. }, {
  69. name: "伺服阀",
  70. value: getBoole('sopen')
  71. }, {
  72. name: "1号电磁阀",
  73. value: getBoole('solenoid1')
  74. }, {
  75. name: "2号电磁阀",
  76. value: getBoole('solenoid2')
  77. }, {
  78. name: "3号电磁阀",
  79. value: getBoole('solenoid3')
  80. }, {
  81. name: "4号电磁阀",
  82. value: getBoole('solenoid4')
  83. }, {
  84. name: "5号电磁阀",
  85. value: getBoole('solenoid5')
  86. }]
  87. function getBoole(name, expect = 1) {
  88. try {
  89. return newVal.paramvalues[name] == expect
  90. } catch (error) {
  91. console.log("getBoole取值出错项", name)
  92. return false
  93. }
  94. }
  95. } catch (error) {
  96. console.error("YK01指示灯", error)
  97. }
  98. try {
  99. this.$refs.alarms.list = ['oiloverload', 'blockage', 'sopenfault', 'sofffault', 'openfault', 'shutdownfault', 'losspressure', 'hightemp', 'lowlevel', 'accumulator', 'gearpump', 'hydraulic', 'motor', 'servo', 'YWGBJQZTC', 'YWDBJQZTC'].map(key => {
  100. let data = newVal.params[key];
  101. return {
  102. name: data.paramname,
  103. value: data.lastvalue == 1,
  104. }
  105. }).filter(v => v.value);
  106. this.showAlarms = this.$refs.alarms.list.length != 0;
  107. } catch (error) {
  108. console.error("YK01异常告警", error)
  109. }
  110. } else {
  111. }
  112. }
  113. },
  114. }
  115. </script>
  116. <style></style>