未验证 提交 45b4445e 编写于 作者: M Mr.An 提交者: GitHub

improve task flow date time exception handle (#9732)

上级 ea002452
......@@ -33,7 +33,7 @@ import {
IssuesCloseOutlined,
SendOutlined
} from '@vicons/antd'
import { parseISO } from 'date-fns'
import { format, parseISO } from 'date-fns'
import _ from 'lodash'
import { ITaskStateConfig } from './types'
......@@ -314,10 +314,14 @@ export const warningTypeList = [
}
]
export const parseTime = (dateTime: string | number) => {
if (_.isString(dateTime) === true) {
return parseISO(dateTime as string)
} else {
return new Date(dateTime)
}
export const parseTime = (dateTime: string | number): Date => {
return _.isString(dateTime) === true
? parseISO(dateTime as string)
: new Date(dateTime)
}
export const renderTableTime = (
dateTime: string | number | null | undefined
): string => {
return dateTime ? format(parseTime(dateTime), 'yyyy-MM-dd HH:mm:ss') : '-'
}
......@@ -32,7 +32,7 @@ import {
} from '@vicons/antd'
import { format } from 'date-fns'
import { useRoute, useRouter } from 'vue-router'
import { parseTime, tasksState } from '@/common/common'
import { parseTime, renderTableTime, tasksState } from '@/common/common'
import {
COLUMN_WIDTH_CONFIG,
calculateTableWidth,
......@@ -123,17 +123,20 @@ export function useTable() {
{
title: t('project.task.submit_time'),
...COLUMN_WIDTH_CONFIG['time'],
key: 'submitTime'
key: 'submitTime',
render: (row: IRecord) => renderTableTime(row.submitTime)
},
{
title: t('project.task.start_time'),
...COLUMN_WIDTH_CONFIG['time'],
key: 'startTime'
key: 'startTime',
render: (row: IRecord) => renderTableTime(row.startTime)
},
{
title: t('project.task.end_time'),
...COLUMN_WIDTH_CONFIG['time'],
key: 'endTime'
key: 'endTime',
render: (row: IRecord) => renderTableTime(row.endTime)
},
{
title: t('project.task.duration'),
......@@ -298,23 +301,7 @@ export function useTable() {
const { state } = useAsyncState(
queryTaskListPaging(data, { projectCode }).then(
(res: TaskInstancesRes) => {
variables.tableData = res.totalList.map((item, unused) => {
item.submitTime = format(
parseTime(item.submitTime),
'yyyy-MM-dd HH:mm:ss'
)
item.startTime = format(
parseTime(item.startTime),
'yyyy-MM-dd HH:mm:ss'
)
item.endTime = format(
parseTime(item.endTime),
'yyyy-MM-dd HH:mm:ss'
)
return {
...item
}
}) as any
variables.tableData = res.totalList as IRecord[]
variables.totalPage = res.totalPage
variables.loadingRef = false
}
......
......@@ -16,7 +16,6 @@
*/
import _ from 'lodash'
import { format } from 'date-fns'
import { reactive, h, ref } from 'vue'
import { useI18n } from 'vue-i18n'
import { useRouter } from 'vue-router'
......@@ -29,8 +28,7 @@ import {
} from '@/service/modules/process-instances'
import { execute } from '@/service/modules/executors'
import TableAction from './components/table-action'
import { runningType } from '@/common/common'
import { parseTime } from '@/common/common'
import { renderTableTime, runningType } from '@/common/common'
import styles from './index.module.scss'
import { renderStateCell } from '../../task/instance/use-table'
import {
......@@ -119,28 +117,19 @@ export function useTable() {
title: t('project.workflow.scheduling_time'),
key: 'scheduleTime',
...COLUMN_WIDTH_CONFIG['time'],
render: (_row: IWorkflowInstance) =>
_row.scheduleTime
? format(parseTime(_row.scheduleTime), 'yyyy-MM-dd HH:mm:ss')
: '-'
render: (_row: IWorkflowInstance) => renderTableTime(_row.scheduleTime)
},
{
title: t('project.workflow.start_time'),
key: 'startTime',
...COLUMN_WIDTH_CONFIG['time'],
render: (_row: IWorkflowInstance) =>
_row.startTime
? format(parseTime(_row.startTime), 'yyyy-MM-dd HH:mm:ss')
: '-'
render: (_row: IWorkflowInstance) => renderTableTime(_row.startTime)
},
{
title: t('project.workflow.end_time'),
key: 'endTime',
...COLUMN_WIDTH_CONFIG['time'],
render: (_row: IWorkflowInstance) =>
_row.endTime
? format(parseTime(_row.endTime), 'yyyy-MM-dd HH:mm:ss')
: '-'
render: (_row: IWorkflowInstance) => renderTableTime(_row.endTime)
},
{
title: t('project.workflow.duration'),
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册