Index: ssts-web/src/main/webapp/jasperRtp/useRecordItemView.jasper =================================================================== diff -u -r14664 -r16986 Binary files differ Index: ssts-web/src/main/webapp/jasperRtp/useRecordItemViewSub.jasper =================================================================== diff -u -r14664 -r16986 Binary files differ Index: ssts-web/src/main/webapp/disinfectsystem/reportforms/useRecordItemView.js =================================================================== diff -u -r15836 -r16986 --- ssts-web/src/main/webapp/disinfectsystem/reportforms/useRecordItemView.js (.../useRecordItemView.js) (revision 15836) +++ ssts-web/src/main/webapp/disinfectsystem/reportforms/useRecordItemView.js (.../useRecordItemView.js) (revision 16986) @@ -1,341 +1,365 @@ var entityName = "使用记录录入统计报表"; -var grid; +var form = null; +/** + * 加载报表的数据 + * @param isFirstRoomPeople 当前登录用户的当前科室是否为一级供应室 + * @param currentOrgUnitName 当前登录用户的当前科室名称 + * @param operatorSearch 录入人 + * + * + */ var myMask; -function reloadReport(isFirstRoomPeople,orgName,operatorSearch){ - var departSearch = ""; - var startTime= $Id('startTime').value; - var endTime = $Id('endTime').value; - var hospitalNum = Ext.getCmp('hospitalNumSearch').getValue(); - var goodsId = Ext.getCmp('goodsSearch').getValue(); - var showOther = Ext.getCmp('othersGoods').getValue(); - var goodsType = Ext.getCmp('goodsType').getValue(); - - //不是一级供应室 - if(!isFirstRoomPeople){ - departSearch = orgName;/*Ext.getCmp('departSearch').getValue();*///// - }else{ - departSearch = $Id('departSearch').value; +function reloadReport(){ + + if (!form.getForm().isValid()) { + showResult('请正确填写表单各值'); + return false; } + + var startTime= $Id('startTime').value; //开始时间 + var endTime = $Id('endTime').value; //结束时间 + var operatorSearch = $Id('operatorSearch').value; //录入人名字 + var hospitalNum = Ext.getCmp('hospitalNumSearch').getValue(); //住院号/诊疗号 + var goodsId = Ext.getCmp('goodsSearch').getValue(); //物品id + var showOther = Ext.getCmp('othersGoods').getValue(); //是否需要显示同单明细 + var departSearch = (!isFirstRoomPeople ? currentOrgUnitName : $Id('departSearch').value); //不是一级供应室,只能查自己的 + var barcode = $Id('barcodeSearch').value; //条码字符串 + var barcodeReg = /(\d){9}/; + if (!(barcode.length == 9 && barcodeReg.test(barcode))) { //条码字符串为9数字,扫描码才有意义,否则清空 + barcode = ''; + } + myMask = new Ext.LoadMask(Ext.getBody(), { msg: '正在加载,请稍候!', removeMask: true }); myMask.show(); - window.open(WWWROOT+"/jasperreports/jasperreportsAction!createReportFromJavaBeanSource.do?jasperreportName=useRecordItemView.jasper&startDay=" - +startTime+"&endDay="+endTime+"&reportName=useRecordItemView&depart="+departSearch+"&operatorSearch="+operatorSearch - + "&hospitalNum=" + hospitalNum + "&goodsId=" + goodsId + "&goodsType=" + goodsType - + "&showOther=" + showOther,'thisIframe','_self'); + window.open(WWWROOT + "/jasperreports/jasperreportsAction!createReportFromJavaBeanSource.do" + + "?jasperreportName=useRecordItemView.jasper&reportName=useRecordItemView" + + "&startDay=" + startTime + + "&endDay=" + endTime + + "&depart=" + departSearch + + "&operatorSearch=" + operatorSearch + + "&hospitalNum=" + hospitalNum + + "&goodsId=" + goodsId + + "&goodsType=" + Ext.getCmp('goodsType').getValue() + + "&showOther=" + showOther + + "&barcode=" + barcode, + 'thisIframe', '_self'); + } + Ext.onReady(function(){ Ext.QuickTips.init(); + + var dt = new Date(); + var startDayofMonth = dt.getFullYear() + "/" + (dt.getMonth() + 1) + "/01"; + var departRecord = Ext.data.Record.create([ { name : 'id' }, { name : 'name' } ]); + //科室选择下拉框Store var departJsonStore = new Ext.data.Store({ proxy : new Ext.data.HttpProxy({ url : WWWROOT + '/disinfectSystem/baseData/supplyRoomConfigAction!getAllOrgUnitName.do', method : 'POST' }), - reader : new Ext.data.JsonReader({ - root : 'data' - },departRecord - ), + reader : new Ext.data.JsonReader({root : 'data'}, departRecord), listeners:{ load : function(thiz,records,options){ thiz.insert(0, new departRecord({id:"-1",name:"全部"})); } } }); + var comboGoodsRecord = Ext.data.Record.create([ {name : 'id',mapping : 'id'}, {name : 'tousseDefinitionID'}, {name : 'type',mapping : 'type'}, {name : 'tousseType',mapping : 'tousseType'}, {name : 'name',mapping : 'name'} - ]); - //物品选择下拉框数据源 + ]); + //物品选择下拉框Store var comboGoodsStore = new Ext.data.Store({ proxy : new Ext.data.HttpProxy({ - //type : 'ajax', url : WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!searchComboGoodsData.do' }), reader : new Ext.data.JsonReader({ - //totalProperty : 'totalCount', - //idProperty: 'noneExsist', root : 'data' },comboGoodsRecord) }); - //是否显示同单明细 - var yesNoStore = new Ext.data.SimpleStore( { - fields : [ 'value'], - data : [[STR_YES],[STR_NO]] - }); - var dt = new Date(); - var startDayofMonth = dt.getFullYear() + "/" + (dt.getMonth() + 1) + "/01"; - var readerDetail = Ext.data.Record.create([ { - name : 'id' - }, { - name : 'name' - } ]); + var readerDetail = Ext.data.Record.create([{name : 'id'},{name : 'name'}]); + //用户选择下拉框Store var userJsonStore = new Ext.data.Store({ proxy : new Ext.data.HttpProxy({ url : WWWROOT + '/systemmanage/user/loadUserByOrgId!loadUserByOrgId.do', method : 'POST' }), reader : new Ext.data.JsonReader({ root : 'data' - },readerDetail) + },readerDetail), + baseParams : { + departId : (!isFirstRoomPeople ? currentOrgUnitCode : '') //当前科室编码如果不是第一供应室用户,只加载本科室的所有用户 + } }); - //不是第一供应室的人 - if(!isFirstRoomPeople){ - userJsonStore.baseParams.departId = currentOrgCode; - userJsonStore.reload(); - } - var form = new Ext.form.FormPanel({ - title : '使用记录录入明细报表', - region : 'north', - labelAlign : 'right', - buttonAlign : 'center', - collapsible : true, - collapseMode : 'mini', - split : true, - border : 0, - frame : true, - bodyStyle : 'padding:0px auto;margin:0px',// padding:1px;padding-top:5px; - height : 135, + form = new Ext.form.FormPanel({ + title : '使用记录录入明细报表', + region : 'north', + labelAlign : 'right', + buttonAlign : 'center', + collapsible : true, + collapseMode : 'mini', + split : true, + border : 0, + frame : true, + bodyStyle : 'padding:0px auto;margin:0px', + height : 135, + buttons:[{ + xtype : 'button', + text : '查询', + minWidth : 70, + iconCls : 'icon_search', + handler : function() { + reloadReport(); + } + },{ + xtype : 'button', + text : '重置', + minWidth : 70, + iconCls : 'icon_set', + handler : function() { + form.getForm().reset(); + } + }], + items : [{ + layout : 'column', + labelWidth : 60, + width : 1000, items : [{ - layout : 'column', -// height : 40, - labelWidth : 60, - items : [{ - xtype : 'hidden', - name : 'goodsType', - id : 'goodsType' - },{ - layout:'form', - columnWidth:.2, - items:[{ - xtype : 'datefieldWithMin', - fieldLabel : '开始日期', - id : 'startTime', - name : 'startTime', - editable : false, - format : 'Y-m-d H:i:s', - allowBlank : true, - anchor : '95%', - value: new Date(startDayofMonth), - listeners : { - specialkey : function(field, e) { - if (e.getKey() == Ext.EventObject.ENTER) { - var isOK = field.validate(); - if(isOK){ - var value = field.getValue(); - field.setValue(value); - var endTime = Ext.getCmp('endTime'); - endTime.setValue(''); - endTime.focus(); - } + xtype : 'hidden', + name : 'goodsType', + id : 'goodsType' + },{ + layout:'form', + columnWidth:.25, + items:[{ + xtype : 'datefieldWithMin', + fieldLabel : '开始日期', + id : 'startTime', + name : 'startTime', + editable : false, + format : 'Y-m-d H:i:s', + allowBlank : false, + anchor : '95%', + value: new Date(startDayofMonth), + listeners : { + specialkey : function(field, e) { + if (e.getKey() == Ext.EventObject.ENTER) { + var isOK = field.validate(); + if(isOK){ + var value = field.getValue(); + field.setValue(value); + var endTime = Ext.getCmp('endTime'); + endTime.setValue(''); + endTime.focus(); } } } - }] - },{ - layout:'form', - columnWidth:.2, - items:[{ - xtype : 'datefieldWithMin', - fieldLabel : '结束日期', - id : 'endTime', - name : 'endTime', - editable : false, - format : 'Y-m-d H:i:s', - allowBlank : true, - anchor : '95%', - value: new Date(), - listeners : { - specialkey : function(field, e) { - if (e.getKey() == Ext.EventObject.ENTER) { - var isOK = field.validate(); - if(isOK){ - var value = field.getValue(); - field.setValue(value); - } - } + } + }] + },{ + columnWidth : .25, + layout : 'form', + labelWidth : 40, + items : [{ + xtype : 'textfield', + fieldLabel : '条码', + name : 'barcodeSearch', + id : 'barcodeSearch', + anchor : '95%', + listeners : { + specialkey : function(field, ee) { + if (ee.getKey() == Ext.EventObject.ENTER) { + reloadReport(); } } - }] - },{ - layout:'form', - columnWidth:.22, - labelWidth:40, - items:[{ - xtype : 'combo', - id : 'departSearch', - name : 'departSearch', - queryParam : 'spell', - fieldLabel : '科室', - minChars : 0, - valueField : 'id', - displayField : 'name', - store : departJsonStore, - forceSelection : false, - lazyInit : true, - anchor : '95%', - listWidth:200, - disabled :!isFirstRoomPeople, - triggerAction : 'all', - hideTrigger : true, - typeAhead : false, - allowBlank : true, - listeners:{ - specialkey:function(field,event){ - if(event.getKey()==Ext.EventObject.ENTER){ - userJsonStore.removeAll(); - userJsonStore.baseParams.departId = field.getValue(); - userJsonStore.reload(); - Ext.getCmp('operatorSearch').focus(); - } + } + }] + },{ + layout:'form', + columnWidth:.25, + labelWidth:50, + items:[{ + xtype : 'combo', + id : 'departSearch', + name : 'departSearch', + queryParam : 'spell', + fieldLabel : '科室', + minChars : 0, + valueField : 'id', + displayField : 'name', + store : departJsonStore, + forceSelection : false, + lazyInit : true, + anchor : '95%', + listWidth : 200, + disabled :!isFirstRoomPeople, + triggerAction : 'all', + hideTrigger : true, + typeAhead : false, + allowBlank : true, + listeners:{ + specialkey:function(field,event){ + if(event.getKey()==Ext.EventObject.ENTER){ + userJsonStore.removeAll(); + userJsonStore.baseParams.departId = field.getValue(); + userJsonStore.reload(); + Ext.getCmp('operatorSearch').focus(); } } - }] - },{ - layout:'form', - columnWidth:.18, - labelWidth:60, - items:[{ - xtype : 'combo', - id : 'operatorSearch', - name : 'operatorSearch', - queryParam : 'spell', - fieldLabel : '录入人', - minChars : 0, - valueField : 'id', - displayField : 'name', - store : userJsonStore, - forceSelection : true, - lazyInit : true, - anchor : '95%', - listWidth:150, - triggerAction : 'all', - hideTrigger : true, - typeAhead : false, - allowBlank : true, - listeners:{ - specialkey:function(field,event){ - if(event.getKey()==Ext.EventObject.ENTER){ - reloadReport(isFirstRoomPeople,orgName,field.getRawValue()); + } + }] + },{ + layout:'form', + columnWidth:.25, + labelWidth:100, + items:[{ + xtype : 'textfield', + id : 'hospitalNumSearch', + name : 'hospitalNumSearch', + fieldLabel : '住院号/诊疗号', + minChars : 0 + }] + },{ + layout:'form', + columnWidth:.25, + items:[{ + xtype : 'datefieldWithMin', + fieldLabel : '结束日期', + id : 'endTime', + name : 'endTime', + editable : false, + format : 'Y-m-d H:i:s', + allowBlank : false, + anchor : '95%', + value: new Date(), + listeners : { + specialkey : function(field, e) { + if (e.getKey() == Ext.EventObject.ENTER) { + var isOK = field.validate(); + if(isOK){ + var value = field.getValue(); + field.setValue(value); } } } - }] - },{ - layout:'form', - columnWidth:.18, - labelWidth:100, - items:[{ - xtype : 'textfield', - id : 'hospitalNumSearch', - name : 'hospitalNumSearch', - fieldLabel : '住院号/诊疗号', - minChars : 0 - }] - },{ - layout:'form', - columnWidth:.18, - labelWidth:60, - items:[{ - xtype : 'combo', - id : 'goodsSearch', - name : 'goodsSearch', - queryParam : 'spell', - fieldLabel : '物品', - minChars : 0, - valueField : 'id', - displayField : 'name', - store : comboGoodsStore, - forceSelection : true, - lazyInit : true, - anchor : '95%', - listWidth:150, - triggerAction : 'all', - hideTrigger : true, - typeAhead : false, - allowBlank : true, - listeners:{ - select : function(combo, record, index) { - Ext.getCmp('goodsType').setValue(record.data.type); - } + } + }] + },{ + layout:'form', + columnWidth:.25, + labelWidth:40, + items:[{ + xtype : 'combo', + id : 'goodsSearch', + name : 'goodsSearch', + queryParam : 'spell', + fieldLabel : '物品', + listWidth : 200, + minChars : 0, + valueField : 'id', + displayField : 'name', + store : comboGoodsStore, + forceSelection : true, + lazyInit : true, + anchor : '95%', + triggerAction : 'all', + hideTrigger : true, + typeAhead : false, + allowBlank : true, + listeners:{ + select : function(combo, record, index) { + Ext.getCmp('goodsType').setValue(record.data.type); } - }] - },{ - layout:'form', - columnWidth:.18, - labelWidth:100, - items:[{ - xtype : 'combo', - id : 'othersGoods', - name : 'othersGoods', - fieldLabel : '显示同单明细', - minChars : 0, - valueField : 'value', - displayField : 'value', - store : yesNoStore, - mode : 'local', - forceSelection : true, - lazyInit : true, - anchor : '95%', - listWidth:100, - triggerAction : 'all', - hideTrigger : true, - typeAhead : false, - allowBlank : true - }] + } }] - }], - buttons:[{ - xtype : 'button', - text : '查询', - minWidth : 70, - iconCls : 'icon_search', - handler : function() { - reloadReport(isFirstRoomPeople,orgName,Ext.getCmp('operatorSearch').getRawValue()); - } },{ - xtype : 'button', - text : '重置', - minWidth : 70, - iconCls : 'icon_set', - handler : function() { - form.getForm().reset(); - $Id('startTime').value = ""; - $Id('endTime').value = ""; - } + layout:'form', + columnWidth:.25, + labelWidth:50, + items:[{ + xtype : 'combo', + id : 'operatorSearch', + name : 'operatorSearch', + queryParam : 'spell', + fieldLabel : '录入人', + minChars : 0, + valueField : 'id', + displayField : 'name', + store : userJsonStore, + forceSelection : true, + lazyInit : true, + anchor : '95%', + listWidth:150, + triggerAction : 'all', + hideTrigger : true, + typeAhead : false, + allowBlank : true + }] + },{ + layout:'form', + columnWidth:.25, + labelWidth:100, + items:[{ + xtype : 'combo', + id : 'othersGoods', + name : 'othersGoods', + fieldLabel : '显示同单明细', + minChars : 0, + valueField : 'value', + displayField : 'value', + value : STR_YES, + store : new Ext.data.SimpleStore({ + fields : [ 'value'], + data : [[STR_YES],[STR_NO]] + }), + mode : 'local', + forceSelection : true, + lazyInit : true, + anchor : '95%', + listWidth:100, + triggerAction : 'all', + typeAhead : false, + listWidth : 130, + allowBlank : true + }] }] - }); - - - var reportForm = new Ext.Panel({ - frame:false,//渲染面板 - autoScroll:true,//自动显示滚动条 - collapsible:true,//允许展开和收缩 - bodyPadding:5, - html:'' + }] + }); + + + var reportForm = new Ext.Panel({ + frame:false,//渲染面板 + autoScroll:true,//自动显示滚动条 + collapsible:true,//允许展开和收缩 + bodyPadding:5, + html:'' - }); - - var viewport = new Ext.Viewport({ - layout : 'border', - items : [form, { - region : 'center', - margins : '0 0 0 0', - layout : 'fit', - items : reportForm - }] - }); - reloadReport(isFirstRoomPeople,orgName,userName); - }); \ No newline at end of file + }); + + var viewport = new Ext.Viewport({ + layout : 'border', + items : [form, { + region : 'center', + margins : '0 0 0 0', + layout : 'fit', + items : reportForm + }] + }); +}); + Index: ssts-web/src/main/webapp/jasperRtp/useRecordItemView.jrxml =================================================================== diff -u -r14664 -r16986 --- ssts-web/src/main/webapp/jasperRtp/useRecordItemView.jrxml (.../useRecordItemView.jrxml) (revision 14664) +++ ssts-web/src/main/webapp/jasperRtp/useRecordItemView.jrxml (.../useRecordItemView.jrxml) (revision 16986) @@ -1,7 +1,7 @@ - - - + + +