Skip to content
赞助合作

本站右侧赞助位长期招租

联系我投放

可配置用户界面 CUI (Configurable User Interface)

在早期的 Aras 版本中,定制客户端界面(例如:在全局顶部工具栏增加一个按钮、在右键菜单中增加一个自定义操作、配置特定的快捷键)通常需要对底层的 JavaScript 源代码进行侵入性修改,这极大地增加了系统升级的难度。

从 Aras 11/12+ 开始,系统引入了 CUI (可配置用户界面) 框架。CUI 将界面的所有菜单、工具栏、快捷键等元素彻底元数据化(Item 化),使开发人员能够通过低代码配置,实现极具灵活性且升级安全的界面定制。


1. CUI 数据模型

CUI 框架建立在一套清晰的层级元数据关系之上:

  • Presentation Configuration (呈现配置):最高级别的元数据定义,定义特定界面区域使用哪些菜单或工具栏。可以针对不同的 Identity(角色) 配置不同的呈现配置,实现“界面因人而异”。
  • Command Bar Section (命令条区域):定义命令条的摆放位置(例如:全局顶部、主搜索网格顶部、零件表单底部 Tab 的工具栏等)。
  • Command Bar Item (命令条单项):工具栏或菜单上具体的交互控件。
  • Window Section / Control (窗口区域及控件):用来划分和控制工作窗口布局的元数据对象。

2. 命令条位置与控件类型

2.1 常见命令条展示位置 (Locations)

  • MainWindowMainMenu:浏览器主界面的顶部主菜单。
  • MainWindowToolbar:主界面顶部的全局工具栏。
  • SearchGridCardInitialization:各 ItemType 搜索网格右侧的工具栏。
  • RelationshipsGrid:表单底部 Tab 关系网格的工具栏。

2.2 常见的 Command Bar Item 控件类型

  • Button:常规点击按钮。
  • Menu:下拉菜单项。
  • Separator:菜单或工具栏的分隔线。
  • Checkbox / Dropdown:状态勾选框或下拉选择列表。
  • Shortcut (快捷键项):无形的控制项,用于绑定特定的键盘组合(如 Ctrl + Alt + N)。

3. CUI 的四种核心操作行为 (Actions)

CUI 允许在不同的配置包之间进行非破坏性的重叠加减。当我们在特定的 Section 中引入一个 Item 时,有四种行为可选:

动作类型 (Action)说明典型应用场景
Add (添加)向当前区域追加一个新的按钮或菜单。在主搜索网格增加一个“批量导出到 Excel”的自定义按钮。
Remove (移除)隐蔽现有的某个系统默认按钮。针对特定的普通用户,移除关系 Tab 页工具栏上的“Delete (删除)”按钮。
Replace (替换)用自定义的按钮替换掉现有的某个系统按钮。替换系统默认的“Promote (流转)”按钮,调用自定义的流转校验逻辑。
Clear All (清除所有)清空当前位置上所有的默认控件。用于彻底重构某个关系 Tab 底部工具栏。

4. 排名机制与可见性过滤

4.1 排名机制 (Action Ranking)

CUI 中没有“前后兄弟节点”的物理链接,而是通过一个整型字段 Sort Order (排序 ranking) 来决定谁排在前面。

  • 排序值较小的 Item 会优先显示在工具栏的左侧(或菜单的顶部)。
  • 如果两个 Item 的 Ranking 相同,系统将按其元数据的创建时间或名称字符顺序排序。

4.2 精细化可见性过滤 (Access Control)

一个按钮何时应该显示在界面上?CUI 支持双重过滤机制:

  1. Identity Access (角色过滤):只有在 Command Bar Section 或 Item 上分配的 Identity (如 Design Lead) 才能看到该按钮。
  2. Classification Access (分类过滤):可以配置该按钮只在特定的 Item 分类(如只有在 Class 路径为 /Software 的表单中)时才渲染加载。

5. 配置实战:添加全局 Windows 快捷键

以下演示如何通过 CUI 为用户快速配置一个一键打开“设计变更单 (ECN)”创建窗口的快捷键:

  1. 进入管理端 -> Client Presentations,打开全局呈现配置。
  2. Command Bar Sections 下方,新增一行,选择位置为 MainWindowShortcuts
  3. 创建 Shortcut Command Bar Item
    • 新建一个 Command Bar Item,类型选择为 Shortcut
    • Key Combination(按键组合)中,填入 Ctrl+Alt+E
    • Label 中输入“创建变更单快捷键”。
  4. 绑定 Method 逻辑
    • 在该 Item 的 Init MethodClick Method 中,绑定一段客户端 JS 代码,用来弹出新建 ECN 窗口:
      javascript
      var aras = top.aras;
      aras.uiNewItem("ECN");
  5. 保存配置,刷新浏览器。用户在主页面按下 Ctrl + Alt + E 即可一键拉起新建窗口。

本站内容仅供学习与参考

本站总访问量