Index: ssts-web/src/main/webapp/disinfectsystem/toussemanager/tousseinstancemanager/tousseInstanceView.js =================================================================== diff -u -r21629 -r21686 --- ssts-web/src/main/webapp/disinfectsystem/toussemanager/tousseinstancemanager/tousseInstanceView.js (.../tousseInstanceView.js) (revision 21629) +++ ssts-web/src/main/webapp/disinfectsystem/toussemanager/tousseinstancemanager/tousseInstanceView.js (.../tousseInstanceView.js) (revision 21686) @@ -4,6 +4,35 @@ var singleScanLabel = '单次扫描'; var repeatScanLabel = '多次扫描'; +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(); + } +} + var departmentComboBoxStore = new Ext.data.Store({ proxy : new Ext.data.HttpProxy({ url : WWWROOT + '/disinfectSystem/baseData/supplyRoomConfigAction!getApplicationDepartJson.do', @@ -16,22 +45,23 @@ {name : 'departCode',mapping : 'departCode'}, {name : 'name',mapping : 'name'} ] - ), - listeners : { - load : function(st) { - var TopicRecord = Ext.data.Record.create([ - {name : 'id',mapping : 'id'}, - {name : 'departCode',mapping : 'departCode'}, - {name : 'name',mapping : 'name'} - ]); - var myNewRecord = new TopicRecord({ - id: 'all', - departCode: '全部', - name: '全部' - }); - st.insert(0,myNewRecord); - } - } + ) +// , +// listeners : { +// load : function(st) { +// var TopicRecord = Ext.data.Record.create([ +// {name : 'id',mapping : 'id'}, +// {name : 'departCode',mapping : 'departCode'}, +// {name : 'name',mapping : 'name'} +// ]); +// var myNewRecord = new TopicRecord({ +// id: 'all', +// departCode: '全部', +// name: '全部' +// }); +// st.insert(0,myNewRecord); +// } +// } }); function initQueryValueAndReload() { @@ -443,6 +473,11 @@ allowBlank : true, editable : false, fieldLabel:'器械包分组', + listeners : { + select : function(combo, record, index){ + onAllChoosedOrNot(combo, record,index,'tousseGroupName'); + } + }, triggerAction : 'all', //--------------------// store : new Ext.data.JsonStore({ @@ -540,15 +575,18 @@ fieldLabel : '科室', id : 'department', name : 'department', - emptyText : '全部', valueField : 'departCode', displayField : 'name', store : departmentComboBoxStore, triggerAction : 'all', mode : 'remote', forceSelection : false, allowBlank : true, - editable : false, + editable : true, + queryParam : 'spell', + minChars : 0, + listWidth : 180, + hideTrigger : true, anchor : '95%' }] },{ @@ -557,13 +595,18 @@ labelWidth : fontSize == 12 ? 70 : 90, labelAlign: "right", items : [{ - xtype : 'combo', + xtype : 'multiSelect', + triggerAction : 'all', fieldLabel : '器械包状态', id : 'tousseStatus', name : 'tousseStatus', - emptyText : '全部', valueField : 'tousseStatus', displayField : 'tousseStatus', + listeners : { + select : function(combo, record, index){ + onAllChoosedOrNot(combo, record,index,'tousseStatus'); + } + }, store : new Ext.data.SimpleStore({ fields : ['tousseStatus'], data : [['全部'], @@ -584,7 +627,6 @@ ['已召回'], ['灭菌待确认']] }), - triggerAction : 'all', mode : 'local', forceSelection : false, allowBlank : true, @@ -611,11 +653,13 @@ $Id('frequency').value = ""; $Id('tousseName').value = ""; $Id('tousseGroupName').value = ""; + Ext.getCmp('tousseGroupName').setValue(""); $Id('scanPattern').value = singleScanLabel; $Id('idNumberSearch').value = ""; - $Id('department').value="全部"; - Ext.getCmp('department').setValue("全部"); - $Id('tousseStatus').value="全部"; + $Id('department').value=""; + Ext.getCmp('department').setValue(""); + $Id('tousseStatus').value=""; + Ext.getCmp('tousseStatus').setValue(""); barcodes = ''; } }] Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/TousseInstanceTableManager.java =================================================================== diff -u -r21657 -r21686 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/TousseInstanceTableManager.java (.../TousseInstanceTableManager.java) (revision 21657) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/TousseInstanceTableManager.java (.../TousseInstanceTableManager.java) (revision 21686) @@ -254,12 +254,28 @@ } String tousseStatus = sqlWhereParamMap.get("tousseStatus"); //器械包状态 - if (StringUtils.isNotBlank(tousseStatus) && !"全部".equals(tousseStatus)){ - sqlBuilder.append(String.format(" AND po.status = '%s' ",tousseStatus)); + if (StringUtils.isNotBlank(tousseStatus)){ + String[] statuses = tousseStatus.split(","); + String tousseStatusSql = ""; + if(!"全部".equals(statuses[0])){ + if(statuses.length == 1){ + tousseStatusSql += String.format(" po.status = '%s' ",statuses[0]); + }else{ + tousseStatusSql +=" po.status in ("; + for ( int i = 0; i