|
|
@@ -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; // 总框数
|