# 功能架构管理

> 功能架构管理模块主要有以下几点功能：
> - 创建菜单项
> - 导出模块配置信息
> - 系统参数定义
> - 辅助资料定义
> - 报表定义


## 模块主要界面

![](./static/images/01_01.png)
![](./static/images/01_02.png)

## 模块界面说明

- 菜单区域：用于触发模块的各种功能，包括：新增、删除、保存、锁定等
- 功能架构展示区域：用于比较直观的展示功能架构的树形结构
- 数据编辑区域：用于编辑功能架构各个菜单节点的信息

## 菜单区域说明

|菜单项|功能说明|
|-|-|
|导出|打开导出界面，导出模块节点的配置信息|
|展开|展开选中的功能菜单节点，递归展开其所有子节点|
|收缩|收缩选中的功能菜单节点，递归收缩其所有子节点|
|新增|在选中得功能菜单节点下新增一个子节点。已经填写模块标识的节点不允许新增子节点|
|删除|删除选中的功能菜单节点，删除时会检查是否允许删除，如果存在配置信息不允许删除|
|保存|保存数据|
|锁定|锁定选中节点的数据，同时锁定选中节点对应的所有模块配置信息|
|解锁|解锁选中节点的数据|
|界面设计|打开窗体界面设计模块，配置模块的界面和数据源配置信息|
|模块配置|打开模块配置模块，配置Grid查询、Form查询、数据权限和多语言信息|
|表单类型定义|定义当前节点对应模块中用到的表单类型信息|
|帮助|模块通用按钮，用于查看本模块的操作相关的帮助信息|
|退出|关闭本模块。关闭前会检查数据是否已经保存|
|全部下级|选中树节点后，是获取直接直接点数据还是获取所有子孙节点的数据|
  
## 数据配置项说明

|配置项|配置项说明|
|-|-|
|功能模板|当前节点是否将会在菜单中显示|
|功能权限|当前节点是否采用功能权限控制|
|名称|菜单的名称，允许配置多语言，目前支持中越英三种语言|
|快捷名称|快捷功能中快速定位模块使用，支持多语言|
|快捷代码|快捷功能中快速定位模块使用，支持多语言|
|是否系统板块|标记该节点是否作为系统板块节点使用，数据库管理器中使用|
|是否应用系统|标记该节点是否作为应用系统节点使用，数据库管理器中使用|
|应用系统关联组织|登记该应用系统是哪个组织主要负责|
|模块类型|设定当前节点模块类型，Report：报表；ParamSetting：系统参数设定；AuxDataSetting：辅助数据设定；CommonDll：一般模块|
|模块应用层别名|已废弃|
|模块基类|派生模块的基模块的模块标识，用于获取模块配置信息|
|模块标识|当前模块的唯一标识，非派生模块根据这个标识获取模块配置信息|
|业务类型代码|派生模块中用于执行特定代码和SQL语句，以及显示特定界面的标识|
|客户端类型|后续将废弃|
|显示类型|模块打开时如何显示，Tabpage：卡片页形式；ModalWindow：独立窗体，ShowDialog方式打开；Window：独立窗体，Show方式打开|
|是否允许多次加载|同一个模块是否允许多次打开|
|是否桌面工具|模块是否以桌面工具的形式打开|
|工具分类名称|用于对桌面工具进行分类，支持多语言配置|
|是否直连数据库|模块操作数据时，是否直接连接数据库进行操作（两层架构）|
|附加数据源|以后作废|
|模块加载信息|通过反射机制加载模块时使用，格式：模块主窗体类全名,模块dll名称|
|参数信息|模块打开时使用的一些参数信息，格式：key1=value1;key2=value2……|
|插件代码|一段完整的c#代码，模块运行时会动态编译并加载到内存中|
|小图标|用于指定菜单节点显示的图标|
|中图标|现在未使用，以后用作菜单扩展|
|大图标|现在未使用，以后用作菜单扩展|
|权限信息1|对应查询权，支持多语言|
|权限信息2|对应编辑权，支持多语言|
|权限信息3|对应审核权，支持多语言|
