Kaynağa Gözat

修改作业执行列表更新方式

wangyani 11 ay önce
ebeveyn
işleme
4c4561b952
1 değiştirilmiş dosya ile 38 ekleme ve 5 silme
  1. 38 5
      src/views/mes/job/jobplay/index.vue

+ 38 - 5
src/views/mes/job/jobplay/index.vue

@@ -229,6 +229,7 @@ export default {
       title: "",
       // 是否显示弹出层
       open: false,
+      intervalId: null,
       // 车间数据
       workshopList: [],
       // 作业区域数据
@@ -290,12 +291,44 @@ export default {
     this.getList();
     this.getWorkareaList();
   },
-  // mounted() {
-  //   setInterval(() => {
-  //     this.getList();
-  //   }, 5000);
-  // },
+  mounted() {
+    // setInterval(() => {
+    //   this.getList();
+    // }, 5000);
+    this.startRefreshing();
+    // 监听页面可见性变化
+    document.addEventListener("visibilitychange", this.handleVisibilityChange);
+  },
+  beforeDestroy() {
+    // 清理定时器和事件监听器
+    this.stopRefreshing();
+    document.removeEventListener(
+      "visibilitychange",
+      this.handleVisibilityChange
+    );
+  },
   methods: {
+    startRefreshing() {
+      // 防止多次触发刷新
+      if (this.intervalId) return;
+      this.intervalId = setInterval(() => {
+        this.getList();
+      }, 5000);
+    },
+    stopRefreshing() {
+      if (this.intervalId) {
+        clearInterval(this.intervalId);
+        this.intervalId = null;
+      }
+    },
+    handleVisibilityChange() {
+      if (document.visibilityState === "visible") {
+        this.startRefreshing();
+      } else {
+        this.stopRefreshing();
+      }
+    },
+
     generateStatus(row) {
       // 从数据中获取值
       const colockNum = row.colockNum || 0; // 总框数