1 var pageSize = 20;//初始化每页数据条数 2 var winTitle = '';//初始化窗口标题 3 4 /** 5 *点击统计图时,弹出一个窗口,显示统计的详情列表信息, 6 *该方法为项目中所有的统计图共享,参数type是一个字符串,用于区分是哪个统计图调用的 7 */ 8 function showDetails(type){ 9 10 setWindowTitle(type);//设置窗口标题 11 12 var panel; 13 if (type.split("_")[0] == "stdMngStatistics") { 14 var gridStore = createStore("gridStore", type);//获取数据 15 loadGridStoreByOrgCodeAndIncludeSubOrgs(gridStore); 16 gridStore.load(function(){ 17 panel = createGrid(gridStore);//创建面板 18 showWindow(panel);//显示窗口 19 }); 20 } 21 } 22 23 //设置窗口标题 24 function setWindowTitle(type){ 25 if(type == "stdMngStatistics"){ 26 winTitle = "规范管理人员"; 27 } 28 } 29 30 //设置参数 31 function loadGridStoreByOrgCodeAndIncludeSubOrgs(gridStore){ 32 var proxy = gridStore.getProxy(); 33 proxy.setExtraParam("orgCode",selectedOrgCode);// 管理机构编码 34 proxy.setExtraParam("includeSubOrgs",selectedIncludeSubOrgs);// 是否包含下级机构 35 } 36 37 //获取数据 38 function createStore(storeId, type){ 39 return new Ext.data.JsonStore({ 40 storeId: storeId, 41 remoteSort : true, 42 pageSize : pageSize, 43 proxy: { 44 type: 'ajax', 45 url : baseUrl + '/app/report/statisticsDetails/' + encodeURI(encodeURI(type)), 46 actionMethods: { 47 read : 'POST' 48 }, 49 reader: { 50 type: 'json', 51 totalProperty : 'totalElements', 52 root: 'content' 53 }, 54 extraParams:{ 55 limit : pageSize 56 }, 57 batchActions : false 58 }, 59 fields : ['id' , 'ehrId' , 'personName', 'gender', 'birthDate', 'innerCode', 'svcFlwMental' , 'svcFlwCommonDto' , 60 'family', 'idNumber', 'homeTel', 'ehrIntegrity' , 'hasAsmYear', 'hasAsmOldS' , 'hasAsmOldA' , 'hasSvcExam1', 'mngOrgName' , 61 'dateCreated', 'ehrDetails' , 'hasFirstSoap' , 'hasFlwChronic' , 'hasAsmYear' , 'svcAsmOldS' , 'svcChronicList' , 'svcChronic','hasVSvcFlwChronicWf', 62 'grHealth', 'grHighRisk' , 'grChronicDisease' , 'grOld' , 'grMaternity' , 63 'grChildren','grMentalDisorder','grHandicapped','cdHypertension','cdDiabetesMellitus', 64 'cdCoronaryDisease','cdCerebralApoplexy','cdOther', 'curContract'] 65 }); 66 } 67 68 //创建面板 69 function createGrid(gridStore){ 70 var sm = new Ext.selection.RowModel(); 71 return Ext.create('Ext.grid.Panel', { 72 border : false, 73 xtype : 'grid', 74 store : gridStore, 75 loadMask : true, 76 stripeRows : true, 77 viewConfig: { 78 forceFit : true 79 }, 80 listeners : { 81 itemdblclick : function(a, b, c, rowindex, e){ 82 e.preventDefault(); 83 openModalDialog(baseUrl+'/app/ehr/index/'+gridStore.getAt(rowindex).get('id')); 84 gridStore.reload(); 85 } 86 } , 87 selModel : sm, 88 columns:[ 89 new Ext.grid.RowNumberer({ 90 header: '序号', 91 45, //序号列宽 92 align: 'center' //序号居中 93 }), 94 {text : '姓名',dataIndex : 'personName', sortable:true }, 95 {text : '性别',dataIndex : 'gender', renderer : genderRenderer ,maxWidth : 60 , sortable:true }, 96 {text : '出生日期',dataIndex : 'birthDate', sortable:true }, 97 {text : '健康分类',dataIndex : 'ehrClassify', renderer : ehrClassifyHealthRenderer, sortable:false}, 98 {text : '人群分类',dataIndex : 'ehrClassify', renderer : ehrClassifyGrRenderer, sortable:false}, 99 {text : '慢病分类',dataIndex : 'ehrClassify', renderer : ehrClassifyCdRenderer, sortable:false}, 100 {text : '签约',dataIndex : 'curContract', maxWidth : 60, renderer : curContractRenderer, sortable:false}, 101 {text : '建档日期',dataIndex : 'dateCreated', sortable:true }, 102 {text : '档案完整度',dataIndex : 'ehrIntegrity', renderer : ehrIntegrityRenderer, sortable:true }, 103 {text : '证件类型' , dataIndex : 'ehrDetails' , hidden : true , renderer : idTypeRenderer, sortable:false}, 104 {text : '证件号码' , dataIndex : 'idNumber' , hidden : true, sortable:false}, 105 {text : '内部建档号',dataIndex : 'innerCode' , hidden : true , sortable:true }, 106 {text : '联系电话',dataIndex : 'homeTel', hidden : true, sortable:false}, 107 {text : '管理机构' , dataIndex : 'mngOrgName' , hidden : true, sortable:false} 108 ], 109 bbar : new Ext.PagingToolbar({ 110 store : gridStore, 111 displayInfo : true, 112 showUerItemsBeforeDisplayInfo: true, 113 displayMsg : "第 {0} - {1} 条 共 {2}条", 114 emptyMsg : "没有符合条件的记录" 115 }) 116 }); 117 } 118 119 //显示统计列表窗口 120 function showWindow(panel){ 121 Ext.create('Ext.window.Window', { 122 modal :true, //弹出窗口后,不能对非本窗口内容进行操作 123 title: winTitle, 124 constrainHeader:true, //所有查询统计中弹窗的拖动范围限定 125 height: 620, 126 880, 127 layout : 'fit', 128 items : [panel] 129 }).show(); 130 }