This is an automated email from the ASF dual-hosted git repository.

kerwin pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git


The following commit(s) were added to refs/heads/dev by this push:
     new 3ecb4dbe24 align the workflow execution status with those from backend 
(#13243)
3ecb4dbe24 is described below

commit 3ecb4dbe24fa85b5cb070841b14cb629edd99491
Author: calvin <[email protected]>
AuthorDate: Thu Dec 22 09:21:54 2022 +0800

    align the workflow execution status with those from backend (#13243)
---
 dolphinscheduler-ui/src/common/common.ts           | 124 ++++++++++++++++++++-
 dolphinscheduler-ui/src/common/types.ts            |  25 +++++
 dolphinscheduler-ui/src/locales/en_US/project.ts   |   5 +-
 dolphinscheduler-ui/src/locales/zh_CN/project.ts   |   4 +-
 .../components/process-instance-condition.tsx      |   4 +-
 5 files changed, 157 insertions(+), 5 deletions(-)

diff --git a/dolphinscheduler-ui/src/common/common.ts 
b/dolphinscheduler-ui/src/common/common.ts
index 6858f3fa62..5928658023 100644
--- a/dolphinscheduler-ui/src/common/common.ts
+++ b/dolphinscheduler-ui/src/common/common.ts
@@ -36,7 +36,7 @@ import {
 } from '@vicons/antd'
 import { format, parseISO } from 'date-fns'
 import _ from 'lodash'
-import { ITaskStateConfig } from './types'
+import { ITaskStateConfig, IWorkflowExecutionStateConfig } from './types'
 /**
  * Intelligent display kb m
  */
@@ -142,6 +142,21 @@ export const stateType = (t: any) => [
   }))
 ]
 
+/**
+ * State code table
+ */
+export const workflowExecutionStateType = (t: any) => [
+  {
+    value: '',
+    label: `${t('project.workflow.all_status')}`
+  },
+  ...Object.entries(workflowExecutionState(t)).map(([key, item]) => ({
+    value: key,
+    label: item.desc
+  }))
+]
+
+
 /**
  * Stream task state
  */
@@ -317,6 +332,113 @@ export const tasksState = (t: any): ITaskStateConfig => ({
   }
 })
 
