ext表格分组

来源:互联网 发布:2017年淘宝怎么刷销量 编辑:程序博客网 时间:2024/05/19 21:01
var zhpj=0;function add_assess(data,year,qm,tid,flag){    var zhpj=0,qzdf=0; var gridURL=basePath+'/SystemListener?className=cn.com.perfor.emplAssess.service.EmplAssessService&methodName=getEmplAssess¶mCount=6¶m_0='+data.STB_ROLE_PASSIVE_ID+'¶m_1='+year+'¶m_2='+qm+'¶m_3='+tid+'¶m_4='+flag+'¶m_5='+userid;var reader;if(flag=='add'){reader=new Ext.data.JsonReader({fields:[{name:'F_CON',type:'string'},{name:'STB_ASSESS_CRIT_FRAC',type:'float'},{name:'STB_ASSESS_CRIT_STAND',type:'string'},{name:'STB_ASSESS_CRIT_ID',type:'int'},{name:'STB_ASSESS_CON',type:'string'},{name:'STB_ASSESS_SCORE',type:'float'},{name:'STB_ASSESS_DEFEN',type:'float'},{name:'STB_ASSESS_REASON',type:'string'},{name:'SELF_ASSESS',type:'float'},{name:'F_STATE',type:'float'}]})}else if(flag=='edit'){reader=new Ext.data.JsonReader({fields:[{name:'F_CON',type:'string'},{name:'STB_ASSESS_CRIT_FRAC',type:'float'},{name:'STB_ASSESS_CRIT_STAND',type:'string'},{name:'STB_ASSESS_CRIT_ID',type:'int'},{name:'STB_ASSESS_CON',type:'string'},{name:'STB_ASSESS_SCORE',type:'float'},{name:'STB_ASSESS_DEFEN',type:'float'},{name:'STB_ASSESS_REASON',type:'string'},{name:'SELF_ASSESS',type:'float'},{name:'F_STATE',type:'float'}]})}var store=new Ext.data.GroupingStore({ id:'storeID',proxy:new Ext.data.HttpProxy({url:gridURL}),reader:reader,groupField:'F_CON'})store.load();var score_blur=false;store.on('load',function(store,records,options){//    var girdcount=0;//        store.each(function(r){//            if(r.get('STB_ASSESS_CON')=='一票否决项')//            {//                grid.getView().getRow(0).style.backgroundColor='#FFFF00';//            }//            girdcount=girdcount+1;//        });        for(var i=0;i<records.length;i++){if(flag=='add')       records[i].data.STB_ASSESS_DEFEN=records[i].get('STB_ASSESS_CRIT_FRAC')-records[i].get('STB_ASSESS_SCORE')  else if(flag=='edit'){ records[i].data.STB_ASSESS_SCORE=records[i].get('STB_ASSESS_CRIT_FRAC')-records[i].get('STB_ASSESS_DEFEN')  }}})var summary = new Ext.ux.grid.GroupSummary();var cm=new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(),{header:'考核ID',id:'STB_ASSESS_CRIT_ID',dataIndex:'STB_ASSESS_CRIT_ID',hidden:true},{header:'F_STATE',id:'F_STATE',dataIndex:'F_STATE',summaryType:'average',hidden:true},{header:'考核分类',id:'F_CON',dataIndex:'F_CON',hidden:true},{header:'<div style="text-align:center">考核项目</div>',id:'STB_ASSESS_CON',dataIndex:'STB_ASSESS_CON',width:100,renderer: function(value, meta, record) {                                   if(value=="一票否决项")               {               meta.attr = 'style="white-space:normal;"';               return '<font style="color:red">'+value+'</font>'               }else               {               meta.attr = 'style="white-space:normal;"';         return value;                     }    } },{header:'<div style="text-align:center">考核内容</div>',id:'STB_ASSESS_CRIT_STAND',dataIndex:'STB_ASSESS_CRIT_STAND',width:400,renderer: function(value, meta, record) {      meta.attr = 'style="white-space:normal;"';         return value;          } },{header:'标准分值',id:'STB_ASSESS_CRIT_FRAC',align:'center',width:50,dataIndex:'STB_ASSESS_CRIT_FRAC',summaryType: 'sum',summaryRenderer: function(v, params, data){                    return ((v === 0 || v > 1) ? '总分(' + v +')' : '(1 分)');                }         },               {header:'扣分',id:'STB_ASSESS_SCORE',dataIndex:'STB_ASSESS_SCORE',align:'center',width:50,                editor: new Ext.form.NumberField({                id:'STB_ASSESS_SCORE',                    allowBlank: false,    listeners : {'blur' : function() { score_blur=true;}}                }),<span style="color:#ffff99;">summaryType: 'sum',summaryRenderer: function(v, params, record){                    return ((v === 0 || v > 1) ? '<font style="color:red">扣分(' + v +')</font>'  : '(1 分)');                },</span>renderer : function(value, cellmeta, record, rowIndex)  { if(score_blur){ if(record.data.STB_ASSESS_CON=="一票否决项")  {   var count=Ext.getCmp('grid_id').getStore().getCount();for(var i=0;i<count;i++){Ext.getCmp('grid_id').getStore().getAt(i).set("STB_ASSESS_DEFEN",0);Ext.getCmp('grid_id').getStore().getAt(1).set("STB_ASSESS_DEFEN",0);}   record.data.STB_ASSESS_DEFEN=0; }else  {     record.data.STB_ASSESS_DEFEN=record.get('STB_ASSESS_CRIT_FRAC')-value     score_blur=false;  } }return value;}},        {header:'得分',id:'STB_ASSESS_DEFEN',align:'center',width:50,dataIndex:'STB_ASSESS_DEFEN',summaryType: 'sum',summaryRenderer: function(v, params, record){if(record.data.F_STATE==2){zhpj=v*0.2;}else{qzdf=v*0.4;} Ext.getCmp('U_NM1').setValue(Math.round((qzdf+zhpj)*1000)/1000)                    return ((v === 0 || v > 1) ? '得分(' + v +')' : '(1 分)');                }         },        {header:'扣分原因',id:'STB_ASSESS_REASON',dataIndex:'STB_ASSESS_REASON',align:'center',width:250,                editor: new Ext.form.TextArea({                id:'STB_ASSESS_REASON',                   allowBlank: false                }),renderer: function(value, meta, record) {      meta.attr = 'style="white-space:normal;"';         return value;          } }])var u_nm_text=new TEXTFIELD('U_NM','',100,true,false,data.U_NM); var u_nm_text1= new Ext.form.TextField({id:"U_NM1",fieldLabel:"",readOnly : true ,width:90})var save=new Ext.Action({text : '保存',id : 'save',handler : function() {save_data(data.STB_ROLE_PASSIVE_ID);},iconCls : 'save'})var grid=new Ext.grid.EditorGridPanel({ id:'grid_id',border:true,frame:false,store:store,cm:cm,        view: new Ext.grid.GroupingView({            forceFit: true,            showGroupName: false,            enableNoGroups: false,enableGroupingMenu: false,            hideGroupedColumn: true        }),           plugins: summary,tbar:['被考核人姓名:',u_nm_text,'-',save]//    ,'->','总得分:',u_nm_text1]})var tabTitle="人员考核";addMCPanel = new Ext.Panel({id:"paneladd",title : tabTitle,iconCls: 'tabs',tabWidth: 385,closable:true,layout : "fit",frame:true,border:false,items:[grid]});tabs.add(addMCPanel);tabs.setActiveTab(addMCPanel);function save_data(id){var rows="";var STB_ASSESS_USER_ID=id;var U_ID=userid;for(var i=0;i<store.data.length;i++){var STB_ASSESS_CRIT_ID=store.getAt(i).get('STB_ASSESS_CRIT_ID');var STB_ASSESS_CON=store.getAt(i).get('STB_ASSESS_CON');var STB_ASSESS_CRIT_FRAC=store.getAt(i).get('STB_ASSESS_CRIT_FRAC');var STB_ASSESS_DEFEN=store.getAt(i).get('STB_ASSESS_DEFEN');var STB_ASSESS_REASON=store.getAt(i).get('STB_ASSESS_REASON'); if(STB_ASSESS_DEFEN>STB_ASSESS_CRIT_FRAC){Ext.Msg.show({title : '提示',msg : STB_ASSESS_CON+'评分不能超过标准分!',buttons : Ext.Msg.OK,icon : Ext.MessageBox.INFO});return;}rows+=STB_ASSESS_CRIT_ID+"_"+STB_ASSESS_DEFEN+"_"+encodeURIComponent(encodeURIComponent(STB_ASSESS_REASON))+"\|";} var obj=new Object();obj.STB_ASSESS_USER_ID=STB_ASSESS_USER_ID;obj.STB_YEAR_VALUE=year;obj.STB_QM_VALUE=qm;obj.STB_DATESTATE=tid;obj.U_ID=U_ID;obj.ROWS=rows;  var param_0=Ext.util.JSON.encode(obj);var saveUrl=basePath+'/SystemListener?className=cn.com.perfor.emplAssess.service.EmplAssessService&methodName=save_data¶mCount=1¶m_0='+param_0;Ext.Ajax.request({url:saveUrl,success:function(response,result){var data = response.responseText;if(data=="1"){Ext.Msg.show({title : '提示',msg : '保存成功!',buttons : Ext.Msg.OK,icon : Ext.MessageBox.INFO});tabs.items.each(function(item) {if (item.closable ){tabs.remove(item);}});var year=Ext.getCmp('year_combo').getValue();var qm=Ext.getCmp('quarterOrMonth_combo').getValue();assess_gridURL=path+'jsp/perfor/emplAssess/empl_assess/data/assess_data.jsp?user_id='+userid+'&role_id='+roleid+'&tid='+tid+'&year='+year+'&qm='+qm;updateGRID('assess_grid_id',assess_gridURL);}else{Ext.Msg.show({title : '提示',msg : '保存失败!',buttons : Ext.Msg.OK,icon : Ext.MessageBox.ERROR});}}})}}

0 0