当前位置: 首页 > news >正文

iBizModel 实体界面行为(PSDEUIACTION)及实体界面行为组(PSDEUAGROUP)模型详解

实体界面行为及实体界面行为组模型详解

引言

在iBizModel模型体系中,实体界面行为(PSDEUIACTION)和实体界面行为组(PSDEUAGROUP)是构建丰富用户交互体验的核心组件。这些模型定义了用户在界面上执行的各种操作行为及其组织方式,从简单的按钮点击到复杂的业务流程触发,为系统提供了灵活且可配置的交互能力。本文将深入探讨这两个模型的结构、属性、应用场景,并通过实际DSL示例和图例进行详细说明。

实体界面行为模型(PSDEUIACTION)

模型定义与核心属性

实体界面行为模型是iBizModel中定义界面操作行为的基础单元,它封装了行为的执行逻辑、目标数据、显示样式等关键信息。该模型包含40多个属性,涵盖了行为定义的各个方面。

关键属性分类说明:

  1. 行为基本属性

    • name(必填):界面行为名称,用于标识行为
    • codename:代码标识,在模型域内唯一
    • caption(必填):行为标题,显示给用户的文本
    • uiactiontype(必填):行为类型,包括系统预定义、前台调用、后台调用和自定义代码
  2. 行为执行属性

    • actiontarget:操作目标,定义行为作用的数据范围(单项数据、多项数据等)
    • actionlevel:行为级别,区分操作的常用程度(不常用、一般操作、常用操作、关键操作)
    • userconfirm:是否需要用户确认执行
    • confirminfo:确认提示信息
  3. 界面显示属性

    • buttonstyle:按钮样式,支持多种预定义样式
    • pssysimageid:显示图标引用
    • tooltipinfo:悬停提示信息
    • showmode:显示模式(图标+短词、仅图标、仅短词)
  4. 逻辑控制属性

    • enablelogic:启用逻辑,控制行为是否可用
    • visiblelogic:可见逻辑,控制行为是否显示

行为类型详解

后台调用

后台调用类型的行为直接调用实体行为(PSDEACTION)完成业务处理,适用于需要服务器端复杂逻辑的场景。

//后台调用示例:更新操作
psdeuiaction (name: "更新数据",codename: "UPDATE",caption: "更新",uiactiontype: "BACKEND",psdeid: "Module.USER",actiontarget: "SINGLEDATA",psdeactionid: "Module.USER.UPDATE",userconfirm: 1,confirminfo: "确定要更新用户信息吗?",buttonstyle: "PRIMARY",actionlevel: 200
)
前台调用

前台调用类型的行为通过打开各种视图界面完成交互,支持多种处理模式。

//打开编辑视图
psdeuiaction (name: "编辑用户",codename: "EDIT",caption: "编辑",uiactiontype: "FRONT",frontprotype: "WIZARD",psdeviewbaseid: "Module.USER.edit_view",actiontarget: "SINGLEKEY",buttonstyle: "INFO"
)//打开打印界面
psdeuiaction (name: "打印报表",codename: "PRINT",caption: "打印",uiactiontype: "FRONT",frontprotype: "PRINT",psdeprintid: "Module.USER.user_report",actiontarget: "MULTIKEY"
)//打开AI聊天界面
psdeuiaction (name: "智能助手",codename: "CHAT",caption: "AI助手",uiactiontype: "FRONT",frontprotype: "CHAT",psdeacmodeid: "Module.USER.chat_mode"
)

实体界面行为组模型(PSDEUAGROUP)

模型定义与组织结构

实体界面行为组模型用于将相关的界面行为组织在一起,形成逻辑上的行为集合。通过行为组,可以实现行为的分类、分组显示和统一管理。

核心属性说明:

  • name(必填):行为组名称
  • codename:代码标识,在模型域内唯一
  • uagtag系列属性:行为组标记,用于扩展分类
  • userrefflag:用户引用标志

