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