From 49d084254f77912b46b5abc3e82bc2f6a14a2363 Mon Sep 17 00:00:00 2001
From: songshankun <songshankun@foxmail.com>
Date: 星期三, 15 十一月 2023 11:05:58 +0800
Subject: [PATCH] feat: 修复工序运行时间不更新的问题; 选中已完成任务工序运行时间以选中任务为准

---
 src/views/dashboard/components/DeviceStatusInfo.vue |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/src/views/dashboard/components/DeviceStatusInfo.vue b/src/views/dashboard/components/DeviceStatusInfo.vue
index 8baea36..6e8461d 100644
--- a/src/views/dashboard/components/DeviceStatusInfo.vue
+++ b/src/views/dashboard/components/DeviceStatusInfo.vue
@@ -74,6 +74,7 @@
 import { storeToRefs } from 'pinia'
 import type { TasksGroupByChannel } from '@/api/task'
 import { isNumber } from 'lodash-es'
+import { useInterval } from '@vueuse/core'
 
 export interface DeviceStatusInfoProps {
   plc?: PLCResponse
@@ -165,8 +166,17 @@
 // 宸ュ簭杩愯鏃堕棿
 const taskStore = useTasksStore()
 const { activeTask, channels } = storeToRefs(taskStore)
-// 宸ュ簭杩愯鏃堕棿: 浣跨敤褰撳墠閫変腑浠诲姟鎵�鍦ㄩ�氶亾鐨勬澶勪簬杩愯涓殑浠诲姟鏉ュ睍绀�
+const { counter, reset } = useInterval(1000, { controls: true })
 const runningTime = computed(() => {
+  if (counter.value > 1000) {
+    // 鎷夸竴涓� counter 瀹氭椂瑙﹀彂宸ュ簭杩愯鏃堕棿鐨勯噸鏂拌绠楀拰娓叉煋, 闃叉婧㈠嚭闇�瑕侀噸缃�
+    reset()
+  }
+  // 濡傛灉褰撳墠閫変腑鐨勬槸宸插畬鎴愮殑浠诲姟, 浣跨敤褰撳墠閫変腑浠诲姟鏉ュ睍绀�
+  if (activeTask?.value?.Procedure?.Status === 3) {
+    return getTaskRunningTime(activeTask.value.Procedure?.realStartTime, activeTask.value.Procedure?.realEndTime)
+  }
+  // 濡傛灉褰撳墠閫変腑鐨勬槸杩愯涓垨鑰呮湭寮�濮嬬殑浠诲姟, 浣跨敤褰撳墠閫変腑浠诲姟鎵�鍦ㄩ�氶亾鐨勬澶勪簬杩愯涓殑浠诲姟鏉ュ睍绀�
   const runningTask = getChannelRunningTask(channels?.value, activeTask?.value?.Channel)
   return getTaskRunningTime(runningTask?.Procedure?.realStartTime, runningTask?.Procedure?.realEndTime)
 })

--
Gitblit v1.8.0