import { h } from 'vue' import { ElTag } from 'element-plus' import ArtButtonTable from '@/components/core/forms/art-button-table/index.vue' export function createTaskItemLogTableColumns({ handleView } = {}) { return [ { type: 'selection', width: 48, align: 'center' }, { type: 'globalIndex', label: '序号', width: 72, align: 'center' }, { prop: 'taskId', label: '任务ID', width: 110, showOverflowTooltip: true }, { prop: 'taskItemId', label: '任务明细ID', width: 120, showOverflowTooltip: true }, { prop: 'matnrId', label: '物料ID', width: 110, showOverflowTooltip: true }, { prop: 'maktx', label: '物料名称', minWidth: 160, showOverflowTooltip: true }, { prop: 'platWorkCode', label: '工单号', minWidth: 150, showOverflowTooltip: true }, { prop: 'platOrderCode', label: '客户订单号', minWidth: 150, showOverflowTooltip: true }, { prop: 'projectCode', label: '项目号', minWidth: 130, showOverflowTooltip: true }, { prop: 'source', label: '源编码', width: 110, showOverflowTooltip: true }, { prop: 'sourceCode', label: '源单号', minWidth: 150, showOverflowTooltip: true }, { prop: 'matnrCode', label: '物料编码', minWidth: 150, showOverflowTooltip: true }, { prop: 'unit', label: '库存单位', width: 100, showOverflowTooltip: true }, { prop: 'anfme', label: '数量', width: 100, align: 'right', showOverflowTooltip: true }, { prop: 'batch', label: '库存批次', minWidth: 140, showOverflowTooltip: true }, { prop: 'spec', label: '规格', minWidth: 130, showOverflowTooltip: true }, { prop: 'model', label: '型号', minWidth: 130, showOverflowTooltip: true }, { prop: 'fieldsIndex', label: '字段索引', minWidth: 130, showOverflowTooltip: true }, { prop: 'createByText', label: '创建人', minWidth: 120, showOverflowTooltip: true }, { prop: 'createTimeText', label: '创建时间', minWidth: 170, showOverflowTooltip: true }, { prop: 'updateByText', label: '更新人', minWidth: 120, showOverflowTooltip: true }, { prop: 'updateTimeText', 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: '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) }) } ] }