From 3667807a7b7418efc090ee3fa6a6b734bc3080bf Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Wed, 13 Sep 2023 20:36:29 +0800
Subject: [PATCH] Merge branch 'develop' of http://s16s652780.51mypc.cn:49896/r/yskj/iot_drone_web into develop

---
 src/components/task/use-format-task.ts |   46 ++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 42 insertions(+), 4 deletions(-)

diff --git a/src/components/task/use-format-task.ts b/src/components/task/use-format-task.ts
index 167a581..a3eb7d5 100644
--- a/src/components/task/use-format-task.ts
+++ b/src/components/task/use-format-task.ts
@@ -1,10 +1,11 @@
 import { DEFAULT_PLACEHOLDER } from '/@/utils/constants'
-import { Task } from '/@/api/wayline'
-import { TaskStatusColor, TaskStatusMap, TaskTypeMap, OutOfControlActionMap } from '/@/types/task'
+import { Task, waylineJob } from '/@/api/wayline'
+import { TaskStatusColor, TaskStatusMap, TaskTypeMap, OutOfControlActionMap, MediaStatusMap, MediaStatusColorMap, MediaStatus } from '/@/types/task'
+import { isNil } from 'lodash'
 
 export function useFormatTask () {
-  function formatTaskType (task: Task) {
-    return TaskTypeMap[task.task_type] || DEFAULT_PLACEHOLDER
+  function formatTaskType (task: waylineJob) {
+    return TaskTypeMap[task.taskType] || DEFAULT_PLACEHOLDER
   }
 
   function formatTaskTime (time: string) {
@@ -26,10 +27,47 @@
     return statusObj
   }
 
+  function formatMediaTaskStatus (task: Task) {
+    const statusObj = {
+      text: '',
+      color: '',
+      number: '',
+      status: MediaStatus.Empty,
+    }
+    const { media_count, uploaded_count, uploading } = task
+    if (isNil(media_count) || isNaN(media_count)) {
+      return statusObj
+    }
+    const expectedFileCount = media_count || 0
+    const uploadedFileCount = uploaded_count || 0
+    if (media_count === 0) {
+      statusObj.text = MediaStatusMap[MediaStatus.Empty]
+      statusObj.color = MediaStatusColorMap[MediaStatus.Empty]
+    } else if (media_count === uploaded_count) {
+      statusObj.text = MediaStatusMap[MediaStatus.Success]
+      statusObj.color = MediaStatusColorMap[MediaStatus.Success]
+      statusObj.number = `(${uploadedFileCount}/${expectedFileCount})`
+      statusObj.status = MediaStatus.Success
+    } else {
+      if (uploading) {
+        statusObj.text = MediaStatusMap[MediaStatus.Uploading]
+        statusObj.color = MediaStatusColorMap[MediaStatus.Uploading]
+        statusObj.status = MediaStatus.Uploading
+      } else {
+        statusObj.text = MediaStatusMap[MediaStatus.ToUpload]
+        statusObj.color = MediaStatusColorMap[MediaStatus.ToUpload]
+        statusObj.status = MediaStatus.ToUpload
+      }
+      statusObj.number = `(${uploadedFileCount}/${expectedFileCount})`
+    }
+    return statusObj
+  }
+
   return {
     formatTaskType,
     formatTaskTime,
     formatLostAction,
     formatTaskStatus,
+    formatMediaTaskStatus,
   }
 }

--
Gitblit v1.9.3