Index: ssts-web/src/main/webapp/homepage/portalPage.jsp =================================================================== diff -u -r27159 -r28384 --- ssts-web/src/main/webapp/homepage/portalPage.jsp (.../portalPage.jsp) (revision 27159) +++ ssts-web/src/main/webapp/homepage/portalPage.jsp (.../portalPage.jsp) (revision 28384) @@ -87,6 +87,7 @@ + Index: ssts-web/src/main/webapp/ext/js/multiSelectComboTop.js =================================================================== diff -u --- ssts-web/src/main/webapp/ext/js/multiSelectComboTop.js (revision 0) +++ ssts-web/src/main/webapp/ext/js/multiSelectComboTop.js (revision 28384) @@ -0,0 +1,238 @@ +if ('function' !== typeof RegExp.escape) +{ + RegExp.escape = function (s) + { + if ('string' !== typeof s) + { + return s; + } + return s.replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1'); + }; +} + +top.Ext.ns('top.Ext.form'); + +top.Ext.form.MultiSelect = Ext.extend(top.Ext.form.ComboBox, +{ + checkField: 'checked', + multi: true, + separator: ',', + initComponent: function () + { + if (!this.tpl) + { + this.tpl = '' + '
' + + '' + + '{[values.' + this.displayField + ']}' + + '
' + + '
'; + } + + top.Ext.form.MultiSelect.superclass.initComponent.apply(this, arguments); + + this.on( + { + scope: this, + beforequery: this.onBeforeQuery, + blur: this.onRealBlur + }); + + this.onLoad = this.onLoad.createSequence(function () + { + if (this.el) + { + var v = this.el.dom.value; + this.el.dom.value = ''; + this.el.dom.value = v; + } + }); + }, + initEvents: function () + { + top.Ext.form.MultiSelect.superclass.initEvents.apply(this, arguments); + this.keyNav.tab = false; + }, + beforeBlur: function () + { + }, + postBlur: function () + { + }, + + clearValue: function () + { + this.value = ''; + this.setRawValue(this.value); + this.store.clearFilter(); + this.store.each(function (r) + { + r.set(this.checkField, false); + }, this); + if (this.hiddenField) + { + this.hiddenField.value = ''; + } + this.applyEmptyText(); + }, + getCheckedDisplay: function () + { + var re = new RegExp(this.separator, "g"); + return this.getCheckedValue(this.displayField).replace(re, this.separator + ' '); + }, + getCheckedValue: function (field) + { + field = field || this.valueField; + var c = []; + var snapshot = this.store.snapshot || this.store.data; + snapshot.each(function (r) + { + if (r.get(this.checkField)) + { + c.push(r.get(field)); + } + }, this); + + return c.join(this.separator); + }, + getCheckedCount: function () + { + var count = 0; + var c = []; + var snapshot = this.store.snapshot || this.store.data; + snapshot.each(function (r) + { + if (r.get(this.checkField)) + { + ++count; + } + }, this); + + return count; + }, + onBeforeQuery: function (qe) + { + qe.query = qe.query.replace(new RegExp(RegExp.escape(this.getCheckedDisplay()) + '[ ' + this.separator + ']*'), ''); + }, + onRealBlur: function () + { + this.list.hide(); + var rv = this.getRawValue(); + var rva = rv.split(new RegExp(RegExp.escape(this.separator) + ' *')); + var va = []; + var snapshot = this.store.snapshot || this.store.data; + + top.Ext.each(rva, function (v) + { + snapshot.each(function (r) + { + if (v === r.get(this.displayField)) + { + va.push(r.get(this.valueField)); + } + }, this); + }, this); + this.setValue(va.join(this.separator)); + this.store.clearFilter(); + }, + onSelect: function (record, index) + { + if (this.fireEvent('beforeselect', this, record, index) !== false) + { + record.set(this.checkField, !record.get(this.checkField)); + + if (this.store.isFiltered()) + { + this.doQuery(this.allQuery); + } + + if (this.multi) + { + if (record.get("key") == "---" && record.get(this.checkField)) + { + this.setValue("---"); + } + else + { + this.setValue(this.getCheckedValue()); + } + } + else + { + this.clearValue(); + this.value = record.get(this.valueField); + this.setRawValue(record.get(this.displayField)); + this.list.hide(); + } + + this.fireEvent('select', this, record, index); + } + }, + setValue: function (v) + { + if (v) + { + v = '' + v; + if (this.valueField) + { + this.store.clearFilter(); + this.store.each(function (r) + { + var checked = !(!v.match('(^|' + this.separator + ')' + + RegExp.escape(r.get(this.valueField)) + + '(' + this.separator + '|$)')); + r.set(this.checkField, checked); + }, this); + this.value = this.getCheckedValue(); + this.setRawValue(this.getCheckedDisplay()); + if (this.hiddenField) + { + this.hiddenField.value = this.value; + } + } + else + { + this.value = v; + this.setRawValue(v); + if (this.hiddenField) + { + this.hiddenField.value = v; + } + } + if (this.el) + { + this.el.removeClass(this.emptyClass); + } + } + else + { + this.clearValue(); + } + }, + select: function (v) + { + this.store.each(function (record) + { + if (v === record.get(this.displayField)) { + record.set(this.checkField, true); + } + }, this); + this.setValue(this.getCheckedValue()); + }, + selectAll: function () + { + this.store.each(function (record) + { + record.set(this.checkField, true); + }, this); + this.doQuery(this.allQuery); + this.setValue(this.getCheckedValue()); + }, + deselectAll: function () + { + this.clearValue(); + } +}); +top.Ext.reg('multiSelect', top.Ext.form.MultiSelect); \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js =================================================================== diff -u -r27853 -r28384 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js (.../sterilizationRecordForm.js) (revision 27853) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js (.../sterilizationRecordForm.js) (revision 28384) @@ -3927,6 +3927,13 @@ }, hidden : true },{ + id : 'printLabel', + text : '打印标签', + handler : function() { + printSterilizationLabelPanel(id); + }, + hidden : !sstsConfig.printLabelWhenSterilizing + },{ id : 'saveBtn', text : '保存', handler : save Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordView.jsp =================================================================== diff -u -r27736 -r28384 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordView.jsp (.../sterilizationRecordView.jsp) (revision 27736) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordView.jsp (.../sterilizationRecordView.jsp) (revision 28384) @@ -14,6 +14,7 @@ LoginUserData userData = AcegiHelper.getLoginUser(); request.setAttribute("userName",userData.getUserFullName()); request.setAttribute("orgUnitCoding",userData.getOrgUnitCodingFromSupplyRoomConfig()); + request.setAttribute("hospitalName", userData.getHospitalName()); %> @@ -29,6 +30,7 @@ var moduleNameArr = new Array("<%=QualityMonitoringDefinition.QUALITYMONITORING_MODULE_NAME_RECYCLING%>","<%=QualityMonitoringDefinition.QUALITYMONITORING_MODULE_NAME_WASH%>","<%=QualityMonitoringDefinition.QUALITYMONITORING_MODULE_NAME_PACKING%>","<%=QualityMonitoringDefinition.QUALITYMONITORING_MODULE_NAME_REVIEW%>","<%=QualityMonitoringDefinition.QUALITYMONITORING_MODULE_NAME_STERILIZATION%>","<%=QualityMonitoringDefinition.QUALITYMONITORING_MODULE_NAME_INVOICE%>","<%=QualityMonitoringDefinition.QUALITYMONITORING_MODULE_NAME_USERECORD%>","<%=QualityMonitoringDefinition.QUALITYMONITORING_MODULE_NAME_ROXYDISINFECTION%>","<%=QualityMonitoringDefinition.QUALITYMONITORING_MODULE_NAME_INFECTIONPART%>","<%=QualityMonitoringDefinition.QUALITYMONITORING_MODULE_NAME_OTHERPART%>"); var parm_s_type = "质量监测"; //灭菌失败是时需要添加质量监测 var userName = '<%=request.getAttribute("userName")%>'; + var hospitalName = '<%=request.getAttribute("hospitalName")%>'; var statusEnd = "<%=SterilizationRecord.STERILIZATION_STATUS_END%>";//灭菌完成 var statusBegin = "<%=SterilizationRecord.STERILIZATION_STATUS_BEGIN%>";//灭菌中 @@ -95,17 +97,19 @@ - - + + <%--引入自己的js --%> + <%--完成灭菌 --%> <%--灭菌监测 --%> <%--完成查看灭菌记录图片 --%> <%--填写质量监测 --%> - + + Index: ssts-web/src/main/webapp/disinfectsystem/config/demo/config.js =================================================================== diff -u -r27990 -r28384 --- ssts-web/src/main/webapp/disinfectsystem/config/demo/config.js (.../config.js) (revision 27990) +++ ssts-web/src/main/webapp/disinfectsystem/config/demo/config.js (.../config.js) (revision 28384) @@ -171,6 +171,8 @@ //是否启用器械包定义所属科室过滤(默认为false不启用,需要先启用器械包定义所属科室) enableTousseDefinitionBelongDepartFilter: true, //启用使用记录转换配置功能(控制前端页面、以及控制后台转换) - useRecordConvertRecyclingApplicationMergeRegular:'depart' + useRecordConvertRecyclingApplicationMergeRegular:'depart', + //是否灭菌时打印标签,配置项不配置或者为false时,不启用此功能,配置项为true时,灭菌管理—灭菌记录信息页面启用【打印标签】的功能 + printLabelWhenSterilizing:true } \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/printSterilizationLabel.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/printSterilizationLabel.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/printSterilizationLabel.js (revision 28384) @@ -0,0 +1,510 @@ +var printSterilizationLabelWin; +var notPutInFurnaceGoodsStore; +//数组去重 +function unique(arr) { + for (var i = 0, len = arr.length; i < len; i++) { + for (var j = i + 1, len = arr.length; j < len; j++) { + if (arr[i] === arr[j]) { + arr.splice(j, 1); + j--; // 每删除一个数j的值就减1 + len--; // j值减小时len也要相应减1(减少循环次数,节省性能) + } + } + } + return arr; +} +//数组去重,对id相等的去重 +function uniqueId(arr){ + var idsArr =[]; + var dataArr = []; + for(var i = 0;i < arr.length;i++){ + var id = arr[i].id; + if(idsArr.indexOf(arr[i].id) == -1){//不包含 + idsArr.push(arr[i].id); + dataArr.push(arr[i]); + } + } + return dataArr; +} + +function onAllChoosedOrNot(combo, record,index,nameOfFiled){ + var choose = record.get(combo.checkField); + var fristRecord = combo.store.getAt(0); + if(index != 0){ + if(!choose) { + fristRecord.set(combo.checkField, false); + combo.setValue(combo.getCheckedValue()); + }else{ + var isAllChoosed = true; + combo.store.each(function (thisRecord) + { + if(thisRecord.get(nameOfFiled) != ('全部') && !thisRecord.get(combo.checkField)){ + isAllChoosed = false; + } + }); + if(isAllChoosed){ + fristRecord.set(combo.checkField, true); + combo.setValue(combo.getCheckedValue()); + } + } + return; + } + if(choose){ + combo.selectAll(); + }else{ + combo.deselectAll(); + } +} + +function loadContainerAndTousseToGrid2(datas){ + var allToussebarcode = null; + var position = top.Ext.getCmp('position').getValue(); + var rootNode = sterilizationColumnTree.getRootNode(); + if(datas && datas.length){ + for(var i = 0;i < datas.length;i++){ + var data = datas[i];//一键入炉的待灭菌,没有入篮筐的器械包或篮筐节点 + var parentNode; + if ('器械包' == data.type) { + if(allToussebarcode == null){ + allToussebarcode = data.barcode; + }else{ + allToussebarcode = allToussebarcode + ';' + data.barcode; + } + parentNode = createNode(true,data.barcode,data.name,data.typeForSterilizationStatistics,data.depart,'器械包',position,data.amount,data.reviewTime,0,data.sterilingMode); + } else { + var tousseInstanceArr = data.dataList; + var length = tousseInstanceArr.length; + var amount=0 + //统计每个篮筐内的数量 + for(var j =0;j 0){ + for(var k = 0; k < tousseInstanceArr.length; k++){ + var ti = tousseInstanceArr[k]; + if(allToussebarcode == null){ + allToussebarcode = ti.barcode; + }else{ + allToussebarcode = allToussebarcode + ';' + ti.barcode; + } + + var childNode = createNode(false,ti.barcode,ti.name,ti.typeForSterilizationStatistics,ti.depart,'器械包',position,ti.amount,ti.reviewTime,0,data.sterilingMode); + parentNode.appendChild(childNode); + } + } + } + var firstChildNode = rootNode.item(0); + if(!firstChildNode){ + rootNode.appendChild(parentNode); + }else{ + rootNode.insertBefore(parentNode,firstChildNode); + } + } + } + return allToussebarcode; +} + +function printSterilizationLabel(getBarcodeAndRenderGrid){ + Ext.Ajax.request({ + url : WWWROOT + '/disinfectSystem/tousseInstanceAction!loadTousseInstanceByBarcodes.do', + params : { + barcodes:getBarcodeAndRenderGrid + }, + success : function(response, options) { + var result = Ext.decode(response.responseText); + if(result.success){ + if(result.data.length > 0){ + var datas = result.data; + for(var i = 0;i < datas.length;i++){ + datas[i].sterilizationUserToPrint = top.Ext.getCmp('sterilizationUser').getValue();//灭菌员 + datas[i].sterilizer = top.Ext.getCmp('sterilizerName').getValue();//炉号 + datas[i].frequency = top.Ext.getCmp('frequency').getValue();//炉次 + } + doPrintLabels(datas); + } + }else{ + showResult(result.message); + } + }, + failure : function(response, options) { + + } + }); +} + +function printSterilizationLabelAndPutInFrequency(){ + var records = top.Ext.getCmp('printSterilizationLabelGrid').getSelectionModel().getSelections(); + if (records.length == 0) { + showResult("请选择一条记录!"); + return false; + } + var ids = null; + var waitSterilingBarcodes = null; + for ( var i = 0, len = records.length; i < len; i++) { + if (ids == null) { + ids = records[i].data['id']; + } else { + ids = ids + ',' + records[i].data['id']; + } + + if (waitSterilingBarcodes == null) { + if(records[i].data['reviewBasketBarcode'] != ""){ + waitSterilingBarcodes = records[i].data['reviewBasketBarcode']; + }else{ + waitSterilingBarcodes = records[i].data['barcode']; + } + } else { + if(records[i].data['reviewBasketBarcode'] != ""){ + waitSterilingBarcodes = waitSterilingBarcodes + ';' + records[i].data['reviewBasketBarcode']; + }else{ + waitSterilingBarcodes = waitSterilingBarcodes + ';' + records[i].data['barcode']; + } + + } + } + + Ext.Ajax.request({ + url : WWWROOT + '/disinfectSystem/sterilization/sterilizationRecordAction!batchAddToRecord.do', + params : { + barcodes : waitSterilingBarcodes, + sterilizationRecordId:top.Ext.getCmp('id').getValue(), + loadTousseNamesInBasket:true, + saveBarcode:getAlreadyScanBarcodes() + }, + success : function(response, options) { + var result = Ext.decode(response.responseText); + if(result.success){ + var datas = result.datas; + //1.加载到灭菌物品列表并获取所有器械包的条码 + var getBarcodeAndRenderGrid = loadContainerAndTousseToGrid2(datas); + //2.刷新列表 + notPutInFurnaceGoodsStore.load(); + //3.打印 + printSterilizationLabel(getBarcodeAndRenderGrid); + //4.关闭页面 + printSterilizationLabelWin.close(); + }else{ + showResult(result.message, null , sstsConfig.messagePauseTimeOnSterilizationRecordPage); + } + }, + failure : function(response, options) { + showResult("后台运行异常,请稍候再试...", null , sstsConfig.messagePauseTimeOnSterilizationRecordPage); + } + }); +} + +function printSterilizationLabelPanel(id){ + var sterilizationUser = top.Ext.getCmp('sterilizationUser').getValue(); + var sterilizerName = top.Ext.getCmp('sterilizerName').getValue(); + var sterilizationType = top.Ext.getCmp('sterilizationType').getValue(); + var frequency = top.Ext.getCmp('frequency').getValue(); + + //判断当前灭菌记录是否输入了灭菌员、灭菌炉名称和灭菌程序信息,如果已输入,则进入到打印标签的页面;如果没有输入,不能进入打印标签的页面 + if(sterilizationUser == "" || sterilizerName == "" || sterilizationType == ""){ + showResult("请先输入灭菌员、灭菌炉名称或灭菌程序"); + return; + } + + notPutInFurnaceGoodsStore = new top.Ext.data.Store({ + proxy : new top.Ext.data.HttpProxy({ + url : WWWROOT + '/disinfectSystem/tousseInstanceAction!getWaitSterileGoods.do', + method : 'POST' + }), + reader : new top.Ext.data.JsonReader({ + root : 'data', + fields : [ + {name : 'id'}, + {name : 'tousseName'}, + {name : 'barcode'}, + {name : 'amount'}, + {name : 'sterilingMode'}, + {name : 'reviewBasketBarcode'}, + {name : 'reviewBasketName'}, + {name : 'taskGroup'}, + {name : 'reviewTime'}, + {name : 'operator'}, + {name : 'reviewer'} + ] + }), + listeners:{ + beforeload : function(thiz, options){ + var taskGroup = "all"; + if(top.Ext.getCmp('taskGroup').getValue()){ + taskGroup = top.Ext.getCmp('taskGroup').getValue(); + } + + var sterilizationType = top.Ext.getCmp('sterilizationType').getValue(); + thiz.baseParams['taskGroup'] = taskGroup; + thiz.baseParams['sterilingType'] = sterilizationType; + thiz.baseParams['saveBarcode'] = getAlreadyScanBarcodes(); + }, + load :function (thiz,records,options ){ + } + } + }); + + var selectModel = new top.Ext.grid.CheckboxSelectionModel(); + var allSameBasketBarcode = []; + var sameBasketBarcode = []; + var taskGroupMultiSelectStore = new top.Ext.data.Store({ + proxy : new top.Ext.data.HttpProxy({ + url : WWWROOT + '/disinfectSystem/baseData/taskGroupAction!loadTaskGroupStore.do', + method : 'POST' + }), + reader : new top.Ext.data.JsonReader({ + root : 'data', + totalProperty: 'totalCount' + },[ + {name : 'id',mapping : 'valueField'}, + {name : 'taskGroupName',mapping : 'displayField'} + ] + ), + listeners:{ + load :function (thiz,records,options ){ + top.Ext.getCmp('taskGroup').setRawValue(records[0].data.taskGroupName); + top.Ext.getCmp('taskGroup').setValue(records[0].data.id); + } + } + }); + + + //创建formPanel + var form = new top.Ext.FormPanel({ + id : 'printSterilizationLabelForm', + frame : true, + border : 0, + labelSeparator : ':', + bodyStyle : 'padding:5px 5px 0px 5px', + width : 1000, + heigh:500, + labelAlign:'right', + //autoHeight : true, + viewConfig: { + forceFit:true + }, + autoScroll : true, + items : [{ + xtype:"fieldset", + layout:'column', + title :'未入炉的待灭菌物品列表', + autoHeight:true, + items:[{ + layout : 'form', + columnWidth : 1, + bodyStyle : 'margin:0px 0px 10px 0px', + items :[ + new top.Ext.grid.EditorGridPanel({ + id : 'printSterilizationLabelGrid', + bodyStyle : 'border:1px solid #afd7af', + frame :false, + sm : selectModel, + height : 430, + viewConfig: { + forceFit:true + }, + store :notPutInFurnaceGoodsStore, + cm : new top.Ext.grid.ColumnModel([/* new top.Ext.grid.RowNumberer(), */ selectModel, + {header : "id",dataIndex : 'id',hidden : true}, + {header : "物品名称",dataIndex : 'tousseName',width : 134,menuDisabled : true}, + {header : "条码",dataIndex : 'barcode',width : 90,menuDisabled : true}, + {header : "数量",dataIndex : 'amount',width : 50,menuDisabled : true}, + {header : "灭菌方式",dataIndex : 'sterilingMode',width : 120,menuDisabled : true}, + {header : "篮筐条码",dataIndex : 'reviewBasketBarcode',width : 120,menuDisabled : true}, + {header : "篮筐名称",dataIndex : 'reviewBasketName',width : 100,menuDisabled : true}, + {header : "任务组",dataIndex : 'taskGroup',width : 120,menuDisabled : true}, + {header : "审核时间",dataIndex : 'reviewTime',width : 120,menuDisabled : true,sortable: true}, + {header : "装配人",dataIndex : 'operator',width : 80,menuDisabled : true}, + {header : "审核人",dataIndex : 'reviewer',width : 80,menuDisabled : true} + ]), + width :954, + autoExpandColumn : 'expandColumn', + selModel : new top.Ext.grid.RowSelectionModel({ + singleSelect : false + }), + listeners:{ + cellclick : function( thiz, rowIndex, index, eOpts){ + var curSelectRow = thiz.getStore().getAt(rowIndex); //获取当前点击行的数据 + var isSelectedRow = selectModel.isSelected(rowIndex); + + if(curSelectRow.data.reviewBasketBarcode !="" ){//就是说只是有篮筐的才执行这里,器械包的不执行 + allSameBasketBarcode.push(curSelectRow.data.reviewBasketBarcode);//选中的所有篮筐条码 + if(isSelectedRow){ + var store = top.Ext.getCmp('printSterilizationLabelGrid').getStore(); + for(var i = 0;i < store.getCount();i++){ + var recordData = store.getAt(i); + for(var j = 0;j < allSameBasketBarcode.length; j++){ + if(recordData.data.reviewBasketBarcode == allSameBasketBarcode[j]){//表格里面所有的和选中的对比 + sameBasketBarcode.push(recordData); //所有篮筐条码的数据对象 + } + } + } + + + var allSelect = top.Ext.getCmp('printSterilizationLabelGrid').getSelectionModel().getSelections(); + for ( var i = 0, len = allSelect.length; i < len; i++) { + //获取到已经选中的器械包的,防止先勾选器械包再去选有篮筐的,会把器械包原先选中的取消掉 + if(allSelect[i].data['reviewBasketBarcode'] == ""){ + sameBasketBarcode.push(allSelect[i]); + } + } + allSameBasketBarcode = unique(allSameBasketBarcode);//去重 + sameBasketBarcode = uniqueId(sameBasketBarcode);//去重 + selectModel.selectRecords(sameBasketBarcode); //选中所有篮筐条码相同的 + }else{ + // allSameBasketBarcode = unique(allSameBasketBarcode); + // sameBasketBarcode = uniqueId(sameBasketBarcode); + var datas = top.Ext.getCmp('printSterilizationLabelGrid').getStore(); + for(var m = 0;m < datas.getCount();m++){ + var store2 = top.Ext.getCmp('printSterilizationLabelGrid').getStore(); + var recordData2 = store2.getAt(m); + //表格里面所有的和取消的对比,点击取消的时候相同的篮筐条码的也要取消 + if(recordData2.data.reviewBasketBarcode == curSelectRow.data.reviewBasketBarcode){ + selectModel.deselectRow(m);//删除 + for(var n = 0;n < allSameBasketBarcode.length;n++){//取消以后就要删除这个篮筐条码 + if(allSameBasketBarcode[n] == curSelectRow.data.reviewBasketBarcode){ + allSameBasketBarcode.splice(n,1); + } + } + + for(var x = 0;x < sameBasketBarcode.length;x++){//取消以后就要删篮筐条码相同的数据对象 + if(sameBasketBarcode[x].data.reviewBasketBarcode == curSelectRow.data.reviewBasketBarcode){ + sameBasketBarcode.splice(x,1); + } + } + } + } + + } + }else{ + if(!isSelectedRow){ + for(var x = 0;x < sameBasketBarcode.length;x++){//取消以后就要删包条码相同的数据对象 + if(sameBasketBarcode[x].data.barcode == curSelectRow.data.barcode){ + sameBasketBarcode.splice(x,1); + } + } + } + } + } + }, + tbar : new top.Ext.Panel({ + border: false, + items:[{ + xtype: 'toolbar', + items: [{ + text : '任务组 :' + },{ + xtype : 'multiSelect', + triggerAction : 'all', + fieldLabel : '任务组', + id : 'taskGroup', + name : 'taskGroup', + mode : 'remote', + width:300, + listWidth : 180, + forceSelection : false, + allowBlank : true, + editable : false, + anchor : '100%', + valueField : 'id', + displayField : 'taskGroupName', + listeners : { + select : function(combo, record, index){ + onAllChoosedOrNot(combo, record,index,'taskGroupName'); + } + }, + store : taskGroupMultiSelectStore + },{ + text : '查询', + iconCls : 'icon_search', + handler : function() { + notPutInFurnaceGoodsStore.load(); + } + }] + }] + }) + + }) + // + ] + },{ + columnWidth : .33, + layout : 'form', + cls:'edit-5char-labelwidth', + items : [{ + xtype : 'textfield', + fieldLabel : "灭菌员", + // labelWidth: 60, + name : "sterilizationUserPrint", + id : "sterilizationUserPrint", + readOnly : true, + anchor : '100%', + value:sterilizationUser, + cls:'x-item-disabled', + + }] + },{ + columnWidth : .33, + layout : 'form', + cls:'edit-5char-labelwidth', + items : [{ + xtype : 'textfield', + fieldLabel : "炉号", + value:sterilizerName, + // labelWidth: 60, + name : "sterilizerNamePrint", + id : "sterilizerNamePrint", + readOnly : true, + anchor : '100%', + cls:'x-item-disabled' + }] + },{ + columnWidth : .33, + layout : 'form', + cls:'edit-5char-labelwidth', + items : [{ + xtype : 'textfield', + fieldLabel : "炉次", + value:frequency, + // labelWidth: 60, + name : "frequencyPrint", + id : "frequencyPrint", + readOnly : true, + anchor : '100%', + cls:'x-item-disabled' + }] + }] + }], + buttonAlign :'center', + buttons : [{ + text : '打印标签并入炉', + id : 'saveBtn3', + hidden:false, + handler : function(){ + printSterilizationLabelAndPutInFrequency(); + } + },{ + text : '关闭', + handler : function() { + printSterilizationLabelWin.close(); + } + }] + }); + + + + printSterilizationLabelWin = new top.Ext.Window( { + id : 'printSterilizationLabelWin', + layout : 'fit', + title : '打印标签', + modal : true, + height:600, + // autoHeight : true, + border :false, + plain : true, + items : [ form ] + }); + printSterilizationLabelWin.show(); + taskGroupMultiSelectStore.load(); + notPutInFurnaceGoodsStore.load(); +} \ No newline at end of file