Index: ssts-web/src/main/webapp/disinfectsystem/foreigntousseapplication/foreignTousseInfoForm.js =================================================================== diff -u -r23917 -r23926 --- ssts-web/src/main/webapp/disinfectsystem/foreigntousseapplication/foreignTousseInfoForm.js (.../foreignTousseInfoForm.js) (revision 23917) +++ ssts-web/src/main/webapp/disinfectsystem/foreigntousseapplication/foreignTousseInfoForm.js (.../foreignTousseInfoForm.js) (revision 23926) @@ -1474,7 +1474,7 @@ ] }); - //simon-add:处理科室数据源 + //simon-add:处理科室数据源,加载时设置默认处理科室 handleDepartmentStore = new Ext4.data.JsonStore({ autoLoad: true, proxy : { @@ -1492,14 +1492,95 @@ ], listeners:{ load:function(records){ - //simon:如果配置的处理科室长度为1,那么设置此唯一的处理科室为默认处理科室 - if(records.data.length==1){ - var handleDepart=records.data.items[0].data.handleDepart; - var handleDepartCoding=records.data.items[0].data.handleDepartCoding; - top.Ext4.getCmp("handleDepart").setValue(handleDepart); - top.Ext4.getCmp("handleDepartCoding").setValue(handleDepartCoding); - } - console.log(records); + //simon-add:items为外来器械配置的处理科室,高级视图中"科室供应室配置"中“外来器械参数设置” + var handleDeparts=records.data.items; + var HDLength=handleDeparts.length; + var handleDepartStore = new Ext4.data.JsonStore({ + autoLoad: true, + proxy : { + type : 'ajax', + url : WWWROOT + '/systemmanage/getCssdsByApplyDepartAndType.do', + reader : { + type : 'json', + root : 'data' + } + }, + fields : [ + {name : 'defaultHandleDepart',mapping : 'defaultHandleDepart'}, + {name : 'cssdOrgUnitCode',mapping : 'cssdOrgUnitCode'}, + {name : 'name',mapping : 'cssdOrgUnitName'} + ], + listeners:{ + beforeload : function(store, operation, eOpts){ + //每次加载之前传“申请科室编码”和“物品类型”两个参数 + store.proxy.extraParams.applyDepartCode = top.Ext4.getCmp('departCoding').getValue(); + store.proxy.extraParams.tousseType = "器械包"; + }, + load:function(records){ + //simon-add:defualtHandleDeparts为可服务此申请科室的供应室,高级视图中"供应室服务临床科室配置" + var defualtHandleDeparts=records.data.items; + var DHDLength=defualtHandleDeparts.length; + /* + * 首先判断外来器械配置的处理科室handleDeparts数量 + * 1.为0则不选择,为1则选择此科室 + * 大于1,继续判断handleDeparts与服务此申请科室的供应室defualtHandleDeparts的交集情况 + * 1.交集为0,不设置默认处理科室 + * 2.为1,则设置此科室 + * 3.大于1,再判断其中有没有“是否默认处理科室”参数为“是”的科室。 + * 4.(有多个科室同时参数设置“是”的情况?)有“是”,则选择此科室,没有是,则不设置默认处理科室 + */ + + + //外来器械配置的处理科室handleDeparts数量为1则选择此科室 + if(HDLength==1){ + var handleDepart=handleDeparts[0].data.handleDepart; + var handleDepartCoding=handleDeparts[0].data.handleDepartCoding; + top.Ext4.getCmp("handleDepart").setValue(handleDepart); + top.Ext4.getCmp("handleDepartCoding").setValue(handleDepartCoding); + }else if(HDLength>1){ + //handleDeparts与服务此申请科室的供应室defualtHandleDeparts的交集 + var sameArray=new Array(); + //“是否默认处理科室”参数为“是”的科室在sameArray中的index + var indexArray=new Array(); + for(var h=0;h1){ + /*交集大于1,再判断其中有没有“是否默认处理科室”参数为“是”的科室,如果参数为“是”的科室数量为1则设置为此科室 + * 其他情况,不设置。 + */ + if(indexArray.length==1){ + var index=indexArray[0]; + var handleDepart=sameArray[index].handleDepart; + var handleDepartCoding=sameArray[index].handleDepartCoding; + top.Ext4.getCmp("handleDepart").setValue(handleDepart); + top.Ext4.getCmp("handleDepartCoding").setValue(handleDepartCoding); + } + } + } + } + } + }); + } }