tengge1 / extapp Goto Github PK
View Code? Open in Web Editor NEWExtApp是一个基于三层架构,使用NHibernate、API Controller和ExtJs创建的,用于简化政府和企业应用开发的Web应用程序框架。
Home Page: https://tengge1.github.io/ext-app
License: GNU General Public License v3.0
ExtApp是一个基于三层架构,使用NHibernate、API Controller和ExtJs创建的,用于简化政府和企业应用开发的Web应用程序框架。
Home Page: https://tengge1.github.io/ext-app
License: GNU General Public License v3.0
您好, 最近正在学习extjs, 看到您的demo很有代表意义,但是截图和demo演示不一样, 是不是部分代码不是最新的? 谢谢。
为了以后方便开发jsp和php版本,我们不打算将html页面更改为aspx页面。这带来了一个麻烦,html页面无法同步带来所需的数据(例如打开首页菜单无法立刻加载出来),往往需要借助Ajax再请求一次服务器,这使得用户体验非常不好。
我们想了一个办法,将数据库菜单、字典、配置等常用数据写入一个js文件,html将自动加载这个js文件,而不需要再使用Ajax请求后台,可以提高用户体验。
DAL层不应该与业务有关,而且我们发现在BLL层一些跟添加、编辑没关系的方法也需要调用Add和Edit方法,这看起来很难受。我们即将把Add、Edit重命名为Save、Update、SaveOrUpdate方法,跟NHibernate中的方法一致。
按照集成电路的思路,把权限管理系统、工作流系统、办公系统的后台做成dll,提供dll和对应的接口文档。以后只改前台,不改后台。这些dll像cpu一样提供各种基础服务,以后的开发工作只是给这些服务开发一套皮肤。例如:
Common.dll
CommonWorkflow.dll
CommonOA.dll
等。
1、后台所有系统管理的类Core、Personnel、Workflow合并到App文件夹下,消息发送(用于演示用过户选择控件和附件控件的使用)和请销假系统(用于演示工作流的使用)合并到Work文件夹下,因为一个具体的系统可能包含十多个子系统,系统管理占用的文件夹太多太乱了。
2、Web/app包含的目录有点过深,想把子系统目录提前一级。子系统的所需的model和store放到对应子系统下model和store文件夹中,例如:
/app/model:项目通用model
/app/store:项目通用store
/app/personnel/model:人事管理Model
/app/personnel/store:人事管理Store
/app/personnel/user:用户管理
/app/personnel/user/List.js:用户管理列表页面
/app/personnel/user/ListController.js:用户管理列表控制器
/app/personnel/user/Edit.js:用户管理添加编辑页面
/app/personnel/user/EditController.js:用户管理添加编辑控制器
/app/personnel/dept:机构管理
/app/personnel/dept/List.js:机构管理列表页面
/app/personnel/dept/ListController.js:机构管理列表控制器
/app/personnel/dept/Edit.js:机构管理添加编辑页面
/app/personnel/dept/EditController.js:机构管理添加编辑控制器
/app/main/accordion:折叠面板框架
/app/main/desktop:桌面样式框架
/app/main/Login.js:登录页面
我感觉这样比现在的设计要好。
目前版本中,存在一些专门的参数模型(例如UserEditParam),用于将前台数据转换为数据库模型保存数据库。这些参数模型将删除。再未来的版本,我们将在前台使用javascript直接构造数据库所需模型,后台直接保存数据库,而不需要这些中间类。
目前数据提交后台,保存的时候后台可能会返回数据不符合要求的错误,目前我的做法是下面代码,可以考虑增加上
App.post(url, values, function (r) {
var obj = JSON.parse(r);
if (obj.Code == 200) {
view.hide();
Ext.ComponentQuery.query(“dickmzdlist”)[0].controller.refresh();
App.notify('消息', obj.Msg);
} else {
var errors = obj.errors;
Ext.each(errors.errors,function (item) {
form.findField(item.field).markInvalid(item.message);
});
App.alert('消息', obj.Msg);
}
});
无论extjs、mxGraph还是CodeMirror,都是资源,可以跟css和js一样放到resource文件夹。
目前代码中的 index.html 页面,在 packages 目录下的extjs 没有提供,能提供一个吗,如果涉及版权不方便,可以给个文档,怎么配置用,我用下载的 6.2.1的 zip 文件,程序跑不起来,主要是文件和名称和路径和代码里的不一致
为了提升用户体验,避免由于动态引入css文件导致可能出现的布局错乱的问题,从下个版本起,不再支持动态切换折叠面板和桌面样式,不再支持动态皮肤切换。
init: function () {
var view = this.getView();
var store = Ext.create('store.dicbkzdlist');
view.down('gridpanel').setStore(store);// 这里会请求一次
view.down('pagingtoolbar').setStore(store);// 这里会请求一次
store.reload();
view.down('pagingtoolbar').moveFirst();
},
怎么这么久1.6版还没出呀
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.