index.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <!-- eslint-disable vue/multi-word-component-names -->
  2. <template>
  3. <div class="spray-wrapper">
  4. <BasicMonitoring
  5. main-title="智能注氮管控系统"
  6. :main-config="{
  7. operations: [],
  8. configs: configs,
  9. }"
  10. monitor-type="nitrogenMonitor"
  11. :monitor-history-config="{}"
  12. :handler-history-config="{}"
  13. :alarm-history-config="{}"
  14. strtype="sys_nitrogen"
  15. >
  16. <template #default="{ monitorData }">
  17. <div id="nitrogen2D" class="w-full h-full flex justify-center items-center overflow-hidden">
  18. <!-- <a-spin :spinning="loading" /> -->
  19. <!-- <div id="sprayCSS3D" v-show="!loading" style="width: 100%; height: 100%; position: absolute; overflow: hidden; pointer-events: none"> </div> -->
  20. <!-- <div class="nitrogen2D"></div> -->
  21. <modelTip :statusData="monitorData"></modelTip>
  22. </div>
  23. </template>
  24. </BasicMonitoring>
  25. </div>
  26. </template>
  27. <script setup lang="ts">
  28. import { onMounted, ref } from 'vue';
  29. import BasicMonitoring from '/@/components/vent/BasicMonitoring.vue';
  30. import { useInitConfigs, useInitPage } from '../../home/configurable/hooks/useInit';
  31. import { nitrogenConfigs } from './nitrogen.data';
  32. import modelTip from './model-tip.vue';
  33. import { list } from './nitorgen.api';
  34. const loading = ref(false);
  35. const { configs, fetchConfigs } = useInitConfigs();
  36. const { updateEnhancedConfigs, updateData } = useInitPage('智能注氮管控系统');
  37. const monitorData = ref<any[]>([]);
  38. function refresh() {
  39. // fetchConfigs(isDataRealTime.value ? 'vent_realtime' : 'vent').then(() => {
  40. fetchConfigs('nitrogen').then(() => {
  41. configs.value = nitrogenConfigs;
  42. // updateEnhancedConfigs(configs.value);
  43. list({ devicetype: 'nitrogen', pagetype: 'normal' }).then(updateData, (res) => {
  44. if (res && res.msgTxt[0]) {
  45. const dataList: any[] = [];
  46. if (res.msgTxt[0].datalist && res.msgTxt[0].datalist.length > 0) {
  47. res.msgTxt[0].datalist.forEach((data: any) => {
  48. const readData = data.readData;
  49. data = Object.assign(data, readData);
  50. dataList.push(data);
  51. });
  52. monitorData.value = res.msgTxt[0].dataList;
  53. }
  54. }
  55. });
  56. });
  57. }
  58. function initInterval() {
  59. setInterval(() => {
  60. refresh();
  61. }, 60000);
  62. }
  63. onMounted(() => {
  64. refresh();
  65. initInterval();
  66. });
  67. </script>
  68. <style lang="less" scoped>
  69. .spray-wrapper {
  70. width: 100%;
  71. height: 100%;
  72. }
  73. #spray3D {
  74. pointer-events: all;
  75. }
  76. .spray-wrapper :deep(.list-item_L .list-item__icon_L) {
  77. background-image: url('/@/assets/images/home-container/configurable/minehome/list-icon-file.png');
  78. }
  79. .spray-wrapper :deep(.list-item_N:nth-child(1)) {
  80. background-image: url('/@/assets/images/home-container/configurable/minehome/list-bg-n5.png');
  81. }
  82. .spray-wrapper :deep(.list-item_N:nth-child(2)) {
  83. background-image: url('/@/assets/images/home-container/configurable/minehome/list-bg-n6.png');
  84. }
  85. </style>