云
5 天以前 7a93a85f75bcfc8001ea1d3b921860806a8209ac
src/views/wls/productissue/modules/line-list.vue
@@ -5,6 +5,8 @@
import type { MesWmProductIssueDetailApi } from '#/api/mes/wm/productissue/detail';
import type { MesWmProductIssueLineApi } from '#/api/mes/wm/productissue/line';
import type { TraceResult } from '#/utils/traceLookup';
import { computed, reactive } from 'vue';
import { useVbenModal } from '@vben/common-ui';
@@ -17,7 +19,9 @@
  deleteProductIssueLine,
  getProductIssueLinePage,
} from '#/api/mes/wm/productissue/line';
import TraceScanPanel from '#/components/TraceScanPanel.vue';
import { $t } from '#/locales';
import { traceQuantity } from '#/utils/traceLookup';
import { useLineGridColumns } from '../data';
import DetailForm from './detail-form.vue';
@@ -59,6 +63,23 @@
/** 添加物料 */
function handleCreate() {
  lineFormModalApi.setData({ issueId: props.issueId }).open();
}
/** 扫码带出:按追溯码带出物料与数量 */
function handleTraceConfirm(trace: TraceResult) {
  if (!trace.data.itemId) {
    message.warning('该追溯码未绑定物料');
    return;
  }
  lineFormModalApi
    .setData({
      defaults: {
        itemId: trace.data.itemId,
        quantity: traceQuantity(trace),
      },
      issueId: props.issueId,
    })
    .open();
}
/** 编辑物料 */
@@ -167,6 +188,11 @@
  <div>
    <LineFormModal @success="handleRefresh" />
    <DetailFormModal @success="handleDetailSuccess" />
    <TraceScanPanel
      v-if="isEditable"
      title="扫码带出领料明细"
      @confirm="handleTraceConfirm"
    />
    <Grid table-title="物料信息">
      <template v-if="isEditable" #toolbar-tools>
        <TableAction