| | |
| | | /** 二维码展示内容:配置了溯源地址则拼 H5 URL,否则回退纯码值(与后端 buildQrCodeContent 一致) */ |
| | | const qrContent = computed(() => { |
| | | if (!currentCode.value) return ""; |
| | | const code = bagTrace.value?.code || currentCode.value; |
| | | return traceBaseUrl.value |
| | | ? `${traceBaseUrl.value}?code=${encodeURIComponent(currentCode.value)}` |
| | | : currentCode.value; |
| | | ? `${traceBaseUrl.value}?code=${encodeURIComponent(code)}` |
| | | : code; |
| | | }); |
| | | |
| | | /** 从完整 H5 链接中提取追溯码(兼容扫码枪扫描打印标签链接) */ |
| | |
| | | const type = await resolveTraceType(value); |
| | | if (type === "bag") { |
| | | bagTrace.value = await getBagCodeByCode(value); |
| | | currentCode.value = bagTrace.value.code || value; |
| | | traceTypeLabel.value = "袋码"; |
| | | } else if (type === "pallet") { |
| | | palletTrace.value = await getPalletByCode(value); |
| | | currentCode.value = palletTrace.value.code || palletTrace.value.tempCode || value; |
| | | traceTypeLabel.value = "托盘码"; |
| | | } else if (type === "batch") { |
| | | batchTrace.value = await getBatchByCode(value); |
| | | currentCode.value = batchTrace.value.code || batchTrace.value.tempCode || value; |
| | | traceTypeLabel.value = "批次号"; |
| | | } else { |
| | | searchError.value = true; |
| | |
| | | schema: [ |
| | | { |
| | | field: "code", |
| | | label: "袋码(二维码内容)", |
| | | label: "追溯码", |
| | | span: 2, |
| | | }, |
| | | { field: 'businessCode', label: '业务码(出入库)', span: 2 }, |
| | | { |
| | | field: "bagNo", |
| | | label: "袋序号", |