- 博客(172)
- 资源 (3)
- 收藏
- 关注
原创 常规功能和模块自定义系统—062快速架构(quickbuild)开源版发布
常规功能和模块自定义系统—062快速架构开源版发布 经过一段时间的开发和整理,制作了一个前后台完全开源的快速架构系统,里面具备了整个系统的大部分功能,可以用来架构业务系统或管理系统。在网站上也在更新培训教程。 系统开发用到的环境或内容:eclipse、maven、svn、mysql、tomcat。 开源版系统下载和视频培训教程网址:www.jhopesoft.co
2017-06-16 09:35:54 1944
原创 常规功能和模块自定义系统—061商业智能(BI)的视频及演示地址
061商业智能(BI)的视频及演示地址 经过几个月的开发,自定义系统的商业智能统计分析有了一个基本的框架,现录了一个演示视频和发布了一个演示版,可以自己上去操作所有已有的功能。 视频演示:https://pan.baidu.com/s/1minyfuo 演示地址:http://121.43.170.226:8080/cfcmms 用户名和密码都是:admin
2017-04-08 11:44:40 1589
原创 常规功能和模块自定义系统—060商业智能(BI)功能的初步3
常规功能和模块自定义系统—060商业智能(BI)功能的初步3 这一节来展示一下列向多字段不分组的情况。表格的纵向由多个聚合字段组成。可以包含多个类别和不同的字段。下面先看一下选择字段的界面:下图为选中字段,并且展开分组后的一些结果:
2017-03-16 09:47:52 1623
原创 常规功能和模块自定义系统—059商业智能(BI)功能的初步2
常规功能和模块自定义系统—059商业智能(BI)功能的初步2 上一节中对单个字段金额字段进行了横向和纵向的展开,现在看看多字段的展开方式。我们加入的字段有:订单个数,订单总额,订单的资金回笼率。其中的订单的资金回笼率使用的是加权平均的计算方法。现在的系统能做到你只要准备好数据库,并且数据表的关联关系完备,就能使用此功能来进行你业务库的任一个表上的数据分析和汇总功能。先
2017-03-16 09:32:42 1514
原创 常规功能和模块自定义系统—058商业智能(BI)功能的初步1
常规功能和模块自定义系统—058 商业智能(BI)的初步 经过一段时间的设计和开发,自定义系统中一款类似于BI的汇总分析功能开发出了雏形。本功能主要适用于各种业务系统的数据统计和分析。 主要功能:可以选择多个指标进行分析;指标可以是计数、求和、最大、最小、平均、加权平均、比率等。可以自定义要展开的分组;表格横向(列)任意展开和折叠分组项;表格纵向(数据行)也可以任意展
2017-03-16 09:01:11 1632
原创 常规功能和模块自定义系统 (cfcmms)—057 最新版的自定义系统演示
057 最新版的自定义系统演示 经过一段的开发和升级,最新版的“常规功能和自定义系统”有了非常大的改进,现在可以很方便的进行系统搭建 。为了让大家有个更好的了解。我录了二段视频,讲解了搭建 一个中小型管理系统的全过程。常规功能完全自定义架构,不用写一行代码。 从理论上讲:这个系统可以做到在一个系统中管理任何连接到这台服务器的任何数据源。现在只做到了可以管理一个数据库中的所有sc
2017-01-13 10:41:05 2119
原创 常规功能和模块自定义系统 (cfcmms)—056 extjs6带分节符的数值字段和百分比字段
056 extjs6带分节符的数值字段和百分比字段 Extjs中的数值控件NumberField中没有加入显示分节符的功能,在研究了其NumberField的源码后,对其类进行了重写,加入了可以把数值分节显示的功能和录入百分比的功能。设置的:items : [ { xtype : 'numberfield', fieldLabel : '分节显示数值',
2016-09-15 12:17:11 1617
原创 常规功能和模块自定义系统 (cfcmms)—055 extjs6的DateTimeField
055 extjs6的DateTimeField 不知道为什么Extjs中始终没有日期和时间结合在一起的控件,这样就有了各个版本的自定义控件,但是随着版本的更新都不太兼容。在网上找了一些DateTimeField的参考过后,发现要完全的在Extjs6中实现,必须要重新生成一个DateTime的选择控件的类。网上大多数的类都是继承自'Ext.picker.Date',经过一些试验过后,
2016-07-14 20:48:11 5135 3
原创 常规功能和模块自定义系统 (cfcmms)—054 manyToOne的选择方式
054 manyToOne的选择方式 对于当前模块来说,用什么方式来选择一个manyToOne的值也是应该考虑的事。最普通的就是使用comboBox来对 manyToOne的字段值来进行选择。大多数时候我们需要有一个灵活的设置来确定某个manyToOne模块的选择方式。 前面几节增加了一个数据字典的功能,在数据字典中新增一个属性:父模块选择方式。用来字义manyToOne的选择
2016-07-14 09:26:41 1232
原创 常规功能和模块自定义系统 (cfcmms)—053把一对多(OneToMany)字段的grid加入到form中
053把一对多(OneToMany)字段的grid加入到form中 前二章中加入了oneToMany字段,并且加入到form中显示条数,并且有一个按钮可以用来打开oneToMany的模块来进行操作。在实际的应用中,为了更方便的操作和一目了然的看见oneToMany的数据,需要把该模块的grid加入到form之中来进行处理。经过一些配置和对配置的解读,将可以这个工作。可以把若干个one
2016-07-08 16:39:36 1111
原创 常规功能和模块自定义系统 (cfcmms)—052在extjs中自定义theme
052在extjs中自定义theme 在extjs中的皮肤theme有好几种了,都是官方提供的。在extjs6中又新增了一个triton的theme,这个theme是扁平化的,看着效果还不错,但是其占用的空间太大了,不符合一些对空间有特殊需求的界面。在看了官网的对theme进行扩展的文章后,自己动手将triton的这个theme进行改造,使其更加紧凑。先来看一下改过后的效果图。
2016-07-06 11:51:57 1510 2
原创 常规功能和模块自定义系统 (cfcmms)—051一对多(OneToMany)字段的加入
051一对多(OneToMany)字段的加入 现在系统中对于模块的关联字段,我只加入了ManyToOne和OneToOne二种,现在是时候把OneToMany也加入了。将OneToMany作为一个字段处理有些费力。因此设想是在当前基准模块的grid或form中可以显示一个“按钮”,并在按钮前面显示记录数,用来查看当前记录的OneToMany的模块信息。虽然现在已经可以在form和gr
2016-06-27 10:52:26 934
原创 常规功能和模块自定义系统 (cfcmms)—050简易数据字典的加入和使用
050简易数据字典的加入和使用 在系统中经常有各种字段属性需要定义,有些重要的属性必须做成一个模块来进行操作,比如对于客户来说,其相对应的市或省信息就要有相应的模块来做ManyToOne的关联。但是有些场合就不需要把属性定义成一个模块,比如说人员的性别,职务,学历等一些选择量比较少的属性,这些属性即可以加在数据字典中供其他模块来使用,只要做好一个操作的引擎即可。 在我的系统中数
2016-06-27 10:26:47 1343
原创 常规功能和模块自定义系统 (cfcmms)—049模块的条件限定
049模块的条件限定 一个模块在用菜单进入以后,会显示所有的记录。有的时候我们需要只显示特定的一些记录,这就可以用模块条件限定来完成。对于“订单”,发货员只想看到“未发货”的订单,因此在菜单里可以放一个“未发货订单”的项目,此未发货订单模块和订单模块完全一样,只是只显示未发货的。而负责安装的人员要看到已预约的一个星期之内的订单。这就要在设置菜单的时候可以加入一些限定的条件来约束显示的
2016-06-08 20:47:40 978
原创 常规功能和模块自定义系统 (cfcmms)—048模块导航功能的重构(6)以后的设想
047模块导航功能的重构(4)以后的设想 先占个位,有了新的想法以后再来写。
2016-05-29 10:54:34 1135 1
原创 常规功能和模块自定义系统 (cfcmms)—047模块导航功能的重构(5)导航属性的定义
047模块导航功能的重构(5)导航属性的定义 本节介绍如何自定义一个导航属性。定义导航属性有二个方法,一个是快速方法,一种是手工自定义的方法。 1、快速自定义一个导航字段。 在“模块字段”中,找到该字段,修改一下即可。 2、第二种即是可以定义复杂的层级导航。前几节介绍过了,保存导航共有二个表,一个是保存每个模块的导航方案,另一个表保存每个导航方案下面
2016-05-29 10:52:10 1073
原创 常规功能和模块自定义系统 (cfcmms)—046模块导航功能的重构(4)层级模块的导航
046模块导航功能的重构(4)层级模块的导航 还有一种层级模块的导航也需要处理一下,例如对操作员可以用部门来进行导航,而部门这个模块是具有层级,就象会计科目一样。例如下图的对人员的导航,如下: 在显示无记录导航时: 以上几遍博客介绍了导航的一些内容,导航这个功能编程难度4颗星,实用程度5颗星。 导航模块附加的延伸功能。
2016-05-29 10:25:15 925
原创 常规功能和模块自定义系统 (cfcmms)—045模块导航功能的重构(3)导航的定义
045模块导航功能的重构(3)多层控制 导航树中的导航值不能只是单一属性,也可以是多属性的组合。例如对客户单位可以按照二级导航:“省-市”来进行。
2016-05-24 09:51:48 1103
原创 常规功能和模块自定义系统 (cfcmms)—044模块导航功能的重构(2)
044模块导航功能的重构(2) 经过分析,可以将一级导航的数据类型分为以下几类: 1、模块实际字段值:例如对于“省份”模块,所属区域是其一个字符串字段,里面放着各个区域的名称。 2、父模块的导航:例如对于“市”模块,可以用省来对其进行导航。 3、某个数值字段的数值区间:可以自定义数值区间来完成分组。经过配置可以完成更加复杂的分组。 4、
2016-05-17 22:52:33 5665
原创 常规功能和模块自定义系统 (cfcmms)—043模块导航功能的重构(1)
043模块导航功能的重构(1) 模块导航即基于grid的条件限定。可以明确在导航树中导航条件,以及在该导航条件之下当前模块的记录数。在选中某个导航记录时,grid的数据会更新为该导航所设置的条件中。(这个功能应该是一个很好的功能,为什么现在还不太流行呢。可能是我见识的软件太少了) 导航作为引导用户浏览和筛选数据的功能,由于每一个导航记录上都标有记录数,可以很好的体现模块数据的分
2016-05-13 11:06:34 1363
原创 常规功能和模块自定义系统 (cfcmms)—042模块Grid的排序和筛选
pagingtoolbar042模块Grid的排序和筛选 一、排序 Grid界面排序可以点击列头直接来进行,这个是很方便。但是还有二个问题需要解决:无法取消排序至默认,单字段和多字段排序不可以方便切换。为了解决这二个功能,在pagingtoolbar的前面加了一个SplitButton按钮来控制这二个操作。 在上面的图片中可以看出,新增了一个按钮,下面有一些菜单来
2016-05-13 10:13:12 1914
原创 常规功能和模块自定义系统 (cfcmms)—041模块附加字段和新的Grid方案设计器
041模块附加字段的设计 在整个自定义系统,模块附加字段也是有必要的。对于一个模块来说附加的字段有二种,一种是父模块中的字段,另一种是子模块中的聚合字段。在模块记录生成sql语句的时候,只是生成了该模块的所有基本字段和其直接父模块的id和name的字段。不可能将所有父模块的字段都加进去,只能指定一些必需的字段加入到sql语句中。比如在获取订单数据的时候,最基本的sql语句中只包括了目的的市和
2016-05-10 09:43:37 1940 1
原创 常规功能和模块自定义系统 (cfcmms)—040模块记录(数据)的权限设计(5)聚合操作
040模块记录(数据)的权限设计(5)聚合操作 前面几节设计的都是把权限如何加在基准模块之上的,现在讨论一下聚合字段的权限。某个基准模块需要附加子模块的聚合字段也是比较常见的需求,比如“订单”模块中没有总金额,需要把“订单明细”的总金额汇总起来作为一个字段来显示。比如说要查看各个省份的订单个数等需求。 还是使用上一节中加入的二个权限:第一个是加在“订单”模块的父模块“省份”之上
2016-04-09 11:01:31 1211
原创 常规功能和模块自定义系统 (cfcmms)—038模块记录(数据)的权限设计(3)
038模块记录(数据)的权限设计(3) 在有了模块的关联关系和定义在基准模块上的各种权限的基础上,我们就可以来生成查询数据的语句了。前面的博客里大多讲的是前台的一些技巧,其实本系统中最核心的还是这一块内容。如何根据模块的关联关系和用户权限以及附加字段和用户界面传过来的筛选、排序、分组条件来生成一个查询的select语句就是最关键的内容。现在就我自己开发的过程介绍一下生成select语
2016-04-03 13:58:36 1107
原创 常规功能和模块自定义系统 (cfcmms)—036模块记录(数据)的权限设计(1)
036模块记录(数据)的权限设计与实现(1) 最近正在更新权限系统,主要是模块记录数据的权限如何方便的自定义设计。这几天刚把底层的一些东西弄好,把实现过程写一下供大家参考,顺便也自己做个备忘录。 在前面二章中写了一下模块关联关系的一些内容,模块记录权限的设计也是以模块的关联关系为基础。下面我们再按照上面的模块结构图来进行设计权限。在这个模拟的订单系统中,主要处理的模块是订单和订
2016-04-02 11:27:32 1558
原创 常规功能和模块自定义系统 (cfcmms)—035开发日志(每个tab有各自模式window的备忘录)
035开发日志(每个tab有各自模式window的备忘录) 模式(modal)化的window在显示的时候会有一个遮罩面板,把整个界面遮住,不能够进行操作;在关闭window的时候,再把遮罩面板取消掉,恢复原来的可操作的方式。这是一般模式化window的用法。 在QQ群里群友提出了一个给tabPanel的每个tab都可以分别建立模式化window的问题。在某个tab中有一个gr
2016-02-17 11:46:14 1616 1
原创 常规功能和模块自定义系统 (cfcmms)—034模块间关联关系的优化的思路
034模块间关联关系的优化的思路 前台的各种自定义控件都是为了展示数据和操作数据,作为管理系统的颜面固然重要,但是后台的控制系统默默的为前台提供数据和完成操作任务则更为重要。本自定义系统的核心部分是如何处理模块的关联关系。由于我一直做一些中小型的政府管理软件,模块间树形关系比较明确,因此现在系统中的模块间的关系的处理只能是中规中矩的树形。比如我最早的一个博客里面举例的一个“销售系统”
2016-01-13 18:32:23 3435 5
原创 常规功能和模块自定义系统 (cfcmms)—033更改至现在为止的版本下载
033更新至现在为止的版本下载 从本系列博客的第8节发布的系统下载后,所有后面博客里提到的功能增加和修改后的源码可以下载。 更新了以下一些内容:新增了动态换肤的功能,在界面的右上角有6个色块,单击可以切换skin。首页中增加了业务模块图。最上面的toolbar中的设置--列表设置中自定义了一些列表在显示时的属性。可以在“省份”模块中查看效果。主标签页的位置可以调整。
2016-01-13 12:52:09 2852 12
原创 常规功能和模块自定义系统 (cfcmms)—031开发日志(创建ManyToMany的column6)
031开发日志(创建ManyToMany的column6) 对于上一节中提出的修改意见,先占个坑位。
2016-01-12 08:40:01 1478
原创 常规功能和模块自定义系统 (cfcmms)—030开发日志(创建ManyToMany的column5)
030开发日志(创建ManyToMany的column5)
2016-01-12 08:34:01 1756
原创 常规功能和模块自定义系统 (cfcmms)—029开发日志(创建ManyToMany的column4)
029开发日志(创建ManyToMany的column4) 根据以上几节的准备,在这一节中可以加入ManyToManyColumn.js了。先来看看做好的样子如下图: 单击文字链接可以显示该条记录的情况。按下删除按钮则会显示一个提示窗口,询问是否删除此项。 下面即为ManyToManyColumn.js的代码。/** * * ManyToMany
2015-12-31 15:39:43 2115
原创 常规功能和模块自定义系统 (cfcmms)—028开发日志(创建ManyToMany的column3)
028开发日志(创建ManyToMany的column3) 三、给“模块字段”增加一个字段,用来存放ManyToMany字段的joinTable值,也就是中间表的表名。给“用户模块”增加一个字段tf_Roles,字段类型为Set,关联关系为ManyToMany, 关联表名为_UserRole。字段的定义截图如下: 四、加工处理自动生成grid数据的sql语句,把
2015-12-29 15:42:24 1973
原创 常规功能和模块自定义系统 (cfcmms)—027开发日志(创建ManyToMany的column2)
027开发日志(创建ManyToMany的column2) 先来看看mysql能不能把结果集转换成一个字符串,在网上搜索了一下,还真有这个函数。函数名字为 group_concat。这个函数可以把指定字段的结果集用设定的分隔符拼接成一个字符串。例如在我的这个系统中的数据库上执行如下命令:select group_concat(tf_roleId ,',', tf_roleNam
2015-12-29 10:10:33 1800
原创 常规功能和模块自定义系统 (cfcmms)—026开发日志(创建ManyToMany的column)
常规功能和模块自定义系统 (cfcmms)—026开发日志(创建ManyToMany的column) 这节开始加入一个新的column。这个column的功能用来可对ManyToMany的关系进行操作。比如现在系统里有用户模块和用户角色模块,在用户模块中有个功能可以设置此用户所具有的权限,“用户-用户权限”的对应信息则保存在另一表里。这种ManyToMany的关系虽然现在系统里可以通
2015-12-23 08:42:24 2912
原创 常规功能和模块自定义系统 (cfcmms)—025开发日志(创建iconCls的field)
常规功能和模块自定义系统 (cfcmms)—025开发日志(创建iconCls的field) 这一节是临时插入的工作日志。 在本系统中可以自定义某些图标,图标的样式都是手工录入的,为了能直观的选择iconCls中的图标,开发了此控件。extjs中内置了font-awesome字体,里面有好几百个字体图标,这种图标象文字一样在放大缩小的时候不会失真。 根据extjs的类的继
2015-12-15 13:02:57 3259 3
原创 常规功能和模块自定义系统 (cfcmms)—024自定义grid列(8子模块聚合字段)
常规功能和模块自定义系统 (cfcmms)—024自定义grid列(8子模块聚合字段) 上一节中配置了子模块的记录数字段,还有一种字段就是聚合字段,也可以来进行配置。上一节在附加字段的时候,除了加进了“市”模块的可计数字段,还加入了一个可求和的“市”模块中的可求和字段“金额属性”。在“省” 的grid方案选择字段的时候,将“市金额属性求和”这个字段选中。即可显示在grid中。鼠标移动
2015-12-15 11:15:35 2313
原创 常规功能和模块自定义系统 (cfcmms)—023自定义grid列(7子模块记录数)
常规功能和模块自定义系统 (cfcmms)—023自定义grid列(6子模块记录数) 还有一种有用的自定义列需要加入,这种列和模块之间的关联关系有关。对于一个父模块来说,可能想要显示当前父模块记录下的子模块(孙模块)的个数,然后鼠标移上去的时候还能显示子模块的具体名称。看看下图的例子: 一个相对完整的功能就是一个子模块个数的列,可以显示当前记录的子模块记录
2015-12-08 15:14:15 2197
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人