import { h } from 'vue' import { ElTag } from 'element-plus' import ArtButtonMore from '@/components/core/forms/art-button-more/index.vue' import { getDeliveryActionList } from './deliveryPage.helpers.js' export function createDeliveryTableColumns({ handleActionClick } = {}) { return [ { type: 'selection', width: 48, align: 'center' }, { type: 'globalIndex', label: '序号', width: 72, align: 'center' }, { prop: 'code', label: '单号', minWidth: 170, showOverflowTooltip: true, formatter: (row) => row.code || '--' }, { prop: 'platId', label: 'ERP主单标识', minWidth: 150, showOverflowTooltip: true, formatter: (row) => row.platId || '--' }, { prop: 'typeLabel', label: '单据类型', minWidth: 120, showOverflowTooltip: true, formatter: (row) => row.typeLabel || '--' }, { prop: 'wkTypeLabel', label: '业务类型', minWidth: 120, showOverflowTooltip: true, formatter: (row) => row.wkTypeLabel || '--' }, { prop: 'source', label: '单据来源', minWidth: 140, showOverflowTooltip: true, formatter: (row) => row.source || '--' }, { prop: 'anfme', label: '应收数量', width: 110, align: 'right', formatter: (row) => row.anfme ?? '--' }, { prop: 'workQty', label: '执行中数量', width: 110, align: 'right', formatter: (row) => row.workQty ?? '--' }, { prop: 'qty', label: '实收数量', width: 110, align: 'right', formatter: (row) => row.qty ?? '--' }, { prop: 'platCode', label: '平台单号', minWidth: 140, showOverflowTooltip: true, formatter: (row) => row.platCode || '--' }, { prop: 'status', label: '状态', width: 96, align: 'center', formatter: (row) => h(ElTag, { type: row.statusType || 'info', effect: 'light' }, () => row.statusText || '--') }, { prop: 'exceStatusText', label: '执行状态', minWidth: 120, showOverflowTooltip: true, formatter: (row) => h(ElTag, { type: row.exceStatusTagType || 'info', effect: 'light' }, () => row.exceStatusText || '--') }, { prop: 'startTimeText', label: '计划出库时间', minWidth: 170, showOverflowTooltip: true, formatter: (row) => row.startTimeText || '--' }, { prop: 'endTimeText', label: '计划出库结束时间', minWidth: 170, showOverflowTooltip: true, formatter: (row) => row.endTimeText || '--' }, { prop: 'memo', label: '备注', minWidth: 180, showOverflowTooltip: true, formatter: (row) => row.memo || '--' }, { prop: 'operation', label: '操作', width: 120, align: 'center', fixed: 'right', formatter: (row) => h(ArtButtonMore, { list: getDeliveryActionList(row), onClick: (item) => handleActionClick?.(item, row) }) } ] }