浏览代码

feat: 视觉算法自动刷新

WANGKANG 5 月之前
父节点
当前提交
b9ae5c111a
共有 3 个文件被更改,包括 42 次插入4 次删除
  1. 2 2
      src/api/modules/demo/trackSequence.ts
  2. 3 1
      src/views/demo/toInfrared/index.vue
  3. 37 1
      src/views/demo/trackSequence/index.vue

+ 2 - 2
src/api/modules/demo/trackSequence.ts

@@ -11,8 +11,8 @@ import { TrackSequenceVO, TrackSequenceForm, TrackSequenceQuery } from '@/api/in
  * @param query 参数
  * @returns 返回列表
  */
-export const listTrackSequenceApi = (query: TrackSequenceQuery) => {
-  return http.get<TrackSequenceVO[]>('/demo/trackSequence/list', query, { loading: true })
+export const listTrackSequenceApi = (query: TrackSequenceQuery, loading = true) => {
+  return http.get<TrackSequenceVO[]>('/demo/trackSequence/list', query, { loading: loading })
 }
 
 /**

+ 3 - 1
src/views/demo/toInfrared/index.vue

@@ -201,7 +201,9 @@ const refreshTable = () => {
 }
 
 onMounted(() => {
-  refreshTable()
+  setTimeout(() => {
+    refreshTable()
+  }, 5000)
 })
 
 const previewImagesRef = ref()

+ 37 - 1
src/views/demo/trackSequence/index.vue

@@ -169,6 +169,42 @@ import { AlgorithmType, SubSystem, SubSystem__, enumsAlgorithmType, enumsSubSyst
 import ViewLog from '@/views/demo/components/ViewLog.vue'
 import { addAlgorithmModelTrackApi } from '@/api/modules/demo/AlgorithmModelTrack'
 
+import { Status } from '@/views/demo/utils'
+
+const timerRefreshTable = ref()
+const clearTimerRefreshTable = () => {
+  if (timerRefreshTable.value) {
+    clearInterval(timerRefreshTable.value)
+  }
+}
+const refreshTable = () => {
+  clearTimerRefreshTable()
+  timerRefreshTable.value = setInterval(async () => {
+    await proTable.value?.getTableList(false)
+    console.log('refresh table')
+    const tableData = proTable.value?.tableData
+    let flag = false
+    if (tableData) {
+      console.log(tableData)
+      for (const item of tableData) {
+        if (item.status === Status['运行中']) {
+          flag = true
+          break
+        }
+      }
+    }
+    if (!flag) {
+      clearTimerRefreshTable()
+    }
+  }, 7000)
+}
+
+onMounted(() => {
+  setTimeout(() => {
+    refreshTable()
+  }, 7000)
+})
+
 const enumsAlgorithmConfigTrack_addModel____ = ref<any>([])
 
 const setItemsOptions222 = async () => {
@@ -436,7 +472,7 @@ const startTrackSequence = async (params: any) => {
   } else {
     ElMessage.error('任务开始失败,请检查!')
   }
-  proTable.value?.getTableList()
+  refreshTable()
 }
 
 const stopTrackSequence = async (params: any) => {