UI工厂:按钮扩展与单据UI控制

需积分: 11 2 下载量 49 浏览量 更新于2024-08-18 收藏 3.02MB PPT 举报
"按钮-扩展-UI工厂介绍" UI工厂是一个基于NC-UAP(用友统一应用平台)的UI开发框架,旨在提升UI开发效率和代码的可读性。它通过抽象出常见UI组件的公共部分,形成了一系列UI基类,如主子表、多子表、单表头和单表体等不同形式的VO(值对象)模型。UI工厂的核心目标是优化单据模板、查询模板和打印模板的使用,同时提供推荐的实现策略。 在UI工厂中,`BillUIBuffer`扮演着重要角色,它是一个单据缓存区,用于存储多张单据数据,允许用户在不频繁向服务器请求的情况下进行浏览和操作。这与传统的MVC模式中的Model有所不同,它更像是一个中间缓冲区。 UI加载通常基于单据模板进行,`BillCardPanelWrapper`和`BillListPanelWrapper`是处理卡片式和列表式单据模板的专业组件,它们不仅负责加载,还补充了模板功能的不足。 UI的状态管理是关键,包括初始(OPINIT)、编辑(OPEDIT)、新增(OPADD)和非编辑(OPNOTEDIT)等操作状态,以及自由(FREE)、提交(COMMIT)、审批通过(CHECKPASS)和审批未通过(NOPASS)等数据状态。这些状态定义在`IBillOperate`和`IBillStatus`接口中。 UI工厂通过`ButtonManager`集中管理按钮,预定义了一系列常用按钮,如新增、编辑和保存等。每个按钮的配置信息存储在`ButtonVO`对象中。对于自定义按钮,开发者可以定义一个唯一的ID,以便在系统中识别和控制这些按钮的行为。在单据UI控制类中,可以通过设置`IBillButton.NodeKey`来定义按钮,并且在需要定义多个子按钮时,需实现`IChildMenuController`接口,并重载`createChildMenuController`方法来定义模板切换按钮的子菜单。 UI工厂的这些特性使得开发者能够更加高效地构建和维护用户界面,减少了重复工作,提高了代码质量。在NC行业新员工培训中,理解和掌握UI工厂的工作原理和使用方法是至关重要的,这有助于快速适应企业级应用的开发环境。