条码扫描出入库的实现方案
条码规范
采用 Code128 或 QR Code 格式,编码内容包含:
条码内容格式:{商品编码}|{批次号}|{生产日期}
示例:A2025001|B20250501|2025-05-01
生成条码
const bwipjs = require('bwip-js');
function generateBarcode(data) {
return bwipjs.toBuffer({
bcid: 'code128',
text: data,
scale: 3,
height: 10,
includetext: true
});
}
扫描入库流程
- 打开入库单,选择扫描模式
- 扫描商品条码
- 系统自动识别商品信息
- 输入入库数量(默认为1)
- 确认并保存
数据校验
function validateBarcode(barcode) {
const parts = barcode.split('|');
if (parts.length < 2) return { valid: false, msg: '条码格式错误' };
const goods = findGoodsByCode(parts[0]);
if (!goods) return { valid: false, msg: '商品不存在' };
return { valid: true, goods, batch: parts[1] };
}