Demo entry 6338147

11

   

Submitted by anonymous on Dec 10, 2016 at 15:01
Language: JavaScript. Code size: 11.6 kB.

/**
 * 个人成绩信息
 * 
 * @author wujunzhou
 * @since 2016-11-20
 */

Ext.onReady(function() {
	var classidall = parent.classid;
			

			// 自动页号
			var rownum = new Ext.grid.RowNumberer({
						header : '序',
						width : 40
					});

			// 复选模型
			var sm = new Ext.grid.CheckboxSelectionModel();

			// { 列 模 型
			var cm = new Ext.grid.ColumnModel([rownum, sm, {
						header : '试卷ID',
						dataIndex : 'paperid',
						hidden : true,
						sortable : true
					}, {
						header : '学员ID',
						dataIndex : 'userid',
						hidden : true,
						width : 240,
						sortable : true
					}, {
						header : '试卷名称',
						dataIndex : 'papername',
						// hidden : true,
						width : 240,
						sortable : true
					}, {
						header : '学员名称',
						dataIndex : 'username',
						//hidden : true,
						width : 80,
						renderer : STATUSRender,
						sortable : true
					}, {
						header : '答题时间',
						dataIndex : 'paperminute',
						width : 120,
						align : 'center',
					    renderer : PAPERMINUTERender,
						//renderer : SEXRender,
						sortable : true
					}, {
						header : '客观分数',
						dataIndex : 'score1',
						//hidden : true,
						align : 'center',
						width : 70,
						renderer: function(value) {
								if (value == null){
									return "";
								}else{
									return value + '分';
								}
						},
						sortable : true
					}, {
						header : '主观分数',
						dataIndex : 'score2',
						//hidden : true,
						align : 'center',
						width : 70,
						renderer: function(value) {
								if (value == null){
									return "";
								}else{
									return value + '分';
								}
						},
						sortable : true
					}, {
						header : '试卷总分',
						//dataIndex : 'score1',
						dataIndex : 'paperscore',
						//hidden : true,
						align : 'center',
						width : 70,
						renderer: function(value) {
								if (value == null){
									return "";
								}else{
									return value + '分';
								}
						},
						sortable : true
					},{
						header : '备注',
						dataIndex : 'description',
						// hidden: false,
						width : 200,
						sortable : true					
					}
					
					]);// }*/

			// 数据存储
			var store = new Ext.data.GroupingStore({
						// 获取数据的方式
						proxy : new Ext.data.HttpProxy({
									url : 'myscore.do?code=queryGradepaper4Manage'
								}),
						// 数据读取器
						reader : new Ext.data.JsonReader({
									totalProperty : 'TOTALCOUNT', // 记录总数
									root : 'ROOT' // Json中的列表数据根节点
								}, [{
											name : 'paperid' // Json中的属性Key值
										}, {
											name : 'userid'
										}, {
											name : 'username'
										}, {
											name : 'papername'
										}, {
											name : 'paperminute'
										}, {
											name : 'score1'
										}, {
											name : 'score2'
										}, {
											name : 'paperscore'
										}, {
											name : 'description'		
										}, {
											name : 'scorestatus'		
										}, {
											name : 'editexcel'		
										}])
					});

			// 翻页查询
			store.on('beforeload', function() {
						this.baseParams = {
							keyword : Ext.getCmp('inputname').getValue()
						};
					});

			// 每页条数
			var pagesize_combo = new Ext.form.ComboBox({
						name : 'pagesize',
						triggerAction : 'all',
						mode : 'local',
						store : new Ext.data.ArrayStore({
									fields : ['value', 'text'],
									data : [[10, '10 条/页'], [20, '20 条/页'], [50, '50 条/页'], [100, '100条/页'], [250, '250条/页'], [500, '500条/页']]
								}),
						valueField : 'value',
						displayField : 'text',
						value : '100',
						editable : false,
						width : 85
					});

			// 每页条数
			var number = parseInt(pagesize_combo.getValue());
			pagesize_combo.on("select", function(comboBox) {
						bbar.pageSize = parseInt(comboBox.getValue());
						number = parseInt(comboBox.getValue());
						store.reload({
									params : {
										start : 0,
										limit : bbar.pageSize
									}
								});
					});

			// 分页工具
			var bbar = new Ext.PagingToolbar({
						pageSize : number,
						store : store,
						displayInfo : true,
						displayMsg : '显示第 {0} 条到第 {1} 条,共 {2} 条',
						plugins : new Ext.ux.ProgressBarPager(), // 分页进度条
						emptyMsg : "对不起,没有符合条件的记录!",
						items : ['-', '  ', pagesize_combo]
					});
					
// 请在考试截止日期内选择所要参加的考试科目,点击“进入考试”,在规定时间内完成试题并提交答卷。请考生务必注意,考过的试卷不能重复刷分。
			// 表格工具
			var tbar = new Ext.Toolbar({
						items : ['->', {
									xtype : 'textfield',
									id : 'inputname',
									name : 'inputname',
									emptyText : '试卷名称',
									width : 150,
									enableKeyEvents : true,
									// 响应回车键
									listeners : {
										specialkey : function(field, e) {
											if (e.getKey() == Ext.EventObject.ENTER) {
												queryInfo();
											}
										}
									}
								}, {
									text : '查询',
									iconCls : 'page_findIcon',
									id : 'paper_query',
									handler : function() {
										queryInfo();
									}
								}, {
									text : '刷新',
									iconCls : 'page_refreshIcon',
									id : 'paper_refresh',
									handler : function() {
										store.reload();
									}
								}]
					});

			// 表格实例
			var grid = new Ext.grid.GridPanel({
						// 表格面板标题,默认为粗体,我不喜欢粗体,这里设置样式将其格式为正常字体
						// title : '<span class="commoncss">表格综合演示六</span>',
						header : false,
						height : 500,
						autoScroll : true,
						frame : true,
						region : 'center', // 和VIEWPORT布局模型对应,充当center区域布局
						store : store, // 数据存储
						stripeRows : true, // 斑马线
						sm : sm,
						cm : cm, // 列模型
						tbar : tbar, // 表格工具栏
						bbar : bbar,// 分页工具栏
						// view : new Ext.ux.grid.LockingGridView(), // 锁定列视图
						// plugins : [summary], // 合计
						viewConfig : { // 不产横向生滚动条, 各列自动扩展自动压缩, 适用于列数比较少的情况
							forceFit : false
						},
						loadMask : {
							msg : '正在加载表格数据,请稍等...'
						},
						// view : new Ext.grid.GroupingView(),
						view : new Ext.ux.grid.BufferedGroupingView(),
						// plugins : [filters],
						stateful : sf,
						stateId : 'grid-paper'
					});

			// 绑定右键
			var infoCell;
			grid.on("cellcontextmenu", function(grid, rowIndex, columnIndex, e) {// cellcontextmenu
						// //rowcontextmenu
						e.preventDefault();
						grid.getSelectionModel().selectRow(rowIndex);

						var record = grid.getStore().getAt(rowIndex); // 获取record
						var fieldName = grid.getColumnModel().getDataIndex(columnIndex);// 当前列的fieldname
						infoCell = record.get(fieldName);// 获取当前单元格数据

						contextmenu.showAt(e.getXY());
					});

			grid.on("contextmenu", function(e) {// cellcontextmenu //rowcontextmenu
						e.preventDefault();
					});

			grid.on("cellclick", function(g, rowIndex, columnIndex, e) {
				var store = g.getStore();
				var record = store.getAt(rowIndex);
				var fieldName = g.getColumnModel().getDataIndex(columnIndex);
			    if (fieldName == 'editexcel'){
					// 试题评分
					testPaper(record);
				}
			});
			
			// 进入评分
			function testPaper(record) {
				
				var selectRoleTab = new Ext.form.FormPanel({
							// title		: '<img src="./resource/image/ext/award_star_silver_3.png" align="top" class="IEPNG"> 选择角色',
							// iconCls: 'user_femaleIcon',
					        autoScroll : true,
							autoLoad	: {
								url		: 'gradepaper.do?code=paperTestWindow',
								scripts	: true,
								text	: parent.PAGE_LOAD_MSG,
								params	: {
									paperid		: record.data.paperid,
									userid:record.data.userid
								}
							}
						});

				var testPaperWindow = new Ext.Window({
							layout			: 'fit',
							width			: 1100,
							id:'testPaperWindow',
							height			: document.body.clientHeight - 100,
							resizable		: true,
							draggable		: true,
							closeAction		: 'close',
							title			: '<span class="commoncss">在线考试</span>',
							iconCls			: 'group_linkIcon',
							modal			: true,
							// pageY : 15,
							// pageX : document.body.clientWidth / 2 - 420 / 2,
							// collapsible : true,
							maximizable		: false,
							animateTarget	: Ext.getBody(),
							// //如果使用autoLoad,建议不要使用动画效果
							buttonAlign		: 'right',
							constrain		: false,
							items			: [selectRoleTab],
							buttons			: [{
										text	: '提交',
										hidden:true,
										// iconCls	: 'deleteIcon',
										handler : function() {
											
											var formData = Ext.getCmp('testDataForm');
					selectRoleTab.form.submit({
								url : 'gradepaper.do?code=submitTestData',
								waitTitle : '提示',
								method : 'POST',
								submitEmptyText : false,
								waitMsg : '正在处理数据,请稍候...',
								success : function(form, action) { // 回调函数有2个参数
									store.reload();
									infoMsg(action.result.msg);
									// Ext.getCmp('paperid').setValue(action.result.paperid);
									addPaper.hide();
								},
								failure : function(form, action) {
									warningMsg('数据更新失败,错误类型: '
											+ action.failureType);
								}
							});
						
						
											
											var form = Ext.getCmp('form');
										}
									}, {
										text	: '关闭',
										iconCls	: 'deleteIcon',
										handler	: function() {
											testPaperWindow.close();
										}
									}],
									listeners : {
										'show' : function(obj) {
											testPaperWindow.setTitle(record.data.papername + ' - 在线考试');
										}
									}
						});
				testPaperWindow.show();
			
				/*showWaitMsg();
				Ext.Ajax.request({
							url		: 'paper.do?code=dynamicLoadPaper',
							success	: function(response) {
								var resultArray = Ext.util.JSON.decode(response.responseText);
								var paper_value = resultArray.msg;
								// TODO 后期处理
								infoMsg(paper_value);
							},
							params	: {
								paperid	: paperid
							}
						});*/
			}
			
			/*
			 * // 绑定右键 grid.on("rowcontextmenu", function(grid, rowIndex, e) { e.preventDefault(); // 拦截默认右键事件 grid.getSelectionModel().selectRow(rowIndex); // 选中当前行 contextmenu.showAt(e.getXY()); });
			 */

			// 默认选中
			bbar.on("change", function() {
						// grid.getSelectionModel().selectFirstRow();
					});

			// 自动查询
			store.load({
						params : {
							start : 0,
							limit : bbar.pageSize
						}
					});

			// 布局模型
			var viewport = new Ext.Viewport({
						layout : 'border',
						items : [grid]
					});

			// 更新信息
			function updateForm() {
				if (!addPaperForm.getForm().isValid()) {
					warningMsg('必填项未填写,或填写格式不正确,请检查窗口红色标示的区域!');
					return;
				}
				addPaperForm.form.submit({
							url : 'paper.do?code=updatePaper',
							waitTitle : '提示',
							method : 'POST',
							submitEmptyText : false,
							waitMsg : '正在处理数据,请稍候...',
							success : function(form, action) { // 回调函数有2个参数
								store.reload();
								infoMsg(action.result.msg);
								// Ext.getCmp('paperid').setValue(action.result.paperid);
								addPaper.hide();
							},
							failure : function(form, action) {
								warningMsg('数据更新失败,错误类型: ' + action.failureType);
							}
						});
			};

			// 查询数据
			function queryInfo() {
				store.load({
							params : {
								start : 0,
								limit : bbar.pageSize,
								keyword : Ext.getCmp('inputname').getValue()
							}
						});
			}


		});

This snippet took 0.02 seconds to highlight.

Back to the Entry List or Home.

Delete this entry (admin only).