zhou zhou
1 天以前 aaf8a50511d77dbc209ca93bbba308c21179a8bc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import { h } from 'vue'
import { ElTag } from 'element-plus'
import ArtButtonTable from '@/components/core/forms/art-button-table/index.vue'
 
export function createFlowStepInstanceTableColumns({ handleView } = {}) {
  return [
    { type: 'selection', width: 48, align: 'center' },
    { type: 'globalIndex', label: '序号', width: 72, align: 'center' },
    { prop: 'flowInstanceNo', label: '流程实例号', minWidth: 180, showOverflowTooltip: true },
    { prop: 'stepCode', label: '步骤编码', minWidth: 140, showOverflowTooltip: true },
    { prop: 'stepName', label: '步骤名称', minWidth: 160, showOverflowTooltip: true },
    { prop: 'stepType', label: '步骤类型', minWidth: 120, showOverflowTooltip: true },
    { prop: 'executeResult', label: '执行结果', minWidth: 160, showOverflowTooltip: true },
    { prop: 'startTimeText', label: '开始时间', minWidth: 170, showOverflowTooltip: true },
    { prop: 'endTimeText', label: '结束时间', minWidth: 170, showOverflowTooltip: true },
    { prop: 'durationSeconds', label: '耗时(秒)', width: 110, align: 'right' },
    {
      prop: 'statusText',
      label: '状态',
      width: 100,
      align: 'center',
      formatter: (row) =>
        h(ElTag, { type: row?.statusType || 'info', effect: 'light' }, () => row?.statusText || '--')
    },
    { prop: 'memo', label: '备注', minWidth: 180, showOverflowTooltip: true },
    {
      prop: 'operation',
      label: '操作',
      width: 92,
      align: 'center',
      fixed: 'right',
      formatter: (row) => h(ArtButtonTable, { icon: 'ri:eye-line', onClick: () => handleView?.(row) })
    }
  ]
}