|  |  |  | 
|---|
|  |  |  | <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> | 
|---|
|  |  |  | <script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script> | 
|---|
|  |  |  | <style> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .number-tool { | 
|---|
|  |  |  | margin-left: 10px; | 
|---|
|  |  |  | padding: 1px 0 1px 5px; | 
|---|
|  |  |  | display: inline-block; | 
|---|
|  |  |  | width: 120px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .number-tool:after { | 
|---|
|  |  |  | clear: both; | 
|---|
|  |  |  | content: ""; | 
|---|
|  |  |  | display: table; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .number-tool button { | 
|---|
|  |  |  | background-color: #fff; | 
|---|
|  |  |  | margin-top: 3px; | 
|---|
|  |  |  | font-size: 16px; | 
|---|
|  |  |  | height: 25px; | 
|---|
|  |  |  | float: left; | 
|---|
|  |  |  | width: 25px; | 
|---|
|  |  |  | border: 1px solid #777777; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .number-tool input { | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | height: 30px; | 
|---|
|  |  |  | float: left; | 
|---|
|  |  |  | margin: 0 5px; | 
|---|
|  |  |  | width: 50px; | 
|---|
|  |  |  | padding: 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | #confirm { | 
|---|
|  |  |  | margin: 10px 10px; | 
|---|
|  |  |  | padding: 5px 20px; | 
|---|
|  |  |  | font-weight: 600; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | #remove { | 
|---|
|  |  |  | margin: 10px 10px; | 
|---|
|  |  |  | padding: 5px 20px; | 
|---|
|  |  |  | color: darkred; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </style> | 
|---|
|  |  |  | </head> | 
|---|
|  |  |  | <body> | 
|---|
|  |  |  | 
|---|
|  |  |  | <span id="tips"></span> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </footer> | 
|---|
|  |  |  | <!-- 修改数量弹窗 --> | 
|---|
|  |  |  | <div id="modify" style="display: none; text-align: center;padding-top: 10px"> | 
|---|
|  |  |  | <div class="form-item"> | 
|---|
|  |  |  | <span>物料</span> | 
|---|
|  |  |  | <input id="matnr" type="text" disabled="disabled" style="width: 70%"> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="form-item"> | 
|---|
|  |  |  | <span>名称</span> | 
|---|
|  |  |  | <input id="maktx" type="text" disabled="disabled" style="width: 70%"> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <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="count" type="number"><button onclick="add()">+</button> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <button id="remove" onclick="remove()">移除</button> | 
|---|
|  |  |  | <button id="confirm" onclick="confirm()">保存</button> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </body> | 
|---|
|  |  |  | <script> | 
|---|
|  |  |  | var tableIns; | 
|---|
|  |  |  | 
|---|
|  |  |  | limit: 500, | 
|---|
|  |  |  | cellMinWidth: 50, | 
|---|
|  |  |  | cols: [[ | 
|---|
|  |  |  | {fixed: 'left', align: 'center', field: 'count', title: '数量', style:'color: blue', width:50}, | 
|---|
|  |  |  | {fixed: 'left', align: 'center', field: 'count', title: '数量', event: 'modify', style:'color: blue', width:50}, | 
|---|
|  |  |  | {field: 'matnr', align: 'center', title: '物料编码'}, | 
|---|
|  |  |  | {field: 'maktx', align: 'center', title: '物料名称'} | 
|---|
|  |  |  | ]], | 
|---|
|  |  |  | done: function (res, curr, count) { | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 监听行工具事件 | 
|---|
|  |  |  | table.on('tool(chooseData)', function(obj) { | 
|---|
|  |  |  | var data = obj.data; | 
|---|
|  |  |  | switch (obj.event) { | 
|---|
|  |  |  | case 'modify': | 
|---|
|  |  |  | countLayer = layer.open({ | 
|---|
|  |  |  | type: 1, | 
|---|
|  |  |  | offset: '20px', | 
|---|
|  |  |  | title: '修改数量', | 
|---|
|  |  |  | shadeClose: true, | 
|---|
|  |  |  | area: ['80%', '200px'], | 
|---|
|  |  |  | content: $("#modify"), | 
|---|
|  |  |  | success: function (layero, index) { | 
|---|
|  |  |  | $('#matnr').val(data.matnr); | 
|---|
|  |  |  | $('#maktx').val(data.maktx); | 
|---|
|  |  |  | $('#count').val(data.count); | 
|---|
|  |  |  | maxCount = data.count; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | window.onload = function(){document.getElementById("code").focus();} | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function findCode(el) { | 
|---|
|  |  |  | if (el.value.length === 7) { | 
|---|
|  |  |  | $('#mat-btn').focus(); | 
|---|
|  |  |  | getMat(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // if (el.value.length === 7) { | 
|---|
|  |  |  | //     $('#mat-btn').focus(); | 
|---|
|  |  |  | //     getMat(); | 
|---|
|  |  |  | // } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | var matCodeLayerIdx; | 
|---|
|  |  |  | function getMat() { | 
|---|
|  |  |  | matCodeLayerIdx = layer.open({ | 
|---|
|  |  |  | type: 2, | 
|---|
|  |  |  | title: '提取物料', | 
|---|
|  |  |  | title: '提取商品', | 
|---|
|  |  |  | shade: [0.3,'#000'], | 
|---|
|  |  |  | area: ['90%', '80%'], | 
|---|
|  |  |  | content: 'matQuery.html', | 
|---|
|  |  |  | 
|---|
|  |  |  | tips("提取失败", true); | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | let toPush = true; | 
|---|
|  |  |  | var toPush = true; | 
|---|
|  |  |  | for (var j=0;j<matData.length;j++){ | 
|---|
|  |  |  | if (data.matnr === matData[j].matnr) { | 
|---|
|  |  |  | matData[j].count = Number(matData[j].count) + Number(data.count); | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 组托 | 
|---|
|  |  |  | function comb() { | 
|---|
|  |  |  | let barcode = $('#code').val(); | 
|---|
|  |  |  | if (isEmpty(barcode)) { | 
|---|
|  |  |  | tips("托盘条码为空", true); | 
|---|
|  |  |  | // document.getElementById("code").focus(); | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (barcode.length !== 7) { | 
|---|
|  |  |  | tips("条码必须为7位", true); | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (matData.length === 0) { | 
|---|
|  |  |  | tips("请提取物料", true); | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | $.ajax({ | 
|---|
|  |  |  | url: baseUrl+"/mobile/comb/auth", | 
|---|
|  |  |  | headers: {'token': localStorage.getItem('token')}, | 
|---|
|  |  |  | data: JSON.stringify({ | 
|---|
|  |  |  | barcode: barcode, | 
|---|
|  |  |  | combMats: matData | 
|---|
|  |  |  | }), | 
|---|
|  |  |  | contentType:'application/json;charset=UTF-8', | 
|---|
|  |  |  | method: 'POST', | 
|---|
|  |  |  | async: false, | 
|---|
|  |  |  | success: function (res) { | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | reset(); | 
|---|
|  |  |  | tips("组托成功") | 
|---|
|  |  |  | } else if (res.code === 403) { | 
|---|
|  |  |  | top.location.href = baseUrl + "/pda"; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | tips(res.msg, true) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | layer.confirm('组托当前物料明细?', {shadeClose: true}, function(){ | 
|---|
|  |  |  | var zpallet = $('#code').val(); | 
|---|
|  |  |  | if (isEmpty(zpallet)) { | 
|---|
|  |  |  | tips("托盘条码为空", true); | 
|---|
|  |  |  | // document.getElementById("code").focus(); | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | // if (zpallet.length !== 7) { | 
|---|
|  |  |  | //     tips("条码必须为7位", true); | 
|---|
|  |  |  | //     return; | 
|---|
|  |  |  | // } | 
|---|
|  |  |  | if (matData.length === 0) { | 
|---|
|  |  |  | tips("请提取物料", true); | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | $.ajax({ | 
|---|
|  |  |  | url: baseUrl+"/mobile/comb/auth", | 
|---|
|  |  |  | headers: {'token': localStorage.getItem('token')}, | 
|---|
|  |  |  | data: JSON.stringify({ | 
|---|
|  |  |  | zpallet: zpallet, | 
|---|
|  |  |  | combMats: matData | 
|---|
|  |  |  | }), | 
|---|
|  |  |  | contentType:'application/json;charset=UTF-8', | 
|---|
|  |  |  | method: 'POST', | 
|---|
|  |  |  | async: false, | 
|---|
|  |  |  | success: function (res) { | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | reset(); | 
|---|
|  |  |  | tips("组托成功") | 
|---|
|  |  |  | } else if (res.code === 403) { | 
|---|
|  |  |  | top.location.href = baseUrl + "/pda"; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | tips(res.msg, true) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /*************************************  数量  ****************************************/ | 
|---|
|  |  |  | var countDom = $('#count'); | 
|---|
|  |  |  | var minCount = 1; | 
|---|
|  |  |  | var maxCount = 1; | 
|---|
|  |  |  | function add() { | 
|---|
|  |  |  | // if (countDom.val() >= maxCount) { | 
|---|
|  |  |  | //     return; | 
|---|
|  |  |  | // } | 
|---|
|  |  |  | countDom.val(Number(countDom.val()) + 1); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | function reduce() { | 
|---|
|  |  |  | if (countDom.val() <= minCount) { | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | countDom.val(countDom.val() - 1); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 修改数量 | 
|---|
|  |  |  | function confirm(){ | 
|---|
|  |  |  | var matnr = $('#matnr').val(); | 
|---|
|  |  |  | var count = $('#count').val(); | 
|---|
|  |  |  | for (var j=0;j<matData.length;j++){ | 
|---|
|  |  |  | if (matnr === matData[j].matnr) { | 
|---|
|  |  |  | // if (count > maxCount || count < minCount) { | 
|---|
|  |  |  | if (count < minCount) { | 
|---|
|  |  |  | tips("数量不能超过范围", true); | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | matData[j].count = Number(count); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | tableIns.reload({data: matData}); | 
|---|
|  |  |  | layer.close(countLayer); | 
|---|
|  |  |  | tips("修改成功"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 移除物料 | 
|---|
|  |  |  | function remove() { | 
|---|
|  |  |  | var matnr = $('#matnr').val(); | 
|---|
|  |  |  | for (var j=0;j<matData.length;j++){ | 
|---|
|  |  |  | if (matnr === matData[j].matnr) { | 
|---|
|  |  |  | matData.splice(j, 1); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | tableIns.reload({data: matData}); | 
|---|
|  |  |  | layer.close(countLayer); | 
|---|
|  |  |  | tips("移除成功"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|