import { h } from 'vue' import { ElTag } from 'element-plus' import ArtButtonTable from '@/components/core/forms/art-button-table/index.vue' export function createSubsystemFlowTemplateTableColumns({ handleView } = {}) { return [ { type: 'selection', width: 48, align: 'center' }, { type: 'globalIndex', label: '序号', width: 72, align: 'center' }, { prop: 'flowCode', label: '流程编码', minWidth: 160, showOverflowTooltip: true }, { prop: 'flowName', label: '流程名称', minWidth: 160, showOverflowTooltip: true }, { prop: 'systemCode', label: '系统编码', minWidth: 120, showOverflowTooltip: true }, { prop: 'systemName', label: '系统名称', minWidth: 140, showOverflowTooltip: true }, { prop: 'nodeType', label: '节点类型', minWidth: 120, showOverflowTooltip: true }, { prop: 'version', label: '版本', width: 90, align: 'center' }, { prop: 'isCurrentText', label: '当前版本', width: 100, align: 'center' }, { prop: 'timeoutStrategy', label: '超时策略', minWidth: 120, showOverflowTooltip: true }, { prop: 'timeoutSeconds', label: '超时(秒)', width: 100, align: 'right' }, { prop: 'maxRetryTimes', label: '最大重试次数', width: 120, 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) }) } ] }