es.medicareHistory = function() { var rsm = new Ext.grid.CheckboxSelectionModel({ singleSelect : 'true' }); var decodeApplySort = new Ext.ux.dict({ code : 'ES_BYB_BAOXIAOLEIXING' }); //报销对象 var applyerKind = new Ext.ux.dict({ code : 'ES_MATEORCHILD' }); var decodeChargeSort = new Ext.ux.dict({ code : 'ES_BYB_CHARSORT' }); var MedGrid = new Ext.ux.Grid({ title : "信息列表", dataMethod : 'billsService.getList', /* condition : [{ field : 'applySign', relation : '=', value : 'Y', javaClass : 'net.uni.util.Condition', type : 'and' }], */ viewData : false, sm : rsm, columns : [rsm, { header : "单据编号", width : 100, hidden:true, sortable : true, dataIndex : 'billId' }, { header : "唯一号", width : 80, sortable : true, dataIndex : 'uniqNo' }, { header : "姓名", width : 100, sortable : true, dataIndex : 'empName' },{ header : "委托书号", width : 100, sortable : true, hidden:true, dataIndex : 'offerId' },{ header : "申报金额(元)", width : 80, sortable : true, dataIndex : 'applyMoney' },{ header : "报销类型", width : 100, sortable : true, dataIndex : 'applySort', renderer : decodeApplySort.getText },{ header : "费用类型", width : 100, sortable : true, dataIndex : 'chargeSort', renderer : decodeChargeSort.getText },{ header : "报销对象", width : 100, sortable : true, dataIndex : 'applyer', renderer : applyerKind.getText },{ header : "报销比例", width : 80, sortable : true, dataIndex : 'applyScale' },{ header : "审核金额", width : 100, sortable : true, dataIndex : 'payMoney' },{ header : "实赔金额", width : 100, sortable : true, dataIndex : 'realPayMoney' },{ header : "理赔日期", width : 120, sortable : true, dataIndex : 'billPayTime' },{ header : "拒赔原因", width : 150, sortable : true, dataIndex : 'refusePayCause' },{ header : "财务状态", width : 80, sortable : true, dataIndex : 'paySign', renderer : decodepaySign },{ header : "支付日期", width : 120, sortable : true, dataIndex : 'payTime' },{ header : "退回状态", width : 80, sortable : true, hidden:true, dataIndex : 'billBackSign', renderer : decodeBackSign },{ header : "退回日期", width : 120, hidden:true, sortable : true, dataIndex : 'billBackTime' },{ header : "退回原因", width : 100, sortable : true, dataIndex : 'billBackCause' },{ header : "其他退回原因", width : 100, sortable : true, dataIndex : 'billBackOtherCause' }], tbar :[{ text : "查看详情", tooltip : getTooltipObject('查看单据详情'), iconCls : 'add', handler : function() { if (rsm.getSelected()) { addTab('/business/es/medicare/medicareHistory/medicareHistoryDetials.jsp?billId='+rsm.getSelected().data['billId'],null,"医保单据详情"); } else { Ext.MessageBox.alert("提示!", "请选择需要查看的记录"); } } }, {xtype: 'tbspacer', width: 450},"-","数量合计:",{id:"count",xtype:"tbtext",text:'0'},"-", "申报金额合计:", {id:"applyCount",xtype:"tbtext",text:'0'},"-", "审核金额合计:", {id:"checkCount",xtype:"tbtext",text:'0'},"-", "实赔合计:", {id:"realPayCount",xtype:"tbtext",text:'0'} ] }); MedGrid.getStore().on('load',function(store , records, options){ Ext.getCmp('count').setText(store.getTotalCount() ); //记录总数 var applyCount=0; //申报额总数 var checkCount=0;//审核金额总数 var realPayCount=0; //实赔金额总数 if(records.length!=0){ for(var i=0;i<records.length;i++){ if(records[i].get("applyMoney")!=''){ applyCount+=records[i].get("applyMoney"); } if(records[i].get("payMoney")!=''){ checkCount+=records[i].get("payMoney"); } if(records[i].get("realPayMoney")!=''){ realPayCount+=records[i].get("realPayMoney"); } } Ext.getCmp('applyCount').setText(Math.round(applyCount)); Ext.getCmp('checkCount').setText(checkCount); Ext.getCmp('realPayCount').setText(realPayCount); } }); function decodepaySign(value){ if(value=='N'){ return '未送财务'; }else if(value=='Y'){ return '已送财务'; }else{ return value; } } function decodeBackSign(value){ if(value=='N'){ return '未退回'; }else if(value=='Y'){ return '已退回'; }else if(value=='D'){ return '待退回'; }else{ return value; } } //查询条件 var uniqNo = new Ext.form.TextField({ fieldLabel : '唯一号', anchor : '95%' }); var empName = new Ext.form.TextField({ fieldLabel : '姓名', anchor : '95%' }); var payScale = new Ext.form.TextField({ fieldLabel : '报销比例', anchor : '95%' }); var applyMoney = new Ext.form.TextField({ fieldLabel : '申报金额', anchor : '95%' }); var custName = new Ext.form.TextField({ fieldLabel : '公司名称', anchor : '95%' }); var applySort = new Ext.ux.dictComboBox({ fieldLabel : '报销类型', emptyText : '=报销类型=', code : 'ES_BYB_BAOXIAOLEIXING', anchor : '95%' }); var billType = new Ext.ux.dictComboBox({ fieldLabel : '单据类型', emptyText : '=选择单据类型=', code : 'ES_BILL_TYPE', anchor : '95%' }); var depName = new Ext.ux.SearchComboBox({ fieldLabel : '业务部', method:'organizationService.getList', emptyText : '=选择业务部=', valueField : 'name', hiddenName : 'name', displayField : 'name', name:'name', mode : 'remote', anchor : '95%', triggerAction : 'all', lazyRender : true, lazyInit:true, forceSelection : true }); var resetbtn = new Ext.Button({ text : '重置', iconCls : 'cogEdit', handler : function() { selectPanel.getForm().reset(); } }); var selectButton = new Ext.Button({ text : '查询', handler : function(){ if(uniqNo.getValue()||empName.getValue()||custName.getValue()||depName.getValue()||payScale.getValue()||applySort.getValue()||applyMoney.getValue()||billType.getValue()){ var con = []; if(uniqNo.getValue()){ con[con.length] = { field : 'uniqNo', relation : '=', value :uniqNo.getValue(), type : 'and', javaClass : 'net.uni.util.Condition' } } if(empName.getValue()){ con[con.length] = { field : 'empName', relation : '=', value :empName.getValue(), type : 'and', javaClass : 'net.uni.util.Condition' } } if(custName.getValue()){ con[con.length] = { field : 'offerId', relation : '=', value :custName.getValue(), type : 'and', javaClass : 'net.uni.util.Condition' } } if(depName.getValue()){ con[con.length] = { field : 'department', relation : '=', value :depName.getValue(), type : 'and', javaClass : 'net.uni.util.Condition' } } if(payScale.getValue()){ con[con.length] = { field : 'applyScale', relation : '=', value :payScale.getValue(), type : 'and', javaClass : 'net.uni.util.Condition' } } if(applySort.getValue()){ con[con.length] = { field : 'applySort', relation : '=', value :applySort.getValue(), type : 'and', javaClass : 'net.uni.util.Condition' } } if(applyMoney.getValue()){ con[con.length] = { field : 'applyMoney', relation : '=', value :applyMoney.getValue(), type : 'and', javaClass : 'net.uni.util.Condition' } } if(billType.getValue()){ con[con.length] = { field : 'hospitalSign', relation : '=', value :billType.getValue(), type : 'and', javaClass : 'net.uni.util.Condition' } } MedGrid.updateCondition(con); } else { Ext.MessageBox.alert("提示","请至少输入一个查询条件"); } } }); //查询Pnel var selectPanel = new Ext.form.FormPanel({ frame : true, layout : 'column', buttonAlign : 'right', border : false, items : [{ xtype : 'fieldset', title : '查询条件', bodyStyle : 'padding:1px 5px 0', autoHeight : true, collapsed : false, buttonAlign : 'center', layout : 'column', collapsible : true, items : [{ columnWidth : .22, labelWidth : 60, layout : 'form', items : [uniqNo,custName] },{ columnWidth : .22, labelWidth : 60, layout : 'form', items : [empName,depName] }, { columnWidth : .22, labelWidth : 60, layout : 'form', items : [payScale,applySort] }, { columnWidth : .22, labelWidth : 60, layout : 'form', items : [applyMoney,billType] }], buttons:[selectButton,resetbtn] }] }); var totalPanel = new Ext.Panel({ autoScroll : true, border : false, layout : 'table', layoutConfig : { columns : 1 }, items : [{ border : false, items : [selectPanel] }, { border : false, items : getHboxGrid(MedGrid, 380) }] }); return totalPanel; }