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
});
}
}
})
}
}
ext表格分组
最新推荐文章于 2016-11-04 16:22:56 发布