zhou zhou
昨天 50e95b985a72fcec4a93a2470e9efdfb2620148a
rsf-design/src/views/orders/out-stock/outStockTable.columns.js
@@ -1,112 +1,114 @@
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)
        })
    }