Index: ssts-web/src/main/webapp/disinfectsystem/reportforms/qualityControlReportView.js =================================================================== diff -u -r40968 -r40988 --- ssts-web/src/main/webapp/disinfectsystem/reportforms/qualityControlReportView.js (.../qualityControlReportView.js) (revision 40968) +++ ssts-web/src/main/webapp/disinfectsystem/reportforms/qualityControlReportView.js (.../qualityControlReportView.js) (revision 40988) @@ -86,6 +86,54 @@ { name: 'name', type: 'string' } ]); + var supplyRoomRecord = Ext.data.Record.create([ + { name: 'departCode', type: 'string' }, + { name: 'name', type: 'string' } + ]); + + var supplyRoomStore = new Ext.data.SimpleStore({ + fields: ['departCode', 'name'] + }); + + var supplyRoomRemoteStore = new Ext.data.Store({ + proxy: new Ext.data.HttpProxy({ + url: WWWROOT + '/disinfectSystem/baseData/supplyRoomConfigAction!loadSupplyRoomConfigRoom.do', + method: 'POST' + }), + baseParams: { type: "12" }, + // reader : rd, + reader: new Ext.data.JsonReader({ + fields: [ + { name: 'id', mapping: 'id' }, + { name: 'departCode', mapping: 'departId' }, + { name: 'name', mapping: 'name' } + ] + }), + listeners: { + beforeload: function () { + loadMask = new Ext.LoadMask(Ext.getBody(), { + msg: '正在加载供应室...,请稍候!', removeMask: true + }); + loadMask.show(); + }, + load: function (thiz, records, options) { + loadMask.hide(); + if (records && records.length > 0) { + for (var i = 0; i < records.length; i++) { + var supplyRoomData = records[i].data; + var departCodeTemp = supplyRoomData.departCode; + supplyRoomStore.add(new supplyRoomRecord({ 'departCode': departCodeTemp, 'name': supplyRoomData.name, 'checked': true })); + } + } + if (supplyRoomStore.getCount() > 1) { + supplyRoomStore.insert(0, new supplyRoomRecord({ 'departCode': ALL, 'name': ALL, 'checked': true })); + } + } + } + }); + + supplyRoomRemoteStore.load() + //质检指标 var qualityControlIndicatorTypeStore = new Ext.data.Store({ proxy: new Ext.data.HttpProxy({ @@ -115,6 +163,10 @@ if (qualityControlItemParameterNames.indexOf(ALL) == 0) { qualityControlItemParameterNames = ""; } + var querySupplyRoom = Ext.getCmp('querySupplyRoom').getValue(); + if (querySupplyRoom.indexOf(ALL) == 0) { + querySupplyRoom = ""; + } var quarter = ''; if (queryType == '按季度') { quarter = Ext.getCmp('quarter').getRawValue(); @@ -131,6 +183,7 @@ year: year, quarter: quarter, qualityControlItemParameterNames: qualityControlItemParameterNames, + querySupplyRoom: querySupplyRoom, reportName: 'qualityControlReport' } @@ -290,6 +343,59 @@ } } }] + }, { + columnWidth: .2, + layout: 'form', + labelSeparator: '选择供应室:', + items: [{ + xtype: 'multiSelect', + id: 'querySupplyRoom', + name: 'querySupplyRoom', + valueField: 'departCode', + displayField: 'name', + minChars: 0, + allowBlank: true, + editable: false, + store: supplyRoomStore, + forceSelection: false, + mode: 'local', + triggerAction: 'all', + lazyInit: true, + typeAhead: false, + anchor: '95%', + listeners: { + render: function (thiz) { + thiz.selectAll(); + }, + select: function (combo, record, index) { + //1、如果选中“全部”的项,则把所有的项选中,反之全部取消选择 + if (record.get('departCode') == ALL) { + if (record.get('checked')) { + combo.selectAll(); + } else { + combo.deselectAll(); + } + } + + //2、如果已经选中所有的项,则把“全部”项选中,反之把“全部”项取消选择 + var selectAll = true; + combo.store.each(function (record) { + if (record.get('departCode') != ALL && !record.get(this.checkField)) { + selectAll = false; + return; + } + }, combo); + + var all = combo.store.getAt(0); + if (selectAll) { + all.set(combo.checkField, true); + } else { + all.set(combo.checkField, false); + } + combo.setValue(combo.getCheckedValue()); + } + } + }] }] }], buttons: [{ @@ -345,4 +451,5 @@ }); Ext.getCmp('quarterSearch_id').hide(); + Ext.getCmp('querySupplyRoom').setRawValue('全部') }); \ No newline at end of file