Index: ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js =================================================================== diff -u -r34412 -r34428 --- ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js (.../packingView.js) (revision 34412) +++ ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js (.../packingView.js) (revision 34428) @@ -495,18 +495,6 @@ dismissDelay: 0, showDelay: 0 }); - - if(sstsConfig.enableRFIDTousseIdCard && !isIE()){ - newWorker = new Worker('setPlugInRFID.js'); - newWorker.postMessage('start'); - newWorker.onmessage = function(e){ - if(e.data.success){ - loadIdCardByBarcode(e.data.message, true, true); - }else { - showResult(e.data.message); - } - } - } Ext4.define('packingRecordData', { extend: 'Ext4.data.Model', @@ -2586,10 +2574,11 @@ { xtype: 'button', margin: '0 0 0 10', - hidden: !sstsConfig.enableRFIDTousseIdCard, - text: '' + '连接RFID' + '', + id:'connectRFID', + hidden: true, + text: '' + '连接RFID设备' + '', handler: function () { - openModalWindow(WWWROOT+'/disinfectsystem/packing/index.html',{}, '600', '300') + connectRFIDFun(); } }] } @@ -6648,6 +6637,10 @@ getErrorAndDamgeCount(); //空闲时刷新(每空闲5分钟刷新一次) inactivityTime(); + + if(sstsConfig.enableRFIDTousseIdCard && !isIE()){ + connectRFIDFun(); + } }); var inactivityTimes = function () { @@ -7002,4 +6995,43 @@ } else { reflushWaitPackingTreeGrid(); } +} + +//连接RFID设备 +function connectRFIDFun(){ + if ('serial' in navigator) { + var barcode = ''; + var data = new Uint8Array([187, 23, 9, 0, 0, 0, 0, 0, 0, 0, 0, 6, 38, 13, 10]) + var params = { + filters:[ + //桌面 + { usbVendorId: 6790, usbProductId: 29987 } + ], + data:data + } + openPort(params,function(value,isData){ + if(isData){ + var dataString = ""; + if (value.length > 20) { + for (var i = 0; i < value.length; i++) { + dataString += value[i].toString(16) + } + } + if (dataString !== '') { + dataString = dataString.toUpperCase(); + if (dataString.indexOf('FEF') > -1 && dataString.indexOf('FF') > -1) { + var newData = dataString.substring(dataString.indexOf("FEF") + 3, dataString.indexOf("FF")); + if (barcode !== newData) { + barcode = newData; + loadIdCardByBarcode(barcode, true, true) + } + } + } + }else { + showResult(value); + } + }); + } else { + showResult('你的浏览器不支持串口连接!'); + } } \ No newline at end of file