Ext.namespace("XXX.train");
XXX.train.commentShowWin = function(config)
{
Ext.apply(this, config);
// 数据源
this.store = new Ext.data.Store
(
{
url : '../trainComment/get_unfinish_detail?train='+this.uid,
waitMsg : 'Loading',
reader : new Ext.data.JsonReader
(
{
root : 'items',
id : 'id',
totalProperty : "totalCount",
fields :
[
'id',
'train_name',
'employee_name',
'status_name'
]
}
)
}
);
this.store.load();
this.cm = new Ext.grid.ColumnModel
(
[
{header: "培训标题", width: 50, sortable: true, dataIndex: 'train_name'},
{header: "参训人员", width: 50, sortable: true, dataIndex: 'employee_name'},
{header: "反馈状态", width: 25, sortable: true, dataIndex: 'status_name'}
]
);
this.grid = new Ext.grid.GridPanel
(
{
id : Ext.id(),
margins : '2 2 2 2', //为了不要与容器的边框重叠,设定2px的间距。
loadMask : true,
store : this.store,
cm : this.cm,
plugins : [new Ext.ux.plugins.FitToParent()],
stripeRows : true,
width : '100%',
header : false,
layout : "fit",
frame : false,
border : false,
viewConfig : {forceFit: true}
}
);
this.form = newXXX.common.baseForm
(
{
id : this.form_id,
height : 400,
width : 800,
items : [this.grid]
}
);
// 初始构造函数
XXX.train.commentShowWin.superclass.constructor.call
(
this,
{
items : [this.form]
}
);
};
// 继承
Ext.extend
(
XXX.train.commentShowWin,
Ext.Window,
{
width : 800
}
);
Ext.namespace("XXX.train");
XXX.train.totalShowWin = function(config)
{
Ext.apply(this, config);
// 讲师评估图表
this.lector_store_conn = new Ext.data.Connection
({
timeout : 1200000,
url : '../trainComment/get_lector_avg',
method : 'POST'
});
this.lector_store = new Ext.data.Store
(
{
proxy : new Ext.data.HttpProxy(this.lector_store_conn),
waitMsg : 'loading',
reader : new Ext.data.JsonReader
(
{
root : 'items',
fields : ['type', 'count']
}
)
}
);
this.lector_store.baseParams =
{
id : this.uid
};
this.lector_store.load();
this.lector_panel = new Ext.Panel
(
{
title : '讲师评估',
width : 700,
height : 200,
frame : true,
items :
{
store : this.lector_store,
xtype : 'columnchart',
yField : 'count',
xField : 'type',
xAxis : new Ext.chart.CategoryAxis
(
{
title : ''
}
),
yAxis : new Ext.chart.NumericAxis
(
{
title : ''
}
),
extraStyle :
{
xAxis :
{
labelRotation : 0 // 字体倾斜度
}
}
}
}
);
// 课程评估图表
this.content_store_conn = new Ext.data.Connection
({
timeout : 1200000,
url : '../trainComment/get_content_avg',
method : 'POST'
});
this.content_store = new Ext.data.Store
(
{
proxy : new Ext.data.HttpProxy(this.content_store_conn),
waitMsg : 'loading',
reader : new Ext.data.JsonReader
(
{
root : 'items',
fields : ['type', 'count']
}
)
}
);
this.content_store.baseParams =
{
id : this.uid
};
this.content_store.load();
this.content_panel = new Ext.Panel
(
{
title : '课程评估',
width : 700,
height : 200,
frame : true,
items :
{
store : this.content_store,
xtype : 'columnchart',
yField : 'count',
xField : 'type',
xAxis : new Ext.chart.CategoryAxis
(
{
title : ''
}
),
yAxis : new Ext.chart.NumericAxis
(
{
title : ''
}
),
extraStyle :
{
xAxis :
{
labelRotation : 0 // 字体倾斜度
}
}
}
}
);
// 总体平均分
this.score = newXXX.common.DisplayField
({
id : Ext.id(),
labelStyle : 'width:250px;',
fieldLabel : '本次培训的总体评价平均分(满分10分)'
});
Ext.Ajax.request
({
url: '../trainComment/get_score_avg',
success: function(response, options)
{
var result = Ext.util.JSON.decode(response.responseText);
this.score.setValue(result.score);
},
failure: function(response, options)
{
this.score.setValue(0);
},
scope : this,
params: { id : this.uid }
});
this.train_result = new Ext.form.TextArea
({
xtype : 'textarea',
anchor : '95%',
id : Ext.id(),
name : 'train_result',
grow : true,
growMax : 150,
growMin : 50,
fieldLabel : '培训收获'
});
Ext.Ajax.request
({
url: '../trainComment/get_train_result',
success: function(response, options)
{
var result = Ext.util.JSON.decode(response.responseText);
this.train_result.setValue(result.train_result);
},
failure: function(response, options)
{
this.train_result.setValue(0);
},
scope : this,
params: { id : this.uid }
});
this.train_question = new Ext.form.TextArea
({
xtype : 'textarea',
anchor : '95%',
id : Ext.id(),
name : 'train_question',
grow : true,
growMax : 150,
growMin : 50,
fieldLabel : '学员的问题与建议'
});
Ext.Ajax.request
({
url: '../trainComment/get_train_question',
success: function(response, options)
{
var result = Ext.util.JSON.decode(response.responseText);
this.train_question.setValue(result.train_question);
},
failure: function(response, options)
{
this.train_question.setValue(0);
},
scope : this,
params: { id : this.uid }
});
this.form = newXXX.common.baseForm
(
{
id : this.form_id,
labelWidth : 200,
items :
[
this.lector_panel,
this.content_panel,
this.score,
this.train_result,
this.train_question,
],
buttons:
[
{
xtype : 'submitbtn',
text: '提交',
handler: function()
{
if(this.form.getForm().isValid())
{
this.form.getForm().submit
(
{
url : '../trainComment/train_comment',
waitTitle : "消息提示",
waitMsg : '保存数据......',
scope:this,
success : function(temp_form,action)
{
parent.set_text(action.result.msg,action.result.status);
if(action.result.status == 10010)
{
grid.getStore().reload();
this.close();
}
},
failure : function()
{
parent.set_failure_text();
}
}
);
}
},
scope : this
},
{
xtype : 'cancelbtn',
text : '取消',
handler : function()
{
this.close();
},
scope : this
}
]
}
);
XXX.train.totalShowWin.superclass.constructor.call
(
this,
{
items : [this.form]
}
);
};
// 继承
Ext.extend
(
XXX.train.totalShowWin,
Ext.Window,
{
maximized : false,
maximizable : true,
width : 800
}
);