`

ExtJs含高级查询的Window

 
阅读更多
Ext.ns("CompositeTestGradeCollectView");
var expMode = 0;// 导出模式 0用模糊搜索条件 1用高级查询条件
CompositeTestGradeCollectView = Ext.extend(Ext.Viewport, {
			searchPanel : null,
			advSearchPanel : null,
			gridPanel : null,
			store : null,
			topbar : null,
			constructor : function(a) {
				Ext.applyIf(this, a);
				this.initUIComponents();
				CompositeTestGradeCollectView.superclass.constructor.call(this, {
							id : "CompositeTestGradeCollectView", 
							title : "",
							iconCls : "menu-employee",
							layout : "border",
							items : [this.searchPanel, this.gridPanel]
						});
			},
			initUIComponents : function() {
				this.advSearchPanel = new Ext.Window({
							id : "CompositeTestGradeCollectSearchWin",
							title : '高级查询',
							width : 300,
							autoHeight : true,
							closeAction : 'hide',
							listeners : {
								show : function(w) {// 添加淡出效果
									w.getEl().fadeIn({
												endOpacity : 1,
												easing : 'easeOut',
												duration : .4
											})
								}
							},
							items : new Ext.FormPanel({
										id : 'AdvanceSearchForm',
										layout : 'form',
										items : [{
													xtype : "numberfield",
													fieldLabel : '年度',
													name : "filter_LIKES_label"
												}, {
													xtype : "textfield",
													fieldLabel : '合格分数线',
													name : "filter_LIKES_satisfactoryGrade"
												},{
													xtype : "datefield",
													fieldLabel : '首考日期',
													format : 'Y-m-d',
													width : 128,
													name : "filter_LIKES_skDate1"
												},{
													xtype : "datefield",
													fieldLabel : '补考1日期',
													format : 'Y-m-d',
													width : 128,
													name : "filter_LIKES_bkDate1"
												},{
													xtype : "datefield",
													fieldLabel : '补考2日期',
													format : 'Y-m-d',
													width : 128,
													name : "filter_LIKES_bkDate2"
												}],
										buttons : [{
													xtype : "button",
													split : true,
													text : "查询",
													iconCls : "btn-search",
													handler : function() {
														expMode = 1;
														var c = Ext.getCmp("AdvanceSearchForm");
														var d = Ext.getCmp("TrainingRecGrid");
														if (c.getForm().isValid()) {
															$search({
																		searchPanel : c,
																		gridPanel : d
																	});
														}
													}
												}, {
													xtype : "button",
													split : true,
													text : "重置",
													iconCls : "btn-reset",
													handler : function() {
														var c = Ext.getCmp("AdvanceSearchForm");
														c.getForm().reset();
													}
												}, {
													xtype : "button",
													split : true,
													text : "导出",
													iconCls : "btn-xls",
													handler : function() {
														var c = Ext.getCmp("AdvanceSearchForm");
														var d = Ext.getCmp("TrainingRecGrid");
														var expnum = Ext.getCmp("expnum");
														if (c.getForm().isValid() && expnum.isValid()) {
															$export({
																		expnum : expnum.getValue(),
																		searchPanel : c,
																		gridPanel : d,
																		url : _ctxPath + "exam/composite-test-grade!exportXLS.action"
																	});
														}
													}
												}]
									})

						});
				this.searchPanel = new Ext.FormPanel({
							height : 35,
							region : "north",
							frame : false,
							layoutConfig : {
								padding : "5",
								align : "middle"
							},
							id : "AdvanceSearchForm",
							layout : "hbox",
							defaults : {
								xtype : "label",
								border : false,
								margins : {
									top : 2,
									right : 4,
									bottom : 2,
									left : 4
								}
							},
							items : [{
										xtype : "textfield",
										emptyText : '请输入年度或首考日期',
										name : "filter_LIKES_nDyear_OR_skDate1",
										cls : 'sech_pane',
										width: 160
									}, {
										xtype : "splitbutton",
										split : true,
										text : "查询",
										iconCls : "btn-search",
										arrowTooltip : '高级查询',
										handler : function() {
											var c = Ext.getCmp("AdvanceSearchForm");
											var d = Ext.getCmp("CompositeTestGradeCollectGrid");
											if (c.getForm().isValid()) {
												$search({
															searchPanel : c,
															gridPanel : d
														});
											}
										},
										arrowHandler : function(b, e) {
											var win = Ext.getCmp("CompositeTestItemSearchWin");
											win.setPagePosition(e.xy[0], e.xy[1] + 15);// 设置窗口显示的位置为当前按钮出位置
											if (!win.isVisible()) {
												win.show();
											} else {
												win.hide();
											}

										}
									}]
						});

				this.store = new Ext.data.Store({
							proxy : new Ext.data.HttpProxy({
										url : __ctxPath + "exam/composite-test-grade-collect!list.action?op=ajax"
									}),
							reader : new Ext.data.JsonReader({
										//root : "result",
										totalProperty : "totalCount",
										id : "id",
										fields : [{
													name : "id",
													type : "int"
												}, "ndyear","label","policeName","sex","birth","police_no","deptName","kcOrder","khDate","unit","score","grade","passed"]
									}),
							remoteSort : true
						});
				this.store.setDefaultSort("id", "ASC");
				this.store.load({
							params : {
								start : 0,
								limit : 25
							}
						});
				var b = new Ext.grid.CheckboxSelectionModel();
				var a = new Ext.grid.ColumnModel({
							columns : [b, new Ext.grid.RowNumberer(), {
										header : "体能技能达标测试成绩汇总id",
										dataIndex : "id",
										hidden : true
									}, 										
									{
										header : "年度",
										dataIndex : "ndyear",
										width : 100
									}, {
										header : "测试项目名称",
										dataIndex : "label",
										width : 150,
										renderer : function(v) {
											if(v == 'null') {
												return '';
											}else {
												return v;
											}
										}
									},{
										header : "参加测试人",
										dataIndex : "policeName",
										width : 100
									},{
										header : "性别",
										dataIndex : "sex",
										width : 50,
										renderer : function(v) {
											if(v != 'null') {
												if(v == '0') {
													return '男';
												}else if(v == '1') {
												    return '女';
												}
											}else {
												return '';
											}
										}
									},{
										header : "年龄",
										dataIndex : "birth",
										width : 50,
										renderer : function(v) {
											if(v != null) {
												 return parseInt(new Date().format('Y').toString()) - parseInt(v.substr(0, 4));
											}else {
												return '';
											}
										}
									}, {
										header : "警号",
										dataIndex : "police_no",
										width : 150
									}, {
										header : "所在单位",
										dataIndex : "deptName",
										width : 180
									}, {
										header : "考次",
										dataIndex : "kcOrder",
										width : 50,
										renderer : function(v) {
											if(v == '0') {
												return '首考';
											}else if(v == '1') {
												return '补考1';
											}else if(v == '2') {
												return '补考2';											
											}
										}
									},{
										header : "考核日期",
										dataIndex : "khDate",
										width : 80
									},{
										header : "计分单位",
										dataIndex : "unit",
										width : 80,
										renderer : function(v) {
											if(v == 'null') {
												return '';
											}else {
												return v;
											}
										}
									},{
										header : "计分",
										dataIndex : "score",
										width : 50,
										renderer : function(v) {
											if(v == 'null') {
												return '';
											}else {
												return v;
											}
										}
									},{
										header : "换算分值",
										dataIndex : "grade",
										width : 80,
										renderer : function(v) {
											if(v == 'null') {
												return '';
											}else {
												return v;
											}
										}
									},{
										header : "是否合格",
										dataIndex : "passed",
										width : 80,
										renderer : function(v) {
											if(v != 'null') {
												if(v == '0') {
													return '不合格';
												}else if(v == '1') {
													return '合格';
												}
											}
										} 
									},{
										header : "总分",
										dataIndex : "",
										width : 200
									},{
										header : "最终结果",
										dataIndex : "",
										width : 200
									}
									],
							defaults : {
								sortable : true,
								menuDisabled : false,
								width : 100
							}
						});

				this.gridPanel = new Ext.grid.EditorGridPanel({
							id : "CompositeTestItemGrid",
							region : "center",
							title : "",
							tbar : this.topbar(),
							store : this.store,
							trackMouseOver : true,
							disableSelection : false,
							loadMask : true,
							cm : a,
							sm : b,
							viewConfig : {
								forceFit : false,
								enableRowBody : false,
								showPreview : false
							},
							bbar : new HT.PagingBar({
										id : 'pagebar',
										store : this.store
									})
						});
			}
		});

CompositeTestGradeCollectView.prototype.topbar = function() {
	var a = new Ext.Toolbar({
				id : "CompositeTestItemFootBar",
				height : 30,
				bodyStyle : "text-align:left",
				items : []
			});
	if (isGranted("_CompositeTestItemExp")) {
		a.add(new Ext.Button({
					iconCls : "btn-xls",
					text : "导出excel",
					handler : function() {
						if (expMode == 0) {
							var c = Ext.getCmp("CompositeTestItemForm");
						} else {
							var c = Ext.getCmp("CompositeTestItemForm");

						}
						var d = Ext.getCmp("TrainingRecGrid");
						var expnum = Ext.getCmp("expnum");
						if (c.getForm().isValid() && expnum.isValid()) {
							$export({
										expnum : expnum.getValue(),
										searchPanel : c,
										gridPanel : d,
										url : _ctxPath + "exam/composite-test-item!exportXLS.action"
									});
						}
					}
				}));
		a.add({
					xtype : 'tbtext',
					text : "条数"
				}, {
					xtype : "numberfield",
					id : 'expnum',
					name : "expnum",
					value : 100,
					width : 35
				});
	}
	return a;
};
CompositeTestGradeCollectView.remove = function(b) {
	var b = [b];
	var a = Ext.getCmp("CompositeTestItemGrid");
	Ext.Msg.confirm("信息确认", "您确认要删除该记录吗?", function(c) {
				if (c == "yes") {
					Ext.Ajax.request({
								url : __ctxPath + "exam/composite-test-item!delete.action",
								params : {
									op : 'ajax',
									ids : b.join()
								},
								method : "post",
								success : function(response, options) {
									var res = Ext.util.JSON.decode(response.responseText);
									if (res.success) {
										Ext.Msg.alert('操作信息', res.message);
										a.getStore().reload();
									} else {
										Ext.Msg.alert('操作信息', '删除失败' + res.message);
									}
								},
								failure : function(response, options) {
									Ext.Msg.alert('操作信息', res.message);
								}
							});
				}
			});
};
CompositeTestGradeCollectView.edit = function(a) {
	new AbilityTestItemForm({
				trainingRecId : a
			}).show();
};
CompositeTestGradeCollectView.Skan = function(a) {
	new AbilityTestItemForm({
				compositeTestItemId : a,
				compositeTestItemSkanFlag: 1
			}).show();
}

 

分享到:
评论

相关推荐

    Extjs使用Window最小化窗口

    EXTJS 是一款强大的JavaScript前端框架,用于构建富客户端应用程序。它的Window组件是创建弹出式窗口...通过自定义事件处理和状态管理,我们可以为EXTJS应用添加这样的高级交互功能,提高用户界面的可用性和可操作性。

    extjs3.0API查询文档

    API查询文档是开发ExtJS应用时的重要参考资料,帮助开发者理解并使用其各种功能和组件。 该压缩包中的"Ext+3.0+API+文档.chm"是一个帮助文件,通常用于存储详细的API参考,便于开发者快速查找和学习ExtJS 3.0框架的...

    EXTJS DeskTop权限管理

    EXTJS桌面权限管理是Web应用开发中的一种高级功能,它主要应用于企业级系统,用于实现用户界面的个性化和安全控制。EXTJS是一个强大的JavaScript库,专门用于构建富客户端的Web应用,提供了丰富的组件和交互效果。在...

    extJs2.0 中文手册

    ExtJs2.0提供了丰富的一系列UI组件,例如面板(Panel)、窗口(Window)、表单(Form)、网格(Grid)等。这些组件是构建现代Web界面不可或缺的元素。中文手册中会详细说明如何创建和使用这些组件,以及它们的配置...

    ExtJS 3.4 源码包

    - **组件模型**:ExtJS基于组件化设计,每个UI元素都是一个可复用的组件,如窗口(Window)、表格(Grid)、表单(Form)等。 - **布局管理**:ExtJS提供多种布局方式,如Fit布局、Border布局、Table布局等,使得...

    ExtJs API 3.1.1 3.3.1 2.X

    本压缩包包含的是不同版本的ExtJs API文档,分别是3.1.1、3.3.1和2.X版本。 3.1.1版本的API是英文版,它涵盖了ExtJs的核心功能和组件,包括布局管理、表单元素、数据绑定、事件处理、菜单和工具提示等。在这一版本...

    extjs3.0开发包含示例api

    这个开发包包含了EXTJS 3.0的核心API、示例代码和源文件,是学习和开发EXTJS应用程序的重要资源。 一、EXTJS 3.0 API EXTJS 3.0的API是其核心组成部分,提供了大量的可重用组件,如表格、面板、窗口、菜单、按钮等...

    基础到实战ExtJs全程精通培

    课程大纲覆盖了ExtJS的基础组件和功能,包括信息提示框、面板(Panel)、工具栏、菜单栏、窗口(Window)等。此外,还详细讲解了布局方式,如ViewPort和TabPanel,以及FormPanel、TreePanel、GridPanel等关键组件的...

    ExtJs4.0 手册中文版

    这份文档可能会帮助开发者更好地理解和应用ExtJS 4.0中的高级特性。 《ExtJS入门教程(超级详细).pdf》则是一个适合初学者的资源,它以详细的方式引导读者从零开始学习ExtJS。教程可能包括安装环境、创建第一个应用...

    EXTJS实用开发指南_个人整理笔记.pdf

    本文档将从EXTJS的基本使用到高级应用进行讲解,涵盖EXTJS的核心概念、控件、工具和实践经验。 一、EXTJS基础知识 EXTJS是基于JavaScript的框架,用于构建RIA应用程序。它提供了一个灵活的架构,能够快速构建复杂...

    extjs2.1库文件

    1. **组件系统**:ExtJS的核心在于其强大的组件化体系,它包含了一系列可复用的UI组件,如表格(Grid)、面板(Panel)、窗口(Window)、按钮(Button)等。这些组件具有丰富的功能和自定义选项,可以组合成复杂的...

    Extjs3.0 cookbook

    通过EXTJS 3.0 Cookbook,读者可以深入了解EXTJS的各个方面,从基础到高级,从简单示例到复杂应用,逐步提升EXTJS开发技能。这本书不仅涵盖了EXTJS的基本用法,还探讨了如何在实际项目中应用EXTJS,以解决各种前端...

    ExtJs教程_完整版

    尽管YUI提供了一套基础的用户界面工具,但它缺乏高级功能和组件的支持。相比之下,ExtJS提供了更加完善的API和更真实的控件集,这使得开发者可以构建出类似桌面应用程序的Web应用。 **1.3 版本演变** - **1.x 到 2...

    Extjs3.0中文文档大全

    6. **Ajax和JSON**:ExtJS 3.0内置了对Ajax的高级支持,包括XMLHttpRequest对象的封装和JSON数据的处理。开发者可以学习如何发送异步请求和处理服务器响应。 7. **主题和皮肤**:ExtJS 3.0提供了多种预定义的主题,...

    MyEclipse安装ExtJS插件–Spket IDE

    ### MyEclipse安装ExtJS插件–Spket IDE ...- 关于Spket IDE的更多高级用法,可以通过官方社区论坛获取更多信息和支持。 - 为了进一步提高开发效率,还可以考虑结合其他插件或工具,如Git版本控制、SVN等。

    EXTJS 3[1].0 API中文文档

    EXTJS 是一款强大的JavaScript前端框架,专用于构建富互联网应用程序(RIA...同时,随着EXTJS版本的不断迭代更新,开发者还可以根据需要,扩展到更高级的EXTJS版本,如EXTJS 4、5、6等,进一步提升开发效率和应用性能。

    轻松搞定Extjs

    《轻松搞定Extjs》是一本旨在帮助读者快速掌握Extjs框架基础知识及其高级应用的教程书籍。本书通过详尽的内容安排,从预备知识到具体实践案例,全方位地介绍了Extjs的核心特性与开发技巧。 #### 准备与资源 在开始...

    extjs 2.2

    5. **表单组件**:ExtJS提供了丰富的表单组件,如文本框、下拉框、复选框、单选按钮等,以及高级组件如日期选择器、颜色选择器等,方便构建各种类型的表单。 6. **窗口系统**(Window):2.2版本的窗口组件支持拖放...

Global site tag (gtag.js) - Google Analytics