| | |
| | | height: 100px; |
| | | width: 30px; |
| | | } |
| | | /* add by rentx 2021-10-21 start 设置展示框 |
| | | /* add by rentx 2021-10-21 start 设置展示框 */ |
| | | .col_EquipmentManagementCode__c {display: none;} |
| | | .col_Scroll{display: none;} |
| | | .dataRow.col_Scroll{display: none;} |
| | | .col_ManagementCode__c{display: none;} |
| | | */ |
| | | |
| | | .modal |
| | | { |
| | | display:none; |
| | |
| | | <!-- Modal content --> |
| | | <div class="modal-content"> |
| | | <!-- <span class="close" onclick="stopScan()">×</span> --> |
| | | <input type="hidden" id="havCode" value="" /> |
| | | <button onclick="stopScan(0)" >保存</button> |
| | | <button onclick="stopScan(1)" >取消</button> |
| | | <button onclick="qrsacn(2);return false;" >ipad扫描袋子条形码</button> |
| | |
| | | <apex:commandButton onclick="qrsacn(0);return false;" value="扫一扫耗材" rerender="allForm"/> |
| | | <apex:commandButton onclick="qrsacn(1);return false;" value="扫一扫物流单" rerender="allForm"/> |
| | | <apex:commandButton onclick="blockme();" action="{!send}" value="发货" rerender="message" oncomplete="unblockUI();checkMessage();checEventFrame()"/> |
| | | <!-- add wangweipeng 2021/01/10 start --> |
| | | <apex:commandButton onclick="window.open('/apex/ConsumTrialPDF?id={!parentId}');" value="试用表" rerender="allForm"/> |
| | | <!-- add wangweipeng 2021/01/10 /apex/ConsumTrialPDF?id={!parentId} ConsumEquipmentSetShipmentPDF start --> |
| | | <apex:commandButton onclick="window.open('ConsumTrialPDF?id={!parentId}');" value="试用表" rerender="allForm"/> |
| | | <!--<a href="openSafri/apex/ConsumTrialPDF?id={!parentId}">试用表</a> --> |
| | | <!-- add wangweipeng 2021/01/10 end --> |
| | | <!-- add by rentx 2021-10-21 start 新增码枪扫描 --> |
| | | <apex:commandButton onclick="document.getElementById('maqCode').focus();return false" id="maqCodeBtn" value="码枪扫描:" style="padding: 6px;font-size: 110%;margin-right: 1px;"/> |
| | |
| | | <td > |
| | | <apex:outputLabel for="slipNo" value="发货-运输单号:" /> |
| | | <apex:inputField id="slipNo" value="{!slip.Name}"/> |
| | | <apex:commandButton action="{!searchSlip}" value="检索" style="padding: 6px;font-size: 110%;" rerender="allForm" oncomplete="checEventFrame()"/> |
| | | <!-- <apex:commandButton action="{!searchSlip}" value="检索" style="padding: 6px;font-size: 110%;" rerender="allForm" oncomplete="checEventFrame()"/> --> |
| | | <apex:commandButton action="{!searchSlip}" value="检索" style="padding: 6px;font-size: 110%;" rerender="searchBlock" oncomplete="checEventFrame()"/> |
| | | </td> |
| | | <td width="10px"></td> |
| | | <td > |
| | |
| | | |
| | | j$("#tableData input[type=text]").on('change', function() { |
| | | let rownum = j$(this)[0].id.match(/oppTable\:(\d*)/)[1]; |
| | | alert('====rownum=='+rownum); |
| | | j$('input[name$="oppTable_L:'+rownum+':rowCheck"]').prop('checked', true).trigger("change"); |
| | | }) |
| | | |
| | |
| | | } |
| | | } |
| | | //20220215 字段集中的输入框变成只读,不能直接变成span,否则后台取不到值 |
| | | j$("#tableData input[type=text]").attr("readonly",true); |
| | | j$("#tableData input[type=text]").attr("disabled","disabled"); |
| | | //j$("#tableData input[type=text]").attr("readonly",true); 先隐藏掉 |
| | | //j$("#tableData input[type=text]").attr("disabled","disabled"); |
| | | </script> |
| | | </apex:outputPanel> |
| | | </apex:outputPanel> |
| | |
| | | //现在需要 扫到耗材之后 自动勾选置顶并定位到对应的发货件数输入框 并弹出界面 光标自动定位到"码枪扫描袋子条形码" |
| | | var numObj; //发货件数的 obj |
| | | var rowObj; //明细行的obj |
| | | var checkObj; //复选框的obj |
| | | var flag = ''; //该变量会有"cancelConsumables"(取消耗材) 和 "saveConsumables"(保存耗材) |
| | | //扫码弹出框之后 扫小码的操作 -- |
| | | //1.添加一行 |
| | |
| | | return false; |
| | | } |
| | | //判断这个小码code 是否符合要求 1:长度是否正确 2:是否重复输入 3:输入的是否为3位数字 |
| | | // var regNeg = /^[1-9]+[0-9]*]*$/; // 负整数 |
| | | //z<0||!(/^\d+$/.test(z)) |
| | | // && nowCode>=0 && (/^\d+$/.test(nowCode)) |
| | | if(nowCode != null && nowCode.length == 3 && !isNaN(nowCode)){ |
| | | //获取扫描过的小码 |
| | | var tableId = document.getElementById("detailTb"); |
| | |
| | | } |
| | | //能走到这说明待删除的小码不存在于明细列表 所以要给出提示 |
| | | if (this.flag == 'delConsumables') { |
| | | alert('必须先扫描要取消的小码'); |
| | | alert('删除的小码已删除或未扫描过'); |
| | | j$( '#xiaomaCode' ).val(""); |
| | | this.flag = ''; |
| | | return false; |
| | |
| | | } |
| | | //5.为弹出框里的信息赋值 并且展示弹出框 |
| | | function showTb(leftobj,paobj,rightObj,scanType,content250) { |
| | | checkObj = leftobj; |
| | | numObj = rightObj; |
| | | rowObj = paobj; |
| | | var a = paobj[0].children[0].innerText; //备品配套明细型号 |
| | |
| | | // return; |
| | | // } |
| | | // } |
| | | moveToTop(leftobj); |
| | | |
| | | //update wangweipeng 2022/02/21 start |
| | | // if (c == '') { |
| | | //判断当前输入是盒 |
| | | var bianma; |
| | | if (maqCode !='' && maqCode !=undefined && maqCode.substring(maqCode.length - 8,maqCode.length - 5) == '250') { |
| | | //设置管理编码 |
| | | bianma = maqCode.substring(maqCode.length -5,maqCode.length); |
| | | //弹出框的管理编码赋值 |
| | | document.getElementById("bianma").innerHTML = bianma; |
| | | //给明细行赋管理编码 |
| | | //paobj[0].children[10].children[0].value = bianma; |
| | | c = bianma; |
| | | }else if(content250 !='' && content250 !=undefined && content250.substring(content250.length - 8,content250.length - 5) == '250'){ |
| | | //设置管理编码 |
| | | bianma = content250.substring(content250.length -5,content250.length); |
| | | //弹出框的管理编码赋值 |
| | | document.getElementById("bianma").innerHTML = bianma; |
| | | //给明细行赋管理编码 |
| | | //paobj[0].children[10].children[0].value = bianma; |
| | | c = bianma; |
| | | |
| | | } |
| | | //判断当前扫描是否换盒了 |
| | | if(c != null && c != '' && c != undefined){ |
| | | //获取当前设备的管理编码,注意可能是一个、多个或空 |
| | | var oldbianma = paobj[0].children[10].children[0].value; |
| | | if(oldbianma != null && oldbianma != '' && oldbianma != undefined){ |
| | | var oldbianmaArray = oldbianma.split(','); |
| | | var bianmaFlag = true; |
| | | for(var i = 0; i < oldbianmaArray.length; i++){ |
| | | if(oldbianmaArray[i] != '' && oldbianmaArray[i].indexOf(c) == 0){ |
| | | bianmaFlag = false; |
| | | } |
| | | } |
| | | if(bianmaFlag){ |
| | | if(confirm('已换盒,确认继续吗?')){ |
| | | |
| | | }else{ |
| | | leftobj.prop('checked', false); |
| | | j$("#maqCode").val(""); |
| | | stopScan(); |
| | | return; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | /*moveToTop(leftobj); |
| | | leftobj.prop('checked', true).trigger("change"); |
| | | moveToTop(rightObj); |
| | | moveToTop(rightObj);*/ |
| | | |
| | | //update wangweipeng 2022/02/21 end |
| | | |
| | | //删除缓存 |
| | | var tableId = document.getElementById("detailTb"); |
| | | if(tableId.rows.length > 0){ |
| | |
| | | document.getElementById("xinghao").innerHTML = a; //备品配套明细型号 |
| | | document.getElementById("bianhao").innerHTML = b; //机身编号 |
| | | |
| | | // if (c == '') { |
| | | //判断当前输入是盒 |
| | | if (maqCode !='' && maqCode !=undefined && maqCode.substring(maqCode.length - 8,maqCode.length - 5) == '250') { |
| | | //设置管理编码 |
| | | var bianma = maqCode.substring(maqCode.length -5,maqCode.length); |
| | | //弹出框的管理编码赋值 |
| | | document.getElementById("bianma").innerHTML = bianma; |
| | | //给明细行赋管理编码 |
| | | paobj[0].children[10].children[0].value = bianma; |
| | | c = bianma; |
| | | }else if(content250 !='' && content250 !=undefined && content250.substring(content250.length - 8,content250.length - 5) == '250'){ |
| | | //设置管理编码 |
| | | var bianma = content250.substring(content250.length -5,content250.length); |
| | | //弹出框的管理编码赋值 |
| | | document.getElementById("bianma").innerHTML = bianma; |
| | | //给明细行赋管理编码 |
| | | paobj[0].children[10].children[0].value = bianma; |
| | | c = bianma; |
| | | |
| | | } |
| | | //alert('===c=='+paobj[0].children[10].children[0].innerText); |
| | | |
| | | // document.getElementById("bianma").innerHTML = ; //管理编码 |
| | |
| | | // var code = paobj[0].children[9].children[0].innerText; |
| | | |
| | | var code = paobj[0].children[9].children[0].value; //.innerText; |
| | | alert('xiaoma'+code); |
| | | var hecode = paobj[0].children[10].children[0].value; //.innerText; |
| | | //alert('xiaoma'+code); |
| | | if (code != null && code.length > 0) { |
| | | //向弹出框里添加明细行 |
| | | var arr = code.split(','); |
| | | alert('xiaomajinlaile'+arr); |
| | | for (var i = arr.length - 1; i >= 0; i--) { |
| | | addRow(arr[i],c); |
| | | var hearr = hecode.split(','); |
| | | //update by wangweipeng 2022/02/21 start |
| | | //按照复选框的顺序来展示 |
| | | for (var i = 0; i < arr.length ; i++) { |
| | | if(c == hearr[i]){ |
| | | addRow(arr[i],c); |
| | | } |
| | | } |
| | | /*for (var i = arr.length - 1; i >= 0; i--) { |
| | | if(c == hearr[i]){ |
| | | addRow(arr[i],c); |
| | | } |
| | | }*/ |
| | | //update by wangweipeng 2022/02/21 end |
| | | } |
| | | //j$(".modal").show(); |
| | | j$("#myModal1").show(); |
| | | //使用定时器设置光标定位因为如果是弹出选择本部的框之后再设置 会定位不到 |
| | | alert(''); |
| | | setTimeout(function(){j$("#xiaomaCode").focus();},1000); |
| | | // j$("#xiaomaCode").focus(); |
| | | return; |
| | |
| | | //numflag= 1 关闭输入框,清空码枪输入的值,光标自动定位到码枪输入 |
| | | //j$(".modal").hide(); |
| | | j$("#myModal1").hide(); |
| | | |
| | | |
| | | scanType = null; |
| | | j$("#maqCode").focus(); |
| | | if(numflag == 0 ){ |
| | | //用户点击保存 1.设置数量到发货件数上 2.设置小码到明细的备品管理码上 |
| | | if(numObj != null){ |
| | | //update wangweipeng 2022/01/12 start |
| | | //update wangweipeng 2022/02/21 start |
| | | /*//update wangweipeng 2022/01/12 start |
| | | //把发货件数字段设置为只读 |
| | | //numObj.val(j$("#detailTb").find("tr").length-1) |
| | | for(var i = 0;i < numObj.length;i++){ |
| | |
| | | var resultVar = str.substring(0,str.length-1); |
| | | // rowObj[0].children[9].children[0].innerText = resultVar; |
| | | rowObj[0].children[9].children[0].value = resultVar; |
| | | //给明细行赋管理编码 |
| | | //rowObj[0].children[10].children[0].value = tableId.rows[1].cells[0].innerHTML; |
| | | } |
| | | }*/ |
| | | |
| | | if(rowObj != null){ |
| | | //获取当前扫的盒 |
| | | var newHe = document.getElementById("bianma").innerHTML; |
| | | //取得所有小码 放到备品管理码上 |
| | | //注意:有两种情况,如果此次扫的小米的盒是已经扫过的,那么直接加就行,如果此次的盒没有扫过,而原来也有已经扫过的盒,那么就需要特殊处理 |
| | | var tableId = document.getElementById("detailTb"); |
| | | var str = ''; |
| | | var str1 = ''; |
| | | var numstr = 0; |
| | | var he = rowObj[0].children[10].children[0].value; |
| | | var xiaoma = rowObj[0].children[9].children[0].value; |
| | | if(tableId.rows.length > 0){//判断此次扫的盒是否有小码 |
| | | //首先判断当前明细原来是否已经扫过码 |
| | | //如果没扫过 那么在原来的 备品管理码、管理编码和发货件数的值上都需要加上此次扫的小码 |
| | | //如果扫过,那么需要把原来此盒的小码都改成此次扫的小码 |
| | | if(he != null && he != '' && he != undefined && xiaoma != null && xiaoma != '' && xiaoma != undefined){ |
| | | var linshistr = '';//临时小码值 |
| | | var linshistr1 = '';//临时盒的值 |
| | | var oldheArray = he.split(',');//获取原来的所有盒 |
| | | var oldxiaomaArray = xiaoma.split(',');//获取原来的所有小码 |
| | | //循环原来明细的盒 |
| | | for(var i = 0;i < oldheArray.length;i++){ |
| | | if(oldheArray[i] != null && oldheArray[i] != '' && oldheArray[i] != undefined){ |
| | | var oldHe = '';//临时状态变量,1:值不变,2:删除当前小码和盒,3:当前盒等于原来盒,但是当前小码没有变化,值还是不变 |
| | | //判断原来的盒和现在操作的盒是否相等 |
| | | if(oldheArray[i] == newHe){ |
| | | //如果原来的盒等于当前操作的盒,那么接着判断小码情况 |
| | | //循环弹出框的小码 |
| | | for(var j=1;j<tableId.rows.length;j++) { |
| | | //原来的小码等于当前扫的小码,那么值不需要改变 |
| | | if(oldxiaomaArray[i] == tableId.rows[j].cells[1].innerHTML){ |
| | | oldHe = '3'; |
| | | } |
| | | } |
| | | }else{ |
| | | //如果原来的盒不等于当前操作的盒,那么不需要做变化,值把现在循环的盒放到临时变量里面 |
| | | linshistr += oldxiaomaArray[i] + ','; |
| | | linshistr1 += oldheArray[i] + ','; |
| | | } |
| | | if(oldHe == '3'){ |
| | | linshistr += oldxiaomaArray[i] + ','; |
| | | linshistr1 += oldheArray[i] + ','; |
| | | } |
| | | } |
| | | } |
| | | str = linshistr; |
| | | str1 = linshistr1; |
| | | //由于以上的操作只能找到原来的盒和小码是否删除,那么一下的操作就是把最新操作的盒和小码追加到字符串的最后面 |
| | | //循环弹出框的小码 |
| | | for(var j=1;j<tableId.rows.length;j++) { |
| | | var vFlag = true;//临时变量,用于判断是否需要追加 |
| | | for(var o = 0;o < linshistr.split(',').length ; o++){ |
| | | if(linshistr.split(',')[o] != '' && linshistr.split(',')[o] != null){ |
| | | //判断是否有相等的盒 |
| | | if(linshistr1.split(',')[o] == newHe){ |
| | | //判断小码是否一样,如果一样,那么不需要追加 |
| | | if(linshistr.split(',')[o] == tableId.rows[j].cells[1].innerHTML){ |
| | | vFlag = false; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if(vFlag){ |
| | | //追加新的盒和小码 |
| | | str += tableId.rows[j].cells[1].innerHTML + ','; |
| | | str1 += newHe + ','; |
| | | } |
| | | } |
| | | if(str != '' && str1 != null){ |
| | | str = str.substring(0,str.length-1); |
| | | str1 = str1.substring(0,str1.length-1); |
| | | } |
| | | |
| | | numstr = str == '' ? null : str.split(',').length; |
| | | |
| | | }else{//如果明细原来没有扫过码,那么直接追加就行 |
| | | for(var i=1;i<tableId.rows.length;i++) { |
| | | str += tableId.rows[i].cells[1].innerHTML + ','; |
| | | str1 += document.getElementById("bianma").innerHTML + ',';//盒 |
| | | } |
| | | if(str != '' && str1 != null){ |
| | | str = str.substring(0,str.length-1); |
| | | str1 = str1.substring(0,str1.length-1); |
| | | } |
| | | numstr = j$("#detailTb").find("tr").length-1;//发货件数 |
| | | |
| | | } |
| | | }else{ |
| | | //如果没有小码,那么判断原来的是否有小码和盒,如果原来也没有,那么什么也不用做 |
| | | //如果原来有,那么找到等于当前盒的所有小码,都删除掉 |
| | | if(he != null && he != '' && he != undefined && xiaoma != null && xiaoma != '' && xiaoma != undefined){ |
| | | var oldheArray = he.split(','); |
| | | var oldxiaomaArray = xiaoma.split(','); |
| | | for(var i = 0;i < oldheArray.length;i++){ |
| | | if(oldheArray[i] != newHe){ |
| | | str += oldxiaomaArray[i] + ','; |
| | | str1 += oldheArray[i] + ','; |
| | | } |
| | | } |
| | | |
| | | if(str != '' && str1 != null){ |
| | | str = str.substring(0,str.length-1); |
| | | str1 = str1.substring(0,str1.length-1); |
| | | } |
| | | |
| | | numstr = str == '' ? null : str.split(',').length;//发货件数 |
| | | } |
| | | } |
| | | if(str == '' && he == '' && xiaoma == ''){ |
| | | checkObj.prop('checked', false); |
| | | }else{ |
| | | moveToTop(checkObj); |
| | | checkObj.prop('checked', true).trigger("change"); |
| | | moveToTop(numObj); |
| | | } |
| | | |
| | | rowObj[0].children[9].children[0].value = str; //备品管理码 |
| | | rowObj[0].children[10].children[0].value = str1;//管理编码 |
| | | numObj[0].innerText = numstr;//发货件数 |
| | | } |
| | | //update wangweipeng 2022/02/21 end |
| | | } |
| | | }else if(numflag == 1){ |
| | | //如果为true,那么证明选择的是取消按钮,那么需要把第一行的复选框去掉 |
| | | checkObj.prop('checked', false); |
| | | } |
| | | var maqCode = j$( '#maqCode' ).val(); |
| | | alert('==='+j$( '#maqCode' ).val()); |
| | | if (maqCode !='' && maqCode !=undefined){ |
| | | //alert('==='+j$( '#maqCode' ).val()); |
| | | //if (maqCode !='' && maqCode !=undefined){ |
| | | j$("#maqCode").val(""); |
| | | j$("#maqCode").focus(); |
| | | } |
| | | setTimeout(function(){j$("#maqCode").focus();},300); |
| | | //} |
| | | } |
| | | <!-- add by qiuyj 2021-11-30 start pc端扫码支持--> |
| | | // <!-- add by qiuyj 2021-11-30 start pc端扫码支持--> |
| | | j$(document).ready(function(){ |
| | | j$( '#qrcode' ).unbind(); |
| | | j$( '#qrcode' ).keypress( function ( e ) { |
| | |
| | | return false; |
| | | } |
| | | }); |
| | | setTimeout(function(){j$("#maqCode").focus();},300); |
| | | |
| | | }); |
| | | // add by qiuyj 2021-11-30 end pc端扫码支持 |
| | | // add by rentx 2021-10-19 end 耗材追溯 -码枪扫码之后展示弹出框 |
| | |
| | | } |
| | | //能走到这说明待删除的小码不存在于明细列表 所以要给出提示 |
| | | if (this.flag == 'delConsumables') { |
| | | alert('必须先扫描要取消的小码'); |
| | | alert('删除的小码已删除或未扫描过'); |
| | | this.flag = ''; |
| | | return false; |
| | | } |
| | |
| | | try{ |
| | | if (scanType == 1) { |
| | | j$("input[name$='slipNo']").val(content); |
| | | scanType = null; |
| | | }else if(scanType == 2){//add by youc 2021-12-01 弹出框中ipad扫描小码 |
| | | checkipadXiaoMa(content); |
| | | scanType = null; |
| | | } else { |
| | | |
| | | var tracingCode = content.substr(-8);//截取后8位 |
| | |
| | | j$(".col_Barcode_F__c span").each(function(index) { |
| | | if (j$(this).text() && (content.indexOf(j$(this).text()) == 0)) { |
| | | rownum.push(this.id.match(/oppTable\:(\d*)/)[1]); |
| | | console.log('1---'+rownum); |
| | | return; |
| | | } |
| | | var JANCODE = content.substr(3, 12); |
| | |
| | | if ($prdSerialNo[index].value.startsWith(content2)) { |
| | | if(this.id != undefined){ |
| | | rownum.push(this.id.match(/oppTable\:(\d*)/)[1]); |
| | | console.log('2---'+rownum); |
| | | return; |
| | | } |
| | | } |
| | |
| | | j$("#qrcode").focus(); |
| | | //add by qiuyj 2021-11-30 end pc端扫码支持--> |
| | | //alert('扫描条形码请使用App'); |
| | | |
| | | } |
| | | } |
| | | |