diff --git a/ui/src/components/workflow/WorkflowRunDetailDrawer.tsx b/ui/src/components/workflow/WorkflowRunDetailDrawer.tsx index 141d8ad4..5c052aa1 100644 --- a/ui/src/components/workflow/WorkflowRunDetailDrawer.tsx +++ b/ui/src/components/workflow/WorkflowRunDetailDrawer.tsx @@ -42,12 +42,12 @@ const WorkflowRunDetailDrawer = ({ data, loading, trigger, ...props }: WorkflowR
- {data!.logs.map((item, i) => { + {data!.logs?.map((item, i) => { return (
{item.nodeName}
- {item.outputs.map((output, j) => { + {item.outputs?.map((output, j) => { return (
[{dayjs(output.time).format("YYYY-MM-DD HH:mm:ss")}]
diff --git a/ui/src/domain/workflowRun.ts b/ui/src/domain/workflowRun.ts index 95b44546..eaac90b4 100644 --- a/ui/src/domain/workflowRun.ts +++ b/ui/src/domain/workflowRun.ts @@ -6,8 +6,8 @@ export interface WorkflowRunModel extends BaseModel { trigger: string; startedAt: ISO8601String; endedAt: ISO8601String; - logs: WorkflowRunLog[]; - error: string; + logs?: WorkflowRunLog[]; + error?: string; expand?: { workflowId?: WorkflowModel; }; @@ -16,15 +16,15 @@ export interface WorkflowRunModel extends BaseModel { export type WorkflowRunLog = { nodeId: string; nodeName: string; - outputs: WorkflowRunLogOutput[]; - error: string; + outputs?: WorkflowRunLogOutput[]; + error?: string; }; export type WorkflowRunLogOutput = { time: ISO8601String; title: string; content: string; - error: string; + error?: string; }; export const WORKFLOW_RUN_STATUSES = Object.freeze({ diff --git a/ui/src/pages/workflows/WorkflowList.tsx b/ui/src/pages/workflows/WorkflowList.tsx index f997b98d..a1fce6c1 100644 --- a/ui/src/pages/workflows/WorkflowList.tsx +++ b/ui/src/pages/workflows/WorkflowList.tsx @@ -7,6 +7,7 @@ import { DeleteOutlined as DeleteOutlinedIcon, EditOutlined as EditOutlinedIcon, PlusOutlined as PlusOutlinedIcon, + SyncOutlined as SyncOutlinedIcon, } from "@ant-design/icons"; import { PageHeader } from "@ant-design/pro-components"; @@ -159,7 +160,14 @@ const WorkflowList = () => { title: t("workflow.props.last_run_at"), render: (_, record) => { if (record.lastRunId) { - if (record.lastRunStatus === WORKFLOW_RUN_STATUSES.SUCCEEDED) { + if (record.lastRunStatus === WORKFLOW_RUN_STATUSES.RUNNING) { + return ( + + } /> + {dayjs(record.lastRunTime!).format("YYYY-MM-DD HH:mm:ss")} + + ); + } else if (record.lastRunStatus === WORKFLOW_RUN_STATUSES.SUCCEEDED) { return ( } />