扫码枪发商品快递时录入发货快递单号到对应产品订单明细

31 篇文章 0 订阅
运用场景:扫码枪发商品快递时录入发货快递单号到对应产品订单明细

准备:1/商品编号条形码,2/顺丰发货快递单号条形码

原理:扫码枪和键盘输入是一个效果,支持一次扫码输入13个字符,js的onkeydown事件监听,键盘输入事件,获取商品条形码号ajax弹窗打开对应商品明细页面,光标默认停到快递号文本框,再次扫码快递单号。完成录入。

效果:减少人工录入,提高效率。

部分源码

<script type="text/javascript">
//条形码接收放入数组中
var chars = new Array();
var number_regex = /^\d$/;
document.onkeydown = function (event) {
var e = event || window.event || arguments.callee.caller.arguments[0];
var tag = e.target.tagName.toLowerCase();
if(tag != 'input' && tag != 'textarea'){
var code = e.keyCode;
if(code == 13){
if(checkShipNo(chars)){
$("#barcode_delivery_link").click();
}
chars = [];
}
var chr = String.fromCharCode(code);
if (number_regex.test(chr)){
chars.push(chr);
}else{
chars = [];
}
}
};

// 往原有的url中添加条形码参数,ajax请求
$("#barcode_delivery_link").on('ajax:beforeSend', function(event, xhr, settings){
settings.url += '?ship_no=' + chars.join('');
chars = [];
});

function checkShipNo(checkArray){
validateArray = checkArray.concat().reverse();
var validate = validateArray.shift();
sum = 0;
for(var i = 0; i < validateArray.length; i++){
sum += validateArray[i] * (i + 1);
}
return validate == sum % 10 ? true : false;
}
</script>
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值