123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241 |
- setTimeout(function() {
- $('#waveNo').focus();
- }, 1000);
- $("#waveNo").blur(function() {
- var waveNo = trimStr($("#waveNo").val());
- if(waveNo == '') {
- $('#waveNo').focus();
- }
- });
- //波次单号回车
- $('#waveNo').keyup(function(event) {
- if(event.keyCode != "13") {
- return false;
- }
- $("#waveNo").val(trimStr($("#waveNo").val()));
- //播放扫描声音
- playSound('../raw/scan.wav');
- submitWaveNo();
- });
- // 条码回车
- $('#barcode').keyup(function(event) {
- if(event.keyCode != "13") {
- return false;
- }
- $("#barcode").val(trimStr($("#barcode").val()));
- //播放扫描声音
- playSound('../raw/scan.wav');
- submitSortting();
- });
- var barcodeBoxListMap;
- function submitWaveNo() {
- if($("#waveNo").val() == '') {
- mui.alert('波次号不能为空!', '注意');
- return;
- }
- var appRequest = $appRequest; //复制请求封装对象
- appRequest.opType = OP_TYPE_MENU.BATCH_OUT_SHELF_PICK_1;
- appRequest.msg = $("#waveNo").val(); //msg是消息内容主体
- // 提交
- $.ajax({
- type: 'POST',
- url: $appRequestUrl,
- data: JSON.stringify(appRequest),
- contentType: "application/json",
- success: function(result) {
- if(!result.success) {
- playSound('../raw/error.wav');
- $("#waveNo").val("");
- mui.alert(result.msg, '警告', function() { setFocus('waveNo') });
- return;
- }
- mui.toast(result.msg);
-
- var waveExtend = result.extend;
- $("#warehouseCode").val(waveExtend.warehouseCode);
- $("#customerCode").val(waveExtend.customerCode);
- $("#statusName").val(waveExtend.statusName);
-
- barcodeBoxListMap = waveExtend.barcodeBoxListMap;
-
- $('#barcode').focus();
- },
- error: function() {
- mui.alert('网络断开或服务器发生异常', '注意');
- }
- });
- }
- function submitSortting() {
- var waveNo = $("#waveNo").val();
- var barcode = $('#barcode').val();
-
- if(waveNo == '') {
- mui.alert('波次号不能为空!', '注意');
- return;
- }
- if(barcode == '') {
- mui.alert('商品条码不能为空!', '注意');
- return;
- }
-
- var boxList = barcodeBoxListMap[barcode]; //取出条码对应的每个箱子列表
- if(!boxList) {
- playSound('../raw/error.wav');
- $("#barcode").val('');
- mui.alert('该条码不存在', '警告', function() { setFocus('barcode'); });
- return
- }
-
- //mui.alert(JSON.stringify(boxList));
-
- //循环该条码的箱子列表
- for(var i = 0;i < boxList.length;i++){
- var box = boxList[i];//每个箱子
- var boxNo = box['boxNo'];//箱子号-下标
- var qty = box['qty'];//应分拣数量
- var alreadyQty = box['alreadyQty'];//已分拣数量
-
- if(qty > alreadyQty){
- //分拣给此箱号
-
- alreadyQty++;
- box['alreadyQty'] = alreadyQty;
- boxList[i] = box;//js的map 不像Java map可以引用
- playSoundByBoxNo(boxNo);//播放语言
- mui.toast('请放入第' + boxNo +'号箱');
-
- $("#index").val(boxNo);
-
- if(qty == alreadyQty && (i+1) == boxList.length){
- nextBarcode();//下一个条码
- mui.toast('该条码已分拣完成');
- }
- $('#barcode').val("");
- $('#barcode').focus();
- break;
- }
- }
- barcodeBoxListMap[barcode] = boxList;
- checkFinish(barcodeBoxListMap,barcode);
- }
- function checkFinish(barcodeBoxListMap,barcode){
- var isFinished = true;
-
- var qtyTotal = 0;
- var alreadyQtyTotal = 0;
-
- for(var key in barcodeBoxListMap){
- var boxList = barcodeBoxListMap[key];
-
- for(var i = 0;i < boxList.length;i++){
- var box = boxList[i];//每个箱子
- var boxNo = box['boxNo'];//箱子号-下标
- var qty = box['qty'];//应分拣数量
- var alreadyQty = box['alreadyQty'];//已分拣数量
- if(qty > alreadyQty){
- isFinished = false;
- }
- if(key == barcode){
- qtyTotal+=qty;
- alreadyQtyTotal+=alreadyQty;
- }
- }
-
- }
-
- $("#qtyTotal").val(qtyTotal);
- $("#alreadyQtyTotal").val(alreadyQtyTotal);
-
- if(isFinished){
- cleanAll();
- }
- }
- function nextBarcode() {
- $(".allowClear").each(function() {
- $(this).val("")
- })
- $('#barcode').focus();
- }
- function cleanAll() {
- $("input").each(function() {
- $(this).val("")
- })
- setTimeout(function(){
- //播放成功声音
- playSound('../raw/ok.wav');
- },1000);
- $('#waveNo').focus();
- }
- function playSoundByBoxNo(boxNo){
- if(boxNo < 10){
- playSound1_9(boxNo);
- return;
- }
- if(boxNo == 10){
- playSound10(boxNo);
- return;
- }
- var a = boxNo / 10;
- var b = boxNo % 10;
- if(a > 1){
- playSound1_9(a);
- playSound10(10);
- setTimeout(function(){
- playSound1_9(b);
- },500);
- return;
- }
-
- playSound10(10);
- setTimeout(function(){
- playSound1_9(b);
- },500);
- };
- function playSound1_9(boxNo){
- if(boxNo == '1'){
- playSound('../raw/one.wav');
- }
- if(boxNo == '2'){
- playSound('../raw/two.wav');
- }
- if(boxNo == '3'){
- playSound('../raw/three.wav');
- }
- if(boxNo == '4'){
- playSound('../raw/four.wav');
- }
- if(boxNo == '5'){
- playSound('../raw/five.wav');
- }
- if(boxNo == '6'){
- playSound('../raw/six.wav');
- }
- if(boxNo == '7'){
- playSound('../raw/seven.wav');
- }
- if(boxNo == '8'){
- playSound('../raw/eight.wav');
- }
- if(boxNo == '9'){
- playSound('../raw/nine.wav');
- }
- }
- function playSound10(boxNo){
- if(boxNo == '10'){
- playSound('../raw/ten.wav');
- }
- }
|