行为组成员管理

行为组通过PSDEUAGROUPDETAIL模型管理成员行为,支持两种成员类型:

  • DEUIACTION:实体界面行为
  • DEUIACTIONGROUP:引用其他行为组(支持嵌套)
PSDEUAGROUP
PSDEUAGROUPDETAIL
PSDEUIACTION
PSDEUAGROUP
PSDEUAGROUPDETAIL
PSDEUIACTION

核心引用关系分类

根据模型功能和使用场景,PSDEUAGROUP的外部引用可以分为以下几大类:

界面部件引用类模型

这些模型直接在前端界面中引用PSDEUAGROUP来提供用户交互功能:

  • PSDEDATAVIEW(实体卡片视图部件):通过grouppsdeuagroupidno2psdeuagroupidpsdeuagroupid属性为分组数据提供功能操作入口
  • PSDEGRID(实体表格)grouppsdeuagroupid为分组数据提供操作入口
  • PSDEGRIDCOL(表格列)psdeuagroupid绑定操作列的行为组
  • PSDELIST(实体列表):支持左右滑动操作的行为组绑定
  • PSDETOOLBAR(实体工具栏):支持多个占位符的行为组绑定
  • PSDETREE相关模型:为树形结构提供节点级别的操作支持
系统组件引用类模型

这些模型在系统级功能中引用PSDEUAGROUP:

  • PSSYSPORTLET(系统门户部件):为门户部件提供操作能力
  • PSSYSBICUBE(智能立方体)portletpsdeuagroupid支持BI分析操作
  • PSWFPROCESS(流程处理节点):为工作流节点附加界面行为
自引用和嵌套模型
  • PSDEUAGROUPDETAIL:通过refpsdeuagroupid实现行为组的嵌套引用
  • PSDEACMODE:为自填模式提供附加操作集合

DSL定义示例

//基本行为组定义
psdeuagroup (name: "常用操作",codename: "COMMON_ACTIONS",psdeid: "Module.PRODUCT"
){//添加界面行为成员psdeuagroupdetail(detailtype: "DEUIACTION",psdeuiactionid: "Module.PRODUCT.product_edit",buttonstyle: "PRIMARY")psdeuagroupdetail(detailtype: "DEUIACTION",psdeuiactionid: "Module.PRODUCT.product_delete",buttonstyle: "DANGER",addseparator: 1)//引用其他行为组psdeuagroupdetail(detailtype: "DEUIACTIONGROUP",refpsdeuagroupid: "Module.PRODUCT.advanced_actions")
}//高级操作组
psdeuagroup (name: "高级操作",psdeid: "Module.PRODUCT",codename: "advanced_actions"
){psdeuagroupdetail(detailtype: "DEUIACTION",psdeuiactionid: "Module.PRODUCT.export")psdeuagroupdetail(detailtype: "DEUIACTION",psdeuiactionid: "Module.PRODUCT.import")
}

界面行为组成员模型(PSDEUAGROUPDETAIL)

成员配置灵活性

PSDEUAGROUPDETAIL模型提供了丰富的配置选项,允许对每个行为组成员进行精细化控制,甚至可以覆盖原始界面行为的某些设置。

关键特性:

  1. 显示控制

    • ordervalue:显示次序控制
    • showmode:显示模式(图标+短词、仅图标、仅短词)
    • buttonstyle:覆盖原始按钮样式
  2. 逻辑控制

    • enablelogic:成员级别的启用逻辑
    • visiblelogic:成员级别的可见逻辑
    • uiactionparams:附加参数传递
  3. 内容附加

    • beforecontent/aftercontent:前后置内容
    • addseparator:添加分隔符
    • 支持样式和资源引用

高级特性与最佳实践

行为级别管理

通过actionlevel属性实现行为的优先级管理:

  • 关键操作(250):如支付、提交审批等核心业务操作
  • 常用操作(200):日常使用频率高的操作
  • 一般操作(100):常规功能操作
  • 不常用操作(50):辅助性或高级功能

