From 339111ff4fe09368d5c1ff998d67575e53f912c1 Mon Sep 17 00:00:00 2001 From: zhaowei <zhaowei> Date: 星期二, 04 三月 2025 17:44:41 +0800 Subject: [PATCH] 1、车间看板页面调整鼠标悬浮框样式 2、车间看板页面增加定时任务定时刷新后台接口 --- src/views/mdc/base/WorkshopSignage.vue | 64 +++++++++++++++++++++++++------ 1 files changed, 51 insertions(+), 13 deletions(-) diff --git a/src/views/mdc/base/WorkshopSignage.vue b/src/views/mdc/base/WorkshopSignage.vue index 6db29b2..83acb27 100644 --- a/src/views/mdc/base/WorkshopSignage.vue +++ b/src/views/mdc/base/WorkshopSignage.vue @@ -5,7 +5,7 @@ <div class="left-col"> <div class="col-content"> <div class="content-title">{{workshopDetails.workshopName}}#璁惧鎯呭喌</div> - <workshop-device-overview :currentProductionId="currentProductionId" + <workshop-device-overview ref="workshopDeviceOverviewRef" :currentProductionId="currentProductionId" :equipmentStatusList="equipmentStatusList" :toDecimal2NoZero="toDecimal2NoZero"/> </div> <div class="col-content"> @@ -15,22 +15,25 @@ </div> <div class="col-content"> <div class="content-title">璁惧鍛ㄥ埄鐢ㄧ巼瓒嬪娍</div> - <week-utilization-rate-trend :currentProductionId="currentProductionId" :toDecimal2NoZero="toDecimal2NoZero"/> + <week-utilization-rate-trend ref="weekRateTrendRef" :currentProductionId="currentProductionId" + :toDecimal2NoZero="toDecimal2NoZero"/> </div> <div class="col-content"> <div class="content-title">璁惧鏃ュ埄鐢ㄧ巼瓒嬪娍</div> - <day-utilization-rate-trend :currentProductionId="currentProductionId" :toDecimal2NoZero="toDecimal2NoZero"/> + <day-utilization-rate-trend ref="dayRateTrendRef" :currentProductionId="currentProductionId" + :toDecimal2NoZero="toDecimal2NoZero"/> </div> <div class="col-content"> <div class="content-title">璁惧鎶ヨ淇℃伅</div> - <device-alarm-info/> + <device-alarm-info ref="deviceAlarmInfoRef" :currentProductionId="currentProductionId"/> </div> </div> <!--鍙充晶鎷栨嫿鍖哄煙--> <div class="right-col"> - <device-drag-layout :currentProductionId="currentProductionId" :equipmentStatusList="equipmentStatusList" - :getImgView="getImgView"/> + <device-drag-layout ref="deviceDragLayoutRef" :currentProductionId="currentProductionId" + :equipmentStatusList="equipmentStatusList" + :getImgView="getImgView" @handleTimeIntervalForShortOpen="handleTimeIntervalForShortOpen"/> </div> </div> </div> @@ -54,7 +57,7 @@ MonthUtilizationRateTrend, DayUtilizationRateTrend, WeekUtilizationRateTrend, - WorkshopDeviceOverview, + WorkshopDeviceOverview }, data() { return { @@ -82,20 +85,37 @@ statusImage: require('@/assets/WorskhopSignage/stateImg_gray.gif') } ], - deviceList: [], - isShowGuideline: false, - guidelineXTop: 0, - guidelineYLeft: 0, - isSwitchChecked: false, - isHasResizeOrDragDevice: false + timeIntervalForShortTime: null, + timeIntervalForLongTime: null } }, created() { if (!this.$route.params.productionId) return + // 鍦ㄦ澶勮幏鍙栬矾鐢卞弬鏁版槸涓轰簡浼犻�掑弬鏁扮粰瀛愮粍浠讹紝鑻ユ斁鍦╩ounted涓垯鏃犳硶浼犻�掔粰瀛愮粍浠� this.currentProductionId = this.$route.params.productionId }, mounted() { + if (!this.$route.params.productionId) return + // 鍦╩ounted涓璋冪敤姝ゆ柟娉曟槸涓轰簡鑾峰彇dom鍏冪礌 this.getWorkshopDetailsByApi() + + this.timeIntervalForShortTime = setInterval(() => { + this.$refs.workshopDeviceOverviewRef.getDeviceStatusCountByApi() + this.$refs.deviceAlarmInfoRef.getDeviceAlarmInfoByApi() + this.$refs.deviceDragLayoutRef.getDeviceListByApi() + }, 1000 * 60) + + this.timeIntervalForLongTime = setInterval(() => { + this.$refs.weekRateTrendRef.getChartDataByApi() + this.$refs.dayRateTrendRef.getChartDataByApi() + }, 1000 * 60 * 60) + }, + beforeDestroy() { + if (this.timeIntervalForShortTime || this.timeIntervalForLongTime) { + clearInterval(this.timeIntervalForShortTime) + clearInterval(this.timeIntervalForLongTime) + this.timeIntervalForShortTime = this.timeIntervalForLongTime = null + } }, methods: { // 閫氳繃杞﹂棿Id璋冪敤鎺ュ彛鑾峰彇杞﹂棿璇︾粏淇℃伅 @@ -109,6 +129,24 @@ }) }, + /** + * 鎺у埗鐭湡瀹氭椂浠诲姟寮�鍚笌鍏抽棴 + * @param checked 鍙充笅瑙掑姛鑳絪witch寮�鍏崇姸鎬� + */ + handleTimeIntervalForShortOpen(checked) { + if (checked) { + clearInterval(this.timeIntervalForShortTime) + this.timeIntervalForShortTime = null + console.log('鏆傚仠璁℃椂鍣�', this.timeIntervalForShortTime) + } else { + this.timeIntervalForShortTime = setInterval(() => { + this.$refs.workshopDeviceOverviewRef.getDeviceStatusCountByApi() + this.$refs.deviceAlarmInfoRef.getDeviceAlarmInfoByApi() + this.$refs.deviceDragLayoutRef.getDeviceListByApi() + }, 1000 * 60) + } + }, + // 淇濈暀涓や綅灏忔暟 toDecimal2NoZero(x) { const f = Math.round(x * 100) / 100 -- Gitblit v1.9.3