Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/awaitForRecycleList.jsp
===================================================================
diff -u -r34429 -r34431
--- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/awaitForRecycleList.jsp (.../awaitForRecycleList.jsp) (revision 34429)
+++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/awaitForRecycleList.jsp (.../awaitForRecycleList.jsp) (revision 34431)
@@ -350,7 +350,7 @@
-
+
<%--
--%>
Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/awaitForRecycleList.js
===================================================================
diff -u -r34428 -r34431
--- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/awaitForRecycleList.js (.../awaitForRecycleList.js) (revision 34428)
+++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/awaitForRecycleList.js (.../awaitForRecycleList.js) (revision 34431)
@@ -1617,36 +1617,37 @@
return parseInt(value);
}
-function connectRFIDFun() {
+function connectRFIDFun(show) {
if ('serial' in navigator) {
- var encoder = new TextEncoder();
//设置循环查询获取用户区的数据
- var params = {
- data: encoder.encode(">x m 1 03 00 04\r\n")
+ var params = {}
+ if(show !== 0){
+ params = {
+ usbVendorId: 4292,
+ usbProductId: 60000
+ }
+ }else {
+ params = {
+ getAllPort:true
+ }
}
- openPort(params, function (value, isData) {
+ openPort(params, function (value, isData, errorStatus) {
if (isData) {
- var dataString = "";
- var barcode = '';
- if (value.length > 10) {
- for (var i = 0; i < value.length; i++) {
- if (value[i] !== '' && value[i] !== 13 && value[i] !== 10) {
- dataString += String.fromCharCode(value[i]);
- }
- }
- }
- if (dataString !== '' && dataString.indexOf('M') >= 0) {
- barcode = dataString.substring(dataString.indexOf('M') + 1, dataString.indexOf('FF'));
- if (barcode !== '') {
- loadBarcodeDevice(barcode);
- }
- }
+ loadBarcodeDevice(value);
} else {
- if(value == "连接失败:SecurityError: Failed to execute 'requestPort' on 'Serial': Must be handling a user gesture to show a permission request."){
- layer.msg('连接失败:串口还没有授权,请先点击【连接RFID设备】按钮!');
+ if (errorStatus == 'msg1') {
+ layer.msg(value);
$("#openPortBtn").show();
- }else {
+ } else if (errorStatus == 'msg2') {
layer.msg(value);
+ $("#openPortBtn").hide();
+ } else if (errorStatus == 'msg3') {
+ layer.msg(value);
+ $("#openPortBtn").show();
+ } else if (errorStatus == 'msg4') {
+ layer.msg(value);
+ } else if (errorStatus == 'msg5') {
+ layer.msg(value);
}
}
});
Index: ssts-web/src/main/webapp/disinfectsystem/packing/setPlugInRFID.js
===================================================================
diff -u -r34428 -r34431
--- ssts-web/src/main/webapp/disinfectsystem/packing/setPlugInRFID.js (.../setPlugInRFID.js) (revision 34428)
+++ ssts-web/src/main/webapp/disinfectsystem/packing/setPlugInRFID.js (.../setPlugInRFID.js) (revision 34431)
@@ -1,36 +1,142 @@
var keepReading = true;
var reader;
var writer;
+var port;
+var msg1 = '未找到该设备,请配置设备的usbVendorId和usbProductId';
+var msg2 = '设备已连接!';
+var msg3 = '连接失败:串口还没有授权,请先点击【连接RFID设备】按钮!';
+var msg4 = '用户取消选择端口!';
+var msg5 = '端口已打开!';
+var msg6 = '数据写入成功!';
+var msg7 = '数据写入失败,请重新写入!';
+//hex转字符串
+function hextoString(hex) {
+ var arr = hex.split("");
+ var out = "";
+ for (var i = 0; i < arr.length / 2; i++) {
+ var tmp = "0x" + arr[i * 2] + arr[i * 2 + 1]
+ var charValue = String.fromCharCode(tmp);
+ out += charValue
+ }
+ return out;
+};
+
+//字符串转hex
+function stringtoArr(str) {
+ var arr = [];
+ for (var i = 0; i < str.length; i++) {
+ if (arr.length == 0) {
+ arr[0] = parseInt(str.charCodeAt(i).toString(10));
+ } else {
+ arr.push(parseInt(str.charCodeAt(i).toString(10)))
+ }
+ }
+ return arr
+}
+
//打开串口并连接
async function openPort(params, callback) {
try {
- // 获取用户之前授予该网站访问权限的所有串口
- const filters = params.filters;
- const ports = await navigator.serial.getPorts();
- var port;
- if (ports.length == 1) {
- port = ports[0];
- } else {
- if (filters) {
- for (var i = 0; i < ports.length; i++) {
- const { usbProductId, usbVendorId } = ports[i].getInfo();
- if (filters[0].usbProductId == usbProductId && filters[0].usbVendorId == usbVendorId) {
- port = ports[i];
- break;
+ keepReading = true;
+ var usbVendorId = params.usbVendorId;
+ var usbProductId = params.usbProductId;
+ var baudRate = params.baudRate ? params.baudRate : 115200;
+ var dataBits = params.dataBits ? params.dataBits : 8;
+ var stopBits = params.stopBits ? params.stopBits : 1;
+ var parity = params.parity ? params.parity : 'none';
+ var getAllData = params.getAllData;
+ var getAllPort = params.getAllPort;
+ var barcode = '';
+ if (!port) {
+ if (getAllPort) {
+ port = await navigator.serial.requestPort();
+ var { usbProductId, usbVendorId } = port.getInfo();
+ usbVendorId = usbVendorId;
+ usbProductId = usbProductId;
+ } else {
+ if (!usbVendorId || !usbProductId) {
+ var ports = await navigator.serial.getPorts();
+ if (ports.length == 0) {
+ port = await navigator.serial.requestPort();
+ var { usbProductId, usbVendorId } = port.getInfo();
+ usbVendorId = usbVendorId;
+ usbProductId = usbProductId;
+ } else {
+ for (var i = 0; i < ports.length; i++) {
+ var { usbProductId, usbVendorId } = ports[i].getInfo();
+ if (usbProductId && usbVendorId) {
+ port = ports[i];
+ usbVendorId = usbVendorId;
+ usbProductId = usbProductId;
+ break;
+ }
+ }
}
+ } else {
+ var filters = [
+ { usbVendorId: usbVendorId, usbProductId: usbProductId }
+ ];
+ var ports = await navigator.serial.getPorts();
+ if (ports.length == 1) {
+ var { usbProductId, usbVendorId } = ports[0].getInfo();
+ if (filters[0].usbProductId == usbProductId && filters[0].usbVendorId == usbVendorId) {
+ port = ports[0];
+ }
+ if (!port) {
+ callback(msg1, false, 'msg1');
+ return;
+ }
+ } else if (ports.length > 1) {
+ for (var i = 0; i < ports.length; i++) {
+ var { usbProductId, usbVendorId } = ports[i].getInfo();
+ if (filters[0].usbProductId == usbProductId && filters[0].usbVendorId == usbVendorId) {
+ port = ports[i];
+ break;
+ }
+ }
+ if (!port) {
+ callback(msg1, false, 'msg1');
+ return;
+ }
+ } else {
+ port = await navigator.serial.requestPort();
+ var { usbProductId, usbVendorId } = port.getInfo();
+ usbVendorId = usbVendorId;
+ usbProductId = usbProductId;
+ }
}
- } else {
+ await port.open({ baudRate: baudRate }, { dataBits: dataBits }, { stopBits: stopBits }, { parity: parity });
+ }
+
+ } else {
+ if (getAllPort) {
port = await navigator.serial.requestPort();
+ var { usbProductId, usbVendorId } = port.getInfo();
+ usbVendorId = usbVendorId;
+ usbProductId = usbProductId;
+ } else {
+ var { usbProductId, usbVendorId } = port.getInfo();
+ usbVendorId = usbVendorId;
+ usbProductId = usbProductId;
}
}
- await port.open({ baudRate: 115200 }, { dataBits: 8 }, { stopBits: 1 }, { parity: 'none' });
- callback('设备已连接!', false);
reader = port.readable.getReader();
writer = port.writable.getWriter();
//设置循环查询获取用户区的数据
- await writer.write(params.data);
+ if (usbVendorId == 6790 && usbProductId == 29987) {//桌面式 F5005-H
+ var data = new Uint8Array([187, 23, 9, 0, 0, 0, 0, 0, 0, 0, 0, 9, 41, 13, 10]);
+ await writer.write(data);
+ } else if (usbVendorId == 4292 && usbProductId == 60000) {//手提式 A100
+ var encoder = new TextEncoder();
+ var data = encoder.encode(">x m 1 03 00 09\r\n");
+ await writer.write(data);
+ } else {
+ callback(msg1, false, 'msg1');
+ return;
+ }
while (port.readable && keepReading) {
+ callback(msg2, false, 'msg2');
try {
while (true) {
var { value, done } = await reader.read();
@@ -40,11 +146,123 @@
break;
}
if (value) {
- callback(value, true);
+ var dataString = "";
+ if (usbVendorId == 6790 && usbProductId == 29987) {//桌面式 F5005-H
+ if (value.length > 20) {
+ for (var i = 0; i < value.length; i++) {
+ dataString += value[i].toString(16)
+ }
+ } else {
+ var isReturn;
+ for (var i = 0; i < value.length; i++) {
+ if (value[0] == 154) {
+ if (value[2] == 1) {
+ isReturn = true;
+ break;
+ } else if (value[2] == 0) {
+ isReturn = false;
+ break;
+ }
+ } else if (value[1] == 154) {
+ if (value[3] == 1) {
+ isReturn = true;
+ break;
+ } else if (value[3] == 0) {
+ isReturn = false;
+ break;
+ }
+ }
+ }
+ if (isReturn == true) {
+ callback(msg6, false, 'msg6');
+ isReturn = '';
+ break;
+ } else if (isReturn == false) {
+ callback(msg7, false, 'msg7');
+ isReturn = '';
+ break;
+ }
+ }
+ if (dataString !== '') {
+ dataString = dataString.toUpperCase();
+ if (getAllData) {
+ var newTid;
+ if (dataString.indexOf('BB') >= 0) {
+ var tid;
+ dataString = dataString.substring(10, dataString.length);
+ var epc = dataString.substring(0, dataString.indexOf('CE2'));
+ if (dataString.indexOf('4D') > 0) {
+ tid = dataString.substring(dataString.indexOf('CE2') + 1, dataString.indexOf('4D') - 2);
+ } else {
+ tid = dataString.substring(dataString.indexOf('CE2') + 1, dataString.length - 2);
+ }
+ if (tid.length > 10 && dataString.indexOf('E') == 0) {
+ newTid = tid || ''
+ }
+ }
+ if (dataString.indexOf('4D') > -1 && dataString.indexOf('4646') > -1) {
+ var newData = hextoString(dataString);
+ if (newData.indexOf("M") == 0) {
+ newData = newData.substring(newData.indexOf("M"), newData.indexOf("FF") + 2);
+ newTid += ',' + newData;
+ }
+ }
+ if (newTid) {
+ callback(newTid, true);
+ }
+ } else {
+ if (dataString.indexOf('4D') > -1 && dataString.indexOf('4646') > -1) {
+ var newData = hextoString(dataString);
+ if (newData.indexOf("M") == 0) {
+ newData = newData.substring(newData.indexOf("M") + 1, newData.indexOf("FF"));
+ if (barcode !== newData) {
+ barcode = newData;
+ callback(barcode, true);
+ }
+ }
+ }
+ }
+ }
+ } else if (usbVendorId == 4292 && usbProductId == 60000) {//手提式 A100
+ var dataString = "";
+ if (value.length > 10) {
+ for (var i = 0; i < value.length; i++) {
+ if (value[i] !== '' && value[i] !== 13 && value[i] !== 10) {
+ dataString += String.fromCharCode(value[i]);
+ }
+ }
+ } else if (value.length == 4) {
+ if (value[0] == 65 && value[1] == 51) {//停止扫描
+ barcode = ''
+ }
+ } else if (value.length == 5) {
+ if (value[1] == 65 && value[2] == 51) {//停止扫描
+ barcode = ''
+ }
+ }
+ if (dataString !== '' && dataString.indexOf('M') > 0) {
+ if (getAllData) {
+ var arr = dataString.split('M');
+ var uid = arr[0].split('R')[1];
+ var userId = arr[1];
+ userId = hextoString(userId);
+ callback(uid + ',' + userId, true);
+ } else {
+ var newData = dataString.substring(dataString.indexOf('M') + 1, dataString.indexOf('4646'));
+ newData = hextoString(newData);
+ if (newData.indexOf("M") == 0) {
+ if (barcode !== newData) {
+ barcode = newData.substring(1, newData.length);
+ callback(barcode, true);
+ }
+ }
+ }
+ }
+ }
}
}
} catch (error) {
- callback('连接失败!', false);
+ callback('连接失败:' + error, false);
} finally {
var { value, done } = await reader.read();
if (done) {
@@ -53,15 +271,170 @@
return;
}
if (value) {
- dealWithData(value);
+ var dataString = "";
+ if (usbVendorId == 6790 && usbProductId == 29987) {//桌面式 F5005-H
+ if (value.length > 20) {
+ for (var i = 0; i < value.length; i++) {
+ dataString += value[i].toString(16)
+ }
+ } else {
+ var isReturn;
+ for (var i = 0; i < value.length; i++) {
+ if (value[0] == 154) {
+ if (value[2] == 1) {
+ isReturn = true;
+ break;
+ } else if (value[2] == 0) {
+ isReturn = false;
+ break;
+ }
+ } else if (value[1] == 154) {
+ if (value[3] == 1) {
+ isReturn = true;
+ break;
+ } else if (value[3] == 0) {
+ isReturn = false;
+ break;
+ }
+ }
+ }
+ if (isReturn == true) {
+ callback(msg6, false, 'msg6');
+ isReturn = '';
+ break;
+ } else if (isReturn == false) {
+ callback(msg7, false, 'msg7');
+ isReturn = '';
+ break;
+ }
+ }
+ if (dataString !== '') {
+ dataString = dataString.toUpperCase();
+ if (getAllData) {
+ var newTid;
+ if (dataString.indexOf('BB') >= 0) {
+ var tid;
+ if (dataString.indexOf('4D') > 0) {
+ tid = dataString.substring(30, dataString.indexOf('4D') - 2);
+ } else {
+ tid = dataString.substring(30, dataString.length - 2);
+ }
+ if (tid.length > 10 && tid.indexOf('E') == 0) {
+ newTid = tid || ''
+ }
+ }
+ if (dataString.indexOf('4D') > -1 && dataString.indexOf('4646') > -1) {
+ var newData = hextoString(dataString);
+ if (newData.indexOf("M") == 0) {
+ newData = newData.substring(newData.indexOf("M"), newData.indexOf("FF") + 2);
+ callback(newTid + ',' + newData, true);
+ }
+ }
+ } else {
+ if (dataString.indexOf('4D') > -1 && dataString.indexOf('4646') > -1) {
+ var newData = hextoString(dataString);
+ if (newData.indexOf("M") == 0) {
+ newData = newData.substring(newData.indexOf("M") + 1, newData.indexOf("FF"));
+ if (barcode !== newData) {
+ barcode = newData;
+ callback(barcode, true);
+ }
+ }
+ }
+ }
+ }
+ } else if (usbVendorId == 4292 && usbProductId == 60000) {//手提式 A100
+ var dataString = "";
+ if (value.length > 10) {
+ for (var i = 0; i < value.length; i++) {
+ if (value[i] !== '' && value[i] !== 13 && value[i] !== 10) {
+ dataString += String.fromCharCode(value[i]);
+ }
+ }
+ } else if (value.length == 4) {
+ if (value[0] == 65 && value[1] == 51) {//停止扫描
+ barcode = ''
+ }
+ } else if (value.length == 5) {
+ if (value[1] == 65 && value[2] == 51) {//停止扫描
+ barcode = ''
+ }
+ }
+ if (dataString !== '' && dataString.indexOf('M') > 0) {
+ var newData = dataString.substring(dataString.indexOf('M') + 1, dataString.indexOf('4646'));
+ newData = hextoString(newData);
+ if (newData.indexOf("M") == 0) {
+ if (barcode !== newData) {
+ barcode = newData.substring(1, newData.length);
+ callback(barcode, true);
+ }
+ }
+ }
+ }
}
}
}
} catch (error) {
- callback('连接失败:' + error, false);
+ var errStr = '连接失败:' + error;
+ if (errStr.indexOf('Must be handling a user gesture to show a permission request') > 0) {
+ callback(msg3, false, 'msg3');
+ } else if (errStr.indexOf('No port selected by the user') > 0) {
+ callback(msg4, false, 'msg4');
+ } else if (errStr.indexOf('The port is already open') > 0) {
+ callback(msg5, false, 'msg5');
+ }
}
}
+async function closeRFID() {
+ if (keepReading && reader) {
+ keepReading = false;
+ reader.cancel();
+ reader.releaseLock();
+ writer.releaseLock();
+ }
+}
+var isStop = false;
+async function stopRFID() {
+ var { usbProductId, usbVendorId } = port.getInfo();
+ if (usbVendorId == 6790 && usbProductId == 29987) {//桌面式 F5005-H
+ //停止读取标签
+ var stop = [187, 24, 0, 24, 13, 10];
+ var stopData = new Uint8Array(stop);
+ await writer.write(stopData);
+ isStop = true;
+ }
+}
+
+async function writeRFID(barcode) {
+ if (!isStop) {
+ showResult('请先停止读取标签!');
+ return;
+ }
+ var { usbProductId, usbVendorId } = port.getInfo();
+ if (usbVendorId == 6790 && usbProductId == 29987) {//桌面式 F5005-H
+ var barcodeArr = stringtoArr(barcode);
+ var addArr = [];
+ if (barcodeArr.length < 18) {
+ for (var j = 0; j < 18 - barcodeArr.length; j++) {
+ addArr.push(0);
+ }
+ }
+ var arr = [187];
+ var arr1 = [26, 30, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 9];
+
+ var resultArr = arr1.concat(barcodeArr).concat(addArr);
+ var sum = eval(resultArr.join('+'));
+ var str = sum.toString(16);
+ var crc = str.substring(str.length - 2);
+ crc = eval("0x" + crc).toString(10);
+ var arr2 = [parseInt(crc), 13, 10];
+ var newArr = arr.concat(resultArr).concat(arr2);
+ var data = new Uint8Array(newArr);
+ await writer.write(data);
+ }
+}
+
window.addEventListener('beforeunload', function () {
if (keepReading && reader) {
keepReading = false;
Index: ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js
===================================================================
diff -u -r34428 -r34431
--- ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js (.../packingView.js) (revision 34428)
+++ ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js (.../packingView.js) (revision 34431)
@@ -2575,10 +2575,9 @@
xtype: 'button',
margin: '0 0 0 10',
id:'connectRFID',
- hidden: true,
text: '' + '连接RFID设备' + '',
handler: function () {
- connectRFIDFun();
+ connectRFIDFun(0);
}
}]
}
@@ -6639,6 +6638,32 @@
inactivityTime();
if(sstsConfig.enableRFIDTousseIdCard && !isIE()){
+ //连接RFID设备
+ function connectRFIDFun(show){
+ if ('serial' in navigator) {
+ var params = {};
+ if(show !== 0){
+ params = {
+ usbVendorId: 6790,
+ usbProductId: 29987
+ }
+ }else {
+ params = {
+ getAllPort:true
+ }
+ }
+ openPort(params,function(value,isData,errorStatus){
+ if(isData){
+ loadIdCardByBarcode(value, true, true);
+ }else {
+ showResult(value);
+ }
+ });
+ } else {
+ showResult('你的浏览器不支持串口连接!');
+ }
+ }
+
connectRFIDFun();
}
});
@@ -6995,43 +7020,4 @@
} 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
Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/tousseView.jsp
===================================================================
diff -u -r34209 -r34431
--- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/tousseView.jsp (.../tousseView.jsp) (revision 34209)
+++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/tousseView.jsp (.../tousseView.jsp) (revision 34431)
@@ -174,6 +174,7 @@
+
Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/idCardForm.js
===================================================================
diff -u -r34326 -r34431
--- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/idCardForm.js (.../idCardForm.js) (revision 34326)
+++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/idCardForm.js (.../idCardForm.js) (revision 34431)
@@ -19,637 +19,648 @@
//标识牌标签类型
var idCardInstanceFields = [
- {name : 'id'},
- {name : 'idCardDefinitionID'},
- {name : 'barcode'},
- {name : 'status'},
- {name : 'useAmount'},
- {name : 'printDate'},
- {name : 'firstRecyclingTime'},
- {name : 'tousseInstanceStatusAndTime'},
- {name : 'sm'}// ColumnModel增加CheckboxSelectionModel后,不加这个会报错
- ];
+ { name: 'id' },
+ { name: 'idCardDefinitionID' },
+ { name: 'barcode' },
+ { name: 'status' },
+ { name: 'useAmount' },
+ { name: 'printDate' },
+ { name: 'firstRecyclingTime' },
+ { name: 'tousseInstanceStatusAndTime' },
+ { name: 'sm' }// ColumnModel增加CheckboxSelectionModel后,不加这个会报错
+];
var traceableMaterialFields = [
- {name : 'id'},
- {name : 'count'},
- {name : 'nameSpecification'},
- {name : 'name'},
- {name : 'specification'},
- {name : 'serialNumber'},
- {name : 'materialDefinition'},
- {name : 'sm'},// ColumnModel增加CheckboxSelectionModel后,不加这个会报错
- ];
+ { name: 'id' },
+ { name: 'count' },
+ { name: 'nameSpecification' },
+ { name: 'name' },
+ { name: 'specification' },
+ { name: 'serialNumber' },
+ { name: 'materialDefinition' },
+ { name: 'sm' },// ColumnModel增加CheckboxSelectionModel后,不加这个会报错
+];
var materialFields = [
- {name : 'id'},
- {name : 'count'},
- {name : 'materileName'},
- {name : 'name'},
- {name : 'specification'}
- ];
+ { name: 'id' },
+ { name: 'count' },
+ { name: 'materileName' },
+ { name: 'name' },
+ { name: 'specification' }
+];
var idCardFields = [
- {name : 'id'},
- {name : 'number'},
- {name : 'idNumber'},
- {name : 'deleted'},
- {name : 'status'},
- {name : 'barcode'},
- {name : 'curIdCardInstanceBarcode'},
- {name : 'idCardInstances'},
- {name : 'packageType'},
- {name : 'useAmount'},
- {name : 'traceableMaterials'},
- {name : 'idCardInstancesLoad'},
- {name : 'description'}
- ];
+ { name: 'id' },
+ { name: 'number' },
+ { name: 'idNumber' },
+ { name: 'deleted' },
+ { name: 'status' },
+ { name: 'barcode' },
+ { name: 'curIdCardInstanceBarcode' },
+ { name: 'idCardInstances' },
+ { name: 'packageType' },
+ { name: 'useAmount' },
+ { name: 'traceableMaterials' },
+ { name: 'idCardInstancesLoad' },
+ { name: 'description' }
+];
IDCardInstance = Ext.data.Record.create(idCardInstanceFields);
IDCard = Ext.data.Record.create(idCardFields);
var TraceableMaterial = Ext.data.Record.create(traceableMaterialFields);
// 显示标识牌表单
-function showIDCardListView(){
+function showIDCardListView() {
supplementResult = false;
idCardDefinitionStore = new top.Ext.data.Store({
- proxy : new top.Ext.data.HttpProxy({
- url : WWWROOT + '/disinfectSystem/idCardDefinitionAction!loadIDCardInfo.do',
- baseParams :{id:id},
- method : 'POST'
+ proxy: new top.Ext.data.HttpProxy({
+ url: WWWROOT + '/disinfectSystem/idCardDefinitionAction!loadIDCardInfo.do',
+ baseParams: { id: id },
+ method: 'POST'
}),
- reader : new top.Ext.data.JsonReader({
- fields : idCardFields
+ reader: new top.Ext.data.JsonReader({
+ fields: idCardFields
})
});
-// idCardDefinitionStore.baseParams['id'] = id;
-// idCardDefinitionStore.load({
-// callback:function(records,options,success){
-// if(success){
-// idCardsOriginalStr = buildJSONStringFromStore(idCardDefinitionStore);
-// // 选中第一个标识牌
-// gridPanel.getSelectionModel().selectFirstRow();
-// }
-// }});
- if(id != 0 && !sstsConfig.disableIdCard){
+ // idCardDefinitionStore.baseParams['id'] = id;
+ // idCardDefinitionStore.load({
+ // callback:function(records,options,success){
+ // if(success){
+ // idCardsOriginalStr = buildJSONStringFromStore(idCardDefinitionStore);
+ // // 选中第一个标识牌
+ // gridPanel.getSelectionModel().selectFirstRow();
+ // }
+ // }});
+ if (id != 0 && !sstsConfig.disableIdCard) {
loadIDCardDefinitions();
}
-
-
+
+
var signBoardCm = new top.Ext.grid.ColumnModel([
- new top.Ext.grid.CheckboxSelectionModel ({singleSelect : true,hideable:false}),//checkbox 列
- {header : '序号',dataIndex : 'number',width : 30},
-// {header : "当前条码",dataIndex : 'barcode',width : 70},
- {header : "当前条码",dataIndex : 'curIdCardInstanceBarcode',width : 70},
- {header : "编号",dataIndex : 'idNumber',width : 30,editor : new top.Ext.form.TextField({
- })},
- {header : "使用次数",dataIndex : 'useAmount',width : 30},
- {header : "包装类型",dataIndex : 'packageType',width : 120,hidden:!sstsConfig.enableIdCardDefaultPackageType},
- {header : "状态",dataIndex : 'status',width : 50},
- {id:'description',header : "描述",
- dataIndex : 'description',
- width : 200,
- editor : new top.Ext.form.TextField({
- })
- }
-// {header : "废弃",width : 50,menuDisabled : true,dataIndex : 'deleteButton', renderer:renderDeleteButton},
-// {header : "打印新标签",width : 100,menuDisabled : true,dataIndex : 'printButton', renderer:renderPrintButton}
+ new top.Ext.grid.CheckboxSelectionModel({ singleSelect: true, hideable: false }),//checkbox 列
+ { header: '序号', dataIndex: 'number', width: 30 },
+ // {header : "当前条码",dataIndex : 'barcode',width : 70},
+ { header: "当前条码", dataIndex: 'curIdCardInstanceBarcode', width: 70 },
+ {
+ header: "编号", dataIndex: 'idNumber', width: 30, editor: new top.Ext.form.TextField({
+ })
+ },
+ { header: "使用次数", dataIndex: 'useAmount', width: 30 },
+ { header: "包装类型", dataIndex: 'packageType', width: 120, hidden: !sstsConfig.enableIdCardDefaultPackageType },
+ { header: "状态", dataIndex: 'status', width: 50 },
+ {
+ id: 'description', header: "描述",
+ dataIndex: 'description',
+ width: 200,
+ editor: new top.Ext.form.TextField({
+ })
+ }
+ // {header : "废弃",width : 50,menuDisabled : true,dataIndex : 'deleteButton', renderer:renderDeleteButton},
+ // {header : "打印新标签",width : 100,menuDisabled : true,dataIndex : 'printButton', renderer:renderPrintButton}
]);
gridPanel = new top.Ext.grid.EditorGridPanel({
-// height : 200,
- width:860,
- store : idCardDefinitionStore,
- cm : signBoardCm,
- frame : false,
-// autoScroll : true,
- autoExpandColumn : 'description',
-// bodyStyle : 'border:1px solid #afd7af;overflow-y:auto;overflow-x:hidden',
- bodyStyle : 'border:1px solid #afd7af',
+ // height : 200,
+ width: 860,
+ store: idCardDefinitionStore,
+ cm: signBoardCm,
+ frame: false,
+ // autoScroll : true,
+ autoExpandColumn: 'description',
+ // bodyStyle : 'border:1px solid #afd7af;overflow-y:auto;overflow-x:hidden',
+ bodyStyle: 'border:1px solid #afd7af',
viewConfig: {
- forceFit:true
+ forceFit: true
},
- clicksToEdit:2,
-// autoScroll:true,
- selModel : new top.Ext.grid.CheckboxSelectionModel({
- singleSelect : true,
- listeners :{
- 'selectionchange':function(sm){
- var record = sm.getSelected();
- traceableMaterialGridPanel.stopEditing();// 停止编辑
- // 清除显示的列表
- idCardInstancesGridPanel.getStore().removeAll();
- traceableMaterialGridPanel.getStore().removeAll();
- if(record != null){
- loadIDCardInstanceAndTraceableMaterialInfoIfNeeded(record);
- loadDataToIdCardInstancesGridStore();
- loadDataToSignMaterileGridStore();
- }
-// var fieldName = grid.getColumnModel().getDataIndex(columnIndex);
-// if(fieldName != 'deleteButton' && fieldName != 'printButton'){
-// var record = grid.getSelectionModel().getSelected();
-// var id = record.data['id'];
-//
-// }
-// top.Ext.getCmp('rowNumber').setValue(rowIndex);
- }
- }
+ clicksToEdit: 2,
+ // autoScroll:true,
+ selModel: new top.Ext.grid.CheckboxSelectionModel({
+ singleSelect: true,
+ listeners: {
+ 'selectionchange': function (sm) {
+ var record = sm.getSelected();
+ traceableMaterialGridPanel.stopEditing();// 停止编辑
+ // 清除显示的列表
+ idCardInstancesGridPanel.getStore().removeAll();
+ traceableMaterialGridPanel.getStore().removeAll();
+ if (record != null) {
+ loadIDCardInstanceAndTraceableMaterialInfoIfNeeded(record);
+ loadDataToIdCardInstancesGridStore();
+ loadDataToSignMaterileGridStore();
+ }
+ // var fieldName = grid.getColumnModel().getDataIndex(columnIndex);
+ // if(fieldName != 'deleteButton' && fieldName != 'printButton'){
+ // var record = grid.getSelectionModel().getSelected();
+ // var id = record.data['id'];
+ //
+ // }
+ // top.Ext.getCmp('rowNumber').setValue(rowIndex);
+ }
+ }
}),
-
- items:[{
- xtype:'hidden',
- name:'rowNumber',
- id:'rowNumber'
- }],
- bbar : [
- {
- text : '更新标识牌',
- hidden:forSupplement,
- handler : function() {
- var idCardsRecords = gridPanel.getSelectionModel().getSelections();
- if (idCardsRecords.length == 0) {
- showResult('请选择要更新的标识牌!');
- return;
- }
- saveIDCardDefinition(idCardsRecords[0]);
+ items: [{
+ xtype: 'hidden',
+ name: 'rowNumber',
+ id: 'rowNumber'
+ }],
+ bbar: [
+ {
+ text: '更新标识牌',
+ hidden: forSupplement,
+ handler: function () {
+
+ var idCardsRecords = gridPanel.getSelectionModel().getSelections();
+ if (idCardsRecords.length == 0) {
+ showResult('请选择要更新的标识牌!');
+ return;
}
- }]
+ saveIDCardDefinition(idCardsRecords[0]);
+ }
+ }]
});
idCardInstancesGridStore = new top.Ext.data.Store({
- proxy : new top.Ext.data.HttpProxy({
- url : WWWROOT + '/disinfectSystem/idCardDefinitionAction!loadIDCardInstanceInfo.do',
- method : 'POST'
+ proxy: new top.Ext.data.HttpProxy({
+ url: WWWROOT + '/disinfectSystem/idCardDefinitionAction!loadIDCardInstanceInfo.do',
+ method: 'POST'
}),
- reader : new top.Ext.data.JsonReader({
- fields : idCardInstanceFields
+ reader: new top.Ext.data.JsonReader({
+ fields: idCardInstanceFields
})
});
var idCardInstancesGridCm = new Ext.grid.ColumnModel([
-new top.Ext.grid.CheckboxSelectionModel ({singleSelect : false}),//checkbox 列
- {header : '条码',dataIndex : 'barcode',width : 80},
- {header : "使用次数",dataIndex : 'useAmount',width : 70},
- {header : "状态",dataIndex : 'status',width : 50},
- {header : "最后打印时间",dataIndex : 'printDate',width : 150},
- {header : "第一次回收时间",dataIndex : 'firstRecyclingTime',width : 120},
- {id:'tousseInstanceStatusAndTime',header : "器械包状态",dataIndex : 'tousseInstanceStatusAndTime',width : 200,menuDisabled : true}
+ new top.Ext.grid.CheckboxSelectionModel({ singleSelect: false }),//checkbox 列
+ { header: '条码', dataIndex: 'barcode', width: 80 },
+ { header: "使用次数", dataIndex: 'useAmount', width: 70 },
+ { header: "状态", dataIndex: 'status', width: 50 },
+ { header: "最后打印时间", dataIndex: 'printDate', width: 150 },
+ { header: "第一次回收时间", dataIndex: 'firstRecyclingTime', width: 120 },
+ { id: 'tousseInstanceStatusAndTime', header: "器械包状态", dataIndex: 'tousseInstanceStatusAndTime', width: 200, menuDisabled: true }
]);
idCardInstancesGridPanel = new top.Ext.grid.GridPanel({
- title:'标识牌实例(含使用中和已丢失的)',
-// height:260,
-// autoHeight:true,
-// width:300,
- store : idCardInstancesGridStore,
- cm : idCardInstancesGridCm,
-// autoExpandColumn : 'tousseInstanceStatusAndTime',
- bodyStyle : 'border:1px solid #afd7af',
-// viewConfig: {
-// forceFit:true
-// },
- clicksToEdit:1,
- selModel : new top.Ext.grid.CheckboxSelectionModel({
- singleSelect : true
+ title: '标识牌实例(含使用中和已丢失的)',
+ // height:260,
+ // autoHeight:true,
+ // width:300,
+ store: idCardInstancesGridStore,
+ cm: idCardInstancesGridCm,
+ // autoExpandColumn : 'tousseInstanceStatusAndTime',
+ bodyStyle: 'border:1px solid #afd7af',
+ // viewConfig: {
+ // forceFit:true
+ // },
+ clicksToEdit: 1,
+ selModel: new top.Ext.grid.CheckboxSelectionModel({
+ singleSelect: true
}),
- tbar : [
- {
- text : '打印',
- iconCls : 'icon_print',
- hidden:forSupplement,
- handler : function() {
- var records = idCardInstancesGridPanel.getSelectionModel().getSelections();
- if (records.length == 0) {
- showResult('请选择要打印的标识牌实例!');
- return;
- }
+ tbar: [
+ {
+ text: '打印',
+ iconCls: 'icon_print',
+ hidden: forSupplement,
+ handler: function () {
+ var records = idCardInstancesGridPanel.getSelectionModel().getSelections();
+ if (records.length == 0) {
+ showResult('请选择要打印的标识牌实例!');
+ return;
+ }
- if (records.length > 1) {
- showResult('只能选择打印一个标识牌实例!');
- return;
- }
+ if (records.length > 1) {
+ showResult('只能选择打印一个标识牌实例!');
+ return;
+ }
- if(records[0].data.printDate !== ''){
- top.Ext.MessageBox.confirm("注意:","重复的标识牌会导致问题,要继续重复打印吗?",function(button, text) {
- if ("yes" == button){
- top.Ext.MessageBox.progress('打印中', '请稍候...');
- printIDCardInstanceByID(records[0].data.id,records[0].data.idCardDefinitionID);
- }
- });
- }else {
- top.Ext.MessageBox.progress('打印中', '请稍候...');
- printIDCardInstanceByID(records[0].data.id,records[0].data.idCardDefinitionID);
- }
+ if (records[0].data.printDate !== '') {
+ top.Ext.MessageBox.confirm("注意:", "重复的标识牌会导致问题,要继续重复打印吗?", function (button, text) {
+ if ("yes" == button) {
+ top.Ext.MessageBox.progress('打印中', '请稍候...');
+ printIDCardInstanceByID(records[0].data.id, records[0].data.idCardDefinitionID);
+ }
+ });
+ } else {
+ top.Ext.MessageBox.progress('打印中', '请稍候...');
+ printIDCardInstanceByID(records[0].data.id, records[0].data.idCardDefinitionID);
}
- }, {
- text : '转换',
- hidden:forSupplement,
- iconCls : 'btn_ext_refresh',
- handler : function() {
- rebindIDCardInstanceToIDCardDefinition();
- }
- }, {
- text : '修改使用次数',
- hidden:forSupplement,
- handler : function() {
- modifyUseAmountOfIDCardInstance();
- }
- } ]
+ }
+ }, {
+ text: '转换',
+ hidden: forSupplement,
+ iconCls: 'btn_ext_refresh',
+ handler: function () {
+ rebindIDCardInstanceToIDCardDefinition();
+ }
+ }, {
+ text: '修改使用次数',
+ hidden: forSupplement,
+ handler: function () {
+ modifyUseAmountOfIDCardInstance();
+ }
+ }, {
+ text: '写入RFID标签',
+ hidden: !(sstsConfig.enableRFIDTousseIdCard && !isIE()),
+ handler: function () {
+ writerRFIDCard();
+ }
+ }]
});
signMaterileGridStore = new top.Ext.data.Store({
- proxy : new top.Ext.data.HttpProxy({
- url : WWWROOT + '/disinfectSystem/idCardDefinitionAction!loadTraceableMaterialInfo.do',
- method : 'POST'
+ proxy: new top.Ext.data.HttpProxy({
+ url: WWWROOT + '/disinfectSystem/idCardDefinitionAction!loadTraceableMaterialInfo.do',
+ method: 'POST'
}),
- reader : new top.Ext.data.JsonReader({
- fields : traceableMaterialFields
+ reader: new top.Ext.data.JsonReader({
+ fields: traceableMaterialFields
})
});
-
+
signMaterilenStore = new top.Ext.data.Store({
- proxy : new top.Ext.data.HttpProxy({
- url : WWWROOT + '/disinfectSystem/idCardDefinitionAction!loadMaterilenByid.do',
- method : 'POST'
+ proxy: new top.Ext.data.HttpProxy({
+ url: WWWROOT + '/disinfectSystem/idCardDefinitionAction!loadMaterilenByid.do',
+ method: 'POST'
}),
- baseParams :{id:id},
- reader : new top.Ext.data.JsonReader({
- fields : materialFields
+ baseParams: { id: id },
+ reader: new top.Ext.data.JsonReader({
+ fields: materialFields
})
});
//signMaterilenStore.load();
var signMaterilenGridCm = new top.Ext.grid.ColumnModel([
-new top.Ext.grid.CheckboxSelectionModel ({singleSelect : true}),//checkbox 列
- {id : 'materileNameID',
- header : "器械名称",
- dataIndex : 'nameSpecification',
- width : 150,
- editor : new top.Ext.form.ComboBox({
- xtype : 'combo',
- name : 'materileName',
- queryParam : 'spell',
- valueField : 'id',
- displayField : 'materileName',
- store : signMaterilenStore,
- forceSelection : true,
- lazyInit : true,
- triggerAction : 'all',
- editable : false,
- hideTrigger : false,
- typeAhead : false,
- allowBlank : false,
- anchor : '97%',
- listeners : {
- select : function(combo, record, index) {
+ new top.Ext.grid.CheckboxSelectionModel({ singleSelect: true }),//checkbox 列
+ {
+ id: 'materileNameID',
+ header: "器械名称",
+ dataIndex: 'nameSpecification',
+ width: 150,
+ editor: new top.Ext.form.ComboBox({
+ xtype: 'combo',
+ name: 'materileName',
+ queryParam: 'spell',
+ valueField: 'id',
+ displayField: 'materileName',
+ store: signMaterilenStore,
+ forceSelection: true,
+ lazyInit: true,
+ triggerAction: 'all',
+ editable: false,
+ hideTrigger: false,
+ typeAhead: false,
+ allowBlank: false,
+ anchor: '97%',
+ listeners: {
+ select: function (combo, record, index) {
var materileName = record.data.materileName;
var specification = record.data.specification;
var count = record.data.count;
var name = record.data.name;
combo.setValue(materileName);
var record2 = traceableMaterialGridPanel.getSelectionModel().getSelected();
- record2.set("materileName",materileName);
- record2.set("count",count);
- record2.set("name",name);
- record2.set("specification",specification);
- record2.data.materialDefinition = {id:record.data.id,name:name,specification:specification};
+ record2.set("materileName", materileName);
+ record2.set("count", count);
+ record2.set("name", name);
+ record2.set("specification", specification);
+ record2.data.materialDefinition = { id: record.data.id, name: name, specification: specification };
}
},
- value:""
+ value: ""
})
-
+
},
- {id:'serialNumber',
- header : "序列号",
- dataIndex : 'serialNumber',
- width : 100,
- editor : new top.Ext.form.TextField({
- id:'materialInput',
- allowBlank : false
+ {
+ id: 'serialNumber',
+ header: "序列号",
+ dataIndex: 'serialNumber',
+ width: 100,
+ editor: new top.Ext.form.TextField({
+ id: 'materialInput',
+ allowBlank: false
})
}
]);
traceableMaterialGridPanel = new top.Ext.grid.EditorGridPanel({
- id:'signMaterileID',
- title:'单件器械列表',
-// height:260,
- width:280,
- frame : false,
- store : signMaterileGridStore,
- cm : signMaterilenGridCm,
- autoExpandColumn : 'serialNumber',
- autoScroll : true,
+ id: 'signMaterileID',
+ title: '单件器械列表',
+ // height:260,
+ width: 280,
+ frame: false,
+ store: signMaterileGridStore,
+ cm: signMaterilenGridCm,
+ autoExpandColumn: 'serialNumber',
+ autoScroll: true,
viewConfig: {
- forceFit:true
+ forceFit: true
},
- bodyStyle : 'border:1px solid #afd7af',
- clicksToEdit : 1,
- selModel : new top.Ext.grid.CheckboxSelectionModel({
- singleSelect : true
+ bodyStyle: 'border:1px solid #afd7af',
+ clicksToEdit: 1,
+ selModel: new top.Ext.grid.CheckboxSelectionModel({
+ singleSelect: true
}),
-
- tbar : [{
- text : '新增材料',
- hidden:forSupplement,
- iconCls : 'btn_ext_add',
- handler : function() {
-
- var record = gridPanel.getSelectionModel().getSelections();
- if(record.length == 0){
- showResult('请选择要添加的标识牌!');
- }else{
- var n = top.Ext.getCmp('signMaterileID').getStore().getCount();// 获得总行数
- var material = new TraceableMaterial({
- nameSpecification : '',
- serialNumber : ''
- });
- record[0].data.traceableMaterials.push(material.data);
- top.Ext.getCmp('signMaterileID').stopEditing();// 停止编辑
- signMaterileGridStore.add(material);// 插入到最后一行
- traceableMaterialGridPanel.getSelectionModel().selectRow(n);
- top.Ext.getCmp('signMaterileID').startEditing(n, 0);// 开始编辑0单元格
- }
-
- }
- }, {
- text : '删除材料',
- hidden:forSupplement,
- iconCls : 'btn_remove',
- handler : function() {
- var idCards = gridPanel.getSelectionModel().getSelections();
- if(idCards.length == 0){
- showResult('请选择标识牌!');
- return;
- }
- var traceableMaterials = top.Ext.getCmp('signMaterileID').getSelectionModel().getSelections();// 返回值为 Record 数组
- if (traceableMaterials.length == 0) {
- showResult('最少选择一条信息,进行删除!');
- } else {
- top.Ext.MessageBox.confirm('提示框', '您确定要进行该操作?', function(btn) {
- if (btn == 'yes') {
- if (traceableMaterials) {
- for ( var i = 0; i < traceableMaterials.length; i++) {
- signMaterileGridStore.remove(traceableMaterials[i]);
- }
- setTraceableMaterialsToIDCardDefinition(idCards[0].data);
- }
- }
- });
- }
-
- }
- }],
- bbar : [
- {
- text : '保存材料',
- iconCls : 'icon_print',
- hidden:forSupplement,
- handler : function() {
- var idCardsRecords = gridPanel.getSelectionModel().getSelections();
- if (idCardsRecords.length == 0) {
- showResult('请选择要保存的标识牌!');
- return;
+ tbar: [{
+ text: '新增材料',
+ hidden: forSupplement,
+ iconCls: 'btn_ext_add',
+ handler: function () {
+
+ var record = gridPanel.getSelectionModel().getSelections();
+ if (record.length == 0) {
+ showResult('请选择要添加的标识牌!');
+ } else {
+ var n = top.Ext.getCmp('signMaterileID').getStore().getCount();// 获得总行数
+ var material = new TraceableMaterial({
+ nameSpecification: '',
+ serialNumber: ''
+ });
+ record[0].data.traceableMaterials.push(material.data);
+ top.Ext.getCmp('signMaterileID').stopEditing();// 停止编辑
+ signMaterileGridStore.add(material);// 插入到最后一行
+ traceableMaterialGridPanel.getSelectionModel().selectRow(n);
+ top.Ext.getCmp('signMaterileID').startEditing(n, 0);// 开始编辑0单元格
+ }
+
+ }
+ }, {
+ text: '删除材料',
+ hidden: forSupplement,
+ iconCls: 'btn_remove',
+ handler: function () {
+ var idCards = gridPanel.getSelectionModel().getSelections();
+ if (idCards.length == 0) {
+ showResult('请选择标识牌!');
+ return;
+ }
+ var traceableMaterials = top.Ext.getCmp('signMaterileID').getSelectionModel().getSelections();// 返回值为 Record 数组
+ if (traceableMaterials.length == 0) {
+ showResult('最少选择一条信息,进行删除!');
+ } else {
+ top.Ext.MessageBox.confirm('提示框', '您确定要进行该操作?', function (btn) {
+ if (btn == 'yes') {
+ if (traceableMaterials) {
+ for (var i = 0; i < traceableMaterials.length; i++) {
+ signMaterileGridStore.remove(traceableMaterials[i]);
+ }
+ setTraceableMaterialsToIDCardDefinition(idCards[0].data);
}
- saveTraceableMaterials(idCardsRecords[0])
}
- }, {
- text : '取消',
- hidden:true,
- handler : function() {
- var idCardsRecords = gridPanel.getSelectionModel().getSelections();
- if (idCardsRecords.length == 0) {
- showResult('请选择标识牌!');
- return;
- }
- cancelSaveTraceableMaterials(idCardsRecords[0]);
- }
- } ]
+ });
+ }
+
+ }
+ }],
+ bbar: [
+ {
+ text: '保存材料',
+ iconCls: 'icon_print',
+ hidden: forSupplement,
+ handler: function () {
+
+ var idCardsRecords = gridPanel.getSelectionModel().getSelections();
+ if (idCardsRecords.length == 0) {
+ showResult('请选择要保存的标识牌!');
+ return;
+ }
+ saveTraceableMaterials(idCardsRecords[0])
+ }
+ }, {
+ text: '取消',
+ hidden: true,
+ handler: function () {
+ var idCardsRecords = gridPanel.getSelectionModel().getSelections();
+ if (idCardsRecords.length == 0) {
+ showResult('请选择标识牌!');
+ return;
+ }
+ cancelSaveTraceableMaterials(idCardsRecords[0]);
+ }
+ }]
});
// 标识牌表单
signBoardForm = new top.Ext.FormPanel({
- id : 'tousseSignBoardForm',
-// frame : true,
+ id: 'tousseSignBoardForm',
+ // frame : true,
width: 900,
- height : 600,
- layout:'column',
- bodyStyle : 'padding:0px 0px 0px 0px;',
- autoScroll : true,
+ height: 600,
+ layout: 'column',
+ bodyStyle: 'padding:0px 0px 0px 0px;',
+ autoScroll: true,
items: [{
- xtype:'hidden',
- hidden:true,
- name:'signBoardMaterileData',
- id:'signBoardMaterileData'
- },{
+ xtype: 'hidden',
+ hidden: true,
+ name: 'signBoardMaterileData',
+ id: 'signBoardMaterileData'
+ }, {
//region: 'north',
- anchor:'100% 50%',
- height:280,
- columnWidth : 1,
- layout : 'fit',
- items:[gridPanel],
- tbar:[{
- xtype:'button',
- text:'添加',
- hidden:forSupplement,
- id : 'addBtn',
- iconCls : 'btn_ext_application_add',
- handler : function(){
- addIDCardDefinition();
- }
- },{
- xtype:'button',
- text:'废弃',
- hidden:forSupplement,
- iconCls : 'btn_ext_application_del',
- id : 'discardBtn',
- handler : function(){
- discardIDCards();
- }
- },{
- xtype:'button',
- text:'重置',
- hidden:forSupplement,
- iconCls : 'btn_ext_application_del',
- id : 'resetBtn',
- handler : function(){
- resetIDCard();
- }
- },{
- xtype:'button',
- text:'信息维护',
- id : 'maintain',
- hidden:!sstsConfig.enableIdCardInfoMaintain,
- handler : function(){
+ anchor: '100% 50%',
+ height: 280,
+ columnWidth: 1,
+ layout: 'fit',
+ items: [gridPanel],
+ tbar: [{
+ xtype: 'button',
+ text: '添加',
+ hidden: forSupplement,
+ id: 'addBtn',
+ iconCls: 'btn_ext_application_add',
+ handler: function () {
+ addIDCardDefinition();
+ }
+ }, {
+ xtype: 'button',
+ text: '废弃',
+ hidden: forSupplement,
+ iconCls: 'btn_ext_application_del',
+ id: 'discardBtn',
+ handler: function () {
+ discardIDCards();
+ }
+ }, {
+ xtype: 'button',
+ text: '重置',
+ hidden: forSupplement,
+ iconCls: 'btn_ext_application_del',
+ id: 'resetBtn',
+ handler: function () {
+ resetIDCard();
+ }
+ }, {
+ xtype: 'button',
+ text: '信息维护',
+ id: 'maintain',
+ hidden: !sstsConfig.enableIdCardInfoMaintain,
+ handler: function () {
//ZSRY-5新增:cardInfoMaintain.js
var idCardsRecords = getGridSelectionsRecords(gridPanel);
- if(idCardsRecords.length == 0){
+ if (idCardsRecords.length == 0) {
showResult("请选择要维护的标识牌实例!");
return;
- }else if(idCardsRecords.length > 1){
+ } else if (idCardsRecords.length > 1) {
showResult("只能选择一条标识牌实例进行维护!");
return;
}
- cardInfoMaintain(idCardsRecords[0].data.id);
- }
- },{
- xtype:'button',
- text:'丢失打印',
- hidden:false,
- id : 'printNewBtn',
- handler : function(){
- printNewIDCardInstance();
- }
- },{
- xtype:'button',
- text:'修改包装类型',
- hidden:!sstsConfig.enableIdCardDefaultPackageType,
- id : 'modifyPackageType',
- handler : function(){
- modifyPackageType();
- }
- },{
- xtype:'button',
- text:'补充并打印',
- hidden:!forSupplement,
- handler : function(){
- printNewIDCardInstanceForSupplement();
- }
- },{
- text : '打印全部',
- iconCls : 'icon_print',
-// hidden:forSupplement,
- hidden:true,
- handler : function() {
+ cardInfoMaintain(idCardsRecords[0].data.id);
+ }
+ }, {
+ xtype: 'button',
+ text: '丢失打印',
+ hidden: false,
+ id: 'printNewBtn',
+ handler: function () {
+ printNewIDCardInstance();
+ }
+ }, {
+ xtype: 'button',
+ text: '修改包装类型',
+ hidden: !sstsConfig.enableIdCardDefaultPackageType,
+ id: 'modifyPackageType',
+ handler: function () {
+ modifyPackageType();
+ }
+ }, {
+ xtype: 'button',
+ text: '补充并打印',
+ hidden: !forSupplement,
+ handler: function () {
+ printNewIDCardInstanceForSupplement();
+ }
+ }, {
+ text: '打印全部',
+ iconCls: 'icon_print',
+ // hidden:forSupplement,
+ hidden: true,
+ handler: function () {
printAllIdCard();
}
- }, '-',{
- xtype : 'checkbox',
- id : 'checkbox_viewAll',
- name : 'checkbox_viewAll',
- boxLabel : '查看所有',
- checked :false,
- value :false,
- labelStyle:'',
- listeners :{
- 'check':function(cbox,checked){
- reLoadIDCardDefinitions();
- },
- 'render':function(cbox){
- cbox.setValue(false);
- }
-
- }
- }, '-',{
- text : '标识牌标签:',
- hidden:forSupplement
- },{
- xtype : 'combo',
- id : 'idCardPaperType2',
- name : 'idCardPaperType2',
- editable:false,
- valueField : 'name',
- displayField : 'name',
- listWidth: 150,
- store : idCardBarcodePaperTypeStore,
- value : defaultIdCardPaperType,
- forceSelection : true,
- triggerAction : 'all',
- anchor : '100%'
- }]
- },{
- anchor:'100% 50%',
- layout : 'fit',
- columnWidth : 1,
- items : [{
- //region: 'center',
- layout : 'column',
- columnWidth : 1,
- labelAlign : 'right',
- items : [{
- height:250,
- columnWidth : .65,
- layout:'fit',
- items : [idCardInstancesGridPanel]
- },{
- height:250,
- columnWidth : .35,
- layout:'fit',
- items : [traceableMaterialGridPanel]
+ }, '-', {
+ xtype: 'checkbox',
+ id: 'checkbox_viewAll',
+ name: 'checkbox_viewAll',
+ boxLabel: '查看所有',
+ checked: false,
+ value: false,
+ labelStyle: '',
+ listeners: {
+ 'check': function (cbox, checked) {
+ reLoadIDCardDefinitions();
+ },
+ 'render': function (cbox) {
+ cbox.setValue(false);
+ }
+
+ }
+ }, '-', {
+ text: '标识牌标签:',
+ hidden: forSupplement
+ }, {
+ xtype: 'combo',
+ id: 'idCardPaperType2',
+ name: 'idCardPaperType2',
+ editable: false,
+ valueField: 'name',
+ displayField: 'name',
+ listWidth: 150,
+ store: idCardBarcodePaperTypeStore,
+ value: defaultIdCardPaperType,
+ forceSelection: true,
+ triggerAction: 'all',
+ anchor: '100%'
+ }]
+ }, {
+ anchor: '100% 50%',
+ layout: 'fit',
+ columnWidth: 1,
+ items: [{
+ //region: 'center',
+ layout: 'column',
+ columnWidth: 1,
+ labelAlign: 'right',
+ items: [{
+ height: 250,
+ columnWidth: .65,
+ layout: 'fit',
+ items: [idCardInstancesGridPanel]
+ }, {
+ height: 250,
+ columnWidth: .35,
+ layout: 'fit',
+ items: [traceableMaterialGridPanel]
}]
- }]
- }
-// ,{
-// anchor:'100% 50%',
-// height:250,
-// //region: 'center',
-// layout : 'column',
-// columnWidth : 1,
-// labelAlign : 'right',
-// items : [{
-// columnWidth : .6,
-// layout:'fit',
-// items : [idCardInstancesGridPanel]
-// },{
-// columnWidth : .39,
-// layout:'fit',
-// items : [traceableMaterialGridPanel]
-// }]
-// }
+ }]
+ }
+ // ,{
+ // anchor:'100% 50%',
+ // height:250,
+ // //region: 'center',
+ // layout : 'column',
+ // columnWidth : 1,
+ // labelAlign : 'right',
+ // items : [{
+ // columnWidth : .6,
+ // layout:'fit',
+ // items : [idCardInstancesGridPanel]
+ // },{
+ // columnWidth : .39,
+ // layout:'fit',
+ // items : [traceableMaterialGridPanel]
+ // }]
+ // }
],
- buttonAlign : 'center',
- buttons:[{
- text:'保存',
- hidden:true,
- handler:function(){
- // 校验页面
- if(!validateFormParams()){
- return;
- }
- var store = gridPanel.getStore();
- top.Ext.MessageBox.confirm('提示框', '您确定保存标识牌吗?', function(btn) {
- if (btn == 'yes') {
- var idCards = buildJSONStringFromStore(store);
- Ext.Ajax.request({
- url : WWWROOT + '/disinfectSystem/idCardDefinitionAction!saveIDCardDefinition.do',
- params : {idCards:idCards, id:id,idCardsOriginalStr:idCardsOriginalStr},
- success : function(response, options) {
- showResult("保存标识牌成功。");
- tousseWin.close();
- },
- failure : function(response, options) {
- showResult("保存标识牌失败!");
- }
- });
- }
- });
- }
- },{
- text:'取消',
- hidden:forSupplement,
- handler:cancel
- }]
+ buttonAlign: 'center',
+ buttons: [{
+ text: '保存',
+ hidden: true,
+ handler: function () {
+ // 校验页面
+ if (!validateFormParams()) {
+ return;
+ }
+ var store = gridPanel.getStore();
+ top.Ext.MessageBox.confirm('提示框', '您确定保存标识牌吗?', function (btn) {
+ if (btn == 'yes') {
+ var idCards = buildJSONStringFromStore(store);
+ Ext.Ajax.request({
+ url: WWWROOT + '/disinfectSystem/idCardDefinitionAction!saveIDCardDefinition.do',
+ params: { idCards: idCards, id: id, idCardsOriginalStr: idCardsOriginalStr },
+ success: function (response, options) {
+ showResult("保存标识牌成功。");
+ tousseWin.close();
+ },
+ failure: function (response, options) {
+ showResult("保存标识牌失败!");
+ }
+ });
+ }
+ });
+ }
+ }, {
+ text: '取消',
+ hidden: forSupplement,
+ handler: cancel
+ }]
});
-
+
function cancel() {
tousseWin.close();
tousseWin.destroy();
}
-
- function validateFormParams(){
+
+ function validateFormParams() {
// 校验材料是否都已经填写
var idCardDefinitionStore = gridPanel.getStore();
- for(var i=0;i -1){
+ if (idCardPaperType2.indexOf('模板') > -1) {
Ext.Ajax.request({
- url : WWWROOT + '/disinfectSystem/idCardDefinitionAction!printIDCardInstance.do',
- params : params,
- success : function(response, options){
+ url: WWWROOT + '/disinfectSystem/idCardDefinitionAction!printIDCardInstance.do',
+ params: params,
+ success: function (response, options) {
var obj = Ext.util.JSON.decode(response.responseText);
obj.barcode = result.idCardInstance.barcode;
obj.configKey = result.idCardInstance.configKey;
obj.tousseDefinition = result.idCardInstance.tousseDefinition;
obj.remark = result.idCardInstance.idCardDefinitionDescription;
- if(sstsConfig.enableIdCardInfoMaintain && idCardDefinitionID){
+ if (sstsConfig.enableIdCardInfoMaintain && idCardDefinitionID) {
Ext.Ajax.request({
- url : WWWROOT + '/disinfectSystem/idCardInfoMaintainAction!getIDCardInfoMaintainListByIDCardDefinitionId.do',
- params:{
+ url: WWWROOT + '/disinfectSystem/idCardInfoMaintainAction!getIDCardInfoMaintainListByIDCardDefinitionId.do',
+ params: {
idCardDefinitionId: idCardDefinitionID,
status: '启用',
type: 'IDCardQuestionMaintain'
},
- success : function(response, options){
+ success: function (response, options) {
var res = Ext.util.JSON.decode(response.responseText);
var html = '';
- for(var i=0;i
";
+
+ function renderPrintButton(v, p, record) {
+ return "
";
}
- function rebindIDCardInstanceToIDCardDefinition(serialNumber){
+ function rebindIDCardInstanceToIDCardDefinition(serialNumber) {
var idCardsRecords = gridPanel.getSelectionModel().getSelections();
- if(idCardsRecords.length == 0){
+ if (idCardsRecords.length == 0) {
showResult("请选择要转换的标识牌!");
return;
}
- if(idCardsRecords.length > 1){
+ if (idCardsRecords.length > 1) {
showResult("一次只能转换一个标识牌!");
return;
}
- for(var i=0;i 1){
+ if (idCardsRecords.length > 1) {
showResult("一次只能修改一个标识牌!");
return;
}
- for(var i=0;i 1) {
+ showResult("一次只能写入一个标识牌!");
+ return;
+ }
+ for (var i = 0; i < idCardsRecords.length; ++i) {
+ var id = idCardsRecords[i].data.id;
+ if (isUndefinedOrNullOrEmpty(id)) {
+ showResult("标识牌未保存不能写入!");
+ return;
+ }
+ }
+
+ var records = idCardInstancesGridPanel.getSelectionModel().getSelections();
+
+ if (records.length == 0) {
+ showResult('请选择要写入的标识牌实例!');
+ return;
+ }
+
+ var barcode = records[0].data.barcode;
+
+ var fields = [
+ { name: 'diposableGoods' },
+ { name: 'id' },
+ { name: 'barcode' },
+ { name: 'type' },
+ { name: 'batchNumber' },
+ { name: 'sterileBatchNumber' },
+ { name: 'supplierName' },
+ { name: 'manufacturer' },
+ { name: 'storage' },
+ { name: 'cost' },
+ { name: 'supplierName' },
+ { name: 'expDate' }
+ ]
+
+ var RFIDStore = new Ext.data.Store({
+ reader: new Ext.data.JsonReader({
+ fields: fields
+ })
+ });
+
+ var items = top.Ext.data.Record.create(fields);
+
+ var recordGrid = new top.Ext.grid.GridPanel({
+ id: 'modifyRecordGrid',
+ store: RFIDStore,
+ columns: [new top.Ext.grid.CheckboxSelectionModel({ singleSelect: true, hideable: false }), {
+ header: '序号',
+ dataIndex: 'number',
+ width: 100,
+ menuDisabled: true
+ }, {
+ header: "标签UID",
+ dataIndex: 'uid',
+ width: 300,
+ menuDisabled: true
+ }, {
+ header: "用户区数据",
+ dataIndex: 'userId',
+ width: 100,
+ menuDisabled: true
+ }, {
+ header: "标识牌条码",
+ dataIndex: 'barcode',
+ width: 100,
+ menuDisabled: true
+ }, {
+ header: "读取次数",
+ dataIndex: 'count',
+ width: 100,
+ menuDisabled: true
+ }],
+ tbar: [{
+ text: '读取到的RFID标签列表:'
+ }, '->', {
+ xtype: 'button',
+ text: '清除列表',
+ id: 'addBtn',
+ handler: function () {
+ RFIDStore.removeAll();
+ }
+ }],
+ viewConfig: {
+ forceFit: true
+ },
+ bodyStyle: 'border:1px solid #afd7af',
+ anchor: '100%',
+ frame: false
+ });
+
+ var win = new top.Ext.Window({
+ id: 'writeRFID',
+ layout: 'fit',
+ title: '写入RFID标签【标识牌条码:' + barcode + '】',
+ width: 800,
+ border: false,
+ modal: true,
+ height: 400,
+ plain: true,
+ items: [recordGrid],
+ buttonAlign: 'center',
+ buttons: [{
+ text: '停止读取标签',
+ handler: function () {
+ stopRFID();
+ }
+ }, {
+ text: '写入RFID标签',
+ handler: function () {
+ var RFIDStoreRecords = recordGrid.getSelectionModel().getSelections();
+ if (RFIDStoreRecords.length == 0) {
+ showResult("请选择一个标签!");
+ return;
+ }
+ if (RFIDStoreRecords.length > 1) {
+ showResult("一次只能写入一个标签!");
+ return;
+ }
+ top.Ext.Msg.confirm('请确认', '是否写入标签?', function (btn) {
+ if (btn == 'yes') {
+ writeRFID('M' + barcode + 'FF');
}
+ })
+ }
+ }, {
+ text: '取消',
+ handler: function () {
+ closeRFID();
+ win.close();
+ grid.dwrReload();
+ }
+ }]
+ });
+ RFIDStore.removeAll();
+ win.show();
+
+ if ('serial' in navigator) {
+ //设置循环查询获取用户区的数据
+ var params = {
+ getAllData: true
+ }
+ openPort(params, function (value, isData, errorStatus) {
+ if (isData) {
+ var arr = value.split(',');
+ var uid = arr[0] || '';
+ var userId = arr[1] || '';
+ var barcode = '';
+ if (userId !== '') {
+ barcode = userId.substring(userId.indexOf("M") + 1, userId.indexOf("FF"));
}
- },
- animEl: 'addAddressBtn',
- value:'1'
+ if (RFIDStore.getCount() > 0) {
+ var isHas = false;
+ for (var i = 0; i < RFIDStore.getCount(); i++) {
+ if (RFIDStore.getAt(i).data.uid == uid) {
+ if(userId !== ''){
+ RFIDStore.getAt(i).set('userId', userId);
+ RFIDStore.getAt(i).set('barcode', barcode);
+ }
+ var count = parseInt(RFIDStore.getAt(i).data.count);
+ RFIDStore.getAt(i).set('count', count + 1);
+ isHas = true;
+ break;
+ }
+ }
+ if (!isHas) {
+ var record = new items({
+ number: RFIDStore.getCount() + 1,
+ uid: uid,
+ userId: userId,
+ barcode: barcode,
+ count: 1
+ });
+
+ RFIDStore.add(record);
+ }
+ } else {
+ var record = new items({
+ number: 1,
+ uid: uid,
+ userId: userId,
+ barcode: barcode,
+ count: 1
+ });
+
+ RFIDStore.add(record);
+ }
+ } else {
+ if (errorStatus == 'msg1') {
+ showResult(value);
+ } else if (errorStatus == 'msg2') {
+ showResult(value);
+ } else if (errorStatus == 'msg3') {
+ showResult(value);
+ } else if (errorStatus == 'msg4') {
+ showResult(value);
+ } else if (errorStatus == 'msg5') {
+ showResult(value);
+ } else if (errorStatus == 'msg6') {
+ showResult(value);
+ } else if (errorStatus == 'msg7') {
+ showResult(value);
+ }
+ }
});
-
+ } else {
+ showResult('你的浏览器不支持串口连接!');
+ }
}
- function validatingForPrintNewIDCardInstance(){
+
+ function validatingForPrintNewIDCardInstance() {
var idCardsRecords = gridPanel.getSelectionModel().getSelections();
- if(idCardsRecords.length == 0){
+ if (idCardsRecords.length == 0) {
showResult("请选择要打印的标识牌!");
return false;
}
- if(idCardsRecords.length > 1){
+ if (idCardsRecords.length > 1) {
showResult("一次只能打印一个标识牌!");
return false;
}
- for(var i=0;i 1){
+ if (idCardsRecords.length > 1) {
showResult("一次只能重置一个标识牌!");
return false;
}
- for(var i=0;i0 && id==0) {
- if (top.Ext.getCmp('packageType1') && top.Ext.getCmp('packageType1').getValue() == ''){
+ fields: ['typeName1'],
+ url: WWWROOT + '/disinfectSystem/baseData/expirationDateInfoAction!getPackageType.do',
+ listeners: {
+ load: function (store, records) {
+ if (records.length > 0 && id == 0) {
+ if (top.Ext.getCmp('packageType1') && top.Ext.getCmp('packageType1').getValue() == '') {
top.Ext.getCmp('packageType1').setValue(records[0].data.typeName);
}
}
}
}
});
//修改包装类型
- function modifyPackageType(){
+ function modifyPackageType() {
// 获取选择的data
var idCardsRecords = getGridSelectionsRecords(gridPanel);
- if(idCardsRecords.length == 0){
+ if (idCardsRecords.length == 0) {
showResult("请选择要修改的标识牌包装类型!");
return;
}
- for(var i=0;i 0){
+ if (store.getCount() > 0) {
var r = store.getAt(store.getCount() - 1);
- if(r){
+ if (r) {
var idNumber = r.get('idNumber');
- if(!isUndefinedOrNullOrEmpty(idNumber) && isAmount(idNumber)){
- var curIdNumber = parseInt(idNumber,10);
+ if (!isUndefinedOrNullOrEmpty(idNumber) && isAmount(idNumber)) {
+ var curIdNumber = parseInt(idNumber, 10);
nextIdNumber = curIdNumber + 1;
}
}
}
return nextIdNumber;
}
- function addIDCardDefinition(){
- var maxIDCardNum = top.Ext.getCmp('maxIDCardNum').getValue();
+ function addIDCardDefinition() {
+ var maxIDCardNum = top.Ext.getCmp('maxIDCardNum').getValue();
var gridPanelData = gridPanel.getStore();
- if(maxIDCardNum != 0 && gridPanelData.data.items.length >= maxIDCardNum){
- showResult("标识牌数量已达上限,可添加标识牌的数量为0", null );
+ if (maxIDCardNum != 0 && gridPanelData.data.items.length >= maxIDCardNum) {
+ showResult("标识牌数量已达上限,可添加标识牌的数量为0", null);
return;
}
Ext.Ajax.request({
- url : WWWROOT + '/disinfectSystem/idCardDefinitionAction!addIDCardDefinition.do',
- params : {tousseDefinitionId : tousseDefinitionID,idNumber:getNextIdNumber()},
- success : function(response, options) {
+ url: WWWROOT + '/disinfectSystem/idCardDefinitionAction!addIDCardDefinition.do',
+ params: { tousseDefinitionId: tousseDefinitionID, idNumber: getNextIdNumber() },
+ success: function (response, options) {
var result = Ext.decode(response.responseText);
-// var barcode = result.barcode;
+ // var barcode = result.barcode;
var store = gridPanel.getStore();
-
- var number = store.getCount()+1;
-
+
+ var number = store.getCount() + 1;
+
// 标识牌实例
-// var idCardInstance = new IDCardInstance({
-// barcode:barcode,
-// useAmount:0,
-// status:idCardInstanceState_using,
-// printDate:new Date().format('Y-m-d H:i:s')
-// });
-// // 标识牌
-// var idCard = new IDCard({
-//// id:null,
-// number:number,
-// deleted:0,
-// status:idCardInstanceState_using,
-// barcode:barcode,
-// idCardInstances:[idCardInstance.data],
-// useAmount:0,
-// traceableMaterials:[],
-// idCardInstancesLoad: true,
-// description:''
-//
-// });
+ // var idCardInstance = new IDCardInstance({
+ // barcode:barcode,
+ // useAmount:0,
+ // status:idCardInstanceState_using,
+ // printDate:new Date().format('Y-m-d H:i:s')
+ // });
+ // // 标识牌
+ // var idCard = new IDCard({
+ //// id:null,
+ // number:number,
+ // deleted:0,
+ // status:idCardInstanceState_using,
+ // barcode:barcode,
+ // idCardInstances:[idCardInstance.data],
+ // useAmount:0,
+ // traceableMaterials:[],
+ // idCardInstancesLoad: true,
+ // description:''
+ //
+ // });
//2
var idCardInstance = new IDCardInstance(result.idCardInstance);
var idCard = new IDCard(result.idCardDefinition);
-// idCard.set('idNumber',getNextIdNumber());
+ // idCard.set('idNumber',getNextIdNumber());
idCard.data.idCardInstances = [idCardInstance.data];
idCard.data.status = idCardInstanceState_using;
idCard.data.barcode = result.idCardInstance.barcode;
idCard.data.idCardInstancesLoad = true;
idCard.data.number = number;
//2
store.add(idCard);
- gridPanel.getSelectionModel().selectRecords([idCard],false);
+ gridPanel.getSelectionModel().selectRecords([idCard], false);
}
});
}
// dwr 方式加载实例和材料
- function loadIDCardInstanceAndTraceableMaterialInfoIfNeeded(record){
- if(!isUndefinedOrNullOrEmpty(record.data.idCardInstancesLoad)){
+ function loadIDCardInstanceAndTraceableMaterialInfoIfNeeded(record) {
+ if (!isUndefinedOrNullOrEmpty(record.data.idCardInstancesLoad)) {
return;// 已经加载过了。
}
-
+
DWREngine.setAsync(false);
- IDCardDefinitionTableManager.loadIDCardInstanceAndTraceableMaterialInfo(record.data.id,function(idCardInstanceAndTraceableMaterialStr){
+ IDCardDefinitionTableManager.loadIDCardInstanceAndTraceableMaterialInfo(record.data.id, function (idCardInstanceAndTraceableMaterialStr) {
var idCardInstanceAndTraceableMaterial = JSON.parse(idCardInstanceAndTraceableMaterialStr);
record.data.idCardInstances = idCardInstanceAndTraceableMaterial.idCardInstances;
record.data.traceableMaterials = idCardInstanceAndTraceableMaterial.traceableMaterials;
@@ -1425,88 +1652,89 @@
});
DWREngine.setAsync(true);
}
- function loadDataToIdCardInstancesGridStore(){
+ function loadDataToIdCardInstancesGridStore() {
idCardInstancesGridStore.removeAll();
var record = gridPanel.getSelectionModel().getSelected();
- if(isUndefinedOrNull(record)){
+ if (isUndefinedOrNull(record)) {
return;
}
-
+
var idCardInstances = record.data.idCardInstances;
-// idCardInstancesGridStore.baseParams['idCardDefinitionId'] = record.data.id;
-// idCardInstancesGridStore.load({
-// callback:function(records,options,success){
-// if(success){
-//
-// }
-// }});
-
+ // idCardInstancesGridStore.baseParams['idCardDefinitionId'] = record.data.id;
+ // idCardInstancesGridStore.load({
+ // callback:function(records,options,success){
+ // if(success){
+ //
+ // }
+ // }});
+
var useAmount = 0;
- if(isUndefinedOrNull(idCardInstances)){
+ if (isUndefinedOrNull(idCardInstances)) {
return;
}
- if(idCardInstances !=null && idCardInstances.length > 0 ){
- for(var i=0;i 0) {
+ for (var i = 0; i < idCardInstances.length; i++) {
+ var idCardInstance = idCardInstances[i];
+ var id = idCardInstance.id;
+ var barcode = idCardInstance.barcode;
+ var status = idCardInstance.status;
+ var printDate = idCardInstance.printDate;
+
+ if ('使用中' == status) {
+ record.set("barcode", barcode);
+ }
+ var d = new IDCardInstance(idCardInstance);
+ useAmount += idCardInstance.useAmount;
+ idCardInstancesGridPanel.getStore().add(d);
}
- record.set("useAmount",useAmount);
+ record.set("useAmount", useAmount);
}
}
- function loadDataToSignMaterileGridStore(){
+ function loadDataToSignMaterileGridStore() {
var traceableMaterialStore = traceableMaterialGridPanel.getStore();
traceableMaterialStore.removeAll();
var record = gridPanel.getSelectionModel().getSelected();
- if(isUndefinedOrNull(record)){
+ if (isUndefinedOrNull(record)) {
return;
}
-// traceableMaterialStore.baseParams['idCardDefinitionId'] = record.data.id;
-// traceableMaterialStore.load({
-// callback:function(records,options,success){
-// if(success){
-//
-// }
-// }});
+ // traceableMaterialStore.baseParams['idCardDefinitionId'] = record.data.id;
+ // traceableMaterialStore.load({
+ // callback:function(records,options,success){
+ // if(success){
+ //
+ // }
+ // }});
var traceableMaterials = record.data.traceableMaterials;
- if(traceableMaterials != null && traceableMaterials.length > 0 ){
- for(var i=0;i 0) {
+ for (var i = 0; i < traceableMaterials.length; i++) {
+ var traceableMaterial = traceableMaterials[i];
+ // dumpObj(traceableMaterial)
+ var traceableMaterialsRecord = new TraceableMaterial(traceableMaterial);
+ traceableMaterialStore.add(traceableMaterialsRecord);
}
}
}
-
- function loadIDCardDefinitions(){
+
+ function loadIDCardDefinitions() {
var checkbox_viewAll = top.Ext.getCmp('checkbox_viewAll');
var viewAll = '';
- if(checkbox_viewAll){
+ if (checkbox_viewAll) {
viewAll = checkbox_viewAll.getValue();
}
idCardDefinitionStore.baseParams['id'] = tousseDefinitionID;
idCardDefinitionStore.baseParams['viewAll'] = viewAll;
idCardDefinitionStore.load({
- callback:function(records,options,success){
- if(success){
+ callback: function (records, options, success) {
+ if (success) {
idCardsOriginalStr = buildJSONStringFromStore(idCardDefinitionStore);
// 选中第一个标识牌
gridPanel.getSelectionModel().selectFirstRow();
}
- }});
+ }
+ });
}
- function reLoadIDCardDefinitions(){
+ function reLoadIDCardDefinitions() {
idCardInstancesGridPanel.getStore().removeAll();
traceableMaterialGridPanel.getStore().removeAll();
gridPanel.getStore().removeAll();
Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js
===================================================================
diff -u -r34428 -r34431
--- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (.../recycleForTouchScreen.js) (revision 34428)
+++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (.../recycleForTouchScreen.js) (revision 34431)
@@ -7267,35 +7267,27 @@
function connectRFIDFun() {
if ('serial' in navigator) {
- var encoder = new TextEncoder();
- //设置循环查询获取用户区的数据
var params = {
- data: encoder.encode(">x m 1 03 00 04\r\n")
+ usbVendorId: 4292,
+ usbProductId: 60000
}
- openPort(params, function (value, isData) {
+ openPort(params, function (value, isData, errorStatus) {
if (isData) {
- var dataString = "";
- var barcode = '';
- if (value.length > 10) {
- for (var i = 0; i < value.length; i++) {
- if (value[i] !== '' && value[i] !== 13 && value[i] !== 10) {
- dataString += String.fromCharCode(value[i]);
- }
- }
- }
- if (dataString !== '' && dataString.indexOf('M') >= 0) {
- barcode = dataString.substring(dataString.indexOf('M') + 1, dataString.indexOf('FF'));
- if (barcode !== '') {
- loadBarcodeDevice(barcode);
- }
- }
+ loadBarcodeDevice(value);
} else {
- if(value == "连接失败:SecurityError: Failed to execute 'requestPort' on 'Serial': Must be handling a user gesture to show a permission request."){
- layer.msg('连接失败:串口还没有授权,请先点击【连接RFID设备】按钮!');
+ if (errorStatus == 'msg1') {
+ layer.msg(value);
$("#openPortBtn").show();
- $('.departmentTemplate').css('right', '535px');
- }else {
+ } else if (errorStatus == 'msg2') {
layer.msg(value);
+ $("#openPortBtn").hide();
+ } else if (errorStatus == 'msg3') {
+ layer.msg(value);
+ $("#openPortBtn").show();
+ } else if (errorStatus == 'msg4') {
+ layer.msg(value);
+ } else if (errorStatus == 'msg5') {
+ layer.msg(value);
}
}
});