逻辑附加与扩展

利用vlexecmodeviewlogictype实现复杂的交互逻辑:

//执行后触发界面逻辑
psdeuiaction (name: "数据保存",codename: "SAVE",uiactiontype: "BACKEND",actiontarget: "SINGLEDATA",psdeactionid: "Module.USER.UPDATE",vlexecmode: "AFTER",viewlogictype: "DEUILOGIC",psdeviewlogicid: "Module.USER.save_success_logic",successinfo: "数据保存成功"
)//替换系统预置逻辑
psdeuiaction (name: "自定义删除",codename: "CUSTOM_DELETE",uiactiontype: "CUSTOM",vlexecmode: "REPLACE",viewlogictype: "SYSVIEWLOGIC",pssysviewlogicid: "global_delete_logic"
)

移动端适配

通过mobpsdeviewid属性支持移动端特定视图:

psdeuiaction (name: "移动端查看",codename: "MOBILE_VIEW",frontprotype: "WIZARD",psdeviewbaseid: "Module.Entity.Product.desktop_view",mobpsdeviewid: "Module.Entity.Product.mobile_view",actiontarget: "SINGLEKEY"
)

总结

实体界面行为及行为组模型为iBizModel提供了强大的界面交互能力支撑。通过PSDEUIACTION定义具体操作行为,PSDEUAGROUP组织相关行为,PSDEUAGROUPDETAIL实现精细化控制,三者协同工作,可以构建出灵活、可配置、易维护的界面交互体系。

在实际应用中,这些模型支持:

  • 业务场景适配:根据不同业务状态动态调整可用操作
  • 权限控制:基于用户角色显示相应的功能集合
  • 用户体验优化:通过行为级别和显示控制提升操作效率
  • 移动端兼容:支持多端差异化体验
  • 扩展性:通过自定义代码和逻辑附加满足特殊需求
http://www.dtcms.com/a/431023.html

相关文章:

  • InfiniBand 技术解析(3):解码 IB “黑话”—— 核心术语与架构概览
  • Node.js面试题及详细答案120题(101-110) -- 安全与部署篇
  • 主打社交应用,OpenAI发布视频生成模型Sora2,开启全新互动体验
  • SpringBoot对比FastAPI,优势与劣势
  • 八座立和气垫船:破解复杂地形救援难题的“黄金力量“
  • 高端「寺庙管理软件」的标志是什么?
  • 哈尔滨快速建站服务搜索引擎案例分析结论
  • C#基础02-Net框架
  • 淘宝网站开发店铺什么类别淄博网站制作服务推广
  • io多路复用:reactor模型的封装及与上层简单业务的实现(webserver)
  • Pod 的 init Containers
  • 个人网站备案 导航单位门户网站怎么做
  • 网站建设充值入口pc营销型网站
  • ML4T - 第7章第6节 使用Alphalens进行分析 Alphalens Analysis
  • Lazarus下载和安装教程(附安装包,图文并茂)
  • 高端自适应网站设计深圳市年年卡网络科技公司是什么
  • 安卓基础组件017--ImageView组件
  • wordpress 设置多域名 一个站点wordpress个人主页主题
  • 少儿舞蹈小程序(21)我的页面搭建
  • 小程序前端功能更新说明
  • Cartograph+explore_lite未知地形建图
  • FileLocator Pro(文件搜索工具) 多语便携版
  • 兼职做任务的网站免费网站下载直播软件免费
  • RabbitMQ死信交换机:消息的“流放之地“
  • LeetCode每日一题——加1
  • BriLLM框架研究可行性分析
  • 苏州工程网站建设wordpress导航菜单最右边
  • Java SE “泛型 + 注解 + 反射”面试清单(含超通俗生活案例与深度理解)
  • 22408计算机网络(初学)
  • 关于docker pull不了相关资源