从这一节开始我们来设计并完成一个自定义模块。我们先来确定一个独立的模块的所能定义的一些模块信息。以下信息只是我自己在开发过程中想到或用到的,希望有新的想法的或者有建议的跟贴回复。

一个独立模块包含以下信息:

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(十)自定义模块的设计的更多相关文章

  1. 手把手教你mysql(十)索引

    手把手教你mysql(十)索引 一:索引的引入 索引定义:索引是由数据库表中一列或者多列组合而成,其作用是提高对表中数据的查询速度. 类似于图书的目录,方便快速定位,寻找指定的内容,如一本1000页的 ...

  2. 跟我extjs5(38--单个模块的设计[6获得模块列表数据])

    跟我extjs5(38--单个模块的设计[6获得模块列表数据])         在程序的前一个表以及,据的执行过程. 在菜单中选择 "系统管理"--"模块分组" ...

  3. 跟我一起学extjs5(37--单个模块的设计[5取得模块列表数据])

    跟我一起学extjs5(37--单个模块的设计[5取得模块列表数据])         写了几个月,总算有点盼头了,最终要从后台取得数据了.后台的spring mvc 和 service 仅仅能简单的 ...

  4. 20、手把手教你Extjs5(二十)模块Grid的多列表方案

    对于有很多字段的模块在一个grid中显示所有的字段,会显得很臃肿,对于不同的用户其侧重的字段类型也不尽相同,因此就有必要为Grid的列表设计多个方案.在这个自定义系统进行设计的时候,我已经将这部分内容 ...

  5. 19、手把手教你Extjs5(十九)模块Grid的其他功能的设想

    经过对自定义模块和Grid的设计和编码,现在已经能对一个有配置信息的模块来生成界面并进行一些简单的CURD操作.由于这是一个全解释性的前台的架构,因此你想到的任何新主意都可以放到所有的模块中. 比如对 ...

  6. 11、手把手教你Extjs5(十一)模块界面的总体设计

    上一节中设计了一些模块自定义中用到的要素,为了直观起见,这一节先建立一个模块的主界面.看过我 模块管理常规功能自定义系统的设计与实现 博客的人应该会有所了解了.一个模块的主界面是一个Grid,在其上方 ...

  7. 22、手把手教你Extjs5(二十二)模块Form的自定义的设计[1]

    下面开始设计和完成一个简单的Form的自定义过程.先准备数据,在ModuleModel.js中的data属性下面,加入自定义Form的参数定义,下面的代码中定义了一个新的属性tf_formScheme ...

  8. 24、手把手教你Extjs5(二十四)模块Form的自定义的设计[3]

    自定义的Form已经可以运行了,下面改一下配置,把Form里面的FieldSet放在Tab之下.修改一下ModuleModel.js中的data下的tf_FormSchemes下的方案,增加一个属性. ...

  9. 23、手把手教你Extjs5(二十三)模块Form的自定义的设计[2]

    在本节中将要加入各种类型的字段,在加入字段的时候由于可以一行加入多个字段,因此层次结构又多了一层fieldcontainer.form里面的主要层次结构如下: form -- fieldSet -- ...

随机推荐

  1. JS day01——window对象、执行顺序、线程模型

    1.window对象 window对象表示当前浏览器的窗口,它是一个顶级对象,我们创建的所有对象.函数.变量都是window对象的成员. window对象自带了一些非常有用的方法.属性. window ...

  2. MySQL 常用基础命令

    一.启动与关闭 1.1 Linux下启动mysql 的命令: a. rpm包安装:service mysqld start b. 源码包安装:/usr/local/mysql/bin/mysqld_s ...

  3. asm: Writing Inline Assembly

    A usual IA includes these parts: asm [volatile] ( AssemblerTemplate : OutputOperands [ : InputOperan ...

  4. Android与路由器连接服务

    界面UI: package my.work.Library; import java.util.Timer; import java.util.TimerTask; import java.util. ...

  5. ubuntu apache2 流量限制模块

    mod-bw is an Apache 2 module provided to solve the problem of limiting users’ and virtual hosts’ ban ...

  6. HDU 2444 The Accomodation of Students

    首先是要构造二分图,然后二分图的最大匹配. 还有没完全证明过我的方法的正确性,但是AC了..... #include<cstdio> #include<cstring> #in ...

  7. hdu_5110_Alexandra and COS(DP+分块思想)

    题目连接:hdu_5110_Alexandra and COS 题意: 给你一个图,X代表宝藏,然后有一个船,它的声纳的频率为D,定船到宝藏的距离为Dis=max(abs(x1-x2),abs(y1- ...

  8. Codeforces Round #361 (Div. 2) C.NP-Hard Problem

    题目连接:http://codeforces.com/contest/688/problem/C 题意:给你一些边,问你能否构成一个二分图 题解:二分图:二分图又称作二部图,是图论中的一种特殊模型. ...

  9. 判断iPhone/android手机

    JS判断请求来自Android手机还是iPhone手机,根据不同的手机跳转到不同的链接. var browser = {versions: function () {var u = navigator ...

  10. Nginx反向代理使用【转载】

    最近工作中经常使用nginx,为了能够更好的使用nginx,我搜罗了很多nginx相关的技术文章来读,所以才有了下面以下内容.在此,为文中引用到和参考到的文章提供者表示感谢.如文中相关内容有错误,也欢 ...