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 -- ...
随机推荐
- linux的学习系列 4---文件权限和访问模式
为了更加安全的存储文件,Linux为不同的文件赋予了不同的权限,每个文件都拥有下面三种权限: 所有者权限:文件所有者能够进行的操作 组权限:文件所属用户组能够进行的操作 外部权限(其他权限):其他用户 ...
- OC 消息机制本质
转载自:http://m.blog.csdn.net/blog/util_c/10287909 在Objective-C中,message与方法的真正实现是在执行阶段绑定的,而非编译阶段.编译器会将消 ...
- AppCompatActivity工具栏的设置(返回操作)
<android.support.v7.widget.Toolbar android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionB ...
- 简易控制中心,angular的简单使用
<html> <head> <meta charset='utf-8'> <script src="js/angular.js">& ...
- A SPI class of type org.apache.lucene.codecs.PostingsFormat with name 'Lucene40' does not exist.
简单的建立索引和查询索引并不难,关键在于他的二次开发,让他适合你自己的需求 既然要二次开发就必须查看源码 首先看看索引过程中的核心类吧: IndexWriter 这个是核心组件, 建立和打开索引,以及 ...
- hdu 3345 War Chess
War Chess Time Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Sub ...
- UVA - 1347 Tour(DP + 双调旅行商问题)
题意:给出按照x坐标排序的n个点,让我们求出从最左端点到最右短点然后再回来,并且经过所有点且只经过一次的最短路径. 分析:这个题目刘汝佳的算法书上也有详解(就在基础dp那一段),具体思路如下:按照题目 ...
- cocos2d-x 3.x 触摸事件
HelloWorldScene.h bool touchBegan(cocos2d::Touch*touch, cocos2d::Event*event);//触摸开始,返回bool类型 void t ...
- 困扰你的private static final long serialVersionUID
很多时候一个新手在写代码的时候,往往你的IDE就会告诉你一个警告 然后你点击处理这个警告之后,它就会默认给你的类生成一个 private static final long serialVersion ...
- js List<Map> 将偏平化的数组转为树状结构并排序
数据格式: [ { "id":"d3e8a9d6-e4c6-4dd8-a94f-07733d3c1b59", "parentId":&quo ...