From db22065790718b808ceb6eb371128ee0264585f5 Mon Sep 17 00:00:00 2001 From: yueli Date: Tue, 1 Sep 2026 15:45:16 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=8D=8A=E6=88=90=E5=93=81=E6=89=AB?= =?UTF-8?q?=E7=A0=81=E5=85=A5=E5=BA=93=E6=8C=89=20external=5Fserial=20?= =?UTF-8?q?=E7=B2=BE=E5=87=86=E5=88=A4=E5=AE=9A=E6=A8=A1=E5=BC=8F=E5=B9=B6?= =?UTF-8?q?=E6=81=A2=E5=A4=8D=E6=89=B9=E5=8F=B7=E8=81=94=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - external_serial 有值 → SN + 填外部序列号;为空 → Batch(不再因身份证有值误切 SN) - Batch 模式恢复批号自增(onMaterialSelected→checkHistoryAndSetMode),空时兜底 000001 - Batch 下 16 位身份证回填序列号字段,随提交载荷供 Webhook 通知 Track --- inventory-web/src/views/stock/inbound/semi.vue | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/inventory-web/src/views/stock/inbound/semi.vue b/inventory-web/src/views/stock/inbound/semi.vue index 7d418d7..0dccdb4 100644 --- a/inventory-web/src/views/stock/inbound/semi.vue +++ b/inventory-web/src/views/stock/inbound/semi.vue @@ -1501,15 +1501,23 @@ const handleScannerConfirm = (result: string) => { // Track 扫码入库:扫码面板扫到身份证后,自动带出物料基础信息 + 序列号 const handleTrackScanFill = async (data: { track: any; material: any }) => { const { track, material } = data + // 选择物料:触发原生联动(基础信息/历史库位/历史模式与批号自增) await onMaterialSelected(material) - // 优先使用真实自定义序列号(external_serial),回退到 16 位系统身份证 - form.serial_number = track.external_serial || track.serial_number || '' - // 自动切换入库模式:有真实序列号 → 强制 SN;否则 → Batch - if (form.serial_number) { + + if (track.external_serial) { + // 序列号管理产品:切 SN,填真实外部业务序列号 entryMode.value = 'serial' modeLocked.value = false // 扫码为明确序列号输入,解除历史锁定 + form.serial_number = track.external_serial + form.batch_number = '' } else { + // 批次管理产品:切 Batch,恢复批号自增(onMaterialSelected→checkHistoryAndSetMode 已按历史生成) entryMode.value = 'batch' + modeLocked.value = false + // 批号兜底:无历史/历史为 SN 时确保有默认批号,避免阻断校验 + if (!form.batch_number) form.batch_number = '000001' + // 16 位身份证回填序列号字段(Batch 下该字段禁用,随提交载荷供 Webhook 精准通知 Track) + form.serial_number = track.serial_number || '' } ElMessage.success('扫码入库信息已自动填充,请核对后补充库位/数量等') }