zhou zhou
3 天以前 50e95b985a72fcec4a93a2470e9efdfb2620148a
rsf-design/src/views/orders/delivery-item/index.vue
@@ -3,10 +3,10 @@
    <ElCard v-if="activeSourceSummary" class="mb-3">
      <div class="flex items-center justify-between gap-3">
        <div class="flex items-center gap-2 text-sm text-[var(--art-text-gray-600)]">
          <span class="font-medium text-[var(--art-text-gray-900)]">当前来源</span>
          <span>DO单ID:{{ activeSourceSummary.deliveryId }}</span>
          <span class="font-medium text-[var(--art-text-gray-900)]">{{ t('pages.orders.deliveryItem.sourceTitle') }}</span>
          <span>{{ t('pages.orders.deliveryItem.sourceLabel', { id: activeSourceSummary.deliveryId }) }}</span>
        </div>
        <ElButton link type="primary" @click="handleClearSourceFilter">查看全部</ElButton>
        <ElButton link type="primary" @click="handleClearSourceFilter">{{ t('common.actions.viewAll') }}</ElButton>
      </div>
    </ElCard>
@@ -41,6 +41,7 @@
<script setup>
  import { computed, onMounted, ref, watch } from 'vue'
  import { useI18n } from 'vue-i18n'
  import { ElButton, ElMessage } from 'element-plus'
  import { useRoute, useRouter } from 'vue-router'
  import { useTable } from '@/hooks/core/useTable'
@@ -56,6 +57,7 @@
  defineOptions({ name: 'DeliveryItem' })
  const { t } = useI18n()
  const route = useRoute()
  const router = useRouter()
  const searchForm = ref(createDeliveryItemSearchState())
@@ -74,66 +76,66 @@
  const searchItems = computed(() => [
    {
      label: '关键字',
      label: t('table.keyword'),
      key: 'condition',
      type: 'input',
      props: {
        clearable: true,
        placeholder: '请输入交接单号/物料编码/物料名称'
        placeholder: t('pages.orders.deliveryItem.search.conditionPlaceholder')
      }
    },
    {
      label: '交接单号',
      label: t('pages.orders.deliveryItem.search.deliveryCode'),
      key: 'deliveryCode',
      type: 'input',
      props: {
        clearable: true,
        placeholder: '请输入交接单号'
        placeholder: t('pages.orders.deliveryItem.search.deliveryCodePlaceholder')
      }
    },
    {
      label: '平台行号',
      label: t('pages.orders.deliveryItem.search.platItemId'),
      key: 'platItemId',
      type: 'input',
      props: {
        clearable: true,
        placeholder: '请输入平台行号'
        placeholder: t('pages.orders.deliveryItem.search.platItemIdPlaceholder')
      }
    },
    {
      label: '物料编码',
      label: t('table.materialCode'),
      key: 'matnrCode',
      type: 'input',
      props: {
        clearable: true,
        placeholder: '请输入物料编码'
        placeholder: t('pages.orders.deliveryItem.search.matnrCodePlaceholder')
      }
    },
    {
      label: '物料名称',
      label: t('table.materialName'),
      key: 'maktx',
      type: 'input',
      props: {
        clearable: true,
        placeholder: '请输入物料名称'
        placeholder: t('pages.orders.deliveryItem.search.maktxPlaceholder')
      }
    },
    {
      label: '供应商名称',
      label: t('pages.orders.deliveryItem.search.supplierName'),
      key: 'splrName',
      type: 'input',
      props: {
        clearable: true,
        placeholder: '请输入供应商名称'
        placeholder: t('pages.orders.deliveryItem.search.supplierNamePlaceholder')
      }
    },
    {
      label: '供应商批次',
      label: t('table.supplierBatch'),
      key: 'splrBatch',
      type: 'input',
      props: {
        clearable: true,
        placeholder: '请输入供应商批次'
        placeholder: t('pages.orders.deliveryItem.search.supplierBatchPlaceholder')
      }
    }
  ])
@@ -142,15 +144,15 @@
    detailDrawerVisible.value = true
    detailLoading.value = true
    guardRequestWithMessage(fetchGetDeliveryItemDetail(row.id), {}, {
      timeoutMessage: '交接单明细详情加载超时,已停止等待'
      timeoutMessage: t('pages.orders.deliveryItem.messages.detailTimeout')
    })
      .then((detail) => {
        detailData.value = normalizeDeliveryItemRow(detail)
        detailData.value = normalizeDeliveryItemRow(detail, t)
      })
      .catch((error) => {
        detailDrawerVisible.value = false
        detailData.value = {}
        ElMessage.error(error?.message || '获取交接单明细详情失败')
        ElMessage.error(error?.message || t('pages.orders.deliveryItem.messages.detailFailed'))
      })
      .finally(() => {
        detailLoading.value = false
@@ -176,11 +178,11 @@
        ...searchForm.value,
        pageSize: 20
      }),
      columnsFactory: () => createDeliveryItemTableColumns({ handleActionClick: openDetail })
      columnsFactory: () => createDeliveryItemTableColumns({ handleActionClick: openDetail, t })
    },
    transform: {
      dataTransformer: (records) =>
        Array.isArray(records) ? records.map((item) => normalizeDeliveryItemRow(item)) : []
        Array.isArray(records) ? records.map((item) => normalizeDeliveryItemRow(item, t)) : []
    }
  })