+/**
+ * Workflow execution status
+ * @id id
+ * @desc tooltip
+ * @color color
+ * @icon icon
+ * @isSpin is loading (Need to execute the code block to write if judgment)
+ */
+export const workflowExecutionState = (t: any): IWorkflowExecutionStateConfig 
=> ({
+  SUBMITTED_SUCCESS: {
+    id: 0,
+    desc: `${t('project.workflow.submit_success')}`,
+    color: '#A9A9A9',
+    icon: IssuesCloseOutlined,
+    isSpin: false,
+    classNames: 'submitted_success'
+  },
+  RUNNING_EXECUTION: {
+    id: 1,
+    desc: `${t('project.workflow.executing')}`,
+    color: '#0097e0',
+    icon: SettingFilled,
+    isSpin: true,
+    classNames: 'running_execution'
+  },
+  READY_PAUSE: {
+    id: 2,
+    desc: `${t('project.workflow.ready_to_pause')}`,
+    color: '#07b1a3',
+    icon: SettingOutlined,
+    isSpin: false,
+    classNames: 'ready_pause'
+  },
+  PAUSE: {
+    id: 3,
+    desc: `${t('project.workflow.pause')}`,
+    color: '#057c72',
+    icon: PauseCircleOutlined,
+    isSpin: false,
+    classNames: 'pause'
+  },
+  READY_STOP: {
+    id: 4,
+    desc: `${t('project.workflow.ready_to_stop')}`,
+    color: '#FE0402',
+    icon: StopFilled,
+    isSpin: false,
+    classNames: 'ready_stop'
+  },
+  STOP: {
+    id: 5,
+    desc: `${t('project.workflow.stop')}`,
+    color: '#e90101',
+    icon: StopOutlined,
+    isSpin: false,
+    classNames: 'stop'
+  },
+  FAILURE: {
+    id: 6,
+    desc: `${t('project.workflow.failed')}`,
+    color: '#000000',
+    icon: CloseCircleOutlined,
+    isSpin: false,
+    classNames: 'failed'
+  },
+  SUCCESS: {
+    id: 7,
+    desc: `${t('project.workflow.success')}`,
+    color: '#95DF96',
+    icon: CheckCircleOutlined,
+    isSpin: false,
+    classNames: 'success'
+  },
+  DELAY_EXECUTION: {
+    id: 12,
+    desc: `${t('project.workflow.delay_execution')}`,
+    color: '#5102ce',
+    icon: PauseCircleFilled,
+    isSpin: false,
+    classNames: 'delay_execution'
+  },
+  SERIAL_WAIT: {
+    id: 14,
+    desc: `${t('project.workflow.serial_wait')}`,
+    color: '#5102ce',
+    icon: Loading3QuartersOutlined,
+    isSpin: true,
+    classNames: 'serial_wait'
+  },
+  READY_BLOCK: {
+    id: 15,
+    desc: `${t('project.workflow.ready_to_block')}`,
+    color: '#5101be',
+    icon: SendOutlined,
+    isSpin: false,
+    classNames: 'pending'
+  },
+  BLOCK: {
+    id: 16,
+    desc: `${t('project.workflow.block')}`,
+    color: '#5101be',
+    icon: HistoryOutlined,
+    isSpin: false,
+    classNames: 'pending'
+  }
+})
+
 /**
  * A simple uuid generator, support prefix and template pattern.
  *
diff --git a/dolphinscheduler-ui/src/common/types.ts 
b/dolphinscheduler-ui/src/common/types.ts
index 20085cefc0..5f6688e618 100644
--- a/dolphinscheduler-ui/src/common/types.ts
+++ b/dolphinscheduler-ui/src/common/types.ts
@@ -35,6 +35,20 @@ export type ITaskState =
   | 'DISPATCH'
   | 'PENDING'
 
+export type IWorkflowExecutionState =
+  | 'SUBMITTED_SUCCESS'
+  | 'RUNNING_EXECUTION'
+  | 'READY_PAUSE'
+  | 'PAUSE'
+  | 'READY_STOP'
+  | 'STOP'
+  | 'FAILURE'
+  | 'SUCCESS'
+  | 'DELAY_EXECUTION'
+  | 'SERIAL_WAIT'
+  | 'READY_BLOCK'
+  | 'BLOCK'
+
 export type ITaskStateConfig = {
   [key in ITaskState]: {
     id: number
@@ -45,3 +59,14 @@ export type ITaskStateConfig = {
     classNames?: string
   }
 }
+
+export type IWorkflowExecutionStateConfig = {
+  [key in IWorkflowExecutionState]: {
+    id: number
+    desc: string
+    color: string
+    icon: Component
+    isSpin: boolean
+    classNames?: string
+  }
+}
diff --git a/dolphinscheduler-ui/src/locales/en_US/project.ts 
b/dolphinscheduler-ui/src/locales/en_US/project.ts
index b4ec631ac9..5a42e12f53 100644
--- a/dolphinscheduler-ui/src/locales/en_US/project.ts
+++ b/dolphinscheduler-ui/src/locales/en_US/project.ts
@@ -143,6 +143,7 @@ export default {
     switch_version: 'Switch To This Version',
     confirm_switch_version: 'Confirm Switch To This Version?',
     current_version: 'Current Version',
+    run_type: 'Run Type',
     scheduling_time: 'Scheduling Time',
     duration: 'Duration',
     run_times: 'Run Times',
@@ -212,7 +213,9 @@ export default {
     workflow_relation_no_data_result_title:
       'Can not find any relations of workflows.',
     workflow_relation_no_data_result_desc:
-      'There is not any workflows. Please create a workflow, and then visit 
this page again.'
+      'There is not any workflows. Please create a workflow, and then visit 
this page again.',
+    ready_to_block: 'Ready to block',
+    block: 'Block',
   },
   task: {
     on_line: 'Online',
diff --git a/dolphinscheduler-ui/src/locales/zh_CN/project.ts 
b/dolphinscheduler-ui/src/locales/zh_CN/project.ts
index dbce97e30f..54c77d4633 100644
--- a/dolphinscheduler-ui/src/locales/zh_CN/project.ts
+++ b/dolphinscheduler-ui/src/locales/zh_CN/project.ts
@@ -213,7 +213,9 @@ export default {
     project_tips: '请选择项目',
     workflow_relation_no_data_result_title: '工作流关系不存在',
     workflow_relation_no_data_result_desc:
-      '目前没有任何工作流,请先创建工作流,再访问该页面'
+      '目前没有任何工作流,请先创建工作流,再访问该页面',
+    ready_to_block: '准备锁定',
+    block: '锁定',
   },
   task: {
     on_line: '线上',
diff --git 
a/dolphinscheduler-ui/src/views/projects/workflow/instance/components/process-instance-condition.tsx
 
b/dolphinscheduler-ui/src/views/projects/workflow/instance/components/process-instance-condition.tsx
index 7064fdb368..8d4da73630 100644
--- 
a/dolphinscheduler-ui/src/views/projects/workflow/instance/components/process-instance-condition.tsx
+++ 
b/dolphinscheduler-ui/src/views/projects/workflow/instance/components/process-instance-condition.tsx
@@ -20,7 +20,7 @@ import { NInput, NButton, NDatePicker, NSelect, NIcon, NSpace 
} from 'naive-ui'
 import { defineComponent, getCurrentInstance, ref } from 'vue'
 import { useI18n } from 'vue-i18n'
 import { format } from 'date-fns'
-import { stateType } from '@/common/common'
+import { workflowExecutionStateType } from '@/common/common'
 
 export default defineComponent({
   name: 'ProcessInstanceCondition',
@@ -88,7 +88,7 @@ export default defineComponent({
   },
   render() {
     const { t } = useI18n()
-    const options = stateType(t)
+    const options = workflowExecutionStateType(t)
 
     return (
       <NSpace justify='end'>

Reply via email to