Index: ssts-web/src/main/webapp/disinfectsystem/reportforms/statisticalWorkloadView.jsp
===================================================================
diff -u -r25108 -r25223
--- ssts-web/src/main/webapp/disinfectsystem/reportforms/statisticalWorkloadView.jsp (.../statisticalWorkloadView.jsp) (revision 25108)
+++ ssts-web/src/main/webapp/disinfectsystem/reportforms/statisticalWorkloadView.jsp (.../statisticalWorkloadView.jsp) (revision 25223)
@@ -34,6 +34,14 @@
var PACKAGE_SIZE_BIG = '<%=TousseDefinition.PACKAGE_SIZE_BIG%>';
var PACKAGE_SIZE_CENTER = '<%=TousseDefinition.PACKAGE_SIZE_CENTER%>';
var PACKAGE_SIZE_SMALL = '<%=TousseDefinition.PACKAGE_SIZE_SMALL%>';
+
+ //当前用户所在的当前科室
+ var currentOrgUnitCoding = '<%=AcegiHelper.getCurrentOrgUnitCode()%>';
+ //查看所有供应室报表的权限
+ var SSTS_View_All_Supply_Room_Report = true;
+
+ SSTS_View_All_Supply_Room_Report = false;
+
Index: ssts-web/src/main/resources/systemset/operationDefine.xml
===================================================================
diff -u -r25183 -r25223
--- ssts-web/src/main/resources/systemset/operationDefine.xml (.../operationDefine.xml) (revision 25183)
+++ ssts-web/src/main/resources/systemset/operationDefine.xml (.../operationDefine.xml) (revision 25223)
@@ -619,6 +619,8 @@
+
+
Index: ssts-web/src/main/webapp/disinfectsystem/reportforms/statisticalWorkloadView.js
===================================================================
diff -u -r25108 -r25223
--- ssts-web/src/main/webapp/disinfectsystem/reportforms/statisticalWorkloadView.js (.../statisticalWorkloadView.js) (revision 25108)
+++ ssts-web/src/main/webapp/disinfectsystem/reportforms/statisticalWorkloadView.js (.../statisticalWorkloadView.js) (revision 25223)
@@ -16,6 +16,9 @@
var startTime= $Id('startTime').value;
var endTime = $Id('endTime').value;
var departCoding = Ext.getCmp('querySupplyRoom').getValue();
+ if(departCoding.indexOf(ALL) == 0){
+ departCoding = "";
+ }
var tousseTypes = Ext.getCmp('tousseType').getValue();
var packageSizes = Ext.getCmp('packageSize').getValue();
var jasperreportName = isStrengthen ? 'strengthenStatisticalWorkload.jasper' : 'statisticalWorkload.jasper';
@@ -38,35 +41,66 @@
}
-/**
- * “供应室combo”的store
- */
-var supplyRoomStore = new Ext.data.Store({
- proxy : new Ext.data.HttpProxy({
- url : WWWROOT + '/disinfectSystem/baseData/supplyRoomConfigAction!loadSupplyRoomConfigRoom.do',
- method : 'POST'
- }),
- baseParams :{type:"12"},
- reader : new Ext.data.JsonReader({
- fields : [
- {name : 'id', mapping : 'id'},
- {name : 'departCode', mapping : 'departId'},
- {name : 'name', mapping : 'name'}
- ]
- }),
- listeners:{
- load :function (thiz,records,options ){
- if(records.length >0){
- Ext.getCmp('querySupplyRoom').setValue(records[0].data.departCode);
- }
- }
- }
-});
-
Ext.onReady(function() {
Ext.QuickTips.init();
+ var supplyRoomRecord = Ext.data.Record.create([
+ {name: 'departCode', type: 'string'},
+ {name: 'name', type: 'string'}
+ ]);
+ var supplyRoomStore = new Ext.data.SimpleStore({
+ fields : ['departCode','name']
+ });
+
+ var loadMask;
+ /**
+ * “供应室combo”的store,仅用于普通的ajax请求的数据源
+ */
+ var supplyRoomRemoteStore = new Ext.data.Store({
+ proxy : new Ext.data.HttpProxy({
+ url : WWWROOT + '/disinfectSystem/baseData/supplyRoomConfigAction!loadSupplyRoomConfigRoom.do',
+ method : 'POST'
+ }),
+ baseParams :{type:"12"},
+ 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;
+ //如果没有查看其它供应室权限时,只显示是当前用户的科室
+ if(SSTS_View_All_Supply_Room_Report){
+ if(departCodeTemp == currentOrgUnitCoding){
+ supplyRoomStore.add(new supplyRoomRecord({'departCode':departCodeTemp,'name':supplyRoomData.name}));
+ }
+ }else{
+ supplyRoomStore.add(new supplyRoomRecord({'departCode':departCodeTemp,'name':supplyRoomData.name}));
+ }
+ }
+ }
+ if(supplyRoomStore.getCount() > 1){
+ supplyRoomStore.insert(0 , new supplyRoomRecord({'departCode':ALL,'name':ALL}));
+ }
+ }
+ }
+ });
+ supplyRoomRemoteStore.load();
+
var dt = new Date();
var startDayofMonth = dt.getFullYear() + "/" + (dt.getMonth() + 1) + "/01";
@@ -167,23 +201,50 @@
labelWidth : 70,
labelSeparator : '选择供应室:',
items : [{
- xtype : 'combo',
+ xtype : 'multiSelect',
id : 'querySupplyRoom',
name : 'querySupplyRoom',
valueField : 'departCode',
displayField : 'name',
+ minChars : 0,
allowBlank : true,
editable : false,
store : supplyRoomStore,
- forceSelection : true,
+ forceSelection : false,
mode : 'local',
triggerAction : 'all',
- listeners : {
- render : function(_this) {
- supplyRoomStore.load();
+ lazyInit : true,
+ typeAhead : false,
+ anchor : '95%',
+ listeners: {
+ 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());
}
- },
- anchor : '95%'
+ }
}]
},{
width:250,