import { h } from 'vue' import { ElTag } from 'element-plus' import ArtButtonMore from '@/components/core/forms/art-button-more/index.vue' import { getPreparationActionList } from './preparationPage.helpers' export function createPreparationTableColumns({ handleActionClick } = {}) { return [ { type: 'selection', width: 48, align: 'center' }, { type: 'globalIndex', label: '序号', width: 72, align: 'center' }, { prop: 'code', label: '备料单号', minWidth: 170, showOverflowTooltip: true }, { prop: 'poCode', label: 'PO单号', minWidth: 150, showOverflowTooltip: true }, { prop: 'typeLabel', label: '单据类型', minWidth: 120, showOverflowTooltip: true }, { prop: 'wkTypeLabel', label: '业务类型', minWidth: 130, showOverflowTooltip: true }, { prop: 'customerName', label: '客户', minWidth: 160, showOverflowTooltip: true }, { prop: 'saleOrgName', label: '销售组织', minWidth: 150, showOverflowTooltip: true }, { prop: 'anfme', label: '应出数量', width: 100, align: 'right' }, { prop: 'workQty', label: '执行数量', width: 100, align: 'right' }, { prop: 'qty', label: '已出数量', width: 100, align: 'right' }, { prop: 'logisNo', label: '物流单号', minWidth: 140, showOverflowTooltip: true }, { prop: 'rleStatusText', label: '释放状态', width: 110, formatter: (row) => h( ElTag, { type: row.rleStatusTagType || 'info', effect: 'light' }, () => row.rleStatusText || '--' ) }, { prop: 'exceStatusText', label: '单据状态', width: 120, formatter: (row) => h( ElTag, { type: row.exceStatusTagType || 'info', effect: 'light' }, () => row.exceStatusText || '--' ) }, { prop: 'updateTimeText', label: '更新时间', minWidth: 170, showOverflowTooltip: true }, { prop: 'operation', label: '操作', width: 120, align: 'center', fixed: 'right', formatter: (row) => h(ArtButtonMore, { list: getPreparationActionList(row), onClick: (item) => handleActionClick?.(item, row) }) } ] }