模块(菜单)管理是整个框架的核心,主要面向系统管理人员与开发人员,对普通用户建议不要授予访问此模块的权限,以免不必要的错误影响整个框架的运行。在框架中看到的各个功能模块都是在这儿进行配置的,配置信息保存在数据库中。模块(菜单)管理主要完成对整个框架各功能模块的添加、修改、删除,模块的移动、合并,模块启用、停用,设置模块是否为公共模块,分配角色、用户的模块访问权限,设置模块的可见性,对模块进行排序等。各个模块(菜单)以不同颜色来区分相应的模块类型。
模块管理以子系统进行模块分类管理,我们的框架可以管理不限数量的业务子系统,按以前的方式进行管理的话,当系统越来越多,模块越来越多时就会显得比较乱,同时效率也不高。以业务系统分类进行管理则让整个模块的管理变得游刃有余。不光模块的管理启用了以业务系统分类展示的方式,同时对模块权限的分配,模块关联的操作权限等都是按业务系统进行分类展示。一个功能我们摸了根的把它得到最好用,做到最精致。
模块(菜单)管理主界面如下图所示。

模块菜单添加、修改与删除
一个系统要运行在此框架下,必须要进行相应模块配置,添加、修改与删除模块在模块配置中是最常用的,添加模块如下图所示。

a)、模块添加
1、"父模块"
当前添加的模块显示在"父模块"之下,在树型结构中,当前添加的模块为父模块的子节点。如果要添加根节点,可以单击"置空"按钮。如果"父模块"不正确,还可以单击父模块"父模块"输入项右侧的"选择"按钮,打开"模块选择"窗口,进行父模块的选择。
- "名称"
"名称"即在框架主界面左侧导航区看到的各个模块的名称,因此应该为相应的模块取一个见名知意的名称。
- "窗体名"
对于 WinForm、WPF 结构的程序,"窗体名"与"程序集名称"必须输入,对于 Web 类型的程序"Web 地址"必须输入。"窗体名"在我们框架中约定为:
命名空间全称 + "." + 窗体的名称
- "程序集名称"
主要针对 WinForm、WPF 结构的程序,其程序集名称一般为编译后的 dll 文件名称,如"RDIFramework.WinModule.dll"。
- "Web 地址"
"Web 地址"即模块所在的 Web 相对路径,主要针对 Web 类型。
- 图标地址
"图标地址"主要针对 Web 类型,菜单对应的图标显示,一般用相对路径。
- 模块类型
"模块类型"主要是对当前模块对应的应用类型进行配置,主要分为三种:
一、WinForm/Web 类型:这种配置类型的模块在 WinForm 与 Web 中都加载出来。
二、WinForm 类型:这种配置类型的模块只在 WinForm 程序中加载,不在 Web 程序中加载。
三、Web 类型:这种配置类型的模块只在 Web 程序中加载,不在 WinForm 程序中加载。
8、表单参数
"表单参数"可以给表单传递初始化参数,格式为:key1=value1&key2=value2
如:我们的实例模块,"角色分类图"就通过参数的传递自动加载不同的数据,如下图所示。

9、其他
"有效"标志设置此模块是否可用。
"公开"标志设置此模块是否为公共模块,公共模块不需要设置模块的访问权限,所有登录到框架的用户都将拥有"公共模块"。
"展开"标志指定对相应的模块在对于 Nav 类型,Tree 类型展示的情况下是否自动展开。
"允许编辑"标志指示当前模块是否允许其他用户修改。
"允许删除"标志指示当前模块是否允许其他用户删除。
"菜单"标志指示当前模块是菜单还是菜单项(如:"系统管理"是菜单,"模块管理"是"系统管理"菜单下的菜单项)。
b)、模块修改
对于已经配置过的模块可以进行修改,要修改已存在的模块,可在"模块(菜单)管理"主界面上单击"修改"按钮。模块修改如下图所示。

