|  |  | 
 |  |  |         <label class="layui-form-label">货位</label> | 
 |  |  |         <input class="layui-input" id="locNo" onkeyup="find(this)" placeholder="扫码 / 输入" autocomplete="off" style="width: 75%; height: 40px; margin-right: 0;"> | 
 |  |  |     </div> | 
 |  |  |     <div style="margin: 5px 5px"> | 
 |  |  |         <button id="replenish-btn" type="button" class="layui-btn layui-btn-normal" onclick="replenish()"><i class="layui-icon">+</i>补充</button> | 
 |  |  |     </div> | 
 |  |  | </header> | 
 |  |  |  | 
 |  |  | <!-- 主体 --> | 
 |  |  | <main style="height: 285px;"> | 
 |  |  | <main> | 
 |  |  |     <table class="layui-table" id="chooseData" lay-filter="chooseData"></table> | 
 |  |  | </main> | 
 |  |  | <!-- 尾部 --> | 
 |  |  | <footer> | 
 |  |  |     <div class="layui-btn-container"> | 
 |  |  |         <button type="button" id="reset-btn" class="layui-btn layui-btn-primary" onclick="reset()">重置</button> | 
 |  |  |         <button type="button" id="comb-btn" class="layui-btn layui-btn-normal " onclick="comb()" style="margin-left: 20px">组托</button> | 
 |  |  |         <button type="button" id="comb-btn" class="layui-btn layui-btn-normal " onclick="check()" style="margin-left: 20px">确认</button> | 
 |  |  |         <span id="tips"></span> | 
 |  |  |     </div> | 
 |  |  | </footer> | 
 |  |  | 
 |  |  |     <div class="form-item" style="margin-top: 5px"> | 
 |  |  |         <span style="vertical-align: middle">数量</span> | 
 |  |  |         <div class="number-tool" style="vertical-align: middle"> | 
 |  |  |             <button onclick="reduce()">-</button><input id="anfme" type="number"><button onclick="add()">+</button> | 
 |  |  |             <button onclick="reduce()">-</button><input id="count" type="number"><button onclick="add()">+</button> | 
 |  |  |         </div> | 
 |  |  |     </div> | 
 |  |  |     <button id="remove" onclick="remove()">移除</button> | 
 |  |  | 
 |  |  |             limit: 500, | 
 |  |  |             cellMinWidth: 50, | 
 |  |  |             cols: [[ | 
 |  |  |                 {fixed: 'left', align: 'center', field: 'anfme', title: '数量', event: 'modify', style:'font-weight: bold;', width:50}, | 
 |  |  |                 {field: 'matnr', align: 'center', title: '商品编号'}, | 
 |  |  |                 {field: 'maktx', align: 'center', title: '商品名称'} | 
 |  |  |                 {fixed: 'left', align: 'center', field: 'count', title: '数量', event: 'modify', style:'font-weight: bold;', width:50}, | 
 |  |  |                 {field: 'matnr', align: 'center', title: '商品编号', event: 'modify'}, | 
 |  |  |                 {field: 'maktx', align: 'center', title: '商品名称', event: 'modify'} | 
 |  |  |             ]], | 
 |  |  |             done: function (res, curr, count) { | 
 |  |  |             } | 
 |  |  | 
 |  |  |                         success: function (layero, index) { | 
 |  |  |                             $('#matnr').val(data.matnr); | 
 |  |  |                             $('#maktx').val(data.maktx); | 
 |  |  |                             $('#anfme').val(data.anfme); | 
 |  |  |                             maxAnfme = data.anfme; | 
 |  |  |                             $('#count').val(data.count); | 
 |  |  |                         } | 
 |  |  |                     }); | 
 |  |  |                     break; | 
 |  |  | 
 |  |  |         }); | 
 |  |  |  | 
 |  |  |     }); | 
 |  |  |  | 
 |  |  |     // 添加表格数据 | 
 |  |  |     var matData = []; | 
 |  |  |     function addTableData(data) { | 
 |  |  |         for (var i=0;i<data.length;i++) { | 
 |  |  |             var toPush = true; | 
 |  |  |             for (var j=0;j<matData.length;j++){ | 
 |  |  |                 if (data[i].matnr === matData[j].matnr) { | 
 |  |  |                     matData[j].anfme = Number(matData[j].anfme) + Number(data[i].anfme); | 
 |  |  |                     toPush  = false; | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             if (toPush) { | 
 |  |  |                 matData.push(data[i]); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         tableIns.reload({data: matData}); | 
 |  |  |         // $("#comb-btn").focus(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 根据通知单号查询物料详情 | 
 |  |  | 
 |  |  |             success: function (res) { | 
 |  |  |                 if (res.code === 200) { | 
 |  |  |                     if (res.data != null) { | 
 |  |  |                         addTableData(res.data); | 
 |  |  |                         locDetlData = []; | 
 |  |  |                         initTableData(res.data); | 
 |  |  |                     } | 
 |  |  |                 } else if (res.code === 403) { | 
 |  |  |                     top.location.href = baseUrl + "/pda"; | 
 |  |  | 
 |  |  |         }) | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /*************************************  数量  ****************************************/ | 
 |  |  |     var countDom = $('#count'); | 
 |  |  |     var minCount = 1; | 
 |  |  |     var maxCount = 1; | 
 |  |  |     function add() { | 
 |  |  |         if (countDom.val() >= maxCount) { | 
 |  |  |     // 添加表格数据 | 
 |  |  |     var locDetlData = []; | 
 |  |  |     function initTableData(data) { | 
 |  |  |         for (var i=0;i<data.length;i++) { | 
 |  |  |             var toPush = true; | 
 |  |  |             for (var j=0;j<locDetlData.length;j++){ | 
 |  |  |                 if (data[i].matnr === locDetlData[j].matnr) { | 
 |  |  |                     toPush  = false; | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             if (toPush) { | 
 |  |  |                 locDetlData.push(data[i]); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         tableIns.reload({data: locDetlData}); | 
 |  |  |     } | 
 |  |  |     function addTableData(data) { | 
 |  |  |         if (isEmpty(data.matnr)){ | 
 |  |  |             tips("提取失败", true); | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |         var toPush = true; | 
 |  |  |         for (var j=0;j<locDetlData.length;j++){ | 
 |  |  |             if (data.matnr === locDetlData[j].matnr) { | 
 |  |  |                 toPush  = false; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         if (toPush) { | 
 |  |  |             locDetlData.push(data); | 
 |  |  |         } | 
 |  |  |         tableIns.reload({data: locDetlData}); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /*************************************  数量  ****************************************/ | 
 |  |  |     var countDom = $('#count'); | 
 |  |  |     var minCount = 0; | 
 |  |  |     function add() { | 
 |  |  |         countDom.val(Number(countDom.val()) + 1); | 
 |  |  |     } | 
 |  |  |     function reduce() { | 
 |  |  | 
 |  |  |     // 修改数量 | 
 |  |  |     function confirm(){ | 
 |  |  |         var matnr = $('#matnr').val(); | 
 |  |  |         var anfme = $('#anfme').val(); | 
 |  |  |         for (var j=0;j<matData.length;j++){ | 
 |  |  |             if (matnr === matData[j].matnr) { | 
 |  |  |                 if (anfme > maxCount || anfme < minCount) { | 
 |  |  |                     tips("数量不能超过范围", true); | 
 |  |  |         var count = $('#count').val(); | 
 |  |  |         for (var j=0;j<locDetlData.length;j++){ | 
 |  |  |             if (matnr === locDetlData[j].matnr) { | 
 |  |  |                 if (count < minCount) { | 
 |  |  |                     tips("数量必须大于0", true); | 
 |  |  |                     return; | 
 |  |  |                 } | 
 |  |  |                 matData[j].anfme = Number(anfme); | 
 |  |  |                 locDetlData[j].count = Number(count); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         tableIns.reload({data: matData}); | 
 |  |  |         tableIns.reload({data: locDetlData}); | 
 |  |  |         layer.close(anfmeLayer); | 
 |  |  |         tips("修改成功"); | 
 |  |  |     } | 
 |  |  | 
 |  |  |     // 移除物料 | 
 |  |  |     function remove() { | 
 |  |  |         var matnr = $('#matnr').val(); | 
 |  |  |         for (var j=0;j<matData.length;j++){ | 
 |  |  |             if (matnr === matData[j].matnr) { | 
 |  |  |                 matData.splice(j, 1); | 
 |  |  |         for (var j=0;j<locDetlData.length;j++){ | 
 |  |  |             if (matnr === locDetlData[j].matnr) { | 
 |  |  |                 locDetlData.splice(j, 1); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         tableIns.reload({data: matData}); | 
 |  |  |         tableIns.reload({data: locDetlData}); | 
 |  |  |         layer.close(anfmeLayer); | 
 |  |  |         tips("移除成功"); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /*************************************  补充  ****************************************/ | 
 |  |  |     var matCodeLayerIdx; | 
 |  |  |     function replenish() { | 
 |  |  |         matCodeLayerIdx = layer.open({ | 
 |  |  |             type: 2, | 
 |  |  |             title: '补充商品', | 
 |  |  |             shade: [0.3,'#000'], | 
 |  |  |             area: ['90%', '80%'], | 
 |  |  |             content: 'matQuery.html', | 
 |  |  |             success: function(layero, index){ | 
 |  |  |                 $('.layui-layer-title').css('font-size', '16px'); | 
 |  |  |             }, | 
 |  |  |             end: function () { | 
 |  |  |                 // $('#mat-btn').focus(); | 
 |  |  |             } | 
 |  |  |         }); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  | 
 |  |  |  | 
 |  |  |     // 重置 | 
 |  |  |     function reset() { | 
 |  |  |         $('#code').val(""); | 
 |  |  |         $('#billNo').val(""); | 
 |  |  |         matData = []; | 
 |  |  |         tableIns.reload({data: matData}); | 
 |  |  |         $('#locNo').val(""); | 
 |  |  |         locDetlData = []; | 
 |  |  |         tableIns.reload({data: locDetlData}); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     // 组托 | 
 |  |  |     function comb() { | 
 |  |  |         var barcode = $('#code').val(); | 
 |  |  |         if (isEmpty(barcode)) { | 
 |  |  |             tips("托盘条码为空", true); | 
 |  |  |             // document.getElementById("code").focus(); | 
 |  |  |     // 确认 | 
 |  |  |     function check() { | 
 |  |  |         var locNo = $('#locNo').val(); | 
 |  |  |         if (isEmpty(locNo)) { | 
 |  |  |             tips("货位不能为空", true); | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |         if (barcode.length !== 7) { | 
 |  |  |             tips("条码必须为7位", true); | 
 |  |  |             return; | 
 |  |  |         if (locDetlData.length > 0) { | 
 |  |  |             for (var i = 0; i<locDetlData.length; i++) { | 
 |  |  |                 if (locDetlData[i].count === null || locDetlData[i].count === 0) { | 
 |  |  |                     tips(locDetlData[i].matnr + "商品数量错误", true); | 
 |  |  |                     return; | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         if (matData.length === 0) { | 
 |  |  |             tips("请提取物料", true); | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |         var billNo = $('#billNo').val(); | 
 |  |  |         $.ajax({ | 
 |  |  |             url: baseUrl+"/mobile/comb/auth", | 
 |  |  |             url: baseUrl+"/work/stock/check", | 
 |  |  |             headers: {'token': localStorage.getItem('token')}, | 
 |  |  |             data: JSON.stringify({ | 
 |  |  |                 barcode: barcode, | 
 |  |  |                 combMats: matData, | 
 |  |  |                 billNo: billNo | 
 |  |  |                 locNo: locNo, | 
 |  |  |                 dtos: locDetlData | 
 |  |  |             }), | 
 |  |  |             contentType:'application/json;charset=UTF-8', | 
 |  |  |             method: 'POST', | 
 |  |  | 
 |  |  |             success: function (res) { | 
 |  |  |                 if (res.code === 200) { | 
 |  |  |                     reset(); | 
 |  |  |                     tips("组托成功") | 
 |  |  |                     tips("盘点成功") | 
 |  |  |                 } else if (res.code === 403) { | 
 |  |  |                     top.location.href = baseUrl + "/pda"; | 
 |  |  |                 } else { |