import { h } from 'vue' import { ElTag } from 'element-plus' import ArtButtonTable from '@/components/core/forms/art-button-table/index.vue' export function createTaskLogTableColumns({ handleView } = {}) { return [ { type: 'selection', width: 48, align: 'center' }, { type: 'globalIndex', label: '序号', width: 72, align: 'center' }, { prop: 'taskCode', label: '任务号', minWidth: 170, showOverflowTooltip: true }, { prop: 'taskStatusText', label: '任务状态', minWidth: 120, showOverflowTooltip: true }, { prop: 'taskTypeText', label: '任务类型', minWidth: 120, showOverflowTooltip: true }, { prop: 'orgLoc', label: '源库位', minWidth: 130, showOverflowTooltip: true }, { prop: 'orgSite', label: '源站点', minWidth: 130, showOverflowTooltip: true }, { prop: 'targLoc', label: '目标库位', minWidth: 130, showOverflowTooltip: true }, { prop: 'targSite', label: '目标站点', minWidth: 130, showOverflowTooltip: true }, { prop: 'barcode', label: '托盘码', minWidth: 150, showOverflowTooltip: true }, { prop: 'robotCode', label: '机器人编码', minWidth: 140, showOverflowTooltip: true }, { prop: 'startTimeText', label: '开始时间', minWidth: 170, showOverflowTooltip: true }, { prop: 'endTimeText', label: '结束时间', minWidth: 170, showOverflowTooltip: true }, { prop: 'status', label: '状态', width: 100, align: 'center', formatter: (row) => h( ElTag, { type: row?.statusType || 'info', effect: 'light' }, () => row?.statusText || '--' ) }, { prop: 'updateTimeText', label: '更新时间', minWidth: 170, showOverflowTooltip: true }, { prop: 'operation', label: '操作', width: 92, align: 'center', fixed: 'right', formatter: (row) => h(ArtButtonTable, { icon: 'ri:eye-line', onClick: () => handleView?.(row) }) } ] }