10、手把手教你Extjs5(十)自定义模块的设计
从这一节开始我们来设计并完成一个自定义模块。我们先来确定一个独立的模块的所能定义的一些模块信息。以下信息只是我自己在开发过程中想到或用到的,希望有新的想法的或者有建议的跟贴回复。
一个独立模块包含以下信息:
1、模块的基本信息
- 模块ID号:一个数字的ID号,可以根据此ID号的顺序将相同分组的模块放在一块。
- 模块分组:模块分到哪个组里,比如说业务模块1、业务模块2、系统设置、系统管理等。
- 模块标识:系统中唯一的模块的标识,一般这个标识等同于数据库中的表名和java中的java Bean的名字。如合同模块此标识为Agreement,其在数据库中的表名也是这个值,其java Bean名字为Agreement.java。
- 模块名称:能够描述此模块信息的名称。
- 模块简称:如果名称过长,有些地方可以用简称来代替。
- 模块英文名称:万一要制作英文版,可以用英文名称。
- 模块英文简称:可以用作生成编码字段。
- glyph值:模块的图标字符的值。如果设置的话,会用前几节讲到的图标字符来显示在模块前面。
- 模块描述:
- 备注:
2、模块的附加信息
- 主键字段名:这个模块的主键字段。(现在只支持单个主键字段,不支持复合主键字段,复合主键请改为约束)
- 显示标志字段名:可以用于明确描述模块该记录的字段,比如说用记的用户姓名,单位的单位名称,合同的合同名称等。
- 记录标题tpl:对于不能用一个字段明确描述记录的,可以设置几个字段来描述。比如某合同有个年度的付款计划,合同名称无法明确描述记录,必须加上年度才行。
- 编码字段:如合同编码字段,可以在新增的时候对编码字段设置一个默认的生成规则。
- 顺序号字段:对记录顺序敏感的模块设置,设置了此字段,可以在grid中拖动记录来改变此字段的值。
- 日期字段:这个字段主要用于综合查询中,可以在此字段上设置各种年月日的条件。
- 年度字段:
- 月度字段:
- 季度字段:
- 文件字段:此模块如果有文件字段,可以上传文件放到此字段中。
- 编码级次:如果此字段的主键可以有编码级次,则设置,编码类似于财务软件中的科目编码,如级次为2,2,那么编码可以为 00 ,0001,0002,0003,01,0101,0102,0103。编码级次会在后台进行管理,如果没有上级编码,则不允许加入下级编码。
- 默认排序字段:在grid 加载的时候默认的排序
- 联动模块:设置一些模块,在此模块的记录值改变过后,必要的时候,刷新已经打开的联动模块,值其值为最新的。
- 是否有附件:此模块是否有附件。
3、权限信息
- 可用:设置成不可用将会在系统中禁用此模块。
- 可浏览:设置成不可浏览,将禁止此模块显示在菜单里。
- 可增加:
- 可修改:
- 可删除:
- 可权限设置:可以在此模块上加上权限设置,比如说对于承建单位,可以设置权限,使某些人只能查看指定的单位和其子模块的信息。这个是一个重点,会有单独章节来讲解。
- 可excel导入:可以对此模块的数据进行excel的批量导入。
- 可excel修改:可以对此模块的数据导出后excel修改后,再导入。
- 可图表:可以对此模块进行图表分析。
- 可审核:系统里内置的审核功能。
- 可审批:系统里内置的一个简易的审批流程。
权限信息为此模块的可设置的权限,并不是用户的权限,用户的权限要在模块已有的权限上进行设置才有。
以上信息是暂时能想到的关于一个模块中可以设置的信息。在系统的数据库中会有一个模块表,用于存放所有的这些信息,可以在前台修改后直接生效。也就是说你的客户要修改一个模块的名称,要给某个无附件的模块加上附件功能,或是可以显示图表,只要在前台设置一下就可以完成。不用去改后台的代码和服务器上的程序。自定义是这个系统开发的宗旨,能在前台修改的全部在前台修改。
定义好了模块以后,我们需要定义模块中的字段,以及gird列表,form列表等等一系列参数。
10、手把手教你Extjs5(十)自定义模块的设计的更多相关文章
- 手把手教你mysql(十)索引
手把手教你mysql(十)索引 一:索引的引入 索引定义:索引是由数据库表中一列或者多列组合而成,其作用是提高对表中数据的查询速度. 类似于图书的目录,方便快速定位,寻找指定的内容,如一本1000页的 ...
- 跟我extjs5(38--单个模块的设计[6获得模块列表数据])
跟我extjs5(38--单个模块的设计[6获得模块列表数据]) 在程序的前一个表以及,据的执行过程. 在菜单中选择 "系统管理"--"模块分组" ...
- 跟我一起学extjs5(37--单个模块的设计[5取得模块列表数据])
跟我一起学extjs5(37--单个模块的设计[5取得模块列表数据]) 写了几个月,总算有点盼头了,最终要从后台取得数据了.后台的spring mvc 和 service 仅仅能简单的 ...
- 20、手把手教你Extjs5(二十)模块Grid的多列表方案
对于有很多字段的模块在一个grid中显示所有的字段,会显得很臃肿,对于不同的用户其侧重的字段类型也不尽相同,因此就有必要为Grid的列表设计多个方案.在这个自定义系统进行设计的时候,我已经将这部分内容 ...
- 19、手把手教你Extjs5(十九)模块Grid的其他功能的设想
经过对自定义模块和Grid的设计和编码,现在已经能对一个有配置信息的模块来生成界面并进行一些简单的CURD操作.由于这是一个全解释性的前台的架构,因此你想到的任何新主意都可以放到所有的模块中. 比如对 ...
- 11、手把手教你Extjs5(十一)模块界面的总体设计
上一节中设计了一些模块自定义中用到的要素,为了直观起见,这一节先建立一个模块的主界面.看过我 模块管理常规功能自定义系统的设计与实现 博客的人应该会有所了解了.一个模块的主界面是一个Grid,在其上方 ...
- 22、手把手教你Extjs5(二十二)模块Form的自定义的设计[1]
下面开始设计和完成一个简单的Form的自定义过程.先准备数据,在ModuleModel.js中的data属性下面,加入自定义Form的参数定义,下面的代码中定义了一个新的属性tf_formScheme ...
- 24、手把手教你Extjs5(二十四)模块Form的自定义的设计[3]
自定义的Form已经可以运行了,下面改一下配置,把Form里面的FieldSet放在Tab之下.修改一下ModuleModel.js中的data下的tf_FormSchemes下的方案,增加一个属性. ...
- 23、手把手教你Extjs5(二十三)模块Form的自定义的设计[2]
在本节中将要加入各种类型的字段,在加入字段的时候由于可以一行加入多个字段,因此层次结构又多了一层fieldcontainer.form里面的主要层次结构如下: form -- fieldSet -- ...
随机推荐
- jquery 中 $('div','li')
要搞清楚$('div','li') 和 $('div , li') 和 $('div li') 区别$('div','li')是$(子,父),是从父节点里找子,而不是找li外面的div $('div ...
- 介绍两个Android不常用的Drawable:GradientDrawable和 StateListDrawable
//-------------------------------------------------------------------------------------------------- ...
- debug运行可以,release运行报错的原因及修改方法
通常我们开发的程序有2种模式:Debug模式和Release模式在Debug模式下,编译器会记录很多调试信息,也可以加入很多测试代码,方便我们程序员测试,以及出现bug时的分析解决Release模式下 ...
- android apk jarsigner 签名打包
cmd 命令符打包: 规则: jarsigner -verbose -keystore 签名路径 -signedjar 签名后的apk存放路径 未签名的apk 签名文件的别名 项目如我的项目是: ...
- 3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛
3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 243 Solved: 167[S ...
- Zend Optimizer not installed可能原因及解决方法
Zend Optimizer not installed可能原因及解决方法 Optimizer, Zend 在配置php服务器的时候,所有的东西都安装好了,就是浏览一个要求zend的程序的时候,总是提 ...
- Html基础详解之(jquery)之二
on(events,[selector],[data],fn) 在选择元素上绑定一个或多个事件的事件处理函数.on()方法绑定时间处理程序到当前选定的jQuery对象中的元素.在jQuery 1.7中 ...
- cookies和session的优缺点
具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案. Cookie的优缺点: 优点:极高的扩展性和可用性通过良好的编程,控制保存在cookie ...
- scroll、scrollBy和 scrollTo三种方法定位滚动条位置
在默认情况下,页面加载完后默认滚动在最顶端,有些时候我们需要在页面打开后,定位滚动条的位置,比如,横向和纵向滚动条居中,实现页面滚动的方法有三种:scroll.scrollBy和 scrollTo,三 ...
- Linux下find命令用法小结
find是个使用频率比较高的命令.常常用它在系统特定目录下,查找具有某种特征的文件. find命令的格式:find [-path……] -options [-print -exec -ok] path ...