001 | /** |
002 | * 添加事件 |
003 | * @param {} saveButton |
004 | * @param {} gridObj |
005 | * @param {} idName |
006 | * @param {} treeObj |
007 | * @param {} url |
008 | * @param {} assistFunc |
009 | * @returns {} |
010 | */ |
011 | function commGridInsertAction(saveButton,gridObj,idName,treeObj,url,assistFunc){ |
012 | if(saveButton != null && saveButton != undefined){ |
013 | if(assistFunc){ |
014 | assistFunc(); |
015 | } |
016 | saveButton.on("click",function(){ |
017 | var sd = gridObj.getStore(); |
018 | conn.request({ |
019 | url : url, |
020 | params : {}, |
021 | success: function(response, opts){//成功操作 |
022 | var obj = Ext.decode(response.responseText)[0]; |
023 | var Plant = gridObj.getStore().recordType; |
024 | var p = new Plant(obj); |
025 | gridObj.stopEditing(); |
026 | sd.insert(0, p); |
027 | gridObj.startEditing(0, 2); |
028 | }, |
029 | failure:function() {//失败操作 |
030 | Ext.Msg.alert("提示", "添加数据失败..."); |
031 | } |
032 | }) |
033 | }); |
034 | } |
035 | } |
036 | /** |
037 | * 删除事件 |
038 | * @param {} deleteButton |
039 | * @param {} gridObj |
040 | * @param {} idName |
041 | * @param {} treeObj |
042 | * @param {} url |
043 | * @param {} assistFunc |
044 | * @returns {} |
045 | */ |
046 | function commGridDeleteAction(deleteButton,gridObj,idName,treeObj,url,params,assistFunc){ |
047 | if(deleteButton != null && deleteButton != undefined){ |
048 | if(assistFunc){ |
049 | assistFunc(); |
050 | } |
051 | deleteButton.on("click",function(b,e){ |
052 | var sd = gridObj.getStore(); |
053 | var rs = gridObj.getSelectionModel().getSelections(); |
054 | var length = rs.length; |
055 | if(length > 0){ |
056 | var ids_data = ""; |
057 | var dis_array = new Array(); |
058 | for (var i = 0; i < length; i++) { |
059 | if(i==0){ |
060 | ids_data = rs[i].get(idName); |
061 | }else{ |
062 | ids_data = ids_data + ","+rs[i].get(idName); |
063 | } |
064 | dis_array.push(rs[i].get(idName)); |
065 | } |
066 | var para = params; |
067 | para[idName] = ids_data; |
068 | conn.request({ |
069 | url: url, |
070 | params : para, |
071 | success: function(response){//成功操作 |
072 | sd.reload(); |
073 | //循环删除gird的垃圾数据 |
074 | for (var i = 0; i < length; i++) { |
075 | sd.remove(rs[i]); |
076 | } |
077 | Ext.example.msg("提醒","您已经成功删除数据"); |
078 | }, |
079 | failure:function() {//失败操作 |
080 | Ext.Msg.alert("提示", "删除数据失败..."); |
081 | } |
082 | }) |
083 | }else{ |
084 | Ext.Msg.alert("提示", "您还没有选择要删除的数据..."); |
085 | } |
086 | }) |
087 | } |
088 | } |
089 | /** |
090 | * 批量更新 |
091 | * @param {} listupdate |
092 | * @param {} gridObj |
093 | * @param {} treeObj |
094 | * @param {} url |
095 | * @param {} assistFunc |
096 | * @param {} canUpdateFields |
097 | * @returns {} |
098 | */ |
099 | functioncommGridListUpdateAction(listupdate,gridObj,treeObj,url,assistFunc,canUpdateFields){ |
100 | if(listupdate != null && listupdate != undefined){ |
101 | if(assistFunc){ |
102 | assistFunc(); |
103 | } |
104 | listupdate.on("click",function(){ |
105 | var sd = gridObj.getStore(); |
106 | var objs = sd.getModifiedRecords(); |
107 | var objData = new Array(); |
108 | var model = null; |
109 | if(objs.length == 0){ |
110 | Ext.example.msg("提醒","没有要保存的数据"); |
111 | return; |
112 | }else{ |
113 | for(var i = 0 ; i<objs.length ;i++){ |
114 | model = {}; |
115 | $.each(canUpdateFields,function(k,v){ |
116 | model[k] = objs[i].get(k); |
117 | }); |
118 | objData.push(model); |
119 | } |
120 | conn.request({ |
121 | url : url, |
122 | params : {strData:JSON.stringify(objData)}, |
123 | success: function(response, opts){//成功操作 |
124 | var i = response.responseText; |
125 | for(var j = 0 ; j<objs.length ;j++){ //去掉修改的红色标记 |
126 | objs[j].commit(); |
127 | j--; |
128 | } |
129 | Ext.example.msg("提醒","您已经成功修改 "+i+" 条数据"); |
130 | }, |
131 | failure:function() {//失败操作 |
132 | Ext.Msg.alert("提示", "保存数据失败..."); |
133 | } |
134 | }) |
135 | } |
136 | }) |
137 | } |
138 | } |
01 | /** |
02 | * 数据字典表格时间注册 |
03 | * @param {} gridObj |
04 | * @param {} idName |
05 | * @param {} treeObj |
06 | * @returns {} |
07 | */ |
08 | function userGridEventMonitor(gridObj,idName,treeObj){ |
09 | /**添加事件*/ |
10 | var saveButton = gridObj.getTopToolbar().findById("save-user"); |
11 | new commGridInsertAction(saveButton,gridObj,idName,treeObj,"/dept/userAction.action?FunctionName=insertUser&checkNodeId="+gridObj.store.baseParams["checkNodeId"]); |
12 | /**删除事件*/ |
13 | var deleteButton = gridObj.getTopToolbar().findById("delete-user"); |
14 | newcommGridDeleteAction(deleteButton,gridObj,idName,treeObj,"/dept/userAction.action?FunctionName=deleteUser&cascadeType=CASCADE", |
15 | {userId:{}},null); |
16 | /**批量更新事件*/ |
17 | var listupdate = gridObj.getTopToolbar().findById("listupdate-user"); |
18 | new commGridListUpdateAction(listupdate,gridObj,treeObj, |
19 | "/dept/userAction.action?FunctionName=listupdate", |
20 | null,{"userId" : null, |
21 | "username" : null, |
22 | "chineseName" : null, |
23 | "password" : null, |
24 | "updateDate" : null, |
25 | "enabled" : null, |
26 | "orderIndex" : null, |
27 | "deptId" : null} |
28 | ); |
29 | /**双击部门的事件*/ |
30 | gridObj.on("celldblclick",function(g,rowIndex,columnIndex,e) { |
31 | var sd = g.getStore(); |
32 | var cm = g.getColumnModel(); |
33 | var id = cm.getDataIndex(columnIndex); |
34 | if("deptId" == id){ |
35 | var deptID = sd.getAt(rowIndex).get("deptId"); |
36 | var tree = new sms.treeDicWin.treeDicWin({width:250,height:500, |
37 | url:"/dept/deptAction.action?FunctionName=loadDept4Tree&showCheckbox=true&deptId=", |
38 | text:"海顿是公司",idName:"userId",DicidName:"deptId",g:g,rowIndex:rowIndex,columnIndex:columnIndex}); |
39 | tree.show(); |
40 | }else if("photosAdd" == id){ |
41 | var dialog = new Ext.ux.UploadDialog.Dialog({ |
42 | url: 'upload.jsp', |
43 | reset_on_hide: false, |
44 | autoCreate: true, |
45 | closable: true, |
46 | allow_close_on_upload: true, |
47 | permitted_extensions: ['JPG','jpg','jpeg','JPEG','GIF','gif'], |
48 | base_params:{className: "com.hd.department.model.user" } |
49 | upload_autostart: false |
50 | }); |
51 | dialog.show(); |
52 | dialog.on("uploadsuccess", function(dialog, filename, resp_data, record){ |
53 |
54 | }); |
55 | } |
56 |
57 |
}); |
相关推荐
ASP.NET + ExtJS + 网站通用后台框架是一个基于微软的ASP.NET技术和Sencha的ExtJS前端框架构建的高效、可复用的网站开发解决方案。这个框架集合了后端的C#编程语言、ASP.NET Web应用程序框架以及SQL数据库管理,为...
《EXTJS+Java+MySQL通用后台管理:构建高效B/S架构应用系统》 EXTJS,全称为Ext JavaScript Library,是一款强大的前端JavaScript框架,专为构建富客户端应用而设计。其强大的组件模型、丰富的UI控件以及对数据绑定...
### 基于SpringBoot+ExtJS的企业应用系统通用平台的设计与实现 #### 一、引言 在当今数字化转型的时代背景下,企业对于信息化管理的需求日益增长,这推动了企业应用系统的快速发展。为了提高开发效率,降低维护...
ExtJS是一种基于JavaScript的富...了解并熟练掌握这些知识点,开发者就能利用ExtJS和Struts2创建出高效、易用的Web应用,实现数据库的CRUD操作。在实际项目中,还需要结合具体的业务需求和数据库设计进行调整和优化。
BaseDaoImpl通常是所有DAO实现类的基类,提供了通用的方法,如添加、删除、更新和查询等。同时,项目还利用了Junit的父类设计,这可能是指编写了一组测试基类,为具体的业务逻辑测试提供便利,通过继承这些基类,...
《通用后台管理系统——基于ExtJS 4.2+Hibernate 4.1.7+Spring MVC 3.2.8的高效框架》 本通用后台管理系统是一款高效、稳定且灵活的开发框架,适用于构建OA、网站、电子政务、ERP、CRM、APP后台等多种B/S架构的应用...
《通用后台管理系统:基于ExtJS 5.1 + Hibernate 4.1.7 + Spring MVC 3.2.8的高效框架》 该系统是一种高度可定制和可扩展的后台管理解决方案,适用于OA(办公自动化)、网站、电子政务、ERP(企业资源规划)、CRM...
`Ext.data.DataProxy`是数据代理的抽象基类,实现了数据代理的通用接口。其中最重要的方法是`doRequest`,用于从不同的数据源读取数据。具体的`Proxy`类包括: - **HttpProxy**:最常见的代理类型,通过HTTP请求从...
这个系统展示了如何使用ExtJS构建一个完整的Web应用,并结合Java后端实现数据的CRUD操作和业务流程控制。通过学习这个项目,开发者可以深入理解前后端交互机制,MVC模式的应用,以及如何在实际项目中组织和管理代码...
5. **Struts2拦截器**:Struts2的拦截器可以实现通用功能,如权限验证、日志记录等,提高代码复用性。在处理Json请求时,可能需要自定义拦截器以处理特定逻辑。 6. **Hibernate实体和映射**:在实体类上使用...
3、ExtJs数据篇:主要介绍和数据库交互的相关组件及CRUD功能 4、项目实战篇: Extjs3.2+ASP.NET七层架构+设计模式+ log4j+WebSerice等技术国讯教育通用智能OA办公平台 适用对象 1、要求有一定的javascript语言和...
在图书管理系统中,Spring可以用来管理各个组件的生命周期,实现各服务间的解耦,并通过AOP实现如日志记录、事务管理等通用功能。 2. Struts框架:Struts是MVC(Model-View-Controller)设计模式的实现,主要用于...
Struts2提供了丰富的拦截器(Interceptor)机制,可以实现如权限控制、日志记录等通用功能,且与Spring的整合使得依赖注入更加便捷。 **Spring4** 是一个全面的企业级应用开发框架,支持AOP(面向切面编程)、DI...
- 使用的技术栈:SSH(Struts2、Hibernate、Spring),Jquery,CRUD1,JBPM工作流,dom4j。 - 开发环境:MyEclipse 6.0,Tomcat 6.0,Oracle 10g。 - 项目描述:该系统基于SSH框架,管理公司的人力资源,提升效率...
- **通用功能**:内置了诸如用户管理、权限控制、多语言支持等功能模块,可以满足大多数企业级应用的基本需求。 - **设计理念**:遵循简约实用和约定优于配置的设计原则,力求减少不必要的配置步骤,简化开发流程,...