From 509905e7b41e446ef2150030222c25082ce176fd Mon Sep 17 00:00:00 2001 From: dhb52 Date: Fri, 16 Aug 2024 23:06:57 +0800 Subject: [PATCH] =?UTF-8?q?feat(sj=5F1.2.0-beta1):=20JobBatch=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0[=E6=89=A7=E8=A1=8C=E6=97=B6=E9=95=BF]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/locales/langs/en-us.ts | 1 + src/locales/langs/zh-cn.ts | 1 + src/typings/api.d.ts | 2 ++ src/typings/app.d.ts | 1 + src/views/job/batch/index.vue | 13 +++++++++++++ 5 files changed, 18 insertions(+) diff --git a/src/locales/langs/en-us.ts b/src/locales/langs/en-us.ts index cf430fb..ebe9d4c 100644 --- a/src/locales/langs/en-us.ts +++ b/src/locales/langs/en-us.ts @@ -830,6 +830,7 @@ const local: App.I18n.Schema = { executorInfo: 'Executor Name', executorType: 'Executor type', executionAt: 'Start execution time', + duration: 'Execution duration (s)', taskBatchStatus: 'Task Batch Status', operationReason: 'Reason for operation', form: { diff --git a/src/locales/langs/zh-cn.ts b/src/locales/langs/zh-cn.ts index 8f7a373..2ac8561 100644 --- a/src/locales/langs/zh-cn.ts +++ b/src/locales/langs/zh-cn.ts @@ -837,6 +837,7 @@ const local: App.I18n.Schema = { executorInfo: '执行器名称', executorType: '执行器类型', executionAt: '开始执行时间', + duration: '执行时长(秒)', taskBatchStatus: '状态', operationReason: '操作原因', form: { diff --git a/src/typings/api.d.ts b/src/typings/api.d.ts index e5cccd1..538ef6a 100644 --- a/src/typings/api.d.ts +++ b/src/typings/api.d.ts @@ -1113,6 +1113,8 @@ declare namespace Api { taskBatchStatus: Common.TaskBatchStatus; /** 开始执行时间 */ executionAt: string; + /** 执行时长(virtual) */ + duration?: number; /** 操作原因 */ operationReason: Common.OperationReason; /** 执行器类型 */ diff --git a/src/typings/app.d.ts b/src/typings/app.d.ts index 2b27efa..f9b9367 100644 --- a/src/typings/app.d.ts +++ b/src/typings/app.d.ts @@ -1037,6 +1037,7 @@ declare namespace App { executorInfo: string; executorType: string; executionAt: string; + duration: string; taskBatchStatus: string; operationReason: string; form: { diff --git a/src/views/job/batch/index.vue b/src/views/job/batch/index.vue index dfdbe78..bf03233 100644 --- a/src/views/job/batch/index.vue +++ b/src/views/job/batch/index.vue @@ -2,6 +2,7 @@ import { NButton, NPopconfirm, NTag, NTooltip } from 'naive-ui'; import { useBoolean } from '@sa/hooks'; import { ref } from 'vue'; +import dayjs from 'dayjs'; import { fetchBatchDeleteJobBatch, fetchDeleteJobBatch, @@ -123,6 +124,18 @@ const { columnChecks, columns, data, getData, loading, mobilePagination, searchP align: 'center', width: 120 }, + { + key: 'duration', + title: $t('page.jobBatch.duration'), + align: 'center', + width: 120, + render: row => { + if (row.taskBatchStatus === 3) { + return Math.round(dayjs(row.updateDt).diff(dayjs(row.executionAt)) / 1000); + } + return null; + } + }, { key: 'taskBatchStatus', title: $t('page.jobBatch.taskBatchStatus'),