在上图可以看到有一个模块图标项,此功能是设置在框架主界面左侧导航区显示的模块图标。
分两种类型:一种是常规图片图标、一种是字体图标,推荐使用字体图标。系统加载时通过设置的参数来确定用指定类型图标来加载模块。
- 常规图标选择
单击"选择"按钮,打开"模块(菜单)图标选择"界面进行模块图标的选择,在模块图标选择窗口对图标进行了分页显示 ,提高加载的效率。如下图模块(菜单)图标选择所示。

在"模块(菜单)图标选择"界面,如果没有合适的图标,可以单击"添加"按钮添加你的图标到框架中,图标尺寸大小建议为:32×32 的网页图标格式。单击"选择"即可为模块设置所选择的图标。
同时对于不需要的模块可以删除,在进行删除前如果此图标正在被系统使用,则会弹出提示,并默认选择的是"否(N)"按钮,防止误删,如下图所示。

如果图标未使用,则删除提示就不一样了,如下图所示。

- 字体图标选择
字体图标更加灵活方便,给 Web 图标使用类似,分为两大类,分别是:FontAwesome 和 ElegantIcons,双击即可选择,如下图所示。


在模块修改界面,我们还可以在此进行模块访问权限的设置,如下图所示。

单击"访问权限"按钮,打开"资源权限设置"窗口,如下图所示。

在上图的资源权限设置窗口,我们可以方便快速的设置那些用户,那些角色可以访问当前编辑的模块。
c)、模块删除
对于确认无用的模块可以进行逻辑删除。建议对不使用的模块可以取消模块的有效标志,在修改模块界面中,而不是直接删除模块。
模块(菜单)合并、移动
在模块(菜单)管理主界面可以轻松的实现模块的移动或合并,不仅可以在模块树形列表中通过鼠标拖动的方法进行移动,同时还可以选择要移动的模块,单击"移动"按钮,打开"选择模块"窗口,在选择模块窗口已经按业务子系统对模块进行了过滤,选择要移动到的模块,即可完成模块的移动与合并,如下图所示。

角色模块(菜单)权限
角色模块(菜单)权限功能项用于设置那些角色可以访问那些模块,那些角色不能访问那些模块。角色模块(菜单)权限设置如下图所示。左侧列出框架的所有有效角色,右侧为模块(菜单)项,选中相应的模块后保存,即可为当前选中角色授予模块的访问权限。

用户模块(菜单)权限
用户模块(菜单)权限功能项用于设置那些用户可以访问那些模块,那些用户不能访问那些模块,用户模块(菜单)权限设置如下图所示。左侧列出框架的所有有效用户,右侧为模块(菜单)项,选中相应的模块后保存,即可为当前选中用户授予模块的访问权限。

组织机构模块权限
对于某些大型的企业、信息系统,涉及的组织机构较多,模块多、操作权限也多,对用户或角色一一设置模块、操作权限等比较繁琐。我们可以直接对某一组织机构进行模块权限的分配,这样设置后,同一组织机构的用户就可以拥有相应的模块访问权限了,这样也能减轻管理人员的负担。要启用组织机构权限,需要配置 Config.xml 配置节"EnableOrganizePermission"为 True ,组织机构模块访问权限设置如下图所示。

模块(菜单)配置
配置(菜单)配置主要对模块是否可见进行集中设置,方便用户操作,提高操作员的工作效率,模块配置如下图模块(菜单)配置所示。

模块(菜单)排序
在模块管理主界面左下角,通过排序按钮可对模块显示的先后顺序进行排序,重要及常用的模块可以显示在前面,以方便用户使用。排序完成后,单击"保存"按钮即可完成排序工作,模块排序如下图所示。

复制模块
相似模块可以直接复制,再做小的修改来快速创建一个模块。单击更多下拉中的"复制模块"项,可以快速将当前所选模块复制为一个副本。