| | |
| | | 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'; |
| | |
| | | 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'; |
| | |
| | | /** 添加物料 */ |
| | | 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(); |
| | | } |
| | | |
| | | /** 编辑物料 */ |
| | |
| | | <div> |
| | | <LineFormModal @success="handleRefresh" /> |
| | | <DetailFormModal @success="handleDetailSuccess" /> |
| | | <TraceScanPanel |
| | | v-if="isEditable" |
| | | title="扫码带出领料明细" |
| | | @confirm="handleTraceConfirm" |
| | | /> |
| | | <Grid table-title="物料信息"> |
| | | <template v-if="isEditable" #toolbar-tools> |
| | | <TableAction |