应用开发
- 1: 应用管理
- 2: 实体建模
- 3: 菜单页面
- 3.1: 菜单管理
- 3.2: 新建页面
- 3.3: 页面设计
- 3.3.1: 快捷创建和调整页面的方法
- 3.4: 页面配置
- 3.5: 页面模板
- 3.6: 组件通用属性
- 3.7: 组件通用样式
- 3.8: pc端组件
- 3.9: 控件与数据源
- 3.10: 事件交互
- 3.11: 子页面
- 3.12: 外框
- 3.13: PC转移动
- 4: 业务规则
- 5: 报表设计
- 6: 基础设置
- 7: 角色权限
- 8: UDC应用源码扩展
- 8.1: 后端源码扩展
- 8.1.1: 后端手写代码准备工作
- 8.1.2: 自定义定时任务微流程
- 8.1.3: 自定义服务定义微流程
- 8.1.4: 自定义事件监听微流程
- 8.1.5: 后端自定义函数扩展
- 8.1.5.1: 表达式自定义函数自定义语法校验规则
- 8.1.5.2: 表达式组件自定义函数手册
- 8.2: 前端源码扩展
- 8.3: 实体对应的数据库、应用jar包版本
- 9: 常见场景案例
- 9.1: 三方实体场景案例
- 9.2: 页面场景案例
- 9.2.1: 下拉控件中可选内容分组展示或者层级展示案例
- 9.3: 后端组件开发案例
- 9.4: 微流程场景案例
- 9.4.1: 微流程分页查询&批量更新案例
- 10: 组件工具箱
- 10.1: 时间轴
- 10.2: 组织架构图组件
- 10.3: 通用架构图组件
- 10.4: 股权架构图组件
- 10.5: 步骤条组件
- 10.6: 地理标注组件
- 10.7: 组合字段树组件
- 10.8: 业务标签组件
- 10.9: 征信助手组件
- 10.10: 综合评分组件
- 10.11: 智能比对组件
- 10.12: 日历组件
- 10.13: 分组导航组件
- 10.14: 归档组件
- 10.15: 业务关系图组件
- 10.16: 图片签章组件
- 10.17: 电子签章组件
- 10.18: H5签章组件
- 10.19: 评论相关组件
- 10.20: 智能审查组件
- 11: 集成连接平台
- 11.1: 基础设置
- 11.2: 集成应用(连接器)
- 11.2.1: 应用管理
- 11.2.2: 接口登记
- 11.2.3: 读写数据库
- 11.2.4: 事件订阅
- 11.2.5: 消息队列
- 11.2.6: 应用菜单
- 11.2.7: 单点登录
- 11.2.8: 组织同步
- 11.2.9: 事项同步
- 11.2.10: 消息同步
- 11.2.11: 监控日志
- 11.3: 开放平台
- 11.4: 基础能力接入
- 11.4.1: 短信
- 11.5: 移动插件
- 12:
- 13:
- 14:
- 15:
1 - 应用管理
1.1 - 创建空白应用
1.功能概述
创建空白应用是指从零开始创建一个全新的应用,设计师需要自行设计和实现应用的功能和界面。这种方式适用于设计师有明确的需求和设计方案,或者希望完全自定义应用的情况。
2.操作步骤
2.1登录平台
1、以应用设计师角色的账号登录平台,进入后台,进入低代码定制平台
2、菜单栏中点击“应用管理”,可查看我的应用
2.2创建应用
1、点击应用列表右上角“新建”。
2、编辑应用信息,点击“确定”,完成创建。
应用信息说明:
- 应用图标:可选择系统图标作为应用图标。
- 图标颜色:可以设置应用图标颜色。
- 应用名称:自定义应用名称。
- 应用编码:可自定义应用编码前缀,应用唯一标识,创建后不可更改,只能包含数字和小写字母,且以字母开头。
- 支持终端:可选择应用的使用场景支持PC端和移动端。
- 应用描述:可输入应用相关文字描述,不超过255字符。
3、查看应用。
创建成功后,将出现提示弹窗,点击“去设计”将直接进入应用设计器,点击“返回”,将返回应用列表。
应用列表中可查看对应应用,点击应用操作“设计”,即可对该应用进行设计或扩展。
1.2 - 导入创建应用
1.功能概述
“导入应用”是指将一个已经创建或预先配置好的应用实例导入到平台中,以便进行进一步的定制、使用或扩展。通过导入功能可以快速扩展平台的功能或利用现有的解决方案来满足特定的业务需求。导入的应用可以是一个完整的业务流程管理系统、或者一个特定的业务模块。
2.功能介绍
2.1导出应用包
已创建的应用支持以应用包的形式导出。
注意
导出应用前,建议修复一致性校验错误!1、选择欲导出的应用,点击操作“导出”
2、浏览器下载记录中,即可看到对应的应用包
2.2导入应用
2.2.1导入模式
根据场景不同,导入支持两种模式。
-
原样导入
适用于跨环境迁移应用包。目前一个应用仅支持在一个环境中导入一次,原样导入会保持原有的应用名称和编码。
-
复制导入
适用于复制出相同功能的应用包,如快速创建应用以便扩展。一个应用在一个环境中可以多次复制导入,复制导入支持修改原有的应用名称和编码。
2.2.2操作步骤
1、点击应用列表右上角“导入”。
2、上传应用包,根据场景选择导入模式,点击确定,完成导入。
3、应用列表中查看对应导入的应用,点击应用操作“设计”,即可对该应用进行设计或扩展。
1.3 - 查看应用详情
1.功能概述
在应用创建后,设计师可以在应用设计器页面查看应用的名称、描述信息、版本信息等具体内容。本节将详细介绍应用详情页面功能,以协助设计师了解其创建的应用,有效利用相关功能,并进行管理、维护和优化等工作。
2.功能介绍
2.1应用信息
1、选择应用,点击应用操作“设计”进入应用设计器。
2、左侧导航栏中,选择导航项“应用”,即可查看该应用的基础信息。
3、顶部可查看应用的图标、名称、支持终端、设计版本、描述信息等信息。
4、点击基础信息右侧“编辑”按钮,可修改相关信息。
2.2沙箱测试
应用设计好之后,可以在沙箱环境构建应用,进行应用的测试。应用可以进行多次测试构建。构建成功后,可以选择角色访问应用。
有关应用测试的具体内容,请参见:应用测试。
应用测试失败时,在以下环节详细展示错误环节和信息:
-
准备元数据阶段区分各模块、组件对应问题
-
生成代码阶段,各模块及其手写代码,且区分前后端对应问题
-
前后端构建详细日志可以跳转链接
-
启动日志详细展示对应错误信息
2.3发布版本
应用测试完成无误后,可正式发布上线。此处将记录正式发布的版本号、构建时间等信息。
有关应用发布的具体内容,请参见:应用发布。
2.4依赖设置
在构建应用时,为了满足一些复杂业务场景需求,我们可能需要整合特定的业务组件或利用其他应用的现有资源。这包括但不限于以下几个方面:
- 业务组件的集成 :根据业务场景的需要,将特定的业务逻辑组件嵌入到应用中,以实现特定的功能。
- 实体的关联 :在不同应用之间关联实体,以便在多个应用中使用相同的数据结构和数据。
- 页面的引用 :在应用中引用其他应用的页面,以便在不同应用间实现无缝跳转和数据交互。
- 接口的调用 :调用其他应用提供的接口服务,以实现跨应用的数据交互和功能扩展。
- 服务的集成 :集成其他应用的服务,以便在当前应用中使用这些服务提供的功能。
此时我们就需要使用到依赖,通过这种方式,应用能够更加灵活和强大,能够适应多变的业务需求,并提供更加丰富和个性化的服务。
有关依赖设置的具体内容,请参见:依赖设置。
2.5团队设置
应用详情中可以查看当前应用的团队成员。
应用所有人拥有对应用的完整控制权,可以邀请或移除新成员加入、移交应用所有权等。
2.6应用主题
定义应用中使用的主题风格数据,作用于页面、控件、元素等。
2 - 实体建模
2.1 - 实体定义
1.功能概述
实体是线下业务的线上化呈现基础,是指在数据模型中具有代表属性的事物或对象,可以作为数据的一种载体将结构化数据持久化保存在数据库中。
在应用中,每个实体均对应一张数据库表,实体的字段对应数据库表的列。例如在资产管理业务中,可以定义一个包含物资名称、型号、成本等字段的“物资”实体,以及一个包含供应商名称、联系人等字段的“供应商”实体,同时支持建立两张表之间的联系。
实体的定义可以划分为三个部分:
1、实体
对实体及实体间关系的定义,主要包含实体字段、实体规则、参照方案、索引等相关内容。
2、方法
方法是由实体暴露,提供给业务侧,与实体进行数据交互的规则,由业务侧触发。应用内部可直接调用,而外部应用可通过OpenAPI进行调用。为了便于使用,平台针对常用的实体方法。进行了不同程度的封装,如保存、删除等。
3、事件
事件也是由实体暴露,在实体数据变更后,主动推送给外部业务的消息,由实体触发。上层业务可通过订阅实体的事件,从而实现基于实体数据增删改作为触发条件的逻辑定义,比如报销单付款状态为付款失败时,向出纳发送邮件。
2功能介绍
2.1实体
2.1.1实体关系
正如现实业务中的对象大多存在一定关系,实体也存在着特定关系,平台将实体关系划分为两种:关联关系及聚合关系。
如何设置实体间关系,请参考:空链接。
- 关联关系
关联关系表达的是实体之间的一种静态、天然的弱关联关系,更改实体时,不会更改任何关联的实体。比如物资和供应商之间的关系,物资被删除了,但是供应商档案信息不会被删除依然存在,这种关系就是关联关系。
关联关系在系统中以字段形式存在,如物资实体中有一个字段,关联供应商。
- 聚合关系
聚合关系表达的是不同实体之间的强关联关系,是一组业务对象的组合,由一个主实体和多个子实体构成,删除主实体时,会同步删除所有聚合关系的子实体。比如物资领用单和领用明细,领用单被删除了,领用明细也会同步被删除,这种关系就是聚合关系。
聚合关系在系统中以主子实体形式存在,领用明细作为物资领用单的子实体。在该场景中,系统支持基于主实体进行聚合对象数据的增删改操作,基于主、子实体进行数据的查询操作。
聚合关系在平台中存在两种类型:
- 一对多聚合实体:实体A的一个实例可以与另一个实体B的多实例相关联,但实体B的一个实例只能与实体A的一个实例相关联。例如每个客户都可以具有多个销售订单,一个销售订单却只能对应一个客户。
- 一对一聚合实体:实体A的一个实例只能与另一个实体B的一个实例相关联,反之依然,这种关系就叫做一对一聚合。在现实世界中一对一聚合关系较少见,但在某些特定的业务场景中仍然会出现。例如一个人只能有一个身份证信息,一个身份证信息也只能对应一个人。
2.1.2实体类型
平台基于组织中常用的业务抽象提炼出有固定模式的规则,以帮助设计师快速创建业务对象。目前提供标准实体类型以及【单据】、【平铺档案】、【树形档案】在内的三种特定类型实体。
特定类型实体预置有不同的规则、事件以及字段,可以减少重复模式和固定规则的设计。
2.1.2.1标准实体
标准实体类型为通用的实体类型,未预置业务属性,设计师可以根据需求完全自定义实体的字段以及逻辑规则。
通常用于存储基础参数,比如报销参数,不会对其直接走流程做审批(流程中也无法选标准实体作为入口的)。
同时在聚合关系中,聚合实体的业务逻辑是基于根实体进行的,根实体是外部可以访问的唯一对象,非根实体不携带过多业务性质的规则,比如产生流程,因此非根实体默认为标准类型实体。
2.1.2.2单据实体
单据实体主要是日常的业务数据,通常需要走流程或审批。该类型实体不仅包含业务预置字段,还包含了相应的行为。
● 主要预置字段
○ 系统字段:创建时间、更新时间、创建人、更新人等
○ 单据业务字段:单据编号、单据日期、申请人
○ 流程相关字段:单据状态(草稿、待提交、提交中、已生效)、流程模板、流程实例、流程标题等
○ 流程过程字段:终止(是否终止、终止人、终止时间等)、作废(是否作废、作废人、作废时间等)等过程中特殊状态的相关字段
● 主要预置行为
○ 自动生成流水号(单据编号字段)
○ 该实体的页面可作为流程的入口页面,且创建流程后,将自动绑定流程
○ 根据流程流转,自动更新单据状态
○ 支持作为扣减规则的上游实体
2.1.2.3平铺档案
平铺档案实体通常作为基础信息或资料的载体,比如供应商,图书,组织机等。
● 主要预置字段
○ 系统字段:创建时间、更新时间、创建人、更新人等
○ 档案业务字段:名称、编码、组织机构、助记码、是否启用等
○ 流程相关字段:单据状态(草稿、待提交、提交中、已生效)、流程模板、流程实例、流程标题等
○ 流程过程字段:终止(是否终止、终止人、终止时间等)、作废(是否作废、作废人、作废时间等)等过程中特殊状态的相关字段
● 主要预置行为
○ 该实体的页面可作为流程的入口页面,且创建流程后,将自动绑定流程
○ 自动生成档案使用控制页面,用于管理档案类实体的权限管控模式
○ 自动生成参照方案
2.1.2.4树形档案
树形档案实体是一种特殊的档案实体,适用于承载具有多层级关系的档案业务数据。其预置字段和行为在平铺档案的基础上增加树形相关的预置内容。
● 主要预置字段
○ 系统字段:创建时间、更新时间、创建人、更新人等
○ 树结构字段:上级、是否末级、级次、id路径、显示名称路径
○ 档案业务字段:名称、编码、组织机构、助记码、是否启用等
○ 流程相关字段:单据状态(草稿、待提交、提交中、已生效)、流程模板、流程实例、流程标题等
○ 流程过程字段:终止(是否终止、终止人、终止时间等)、作废(是否作废、作废人、作废时间等)等过程中特殊状态的相关字段
● 主要预置行为
○ 该实体的页面可作为流程的入口页面,且创建流程后,将自动绑定流程
○ 自动生成档案使用控制页面,用于管理档案类实体的权限管控模式
○ 自动生成树形参照方案
○ 树结构字段根据树形结构自动生成,如层级变更后,id路径、是否末级等字段将自动调整值
2.2实体方法
方法是由实体暴露,提供给业务侧,与实体进行数据交互的规则,由业务侧触发。应用内部可直接调用,而外部应用可通过OpenAPI进行调用。为了便于使用,平台针对常用的实体方法,进行了不同程度的封装
1、内部调用
平台在页面中和微流程中军队实体常用方法进行了不同程度的封装,封装如下:
- 页面:页面中封装了一系列实体行为,以便设计师使用
如何使用页面事件行为,请参考:空链接。
○ 存为草稿:存储时不触发实体的校验规则
○ 保存记录:若提交的数据中包含的数据的ID,则为更新;若提交的数据中不包含ID,则为新增
○ 保存并新增:保存之后清空数据,继续保留新增弹窗
○ 保存并复制:保存后以保存的数据为默认值,继续新增
○ 提交记录:保存数据并触发绑定的工作流
○ 撤回记录:针对进行中的流程,进行撤回操作到首节点操作
○ 删除记录:删除数据
○ 刷新记录:重新请求数据
○ 导入:导入数据
○ 导出:导出数据
- 微流程:微流程中封装了一系列节点,以便设计师使用
微流程节点详情,请参考:空链接。
○ 查询单条数据
○ 查询多条数据
○ 插入数据
○ 批量插入数据
○ 更新数据
○ 批量更新数据
○ 删除数据
2.3实体事件
实体事件是实体暴露出来,解决实体到上层业务的数据交互方法,用户可通过订阅实体的事件,从而实现基于实体数据增删改作为触发条件的逻辑定义。比如报销单付款状态是付款失败时,向出纳发送邮件。
事件详细信息,请参考:空链接。
事件包含两种:预置事件和自定义事件
- 预置事件
实体创建后,平台自动暴露新增前、新增后、新增成功、更新前、更新后、更新成功、删除前、删除后、删除成功9种预置事件,用户可通过订阅实体的事件,从而实现基于实体数据增删改作为触发条件的逻辑定义。
- 自定义事件
平台支持在实体-事件中定义,通过外部应用以来,外部应用可使用实体的自定义事件。
2.4三方实体
2.2 - 实体创建
实体作为整个应用程序的核心,是搭建应用的第一步。本节将以资产管理系统中的物资领用场景为例,从零开始创建实体。通过该场景的实体建模,您可以初步了解实体配置的相关内容。
1.场景介绍
“物资领用单”(Material Requisition Form)在资产管理系统中是一个重要的单据,用于记录物资的领用情况。
在基础的物资领用场景中,涉及三个实体,其关系及字段如下:
其中“物资领用单”实体与“领用明细”实体为一对多聚合关系,“物资”实体与“领用明细”为关联关系。根据实体关系、实体类型的定义,可得以下逻辑:
1、“物资”实体为标准实体、“物资领用单”实体为单据实体;
2、“领用明细”实体为“物资领用单实体”的子实体;
3、“领用明细”实体有一个字段关联“物资”实体。
2.操作步骤
2.1创建“物资”实体
1、登录平台,选择应用,进入可视化开发界面,点击左侧导航项“实体”,在实体列表中可进行实体的操作。
2、点击实体列表右上角“添加实体”或点击分组右侧“添加”,创建实体。
3、输入实体名称“物资”,选择实体类型为“标准”,按序录入其余基本信息,点击“确定”,完成“物资”实体创建。
实体基本信息的设置详情,请参考实体基本信息。
4、添加物资字段
实体字段详细配置信息,请参考实体字段。
- 添加字段
- 字段属性中,设置物资编码字段唯一
5、配置实体规则(该场景中物资实体无需配置实体逻辑)
实体规则详细配置及示例,请参考实体规则。
6、配置参照方案
参照详细配置,请参考参照方案。
- 选择参照模板“列表”,输入名称,选择终端“web端”,点击下一步,进入参照配置页面
- 选择参照显示字段“物资名称”
- 显示列中勾选“物资名称”、“型号”
- 按序设置条件、排序、搜索、穿透页面(该场景中可不做配置)
7、按序配置实体事件、索引(该场景中物资实体无需配置事件和索引)
实体事件的详细配置,请参考实体事件。
索引详细信息,请参考索引。
2.2创建“物资领用单”实体
同理创建“物资领用单”实体。
2.3创建“物资明细”子实体
1、点击“物资领用单”实体右侧“添加”按钮,添加领用单子实体
2、录入基本信息,实体关系选择“一对多(父:子)”
- 子实体的增删改跟随主实体,其部分属性也跟随主实体
- 子实体均为标准实体,无预置的业务行为
3、添加明细字段,并建立与“物资”实体的关联
- 添加“领用物资”字段
- 输入名称“领用物资”
- 字段类型选择“实体”,其后选择“物资”实体,单选
- 添加其余字段
4、按序配置其余属性
3.补充说明
3.1实体删除
实体列表中点击实体右侧“更多”或右键点击实体,选择“ 删除 ”,可删除当前实体。实体删除将一同删除下级实体。
3.2实体复制
实体复制是指允许设计师快速复制现有实体的所有配置信息,包括但不限于字段定义、实体规则、索引、子实体等,常用于快速创建一个具有相似配置的新实体或用于其他目的。
-
复制入口:实体列表中点击实体右侧“更多”或右键点击实体,选择“复制 ”,可复制当前实体。
-
复制内容:实体复制功能中字段复制为基础复制,其余复制内容可根据业务情况自行选择
2.2.1 - 基本信息
1.功能概述
实体基本信息是指实体的基础的配置信息,在于定义和调整实体的结构、属性和行为。通常在实体创建时确定配置,部分设置项也支持创建后进行修改维护。
基本信息分为两类:基础设置、高级设置。
2.功能介绍
2.1基础设置
基础设置内容如下:
-
实体名称
实体显示名称,创建时必填。
-
实体编码
实体唯一标志,创建时必填。实体编码只能以字母开头,允许输入数字、字母。
-
实体类型
平台基于常用业务抽象出的具有固定模式的实体模型。不同实体类型会预置不同的字段和行为,默认为标准实体。
实体类型相关信息,请参考:实体类型。
-
实体分组
实体所属分组,存在默认分组,创建时必填。
-
字段集
字段集是一组有共性可通用的字段集合,支持一次定义,多处引用。实体中引用字段集后,可以减少重复性配置工作。
字段集详细信息及配置方式,请参考:空链接。
-
第三方实体
三方实体标识开关,勾选后,当前创建实体标示为三方实体。针对该类实体,平台将不进行数据的存储,所有的数据均来源于三方实体。
平台目前仅支持独立三方实体查询,不支持主子结构,且平台预置三方微流程,对于三方数据的查询,需配置微流程。
三方实体详细信息及使用方式,请参考:空链接。
2.2高级设置
-
扩展方案
扩展方案核心是为了解决用户在运行态需要字段扩展的能力。比如设备管理,目前客户设备属性,定义了10个字段,但随着业务的发展,还需要扩展其他的属性,故可以使用扩展方案,预留N个字段。
启用扩展方案后,将自动生成一个当前实体的扩展子实体,其字段为扩展方案中设置内容。扩展子实体在设计态无法使用,仅支持在运行态启用后使用。需和个性化能力搭配使用。
-
数据权限
开启后,运行时可管控数据的权限
运行时数据权限配置方式,请参考:空链接。
-
openApi
勾选后将向第三方开放对应接口,在【后台管理-集成连接-开放平台-API管理】处可查看详细接口文档。
-
密级管理
开启后,将预置【密级】字段用于数据项的密级管理,且开启后无法关闭。密级字段可用于页面进行数据密级的设置。
密级的管控需开启平台“密级管理”开关。对于密级管控的实体数据,低密级人员将无法查看高密级数据,以防高密低传现象的发生。
2.2.2 - 实体字段
1.功能概述
字段是对实体属性或特征的描述。实体可直观的理解为一张数据库表,实体名对应表名,实体字段即对应表头。一个实体具有多个字段,根据业务需要设计师可以自行添加字段。
每个实体字段都有对应的名称、数据类型(如文本、整数、日期等),并且可以包含额外的属性,比如是否允许为空、是否有默认值、是否唯一等。这些字段共同定义了实体的结构,用于组织和存储信息,以便于进行查询、更新和管理。在应用中,实体字段通常与用户界面中的输入域或显示区域相对应,允许用户与数据进行交互。设计良好的实体字段不仅有助于确保数据的一致性和准确性,而且对于提高数据库的性能和可用性至关重要。
2.字段数据类型
数据类型是软件开发中的重要概念,它决定了可以数据存储的值的种类和范围。通过正确选择和使用数据类型,可以确保数据的准确性、一致性和有效性。例如,当需要存储一个人的年龄信息时,适合使用整数类型的数据来表示,而存储商品价格时则适合使用货币类型。
字段类型 | 字段说明 |
---|---|
文本 | 表示一串包含字母、数字、和其他字符的字符串,通常用于文本的处理和数据存储。 ● 最多可输入4000字符 ● 支持设置正则规则规范其格式 ● 支持脱敏和加密设置 |
多行文本 | 特殊类型的文本,允许用户输入较长的字符串内容,阈值最多可输入 10000 字符。多行文本最大阈值小于4000时,数据库按文本存储,且运行态提交时会校验数据长度。最大阈值大于等于4000时,数据库按大文本字段存储,且运行态提交时不会校验数据长度。 注:文本字段和长度不超过4000的多行文本字段,其总字符数上限为16000,超出限制将无法新增文本类字段。 |
整数 | 表示没有小数部分的数字,可以是正数、负数或零。 取值范围:-(2 <sup> 31 </sup> -1) ~ 2 <sup> 31 </sup> ,即:-2147483648 ~ 2147483647 |
长整数 | 特殊类型的整数。 取值范围:-(2 <sup> 53 </sup> -1) ~ 2 <sup> 53 </sup> -1,即:-9007199254740991 ~ 9007199254740991 |
小数 | 表示带有小数部分的数字,能够提供更高的精度,通常用于科学计算,或其他需要精度较高的场景,小数位数最大支持 10 位。 |
货币 | 特殊类型的小数,可携带指定币种符号,通常用于货币计算。 |
日期 | 表示具体的日期,通常用于仅日期处理和数据存储。 |
时间 | 表示具体的时间,通常用于仅时间处理和数据存储。 |
日期时间 | 表示具体的日期和时间,通常用于日期和时间的处理和数据存储。 |
布尔 | 表示真(true )或假(false ),通常用于条件判断。 |
选项集 | 选项集是一种自定义的数据类型,用于定义一组有穷序列集。选项集运行态无法修改,通常用于固定选项的序列集场景。 例如“星期”就是一个选项集, 星期一、星期二、 星期三、星期四、星期五、星期六、星期日 就是其值。注:选项集详细信息,请参考:空链接。 |
枚举 | 枚举也是一种自定义的数据类型,用于定义一组有穷序列集。枚举运行态可扩展,且支持多层级展示。 例如“兴趣爱好”就是一个枚举,内部值可在运行态随时定义添加。 注:枚举详细信息,请参考:空链接。 |
附件 | 通常用于存储指向文件的引用,而不是文件本身。 借助页面中附件组件,用户可上传多种类型的文件,文件本身会存储于文件服务器,而附件字段将存储文件的路径、以及文件相关的元数据,如文件名、大小、创建者、创建日期等。 |
实体 | 通常用于存储其余实体的唯一标识ID,可建立实体间的关联关系。 支持一对一关联或一对多关联。 注:多选时,最多选择 180 个。 |
流水号 | 一种特殊的字段类型,用于唯一标识数据库中的每条记录,通常具有业务意义,如订单编码、交易记录等。 流水号字段的值是按规则自动生成的,以确保其唯一性和顺序性。 |
正文 | 一种特殊的字段类型,通常用于存储带有格式的大文本,如新闻内容、报告详情等。 ● 支持内容的格式设置,如粗体、斜体、字号等 ● 支持HTML标签,允许用户创建包含各种样式和布局的文本内容 ● 其内容的查看和编辑需依赖页面中的正文组件(富文本编辑器) |
3.字段属性
创建字段后,支持的配置如下:
-
名称:字段的显示名称,可使用中文等任一字符。配置后,在页面中如需展示该字段,会显示对应名称,如数据列表的表头会默认展示字段名称。
-
编码:字段的唯一标识,只能以字母开头,支持至多 30 个英文字母、数字的组合。
-
类型:字段数据类型,可根据实际需求选择字段类型。
-
默认值:字段的初始值。当在创建记录时没有为该字段提供值,系统将自动使用这个默认值进行填充,以减少数据缺失的情况。
-
计算值:基于其他字段值通过预定义的计算逻辑动态生成的字段值,这种值通常不是用户直接输入的,而是系统根据设置的公式或规则自动计算得出的,例如,根据商品的单价和数量自动计算总价,或根据日期字段计算年龄等。
-
必填:必填属性要求用户在创建或更新数据时,必须提供有效值。复选框勾选时表示必填,未勾选时表示非必填。勾选时,页面组件会自动校验此字段是否被用户填写。
-
唯一:设置该字段的值是否唯一,常用于标识记录的主键或确保实体的某个字段(如电子邮件地址、身份证号等)在整个数据集中具有唯一性。字段唯一支持单字段唯一和多字段组合唯一。
-
单字段唯一:单个字段内的值必须唯一
-
多字段组合唯一:由两个或多个字段组合而成的一组值必须在数据库表中保持唯一性
-
-
阈值设置:用于限定字段值的允许范围,确保输入或处理的数据满足特定的最小值和最大值要求,以防止无效或不合理的数据被录入数据库,例如,确保年龄字段或者价格字段不会记录负值。
-
默认显示:用于控制实体生成页面的显示内容,及页面中拖拽实体生成数据控件时的显示内容,支持设置显示在列表、详情、搜索中,如该字段在创建列表时是否自动生成列,自动生成搜索项
-
列表项:复选框勾选时,拖拽实体生成的列表含有该字段
-
详情信息:
-
快捷搜索项:
-
-
输入检验:文本字段支持使用正则规则进行内容格式检验同时支持自定义设置格式错误时提示
-
脱敏加密:文本字段支持脱敏加密配置
- 智能脱敏:智能识别手机号码、银行卡号、身份证号码及邮箱地址并做智能脱敏,其他类型数据全部替换为“”,脱敏效果仅针对页面显示生效
- 全脱敏:针对所有的类型数据全部替换为“*”,脱敏效果仅针对页面显示生效
- 加密:针对数据存储时进行加密,加密效果仅针对数据库数据生效
-
数据在异构系统加密:加密配置之一,适用于异构系统加密后通过 openapi 接口存入数据的情况
-
数据不解密传递给异构系统:加密配置之一,适用于 openapi 查询接口中数据不解密传递给异构系统的情况
-
审计:设置该字段数据是否进行审计。勾选后,平台将追踪和记录数据库中该字段的每一次变更
-
全文检索:设置是否能对该字段的内容进行全文检索
-
敏感词检测:用于字段敏感词检测标记,仅文本、多行文本、正文有该属性。勾选后,可遵循平台配置的敏感词监测规范,对该字段进行录入检测
-
保存记录时自动检测,并提示
-
配置页面事件,手动触发检测
-
-
默认控件:用于设置页面中拖入字段时自动使用的控件
4.字段分类
应用支持预置字段或用户自定义字段。
4.1预置字段
针对不同类型的实体,平台预置有不同的字段,可以满足最基本的业务需求,系统预置字段如下:
预置字段不可删除,其部分属性不可修改。
1、系统分组:系统字段,由系统自动管理,用以追踪记录的创建和变更历史,字段属性不可修改
- ID:数据的主键信息,作为每条数据的唯一标识,数据类型为 Integer 整数类型。字段列表中不可见
- 创建时间:数据的创建时间,数据类型为 DateTime 日期时间类型
- 创建人:数据的创建人,数据类型为 Enity 实体类型
- 创建人机构:创建人所在机构,数据类型为 Enity 实体类型
- 创建人部门:创建人所在部门,数据类型为 Enity 实体类型
- 创建人岗位:创建人所在岗位,数据类型为 Enity 实体类型
- 更新时间:最后一次更新数据的时间,数据类型为 DateTime 日期时间类型
- 更新人:最后一次更新数据的人,数据类型为 Enity 实体类型
- [实体]发送状态:流程中使用的状态,数据类型为 Enum 选项集类型。该字段值及对应的选项集均由系统自动生成
- 扣减规则信息:单据实体特有系统字段,用于记录扣减规则相关信息的字段,数据类型为 MultiLineString 多行文本类型
- 父实体:子实体特有系统字段,用于标注所属父实体id,数据类型为 Enity 实体类型
- 排序号:子实体特有系统字段,用于记录前端录入顺序,数据类型为 Integer 整数类型。前端页面不可见
2、流程分组:流程审批相关字段,由系统自动管理,仅档案和单据实体有该分组字段,字段属性不可修改
- 流程相关字段:单据状态(草稿、待提交、提交中、已生效)、流程模板、流程实例、流程标题等
- 流程过程字段:终止(是否终止、终止人、终止时间等)、作废(是否作废、作废人、作废时间等)等过程中特殊状态的相关字段
3、单据分组:单据实体独有字段,为单据业务的常用字段
- 单据编号:用于唯一标识单据的一串数字或字母组合,数据类型为 SerialNum 流水号类型
- 单据日期:单据生成或交易发生的日期,默认值为创建时间,可修改,数据类型为 DateTime 日期时间类型
- 申请人:业务中发起单据或请求的个人,默认值为当前登录人员,可修改,数据类型为 Enity 实体类型
3、档案分组:档案实体特有字段,为档案业务的常用字段
- 档案业务字段
- 组织机构:档案所属机构,默认值为登录人员所在机构,可修改,数据类型为 Enity 实体类型
- 编码:唯一标识每份档案的编号,数据类型为 String 文本类型
- 名称:档案名称,数据类型为 String 文本类型
- 简称:档案内容的简短描述,数据类型为 String 文本类型
- 助记码:与档案相关联的简短、易记的代码或标识符,数据类型为 String 文本类型
- 是否启用:档案启用状态,数据类型为 Boolean 布尔类型
- 树形档案的结构字段
- 上级:标识档案的上级或父级档案,用于建立层级关系,数据类型为 Enity 实体类型
- ID路径:从根节点到当前节点的数据ID路径,用于定位档案,数据类型为 String 文本类型
- 显示名称路径:从根节点到当前节点的数据显示名称路径,用于定位档案,数据类型为 String 文本类型
- 是否末级:指示器字段,用于标识当前节点是否是树结构中的最底层或末级节点,数据类型为 Boolean 布尔类型
4.2自定义字段
系统字段以外的字段为自定义字段,设计师可以通过添加自定义字段来扩展实体的描述,以满足具体的业务需求。
-
添加字段:点击字段列表左上方“ 添加 ”或单击列表下方的“ 添加 ”按钮来添加自定义字段。
-
删除字段:右键点击字段选择“ 删除所在行 ”或选中字段后单击列表上方的“ 删除 ”按钮来删除该字段。
5.补充说明
5.1字段分组
在实体字段列表中提供字段分组能力,允许将具有相似属性或属于相同业务逻辑的实体字段归类到一个组中。这种分组可以基于字段的数据类型、用途或其他自定义标准,从而简化数据的检索和维护。
-
添加分组:点击字段列表左上方“ 新建分组 ”来添加空白分组。
-
分组中添加字段
-
添加字段:鼠标移至对应分组,点击分组项右侧“添加字段”,可添加分组内字段。
-
拖入字段:勾选欲拖入分组的字段,鼠标左键长按字段左侧“拖拽”图标,拖入对应分组。
-
-
解散分组:鼠标移至对应分组,点击分组项右侧“解散分组”,可解散当前分组,解散分组后其包含的字段会移出到当前位置。
-
删除分组:鼠标移至对应分组,点击分组项右侧“删除”,或者勾选分组后,点击列表上方可删除当前分组,删除分组也将会删除其包含的所有字段。
5.2字段转移
字段转移允许设计师将字段从一个实体复制或移动到另一个实体。这个功能可以字段重复构建,提高实体创建的效率。
-
转移入口:勾选欲转移字段,点击列表上方“转移至”。
-
转移位置:可选择转移至已有实体或新建实体
-
复制并转移副本:该功能支持直接转移,或先复制再转移副本
5.3一键生成页面
允许设计师通过简单的操作,基于实体快速生成列表页面、详情页面,并建立关联。
-
操作入口:完成实体字段的设置后,点击列表右上角“生成页面”。
-
生成页面:可以基于实体和模板,快速创建列表页和详情页,快速生成页面会自动建立列表页和详情页的跳转关系。
2.2.3 - 实体规则
1.功能概念
实体规则是由设计师利用可视化的规则编辑器,在数据模型层面上为实体定义的一套自定义逻辑规则。这些规则专注于数据层的逻辑处理,具备跨页面和跨应用的生效能力,确保数据底层的准确性和一致性。实体规则适用于处理 多字段联合 或 条件性较强 的复杂规则,涵盖了校验类和计算类规则。
2.功能介绍
2.1功能入口
-
选择实体,进入实体信息页面,点击顶部“规则”,进入实体规则列表
-
点击列表右上角“新建”,创建实体规则
2.2实体规则类型
-
校验类规则
数据的准入规则,仅针对数据的新增和更新生效,如限制不能补上个月的打卡信息。
-
计算类规则
可实现实体字段值设置的逻辑定义,区别“字段”处的默认值计算值,规则能够满足更为复杂的多条件赋值情况,如当字段1=a时,字段2赋值为A,当字段1=b时,不赋值。
-
页面默认值规则
为实体字段的初始默认数据,最终录入数据受用户录入以及计算值的影响。在页面初始化字段控件时生效,优先级高于字段默认值,低于页面默认值。
2.3常用节点
分支
使用范围:校验类规则、计算类规则、页面默认值规则
简介:判断特定条件,当满足时决定逻辑执行分支走向。适用于多模式匹配场景,如根据不同的输入类型执行不同的操作。
使用说明:
- 分支节点接受的匹配条件可以是变量、逻辑、接口、内置函数等有返回值的表达式
- 支持多分支,存在默认分支,若其余分支条件均不满足,正文自动进入默认分支
- 每条分支后可选择其余要执行的动作节点
子微流程
使用范围:校验类规则、计算类规则、页面默认值规则
简介:支持调用当前应用下正式态的服务定义类型微流程,按需根据所选的微流程配置入参。
使用说明:
- 仅支持调用服务定义类型微流程
- 使用子微流程时,请避免造成微流程的循环调用
- 检验类和计算类规则,由于以获取实际字段值,可使用字段数据进行入参映射
- 页面默认值规则的执行时间在页面初始化字段组件时,此时无字段数据,因此无法使用字段数据进行入参映射
唯一
使用范围:校验类规则
简介:设置所选字段的值是否唯一,数据保存时进行值的唯一性校验。
使用说明:
- 支持单字段唯一和多字段联合唯一
- 支持设置错误是提示信息
必填
使用范围:校验类规则
简介:设置所选字段是否需要必填
使用说明:
- 支持设置错误时提示信息
显示信息
使用范围:校验类规则
简介:选择字段,提交时显示提示信息,信息类型为错误时,会终止当前实体的提交。
使用说明:
- 选择具体字段,提示信息将显示在字段控件下方
- 当前仅支持“错误信息”,执行至当前节点,将终止实体的提交
- 支持设置错误时提示信息内容
设置值
使用范围:计算类规则
简介:针对实体字段,提供值设置操作。设置字段值,其执行在实体字段的默认值、计算值执行之前。
使用说明:
- 出于性能考虑,该节点限制了可选上下文,只能在当前聚合根内选择字段或对子孙进行汇总
- 设置值节点的执行在实体字段的默认值、计算值执行之前
默认值
使用范围:页面默认值规则
简介:字段的初始值,页面初始化字段组件时,赋值
使用说明:
- 实体规则的默认值,其优先级高于字段默认值,低于页面默认值
- 支持多字段同时设置默认值
- 由于页面默认值规则的执行时间在页面初始化字段组件时,此时无字段数据,因此该节点通常和子微流程一起使用,通过子微流程出参数据作为分支条件参数,以达到条件默认值的效果
3.场景示例
3.1条件唯一
3.1.1场景描述
3.1.2操作步骤
3.1.3效果展示
3.2条件性限制录入
3.3条件设置值
2.2.4 - 实体参照
1. 功能概念
业务中常见一种场景,当前页面需要引用其他实体的数据,该场景在低代码平台中定义为“参照”,如:在填写进货单时可以选择已有的商品,其中进货单和商品是两个不同的实体。
参照方案:本质是数据的查询方案,每个实体可以配置多个参照方案,会以参照方案的配置生成该实体的数据列表,供其他实体引用。
参照控件:是一种数据录入的基础控件,参照控件绑定关联实体的参照方案,运行态可以选择该参照方案查询的数据。请查看参照控件的详细介绍
在填写进货单时选择商品,演示效果如下:
2. 功能介绍
2.1 参照样式
在运行态选择参照方案的数据,有三种样式:列表、左树右列表、树表。
(1)列表:所有实体均可配置列表参照。
(2)左树右列表:实体中必须有字段关联了树形实体,才可展现为左树右列表样式。
比如:[商品]实体中有实体类型的字段“商品类别”,“商品类别"关联了树形实体[商品类别],那么[商品]实体的参照可以设置成左树右列表样式,左侧是商品类别,右侧是商品列表。
(3)树表:仅树形实体可配置树表参照。
运行态列表参照:
运行态左树右列表参照:
运行态树表参照:
2.2 参照方案配置
2.2.1 选择参照模板
(1)选择参照样式模板:列表、左树右表、树表。
(2)配置参照名称。运行态将在参照选择数据的弹窗中展示参照名称,所以,需要设置合适的参照名称。
(3)选择终端。 PC和移动端的参照是默认勾选且不可取消。
设计态配置界面:
2.2.2 设置参照内容
2.2.2.1 实体
- 首先需要理解参照驱动实体。参照驱动实体是指哪个实体的参照方案。主实体和一对多子实体都可以设置参照方案,他们都可以作为驱动实体。主实体作为驱动实体,参照列表是以主的维度展示数据;子实体作为驱动实体,参照列表是以子的维度展示数据。
- 进入参照内容设置中,“实体”会默认勾选驱动实体,且不可以取消, 还可以手动选择驱动实体的子实体。
设计态配置界面:
2.2.2.2 参照显示字段
- 参照显示字段是指选择参照方案后回写到参照控件中的数据。比如选择人员后,参照控件显示人员姓名。
- 参照显示字段只能选驱动实体的字段,但不支持实体、枚举、附件、多行文本类型的字段。
- 参照显示字段支持选择多个字段,比如人员实体的参照回显姓名和工号。参照显示字段还支持手动输入常量,比如想回显为“姓名+工号”,可在输入框中手动输入“+”。 注意:手动输入的常量不建议使用类似变量的文案,比如”姓名",容易与变量混淆。
设计态配置界面:
2.2.2.3 参照下拉字段
- 参照下拉字段是指在参照控件中通过下拉框快捷选择参照数据时,在下拉框中展示每条数据的关键字段。比如选择商品,在下拉快捷选择时展示商品编号和商品名称。
- 未设置时默认使用参照显示字段。
- 参照下拉字段只能选到驱动实体的字段,但不支持实体、枚举、附件、多行文本类型的字段。仅PC端有该配置,移动端的参照组件交互不需要该配置。
设计态配置界面:
2.2.2.4 数据关联
- 数据关联是指驱动实体的数据和另一个关联了当前实体的实体数据取交集。
- 场景搭建举例:
前置:两个实体[商品]、[进货表],[库存表]中有一个实体类型字段“商品编号”,该字段关联了实体[商品]且单选**(多选不支持数据关联)**。
需求:在出库单中,只选择库存表中的商品。
搭建:该需求的本质是选择商品,所以需要做商品的参照方案,但只能选择库存表中的商品。
在[商品]的参照方案中数据关联[库存表]。约束实体选择[库存表],关联字段会默认使用[库存表]中的“商品编号"字段。
设计态配置界面:
2.2.2.5 显示列
显示列是指在参照列表中显示哪些字段。当参照方案是左树右列表样式时,需要分别配置树和列表。当参照方案是列表或树表样式时,只需要配置列表。
- 列表显示列字段的可选范围:
(1)驱动实体是主实体,“实体"只选了主实体,显示列只能选到”实体"的字段。如下图配置界面:
(2)驱动实体是子实体, “实体"选择了子实体和孙实体。参照显示列可选到“实体"中的字段(框红), 也可以选到驱动实体的上级实体字段(框蓝)。如下图配置界面:
(3)驱动实体是孙实体, “实体"选择了孙实体。参照显示列可选到“实体"中的字段(框红), 也可以选到驱动实体的所有上级实体字段(框蓝)。如下图配置界面:
2.2.2.6 条件
设置参照列表的过滤条件,参照列表中仅展示满足条件的数据。条件左值可选字段范围与“实体”中的配置有联动关系。
设计态配置界面:
2.2.2.7 排序
对参照列表数据排序,排序字段可选范围与“实体”配置保持一致。
当有多个排序字段时,先按第一个字段排序,第一个字段相同的行再用第二个字段排序。
设计态配置界面:
2.2.2.8 搜索
- 参照列表进行搜索。搜索字段可选范围与“实体”配置保持一致。
- 支持多种搜索样式 。详细介绍请查看不同字段类型的搜索样式。
- 实体类型字段作为搜索字段时,需要选择参照方案。运行态搜索时,可以在下拉中快捷搜索或进入到参照列表中选择数据。
- 快速搜索:快捷搜索是指直接在参照控件输入框中进行搜索,仅支持使用文本类型字段做快捷搜索。
- 搜索匹配方式:文本类型字段用于搜索时,默认使用左匹配。
设计态配置界面:
运行态效果:
运行态效果:
2.2.2.9 穿透页面
穿透页面只能是详情页面,且页面对应实体是驱动实体的主实体。
运行态点击参照控件回写的内容,或参照列表中点击参照显示字段所在列,都可以打开穿透页面;一般用于查看数据详情。
运行态演示效果:
2.2.2.10 新增页面
- 主要用于找不到预期的参照数据,可以打开新增页面新增一条数据。默认新增页面和穿透页面是同一个页面。
- 配置了新增页面,将默认在参照列表中展示新增按钮,点击按钮打开新增页面。
设计态配置界面:
运行态演示效果:
2.2.2.11 左树右列表参照配置
左树右列表参照方案,需要分别配置树和列表。
树的配置中,显示列、条件、排序、搜索的配置和列表是一致的。下面说明数据源和字段。
数据源:驱动实体中关联的树形实体,且该树形实体为当前应用中的实体。 运行态以该数据源的数据来渲染左树。
选择字段:当驱动实体中有多个字段关联了这个树形实体,运行态点击树节点对列表过滤时,按指定的这个字段进行过滤。
2.3 参照方案PC转移动
支持一键将PC端的参照方案配置转到移动端,提高搭建效率。
相同的属性是完全一致转换, 有个别特殊的转换规则说明如下:
(1)搜索配置:实体类型字段的参照方案会默认取PC已选的参照方案的对应移动端参照方案,如果未找到,则默认用移动端第一个参照方案。如果未配置参照方案,一致性检查会报错。
(2)穿透页面配置:会默认取PC端页面对应的移动端页面,如果页面入参一致,也会进行参数映射的转换。
2.2.5 - 实体事件
1.功能概述
实体事件是实体暴露出来,解决实体到上层业务的数据交互方法,通过订阅实体的事件,允许设计师在数据生命周期的关键点插入自定义逻辑,从而实现复杂的业务需求。比如报销单付款状态是付款失败时,向出纳发送邮件。
用户在发起数据新增、更新或删除请求时,数据库将遵循一系列标准化流程来处理这些操作,同时在关键步骤或特殊时机触发事件,允许外部系统或应用程序响应这些关键时刻。
2.功能介绍
2.1预置事件
实体创建后,平台会自动暴露新增前、新增后、新增成功、更新前、更新后、更新成功、删除前、删除后、删除成功9种预置事件,预置事件仅支持在应用内部使用。
按照操作类型和时机分为以下几类:
操作前 | 操作后 | 操作成功 | |
---|---|---|---|
新增 | √ | √ | √ |
更新 | √ | √ | √ |
删除 | √ | √ | √ |
此处以用户购买【商品】下单事件为例,商品订单新增事件的操作前、操作后、操作成功适用场景如下:
1、用户下单后,可以监听【操作前】事件,为此订单生成一个流水号或者进行该【商品】的参数合法性检查。
2、用户下单后,可以监听【操作后】事件,用于扣减订单对应商品的库存,如此次扣减失败(如库存不足),则会取消本次【商品】下单操作。
3、用户下单后,可以监听【操作成功】事件,发送下单成功的通知短信,如发送短信失败(如短信平台余额不足),也不会影响本次订单的正常生成。
预置事件定义如下:
1、新增操作相关事件
- 新增操作前 (Before Create): 在数据库记录被创建之前触发,可用于数据验证或修改。
- 新增操作后 (After Create): 在数据库记录创建过程中触发,后续其余操作步骤失败可阻断新增,可用于更新关联数据。
- 新增操作成功 (Create Success): 在数据库记录成功创建后触发,后续的其余操作步骤成功与否不影响新增,可用于发送通知等场景。
2、更新操作相关事件
- 更新操作前 (Before Update): 在数据库记录被更新之前触发,可用于检查更新条件或修改数据。
- 更新操作后 (After Update): 在数据库记录更新过程中触发,后续其余操作步骤失败可阻断更新,可用于同步更新到其他系统。
- 更新操作成功 (Update Success): 在数据库记录成功更新后触发,后续的其余操作步骤成功与否不影响新增,可用于记录变更日志等场景。
3、删除操作相关事件
- 删除操作前 (Before Delete): 在数据库记录被删除之前触发,可用于检查删除条件或备份数据。
- 删除操作后 (After Delete):在数据库记录删除过程中触发,后续其余操作步骤失败可阻断删除,可用于清理相关资源等场景。
- 删除操作成功 (Delete Success): 在数据库记录成功删除后触发,后续的其余操作步骤成功与否不影响新增,可用于更新计数器等场景。
2.2自定义事件
自定义事件,是为了解决跨应用的事件通知,实体数据的新增、修改、删除,都可作为事件的触发时机。
-
事件数据:可设置事件发生时,对外输出的数据,支持主子孙实体全部字段输出,或者部分字段输出
-
触发时机:可设置事件触发时机,支持数据的新增、修改、删除做为触发事件,此处均为操作成功时触发
-
触发条件:可设置符合对应的条件事件才会触发。比如更新物料领用单时,物料领用单生效状态为已生效时,事件触发;否则不会触发
2.3实体事件使用
1、当前应用中使用事件
-
创建“事件监听”微流程,选择开始节点
-
节点配置:选择数据来源实体,选择对应事件,利用平台自动生成的预置事件,创建监听工作流
-
根据业务,配置后续操作节点
2、跨应用使用事件
-
应用A中,指定实体中创建自定义事件
-
应用B中,添加依赖应用A
-
应用B中,创建“事件监听”微流程,选择开始节点
-
节点配置:选择“应用间”,选择依赖应用A,选择对应事件,创建监听工作流
-
根据业务,配置后续操作节点
2.2.6 - 实体索引
功能概述
索引是数据库优化的关键工具,其功能类似于图书的目录,允许用户通过索引快速定位到数据,就像利用目录快速翻阅到书的特定章节一样。这种机制显著提升了SQL查询的执行速度,使得用户能够迅速提取数据库表中的精确信息。索引特别适用于那些经常用于搜索、排序或过滤操作的字段,以确保这些常见操作的响应速度。
说明
索引会消耗更多的存储资源,且对于需要频繁更新的表、索引可能会对创建、更新和删除操作的性能产生影响。建议权衡索引的利弊,维持数据库的性能。功能介绍
索引分类
根据索引在数据唯一性方面的约束可以将索引划分为两类:
-
普通索引
最基本的索引类型,主要用于优化查询性能,并不保证数据的唯一性。
-
唯一索引
唯一索引要求索引列或列组合中的值必须组合唯一的,不能有重复。这种索引不仅优化了查询性能,还防止了重复数据的插入。
注:修改唯一索引会对数据库产生影响,因此测试发布后若修改唯一索引,需清空沙箱数据才可生效。
索引操作
-
创建索引
-
字段快捷添加唯一索引:字段列表处可通过勾选字段“唯一”属性,来快捷创建唯一联合索引
-
手动添加自定义索引:单击索引列表右上角“ 新建”按钮来添加索引。同一个索引支持添加多个字段,即添加联合索引。
-
-
删除索引:勾选预删除的索引项,单击索引列表右上角“ 删除”按钮来删除索引。
3 - 菜单页面
3.1 - 菜单管理
1. PC端菜单&页面
1.1 菜单和页面的关系
在实际业务应用中,菜单表示一个完整的功能模块,可能由一个或多个有业务关联的页面组成。比如菜单【商品管理】,包括了商品详情页和商品列表页。
在实际搭建前,需要先梳理业务,明确业务应用的功能模块,创建相应的菜单。
1.2 创建多级菜单
菜单是终端用户访问应用的入口,通过新建菜单及子菜单可以实现多级菜单。
操作方法:
(1)点击文件夹的图标,新建一级菜单;
(2)hover到某个菜单,更多设置中可在当前菜单的下方或上方添加平级菜单,或添加子菜单。
如下图所示:
1.3 设置菜单跳转页面
默认页面是指运行态点击该菜单默认进入的页面。每个菜单必须有默认页面,且只能有一个默认页面。
系统会将该菜单下的第一个页面自动设置为默认页面,设计师可以调整。
操作方法:hover到某个页面,在更多操作中选择“设置默认页面",如下图所示。
1.4 调整菜单层级和顺序
hover到某个菜单,在更多设置中,可对菜单进行上下移动,或升级降级。 调整菜单层级或顺序,菜单下的页面会跟随一并调整。
tips: 可在菜单列表中,直接拖动菜单进行顺序调整。
2. 移动端分组&页面
2.1 新建分组
移动端提供分组管理页面的能力,实际搭建时可以将相同场景的页面放到一个组中,分组不支持多层级。
注意:分组并不代表移动端应用的导航, 仅作为设计态页面的一种管理方法,如需设置导航,详情请参考移动端应用导航设置。
操作方法:点击“文件夹"图标添加分组,如下图所示。
2.2 调整分组顺序
操作方法:hover到某个分组,在更多设置中,可对分组进行上下移动调整顺序。调整分组顺序,分组下的页面会跟随一并调整。如下图所示。
tips: 可在分组列表中,直接拖动分组进行顺序调整。
3. 预置菜单&页面
平台会预置部分菜单及页面,比如导入导出模板管理、流水号规则设置、枚举管理等。主要满足运行态的业务个性化需求,比如在运行态增加流水号规则,增加枚举项、增加导入导出模板。一般是应用管理员会被分配权限查看这些页面。权限分配详情可参考角色权限
预置菜单和页面也可以删除, 删除后可以在引用页面中重新添加。如下图所示。
4. 引用页面
适用场景:引用已有的页面,比如有费用报销和发票管理两个应用, 在费用报销应用中想查看发票, 这时可以直接引用发票管理中的页面。
可被引用的页面类型包括:当前应用创建的所有页面、系统预置页面、依赖应用的页面、当前应用的BI报表、外部链接。
注意:
(1) 如果要引用其他应用的页面,需要先建立应用依赖, 详情请参考应用依赖。
(2) 如果引用当前应用的页面,引用页面和原页面是一份数据,任一一处修改,其他地方将同步生效。
(3)引用依赖应用的页面、引用报表、引用链接都只能查看,不可修改原页面。
3.2 - 新建页面
新建页面
新建页面入口,如下图
页面信息:
(1) 页面名称:页面的显示名称。
(2) 页面标识:每个页面有唯一标识,页面新建成功后不可修改。
(3) 页面类型:详情页、列表页、全表编辑页、其他。 详情请参考页面类型
(4) 自定义页面:勾选后,表示该页面为手工开发的页面,不能通过可视化组件拖拽的方式搭建页面。创建的自定义页面会生成页面唯一标识, 在手动开发时会用到该标识。详情请参考自定义页面
(5) 页面对应实体:
✓ 页面对应实体可选择主子孙实体。
✓ 页面中需至少一个数据控件绑定“页面对应实体",否则无法保存页面。
(6) 适配终端:同时勾选PC和移动端,会在移动端也生成相应页面,移动端页面可以通过“转移动”由PC端转成移动端。详情请参考PC转移动
(7) 页面模板:根据选择的页面类型,系统提供相应的页面模板,可分别选择PC端和移动端模板,将会基于模板生成页面。详情请参考页面模板
3.3 - 页面设计
功能概述
页面是应用呈现给用户浏览内容和交互操作的界面,可视化设计器提供了编辑页面的能力,设计师可以直接拖拽组件到画布中,进行页面布局、属性设置、样式调整等操作,快速高效地完成页面设计。
功能介绍
页面类型
(1)详情页:用于数据的录入、编辑、查看,可通过参数设置页面的打开模式:新建、编辑、查看。详情页预置页面入参ID, 当以编辑或查看模式打开详情页时,需要设置入参ID的值,说明打开的是哪一条数据。详情页需使用到数据控件单一记录,详情请参考单一记录。
详情页举例如下:
(2)列表页:用于数据的查询。一般搭建方法是:PC端使用重复表查询搭配筛选控件、移动端重复节(需配置控件状态为只读)搭配筛选控件。详情请参考重复表查询、重复节、筛选控件。
列表页举例如下:
(3)全表编辑页:用于在列表中直接录入数据并展示数据,不需要单独做详情页和列表页,常用于数据字段较少时录入和展示数据。一般是使用重复表录入、树表录入控件进行搭建。详情请参考重复表录入、树表录入。
全表编辑页举例如下:
(4)其他页面:主要用于搭建流程表单的辅助信息页。该类型的页面可以不绑定页面对应实体。详情请参考流程中辅助信息页配置方法
页面设计的基本流程
1、新建页面
进入【菜单】模块,选中Web端或移动端, 添加页面。
注意:PC端页面需要挂在菜单下, 移动端页面需要放到分组下。在新建页面时“适配终端"选择菜单或分组。
2、页面分区布局
根据实际业务页面,在页面设计器中对页面进行分区布局。
(1)在页面属性中,开启页面布局,PC端页面可被分为上、下、左、右、中五个区域,移动端页面可被分为上、中、下三个区域。可根据实际业务开启或关闭某个区域。
注意:如果页面绑定了外框,页面布局将不可用。
(2)使用布局控件对页面进行二次布局。
3、拖入数据控件绑定数据源
(1)如果搭建详情页面, 就拖入单一记录数据控件,在右侧属性中”实体"绑定数据源。
(2)如果搭建列表查询页面,就拖入重复表查询或重复节控件,在右侧属性中”实体"绑定数据源。
绑定数据源后会自动生成子控件。
4、控件配置
每个控件可配置属性、事件、风格。 属性为该组件基本配置; 事件为该组件的交互配置; 风格为该组件的样式配置。详情可参考组件介绍
5、页面保存
设计好页面后,需保存页面,或保存为草稿。为了保证页面能正常运行,保存页面时会对页面和控件配置进行校验, 如有报错,可根据提示信息修改后再保存。
3.3.1 - 快捷创建和调整页面的方法
基于模板创建页面
新建页面时,先选择页面类型,然后在该类型的模板中,选择合适的模板,基于模板快速生成页面。
基于实体快速生成页面
新建实体后,点击“生成页面", 可选择生成列表页和详情页,将会基于模板快速生成相应的页面。
PC页面一键转移动
搭建步骤:
1、新建页面时,适配终端同时勾选web端和移动端,将会同时创建两端页面,且两端页面建立了关联。
2、设计页面时,切换到移动端,点击”转移动",可将PC端内容直接转换到移动端。可选择全部转换,或仅选择PC端的部分内容进行转换。
注意:
1、PC转移动时,全部转换将会清除当前移动端页面已有内容(控件、页面规则)及外框占位内容。
2、移动端未绑定外框时,如果存在PC外框对应的移动外框(新建外框时同时勾选了PC和移动), 转换时,会加上对应移动外框。 如果不存在对应移动外框,只转PC端的内容区。
3、移动端已绑定外框,PC页面转移动,按占位的名称去匹配,匹配不到的放到中间区的上方。
选择单一记录生成详情页
在页面设计器中选中 单一记录
,在实体的 选择数据源
弹窗中选中字段,快速生成详情页。
可以指定生成几列的布局,同时在实体字段中创建的分组也能起到作用,按分组划分字段的区域。
从数据面板拖拽字段
除了拖拽控件进行设计之外,还可以从数据面板直接拖拽字段,省去绑定字段和配置标题等环节。
3.4 - 页面配置
页面绑定外框
当页面需要绑定一个外框时,可在页面属性中配置。 当页面绑定外框后,画布上页面内容区域会比较小,不方便设计,可配置将外框在设计态隐藏,这样可以专注地设计页面内容。
外框的详情介绍可参考外框
开启页面布局
适用场景:将页面划分为多个区域,每个区域独立的横向或纵向滚动。
开启页面布局后,PC端页面可被分为上、下、左、右、中五个区域,移动端页面可被分为上、中、下三个区域。可根据实际业务开启或关闭某个区域。
在画布中,选中每个分区,可设置分区的属性。
上下侧区域可设置高度;左右侧区域可设置宽度,运行态支持拖拽调整宽度和折叠展开区域;中间区域可设置最小高度,中间区域的高度为浏览器页面可视区域减去上下侧区域的高度。
注意:当内容高度超过区域高度时,区域出现纵向滚动条;当内容宽度超过区域宽度时,区域出现横向滚动条。
每个分区可设置分区的风格样式:背景、边框、边距、阴影、滚动条等。
页面风格设置
页面风格中可以配置页面背景、页面边距。
页面事件
页面提供页面初始化、页面关闭、参数变化时3个事件,可根据实际业务场景进行配置。
其中参数变化时指的是任意一个页面入参的值发生变化。
页面参数
- 页面入参
页面初始化时,由外部传入的参数,页面打开的整个过程中,不可变更。特殊类型页面在创建时会预置对应的入参,如详情页会预置参数"ID"、参数"页面打开模式"等。
典型场景:列表当前行数据,以弹窗形式查看或编辑详情,需要传入当前行的数据id,弹窗页面的打开模式等。
- 页面出参
弹窗页面关闭时,向父页面返回的参数,参数数据来源于当前页面数据,在主页面定义弹窗事件时,可以设置弹窗页面的出参映射。
典型场景:如填写表单时,需要选择另一实体中数据,作为表单内容,并将所选数据的值回显在表单中。
页面变量
(1)适用场景:适用于页面内的数据临时承载和数据传递。常用于组件值和属性的设置中,或变量变化后触发事件。
(2)变量定义:支持基本数据类型和选项集、枚举、实体、自定义对象、列表等。
(3)变量赋值:页面生命过程中可以对页面变量进行赋值,调整值内容
- 参照携带赋值:参照内容支持携带至指定页面变量
- 页面规则赋值:通过【修改变量】和【修改列表】节点可以修改变量值
(4)变量使用:页面规则、表达式里可以使用页面变量
公开访问
关闭:用户登录后有访问权限才可访问
开启:无需登录即可访问。页面有单据或档案类型时不支持公开访问。
若页面有单据或档案类型且设置了公开访问,则在页面整体保存时会提示阻断并明确冲突。
3.5 - 页面模板
新建页面、外框时支持通过模板创建页面和外框。
模板来源有两种:预制模板和自定义模板。
使用页面模板生成页面效果示例如下:
-
列表页
-
表格列表:
- 模板生成的页面是示例页面:物料领用单查询列表页面,列表字段是物料领用单实体对应字段。
-
模板 模板生成的页面
-
卡片列表
- 模板生成的页面是示例页面:问题上报列表页面,卡片中内容与模板对应卡片中内容一致。
模板 模板生成的页面
-
详情页
- 详情页面-容器布局效果(无子表明细):模板生成的页面是示例页面:物品领用详情,无明细信息,对比模板,新生成的物品领用详情中多了自动生成了对应的领用信息。
模板 模板生成的页面
- 详情页面-网格布局效果(无子表明细):模板生成的页面是示例页面:物品领用详情,无明细信息,对比模板,新生成的物品领用详情中多了自动生成了对应的领用信息。
模板 模板生成的页面
- 详情页面-(子表明细),多子表平铺效果:模板生成的页面是示例页面:采购付款单详情,明细信息:采购明细、发票明细,对比模板,自动生成了对应的付款信息、采购明细、发票明细。
模板 模板生成的页面
- 详情页面-(子表明细),多子表页签展示效果:模板生成的页面是示例页面:采购付款单详情,明细信息:采购明细、发票明细,对比模板,自动生成了对应的付款信息、采购明细、发票明细。
模板 模板生成的页面
- 详情页面-列表详情,模板生成的页面是示例页面:供应商列表详情页面,左侧卡片效果保持原样与页面模板一致,右侧详情自动生成了供应商更多业务字段。
模板 模板生成的页面
-
全表编辑页
- 模板生成的页面是示例页面:供应商全表编辑维护页面,可维护列是供应商维护字段
模板 模板生成的页面
- 其他页面:原样复制模板中内容。
【模板自动生成规则】
列表页、详情页、全表编辑页:
-
因为页面选择了对应实体,模板中数据控件绑定的实体,会按照页面对应实体与模板对应,进行对应替换。
-
控件(包括表格控件对应列):
-
自动生成:
-
单一记录、重复节:模板中内容首先原样复制,字段分组对应页面分组控件,分组下字段属性按照模板中录入控件属性一致进行自动生成,且是能够找到两个有规律兄弟控件。比如示例页面:详情页面-(子表明细)
-
重复表录入、重复表查询、树表录入、树表查询控件:
- 重复表录入、重复节控件:模板中有主子关系控件(实体设置是关系数据源),则会按照当前页面对应实体关系子表自动生成。
- 列:按照实体字段设置的显示列勾选,则自动按序生成。
-
-
原样复制:无规律,比如卡片需要多层容器嵌套效果等。
-
自定义模板说明:
如想要自定义可自动生成的页面模板,可按照预制模板效果制作模板。
其它页面:原样复制,即生成的页面与模板页面控件一致,原模板中绑定的实体、字段不做处理,需要生成页面后手动修改。
【新建页面选择模板】
1)支持Web端和移动端模板分开选择,如果选择的模板有Web端和移动端对应关系,则会提示:存在对应移动端模板,是否同步选择?
2)公开模板为当前租户可使用的页面模板(跨应用的模板)(公开但是关联外框的页面模板不支持跨应用使用),自定义模板是当前应用中自定义且未公开的模板,自定义模板仅当前应用使用。
3.6 - 组件通用属性
1. 功能概述
组件通用属性是每个组件中都包含的一组基本属性。
属性 | 说明 |
---|---|
标题 | 设置控件的显示名称。 |
标题显示 | 设置标题是否显示及显示位置。 |
标题宽度 | 设置标题的宽度。 |
标题对齐 | 设置标题的对齐方式:左、中、右、两端。 |
占位提示 | 有输入框的录入类控件可以设置占位提示文字。 |
计算值 | 可通过表达式设置控件的值,一般设置了计算值的控件都会设置为只读状态,即不允许手动输入。 |
默认值 | 可通过表达式设置控件的默认值,默认值仅初始加载时生效。 |
必填校验 | 设置控件是否需要必填,保存数据时会做校验提示。 |
功能权限 | 开启功能权限表示将该控件注册到权限中心,然后在角色权限中可以给不同角色授予该控件不同的权限。 |
状态 | 控件在运行态呈现的效果。 正常:运行态正常显示, 控件基本功能正常使用 只读:运行态不可编辑, 仅展示控件的数据 禁用:运行态不可编辑,呈现禁用的UI样式 隐藏:运行态不显示,隐藏时不会影响该控件的数据 状态的优先级为正常<只读<禁用<隐藏。当控件嵌套控件时,运行态是按控件状态优先级来呈现的。 比如分组控件中添加单行文本控件,分组控件设置为隐藏,单行文本控件设置为正常,因为隐藏状态的优先级最大,所以运行态单行文本控件是隐藏状态。 |
控件名称 | 默认显示控件标题。在页面大纲、表达式等其他引用控件的地方,都是使用的控件名称。 |
唯一标识 | 每个控件在该页面中都有唯一标识,通过PC转移动生成页面,PC端的控件和移动对应控件的唯一标识是相同的。 |
描述信息 | 控件tips提示,填写后将在控件固定位置生成提示图标,鼠标hover展示描述信息。 |
2、功能介绍
2.1 编辑表达式
当需要输入属性值时,可以直接在输入框中手动输入,实现内容的静态展示。也可以通过编辑表达式,实现内容的动态展示。
还可以通过设置条件表达式,实现满足不同条件时,显示不同的值,值可以手动输入或表达式输入。表达式详细介绍请参考XXXXXX
2.2 控件属性批量设置
批量选中组件时,可在顶部对控件属性进行批量设置。
3、操作示例
3.1 实现控件动态显隐
3.1.1 场景描述
当已婚时,需填写配偶信息,否则隐藏配偶信息。
3.1.2 准备工作
已有页面,页面有两个控件:是否已婚[布尔]、配偶姓名[单行文本]
3.1.3 具体操作
(1) 选中配偶姓名[单行文本],在右侧属性中,“状态"点击fx,进入条件表达式设置。
(2) 在条件表达式设置中,点击"如果"后的输入框,弹出表达式
(3) 条件设置如下图所示
3.1.4 效果展示
3.2 控件数据自动计算
3.2.1 场景描述
自动计算剩余金额,剩余金额=总金额-已消费金额
3.2.2 准备工作
已有页面,页面上3个货币控件,分别是总金、消费金额、剩余金额
3.2.3 具体操作
(1)选中剩余金额控件, 在右侧属性中,“计算值"点击fx, 编辑表达式
(2)编辑表达式
3.2.4 效果展示
3.7 - 组件通用样式
1. 功能概述
组件通用风格是每个组件中都包含的一组基本风格。
属性 | 说明 |
---|---|
控件大小 |
设置控件的大中小。以单行文本为例,调整控件大小会同时影响控件标题和输入框的大小。 |
标题设置 |
设置标题的字体、字体颜色、字体效果、背景色、行数上限,支持表达式。 |
内容设置 |
一般录入类控件会内容的样式设置。该设置在控件只读态时生效。 |
边距设置 |
设置控件的内外边距。一般布局类控件会有该设置。 |
容器内样式 |
当控件放在容器中时,可以设置在容器中的样式,比如容器分成了几列,可设置当前控件的宽度占容器的几列,且是否自动拉伸或缩小以适应容器。 |
2. 功能介绍
2.1 边距设置
可分别设置控件上下左右的内外边距。
外边距是指当前控件嵌套在一个容器中, 当前控件与底层容器的间距。
内边距是指当前控件中嵌套了其他控件, 当前控件与内部其他控件的间距。
行间距是指当前控件中嵌套了其他控件,其他控件行与行之间的间距。
举例如下:
当分组控件的内外边距、行间距都是0, 效果如下:
当给分组控件设置内外边距、行间距,效果如下:
2.2 容器内样式
前置条件: 当前控件放到了容器中,当前控件的才可配置容器中样式。
高度:指控件在容器中的高度。
自适应:指高度根据内容自适应。
固定值:指设定固定高度,当内容超过固定高度时,控件内将出现纵向滚动条。当父级容器小于控件高度时,父级容器出现纵向滚动条。
自动拉伸: 指父级容器主轴有剩余空间时,子控件可拉伸填满剩余空间,当子控件的内容超过剩余空间时,父级容器出现滚动条。
自动缩小:当父级容器主轴剩余空间不够时,子控件自动缩小,子控件可能出现滚动条。
注意:当配置了自动拉伸或自动缩小时, 高度配置将不生效。
在2.1的示例基础上,配置了自动拉伸和自动缩小,可以看到分组控件在垂直方向做了自动拉伸,占满了外层容器。
2.3 字体设置
设置的字体在控件正常、只读、禁用状态均生效。适用于政务等对字体格式有要求的场景。
①支持录入控件、文字标签字体设置,预制常用高频字体,可直接选择,自定义字体可直接输入
②运行时本地系统有安装字体则生效
③可按顺序依次设置多个字体,按照顺序依次生效
2.4 溢出交互设置
前提:当控件只读时,该设置才会生效。
说明:带输入框的控件,比如单行文本控件, 如果内容超过单行,可配置是否换行展示,或者单行展示并显示省略号,鼠标hover可显示全部内容。
效果展示:
3.8 - pc端组件
3.8.1 - 布局控件
3.8.1.1 - 网格
1. 控件介绍
网格控件是一种布局控件,可以设置几行几列,对页面信息按行列布局。
2. 使用场景
当需要按行列整齐的展示内容时,可使用网格。 网格一般在详情页中展示表单内容。
2. 控件特性
2.1 设置表格的行列
将网格控件拖到画布区时,会弹出提示输入行数和列数,根据设置生成相应的网格。生成网格后,在右侧属性区可以看到行列信息, 但不可直接修改, 可选中单元格右键插入或删除行列。
2.2 插入和删除行或列
操作方法:选中单元格,鼠标右键,可以设置插入和删除行或列。
2.3 合并或拆分单元格
操作方法:选中要合并或拆分的单元格, 然后右键选择相应的操作
2.4 设置最小行高
一个单元格中可以拖入多个控件,行高是根据内容自适应的。当内容高度小于设置的最小行高时,行高会等于最小行高。
设置最小行高的主要场景: 当每一行的行高按内容自适应不一样高时,希望从视觉上使表格所有行的行高一样,可以将最小行高设置为最高那行的行高。
操作方法: 选中需要调整的行, 然后右键设置最小高度。
2.5 调整列宽
操作方法一:可在表格中拖动列边线调整列宽
操作方法二:选中单元格, 右键设置列宽
注意:表格的列宽是默认占满上层容器的宽度,表格整体是不会出现横向滚动条的。调整列宽会挤压相邻列的宽度,相邻列可能因为宽度不够,出现横向滚动条。
2.6 设置边距
内外边距设置详情请参考边距设置
行间距是指表格的行与行之间的距离,列间距是指表格的列与列之间的距离。
2.7 设置边框
在风格中设置表格控件背景图、背景色、圆角、边框线、边框线颜色、边框线样式、边框线宽度等。
设置边框线样式的步骤:
- 首先在画布中选中要设置边框的区域。
- 设置样式时,需要先选择设置哪些边线,再设置样式、宽度或颜色。
边框线设置示例:
3.8.1.2 - 容器
1. 控件介绍
容器是一种布局控件,支持弹性布局, 是目前业界前端的主流CSS布局方式,能实现复杂的布局。
2. 使用场景
(1)当页面区域需要进行分块划分, 比如左右两部分。
(2)希望对一组控件进行灵活布局。
3. 控件特性
3.1 设置宽高
宽度支持固定值或自适应。
高度支持固定值或自适应。
宽度自适应:
(1)当前容器为最底层容器(当前容器未嵌套在别的容器中,而是直接放到页面上或放到其他布局控件中):宽度自适应会自动取页面或其他布局容器的宽度。 比如页面宽度为1440px, 容器自适应宽度也是1440px
(2)当前容器是嵌套在其他容器控件中的 当前容器为子容器,宽度自适应是指根据容器中内容宽度自动调整容器的宽度。下图为容器嵌套容器,在子容器中放了单行文本控件。 子容器的宽度设置为自适应,即是单行文本的宽度。
3.2 容器弹性布局
3.2.1 容器主轴方向
容默存在两根轴:水平轴(横向的),垂直轴(纵向的), 将其中一个轴作为主轴,那另一个轴就是交叉轴。主轴的方向决定了控件的排列方向。 水平轴上控件的排列方向可以是从左到右,也可以从右到左,默认是从左到右;垂直轴上控件的排序方向可以是从上到下,也可以是从下到上,默认为从上到下。
3.2.2 控件的对齐方式
(1)当水平轴为主轴时:
主轴对齐方式有居左、居中、居右、每个控件两侧的间隔相等(控件之间的间隔比项目与边框的间隔大一倍)、两端对齐(控件之间的间隔都相等)。默认是居左对齐, 点击
可快速切换到居右对齐。配置属性界面如下图所示,每个图标hover都会显示相应的操作提示。
效果如下:
(2) 当垂直轴为主轴时:
主轴对齐方式有:居上、居中、居下、元素占满高度、根据元素的第一行文字的底线进行对齐。默认是居上对齐, 点击
可实现快速切换为居下对齐。配置属性界面如下图所示,每个图标hover都会显示相应的操作提示。
注意:调整控件对齐方式时,通常主轴方向和交叉轴方向是配合一起调整的。可参见演示示例。
3.2.3 控件换行或换列
(1)当水平轴为主轴时:
容器中的控件排在一条横线上,当如果一条线上排不下时(控件的宽度超过了容器的宽度),容器会出现横向滚动条。 如果希望不出现横向滚动条,可以设置换行,且可以设置列数,即一行分成多少列。
(2)当垂直轴为主轴时:
容器中的控件排在一条竖线上,当纵向排不下时(控件的高度超过了容器的高度),容器会出现纵向滚动条。如果希望不出现纵向滚动条,可以设置换列,且设置列数。
3.2.4 容器自动拉伸和缩小
(1) 自动拉伸:当父级容器主轴有剩余空间时,子控件可拉伸填满剩余空间。当子控件的内容超过剩余空间时,父级容器出现滚动条。
举例:如下图,父容器主轴垂直方向,子容器勾选了自动拉伸,会在垂直方向占满父容器的剩余控件。
(2) 自动缩小:当父级容器主轴剩余空间不够时,子控件自动缩小,子控件可能出现滚动条。
3.3 边距设置
内外边距设置详情请参考边距设置
行间距是指容器中行与行之间的距离,列间距是指容器中列与列之间的距离。
3.4 边框设置
在风格中设置容器控件背景图、背景色、圆角、边框线、边框线颜色、边框线样式、边框线宽度等。
边框线的设置步骤可参考表格边框线设置
3.8.1.3 - 分组
1. 控件介绍
分组控件顾名思义是将内容进行分组, 支持分组的展开收起效果。
2. 使用场景
页面内容可以分成多个独立模块时,比如录入人员信息时, 要分别录入个人信息、家庭信息、学历信息等,那么可以用分组控件,每个分组内信息是聚焦的。
3. 控件特性
3.1 头部设置
头部样式支持自定义或选择预置样式。自定义可配置标题展示图标或图片。预置样式可直接选择使用。
3.2 折叠设置
(1)可配置折叠图标的位置及折叠样式
折叠图标在头部:
折叠图标在内容区下:
(2)可配置打开页面时,分组默认是展开或收起状态,且可以设置不同条件下的状态。
3.3 设置高度
自适应高度:根据分组内的内容自适应,高度是动态的,分组控件自身不会出现纵向滚动条。
固定高度:高度固定,当分组内容超过固定高度时,分组控件自身将出现纵向滚动条。当父级容器小于控件高度时,父级容器出现纵向滚动条。
3.4 设置伸缩
分组控件也具备伸缩能力。
伸缩的详细介绍可参考容器自动拉伸和缩小
3.5 设置边距
内外边距设置详细介绍可参考边距设置
3.6 设置分割线
(1)可设置是否展示分割线。
(2)设置分割线的样式。
3.8.1.4 - 页签
1. 控件介绍
页签是一种布局类控件,每个页签的内容都是相对聚焦的。和分组控件的使用场景非常类似,只是交互形式不同。
2. 使用场景
页面内容可以分成多个独立模块时,比如录入人员信息时, 要分别录入个人信息、家庭信息、学历信息等,那么可以用页签控件,每个页签内容是聚焦的。
3. 控件特性
3.1 添加页签
根据实际场景,添加多个页签。可更改页签的名称标题,支持设置表达式。
3.2 设置页签排列方式
3.3 设置页签头样式
(1)可设置显示样式,系统提供卡片型、普通型、文字型、胶囊型4种样式。
普通样式:
卡片样式:
文字样式:
胶囊样式:
3.4 设置页签头位置
页签头可以在上方,也可以放到下方,满足不同的样式需求
3.5 设置页签图标
1.设置页签图标
2.打开图标开关,可设置图标位置、图标状态、图标颜色
(1)图标位置:可改变图标在页签标题的位置
(2)图标状态、图标颜色
可分别设置每个页签的图标显隐状态和图标颜色,支持配置表达式。
3.6 设置默认激活
使用场景:页面初始化时选中指定的页签。
功能说明:页面初始化时激活指定页签,也可配置激活条件。如果未配置,默认展示第一个有权限的页签。
3.7 设置激活规则
使用场景:当满足条件时切换相应页签
配置方法:
方式一:自动触发,当条件满足就激活对应页签。
注意:要先配置激活规则后才可设置自动触发激活规则。满足条件时切换到对应页签,之后仍然可以手动切换到其他页签,当条件再次满足时又会执行激活规则。
方法二:在事件中配置页签控件动作执行激活。比如点击某个按钮时,再按条件判断激活页签。
自动触发激活规则不开启时,需要配置控件动作才能执行激活规则;开启后,自动判断激活规则的条件,自动执行。
3.8 控制页签的显隐
使用场景:满足条件时才显示该页签,否则隐藏。
配置方法:每个页签可单独可以状态,如下图。
页签状态说明:
–正常状态:可切换到该页签
–只读状态:可切换到该页签,但页签中的内容是只读
–禁用状态:无法切换到该页签
–隐藏状态:隐藏该页签。
3.9 角色权限管控
使用场景:给不同角色授予页签不同权限。
配置方法:
(1)开启页签控件的功能权限
(2)开启单个页签的功能权限
(3)在角色权限中授权
3.9 设置高度
页签控件也可以设置自适应高度或固定值高度
详细介绍可参考分组设置高度。
3.10 设置伸缩
页签控件也具备伸缩能力。
详细介绍可参考容器自动拉伸和缩小。
3.8.1.5 - 面板
1. 控件介绍
面板属于布局控件的一种,通过配置面板显示方式可以实现全局弹窗、跟随某个控件的气泡以及侧边弹出抽屉等不同的功能。
2. 使用场景
当需要录入或查看更多数据,可以使用面板实现。
比如重复表录入控件中需要录入的数据列非常多,列表会非常宽,体验不好,这时可以考虑使用面板录入更多数据。
3. 控件特性
3.1 配置打开面板
运行态面板是默认不打开的,可通过以下两种方式打开面板。两种方式没有本质区别,只是配置方式不同。
方式一:在属性区中,配置触发控件及触发动作。
方式二:在事件中配置面板的控件动作,打开面板。
3.2 配置面板显示位置
面板的显示位置有三种:
(1)跟随触发控件:面板以气泡形式呈现,可配置跟随位置。
(2)固定在某个位置:面板以弹窗或抽屉的形式呈现。
(3)可拖动调整位置:面板以弹窗形式呈现,默认居中,可以拖动位置。
3.3 配置面板关闭方式
关闭方式:
(1)支持点击非面板区关闭。
(2)点击面板右上角的关闭按钮关闭。
(3)键盘按下esc键来关闭(移动端不支持esc键)。
3.4 注意事项
(1)面板只能拖入到页面顶层区域,不支持拖入到其它控件中(暂不支持在外框设计使用)。
(2)一个页面可以拖入多个面板,但画布区同时只能展示一个(总是优先展示最新拖入的面板)。可以点击面板工具条上的小眼睛图标来隐藏面板,如图:
(3)隐藏的面板可以通过点击大纲中的小眼睛图标再次打开,如下图:
3.8.1.6 - 子页面
1. 控件介绍
子页面控件也是布局控件的一种,属于页面中的一部分,运行态根据条件显示不同的子页面。
2. 使用场景
当页面中某块区域要根据条件显示不同的内容,可以使用子页面控件,每个内容是一个子页面。
3. 控件特性
3.1 添加子页面
属性区中点击添加子页面,选择想要加载的子页面。根据业务需求,如果该子页面有入参,则配置入参参数映射。
3.2 设置激活规则
使用场景:当满足条件时切换相应子页面。
配置方法:
方式一:自动触发,当条件满足就激活对应子页面。
方法二:在事件中配置子页面控件动作执行激活。比如点击某个按钮时,再按条件判断激活子页面。
自动触发激活规则不开启时,需要配置控件动作才能执行激活规则;开启后,自动判断激活规则的条件,自动执行。
3.8.2 - 数据控件
3.8.2.1 - 单一记录
1.控件简介
单一记录属于数据控件之一,具有数据收集、校验和提交等功能,是展示实体单条数据的起点,通常包含各种有输入值或选中值的组件,例如单行文本、日期选择、下拉框等。常用于调查问卷填写、基础资料填报、单据信息填写等场景。
在一些较复杂的业务场景中,经常会遇到需要管理单项主记录及其相关的子记录的情况。为了有效实现这种主从数据的录入和管理,在用户界面设计中,单一记录通常与重复表或重复节控件结合使用。这种设计允许用户在一个统一的视图中添加、修改或删除子记录,同时保持与主记录的关联。
2.属性
组件通用属性说明,请参见组件通用属性说明。
- 实体
单一记录展示数据的来源。实体属性具备与多种数据源建立关联的能力,其中最为普遍的是实体数据源。这种数据源可以绑定当前应用自定义的实体,或跨应用的实体。基于实体数据源,数据控件便能够在应用程序内执行全方位的数据操作,包括但不限于数据的检索、新增、修改以及删除等。
实体属性可以关联多种数据源,数据源详情信息,请参考:空链接。
- 隐藏字段
基于性能优化角度,数据控件在进行数据加载时,仅会检索页面中关联了录入控件或表格列的字段。然而,在实际业务中,有些字段数据可能用于页面逻辑处理,但又不希望在用户界面中展示。针对这种场景,平台引入了“隐藏字段”属性,该属性中勾选的字段,无需关联前端控件,但数据加载时仍会获取对应字段值。
- 条件
定义一组过滤规则的条件编辑器,以便在数据展示时仅显示满足特定条件的数据项。
单一记录中条件属性较为特殊,单一记录是用于精准展示实体中指定数据项的数据控件。在查看或编辑详情时,需明确该数据项的具体指向,平台中系统默认采用数据ID来唯一标识并定位每条数据,该设置是自动的,无需用户手动配置。但若需根据其他唯一字段来定位数据,设计师可自定义设置。然而,自定义设置时必须确保所选条件能够精确匹配到单一数据记录。如果所设置的条件对应了多条数据,系统将无法展示并会报错默认不加载。
- 分辨率设置
分辨率设置是确保用户界面元素在不同屏幕尺寸和分辨率下保持可用性和视觉一致性的过程。单一记录的分辨率设置支持自适应和固定宽度两种模式。
自适应:可以设置单一记录与视口或父容器的宽度占比,以及阈值宽度。
固定宽度:宽度可设置为特定的像素值,使得单一记录在不同设备屏幕上展现出统一的尺寸,不随视口或父容器大小调整而变化。
- 边距设置
边距设置是用于控制元素之间空间布局的属性,分为内部元素间隔、内边距、外边距三类配置。
内部元素间隔:是指组件内部元素之间的距离。分为行间隔和列间隔,单位为px。
内边距:是指组件内部元素与边框之间的距离。设置组件的内边距会在组件内边框周围创建一个空白区域,使内容与边框之间有一定的距离。单位为px,可设置上下左右四个方向。
外边距:是指组件与其他组件之间的距离。设置组件的外边距会在组件周围创建一个空白区域,使组件与其周围的组件产生一定的间距。单位为px,可设置上下左右四个方向。
3.事件
-
数据加载后:当数据控件数据加载完成后触发。
4.风格
- 高度
自适应:指高度根据内容自适应。
固定值:指设定固定高度,当内容超过固定高度时,控件内将出现纵向滚动条。当父级容器小于控件高度时,父级容器出现纵向滚动条。
- 伸缩
自动拉伸: 指父级容器主轴有剩余空间时,子控件可拉伸填满剩余空间,当子控件的内容超过剩余空间时,父级容器出现滚动条。
自动缩小:当父级容器主轴剩余空间不够时,子控件自动缩小,子控件可能出现滚动条。
5.场景示例
5.1场景描述
已有实体“供应商”,希望在表单验证通过后创建对应数据项。
5.2操作步骤
1、创建详情页面,页面名称“供应商详情页”,页面类型选择“详情页”,页面对应实体选择“供应商”,单击确定,创建页面。
2、控件库中选择“单一记录”,往画布区拖入控件,控件属性区中单击“实体”属性。
3、实体属性弹窗中,选择“供应商”实体,右侧选择需要展示的字段,设置控件生成逻辑,单击确定,完成配置。
4、查看自动生成内容,布局是否符合需求,不符合可自行调整。
5、设置字段页面校验:①必填:由于必填已在实体处设置,页面将自动设置;②手机号校验:选择“联系方式”字段,属性校验分组输入类型“手机号码”。
6、控件库中选择“工具栏”,往画布区拖入控件,控件属性区中设置对齐方式为居中。
7、设置“立即创建”按钮:操作1名称修改为“立即创建”,点击“编辑”图标,设置“保存记录”行为,实体选择“供应商[单一记录]”。
8、保存页面,完成详情页创建。
9、创建对应列表页,并创建与详情页关联关系,完成后测试发布应用。
5.3效果演示
3.8.2.2 - 重复表查询
1.控件简介
重复表查询控件属于数据控件之一,以二维表格形式呈现数据,通常包含行和列,适用于呈现和操作大量的结构化信息。使用该控件时需先绑定实体模型,随后便可根据需要配置其属性、响应事件,并定制其样式风格。此外,该控件提供了一系列高级功能,包括数据选择、排序、筛选、分页以及自定义操作等,以增强用户交互体验。
表格常用场景
- 当用户需要存储、组织和分析结构化数据时,重复表查询可以清晰地展示出数据的所有相关字段。
- 重复表查询具备行和列结构,当用户需要查找或整理数据时,可以轻松地进行数据过滤和排序,整合符合要求的数据并展示在表格中。
表格布局
2.属性
2.1表格属性
组件通用属性说明,请参见组件通用属性说明。
- 实体
展示数据的来源。实体属性具备与多种数据源建立关联的能力,其中最为普遍的是实体数据源。这种数据源可以绑定当前应用自定义的实体,或跨应用的实体。基于实体数据源,数据控件便能够在应用程序内执行全方位的数据操作,包括但不限于数据的检索、新增、修改以及删除等。
实体属性可以关联多种数据源,数据源详情信息,请参考:空链接。
- 隐藏字段
基于性能优化角度,数据控件在进行数据加载时,仅会检索页面中关联了录入控件或表格列的字段。然而,在实际业务中,有些字段数据可能用于页面逻辑处理,但又不希望在用户界面中展示。针对这种场景,平台引入了“隐藏字段”属性,该属性中勾选的字段,无需关联前端控件,但数据加载时仍会获取对应字段值。
- 条件
定义一组过滤规则的条件编辑器,以便在数据展示时仅显示满足特定条件的数据项。
- 排序
数据初始加载时的显示顺序,支持选择数据源中的某一字段为排序依据,配置默认排序规则,支持升序和降序。
支持多字段排序,首先按照第一个字段进行排序,当第一个字段相同时,再按照下一个规则进行排序。
控制显示条数
根据预设的排序规则,系统将默认展示排序后的前Top条数据。请注意,一旦配置了此选项,分页功能将不可用,所有符合条件的数据将一次性加载并展示。
- 实体变更订阅
一般用于弹窗页面数据变更后,控件自动刷新。弹窗“确认”操作需订阅父页面中操作的实体。
- 默认不加载
该属性勾选后,表格初始化时,不加载实体数据,需通过事件触发查询和刷新数据。
- 重复表默认初始化时自动加载实体数据,无需事件触发。
- 该设置勾选后,数据来源、过滤条件、排序、分页将由页面规则决定,重复表自带能力将屏蔽。请谨慎使用。
- 表头显示
是否显示表格头。默认显示。
- 选择模式
表格项勾选模式,支持三种不同的选项:【无】、【单选】和【多选】。当启用【单选】模式时,列表将展示单选按钮,允许用户一次选择一个列表项。而启用【多选】模式后,列表将展示多选按钮,允许用户同时选择多个列表项。选择【无】模式时,则将不显示任何勾选按钮,用户无法通过勾选来选择列表项。三种模式互斥。
- 多级表头
表头呈多级展示,可表述表头信息层级包含关系。启用多级表头后,画布区可批量选择表头,右键添加上级分组;取消勾选后,将清空多级表头的配置。平台最多支持4级表头。
多级表头详细配置过程,请参见:空链接。
- 列字段
表格展示的字段。可添加实体模型中字段,或添加自定义列。
自定义列相关信息,请参见:空链接。
- 操作列
表格的一个特殊列,它包含对表格中每行数据可以执行的操作或命令,常见操作列操作:查看、编辑、删除等。
◇ 常用按钮数:默认为3,超过配置数的操作将收起至更多
◇ 显示位置:操作列位置支持列首、列尾两种,默认列尾
◇ 操作配置:支持配置操作的图标、名称、事件、状态和样式
- 顶部操作
位于表格最上方的一组操作工具,通常用于提供对整个表格数据或选定行的批量操作,如新增、删除、导入/导出。
- 行序号
启用后,逐一为每一行数据分配一个唯一的序号。
- 过滤能力
表格的快速搜索能力,启用后,允许设计师配置搜索字段,搜索区在表格上方。
搜索字段配置:单击搜索类型框后方的“设置”图标,可选择表格所关联实体的字段作为搜索字段,此外还可自定义配置搜索字段的显示样式等。
搜索字段的配置方式,与筛选控件中搜索设置相同,详情配置指南请参见:筛选控件-搜索字段配置空链接。
表格搜索模式:
◇ 条件下拉:允许用户针对指定的数据字段进行数据检索
◇ 条件平铺:多个搜索字段并排或垂直排列展示,用户可以在这些字段中输入不同的搜索条件
◇ 快捷搜索:提供单一搜索框,可在多个预设文本字段中进行搜索。仅文本支持快捷搜索,最多支持3个字段同时参与快捷搜索。
◇ 折叠按钮:提供折叠按钮,将所有搜索字段简洁地收纳于该按钮下,点击此按钮即可展开或隐藏搜索选项。
- 分页设置
是否展示分页组件
- 前端分页:所有数据一次性从后端获取,并存储在前端。前端通过控制显示的页数和每页显示的条目数量将数据进行分页展示,不需要与后端进行交互。
- 后端分页:数据分页处理在后端完成,只有用户请求的特定页面数据会被发送到前端,每次切换分页,均需发送后端请求。
- 数据源为实体数据源时,表格分页为后端分页,数据源为关系数据源时,表格分页均为前端分页。
◇ 分页条数:分页组件处展示每页显示条数的选择列表,需设置数组,如[5,10,20,50,100]。在"分页"属性开启时有效
◇ 默认分页条数:每页的数据条数。默认20条。在"分页"属性开启时有效。
◇ 对齐方式:分页组件的对齐模式,支持左、中、右
- 列宽可调整
运行态可根据个人需求拖拽调整表格中各列的宽度,该调整仅对当前会话有效,重新加载页面将恢复到默认的列宽设置。
- 固定列
当表格横向滚动时,某些列被锁定并始终显示在屏幕的指定侧,而其他列则随滚动条移动。
- 总有一行选中
勾选后始终存在选中行,默认为当前页第一行。
2.2列属性
单击列看属性的列字段,即可在右侧查看并修改列属性。
- 列宽、最小列宽
支持配置每列的列宽和最小列宽,列宽>最小列宽时,实际列宽=列宽;列宽<最小列宽时,实际列宽=最小列宽。
- 隐藏列
开启后,该数据列不可见。默认关闭。
- 显示排序
开启后该列可按照值字段进行运行态动态排序,升序或倒序。默认关闭。
- 列对齐
当前字段列的表头和内容对齐方式。
◇ 列对齐:列内容对齐模式,支持居左、居中、居右
◇ 表头对齐:表头对齐模式,支持跟随、居左、居中、居右。默认跟随,设置跟随后,表头跟随列对齐
- 描述信息
允许设计师对字段列进行详细说明。
- 图标设置
允许设计师在表格的指定列中使用图标来提供额外的视觉提示或信息。
◇ 图标:支持多图标显示,支持不同条件下显示不同图标
◇ 图标位置:文字前、文字后,支持配置各个图标的位置
◇ 图标状态:不同条件下控制图标显隐
◇ 图标样式:不同条件下控制图标颜色
- 溢出交互
表格列中的数据显示不完整,超出了列宽限制时,用户与这些数据项的交互方式
◇ 展示…:列内容超出列宽度时,在数据项后面显示省略号(…),鼠标hover时浮层展示全部内容
◇ 换行:列内容超出列宽度时,将换行进行展示
- 格式设置
配置重复表中不同类型字段的显示样式。如日期可配置日期格式“年-月-日”或“年-月”等,数字可配置为百分比格式,并支持以进度条形式展示。
详见各类型录入控件的格式设置:录入控件。
3.事件
3.1表格事件
- 点击行时:点击某一行时触发。
- 双击行时:双击某一行时触发。
- 勾选行时:表格产生勾选动作时触发。
- 取消勾选行时:表格产生取消勾选动作时触发。
- 勾选行改变时:勾选行产生改变时触发,包含新增勾选和取消勾选,
- 全选时:表格产生全选动作时触发。
- 取消全选时:表格产生取消全选动作时触发。
- 数据加载后:当数据控件数据初始化加载完成后触发。
- 分页改变时:分页发生改变时触发。
3.2列事件
- 单击单元格:点击当前列中单元格数据时触发。
- 双击单元格:双击当前列中单元格数据时触发。
- 单击标题格:点击当前列中表头时触发。
- 双击标题格:双击当前列中表头时触发。
4.风格
4.1表格风格
- 内框线:表格内部各个单元格之间的分隔线,支持横线和纵线设置。
- 表格高度:表格高度设置,数据项过多超出预定义的高度时,表格将产生纵向滚动条。支持px设置和行数设置。
自适应:表格高度根据内容自适应。
最大值:设定表格最大高度,当内容超过最大高度时,表格将出现纵向滚动条。
- 伸缩:表格放到页面上时,可以伸缩占满剩余空间。
自动拉伸:当父级容器主轴有剩余空间时,子控件可以拉伸填满剩余空间,当子控件的内容超过剩余空间时,父级控件出现滚动条。
自动缩小:当父级容器主轴剩余空间不够时,子控件自动缩小,子控件可能出现滚动条。
- 行背景色:表格内容区颜色设置,支持条件表达式。
4.2列风格
- 背景色:列内容背景色设置,支持条件表达式。
- 字体颜色:列内容字体颜色设置,支持条件表达式。
- 字体效果:列内容字体效果设置,支持条件表达式。
4.3列对齐和表格对齐
可分别设置表头对齐和列对齐。
5.场景示例
5.1场景描述
搭建一个具有增删改查功能的供应商基础查询列表,需要包含以下几个功能:
1、数据展示:以表格形式展示供应商的基本信息
2、排序 :①默认按照名称排序;②用户可以根据不同的字段(如名称、评级等)进行实时排序
3、分页功能:支持分页显示
4、搜索功能 :允许用户通过供应商名称、联系人搜索供应商
5、固定名称列和操作列
6、新增功能:点击新增按钮,新开录入详情页面
7、编辑操作:点击操作列中编辑按钮,新开页面,修改当前项数据
8、删除操作:①单项删除:点击操作列中删除,二次确认后删除当前数据项;②批量删除:勾选删除项,点击“删除”按钮,批量删除所有勾选项
5.2操作步骤
5.2.1数据展示
1、控件库中选择“重复表查询”,往画布区拖入控件,控件属性区中单击“实体”属性,设置数据源。
2、实体属性弹窗中,选择“供应商”实体,右侧选择欲展示的字段,单击确定,完成配置。
3、查看表格字段效果。
5.2.2条件、排序
1、选中“重复表查询”控件,点击右侧控件属性区中“条件”属性,配置条件“启用状态 = 是”。
2、点击右侧控件属性区中“排序”属性,配置排序规则“供应商名称 升序”。
5.2.3分页功能
1、选中“重复表查询”控件,勾选右侧控件属性区常规分组中“启用分页”,设置分页条数和默认分页条数。
2、勾选右侧“启用跳转”,在分页后增加跳转输入框,可自定义输入跳转页码。
5.2.4搜索功能
1、选中“重复表查询”控件,勾选右侧控件属性区常规分组中“启用过滤”属性。
2、搜索字段会遵循实体字段处所配置的默认显示自动生成,点击“搜索类型”属性右侧“设置”图标,可调整搜索字段。
3、按需选择搜索类型,此处选用“条件下拉”即可。
5.2.5固定列
1、选择右侧控件属性区常规分组中“固定列”属性,配置固定列(前)=1,固定列(后)=1,即设置第一列和最后一列固定。
5.2.6新增功能
1、勾选右侧控件属性区顶部操作分组中“显示顶部操作”属性。
2、添加操作,名称为“新增”,点击“设置”图标,配置按钮样式。
3、点击“编辑”图标,配置按钮事件动作“打开页面”,页面选择“供应商详情页”,入参中页面打开模式选择“新增”即可,其余入参字段无需配置。
5.2.7编辑操作
1、勾选右侧控件属性区操作列分组中“启用操作列”属性。
2、添加操作,名称为“新增”,点击“设置”图标,配置按钮样式。
3、点击“编辑”图标,配置按钮事件动作“打开页面”,页面选择“供应商详情页”,入参中ID选择“列表当前行ID”,页面打开模式选择“编辑”,其余入参字段无需配置。
5.2.8删除操作
单项删除:
1、操作列分组中添加操作,名称为“删除”,点击“设置”图标,配置按钮样式,启用“危险状态”属性。
2、点击“编辑”图标,配置按钮事件动作“实体-删除记录”,选择“供应商实体[重复表查询]”。
批量删除:
1、顶部操作分组中添加操作,样式配置和事件配置同单项删除,顶部操作会自动匹配删除勾选项数据。
5.3效果演示
3.8.2.3 - 重复表录入
控件简介
重复表录入控件是为简化数据输入流程而设计的组件,这种控件主要适用于数据字段较少且格式统一的录入场景,避免了为每个数据条目单独构建录入页面的需要,显著提升了数据录入的效率。
作为重复表控件的一种,重复表录入控件也集成了一系列高级功能,包括但不限于数据选择、排序、筛选、分页以及自定义操作等。
属性
表格属性
组件通用属性说明,请参见组件通用属性说明。
- 实体
展示数据的来源。实体属性具备与多种数据源建立关联的能力。重复表录入控件最常用的是实体数据源和关系数据源。
实体属性可以关联多种数据源,数据源详情信息,请参考:空链接。
实体数据源允许绑定当前应用自定义的实体,或跨应用的实体。基于实体数据源,数据控件便能够在应用程序内执行全方位的数据操作,包括但不限于数据的检索、新增、修改以及删除等。
而关系数据源主要用于处理具有主子聚合关系的数据,如物资领用单和领用明细,领用明细依赖于领用单,无法独立进行数据的新增、更新和删除操作,这种情况下,关系数据源可以清晰的表明领用明细和领用单之间的依赖的关系。关系数据源通常需要与单一记录嵌套使用。
- 隐藏字段
基于性能优化角度,数据控件在进行数据加载时,仅会检索页面中关联了录入控件或表格列的字段。然而,在实际业务中,有些字段数据可能用于页面逻辑处理,但又不希望在用户界面中展示。针对这种场景,平台引入了“隐藏字段”属性,该属性中勾选的字段,无需关联前端控件,但数据加载时仍会获取对应字段值。
- 条件
定义一组过滤规则的条件编辑器,以便在数据展示时仅显示满足特定条件的数据项。
- 排序
数据初始加载时的显示顺序,支持选择数据源中的某一字段为排序依据,配置默认排序规则,支持升序和降序。
支持多字段排序,首先按照第一个字段进行排序,当第一个字段相同时,再按照下一个规则进行排序。
控制显示条数
根据预设的排序规则,系统将默认展示排序后的前Top条数据。请注意,一旦配置了此选项,分页功能将不可用,所有符合条件的数据将一次性加载并展示。
- 实体变更订阅
一般用于弹窗页面数据变更后,控件自动刷新。弹窗“确认”操作需订阅父页面中操作的实体。
- 默认不加载
该属性勾选后,表格初始化时,不加载实体数据,需通过事件触发查询和刷新数据。
- 重复表默认初始化时自动加载实体数据,无需事件触发。
- 该设置勾选后,数据来源、过滤条件、排序、分页将由页面规则决定,重复表自带能力将屏蔽。请谨慎使用。
- 选择模式
表格项勾选模式,支持三种不同的选项:【无】、【单选】和【多选】。当启用【单选】模式时,列表将展示单选按钮,允许用户一次选择一个列表项。而启用【多选】模式后,列表将展示多选按钮,允许用户同时选择多个列表项。选择【无】模式时,则将不显示任何勾选按钮,用户无法通过勾选来选择列表项。三种模式互斥。
- 多级表头
表头呈多级展示,可表述表头信息层级包含关系。启用多级表头后,画布区可批量选择表头,右键添加上级分组;取消勾选后,将清空多级表头的配置。平台最多支持4级表头。
多级表头详细配置过程,请参见:空链接。
- 列字段
表格展示的字段。可添加实体模型中字段,或添加自定义列。
自定义列相关信息,请参见:空链接。
- 操作列
表格的一个特殊列,它包含对表格中每行数据可以执行的操作或命令,常见操作列操作:查看、编辑、删除等。
◇ 常用按钮数:默认为3,超过配置数的操作将收起至更多
◇ 显示位置:操作列位置支持列首、列尾两种,默认列尾
◇ 操作配置:支持配置操作的图标、名称、事件、状态和样式
- 顶部操作
位于表格最上方的一组操作工具,通常用于提供对整个表格数据或选定行的批量操作,如新增、删除、导入/导出。
重复表录入控件作为全表编辑型控件,会频繁执行插入、删除等操作,为了提升操作便利性,平台预置了三种录入的常规操作:
◇ 插入操作:插入一个空白行
◇ 复制操作:复制当前行或勾选行
◇ 删除操作:删除当前行或勾选行
- 行浮层操作
重复表录入控件的行操作类型之一,位于重复表录入控件侧边的快捷操作,鼠标hover行时展示,仅支持三种预置操作:新增行、复制行、删除行。预置操作的功能与顶部预置操作一致。
行浮层操作支持三种显示样式:
◇ 联动显示:默认,与顶部操作中同类型预置操作状态同步,如顶部操作中的[删除]操作隐藏,则浮层操作中[删除行]操作联动隐藏
◇ 独立显示:行浮层操作显示状态独立控制
◇ 不显示:不显示行浮层操作
- 行序号
启用后,逐一为每一行数据分配一个唯一的序号。
- 过滤能力
表格的快速搜索能力,启用后,允许设计师配置搜索字段,搜索区在表格上方。
搜索字段配置:单击搜索类型框后方的“设置”图标,可选择表格所关联实体的字段作为搜索字段,此外还可自定义配置搜索字段的显示样式等。
搜索字段的配置方式,与筛选控件中搜索设置相同,详情配置指南请参见:筛选控件-搜索字段配置空链接。
表格搜索模式:
◇ 条件下拉:允许用户针对指定的数据字段进行数据检索
◇ 条件平铺:多个搜索字段并排或垂直排列展示,用户可以在这些字段中输入不同的搜索条件
◇ 快捷搜索:提供单一搜索框,可在多个预设文本字段中进行搜索。仅文本支持快捷搜索,最多支持3个字段同时参与快捷搜索。
◇ 折叠按钮:提供折叠按钮,将所有搜索字段简洁地收纳于该按钮下,点击此按钮即可展开或隐藏搜索选项。
- 分页设置
是否展示分页组件
- 前端分页:所有数据一次性从后端获取,并存储在前端。前端通过控制显示的页数和每页显示的条目数量将数据进行分页展示,不需要与后端进行交互。
- 后端分页:数据分页处理在后端完成,只有用户请求的特定页面数据会被发送到前端,每次切换分页,均需发送后端请求。
- 数据源为实体数据源时,表格分页为后端分页,数据源为关系数据源时,表格分页均为前端分页。
◇ 分页条数:分页组件处展示每页显示条数的选择列表,需设置数组,如[5,10,20,50,100]。在"分页"属性开启时有效
◇ 默认分页条数:每页的数据条数。默认20条。在"分页"属性开启时有效。
◇ 自定义输入跳转页码:勾选“启用跳转”,在分页后增加跳转输入框,可自定义输入跳转页码。
◇ 对齐方式:分页组件的对齐模式,支持左、中、右
- 列宽可调整
运行态可根据个人需求拖拽调整表格中各列的宽度,该调整仅对当前会话有效,重新加载页面将恢复到默认的列宽设置。
- 固定列
当表格横向滚动时,某些列被锁定并始终显示在屏幕的指定侧,而其他列则随滚动条移动。
- 最小条数
保存时系统会自动检查输入的数据条目,若数据条数未达到预设定的最小条数要求,将无法保存。
- 默认条数
初始化时若尚无任何数据项时,控件会自动添加一定数量的空白数据项,以便可以便捷的输入信息。
- 总有一行选中
勾选后始终存在选中行,默认为当前页第一行。
列属性
单击欲查看属性的列字段,即可在右侧查看并修改列属性。
具体字段的设置,需点击列内子控件进行设置,配置详情请参见:空链接。
- 隐藏列
开启后,该数据列不可见。默认关闭。
- 列对齐
当前字段列的表头和内容对齐方式。
◇ 列对齐:列内容对齐模式,支持居左、居中、居右
◇ 表头对齐:表头对齐模式,支持跟随、居左、居中、居右。默认跟随,设置跟随后,表头跟随列对齐
- 描述信息
允许设计师对字段列进行详细说明。
事件
表格事件
- 点击行时:点击某一行时触发。
- 双击行时:双击某一行时触发。
- 勾选行时:表格产生勾选动作时触发。
- 取消勾选行时:表格产生取消勾选动作时触发。
- 勾选行改变时:勾选行产生改变时触发,包含新增勾选和取消勾选,
- 全选时:表格产生全选动作时触发。
- 取消全选时:表格产生取消全选动作时触发。
- 数据加载后:当数据控件数据初始化加载完成后触发。
- 分页改变时:分页发生改变时触发。
列事件
- 单击单元格:点击当前列中单元格数据时触发。
- 双击单元格:双击当前列中单元格数据时触发。
- 单击标题格:点击当前列中表头时触发。
- 双击标题格:双击当前列中表头时触发。
风格
表格风格
- 内框线:表格内部各个单元格之间的分隔线,支持横线和纵线设置。
- 表格高度:表格高度设置,数据项过多超出预定义的高度时,表格将产生纵向滚动条。支持px设置和行数设置。
自适应:表格高度根据内容自适应。
最大值:设定表格最大高度,当内容超过最大高度时,表格将出现纵向滚动条。
- 伸缩:表格放到页面上时,可以伸缩占满剩余空间。
自动拉伸:当父级容器主轴有剩余空间时,子控件可以拉伸填满剩余空间,当子控件的内容超过剩余空间时,父级控件出现滚动条。
自动缩小:当父级容器主轴剩余空间不够时,子控件自动缩小,子控件可能出现滚动条。
- 行选中效果:选中行时,支持高亮效果。
可分别设置列对齐和表头对齐
3.8.2.4 - 树控件
适用于大量、具有层级关系的数据展示场景中,并且利用组件的展开收起和关联选中等交互可以方便地对数据进行操作处理。常用于左树右表或左树右详情的业务场景。
- 使用过程
- 拖入【树】控件至画布区
- 在控件属性栏中选择数据来源,树控件作为展示性数据控件,支持多种数据来源(实体、选项集、枚举),选择具体数据来源
- 根据业务需求,配置控件属性、事件、风格
- 控件特性
- 树控件属性
参数名 | 说明 |
---|---|
标题 | 树控件标题设置,支持条件 |
数据来源 | 树控件支持多种数据来源 l 实体:最常用的数据来源,支持树实体和非树实体,若选择非树实体,则层级为1 l 选项集:以选项集为数据来源,层级为1 l 枚举:以枚举为数据来源,层级根据枚举类型不同而不同,级联枚举和多级枚举为多层级展示,平级枚举层级为1 |
条件 | 实体数据来源特有属性,数据满足过滤条件才显示。注:不满足条件的节点数据不展示当前节点及所有下属节点 |
排序 | 实体数据来源特有属性,数据初始加载时的显示顺序。 |
根节点名称 | 根节点的名称设置。根节点默认不绑定数据。 |
节点名称 | 节点的名称设置,支持选择数据字段或输入固定字符作为显示名称。 |
节点连接线 | 可选是否开启连接线,开启后节点之间增加连接线,常用于文件目录结构展示。 |
搜索 | 树的搜索定位能力,输入关键字,可快速搜索定位数据。
|
顶部操作 | 树控件的顶部操作,位于树的顶部,通常用于新建、刷新以及批量操作的设置。默认支持平铺展示两个操作,超出的操作将收起至更多。 |
节点复选 | 可选是否开启复选框。 |
总有一行选中 | 勾选后始终存在选中行,默认为根节点。 |
节点操作 | 树控件的节点操作,位于节点的右侧,通常用于删除、编辑等节点操作的设置。默认支持平铺展示一个操作,超出的操作将收起至更多。 |
3.8.2.5 - 树表查询
在显示大量结构化数据时,我们可以使用【重复表控件】,但在处理树形的数据时,重复表无法很好地表现出数据的层级结构,那么针对这种大量、具有层级关系的数据展示和录入场景,我们提供一个新的控件【树表】,来完美展示数据的信息和层级结构。
树表也属于数据表格控件,基础能力与重复表类似,但仅支持PC端,使用时也需要先通过数据绑定来绑定实体模型,再设置控件属性、事件和风格。同时支持对数据列表进行选择、筛选、分页、自定义操作等复杂功能。
- 使用过程
- 拖入【树表查询】控件至画布区
- 在控件属性栏中绑定数据源,选择需要展示的实体字段,树表只支持绑定【树形档案】类型实体
- 根据业务需求,配置控件属性、事件、风格
- 控件特性
- 树表查询控件属性
参数名 | 说明 |
---|---|
标题显示 | 树表标题设置,是否显示标题。 |
实体 | 树表控件仅支持绑定树实体。 |
条件 | 条件编辑器,数据满足过滤条件才显示。注:配置条件后,将不展示不满足条件的节点数据及所有下属节点数据 |
排序 | 数据初始加载时的显示顺序,支持按照实体字段进行升序或降序排列。当配置多个排序规则时,将首先按照第一个排序规则进行排序,当第一个字段值相同时,再按照下一个规则进行排序。 |
实体变更订阅 | 一般用于弹窗页面数据变更后自动更新该控件。需订阅实体,默认订阅当前实体。 |
默认不加载 | 默认不加载是指重复表初始化时,不加载实体数据,同时可通过页面规则等方式获取数据。 注: 1. 重复表默认初始化时自动加载实体数据,无需事件触发。 2. 该设置勾选后,数据来源、过滤条件、排序、分页将由页面规则决定,重复表自带能力将屏蔽。请谨慎使用。 |
选择模式 | 列表项勾选模式,支持【无】【单选】【多选】,启用【单选】后,显示单选按钮,启用【多选】后,显示多选按钮,三种模式互斥。 |
多级表头 | 表头呈多级展示,可表述表头信息层级包含关系启用多级表头后,画布区可批量选择表头,右键添加上级分组; 取消勾选后,将清空多级表头的配置 画布区配置: l 批量选择单元格,右键可添加上级分组 l 单选分组单元格,右键可编辑分组内容、删除当前分组 l 最多支持4级表头 |
操作列 | 启用操作列后,将在树表列中配置单独的操作列。可以根据业务需求,通过操作的事件自定义配置执行动作。 l 常用按钮数:默认为3,超过配置数的操作将收起至更多 l 显示位置:操作列位置支持列首、列尾两种,默认列尾 l 操作配置:支持配置操作的图标、名称、事件、状态和样式 |
顶部操作 | 表格顶部操作,位于树表顶部,通常用于新建、刷新以及批量操作的设置。支持添加操作和操作组。 |
启用过滤 | 树表过滤查询能力,在树表上方添加查询条件,以便快速查询数据。查询结果将以平铺形式(非树结构)进行展示。 |
启用分页 | 可选择是否启用分页 l 支持自定义设置每页显示条数l 支持设置默认分页条数 l 支持设置分页对齐方式(左、中、右) |
固定列 | 配置表格前后列的固定。当横向内容过多时可以配置固定前侧或者固定后侧。 |
总有一行选中 | 勾选后始终存在选中行,默认为当前页第一行。 |
表格列 | 树表生成后,单击列,可以进行列的属性配置。支持配置列隐藏、排序、列宽、对齐方式、列图标、格式设置等。 列属性详见(2)树表查询控件列属性。 |
- 树表查询控件列属性
树表生成后,单击列,可以进行列的属性配置。
参数名 | 说明 |
---|---|
标题 | 当前列标题设置。 |
隐藏列 | 可选择是否隐藏列。支持隐藏列的添加表达式,当满足条件时,隐藏当前列。 |
列对齐 | 当前列的对齐方式:居左、居中、居右。 |
列宽 | 列的宽度,单位为%,支持输入或画布区手动拖拽改变列宽。 |
列样式 | 支持设置列背景色、字体颜色、字体效果(加粗、斜体、下划线)以及各种样式的条件表达式,满足不同条件,设置不同列格式。 |
图标显示 | 支持设置列图标。 l 图标:支持多图标显示,支持不同条件下显示不同图标 l 图标位置:文字前、文字后,支持配置各个图标的位置 l 图标状态:不同条件下控制图标显隐l 图标样式:不同条件下控制图标颜色 |
格式设置 | 配置树表中不同类型字段的显示样式。 如日期可配置日期格式“年-月-日”或“年-月”等,数字可配置为百分比格式,并支持以进度条形式展示。详见各类型录入控件的格式设置。 |
3.8.2.6 - 树表录入
树表录入属于树表控件的一种,主要用于数据字段较少的树形结构数据录入场景,无需单独再搭建录入页面。
- 使用过程
- 拖入【树表录入】控件至画布区
- 在控件属性栏中绑定数据源,选择需要展示的实体字段,树表只支持绑定【树形档案】类型实体
- 根据业务需求,配置控件属性、事件、风格
- 控件特性
- 树表录入控件属性
参数名 | 说明 |
---|---|
标题显示 | 树表标题设置,是否显示标题。 |
实体 | 树表控件仅支持绑定树实体。 |
条件 | 条件编辑器,数据满足过滤条件才显示。注:不满足条件的节点数据不展示当前节点及所有下属节点 |
排序 | 数据初始加载时的显示顺序,支持按照实体字段进行升序或降序排列。当配置多个排序规则时,将首先按照第一个排序规则进行排序,当第一个字段相同时,再按照下一个规则进行排序。 |
实体变更订阅 | 一般用于弹窗页面数据变更后自动更新该控件。需订阅实体,默认订阅当前实体。 |
默认不加载 | 默认不加载是指重复表初始化时,不加载实体数据,同时可通过页面规则等方式获取数据。注:1. 重复表默认初始化时自动加载实体数据,无需事件触发。2. 该设置勾选后,数据来源、过滤条件、排序、分页将由页面规则决定,重复表自带能力将屏蔽。请谨慎使用。 |
选择模式 | 列表项勾选模式,支持【无】【单选】【多选】,启用【单选】后,显示单选按钮,启用【多选】后,显示多选按钮,三种模式互斥。 |
多级表头 | 表头呈多级展示,可表述表头信息层级包含关系启用多级表头后,画布区可批量选择表头,右键添加上级分组; 取消勾选后,将清空多级表头的配置 画布区配置: l 批量选择单元格,右键可添加上级分组 l 单选分组单元格,右键可编辑分组内容、删除当前分组 l 最多支持4级表头 |
操作列 | 启用操作列后,将在树表列中配置单独的操作列。可以根据业务需求,通过操作的事件自定义配置执行动作。 l 常用按钮数:默认为3,超过配置数的操作将收起至更多 l 显示位置:操作列位置支持列首、列尾两种,默认列尾 l 操作配置:支持配置操作的图标、名称、事件、状态和样式 |
顶部操作 | 表格顶部操作,位于树表顶部,通常用于新建、刷新以及批量操作的设置。支持添加操作和操作组。 树表录入控件预置有三种操作,且不支持删除和修改事件。 l 插入行:当前下方插入行 l 复制行:复制当前行或选中行 l 删除行:删除当前行或选中行 |
启用过滤 | 树表过滤查询能力,在树表上方添加查询条件,以便快速查询数据。 查询结果将以平铺形式(非树结构)进行展示。 注:搜索过程中无法进行录入操作。 |
启用行序号 | 可选择是否显示行序号 |
启用分页 | 可选择是否启用分页 l 支持自定义设置每页显示条数 l 支持设置默认分页条数 l 支持设置分页对齐方式(左、中、右) |
固定列 | 配置表格前后列的固定。当横向内容过多时可以配置固定前侧或者固定后侧。 |
表格列 | 树表生成后,单击列,可以进行列的属性配置。支持配置列隐藏、列宽、对齐方式等。列属性详见(2)树表录入控件列属性。 |
- 树表录入控件列属性及列事件
树表生成后,单击列,可以进行列的属性配置
注:列单元事件仅对只读状态生效
参数名 | 说明 |
---|---|
标题 | 当前列标题设置。 |
隐藏列 | 可选择是否隐藏列。支持隐藏列的添加表达式,当满足条件时,隐藏当前列。 |
列对齐 | 当前列的对齐方式:居左、居中、居右。 |
列宽 | 列的宽度,单位为%,支持输入或画布区手动拖拽改变列宽。 |
3.8.2.7 - 重复节
重复节属于多记录数据控件之一,是一种卡片式的列表展示,可承载文字、列表、图片、段落等,常用于后台数据展示页面。每个节代表一条数据记录,设计师可以在单一节中灵活组合节内容,并且根据实例化数据进行动态展示。
- 使用过程
- 拖入【重复节】控件至画布区
- 在控件属性栏中绑定数据源,可选需要展示的实体字段,数据源的详细说明见文档【2.4.12】
- 针对单一节,灵活拖拽控件至节中,进行组合布局
- 根据业务需求,配置重复节控件以及节内控件的属性、风格和事件
- 控件特性
- PC端重复节控件属性
参数名 | 说明 |
---|---|
标题 | 重复节标题设置。 |
条件 | 条件编辑器,数据满足过滤条件才显示。 |
排序 | 数据初始加载时的显示顺序,支持按照实体字段进行升序或降序排列。当配置多个排序规则时,将首先按照第一个排序规则进行排序,当第一个字段相同时,再按照下一个规则进行排序。 |
控制显示条数 | 按照排序规则,默认显示的top条数。配置后分页将无法启用。 |
实体变更订阅 | 一般用于弹窗页面数据变更后自动更新该控件,比如物料列表页弹窗或新页签的方式打开单条物料数据详情页,保存详情页数据后,列表页数据自动更新。配置方法:(1)首先物料列表数据控件需要在实体变更订阅中,订阅列表绑定的实体,即物料实体。(2)详情页面中保存按钮配置实体行为保存,需要配置行为执行后刷新页面数据,也配置物料实体。即实现保存详情数据后,自动刷新列表数据。 |
默认不加载 | 默认不加载是指重复表初始化时,不加载实体数据,同时可通过页面规则等方式获取数据。注:1. 重复表默认初始化时自动加载实体数据,无需事件触发。2. 该设置勾选后,数据来源、过滤条件、排序、分页将由页面规则决定,重复表自带能力将屏蔽。请谨慎使用。 |
样式 | 卡片式、列表式。l 卡片式:节以卡片形式排列,支持设置每行可固定卡片个数, 也可根据设置的卡片宽度自适应个数l 列表式:重复节以列表形式进行自由布局,支持每一列放置多个控件,可以使用容器控件进行灵活布局 |
卡片排列 | 卡片式可以设置单行卡片个数,固定个数或单行自适应显个数。 |
多级表头 | 表头呈多级展示,可表述表头信息层级包含关系 列表式专有属性,启用多级表头后,画布区可批量选择表头,右键添加上级分组; 取消勾选后,将清空多级表头的配置 画布区配置: - 批量选择单元格,右键可添加上级分组 - 单选分组单元格,右键可编辑分组内容、删除当前分组 最多支持4级表头 |
列 | 列表式专有属性,可以设置列,每列内自动生成一个布局容器。 |
顶部操作 | 表格顶部操作,位于重复节顶部,通常用于新建、刷新以及批量操作的设置。支持添加操作和操作组。 |
总有一节选中 | 勾选后始终存在选中节,默认为当前页第一节。 |
显示顶部操作 | 在重复节的上方显示的操作 |
显示节标题 | 可选是否显示节标题。 |
显示节操作 | 单个节的顶部操作,位于节顶部。可选是否显示节操作。 |
节操作位置 | 支持设置节操作位置(左、右),与节标题位置互斥,当节操作位置设置为左时,节标题位置默认为右,当节操作位置设置为右时,节标题位置默认为左。 - 节操作位置:左 - 节操作位置:右 |
节操作 | 支持添加操作和操作组,同时重复节控件的节预置有三种操作,无法删除和修改事件。 l 添加节:最后一节后添加节 l 复制节:复制当前节 l 删除行:删除当前节 |
启用分页 | 可选择是否启用分页 l 支持自定义设置每页显示条数 l 支持设置默认分页条数 l 支持设置分页对齐方式(左、中、右) |
滚动翻页 | 仅卡片样式支持配置滚动翻页,仅重复节只读态时生效, 非只读态时按正常分页栏的方式分页。 开启分页后可配置每页几行,因为卡片样式是配置了单行个数, 所以可以算出每页有多少条数据。 滚动翻页的效果如下图:以左右滑动形式翻页 |
显示排序 | 运行态是否开启排序功能。例如打开排序开关,排序字段效果为 |
最小条数 | 保存时会校验录入的数据条数不能小于最小条数。 |
默认条数 | 页面初始化时,当未录入数据时, 默认添加的空数据条数。 |
- 移动端重复节控件属性
参数名 | 说明 |
---|---|
标题显示 | 重复节标题设置,是否显示标题。 |
条件 | 条件编辑器,数据满足过滤条件才显示。 |
排序 | 数据初始加载时的显示顺序,支持按照实体字段进行升序或降序排列。当配置多个排序规则时,将首先按照第一个排序规则进行排序,当第一个字段相同时,再按照下一个规则进行排序。 |
控制显示条数 | 按照排序规则,默认显示的top条数。配置后分页将无法启用。 |
实体变更订阅 | 一般用于弹窗页面数据变更后自动更新该控件。需订阅实体,默认订阅当前实体。 |
默认不加载 | 默认不加载是指重复表初始化时,不加载实体数据,同时可通过页面规则等方式获取数据。注:1. 重复表默认初始化时自动加载实体数据,无需事件触发。该设置勾选后,数据来源、过滤条件、排序、分页将由页面规则决定,重复表自带能力将屏蔽。请谨慎使用。 |
显示样式 | 重复节在运行态的显示样式l 卡片:以卡片形式区分节l 分割线:以分割线形式区分节可配置单行列数,一列或两列 |
非批量操作 | 在重复节可以添加非批量操作,作可以配置放到重复节头部或底部 |
批量操作 | 批量操作中可配置是否开启默认勾选模式。 默认勾选模式:开启后,无需点击批量操作触发,直接是可以勾选数据的状态。 批量操作可配置单选或多选 |
启用节标题 | 可选是否显示节标题。 |
节操作 | 预置插入、复制、删除节操作, 节操作可配置不同的交互效果:固定显示、动作面板、侧滑 |
显示排序 | 当重复节绑定的主表时,可配置在运行态是否有排序功能,可配置排序字段。 |
总有一节选中 | 勾选后始终存在选中节,默认为当前页第一节。 |
启用分页 | 可选择是否启用分页,启用分页后,运行态以[加载更多]的形式触发页数切换,点击[加载更多],将记载下一页数据 l 支持设置默认分页条 |
最小条数 | 保存时会校验录入的数据条数不能小于最小条数。 |
默认条数 | 当页面初始化时,控件未录入数据时, 默认添加的空数据条数。 |
3.8.3 - 录入控件
3.8.3.1 - 单行文本
1. 控件介绍
录入单行文本数据。需要绑定实体字段。
2. 控件特性
2.1 绑定字段
可绑定字段数据类型:文本、流水号、长整数。
注意:如果绑定的是长整数类型字段,该控件默认是只读状态,不能录入数据,因为正常情况下长整数对应的是ID,ID是系统生成的且不允许修改。
、
2.2 校验内容
对输入的内容可以进行是否文本、身份证号码、手机号码、邮箱的校验。
也可以自定义正则表达式、自定义错误提示。
2.3 字数统计
当绑定的文字类型字段时, 可开启显示字数统计,可实时统计录入的字数。
3.8.3.2 - 多行文本
1. 控件介绍
录入多行文本数据,需要绑定实体字段。
2. 控件特性
2.1 绑定字段
可绑定字段数据类型:多行文本。
2.2 校验内容
对输入的内容可以进行是否文本、身份证号码、手机号码、邮箱的校验。
也可以自定义正则表达式、自定义错误提示。
2.3 字数统计
当绑定的文字类型字段时, 可开启显示字数统计,可实时统计录入的字数。
2.4 设置文本框高度
(1)设置固定高度,可配置固定行数。 当内容超过固定高度时,文本框出现滚动条。
(2)动态适应文本高度,可配置最小高度和最大高度。
- 当实际内容小于最小高度时,有有最小高度的行高占位
- 当实际内容大于最小高度小于最大高度,超出部分自适应
- 当实际内容大于最大高度,内部出现滚动条
- 例如,设置最小高度为4行,最大高度为7行。当输入内容小于4行时,仍然会有4行的占位;当输入内容大于4行小于7行,实际高度会自适应;当输入内容大于启航,实际高度为7行,文本框内出现滚动条。
2.5 设置文本内容的行数
默认情况下不限制文本内容的行数,也可限制文本内容的行数。
如果要限制文本内容的字数,可以通过设置最大长度或最小长度。
3.8.3.3 - 数字
1. 控件介绍
录入整数和小数,需要绑定实体字段。
2. 控件特性
2.1 绑定字段
可绑定字段数据类型:小数、整数、长整数。
2.2 设置显示格式
如果绑定的是小数,可配置显示格式:百分号、千分号、千位分隔符
如果绑定的是整数, 可配置显示格式:千位分隔
2.3 设置小数位数
可设置页面上控件的小数位数。
注意:实体中可设置字段的小数位数,页面上可设置控件的小数位数,保存后,数据库会按实体的小数保存数据,当控件小数位数超过实体小数位数时,会截断后保存,不会做四舍五入。但渲染页面时,会按控件的小数位数显示,即当后端数据位数小于控件位数时,控件渲染时会自动补零。
2.4 值为0时不显示
使用场景:
(1)当录入数字是0时,希望查看或编辑数据时显示为空
(2)当未录入数据,保存数据,希望查看或编辑数据时显示为空。
以上两个场景,可以开启“值为0时不显示"。
2.5 进度条样式
数字控件还可以展示成进度条的样式,
注意:使用进度条样式,需要设置最小和最大值,进度条在最小值和最大值的区间内拖动。
2.6 设置单位
当展示样式为数值,支持输入单位。
3.8.3.4 - 货币
1. 控件介绍
录入金额数据,需要绑定实体字段。
2. 控件特性
2.1 绑定字段
可绑定字段数据类型:货币
2.2 显示大写金额
录入数字后,失焦将显示为金额大写
2.3 设置小数位数
可设置页面上控件的小数位数。
注意:实体中可设置字段的小数位数,页面上可设置控件的小数位数,保存后,数据库会按实体的小数保存数据,当控件小数位数超过实体小数位数时,会截断后保存,不会做四舍五入。但渲染页面时,会按控件的小数位数显示,即当后端数据位数小于控件位数时,控件渲染时会自动补零。
2.4 值为0时不显示
使用场景:
(1)当录入数字是0时,希望查看或编辑数据时显示为空
(2)当未录入数据,保存数据,希望查看或编辑数据时显示为空。
以上两个场景,可以开启“值为0时不显示"。
3.8.3.5 - 日期
3.8.3.6 - 时间
3.8.3.7 - 日期区间
3.8.3.8 - 参照
1. 控件介绍
参照控件用于在当前页面中引用实体数据。控件需要绑定实体类型的字段,参照控件只能引用这个实体字段关联实体的数据。
2. 使用场景
场景举例:在费控应用中,成本中心、费用报销单是两个实体,在填写费用报销单时需要选择成本中心, 选择后在控件中回显成本中心名称。 选择成本中心就是使用参照控件。
3. 控件特性
3.1 绑定字段
可绑定字段数据类型:实体
参照单选或多选:绑定的字段如果是多选,那么该参照控件可选择多条数据,否则只能单选。可在实体的字段列表中确认配置的是否多选。
3.2 选择参照方案
3.2.1 选择参照方案
参照方案实质是数据查询方案。参照控件绑定参照方案,运行态可以选择该参照方案查询的数据。
每个实体可以创建多个参照方案。请查看参照方案的详细介绍
参照控件只能选择绑定字段关联的实体的参照方案。比如参照控件绑定了字段“采购物品",该字段关联了实体"物品",那么参照控件可选到实体“物品"的参照方案。
当关联实体创建了多个参照方案,此处会默认使用第一个参照方案,可以手动选择其他方案。也可以点击”新建"跳转到实体中创建参照方案。
3.2.2 页面自定义参照方案
点击选择参照方案旁边的
,可以修改该参照方案的配置,确定修改后会新生成一个页面自定义参照方案,该参照方案仅当前参照控件可以使用。自定义参照方案说明:
- 自定义参照方案仅当前参照控件可用,而实体中创建的参照方案是整个应用中都可以使用。
- 生成自定义参照方案,并不会对原实体的参照方案产生影响。
- 参照方案名称后有”自定义"标识,表示是自定义参照方案。
- 在PC转移动时,自定义参照方案不会转换。
- 在属性区修改参照显示字段、参照下拉字段,实际和进入弹窗修改是一样的,该参照方案会自动变成自定义参照方案。
3.3 参照显示字段
参照显示字段是指选择了参照数据后,回写到控件中的字段。
默认使用该参照方案中配置的显示字段,也可以在控件中自定义。
3.4 参照下拉字段
参照下拉字段是指选择参照数据时,下拉框中显示的数据。未设置时默认使用参照显示字段。
举例:下图中,设计态参照控件的下拉字段配置的是商品编号、商品名称两个字段。
运行态,可以看到下拉框中显示的是商品编号和商品名称。
3.5 参照携带
3.5.1 使用场景
参照携带是指将关联实体的某些数据带到页面控件中。
场景举例1:报销单中选择报销人,希望在其他控件中展示报销人的所属部门和所属岗位。
场景举例2:请购单中选择请购物品,希望在其他控件中展示物品编号和物品分类。
3.5.2 配置说明
(1)选择携带到控件
携带到控件是指将数据携带到当前页面中的哪个数据控件中。
可选范围:当前参照控件所在的数据控件和下一级数据控件(不是绑的孙实体及以下实体)。
举例说明:页面中有单一记录绑定主表,有重复表绑定子表,重复表就算是下一级数据控件。如果参照控件在单一记录中,那么可以往单一记录和重复表中携带数据; 如果参照控件在重复表中,那么只能往重复表中携带数据。
(2)携带映射
左侧:关联实体、关联实体的上级实体、关联实体的下一级实体的字段。
右侧:携带到数据控件中的子控件
将左侧数据携带到右侧控件中。比如将物品信息实体中的编码,携带到页面中的物品编码[单行文本]。
(3)携带映射匹配规则
参照映射时,左右值类型必须匹配,平台已做了自动过滤:
- 右侧可选项必须匹配左侧的数据类型,平台已经做了自动过滤。
- 左侧枚举、选项集、实体类型字段只能映射给右侧绑定了相同枚举、选项集、实体的控件。
- 左侧数据多选的字段不能映射给右侧数据单选的控件。
- 当前参照控件多选且要同级携带(同级携带是指参照控件在要携带到的数据控件中),左侧字段类型只能是文本、实体、长整数。
(4)携带映射条件
参照携带支持条件配置,当满足条件时才会执行。
如下图:携带到控件这里可配置映射条件,单条映射也可以配置条件。前者是前置条件,如果都无法满足,不会执行后面的单条映射。
(5)自动映射
当需要携带的控件很多时, 我们提供了自动映射功能,会根据左右值类型匹配规则做自动映射。
自动映射时,需要选择映射来源实体(关联实体、关联实体的上级实体、关联实体的下一级实体), 默认是关联实体。
自动映射时,如果发现右值的控件已经配置了映射,可以选择保留已有的映射或者覆盖已有的映射。
3.6 选多个插入多行
使用场景:参照单选,且在重复表中。运行态支持选择多条数据,在重复表中插入多行,插入时可复制上一行的内容。
前置条件:参照单选,且在列表中。
配置方式:开启属性“允许选多个插入多行",如果插入行时复制当前行其他列的数据,可以开启属性“插入行时复制当前行"。
运行态效果:
3.7 清空携带
使用场景:主表中选择参照,并携带数据到子表的多记录控件中。
开启“清空携带":表示修改参照,清空之前携带到多记录控件的数据。
不开启“清空携带":表示修改参照,不清空之前携带到多记录控件的数据,继续追加携带数据。
注意:清空携带是前端行为,如果携带数据已经保存,修改参照是不会清空携带数据的。
运行态效果如下:修改进货商品,删除之前已经携带的内容。
3.8 删除标识
当开启后,参照控件已选项后有“X"删除图标;如果不开启, 可通过快捷键delete删除
3.9 仅显示参照图标
参照控件配置中,可以设置开启仅显示参照图标,打开后,参照控件隐藏,仅图标显示。
3.8.3.9 - 下拉
使用场景
主要用于选择数据项。
数据源
只能绑定枚举、选项集类型字段。
下拉选择是单选还是多选,是根据绑定的字段的属性决定的,如下图,如果在实体中枚举类型字段勾选了多选, 则绑定了该字段的下拉控件就可以多选。
控件特性
标签显示
仅当控件绑定的数据源是选项集类型字段时可设置。
必须选择末级节点
仅当控件绑定的数据源是枚举类型字段时可设置,只能选择末级节点。
显示路径
仅当控件绑定的数据源是枚举类型字段,且为多级枚举时可设置,比如选择高新区时,显示效果为:四川省/ 成都市/高新区
自定义范围
1.支持自定义选择范围,全部可选,或自定义可选范围或不可选范围,支持表达式。不可选的选项在运行态是默认隐藏不显示, 也可以配置为显示但禁用效果。
2.下拉控件在值操作节点中自定义可选或不可选范围时,支持选择前序节点出参, 支持表达式。
(1)枚举支持的前序节点出参数据结构为:文本、文本list、长整数、长整数list ,实体对象中的枚举。
选项集支持的前序节点出参数据结构为:实体对象中的选项集。
(2)支持表达式
(3)当前序节点传入的选项和正常选项有差异时,不可选范围不受影响, 可选范围是传入选项和正常选项取交集
3.8.3.10 - 开关
3.8.3.11 - 单选
使用场景
主要用于数据项单选。
数据源
只能绑定枚举、选项集类型字段。
控件特性
设置多种显示样式
横向排列、纵向排列、胶囊按钮(移动端无该样式)
自定义选择范围
1.属性设置中可自定义选择范围,全部可选,或自定义可选范围或不可选范围,支持表达式。不可选的选项在运行态是默认隐藏不显示,也可以配置为显示但禁用效果。
2.单选控件在值操作节点中自定义可选或不可选范围时,支持选择前序节点出参, 支持表达式。
详细请看下拉控件值操作自定义范围。
一键全选
开启后,支持一键全选,可一键勾选所有可选项。
3.8.3.12 - 多选
使用场景
主要用于数据项多选。
数据源
只能绑定枚举、选项集类型字段。
控件特性
设置显示样式
横向排列、纵向排列。
自定义可选范围
1.属性设置中可自定义选择范围,全部可选,或自定义可选范围或不可选范围,支持表达式。不可选的选项在运行态是默认隐藏不显示,也可以配置为显示但禁用效果。
2.单选控件在值操作节点中自定义可选或不可选范围时,支持选择前序节点出参, 支持表达式。
详细请看下拉控件值操作自定义范围。
3.8.3.13 - 附件
1. 控件介绍
附件控件主要用于文件上传、下载、预览等。需要绑定实体字段。
2. 控件特性
2.1 基础
2.1.1 绑定字段
可绑定字段数据类型:附件
绑定的字段如果是多选,那么该附件控件可上传多个文件, 否则只能上传一个。
可在实体的字段列表中确认配置的是否多选。
2.1.2 设置控件样式
附件控件提供4种样式:上传按钮、照片墙式、拖拽区域式、照片列表式。 还可以修改上传按钮的文字、图标、按钮样式。
设计态效果如下:
运行态效果如下:
补图
2.1.3 控件样式适配列表
使用场景:在列表中,希望附件控件只占单行。
配置:开启适配列表
样式效果:
2.2 设置
2.2.1 设置附件表格样式
使用场景:希望上传后的文件展示成表格样式。
在表格样式中会展示上传附件的附件名称、附件大小、上传时间、上传人、上传人部门,最后一列为附件的操作列,比如预览、下载、删除等操作,操作列可配置显示为仅文字、仅图标、文字+图标。
配置如下:
设计态效果:
2.2.2 设置附件个数和大小
当绑定的附件字段是多选时,可以配置上传附件的个数上限,在运行态上传文件时会做校验提示。
可以配置单个附件文件的大小。配置如下:
2.2.3 设置附件文件类型
可以限制可上传文件的类型, 图片、视频、文件,也支持自定义格式。
以下是各种类型支持文件格式。
图片:.jpg,.jpeg,.png,.gif
视频:.mp4,.rmvb,.avi,.wmv,.mov
文件:.docx,.doc,.pptx,.ppt,.pdf,.txt,.xlsx,.ofd
配置如下:
2.2.4 设置附件模板
使用场景: 设计态搭建应用时上传附件文件,终端用户只是下载和查看文件。
配置如下:
小技巧:在属性区上传附件模板文件,选中文件可以拖动调整文件排序。
设计态配合了附件模板后的效果:
运行态效果:
补图
2.2.5 设置隐藏内容
隐藏文件信息课勾选隐藏附件大小、上传时间、上传人、上传部门,勾选后运行态隐藏对应信息。
2.3 附件操作
2.3.1 附件下载支持水印
水印范围可选择跟随系统和无水印。
跟随系统:跟随平台的水印设置,包括场景、水印内容和样式。
2.3.2 设置附件批量操作
(1)批量上传:
- 本地选中多个文件,批量上传
- 开启上传文件夹,本地选中文件夹,批量上传文件夹中的文件。
(2)批量删除:开启批量删除的开关,可选中多个已上传的文件进行批量删除。
(3)批量下载:开启批量下载的开关,可选中多个已上传的文件进行批量下载。如果文件是多个,会打包下载,可设置打包文件的文件名。
(4)批量设置密级:开启批量设置密级的开关,可选中多个已上传的文件进行批量设置密级。
2.3.3 转PDF下载
附件支持转PDF下载,输入需要转PDF下载的文件格式,多个以英文逗号分隔(如doc,txt,docx),在文档下载时会将指定格式的文档转为PDF下载。
2.3.4 预览时可复制
开启预览时可复制后,运行态文件预览时支持复制内容。
2.3.5 附件重命名
开启后,对于运行态上传的附件文件,上传人可以对已上传的附件进行重命名操作。
2.4 附件操作控制
针对附件文件,可执行扫码上传、本地上传、下载、预览、删除、编辑、设置密级等操作。
可根据实际业务需求,控制这些操作的状态(正常、禁用、隐藏),支持条件表达式。
注意:目前只有WPS(V6)通道可编辑文件。
2.4.1 操作权限控制
开启后,在【角色权限】中可以给角色授权附件“扫码上传、本地上传、下载文件、预览文件、删除文件”等操作权限。
注意:角色权限中授权仍然会遵循控件状态优先级比较。
2.4.2 附件编辑
集成平台提供通道支持,对授予了文档编辑权限的附件,支持在线编辑。
设计态编辑文件默认隐藏,点击改为正常即可在运行态进行附件在线编辑。
运行态:
2.4.3 密级设置
附件开启了密级设置,在运行态上传附件,可以设置密级属性
运行态附件使用时,根据系统三员的总体规则配置,控制那些用户最终权限,如:低密级人员不允许查看高密级附件
运行态:
2.5 设置附件控件状态
附件的控件状态实际控制的是附件操作,对应关系如下表:
附件控件状态 | 操作状态 |
---|---|
附件正常 | –操作项正常:预览、下载、删除、设置密级 –操作项隐藏:编辑 |
附件只读 | –操作项正常:预览、下载 –操作项隐藏:删除、上传、编辑、设置密级 |
附件禁用 | 所有操作项禁用 |
附件隐藏 | 整个控件隐藏 |
注意:附件的操作状态是可以单独配置状态的,在2.7中已经说明。那么最终运行态的操作究竟是什么状态呢?
前文中我们已经说明过,当控件嵌套控件时,当前控件会受上级控件状态的影响,两种会比较状态的优先级(正常<只读<禁用<隐藏),决定当前控件最终运行时是什么状态。
所以,附件控件状态下对应操作的状态, 会和该操作本身配置的状态做比较,决定该操作最后运行时的状态。
比如:附件控件只读时,预览和下载默认是正常的。 如果设计态单独将预览和下载设置为禁用, 因为禁用优先级高于正常,所以,在运行态看到的效果是预览和下载是禁用的。
特别说明:以上只是为了给大家介绍背后的逻辑, 实际搭建时,只需要调整附件控件的状态,该状态下操作的状态是满足绝大多数场景的,不用单独再去配置某个操作的状态。只有不满足场景需求时,再单独调整操作的状态。
- 功能权限:开启后,在【角色权限】中可以给角色授权该控件
2.6 附件预览打印
运行态附件支持预览打印。
3.9 - 控件与数据源
数据源是应用设计中的一个重要概念,它提供了页面所需的数据,并允许对数据进行增删查改操作。
- 控件与数据源关系:
1、可绑定实体的控件:数据控件。可承载的数据是一条或者多条记录。
2、可绑定字段的控件:录入控件等。可承载的是一条记录中的一个字段。
实体数据源
例如:费用报销单列表查询页面,绑定的是实体数据源。
再例如:全表编辑页面,全表编辑数据源配置需要是根实体:
关系数据源
例如:费用报销单详情页面,费用明细录入需要绑定关系数据源,以便明细可以与报销单主信息一起提交处理。
控件数据源
例如:以报销单的列表详情页面为例,左侧列表选择的选中一个报销单,右侧展示对应的报销单详情信息,右侧的详情需要使用控件数据源,达到左右联动的效果。
运行效果:
数据源配置:
1)左侧列表配置:实体数据源。
2)右侧详情:单一记录配置数据源是控件数据源。
参数数据源
参数数据源支持子页面使用。在主页面嵌套子页面,子页面的数据来源或者处
理提交需要与主页面一致且为同一实体时需要用到参数数据源。
首先,子页面中新建数据源类型的参数,选择对应的实体,如数据源是一条记录则列表属性不开启,否则开启;
然后,在子页面上,对应数据控件绑定数据源时,选择参数数据源,见附图;
2.8版本之前约束限制:主页面上需要设置当前实体的全部字段,因为是主页面加载处理数据。2.8及其以后版本无此约束限制。
最后,如果运行态主子页面数据联动保持一致,需要从主页面中建立参数映射到子页面上,在子页面控件上,参数配置中,建立映射关系,如下图。
隐藏字段
隐藏字段用于不需要在页面上拖入控件,但是需要使用隐藏字段的场景。
隐藏字段设置入口:所有的数据控件实体属性后面有个图标,我们点击图标按钮,打开隐藏字段设置即可。
隐藏字段使用:隐藏字段除了在页面上没有控件展示外,其他所有的比如页面规则中值操作、控件属性中调用表达式设置能力,及其可作为事件行为的参数传递来源都无差异。
3.10 - 事件交互
事件介绍
页面中控件的事件交互通常由两部分组成:触发事件和执行动作。
触发事件是指用户与页面交互时发生的行为,如鼠标点击、键盘输入、页面滚动等,当这些行为发生时,会触发相应的动作,平台可以通过JavaScript等技术来监听这些事件并做出相应的响应,例如单击按钮控件,打开指定详情页面,其中【单击】属于按钮控件的触发事件,【打开指定页面】属于对应的执行动作。
平台提供通用的事件管理机制,预置有多种常见的触发事件和执行动作,支持配置不同的控件事件,执行不同的动作,满足不同场景下的页面交互的多样性。
事件触发
系统内预置了多种常用的事件触发,如下表所示。
类型 | 涉及控件 | 触发事件 |
---|---|---|
页面 | PC、移动页面 | 页面初始化: 页面初始化加载时,执行对应动作 参数变化时: 针对外框和子页面,入参变化时,执行对应动作 页面关闭前: 页面关闭时会触发该事件,执行对应动作后,关闭页面 |
移动页面 | 顶部下划: 仅移动端有该事件,当移动页面已划动至顶部,再次下划,执行对应动作,常用于页面刷新,或数据控件刷新 底部上划: 仅移动端有该事件,当移动页面已划动至底部,再次上划,执行对应动作,常用于数据控件加载更多 |
|
布局控件 | 页签 | 切换到某页签: 当切换至指定页签时,执行对应动作 |
容器 | 单击: 鼠标点击时,执行对应动作 双击: 仅PC端有该事件,鼠标双击时,执行对应动作 右键: 仅PC端有该事件,鼠标右键点击时,执行对应动作 鼠标移入: 仅PC端有该事件,鼠标移入容器区域时,执行对应动作 鼠标移出: 仅PC端有该事件,鼠标移出容器区域时,执行对应动作 |
|
面板 | 面板初始化: 面板初始化加载时,,执行对应动作 面板关闭: 面板关闭时,执行对应动作 双击: 鼠标双击面板区域时,执行对应动作 右键: 鼠标右键点击面板区域时,执行对应动作 |
|
数据控件 | 单一记录 | 数据加载后: 当数据控件数据加载完成后,执行对应动作 |
多记录数据控件 (重复表录入/查询、 树表录入/查询、 重复节、树) |
点击行/节时: 单击行时,执行对应动作 双击行/节时: 双击行时,执行对应动作 勾选行/节时: 表格产生勾选动作时,执行对应动作 全选时: 表格产生全选动作时,执行对应动作 取消全选时: 表格产生取消全选动作时,执行对应动作 勾选行改变时: 勾选行产生改变时,包含新增勾选和取消勾选,执行对应动作 数据加载后: 当数据控件数据加载完成后,执行对应动作 分页改变时: 分页发生改变时,执行对应动作 自定义列/顶部操作: 多记录数据控件支持自定义添加按钮操作,点击操作时,执行对应动作 |
|
录入控件 | 单行文本、数字、货币、多行文本、OCR、 日期、时间、参照、下拉、开关、单选、多选 |
获取焦点: 录入控件获取焦点时,执行对应动作, 如光标移至输入框即获取焦点 焦点离开: 录入控件失去焦点时,执行对应动作, 如光标从输入框移开即失去焦点 值发生改变: 控件值发生改变时,执行对应动作,如下拉的选项改变时被触发 |
附件 | 附件上传后: 附件上传完成后,执行对应动作 | |
展示控件 | 文字标签、按钮、图标、图片、图文 | 单击: 鼠标点击时,执行对应动作 双击: 鼠标双击时,执行对应动作 右键: 鼠标右键点击时,执行对应动作 |
平台支持设置条件事件,即满足不同条件,执行不同的事件。
事件行为
实体类行为
系统中,实体作为表单应用的核心,是数据库表的可视化表示形式,所有数据控件均需要绑定对应实体,而实体类动作就是针对数据控件进行的数据类操作,包括对于实体数据进行添加、编辑、删除、导入导出等操作。实体类动作均需要有承载实体数据的页面或数据控件,不同控件也支持不同的实体类动作。
- 存为草稿
动作描述:系统中单据和档案类型实体,预置有状态字段(草稿、待提交、提交中、已生效),该动作将保存单条数据,并变更状态为【草稿】。
适用范围:单一记录且实体为单据或档案类型
参数配置:
- 实体:选择执行该动作的数据控件
- 行为执行之后:动作执行完成后连带执行的动作。
- 无操作
- 刷新当前页面
- 关闭当前页面
- 关闭并刷新父页面
- 保存记录
动作描述:用于数据的保存。
适用范围:数据控件(树暂不支持)。
参数配置:
- 实体:选择执行该动作的数据控件
- 行为执行之后:动作执行完成后连带执行的动作,同【存为草稿】
- 保存并新增
动作描述:用于单条数据的连续新增,保存后将重置对应数据控件数据。
适用范围:单一记录控件,若控件绑定实体为单据或档案类型,将同步变更状态为【待提交】。
参数配置:
- 实体:选择执行该动作的数据控件
- 保存并复制
动作描述:用于单条数据的连续复制新增,保存后将复制对应数据控件数据。
适用范围:单一记录控件,复制的范围同当前人新增填写页面可操作数据范围一致。
参数配置:
- 实体:选择执行该动作的数据控件
- 提交记录
动作描述:该动作将保存单条数据,并触发执行对应流程,变更当前数据的状态为提交中。
适用范围:单一记录且实体为单据或档案类型。
参数配置:
- 实体:选择执行该动作的数据控件
- 行为执行之后:动作执行完成后连带执行的动作,同【存为草稿】
- 撤回记录
动作描述:。
适用范围:单一记录且实体为单据或档案类型。
参数配置:
- 实体:选择执行该动作的数据控件
- 刷新记录
动作描述:该动作将重新获取对应数据控件的数据。
适用范围:数据控件(单一记录、重复表录入/查询、树表录入/查询、重复节、树)。
参数配置:
- 实体:选择执行该动作的数据控件
- 删除记录
动作描述:该动作将删除指定数据项,删除后不可找回。
适用范围:数据控件(单一记录、重复表录入/查询、树表录入/查询、重复节)。
参数配置:
- 实体:选择执行该动作的数据控件
- 行为执行之后:动作执行完成后连带执行的动作,同【存为草稿】
注:
1)单一记录为删除当前记录
2)多记录数据控件中列操作配置该动作,为删除选中行数据
3)多记录数据控件中顶部操作(批量操作)配置该动作,为删除勾选行数据
- 导入
动作描述:列表页面,从本地文件表格中批量导入数据,例如批量导入人员信息、批量导入数据记录等。
适用范围:多记录数据控件(重复表录入/查询、树表录入/查询、重复节)。
参数配置:
- 实体:选择执行该动作的数据控件
- 导入模板管理
1)支持设置默认导入模板
2)支持编辑和删除已有模板
3)支持新建导入模板:可选择对应实体所有数据项作为导入字段(必填字段为必选项)
- 导入事件
- 导入模板设置
- 导出
动作描述:列表页面,从列表导出数据到本地,例如批量导出人员信息、批量导出数据记录等。
适用范围:多记录数据控件(重复表录入/查询、树表录入/查询、重复节)。
参数配置:
- 实体:选择执行该动作的数据控件
- 导出模板管理
1)支持设置默认导出模板
2)支持编辑和删除已有模板
3)支持新建导出模板:可选择对应实体所有数据项作为导出字段
- 打印
动作描述:该动作支持打印当前页面。
注:打印内容可在页面属性中选择需打印的组件。
流程类行为
当表单需要多方参与、且按一定顺序提交数据时,就需要用到流程。流程类动作用于配置流程各节点中节点负责人处理节点时可以进行的特定操作,通常用于按钮控件、工具栏控件的事件配置。
- 处理提交
审批节点的操作之一,保存在此节点中的操作,数据流转到下一节点。
- 同意提交
同意申请,保存在此节点中的操作,数据流转到下一节点。
- 已阅提交
已知晓表单内容,保存节点操作,数据继续流转。
- 不同意处理
不同意申请,处理后执行特定动作,如回退上一节点。
- 暂存代办
保存在此节点中的操作,并且流程数据保留在我的待办中。
- 保存内容
保存在此节点中的数据,暂不向往下一节点流转。
- 回退
当流程已办节点(不一定是上一节点)处理有误或者上一节点指定错人员时,相关人员需要退回到相应节点由其重新处理。
- 终止
相当于流程提前结束,当前节点后的其它节点不再执行。
- 撤销
与"终止"类似,由发起人执行。
- 移交
当流程实际并非由当前处理人处理或当前处理人因故不能审批时,支持将该条流程待办数据转交给其他成员进行处理。
- 加签
审批时,可以征求另一人或多人的意见,加签将出现在流程中。
- 减签
当加签人数大于等于 1 时,可以移除被加签的审批人,对方无需再审批。例如加签有误时,可以通过减签来操作。
- 咨询
流程审批过程中,审批人需要与流程外的人员进行沟通才能做出审批决策时,可进行流程外人员的咨询,且不会出现在流程中,也不影响流程流转。
- 知会
告知指定人员知道有该流程,支持查看。
- 取回
参与者提交任务后,发现自己办理此任务有误或不应该立刻提交等情况,可将此已办理完成的任务取回重新办理或稍后再提交。主要针对本人的"已办任务"。
- 催办
当流程超期或紧急时,相关人员需要对流程进行催办,从而加速流程执行。
- 查看流程
查看当前页面所属的流程。
- 辅助页面
以右侧抽屉的弹窗形式打开辅助信息页面。辅助页面支持在流程设计时指定。
注:1.流程动作选择发送、处理提交、同意提交、不同意处理时,显示参数:“是否弹下一节点弹窗”
2.流程动作选择加签、会签、知会、回退时,可选该类型的标准操作和封装操作
页面行为
- 打开页面
动作描述:打开当前应用内的指定页面。
参数配置:
- 目标页面:当前应用已创建好的页面
- 打开方式:
- 新开浏览器页签
- 新开系统页签
- 当前页打开
- 打开弹窗:以弹窗的形式打开指定页面,支持设置弹窗的标题、类型、大小
- 入参映射规则:当前页面控件数据可做为被打开页面的入参参数
- 出参映射规则:页面打开模式为弹窗时可配置,被打开页面的出参可以作为返回值,映射为当前页面中某控件数据
- 刷新页面
动作描述:触发后刷新指定页面。
参数配置:
- 页面:支持刷新当前页面或父页面
- 打开链接
动作描述:触发后打开指定地址的链接。
参数配置:
- 链接地址:支持输入固定地址或通过表达式拼接动态地址
- 打开方式
- 新开浏览器页签
- 新开系统页签
- 当前页打开
- 链接参数
- 锚点跳转
动作描述:用于页面内容过长时,快捷跳转到页面内指定位置。
参数配置:
- 定位控件:用于明确定位跳转点
- 取消关闭页面
动作描述:关闭当前页面,且不携带返回值。
- 确定关闭页面
动作描述:关闭当前页面,关闭页面为弹窗页面时,在关闭页面之后出参映射生效。
控件行为
行为 | 动作描述 | 附图 |
---|---|---|
值操作 | 支持对控件设置值、清空值 | |
高级属性操作 | 支持对控件高级属性:比如标题、占位提示等进行值设置 | |
控件状态 | 支持设置控件状态 | |
控件动作 | 见控件动作详细 | |
必填 | 支持设置必填控件和非必填控件有哪些 | |
提示信息 | 支持设置全局提示和跟随控件的提示信息 | |
清空提示 | 可设置清空提示信息,包括全局和跟随控件的提示 |
控件动作详细
控件 | 控件动作 |
---|---|
单一记录 | 新增:保存并新增记录编辑:编辑指定记录查看:只读状态查看指定记录删除:删除指定记录 |
支持数据录入的多记录控件(重复表录入、重复节、树表录入) | 插入行/节:当前行/节下方插入行/节复制行/节:复制当前行/节或选中行/节删除行/节:删除当前行/节或选中行/节 |
页签 | 激活规则:会重新执行页签设置的激活规则,适用于发生的事件执行后激活规则执行后,当前激活页签发生变化的情况。 |
附件 | 上传附件:调用附件控件的上传能力,支持上传附件下载附件:下载对应附件控件下所有附件内容预览附件:查看指定附件,预览附件内容 |
参照 | 打开参照弹窗:打开指定参照控件的内容选择弹窗 |
…… |
执行页面规则
页面规则是一种可视化的页面逻辑编排工具,可以帮助设计师实现较复杂页面业务逻辑。页面中支持通过事件触发,执行指定的页面规则。
参数配置:
- 选择页面规则:当前页面中已创建的页面规则
- 执行前校验:支持规则执行前进行实体校验
执行生单规则
在应用搭建的过程中,存在上下游实体间的数据流转和映射,在系统中通常会使用生单规则来进行配置上下游实体间的数据流程规则,生单规则的触发方式分为两种,自动触发和手动触发,其中手动触发是指在页面中通过事件配置将控件的触发事件和生单规则进行绑定。事件触发后将执行对应的生单规则。
- 执行生单规则(推单):上游单据驱动生成下游单据。
- 执行生单规则(拉单):下游单据驱动拉取上游单据,生成下游单据,单据为草稿状态。
其他
- 扫码:移动端支持配置扫码事件,可设置二维码与条形码事件执行。
- 附件下载:下载对应附件控件下所有附件内容
- 附件预览:查看指定附件,预览附件内容
- 附件上传:调用附件控件的上传能力,支持上传附件
- 单据转文档:可将实体数据转换为附件
- 批量标签打印:可将实体中所有标签进行批量打印
3.11 - 子页面
子页面介绍
应用搭建过程中经常遇到两个问题,一是页面部分内容结构相同,二是同一页面区域中,不同条件下需要展示不同内容;为了解决该类问题,支持条件性展示内容的场景,同时降低内容的重复构建率,平台引入组件【子页面】,即支持在主页面中嵌入另一组子页面内容。
子页面的能力是指在主页面下,一块页面组成内容可以独立出来的能力。
子页面相比外框,其组成内容更加具体,通常与主页面有较强的业务关联。比如发票列表与发票详情,发票列表的数据项决定了发票详情的内容,同时由于不同发票类型,详情区展示的票据样式不同,那么我们可以将发票详情区做成子页面。
子页面基础使用
子页面的使用分为三个部分:子页面、子页面控件、触发器。
- 子页面:子页面具体内容,通过页面设计器可以构建子页面内容,一次搭建可反复使用。
- 子页面控件:由于子页面以组件形式承载了主页面一部分内容,子页面不可独立访问。需借助子页面控件进行展示,一个子页面控件可承载多个子页面,同时能够按照激活规则切换子页面。
- 触发器:主页面中所有控件均可作为子页面切换的触发器,触发后,执行子页面控件的控件动作【切换子页面】。
创建子页面
子页面在主页面中以组件形式存在,不能单独访问的,在组件模块中可以进行子页面的创建,创建时可使用子页面模板。
在子页面列表可执行复制、编辑、删除子页面的操作。
子页面与主页面数据交互
- 场景1:主页面的数据传递给子页面。
搭建逻辑:子页面定义入参, 主页面绑定子页面时做将主页面内容映射给入参。
搭建方法:
(1)在子页面的属性中,定义页面入参(实际是子页面的参数,我们设计子页面时把子页面也当做页面看)。
如上,配置了子页面入参后,在子页面设计中任意表达式都可以使用入参的值,实现自身业务逻辑。
(2)页面中子页面控件绑定子页面后,在设置中配置子页面的入参映射,可将主页面的内容映射给子页面的入参。
- 场景2:子页面的数据传递给主页面。
当子页面需要将数据传递给页面时, 需要用到子页面抛事件。
搭建逻辑:子页面定义事件,在合理的时机将事件抛出,如果主页面订阅了子页面事件,就可以通过参数映射,将事件数据映射到主页面中。
搭建方法:
(1)子页面定义事件
(2)子页面抛出事件
事件抛出:一般由当前子页面内的控件事件触发,也可以由页面规则抛出。
(3)主页面订阅子页面事件,通过参数映射,将事件数据映射到主页面中。
在主页面中,选中子页面控件(需要先绑定子页面),事件选择订阅某个子页面抛出的事件,在行为中选择事件参数映射,就能将子页面的抛出的数据映射给主页面。当然选择其他行为,实现自身的业务逻辑。
子页面页面变量、打印
和页面的使用方式一致,请参考页面。
3.12 - 外框
1. 外框介绍
一种可以快速复用的布局组合能力,通过外框可以将页面公共部分沉淀为可复用的布局,使用外框的页面通过占位、入参映射,可以实现布局的复用,快速灵活的搭建有业务共性的页面。外框最常见使用场景是审批外框。
2. 新建外框
外框是不能单独访问的,只能由页面启用外框。所以要先进入页面设计器,找到外框页签,点击新建
3. 外框分区
PC端外框分为 上、下、左、右、中间五个分区。
移动端外框分为上、中、下三个分区。
其中中间区预置了一个占位"内容区"。“内容区"不可删除和编辑,当页面绑定外框后,该页面的内容就会显示在此占位中。除了中间区, 其他区可以开启和关闭。每个分区都可以单独设置属性、风格。
其中左右分区可额外设置:
拖拽调整宽度:运行态时可以拖拽分区线调整左右分区宽度
折叠:运行态可以点击图标展开收起分区
4. 占位控件
占位控件只有在外框中才可以使用,任一分区都可以拖入占位控件。
拥有占位控件的外框,在被页面绑定后,页面除了可以把控件拖入中间区,还可以把控件拖入其他区的占位控件。所以,如果页面有个性化的需求,在外框中要预留占位控件。
5. 页面绑定外框
主页面绑定外框支持绑定当前应用外框和依赖应用外框
6. 外框与页面数据交互
- 场景1:页面的数据传递给外框。
搭建逻辑:外框定义入参, 主页面绑定外框时做将主页面内容映射给入参。
搭建方法:
(1)在外框的属性中,定义页面入参(实际是外框的参数,我们设计外框时把外框也当做页面看到)。 默认已添加了一个入参"流程实例ID"。
(2)页面绑定外框后,选中外框(在主页面可以通过下方的控件路径选中外框),在右侧属性中可以看到外框已经定义的参数,此时可以配置参数映射。 可以将当前页面的数据通过参数映射传递给外框的入参。
如果当前页面绑定的是单据或档案实体, 系统会自动将当前页面的流程实例ID传递给外框的入参,无需手动配置。
- 场景2:外框的数据传递给页面。
当外框需要将数据传递给页面时, 需要用到外框抛事件。
搭建逻辑:外框定义事件,在合理的时机将事件抛出,如果主页面订阅了外框事件,就可以通过参数映射,将事件数据映射到主页面中。
搭建方法:
(1)首先定义外框事件,即该事件包含了哪些数据。
(2)在外框事件中,设置某个时机抛出事件。
(3)页面绑定外框后, 选中外框(在主页面可以通过下方的控件路径选中外框), 通过事件配置订阅外框事件数据, 并通过事件参数映射,将外框数据传递给页面。
3.13 - PC转移动
适用场景:先搭建好PC页面, 然后移动页面由PC页面转,再做微调,快速搭建移动页面。
前提:新建页面时要同时勾选PC和移动端,形成页面对应关系。
配置:进入移动页面,点击"转移动"按钮, 选择转换方式
(1)全部转换:覆盖当前移动页面内容(控件、页面规则)及外框占位内容,用PC的页面内容及外框占位内容进行转换
(2)部分转换:不覆盖当前移动页面内容, 选择PC端的部分控件,转换到当前移动页面中。如果移动端已经存在PC端对应控件(控件唯一标识相同),转换时会再生成一个新的控件,而不是替换原控件。
注意:
(1)当原移动端页面未绑定外框时,PC端绑定了外框,且PC外框有对应的移动外框,转换时移动端页面会添加对应移动外框。 如果不存在对应移动外框,就只转PC的内容区。
(2)当原移动端页面已绑定外框时,PC页面转移动,按占位的名称去匹配,即PC外框的占位和移动端外框占位名称一致时,对应转换占位中的内容, 如果未找到匹配的占位, PC外框占位内容会转到移动端内容区的上方。
4 - 业务规则
4.1 - 逻辑分类
分类简介
应用中涉及到的的逻辑部分,分成了以下五种:
实体逻辑
适用场景 :实体逻辑主要应用于数据模型的设计中,它关注的是数据层(实体层)的逻辑规则。例如,在”客户关系“管理应用中,定义一个“客户”实体,包括其名称、联系方式、交易记录等属性。实体逻辑确保数据结构的合理性与一致性。
- 字段属性:字段属性中设置默认值、计算值、必填、唯一、校验、加密等属性规则,设置后不区分页面(不分页面的规则可以设置在字段上),属于数据层的兜底逻辑规则。
- 实体规则:条件类设置字段校验、计算值、默认值,则通过实体规则设置,同样不区分页面生效
- 实体事件:数据增删改后,如果需要发送事件消息出来,则可设置实体事件,比如”报销单付款完成时事件",发出后,可供其他监听使用。
- 实体索引:唯一规则设置,可设置组合唯一规则。
区别 :与其他逻辑相比,实体逻辑不区分页面,适用于数据底层的逻辑规则。
页面逻辑
适用场景 :页面逻辑主要关注用户界面(UI)的行为和响应,如表单验证、按钮点击事件处理、数据显示与隐藏等。在应用程序设计中,页面逻辑确保用户与界面交互时能获得即时反馈,提升用户体验。
- 控件属性:控件属性定义了控件的外观和行为特征,用于设置控件在初始加载或应用运行期间的状态。比如:控件必填、输入校验、状态(只读、禁用等)等。
- 控件事件:控件事件则是指由用户操作或其他逻辑触发的动态行为,是控件响应外部刺激(如点击、拖拽、焦点变化等)的处理机制。
- 预制行为动作:根据业务场景,提供一系列预制的行为动作(实体相关、流程相关、控件相关)等,提高应用搭建效率和可维护性。
- 页面规则:与预制行为动作相比,页面规则允许应用设计师根据业务需求编写个性化的业务逻辑。
区别 :页面逻辑侧重于前端用户交互,处理用户输入、展示数据及简单的业务逻辑验证,而不应涉及后台复杂逻辑处理。
生单规则
适用场景 :生单规则常用于自动化触发业务流程,如在采购管理应用中,当用户请购单审批结束后,自动创建采购订单或在财务系统中,根据发票审批状态自动生成会计凭证。生单规则减少了人工干预,提高了工作效率。
区别 :生单规则专注于根据预设条件触发业务单据的自动生成,属于业务流程自动化的一部分,对于此类生成单据的场景,可通过生单规则的简单配置达到场景需求的满足。
扣减规则
适用场景 :扣减规则通常应用于库存管理、财务处理等场景,如在销售管理应用中销售订单出库时自动扣减商品库存,或在财务管理中根据报销审批结果扣减预算。扣减规则确保资源或资金的精确管理。
区别 :扣减规则专注于资源或数值的减少操作,确保数据的准确性和业务流程的合规性,是业务处理中对特定资源管理的关键逻辑。以上场景则直接通过扣减规则的简单配置,满足复杂的场景功能,提高应用搭建效率和可维护性。
微流程
适用场景 :微流程适用于,在以上场景化的功能配置下但是仍然无法满足对应的需求时,设计师可通过微流程进行自定义逻辑的编排来满足对应的需求。
说明 :在应用的设计与开发中, 实体规则 、 页面规则 、微流程作为自定义编排的工具,扮演着至关重要的角色。它们本质上基于微流程的底层引擎,旨在提供更加灵活和强大的逻辑处理能力,以应对那些仅通过基本属性配置难以满足的复杂业务需求。
总结来说,这五者分别针对数据模型、用户UI及交互、业务自动化(生单))、资源管理及细分任务自动化(扣减))、自定义业务逻辑(微流程)),各有侧重,共同构成了一个完整业务系统的基础逻辑框架。
4.2 - 微流程
微流程是一种通过可视化托拉拽的方式对业务逻辑进行编排的工具,采用各种活动节点及编排来代替传统开发的编码工作,帮助应用设计师以零代码的方式表达出各种复杂的业务逻辑。微流程具备如下关键特性:
①逻辑可视化,编排操作简单
页面规则中的各个活动节点配置简单、说明清晰,用户通过简单的选择和输入即可完成节点配置;同时通过可视化拖拉拽的方式就能实现对页面逻辑的编排,上手门槛低,编排结果清晰明了。
②基础能力丰富,业务逻辑表达力强
页面规则包括逻辑活动、控件属性、实体动作、服务调用、控件动作等节点,涵盖了逻辑处理、页面及控件属性的操纵、数据的获取/保存及再组装等能力。
③逻辑自洽性强,具备自我纠错能力
页面规则具备强大的自我纠错能力,可通过一致性校验自动检查用户配置的逻辑自洽性,发现逻辑错误时会精准定位并给出错误提示;同时也保证用户设计逻辑产生的代码安全、可靠、易维护。
设计流程
①页面规则设计流程:
(1)步骤一:创建页面规则。
(2)步骤二:在画布中选择节点,设计页面规则。
(3)步骤三:保存页面规则并确保通过一致性校验。
(4)步骤四:在页面中选择控件和相应的控件事件,绑定已保存的页面规则。
②微流程设计流程:
(1)步骤一:创建后端微流程并选择触发方式。
(2)步骤二:微流程触发方式为服务定义时,需定义入参、出参。
(3)步骤三:在画布中选择节点,设计微流程。
(4)步骤四:保存微流程并确保通过一致性校验。
微流程调用链
提供微流程的上下游查询
微流程日志
页面规则日志记录了应用在测试环境中页面规则的历史执行数据,在页面规则日志中,按照节点执行顺序记录节点执行的详细信息(如出入参、异常信息等),可帮助设计师排查页面规则问题。
点击「详情」可进入日志详情界面,详情中是每个节点执行日志,可点击「节点」定位到对应日志,如下图。
微流程重构
节点多选状态下,可将连续勾选的节点重构为一个子微流程,以便在其他微流程中复用,且重构生成的子微流程将自动在当前位置引用
-
基础信息:可对重构子微流程基础信息进行修改,如名称、编码、描述信息等
-
入参定义:可对子微流程入参进行定义,若勾选节点中使用到了未勾选的前序节点数据,则需按已使用数据进行入参定义,以保证原流程的完整
-
入参映射:系统将自动建立前序节点与入参的映射关系
-
出参定义:可对子微流程出参进行定义,若未勾选的后续节点使用到了重构节点数据,则需按提示进行出参定义,否则可能导致当前微流程不可用
-
出参映射:系统将按照数据使用,自动建立出参与后续节点的映射关系
微流程撤销、重做
支持浏览器页签级撤销、重做能力。浏览器页签关闭则撤销重做能力不再支持,支持的情况下最多支持100次连续撤销或者连续重做能力。
①撤销: Win( Control+Z
)或Mac(Command+Z
)
②重做: Win( Control+Y
)或Mac(Command+Y
)
4.2.1 - 微流程分类
根据适用业务场景的不同,微流程分为实体业务规则、页面规则和后端微流程三种,各种微流程内部也根据细分场景的不同进一步做了子类型的划分,详细结构如下图。这些微流程使用统一的微流程设计器,但各自支持的活动节点不同节点。
①实体业务规则-校验
在实体数据保存入库前,进行业务规则校验,如不满足规则,可以阻止数据保存入库并进行提示
适用场景举例:日常费用报销单保存时,如果报销人和制单人不是同一个人,需要校验报销人是否填写了代理报销说明,如未填写则不允许保存并提示。
②实体业务规则-计算
在实体数据保存入库前,对数据进行修改,并使用修改后的数据作为最终保存入库的数据。
适用场景举例:日常费用报销单保存时,如果单据为草稿状态,则在单据标题前增加前缀【草稿】。
③实体业务规则-默认值
在新建实体数据时,根据业务规则设置字段默认值。
适用场景举例:新建日常费用报销单时,根据当前登录人所在组织报销参数,获取成本中心字段默认值并设置。
④普通页面规则
针对页面及页面元素进行操作,与终端用户进行交互的页面级微流程。
适用场景举例:用户填写报销单时,如填写的发票抬头不符合企业标准,则可以调用页面规则进行校验,并且在对应控件上进行提示。
⑤公共页面规则
针对多个页面都需要使用的公共页面逻辑,支持抽象为可复用的公共页面规则,以供多个页面同时使用
适用场景举例:日常费用申请单和日常费用报销单中,都需要通过页面规则打开发票详情,可将打开发票详情页面规则抽象为公共页面规则,以便维护和复用
⑥微流程-服务定义
通过其他微流程或页面规则、实体业务规则调用触发,支持配置出入参的微流程;同时也支持将服务定义微流程暴露到开放平台中,供外部服务调用
适用场景举例:删除日常费用申请单时,通过服务定义微流程查询是否有下游报销单引用了该单据,并返回查询结果
- 新建:
- 定义出入参:
如果你的服务定义微流程需要使用出参和入参,需要在此处配置。出入参支持无参数、基本类型,实体对象和自定义对象
- 支持被其他服务调用:
服务定义微流程,创建并保存后,可以在页面规则、子微流程中被调用。
将服务定义微流程暴露到开放平台中,支持外部服务调用(非当前应用):
⑦微流程-事件监听
指通过监听业务事件、实体事件或者连接器事件(包括应用内和应用外事件)作为触发方式,不具备被调用能力的微流程
适用场景举例:监听日常费用报销单更新事件,当报销单状态更新为已生效时,更新上游申请单的状态为已完成。
- 新建:
- 选择监听事件:
⑧微流程-定时任务
通过定时任务触发,不具备出入参的微流程(定时任务支持运行态调整)
适用场景举例:创建定时任务,每天清除非正式的发票数据,减少无效数据的占用。
⑨自定义微流程
自定义微流程指在设计态中定义好触发方式及出入参后,微流程内部的实现由代码完成的自定义微流程。自定义微流程也包括服务定义、事件监听、定时任务三种类型。
4.2.2 - 微流程设计器
微流程设计器提供了一些列丰富的活动节点和可视化拖拽编排方式,帮助和引导设计师简单快速的完成复杂的业务场景搭建和逻辑编排,让不具备编码能力的设计师在没有程序员介入的情况下也能搭建出各种各样的业务逻辑。
4.2.3 - 微流程节点
微流程支持对业务数据的加工处理和逻辑的编排,以及外部应用服务数据的调用。微流程具备丰富的实体操作节点,例如实体数据的增删查改节点,逻辑编相关节点,例如分支、循环、自定义错误等,以及外部服务数据调用节点,例如自定义服务节点,连接器节点,消息中心节点等。借助以上活动节点的能力,设计师可以定义自己想要的后端服务接口。以下是微流程节点的简要介绍:
●节点公共属性
适用范围:微流程、页面规则
①节点标题:支持点击节点中的标题,进行编辑
②节点备注:节点左上角,可查看已有备注,或添加备注
③节点复制:支持单节点复制
④节点多选:在节点右下角点击多选节点,进入多选模式,可以勾选节点,进行批量复制、剪切、删除。 还可以将勾选的节点重构为一个子微流程,方便在其他微流程中复用
⑤节点查找:在节点右下角点击「更多」图标,可见「查询引用方」,并列出当前节点出参在后续哪些节点被引用,并可点击列出的「被应用节点」,快速定位到被引用点,见下图。
⑥引用方有属性如使用了其他节点的出参,可如下图所示,通过「定位」图标,快速定位到来源节点。
⑦多节点批量复制:在节点右下角点击「更多」图标,可见「多选节点」,点击后可多选节点,多选后点击底部操作「复制」,可在当前微流程或者其他微流程中粘贴。
添加「+」按钮后会出现,下图所示,可点击粘贴即完成。
4.2.3.1 - 变量活动
变量活动
创建变量
适用范围:微流程,页面规则
①简介:创建包括基本数据、实体对象、自定义对象等类型的变量,并可进行赋值,节点出参可被后序节点使用。
②属性:通过选择变量类型及相关配置来完成配置
③配置说明:支持基本类型、实体对象、自定义对象、选项集等
修改变量
适用范围:微流程,页面规则
①简介:修改前序节点中已创建变量的值。
②属性:通过选择变量和需要改变的值完成配置
③配置说明:页面规则中可选择页面规则中的变量和页面变量
4.2.3.2 - 映射活动
映射活动
创建映射组
适用范围:微流程
①简介:创建一个包含多个映射键值对的映射组
②属性:通过添加映射键值对来完成配置
③配置说明:可在创建时直接增加映射键值对。(映射键只允许为文本类型,映射值支持任意数据类型)
映射操作
适用范围:微流程
①简介:对所选映射进行一些操作
②属性:
③配置说明
(1)获取:输入/选择映射键以获取映射值,并配置映射值的数据类型等属性,节点出参为映射值。
(2)赋值:向映射组中插入或更新映射键值对,如果选择/输入的映射键已存在,则会更新该映射键对应的映射值,无节点出参。
(3)删除:根据映射键删除映射组中的映射键值对,无节点出参。
(4)获取键列表:获取映射组中的所有映射键,节点出参为映射键组成的列表。
4.2.3.3 - 列表活动
列表活动
创建列表
适用范围:微流程,页面规则
①简介:创建一个列表
②属性:通过选择列表类型完成配置
③配置说明:列表类型支持基本数据、实体对象、自定义对象和选项集等
修改列表
适用范围:微流程,页面规则
①简介:修改所选的列表
②属性:通过选择列表、操作类型以及值完成配置
(1)选择列表:选择需要操作的列表,页面规则中支持页面规则数据和页面数据
(2)操作类型:
(3)列表/对象:指要增加、全量替换、删除哪些数据
列表操作
适用范围:微流程,页面规则
①简介:该节点聚合了常用的列表操作方法,方便设计师对列表对象进行聚合、筛选、判断和集合等操作,注意,该节点的出参将返回一个新的列表集合,而不是针对原来的集合进行修改。
②属性:通过选择需要操作的列表,操作类型,操作数据完成配置
③配置说明
(1)选择列表:支持选择页面中的数据以及页面规则的数据
(2)操作类型:根据所选数据有不同类型的操作方法,具体方法如下:
- 求和:选择列表中的一个小数或者整数类型字段,对列表中的该字段进行求和计算,返回对应类型的计算结果。
- 计数:计算当前选择列表中的数据总条数。返回一个整数类型的计算结果。
- 最大值:选择列表中的一个小数、整数、日期、日期区间类型字段,找到该列表中所有条数中该字段的最大值,返回最大值结果
- 最小值:选择列表中的一个小数、整数、日期、日期区间类型字段,找到该列表中所有条数中该字段的最大值,返回最小值结果
- 字段收集:将对象列表中某个非列表字段收集到一个新的列表中(返回新的列表)
- 去重:根据设计师选择的去重凭据字段,过滤掉该列表中所有重复的数据
- 过滤:通过设置一个表达式,进行列表数据的过滤
- 并集:选择另外一个列表数据(相同数据类型),新建并返回二者的并集(返回新的列表)
- 交集:选择另外一个列表数据(相同数据类型),新建返回二者的交集(返回新的列表)
- 差集:选择另外一个列表数据(相同数据类型),新建返回二者的差集(返回新的列表)
- 排序:选择列表中的字段,依据该字段进行列表数据排序,新建并返回一个新的排序后的列表(返回新的列表)
- 第一条:返回列表的第一条数据
- 最后一条:返回列表的最后一条数据
- 第N条:返回指定下标的数据
- 分组汇总:针对列表中的多个字段进行分组,然后汇总数据字段值
- 获取子列表:指定开始和结束获取的下标位置,返回一个指定的子列表
(3)操作数据:需要操作的数据
4.2.3.4 - 数据活动
数据活动
查询单条数据
适用范围:微流程
①简介:该节点可以选择查询当前应用和依赖应用中的的所有实体数据(该实体需要暴露并支持UDC规范的查询接口)。设计师可以根据需求,设置筛选条件和排序规则查询或者根据数据ID查询。该节点按照查询结果默认返回第一条数据。如果未查询到,可以设置后续执行规则,终止或者继续执行。
②属性:
③配置说明
(1)条件查询:支持使用当前实体的字段进行条件配置,排序规则配置,该配置如果查询到多条记录,将返回该实体的第一条数据。注意:条件查询只返回查询实体的自身的数据,不会查询并返回它的子孙数据。
(2)ID查询:根据实体的id,返回该实体的聚合对象,包含子孙的数据。
(3)查询聚合对象:开启后,将查询该实体聚合对象数据,包含主子孙等。关闭只查询当前实体自身的数据。
(4)分页查询:查询多条数据节点,支持配置分页查询,默认分页。引导设计师使用分页查询,提升性能和响应速度,同时约束了单页最大值“999”,都是为了保障系统性能。
查询多条数据
适用范围:微流程
①简介:该节点可以选择查询当前应用和依赖应用中的的所有实体数据(该实体需要暴露并支持UDC规范的查询接口)。设计师可以根据需求,设置筛选条件和排序规则还有查询数量进行条件查询,也可以通过数据的ID集合进行查询,或者条件查询该实体的总数。该节点按照查询结果返回列表数据或者查询的数据总数。
②属性
③配置说明
(1)条件查询:支持使用当前实体的字段进行条件配置,排序规则配置,和最大查询条数(最大一次只支持查询999条)。注意:条件查询只返回查询实体的自身的数据,不会查询并返回它的子孙数据。
(2)ID集合查询:根据实体的id集合,返回该实体的聚合对象,包含子孙的数据。
(3)查询总数:通过配置筛选条件,返回该条件下,查询实体的总数
(4)其他聚合查询:支持针对UDC应用的实体的一些常用数据库层聚合查询方法,包括"求和(sum)"、“求平均(avg)"、“求最大值(max)"、“求最小值(min)”
插入数据
适用范围:微流程
①简介:配置该节点后,运行时,将自动向配置UDC应用集依赖应用的对应聚合父实体(包含子实体)插入一条新数据。插入后,该节点返回插入成功的数量。该节点只支持聚合根实体,不支持直接插入子,孙实体。
②属性:
③配置说明
(1)选择对应应用下的指定实体
(2)通过字段映射或对象引用的方式配置即将插入的数据
批量插入数据
适用范围:微流程
①简介:配置该节点后,运行时,将自动向配置UDC应用集依赖应用的对应聚合父实体(包含子实体)批量插入新数据。插入后,该节点返回插入成功的数量。该节点只支持插入聚合根实体,不支持直接插入子,孙实体。
②属性:
③配置说明:选择聚合根实体列表数据,批量插入到数据库中,插入成功后返回成功数量。
更新数据
适用范围:微流程
①简介:配置该节点后,设计师可以选择当前流程中某个聚合父实体进行更新(注意,该实体需要暴露并支持符合UDC规范的更新接口),可以更新记录中的一个或多个字段的值,可以修改为新的内容、清空字段的值、增加或减少值。该节点只支持更新聚合根实体,不支持直接更新子,孙实体。
②属性:
③配置说明
(1)选择聚合根实体单条数据
(2)对展开的实体字段进行赋值配置
批量更新数据
适用范围:微流程
①简介:配置该节点后,设计师可以选择当前流程中某个聚合父实体进行批量更新,更新时,选择前序节点中,实体对象的列表(注意,该实体需要暴露并支持符合UDC规范的批量更新接口)。该节点只支持更新聚合根实体,不支持直接更新子,孙实体。
②属性:
③配置说明:选择聚合根实体列表数据,批量更新到数据库中,更新后返回成功数量。
删除数据
试用范围:微流程
①简介:配置该节点后,设计师可以选择当前流程中某个聚合父实体数据进行删除或者针对某个实体,配置一个筛选条件进行条件删除。
②属性:
③配置说明
(1)指定删除:选择当前微流程中某个聚合父实体数据进行删除;
(2)过滤条件删除:针对某个实体,配置一个筛选条件进行删除;
(3)ID集合删除:选择某个实体的ID集合进行批量删除。
4.2.3.5 - 基础服务
基础服务
自定义服务
适用范围:微流程
①简介:服务调用节点是用来连接当前应用依赖的其他应用。可以配置并调用依赖应用中提供的服务接口,方便设计师进行应用间的数据传递和查询。
②属性:
③配置说明
(1)选择需要调用的自定义服务
(2)配置该服务所需要的入参参数
可以点击复制标识,然后在创建变量、列表等节点时,用它来查找特定的对象。
在创建变量、创建列表节点时可以按以上复制的标识进行搜索。
事件投递
适用范围:微流程
①简介:定义时间投递,在其他模块或者微流程中可订阅此事件,收到事件后能获得事件中携带的参数数据。注意:延时事件无法保证能够按顺序执行。
②属性:
③配置说明
(1)选择对应应用下可投递的事件;
(2)选择事件类型,
- 对于普通事件,直接发布;
- 对于延时事件,根据配置的时间发布。
连接器
适用范围:微流程
①简介:连接器节点支持调用平台连接器模块提供的能力,可以让设计器配置外部系统的服务接口,将外部数据导入到当前应用中,扩展了微流程的能力边界。
②属性:
③配置说明:选择连接器,配置连接器入参
子微流程
适用范围:微流程
①简介:该节点支持在微流程中调用其他【服务定义】类型的微流程,实现微流程与微流程之间的相互调用,方便设计师进行更复杂业务逻辑的设计,降低单个微流程的复杂程度。
②属性:
③配置说明:选择微流程,配置微流程入参
执行生单规则
适用范围:微流程
①简介:该节点支持配置当前应用内实体的生单规则。
②属性:
③配置说明:
(1)生单规则:选择当前应用下实体的生单规则
(2)数据来源方式:
- 选择数据:支持选择前序节点数据作为来源实体数据,用于生单
- 查询数据:支持查询当前实体数据,用于生单
4.2.3.6 - 数据加工
数据加工
类型转换
适用范围:微流程、页面规则
①简介:该节点支持一些常见的数据类型转换,包括:多选实体转ID集合,ID集合转多选实体,文本转长整数,文本转整数,文本转小数,基础类型转文本等。方便设计师进行各种数据转换
②属性:
③配置说明:选择需要转换的类型,选择需要转换的数据。
数据转换
适用范围:微流程
①简介:该节点支持两个不同数据结构对象数据的转换,比如将A对象的数据转换为B对象的数据。
②属性:
③配置说明
(1)选择来源对象
(2)选择目标对象
(3)配置来源对象与目标对象的映射关系
4.2.3.7 - 控件属性
控件属性
值操作
适用范围:页面规则
①简介:对所选控件配置值操作,并在页面中实时生效
注:同一值操作节点内部进行批量操作时,无法保证操作顺序,如需保证操作顺序,请使用多个值操作节点。
②属性:通过选择控件,值操作以及值完成配置
③配置说明
(1)控件:选择页面配置好的控件
(2)值操作:根据所选控件不同,值操作选择不同
(3)值:将该值赋予所选控件
高级属性操作
适用范围:页面规则
①简介:支持对控件高级属性进行修改,如标题、占位提示等
②属性:通过选择控件来给完成配置
控件状态
适用范围:页面规则
①简介:修改所选控件状态,正常,将所选控件设置为正常可编辑状态; 只读,将所选控件设置为只读状态;禁用,将所选控件设置为禁用状态;隐藏,将所选控件设置为不可见
②属性:通过选择控件来完成配置
③配置说明
(1)正常:将控件设置为正常状态
(2)只读:将控件设置为只读状态
(3)禁用:将控件设置为禁用状态
(4)隐藏:将控件设置为隐藏状态
必填
适用范围:页面规则
①简介:对所选控件设置必须填写
②属性:通过选择必须填写控件或者非必须填写控件完成配置
提示消息
适用范围:页面规则
①简介:触发提示信息
②属性:通过选择消息级别以及消息内容完成配置
③配置说明:
(1)消息级别
(2)提示信息:支持手动输入以及表达式
(3)设置元素:是否需要将消息设置的控件上,如果需要就选择;若设置元素没有设置则消息默认为全局提示。
清空提示
适用范围:页面规则
①简介:清除所选控件的提示信息
②属性:通过选择要清空的控件完成配置
③配置说明:选择需要清除提示信息的控件
4.2.3.8 - 实体动作
实体动作
实体动作
适用范围:页面规则
①简介:提供操作实体的相关动作
②属性:
(1)存为草稿:将所选控件的数据存为草稿
(2)保存记录:保存所选控件的数据并返回保存数据的id
(3)保存并新增:保存所选控件的数据并执行新增操作
(4)提交记录:提交所选控件数据,并触发工作流
(5)撤回记录:从工作流中撤回所选控件数据
(6)刷新记录:刷新所选控件并重新加载数据
(7)删除记录:删除所选控件数据
(8)导入:列表页面,从本地文件表格中批量导入数据
(9)导出:列表页面,从列表导出数据到本地
(10)打印:打印当前页面内容
③配置说明:选择控件绑定的实体
注意: 保存记录只有在选择实体为单一记录时,才会返回该记录ID
4.2.3.9 - 页面动作
页面动作
打开页面
适用范围:页面规则
①简介:根据配置打开所选页面
②属性:通过选择打开页面以及打开方式完成配置
若打开的页面有入参或者出参,可以配置页面的入参以及出参
③配置说明
(1)页面:支持选择当前应用的页面以及依赖应用的页面
(2)打开方式
(3)页面入参:页面入参支持表达式配置
(4)出参映射:该配置只有在打开方式为"打开弹窗"并且打开页面有出参时才会显示
④注意:
(1)打开页面如果是弹窗方式打开,则在弹框打开的时候,该节点的后续节点不会执行,只有在被打开页面中配置了"确定关闭页面"或者"取消关闭页面"节点执行之后,或者弹框关闭之后,后续节点才会继续执行
(2)若是弹框打开,则该节点会有出参,出参包括页面的关闭方式,以及页面配置的出参,以供后续节点使用
取消关闭页面
适用范围:页面规则
①简介:关闭当前页面
②属性:通过拖该节点到画布完成配置
注意: 若是在弹框执行,则弹框的关闭方式为取消
确定关闭页面
适用范围:页面规则
①简介:关闭当前页面。若关闭是弹框,则弹框出参映射规则生效
②属性:通过拖动该节点完成配置
注意: 该节点若是在弹框执行,则弹框关闭方式是确认。
打开外链
适用范围:页面规则
①简介:配置或手动输入链接地址,通过指定打开方式跳转到对应地址
②属性:通过配置链接地址、打开方式以及对应参数完成配置
链接地址支持表达式,可通过表达式配置链接
打开方式
参数(若没有参数,可不配置,参数支持表达式配置)
③配置说明
(1)链接地址:支持表达式以及手动输入
(2)链接参数:配置该地址所需要的参数,拼接在地址之后
打开对话框
适用范围:页面规则
①简介:打开对话框
②属性:通过配置对话框的打开提示方式、标题、内容完成配置
提示信息支持表达式配置,警告、错误、信息无取消按钮。
自定义可以自定义配置按钮,并且后续节点可以根据点击按钮编排业务
③配置说明
(1)提示方式:目前支持5类
(2)提示信息:支持表达式配置
注意:自定义弹框中按钮最多只能配置3个
刷新页面
适用范围:页面规则
①简介:刷新当前页面
②属性:拖入该节点完成配置
注意: 该节点只支持刷新当前页面
打开报表
适用范围:页面规则
①简介:打开配置的报表页面
②属性:通过选择系统中的报表页面,并选择打开的方式完成配置
③配置说明
(1)报表: 支持系统内的报表页面
(2)打开方式
锚点跳转
适用范围:页面规则
①简介:用于页面内容过长时,快捷跳转到页面内指定位置
②属性:通过选择页面中的控件,明确定位跳转点
4.2.3.10 - 服务调用
服务调用
微流程
适用范围:页面规则
①简介:选择并调用当前应用的(后端)微流程
②属性:通过选择微流程服务完成配置;若有入参,需要配置入参。
③配置说明:支持选择系统中的微流程服务,并且该微流程服务必须是正式态
页面规则
适用范围:页面规则
①简介:选择并调用当前页面下的其他页面规则
②属性:通过选择其他的页面规则完成配置。
如果选择的页面规则有入参,则需要配置入参
③配置说明:支持选择该页面的其他页面规则,不可选择自身
注意: 页面规则目前不支持选择自身。
执行生单规则
适用范围:页面规则
①简介:调用系统中配置的生单规则并执行
②属性:通过选择生单的行为,之后选择对应的生单规则完成配置
③配置说明:
-
生单规则:可选手工触发的生单规则。
-
数据来源方式:
-
选择数据
- 来源实体数据:传递设置好的同实体列表、或对象参数。
-
查询数据
- 数据过滤条件:可设置来源实体的过滤条件,设置后微流程执行时会以微流程中设置条件为准。(不会执行生单规则中来源实体列表中设置的条件)。
-
-
节点出参:
- 生单执行结果:布尔类型
- 新建数据id集合
- 更新数据id集合
4.2.3.11 - 控件动作
控件动作
控件动作
适用范围:页面规则
①简介:控制对应的页面控件执行对应的操作
②属性:通过选择对应页面控件,并执行对应的控件动作完成配置
(1)控件:页面上拖入的控件
(2)控件动作:根据所选控件有不同的控件动作
③配置说明
(1)控件:仅支持选择页面配置的相关控件
(2)控件动作: 根据所选控件有不同的动作
4.2.3.12 - 流程动作
流程动作
流程动作
适用范围:页面规则
①简介:执行相关流程在流转中的动作,该动作执行之后对应的流程流转生效
②属性:通过相应的流程动作,并选择对应流程的实体信息完成配置
③配置说明
4.2.3.13 - 其他
其他
附件上传
适用范围:页面规则
①简介:附件上传节点,上传选中的附件
②属性:通过选择上传方式、文件类型、图片编辑、文件多选、数量限制、图片压缩等属性完成附件上传配置
③配置说明
(1)附件上传方式:
(2)文件类型
(3)图片编辑、文件多选支持选择是否开启
④注意
(1)附件上传节点在选择文件和上传过程中,该节点的后续节点不会执行,上传完成后,后续节点才会继续执行
(2)附件上传有出参,后续节点可以使用该出参进行业务判断或者操作。
附件下载
适用范围:页面规则
①简介:附件下载节点,下载选择的附件
②属性:通过选择页面上已上传附件,并配置是否批量下载完成配置
③配置说明
(1)附件: 只能选择页面上配置的附件类型控件
(2)批量下载: 选择是否批量下载
附件预览
适用范围:页面规则
①简介:附件预览节点,通过选择页面中的附件控件进行预览
②属性:通过选择页面上的已上传附件,完成附件预览的设置
③配置说明:附件只能选择页面配置的附件控件
4.2.3.14 - 逻辑活动
逻辑活动
分支
适用范围:微流程、页面规则
①简介:分支节点基于表达式配置,执行逻辑判断,从而执行一条具体的分支逻辑。
②属性:通过配置表达式完成分支条件的设置
③配置说明:
(1)添加分支
(2)展开/收起分支
(3)分支顺序移动
注意:多个分支之间是排他关系,即从上到下依次执行,当其中一个分支满足表达式条件时,进入该分支,其他分支不再判断进入。
列表循环
适用范围:微流程,页面规则
①简介:选择列表后,依次处理列表中的每一条数据。请尽量避免在循环中使用值操作、微流程等节点。
②属性:通过选择列表数据进行循环操作
③配置说明:
(1)选择列表:页面规则中可选择页面列表数据和页面规则的列表数据
(2)展开/收起循环
(3)添加该循环需要执行的节点
●计数循环
适用范围:微流程,页面规则
①简介:通过设定循环起始值、循环终止值以及循环执行条件,以执行一定次数的循环,不满足循环条件时循环将终止。请尽量避免在循环中使用值操作、微流程等节点。
②属性:通过设置循环起始值以及循环执行条件,进行一定次数的循环
③配置说明:
(1)展开/收起循环
(2)添加循环需要执行的节点
自定义错误
适用范围:微流程,页面规则
①简介:自定义的错误提示,本节点将中止当前页面规则的执行,并提示错误信息。请注意,该节点之前所做的节点操作,将不会被还原或恢复
②属性:通过加入该节点完成配置
③配置说明:自定义错误的提示信息,支持表达式。如错误提示方式为全局提示,则抛出错误信息;如错误提示方式为定位到页面元素,则根据配置将错误信息提示到对应页面元素上。
注意:配置了该节点,则后续节点不会执行
●跳出循环
适用范围:微流程,页面规则
①简介:立即终止当前循环,进入循环节点的下一个节点。
4.3 - 生单规则
使用场景
在制作应用的过程中,可以使用生单规则来描述上游实体数据变化之后,对其他下游实体数据的影响;也可以描述下游实体数据变化之后,反过来对上游实体数据的影响。
设计流程
创建生单规则关系图
路径:规则 >> 生单规则 >> 新建图标(+)
创建生单规则
进入生单规则关系图,左侧会列出所有支持参与生单规则的实体,从左侧拖入需要配置生单规则的实体到关系图中,鼠标放在上游实体上,出现四个小圆圈,选中一个作为连线的起点,然后拖动鼠标到下游实体上,建立两个实体的关系,箭头的方向,即为数据的流向。点击连线中的加号(+),进入生单规则配置界面。
录入生单规则的显示名称,编码自动生成可自己修改,编码要求应用内唯一,应用发布生成代码时,会用这个编码。
触发点&前置条件配置
触发点分手工触发和事件订阅。手工触发类型,需要和页面配合使用,在页面中通过按钮或者其他控件绑定事件,选择指定的生单规则;事件订阅类型,只能选择应用内的实体预置的新增事件(操作后)、更新事件(操作后)、删除事件(操作前)之一,选择的事件,可以不是当前生单规则中来源实体下的事件。
手工触发
来源实体过滤条件,可选配置。没有配置时,那么运行态选择的所有数据都会执行该生单规则;配置之后,会根据该条件过滤所有运行态选择的数据,不满足条件的跳过,满足条件的继续执行生单规则。
注:过滤条件可选择当前来源实体主子孙实体字段作为条件【2.8及之后版本】。
事件订阅
首先选择事件,可选事件范围如上描述。然后事件过滤条件,选配,未配置时,事件过来的数据直接执行生单规则;配置了之后,根据事件过滤条件判断是否满足条件,满足执行,不满足就跳过。事件过滤条件中,可选的字段为所选事件所属实体的主实体字段。最后配置来源实体查找条件,必需配置,用于通过该条件来查询当前生单映射规则来源实体用于执行生单规则的数据。如果所选事件所属实体就是当前来源实体,那么会默认在来源实体查找条件配置一个事件数据ID等于来源实体ID的条件,因为大部分情况,都只需要用当前事件发出的这一条数据来执行生单规则,如果有别的条件需求,可自行调整。
映射类型
该区域主要设置生单规则操作类型,包新建数据、更新数据、新建或跟新数据。
新建数据
本类型,执行生单规则后,根据后面的映射规则,将来源数据拍平之后,生成目标实体数据。
生单成功自动发起流程:该配置只有在目标详情页面(PC)绑定了流程模板的情况下生效,如果开关未打开,则只会给目标实体生成待办数据;如果开关打开,会尝试发送该待办到下一个节点,当发送失败时,还是会生成待办数据并消息提醒发送失败的原因,发送成功之后,流程直接流转到下一个节点。
目标详情页面(PC):选择目标实体详情页类型的PC页面,有两个用处,一是用于手工触发执行生单时,运行态生单成功后用该页面打开查看生成的目标数据详情;二是用于执行生单之后,判断是否需要给目标数据生成待办数据,如果该页面绑定了流程模板,那么就会生成待办数据(仅限能配置流程的实体)。
目标详情页面(移动):选择目标实体详情页类型的移动页面,用于移动端手工触发执行生单时,运行态生单成功后用该页面打开查看生成的目标数据详情。
支持详情页设置对应的入参。
更新数据
本类型,执行生单规则后,根据更新规则,更新目标实体数据。
新建或更新数据
本类型,执行生单规则时,会先按照新建数据类型生单拍平来源实体数据,组装可以生成的新建目标实体数据,再根据目标实体关键字段,用组装的目标数据中的主实体字段值对数据库进行查询,如果没有查询到目标实体,那么就按照新建数据直接新建这些数据;如果能够查询到的,就根据映射执行更新,递归处理其他目标子表的映射区域。
目标实体关键字段:选择用于查询目标实体数据,判断是执行更新还是执行新建的关键字段(注:目标实体关键字段必需参与下面的映射,不然没有数据用于查询)。
目标详情页面(PC):选择目标实体详情页类型的PC页面,有两个用处,一是用于手工触发执行生单时,运行态生单成功后用该页面打开查看生成的目标数据详情;二是用于执行生单之后,判断是否需要给目标数据生成待办数据,如果该页面绑定了流程模板,那么就会生成待办数据(仅限能配置流程的实体)。
目标详情页面(移动):选择目标实体详情页类型的移动页面,用于移动端手工触发执行生单时,运行态生单成功后用该页面打开查看生成的目标数据详情。
生单成功自动发起流程:该配置只有在目标详情页面(PC)绑定了流程模板的情况下生效,如果开关未打开,则只会给目标实体生成待办数据;如果开关打开,会尝试发送该待办到下一个节点,当发送失败时,还是会生成待办数据并消息提醒发送失败的原因,发送成功之后,流程直接流转到下一个节点。
拆单配置
当一条来源数据需要分几次来执行生单时,可以通过拆单配置来实现,有以下几点注意事项:
- 手工触发类型生单才能配置拆单字段,因为需要运行态选择数据时,需要输入本次执行的值;
- 拆单字段只能是数字(整数、小数、货币、长整数)类型字段;
- 一个生单规则只允许选择一个拆单字段;
- 拆单字段必需参与下面的映射规则。
示例:采购单生成到货单时,一个采购单预计采购20台设备,但是不是一次性所有设备都到了,第一批到货10台,第二批到货5台,第三批到货5台,那这个时候就可以通过拆单配置,把到货数量字段设置为拆单字段,每次采购单生成到货单时,就可以手动输入本次到货的数量,用该数字来执行生单。
映射规则
配置生单规则来源实体数据映射到目标实体的规则,按照每个目标实体为一个区域,配置该实体来源实体字段和目标实体字段的映射关系。在介绍映射规则配置前,需要做一些简要的说明:
实体体系说明
- 实体与实体之间为1:1聚合关系时,其视作同一体系;
- 实体与实体之间为1:N聚合关系时,须为纵向同一关系线上的实体,不能同时包含同层级多个1:N实体;
- 包含同层级多个1:N实体或包含多个实体之间不存在聚合关系,则视为非同一体系。
示例:
- 是一个体系:Person → PersonWork → PersonWorkPractice
- 是一个体系:Person → 自定义扩展表 → PersonWork → PersonWorkPractice
- 非一个体系:Person → PersonWork → PersonWorkPractice → PersonWorkDetail
字段数据类型之间的映射规则说明
目标实体字段 | 来源实体字段 | 备注 |
---|---|---|
附件 | 附件 | |
长整数 | 长整数、整数 | |
小数 | 小数、整数、长整数,货币 | |
货币 | 小数、整数、长整数,货币 | |
整数 | 整数 | |
枚举 | 枚举 | 需要绑定的同一个枚举 |
选项集 | 选项集 | 需要绑定同一个选项集 |
时间 | 时间、日期时间 | |
日期时间 | 日期时间、日期 | |
日期 | 日期、日期时间 | |
文本 | 文本、日期、日期时间、时间、整数、长整数、小数、货币 | |
布尔 | 布尔 | |
实体 | 实体 | 需要绑定同一个实体 |
多行文本 | 多行文本,文本、日期、日期时间、时间、整数、长整数、小数、货币 |
实体映射规则说明
在配置映射规则前,需明确实体间的映射关系,设计师可通过连接线,建立来源实体体系和目标实体体系的映射关系。建立关系后,后续的字段映射规则、来源实体列表方案、回写规则、字段映射等配置均依赖于实体映射规则。
- 映射关系只能从来源实体体系指出,指向目标实体体系;
- 建立连接线时,不能违背单体系对应单体系的原则;
- 建立连接线时,一组来源实体和目标实体之间,只允许存在一根连接线;
- 来源实体和目标实体建立连线后,代表实体间存在映射关系,需进一步配置字段映射规则;
- 未建立连线的目标实体,无需配置字段映射规则。
字段映射规则说明
- 可以使用值拷贝直接将上游数据中的字段值赋给下游实体数据;
- 可以通过计算公式将计算之后的结果拿来做映射;
- 当目标字段的值不需要有来源,需要直接设置一个固定常量或者系统变量时,可以采用常量映射方式来支持,比如设计师想在将目标单据创建出来的时候,目标单据状态是待提交状态的时候,通常就会用到常量映射的方式;
- 考虑到在执行一次生单的时候上游数据可能是多条的情况,即使上游主实体数据不是多条,在上游是主子都参与了映射到一个目标实体的情况,我们将上游主子数据拍平之后的数据执行生单,会默认用映射方式为值拷贝的映射行来源实体字段进行分组,有分组就有分组聚合的需求,当设计师遇到这种需求,可以使用分组聚合函数的映射方式进行设置。
配置字段映射规则前,可配置映射前置条件。对于不满足条件的来源实体数据,不执行来源实体数据到目标实体的数据映射。
每个映射行上也可以配置映射条件,该条件用于执行生单规则时,判断该列目标实体字段是否需要赋值。
更新类型生单规则,需要配置目标实体数据查找条件,通过该条件来查询目标实体数据,能查询到,就按照下方配置的映射规则更新目标实体数据。目标实体数据检查规则,用于判断执行该生单规则之后数据是否满足指定条件,如果不满足条件,则不执行本次生单规则。
来源实体列表方案
手工触发类型生单规则,需要配置运行态选择来源实体数据的列表,可配置内容包含显示列、系统条件、排序、搜索字段。列表中可选的实体,为映射规则区域参与映射的来源实体中一个体系的实体,可以设置主实体和子实体同时在列表显示。
回写规则
一个生单规则,可以配置多个回写规则,配置不同的回写前置条件,不同的回写时机,满足不同的业务。
回写时机:目标新增是说当前生单规则的目标实体主实体数据新建时触发该回写;目标更新是说当前生单规则的目标实体数据更新时触发该回写;目标删除是说当前生单规则的目标实体数据删除时触发该回写。
回写前置条件:根据条件判断是否执行该回写规则;
回写规则配置:同映射规则配置,只是映射方式中,只支持值拷贝、计算公式、常量。
页面绑定手工触发类型生单规则
手工触发类型的生单规则配置好了之后,要想运行起来,还需要到页面上去绑定一下,操作步骤如下图所示:
微流程绑定手工触发类型的生单规则
可通过微流程调用手工触发类型的生单规则,适用于生单规则的来源实体数据,需要通过微流程做逻辑编排后,把处理过的来源实体列表/对象传递给生单规则作为生单来源数据。详细设置见「微流程-执行生单规则」。
运行生单规则
执行生单规则
应用测试发布之后,就可以到运行态执行生单规则,通过菜单进入页面,准备一些来源实体数据,然后切换到配置的拉单页面,点击按钮,选择数据,执行手工触发的生单规则。生单成功之后,会弹出一个提示框,如果设计态配置了目标详情页面(PC),那么就会有一个查看详情的按钮,点击之后可以查看生成的目标实体数据详情。
事件订阅类型的生单规则,没有直接的界面交互,只需要操作选择的事件所在实体数据即可,满足配置的条件,就会执行对应的生单规则和回写。
运行态点击执行生单规则是否会弹出选择数据列表的规则如下:
PC/移动 | 生单上游/下游 | 页面类型 | 是否拆单 | 是否弹出来源实体选择列表 | 备注 |
---|---|---|---|---|---|
PC端 | 来源实体推单 | 详情页 | 否 | 否 | 使用当前页面数据推单 |
PC端 | 来源实体推单 | 详情页 | 是 | 是 | 使用当前页面数据推单,需配置拆单字段对应目标字段的本次推单数值 |
PC端 | 来源实体推单 | 列表页 | 否 | 否 | 使用已选择数据推单 |
PC端 | 来源实体推单 | 列表页 | 是 | 是 | 使用已选择数据推单,需配置拆单字段对应目标字段的本次推单数值 |
PC端 | 目标实体拉单 | 详情页 | 否 | 是 | 使用已选择数据拉单 |
PC端 | 目标实体拉单 | 详情页 | 是 | 是 | 使用已选择数据拉单,需配置拆单字段对应目标字段的本次推单数值 |
PC端 | 目标实体拉单 | 列表页 | 否 | 是 | 使用已选择数据拉单 |
PC端 | 目标实体拉单 | 列表页 | 是 | 是 | 使用已选择数据拉单,需配置拆单字段对应目标字段的本次推单数值 |
移动端 | 来源实体推单 | 详情页 | 否 | 否 | 使用当前页面数据推单 |
移动端 | 来源实体推单 | 详情页 | 是 | 否 | 使用当前页面数据推单 |
移动端 | 来源实体推单 | 列表页 | 否 | 否 | 使用已选择数据推单 |
移动端 | 来源实体推单 | 列表页 | 是 | 否 | 使用已选择数据推单 |
移动端 | 目标实体拉单 | 详情页 | 否 | 是 | 使用已选择数据拉单 |
移动端 | 目标实体拉单 | 详情页 | 是 | 是 | 使用已选择数据拉单 |
移动端 | 目标实体拉单 | 列表页 | 否 | 是 | 使用已选择数据拉单 |
移动端 | 目标实体拉单 | 列表页 | 是 | 是 | 使用已选择数据拉单 |
总结:拉单一定弹窗,PC端推单有拆单字段一定弹窗,移动端推单一定不弹窗,移动端一定不配置本次推单数值 |
个性化生单规则
应用发布之后,运行态可以个性化设计态的生单规则,可以在映射规则区域添加映射行,来源实体的可选范围为设计态已选过的实体,不能选这范围之外的,设计态已有的行,不允许删除和修改。
对于绑定了扩展方案的实体,在应用运行态启用扩展字段后,可在运行态生单规则个性化时使用扩展实体/字段。
4.4 - 扣减规则
使用场景
在涉及金额或数量的业务中,几乎都会存在扣减类场景,比如预算的扣减、设备领用的扣减。当遇到这种业务场景的时候,可以考虑使用扣减规则来满足需求。扣减规则可以描述当上游单据状态变化为某个状态的时候,应该使用什么样的扣减算法对下游目标实体数据进行计算、更新。(需要注意的是,扣减的上游一定是单据类型实体,下游一定是非单据类型实体)
设计流程
创建扣减规则关系图
路径:规则 >> 扣减规则 >>新建图标(+)
创建扣减规则
进入扣减规则关系图,左侧分别列出所有支持参与扣减规则的来源实体和目标实体,从左侧分别拖入来源实体和目标实体到关系图中,鼠标放在来源实体上,出现四个小圆圈,选中一个作为连线的起点,然后拖动鼠标到目标实体上,建立两个实体的关系。点击连线中的加号(+),进入扣减规则配置界面。
基础信息
输入规则名称,规则编码会自动生成,也可以自己手动修改,编码用于代码生成时作为一些关键字,无其他业务上的意义。
目标实体:选择需要执行扣减数据的目标实体,可以只主实体也可以是子实体,一个扣减规则只能扣减一个实体数据。
来源实体:选中一个执行扣减的来源实体,如果选中的是子表,那么就可以用该子表以及其父实体对目标实体进行扣减。
查找条件
配置查找扣减目标实体数据的条件,查找方式支持两种:一种是等式,配置来源实体字段和目标实体字段联查;另一种是常量,直接配置目标实体字段等于一个常量,比如是否占用预算为是。
有数据未能匹配时:可选“提示并阻塞”或“未匹配数据跳过扣减继续执行”。选择提示并阻塞时,需填写提示信息。
提示信息:配置当通过查找条件没有查询到目标实体数据时,运行态的提示信息。
扣减算法
可以根据实际业务需求,配置多个扣减算法,完成整个扣减过程。点击新建算法,填算法名称,确认之后,右侧配置算法项详情。
算法说明:简要描述当前算法的作用和业务逻辑。
检查规则:配置在算法运行时,检查当前是否具备算法执行的必要条件 。
检查未通过提示:配置了检查规则后,需要配置未通过的提示,提醒终端用户,扣减失败的原因。
算法配置:配置怎样通过来源实体的字段,扣减目标实体字段数据。
运算符说明:
- “+=“运算符说明:目标实体字段 += 来源实体字段,即目标实体字段更新后的值 = 目标实体字段当前值 + 来源实体字段值
- “-=“运算符说明:目标实体字段 -= 来源实体字段,即目标实体字段更新后的值 = 目标实体字段当前值 - 来源实体字段值
扣减规则
为每个单据状态配置扣减算法,按需配置,不是所有状态都需要配置算法。
运行扣减规则
执行扣减
扣减规则执行时,是通过监听实体操作的事件,根据单据状态变化来触发的,所以没有单独入口,只需要根据流程流转,检查数据是否正确即可。
运行态个性化扣减规则
应用发布之后,用户可以在运行态基于设计态的扣减规则,个性化自己的扣减规则,个性化之后,扣减将按照个性化的来执行,不再按照设计态的执行,仅限切换单据状态变化时执行的算法。
选中一个版本,编辑扣减规则,切换单据状态的算法,然后点击存为新版本,即可保存刚刚的修改并另存出新版本,另存出来的版本默认是停用的,需要切换到该版本,点击右下角启用按钮,这样运行态执行时,就可以应用到最新的个性化扣减规则了。
5.1 - 概览
•低代码的BI分析平台,提供了低代码化(BIinside+)的构建低代码应用的BI统计分析决策能力,且支持自定义报表的实施应用能力。
•低代码的BI分析平台,提供大数据接入,采集计算与服务的能力。
应用场景
4大业务场景概览
在各大行业的多种「办公」「协同」「管理」和其他「业务场景」中,如果需要使用报表进行统计、分析、决策等,都可以通过BI报表结果分析:
- 主要的业务应用场景中,例如:「费控,发票,人事,项目,合同」「办公」「资产、合规」「文会事」等应用的场景中进行决策分析;开箱即用。
- 在流程管理体系中提供开箱即用的「流程绩效」分析能力,并提供多重个性化统计分析的能力。
- 管理驾驶舱、其他通用分析场景也可以使用报表进行个性化的决策分析,通过「报表管理」自定义报表或者数据大屏。
- 通过「数据大屏」所做的「炫酷大屏」的结果叫数据大屏,更常见用在数据或者经营结果监控,行业展览等场景中;企业可以通过辅助动效,3D效果等提升视觉效果。
直接通过「开箱即用」的「现代科技感模板」直接快速生成自己想要的炫酷大屏。
总的来说,低代码的协同BI平台,提供了多种数据源的数据连接和采集能力、数据整合与加工处理能力、一体化的数据管控能力、分析挖掘与可视化展现能力,
可满足客户的各种业务应用的数据分析一体化,也为企业用户提供大数据分析、自助式BI分析、中国式轻报表、移动端报表、数据大屏等。
低代码BI分析简介
低代码应用设计主流程
使用低代码平台进行应用开发,一般分为开发->测试->上线三个阶段。每个阶段都会有独立的环境,让各阶段数据隔离,保证正式上线版本稳定。
应用开发步骤如下图所示。
低代码的应用手册设计的前置应用设计,更多细节可以查看以下的手册:低代码平台操作手册
低代码应用设计使用BI分析
05in"}
自定义报表业务流程图
术语介绍
分析类产品名词
名词 | 含义 |
---|---|
报表 | 通过BI工具所做的 「可视化图表分析结果」的呈现结果称为报表,报表只是统称。一般是为业务,IT, 数据开发,产品,决策者提供统计分析决策的平台型工具。 |
数据大屏 | 通过数据大屏所做的「炫酷报表」的结果叫数据大屏,更常见用在数据或者经营结果监控,行业展览等场景中 |
数据集 | 在数据工厂,可以一键生成数据集,包括实体数据集、数据库表数据集等。数据集是专门针对数据可视化和分析要求构建的自助数据模型。 |
数据流 | 1、 必须先创建数据集后,才能创建数据流。2、 在数据工厂,可以创建多个数据流,数据流至少包括输入与输出两个节点。3、 在输入与输出节点之间可以随意增加数据加工节点:字段设置、过滤、关联、联合、分组汇总等。4、 一个数据流可以由多个输入节点,但仅一个输出节点,并最终生成数据流输出表。 |
数据源 | 当需要创建第三方数据库表数据集时,必须先配置第三方数据源连接信息。 |
指标管理 | 指标管理由指标定义与指标模型组成,缺一不可。根据数据标准规范,可以定义N个指标,再将相同维度的指标统一计算,生成指标模型表。 |
数据仓库 | 数据仓库(Data Warehouse,可简写为DW或DWH),是一个很大的数据存储集合,是面向主题、具有集成、随时间相对稳定、反映历史变化的。数据贴源层(ODS):是数据仓库准备区,为DW层提供基础原始数据。数据仓库层(DW):是数据仓库的主体,将ODS层中获得的数据按照主题建立各种数据模型。数据集市层(DM):是基于DW上的基础数据,整合汇总成分析某一个主题域的数据集市层,用于提供后续的业务查询,OLAP分析等。 |
维度 | 维度是数据的观察角度,即从哪个维度去分析问题,看待问题。 |
度量 | 是从维度的基础上去衡算这个结果的值。 |
指标 | 聚合运算的结果。 |
事实表 | 事实表是指存储有事实记录的表,且其记录是动态的增长的。 |
维度表 | 与事实表相对应的表,它保存了维度的属性值,可以跟事实表做关联。 |
OLAP | 联机分析处理(On-line Analysis Processing),从数据仓库中抽取详细数据的一个子集并经过必要的聚集,存储到OLAP存储器中供前端分析工具读取。 |
ETL | 将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析的依据。 |
缓慢变化维 | 随时间发生变化的维度。 |
X轴 | 图形上横向展示数据的坐标轴,用来和数据字段进行绑定 |
Y轴 | 图形上纵向展示数据的坐标轴,用来和数据字段进行绑定 |
图例 | 将数据按不同颜色分类,可以邦定数据字段 |
标签 | 固定显示在图形上的数据信息 |
悬浮提示 | 鼠标移入后显示的图形数据信息 |
联动 | 通过点击图表的局部区域,其他图形的数据会同步变动。 |
穿透 | 从报表页面跳转到其他页面,并通过参数对其他页面进行数据过滤或仅做跳转。 |
数据格式 | 日期和数值的显示格式,如“2023-01-02”,“100,000万” |
排序 | 按降序或升序排列数据 |
预警 | 按照不同的数据值显示数据值颜色或背景颜色 |
过滤 | 通过对数据字段设置条件筛选出符合要求的数据,需结合操作符使用 |
操作符 | 用来匹配字段的数据值,也可以用于设置两个字段间的匹配关系,按字段类型进行划分:文本类型字段:包括等于、不等于、属于、不属于、包含、不包含、开头是、开头不是、结尾是、结尾不是;日期类型与数值类型字段:等于、不等于、大于等于、大于、小于等于、小于、介于、属于、不属于。 |
平台通用名词
角色 | 介绍 |
---|---|
报表管理员 | 拥有该角色才有后台【报表中心】主菜单资源以及【数据工厂】、【指标管理】、【报表管理】三个子菜单资源。根据报表需求在【数据工厂】中进行分析数据准备,制作数据集。如需进行复杂的数据加工处理,则需制作数据流。同时可根据数据标准规范,在【指标管理】中定义指标,将相同维度的指标形成指标模型表。制作报表时,可选择任意选择数据集、数据流、指标模型的数据源,并可通过丰富的图表组件,生成PC报表、移动报表、数据大屏。 |
主要场景示例
场景一:设计态UDC应用报表设计步骤 (修改中)
a) 在设计应用时设置报表穿透到UDC页面
应用设计使用报表
使用低代码平台进行应用开发,一般分为开发->测试->上线三个阶段。每个阶段都会有独立的环境,让各阶段数据隔离,保证正式上线版本稳定。
低代码的应用手册设计的前置应用设计,更多细节可以查看以下的手册:低代码平台操作手册, 涉及到到BI模块的使用时,在应用页面可以直接使用报表,具体操作如下:
- 点击应用菜单栏中的菜单模块,找到要使用报表的页面。
- 在页面设计器中,找到报表应用组件,拖入页面。
- 选中组件后,在右侧输入框1出点击选择要使用的报表,在输入框2处点击配置要做联动分析的参数映射,以和页面中的筛选条件进行数据联动。
4) 选择报表:
5) 配置参数:
特殊说明:该处字段映射所选的操作符需要与当前报表组件对应的页面查询区筛选字段操作符类型保持一致。
点击页面保存按钮后,该页面会在整个应用发布时,发布到前台供前端用户使用。
报表穿透到UDC应用页面
- 点击穿透设置输入框进入穿透设置界面
- 在设置界面中按照穿透的目标页面进行类型选择,选择直接跳转或条件跳转,并点击穿透页面输入框选择要穿透的应用页面,传递参数一栏,可以设置穿透时传递的参数。
特殊说明:
- 设置条件跳转时,需并将作为条件判断的选项值手动输入字段值输入框,然后作为选项选择。
- 应用页面参数如果是作用于应用的选项集、布尔、枚举类型字段,则报表的参数类型或参数值需要为编码而非具体的选项值。
- 如果是传递固定的值给应用页面参数,则可以使用报表自定义值进行设置。
- 报表参数列表选项中,@符号表示该参数取自查询区的相应字段值,无@符号则表示该参数值取自组件中已配置的字段值;@符号的字段参数通常适用非配置字段的跳转和返回传参设置。
- 如果报表的映射参数来自查询区,即带有@符号,则需要注意查询区该字段的操作符设置,需要与UDC页面中报表组件使用的该参数操作符保持一致,否则过滤结果无法生效。
b)设置与应用页面数据联动参数(TBD)
在报表的右侧查询项区域,可以将字段拖入上侧;拖入的字段可以在穿透时作为参数对穿透的目标页面进行数据筛选,也可以经过配置,在使用报表的应用页面中,和应用页面中的筛选条件进行数据上的联动分析。
场景二:如何做自定义报表
设计态和实施态:
- 创建数据集---》创建数据流(可选)----》指标定义及指标模型(可选)----》报表制作
l
序号 | 步骤 | 步骤说明 |
---|---|---|
1 | 创建数据集 | (1)在数据工厂菜单下–>数据集,新增数据集,选择CAP表单数据集/实体数据集,进入数据集设计页面。(2-1)在V5平台,选择cap3/cap4表单下的表单,进行表单数据集的设计。(2-2)在V8平台,选择应用下的实体,进行实体数据集的设计。(2-3)V5/V8平台,均可选择数据库表,进行数据集设计。(3)发布数据集,经由ETL引擎,生成数据集的数据。(4)数据授权,设置数据集的组织人员数据行列权限。 |
2 | 创建数据流(可选) | (1)在数据工厂菜单下–>数据流,新增数据流,进入数据流设计器,拖入输入节点,数据加工节点,输出节点以及更新设置。(2)发布数据流,经由ETL引擎,生成数据流输出表的数据。(3)数据授权,设置数据流输出表的组织人员数据行列权限。 |
3 | 指标定义及指标模型(可选) | (1)指标定义,在指标管理菜单下,定义指标,可连续定义多个指标。(2)指标模型,从指标库中选择相同维度的指标,汇总成一张指标模型表。(3)发布指标模型,经由ETL引擎,生成指标模型表的数据。(4)指标数据授权,设置指标模型表的组织人员数据行列权限。 |
4 | BI报表制作 | (1)在报表管理菜单下,新增报表,进入报表设计器,拖入图表组件,进行图表设置,并可连续创建多个图表组件。(2)报表布局:从组件设计器中返回报表,设置筛选条件,报表样式等。(3)移动端、大屏端的报表制作。(可选)(4)报表授权,设置报表的组织人员管理权限、使用权限。如大屏端,则需单独设置大屏设置绑定。 |
场景三. 报表中心如何展示报表
序号 | 步骤 | 步骤说明 |
---|---|---|
1 | 报表分析 | 有应用报表、自定义报表或数据大屏的「使用权限」权限的人员,在报表中心的报表分析下查看报表数据。 |
2 | 分析方案 | 有报表权限的人员,可定制个性化分析方案(可选)。(1) 在现有报表的基础上调整查询条件。(2) 在现有报表的基础 上可重新定义数据分析,并支持汇总方式与快速计算的重新定义。 |
查看的效果如下图所示:
点击全屏后查看:
场景四. 门户栏目使用报表
门户栏目报表使用步骤
序号 步骤 步骤说明
1 我的报表 空间设计器-->栏目选择器,选择"我的报表"栏目。
2 报表栏目 空间设计器-->栏目选择器,选择"指定报表"栏目,配置报表。
截图如下:
场景五: 如何快速制作一个优雅的大屏或报表
大屏制作过程
操作步骤请见:2.6 创建数据大屏 :
效果图如下
报表制作过程
1)报表中心:
自定义报表---->选择组件(组件布局)---->选择数据集,数据流或者指标模型--->拖拽数据列到维度或者度量区域----->可视化呈现
2)低代码应用
UDC应用---->新建实体数据集--->---->选择数据集,数据流或者指标模型--->拖拽数据列到维度或者度量区域----->可视化呈现
场景六. BI分析和大屏使用场景
1)快速使用区域地图
区域地图支持增强,支持地理角色设置成为 「省/市/自治区」,「城市」,「区县」3种
1) 选择列,比如说市设置地理角色
2)选择某个具体的「省/市/自治区」比如说云南,将会默认数据值自动匹配对应的地理位置
谨慎使用「全部」的选项
匹配规则中是按照数据列的值完全匹配的。
3)显示云南省的销售数据
4)其他相关效果图
2)快速制作GIS地图(TBD)
- 选择GIS地图--->普通的地理列-->转换经纬度---->拖拽度量列到度量区域
3) 如何制作多指标卡
选择数据源--->配置--->直接将度量列---->拖拽到度量区域,如下所示:
4)如何制作排行榜
5)如何制作报表穿透
7)如何全局自定义报表标签
场景九. 数据建模场景
a)快速用行列转换做一个数据流
- 场景案例:按列查看每个审批节点的处理时长,目前原始数据是按行存储的
5.1 新建【数据流】,选择要处理的数据集,拖入【行列转换】节点,进行配置。这里行列转换字段选择【approver(处理节点)】,新列的值选择【duration(处理时长)】。通过数据预览可以看到,数据集中已经新增【处理节点-处理时长】组合成的新列,符合转换预期
5.2 新建【报表】,选择上面新建的行转列数据集,可以看到行转列新增的度量,拖拽到报表配置区,即完成行转列的数据处理和报表搭建
height=“2.348946850393701in”}
b)数据如何快速去重
-
场景案例:
- 场景一:去除指定列重复的数据,比如ID是主键,去除重复ID数据
- 场景二:去除所有列都重复数据
- 功能
- 拖入要去重的数据流/数据集节点
- 拖入去重节点,配置去重方案,按一个或多个字段进行去重
- 配置输出节点,保存该去重数据集,可以报表搭建等场景使用
c)如何使用实体数据集一键建模
选择「应用名称」-->「实体」--->连接方式,一般推荐方式为抽取,更多详情请见「创建实体数据集」章节。
5.2 - 关键步骤
数据建模
数据集管理
实体数据集设计 (V8)
- V8平台,可创建实体数据集、数据库表数据集。
- 实体数据集的聚合根关联及聚合关系适配:基于COP平台定义的实体元数据,自动识别实体关联关系与聚合关系、实体信息,懂业务即可做数据分析。
- 选项集适配:自动识别选项集与布尔类型,无需配置,自动显示业务概念。
- 实体参照适配:自动识别UDC实体参照,自定义参照方案设置。
- 组织模型及人员实体适配:自动识别复杂的组织模型实体,提供树表展示能力,实现OLAP的展示方式,更方便查看。
- UDC应用预置角色适配:自动识别UDC实体预置角色,无需配置,自动实现角色数据权限及报表使用权限控制。
a) 关键使用步骤
选择「应用名称」-->「实体」--->连接方式,一般推荐方式为抽取。
b) 数据集操作
b.1) 常用操作
-
数据集字段显示或者隐藏
-
数据集字段多选显示或者隐藏
-
树表结构字段的层级展开
-
多选字段的拆分行
-
操作
- 字段重命名
- 字段显示| 隐藏
默认勾选显示隐藏字段将会在后台查询出来所有关联实体(包括子孙实体)的前500个字段并执行出来,取消勾选隐藏字段,这些字段的数据将不会被查询执行.
- 字段批量显示和隐藏
- 新建表达式
- 新建日期表达式
- 字段搜索(支持按照字段名称或者列名称搜索)
b.2)树表实体-层级展开
(实体数据集支持,CAP表单数据集不支持)
- 当实体字段为树表实体时,在OLAP分析中需将树表结构按层级展开,可最高设置9级展开(树表结构是OLTP,分析数据是OLAP,均需将树表按层级展示)。
- 组织树表:当实体字段中的组织、机构等树表实体时,仅可选其主键、名称、编号进行层级字段展开。
- 展开字段名称,默认以level1开头,其level1代表第一级,以此类推,level9代表第九级。
b.3)增加表达式
b.4)新建日期表达式
支持常见的日期周期的表达式如下,如果要支持常见的日期周期做固定报表,建议在数据集上先将这些日期表达式先新建好:
年月日,年周数,年季度,年月,年,
季度,周数,星期,年月日时,年月日时分,年月日时分秒
预览结果如下:
c)数据集的2种连接方式
c.1) 直连和抽取
直连:直连模式为会直连业务数据库查询数据
抽取:将会进行T+1的数据更新,实体数据有历史表的就根据归档时间achiveTime自动增量更新,更新时保持历史数据不变;如果实体无历史表全量更新数据. 支持按照每小时、每天、每周、每月更新。
c.2) 抽取和计算后的任务管理
报表管理员在【数据报表->数据工厂->数据集】数据集列表,点击操作下的创建任务,发布数据集(直连数据集无需创建任务)。一个数据集,只有经过创建任务,才会进行数据处理,生成数据集数据。
- 创建任务:将数据集定义信息,发布至ETL引擎执行数据加工计算处理,生成数据集数据。可通过数据预览、任务详情,验收任务情况。
- 下线任务:发布后的数据集可下线,取消ETL引擎执行任务。
- 任务详情:数据集执行任务的状态信息,如果数据预览无数据时,可检查任务详情中任务状态是否异常。
- 数据预览:默认取200条数据。
表单数据集设计(V5)
- V5平台,可创建CAP表单数据集、数据库表数据集。
- CAP数据集的主子表自动识别关联,枚举自动识别。
- V5平台组织模型及人员等组织变量自动识别。
创建数据库表数据集
a)创建数据源
第三方库表,主要是用于接入外部数据源。【数据工厂】--》【源】
备注:第三方库表的ip信息,需进行安全认证,在nocas上配置白名单。
b)创建数据库表数据集
选择数据源->表或视图->连接方式(直连或抽取)
创建Excel数据集
应用场景
将线下维护的文件数据导入到BI里面进行可视化分析
功能简介
- 支持Excel和CSV文件导入
- Excel文件支持多Sheet合并导入
- 追加数据,能够往已经导入的Excel数据集中追加新的Excel数据
导入数据
- 第一步:选择【数据工厂】->【数据集】->新建【新建Excel数据集】
- 第二步:选择上传文件或拖入上传文件,支持Excel和CSV格式
- 第三步:Excel数据集设置
-
选择添加数据:多工作表的Excel数据,可以在这里选择要导入的工作表,并且点击工作表名称进行工作表数据的预览。只要一个工作表的Excel数据或CSV文件,则无需选择
-
选择表头:多工作表的Excel数据,可能存在表头不一致的情况,这里可以指定用那个工作表表头
-
数据详情:点击每个工作表数据,可以预览该工作表导入数据集后的数据
-
字段信息:可以支持修改字段名称和数据类型
-
字段映射:Excel多工作表且工作表表头不一致时,保存时会弹出表头映射,选择对应的表头,如果为空的表头则工作表该列导入无数据
a. 表头名称不一致,需要手动选择映射
b. 该工作表无该列,可以为空
- 第四步:保存预览
- 查看导入进度:可以在列表页查看进度和导入进度详情
- 数据预览:数据导入成功后可以进行预览
追加数据
- 第一步:【编辑】要追加数据的Excel数据集
- 第二步:点击【追加数据】
- 第三步:选择要追加的文件或拖入要追加的文件
- 第四步:预览要追加的数据,点击保存即可追加数据。如果要追加多工作表的数据,可以参考导入文件多工作表配置,如果导入的工作表表头和数据集表头不一致,可以在保存时做表头映射,参考导入文件表头映射
数据流管理
- 一个数据流,必须有一个或N个输入节点,0或N个数据加工节点,一个输出节点。
- 数据流输出表生成的是主题宽表,是数据准确的重要部分。
- 数据流设计器:
输入节点
创建数据流,第一步必须选择输入节点。即将输入节点拖入画布区,选择数据源。
数据加工节点
a)关联节点
- 关联节点:类似SQL中的join语句,根据关联字段进行关联,其关联数据合并到一张输出表中。单个关联节点支持2个输入表,如果需要多表关联,需增加多个关联节点。
b)联合节点
联合节点:类似SQL中的union语句,将2-5个输入表,相同类型的字段进行字段数据的合并至一张输出表中。
c)分组和汇总节点
分组汇总节点:类似SQL中的group by语句,将相同数据合并成一组,然后按分组后数据进行汇总计算。
d)过滤节点
过滤节点:类似SQL中的where语句,设置过滤条件,过滤掉无用的数据。
e)字段设置节点
字段设置:字段的重命名、增加计算字段、字段选择(含字段顺序调整)。其中增加计算字段是通过公式函数来实现的,函数分为数学与三角函数、日期函数、文本函数、逻辑函数。
f)行列转换
- 版本
BI版本 说明
v2.8.0 无
- 场景
场景1:按列查看每个审批节点的处理时长,目前原始数据是按行存储的
5.1 新建【数据流】,选择要处理的数据集,拖入【行列转换】节点,进行配置。这里行列转换字段选择【approver(处理节点)】,新列的值选择【duration(处理时长)】。通过数据预览可以看到,数据集中已经新增【处理节点-处理时长】组合成的新列,符合转换预期
5.2 新建【报表】,选择上面新建的行转列数据集,可以看到行转列新增的度量,拖拽到报表配置区,即完成行转列的数据处理和报表搭建
- 功能
- 拖入要去重的数据流/数据集节点
- 拖入行转列节点,配置行转列方案,选择行转列字段(只能选择一个)、新列值字段(支持选择多个)
- 配置输出节点,保存行转列成功数据集,可以报表搭建等场景使用
g)去重
- 版本
BI版本 说明
v2.8.0 无
- 场景
场景一:去除指定列重复的数据,比如ID是主键,去除重复ID数据
场景二:去除所有列都重复数据
- 功能
- 拖入要去重的数据流/数据集节点
- 拖入去重节点,配置去重方案,按一个或多个字段进行去重
- 配置输出节点,保存该去重数据集,可以报表搭建等场景使用
输出节点和更新设置
按开始时间,每小时、每天、每周、每月执行更新数据流。默认每天更新。还可以设置任务执行时间及结束日期。
指标管理
指标定义
报表管理员从【右上角->头像->后台管理】进入后台,在【数据报表->指标管理->指标定义->新建】创建指标。指标定义后,必须经过指标模型的发布后,才会生成指标模型表数据。
- 基本信息:指标名称、数据来源。
- 指标设置:汇总方式、维度选择、时间维度、过滤条件。
指标模型
在【数据报表->指标管理->指标模型->新建】创建指标模型,即将相同维度的指标模型成一张指标模型表。
- 基本信息:指标模型表名称。
- 指标选择:选择基础指标、显示维度选择、添加其他指标并进行维度映射。
- 定时设置:简单配置、复杂配置
发布指标模型
报表管理员在【数据报表->指标管理->指标模型】指标模型列表,点击操作下的创建任务,发布数据模型。一个指标模型,只有经过发布,才会进行数据加工计算,生成指标模型表数据。
- 创建任务:将指标模型定义信息,发布至ETL引擎执行数据加工计算处理,生成指标模型表数据。可通过数据预览、任务详情,验收发布情况。
- 取消任务:发布后的指标模型可下线,取消ETL引擎执行任务。
- 任务详情:数据流执行任务的状态信息,如果数据预览无数据时,可检查任务详情中任务状态是否异常。
- 数据预览:默认取200条数据。
指标模型授权
在【数据报表->指标管理->指标模型->数据授权】进行指标模型的数据授权。可设置授权组织对象、行权限设置、列权限设置。
- 授权对象:可授权组织中的个人、多人。
- 行权限设置:可设置数据表中第一行的权限条件。
- 列权限设置:可设置数据表中的每一列,默认是全部列。
任务管理
报表管理员在【数据报表->数据工厂->数据流】数据流列表,点击操作下的创建任务,发布数据流。一个数据流,只有经过发布,才会进行数据加工计算,生成数据流输出表数据。
- 创建任务:将数据流定义信息,发布至ETL引擎执行数据加工计算处理,生成数据流输出表数据。可通过数据预览、任务详情,验收发布情况。
- 取消任务:发布后的数据流可下线,取消ETL引擎执行任务。
- 任务详情:数据流执行任务的状态信息,如果数据预览无数据时,可检查任务详情中任务状态是否异常。
- 数据预览:默认取200条数据。
资源和数据授权
资源授权
在【数据报表->数据工厂->数据集->数据授权】进行数据集的数据授权。可设置授权组织对象、行权限设置、列权限设置。
- 授权对象:可授权组织中的角色、部门、个人、多人。
- 行权限设置:可设置数据表中第一行的权限条件。
- 列权限设置:可设置数据表中的每一列,默认是全部列。
授权对象-选人界面(V5-BI平台)
授权对象-选人界面(V8-BI平台)
数据授权
在【数据报表->数据工厂->数据流->数据授权】进行数据流的数据授权。可设置授权组织对象、行权限设置、列权限设置。
- 授权对象:可授权组织中的个人、多人。
- 行权限设置:可设置数据表中第一行的权限条件。
- 列权限设置:可设置数据表中的每一列,默认是全部列。
行级数据授权
- 场景:在一个大型组织中,用户U1需要看到A机构财务部数据和B机构财务部数据
- 功能:支持行级数据权限嵌套
- 入口:【数据集】、【数据流】、【数据模型】->【数据授权】->【新建】->【行权限】
创建报表
报表管理员从【右上角->头像->后台管理】进入后台,在【数据报表->报表管理->新建】创建报表。一张报表,包括一个或多个可视化组件。如下报表设计器:
- 组件区:图表组件、布局组件、过滤组件、其它组件。
- 复用:制作报表时,支持直接复用已有报表组件,方便简洁。
- 大纲:方便查看PC端、移动端、大屏端的组件使用情况。
- 一屏三端:PC端、移动端、大屏端,组件共享,样式独立。
- 查询项:报表组件的数据模型字段,均可拖入查询区,设置筛选条件。
- 报表样式:可以设置整体边距、所有组件的标题、全部表格样式风格、查询区样式。
图表组件设计
支持的图表范围说明 (总览)
分类 | 名称 | 构图 | 说明 |
---|---|---|---|
图表组件 | 垂直表 | ||
交叉表 | |||
明细表 | 多个维度、多个度量 | 都是明细数据列 | |
排行榜 | 多个维度、一个指标、0个或者多个辅指标 | ||
饼图 | 1个维度、1个度量 | 维度为颜色分组 | |
环形图 | 1个维度、1个度量 | ||
垂直柱状图 | 1个维度、1个或者多个度量 | ||
垂直堆积图 | 1个维度、1个或者多个度量 | ||
水平柱状图 | 1个维度、1个或者多个度量 | ||
水平堆积图 | 1个维度、1个或者多个度量 | ||
折线图 | 1个维度或者2个维度、1个或者多个度量 | ||
面积图 | 1个维度或者2个维度、1个或者多个度量 | ||
柱折图 | 1个维度、1个或者多个度量 | ||
棒棒图 | 可以通过柱折图构成 | ||
散点图 | 1个维度、1个或者多个度量 | ||
雷达图 | 1个维度、1个或者多个度量 | ||
漏斗图 | 1个维度、1个度量 | ||
仪表盘 | 2个度量 | ||
进度图(进度条或者环形图) | 2个度量 | ||
区域地图 | 1个区域维度、1个或者多个度量 | ||
指标卡 | 度量 | ||
词云 | 1个维度、1个度量 | ||
布局组件 | Tab组件 | 每页有一个Tab | |
组合组件 | 组件框 | ||
其他组件 | 数字时钟 | 类型和格式 | |
滚动消息 | 消息类型、滚动方向 | ||
文字编辑(富文本) | 文本编辑框 | 可以插入文字说明系统变量和查询项的参数,切换查询项的值时富文本中的值将会随之变化 | |
倒计时 | 颜色、样式、截止时间 | ||
图片 | 图片选择框 |
2.4.1.2 使用说明
1)制作垂直表
- 选择图表类型:垂直表
- 分组区只允许拖入维度字段。
- 明细区可拖维度字段、度量字段。明细区的维度,按维度字段内容进行分组计算,但表格自动按明细展示。
- 过滤区可拖维度字段、度量字段。
- 表格预览区与数据结构区可按列设置表格内容样式、穿透、条件样式
数据源区
- 维度转换度量,为维度的计数。度量转维度,为度量转文本类型。
- 添加计算字段:对已有的字段再计算,从而可以得到新的字段。支持汇总函数、快速计算函数、数学与三角函数、日期函数、文本函数、逻辑函数。
处理数据
- 数据排序:维度排序、组内排序、度量排序。
- 维度自定义分组:支持维度值的自定义分组。
- 日期维度分组:支持年月日、年月、年等多种分组方式。
- 空值设置:支持自定义空值显示、维度的空值设置、度量的空值设置、度量的0值设置。
- 过滤-参照:主键参照支持单选、多选,对应运算符为等于、属于。
分析数据
- 汇总计算:根据维度,求和、最大值、最小值、求平均、计数、标准差、方差。
- 快速计算-同环比:同期、环期、同比增长值、同比增长率、环比增长值、环比增长率。同环比,分组区的维度字段必须包括日期维度字段。
预警设置
- 支持度量的数据预警,按操作符设置条件值。
- 支持预警值的颜色设置、图形设置。
- 针对单个度量,支持连续添加多个预警设置。
穿透设置
-
支持报表与报表之间的穿透。
- 可选择报表分类下所有的报表。
- 可传递参数,当前报表分组区、明细区的维度以及报表查询项的维度。
- 报表组件的数据源相同,传递参数才有效,否则无效。不同数据源的报表组件穿透可通过报表与应用页面的参数映射实现。
-
支持报表与应用页面的穿透。
- 直接跳转,选择应用页面,设置传递参数。
- 条件跳转,按垂直表组件分析区的维度设置条件跳转,可支持跳转多个页面。
-
支持链接穿透。
样式设置
- 组件名称命名
- 表格格式
- 列表与树状
- 每页条数设置
- 边框设置
- 表头设置
- 总计/小计
- 表格设置
数据格式
- 默认系统格式。
- 支持千分位、数字、百分比、货币、万、亿以及日期格式。
- 支持时长的天时分特殊格式。
多表头设置
树状垂直表
- 树状垂直表,当多维度时,不支持全排序,仅支持组内同层级的排序。
- 树状垂直表,不支持每页显示设置。
- 树表显示场景下,支持节点值去重设置。
制作交叉表
- 选择图表类型:交叉表
- 行交叉区拖入维度字段,列交叉区拖入维度字段,度量区拖入度量字段。
- 处理数据、分析数据、预警设置、穿透设置、样式设置均与垂直表相同。
3)制作排行榜组件和明细表组件
支持版本RC2.8.0
用户可以设置序号样式 如下图
设置不同样式
设置进度条渐变
4) 制作可视化图表
- 选择图表类型:拖入可视化组件后,在组件切换区选择图表类型
- 将数据源区字段的维度字段拖入数据配置区:
- 饼图、环形图、雷达图、词云图、漏斗图:维度区拖入维度类字段,度量区拖入度量类字段。
- 垂直柱状图、堆叠柱状图:X轴可拖入1个维度类字段,Y轴可拖入多度量类字段。
- 水平柱状图、水平堆积图:Y可拖入1个维度类字段,X轴可拖入多度量类字段
- 折线图、面积图:X轴可拖入1个或2个维度类字段,Y轴可拖入多度量类字段。
- 柱折图:X轴可拖入1个维度类字段,Y1轴可拖入多度量类字段,Y2轴可拖入多度量类字段。
- 散点图:维度可拖入一个维度类字段作为数据点名称,X轴和Y轴可拖入单个度量类字段。
- 仪表盘:度量和最大值指标支持拖入单个度量类字段,
- 进度图:度量和目标值指标支持拖入单个度量类字段。
- 地图:维度支持拖如单个地区类型的维度类字段,度量可拖入多个度量类字段
- 指标卡:度量支持拖入单个度量。
- 过滤区:可根据需要,拖入维度和度量类字段设置过滤条件。
- 在样式设置区按照配置项设置组件样式。
-
图形区设置:
- 饼图:包括最大扇形数设置、图表配色设置,
- 环形图:包括最大扇形数、图表配色,显示总计开关、总计数据格式设置,
- 垂直柱状图、水平柱状图、包括折线图、面积图:图表配色设置,展示方式设置,
- 垂直堆积图、水平堆积图:包括图表配色设置,展示方式设置,图形切换设置,支持堆积和百分比堆积两种图形。
- 雷达图:包括图表配色设置,显示模式设置,支持切换为面积雷达图和线形雷达图。
- 散点图:包括图表配色设置,展示方式设置,分割区域设置。
- 漏斗图:包括图表配色设置,数据标签位置设置
- 仪表盘:包括图表配色设置,指标自定义名称及单位设置。
- 进度图:包括图形切换设置及其他样式设置,支持切换为环形进度图,条形进度图。
- 地图:包括地图区域选择,数据格式设置,视觉栏显示开关
- 指标卡:包括指标显示模板设置、对齐方式及背景色设置。
- 词云:包括图表配色设置。
-
圆点设置:包括圆点设置开关,圆点大小设置。折线图、面积图、柱折图支持。
-
区域颜色设置:仅地图组件支持,包括对地区区域样式的各类设置。
-
图例设置:包括图例位置设置,图例分类名称自定义设置,分类名称以";"间隔。
-
X轴设置:包括轴标题,轴标签的文本显示开关及样式设置,固定值和动态值辅助线设置。其中,X轴文本过长导致显示不全时,可以通过调整显示角度或单行文本数来调节。文本步长用来调节X轴标签的稀疏程度。
-
Y(Y2)轴设置:包括标题及标签文件的显示开关、数据格式、最小值、最大值、步长、固定值和动态值辅助线设置。
-
标签设置:包括位置设置和标签格式设置,该值固定显示在图形上。
-
悬浮提示:包括显示格式设置,该值通过鼠标移入或点击图形进行显示。
-
联动设置:包括设置可联动显示的组件,通过点击图形区域进行联动。设置时,可勾选的组件为配置了相同数据源的组件
-
穿透设置:同2.3.1.1中垂直表中的穿透设置
特殊说明:垂直柱状图和垂直堆积图的X轴对应上述属性中的Y轴,Y轴对应上述属性中的X轴。
- 预览区可查看已经配置的数据及样式。
5)制作地图
5.1)区域地图(「省/市/自治区」,「城市」,「区县」)
区域地图在RC2.8.0 支持增强,支持地理角色设置成为 「省/市/自治区」,「城市」,「区县」3种
1) 选择列,比如说市设置地理角色
2)用户可以设置选择列->更多设置「地理角色」省,市,县来「自动获取」字段中的值「完全匹配」 地理角色的值;没有检测
到值的数据显示红色,用户可以手动设置选择值匹配。
选择某个具体的「省/市/自治区」比如说云南,将会默认数据值自动匹配对应的地理位置;
在城市的地理角色中,谨慎使用「全部」的选项
3)设置完成地理角色后列图表将会变为地理标识icon,将此列加入面积区域,并拖拽对应的列到度量区域
显示云南省下所有市 的销售数据,请注意悬浮提示tooltip的信息和度量区域配置的列相关。
4)其他相关效果图
5.2)制作GIS地图 (RC 3.0.0)
支持高德的标准地图,区域地图,3D地图,卫星地图,热力地图
配置过程
选择文本列->生成经纬度列->经度列拖拽到经度列区域,维度列拖拽到维度度列区域,度量加入,直接可以拖入对应区域即可
配置项:
属性 | 说明 | |
---|---|---|
「点标记量」: | 值区间1-2000为点标记显示(数量超过点标记量值开启海量点) | |
「形状颜色」: | 值区间1-2000为点标记显示(数量超过点标记量值开启海量点)如果形状颜色超过了2000个,形状的颜色功能将会不生效「形状」:默认4种形状,超出后的颜色可以从系统的icon库上传。 | |
「地图坐标系」 | 默认高德 | |
「中心区域」 | 以登录人员的位置默认所在区域为中心区域 |
展示效果(标准地图等)
3D效果
卫星地图
6) 添加数据筛选效果
- 方法一:设置查询区
- 报表组件内的数据模型字段均可当筛选条件拖入至查询区。
- 支持对拖入的查询区的筛选条件进行操作符以及默认值设置。
- 方法二:设置筛选组件
-
拖入日期筛选组件
-
选中筛选组件,点击编辑按钮后,配置组件。
- 日期筛选组件:可配置标题、筛选的字段、快捷选项及自定义选项。
- 数值筛选组件:可配置标题、筛选的字段以及操作符类型。
7)制作布局组件
- tab组件:可以通过切换页签在相同区域显示不同可视化图表
- 选中组件后,点击编辑按钮进入样式设置和页签设置区域,可设置标题样式,添加页签。
- 页签设置完成后,可在组件区域选择页签区域要放置的其他组件,每个页签仅支持一个组件
- 组合组件:可以通过组合组件按需摆放组件的位置。
- 拖入组合组件后,再将其他组件拖入组合组件中进行位置移动即可。
8)使用其他组件
- 数字时钟组件:拖入组件后点击设置时钟显示格式
- 滚动消息组件:拖入组件后点击组件,在弹窗中设置需要滚动展示的内容及样式
- 文字编辑组件:拖入组件后点击组件,在弹窗中设置需要展示的内容及样式。
- 倒计时组件:拖入组件后,设置截止时间即可。
- 图片组件:拖入组件后,可点击选择内置或本地的图片素材。
9)表格设置说明专区
默认显示如下:
9.1) 表格支持表头和内容区域换行
「自适应」或者「固定行数」显示处理文本较长时换行的场景
垂直表,交叉表,明细表都支持
9.2)表格的页码隐藏
当行总数小于每页条数,垂直表和交叉表的分页页码将会自动隐藏(200上限)
10)文本编辑支持插入参数和变量
配置:
过滤下拉菜单多选设置点击「查询」按钮后,自动可以在文本编辑器中获取多选的值。
11)指标卡支持多指标
新增配置项改变SVG的颜色并适配3端,PC端,手机和大屏。
11.1)指标配置
1)设置指标间的实线和虚线,
每个指标可以对于单独设置字段的「数值大小」,「文字颜色」等,指标icon可设置渐变。
也可以按住CTRL健批量设置。
11.2)指标卡展示效果
通用设置项说明
1)表格通用设置
- 设计师在报表「设计器」->组件编辑->数据表处 自动 自适应
如下,字段名称「长名称字符串测试下」会根据设置的内容自适应。
- 如果报表或大屏的进度条宽度太小,可以选择表格->「批量设置列宽」-->销售额-->宽度设置宽一点即可。
支持的表格范围:垂直表,明细表,交叉表,明细表
2)图表通用设置
1.2.1)设置起始轴
默认自动根据指标列获取起始轴,用户也可以自定义起始轴的数据值。
1.2.2)设置轴标签
1.2.3)设置悬浮提示
1.3)数据格式设置
在报表或者数据大屏所有的组件都支持场景格式,设置后常见的数据格式,展示如下:
支持的数据格式
如下所示:其中千,万为V3.0.0新增设置:
无格式
天时分
历史定义:按分钟数转的
天
历史定义:按分钟数转的
小时
历史定义:按分钟数转的
分钟
千分位(#)
千分位(#.0)
千分位(#.00)
千分位(#.000)
千分位(#.0000)
数字(#)
数字(#.0)
数字(#.00)
数字(#.000)
数字(#.0000)
%(#)
%(#.0)
%(#.00)
%(#.000)
%(#.0000)
货币(#)
货币(#.0)
货币(#.00)
货币(#.000)
货币(#.0000)
千(#)
千(#.0)
千(#.00)
千(#.000)
千(#.0000)
万(#)
万(#.0)
万(#.00)
万(#.000)
万(#.0000)
亿(#)
亿(#.0)
亿(#.00)
亿(#.000)
亿(#.0000)
yyyy-MM-dd
yyyy年MM月dd日
yyyy/MM/dd
1.4)报表管理通用设置
1.4.1)报表导出PDF
导出PDF和导出EXCEL都可以在设计态导出控制导出功能。
- 在实施态报表管理列表中支持导出PDF
- 在用户态也支持直接导出PDF.
1.4.1)报表导出EXCEL( TBD)
报表布局设置
- 报表设置:可设置页面标题、页面背景色、组件间距、报表页面边距。
- 组件设置:统一设置组件标题样式,图表配色风格和表格风格,该设置会覆盖已经设置的单个图形组件的配色。
- 查询区样式设置:可设置页面查询区的背景及文字样式设置
- 报表缓存:开启后,可对报表的数据进行短期存储,提高再次访问的速度;预缓存方案,设置后,可对报表的查询方案进行存储,提高特定查询条件下的报表访问速度,该设置需要方案与报表的查询条件保存一致。
- 报表属性:可以对前台用户访问报表时展示界面中的导出按钮、查询区域、显示方案的功能设置显示或隐藏。
- 导出设置:可以通过添加查询区的字段,将查询后的字段值添加到报表导出的文件名称中。
- 复用列表:会展示所有已经创建的组件,可直接拖入页面进行使用和二次编辑。
移动端页面配置
- 点击编辑按钮,进入页面设计态
- 通过切换页面类型可以配置移动端页面,该功能通常结合复用列表进行使用。可以将已经配置完成的组件拖入移动端页面进行二次编辑和修改。组件配置界面和PC端一致。
报表授权
在【数据报表->报表管理】进行报表授权,且可设置授权组织对象。报表授权为双重授权机制,只有设置了报表组件的数据权限,才可查看报表数据。
- 使用授权:,用户可查看报表,当报表组件数据授权下,可查看报表组件数据。
- 管理授权:用户可查看报表、修改报表。管理授权,自动赋予报表组件的数据权限。
- 大屏设备绑定:针对大屏端,通过特殊账号进行大屏端绑定,登录其特殊账号,即可展示大屏内容。
报表展示效果示例(TBD)
应用报表设计发布后实施态支持编辑
支持版本:V2.8.0
「人事管理」应用设计发布后的报表在实施态可以直接编辑,编辑后「保存」的报表还是属于「人事管理」,「另存为」后「将会属于「报表中心」。
点击「保存」后提示如下:
创建数据大屏
创建数据大屏
1)选择大屏模板
2) 选择「科技蓝模板」
3)拖拽可视化组件并配置数据,组件配置界面和PC端一致。
4) 在组件列表中,可以拖入数字时钟、滚动消息、倒计时等组件为大屏配置具有动态效果的组件。
- 点击编辑按钮,进入页面设计态
- 通过切换页面类型可以配置大屏端页面,该功能通常结合复用列表进行使用。可以将已经配置完成的组件拖入大屏端页面进行二次编辑和修改。
- 切换「科技蓝模板」或者「空模板」都可以选择风格进行数据展示。
大屏效果
报表中心
报表中心直接可以展示自定义报表,应用报表,数据大屏
数据大屏的展示是在V3.0.0展示。
5.3 - 在UDC中使用BI
进入业务应用中的报表设计模块
- 登录账号并进入运营平台。
- 切换到工作台后,从自建应用菜单进入业务应用列表。
- 找到要应用报表的业务应用,点击设计按钮,进入应用设计态。
- 在应用设计态页面中,找到BI菜单,点击并进入报表设计模块
配置数据流
创建数据流
- 进入数据流列表,点击新建,开始数据流配置,如果是编辑已有的数据流,则可通过搜索框输入数据流名称进行查找,找到后,点击编辑按钮即可
- 进入数据流编辑页面后,可以看到左侧的数据流节点区域,总共3类,其中输入节点和输出节点为必要的节点,输入节点可以拖入多个,而输出节点仅可拖入一个。节点拖入后需要通过连接点进行连接。
实体节点:可以选则本应用及依赖应用下的所有数据表,按照数据处理需要,选择相应字段。
字段设置:可以对已选的数据表字段进行字段定义、重命名、类型调整、控制是否作为输出字段。
字段设置-添加计算字段:可以通过点击按钮进入自定义字段界面,通过对已有字段进行公式、函数计算,按照分析需要生成新的字段。
字段设置-字段选择:点击后,可以通过选择设置,对输出表字段进行选择性显示。
字段设置-重命名:可以修改字段的显示名称。
字段设置-修改字段类型:可以对字段的数据类型进行调整。
- 字段过滤,可以对某一字段进行过滤条件设置以满足特定的数据分析需要。
- 表输出,拖入后连接节点,可预览输出的表字段。
- 修改表名称后,数据流创建完成。
设置数据流更新周期
点击更新设置,按照预定设置开始日期、执行频率、任务执行时间、结束日期。
配置数据流权限
- 进入数据流列表,点击数据授权输入框
- 弹出的页面中,选择角色并进行数据授权。
配置指标
定义指标
1、进入指标管理模块,点击指标定义,点击新建按钮。
- 输入指标名称,选择定义指标所选的数据源、度量计算方式、维度、时间维度、过滤条件后,可以进行保存。保存后,一个指标即定义完成。
配置指标模型
- 进入指标模型列表页,点击新建
- 在编辑页面输入指标模型信息,先选择基础指标,再并选择要合并的指标构成指标模型,勾选维度可以显示指标模型分析时用到的维度。
- 输入更新周期设置,操作可参考数据流更新周期。
4、设置完成后,点击保存即可生成一个指标模型
3.4 配置报表
创建分析报表
- 进入报表管理模块,点击新建按钮。
- 拖入要分析的组件类型,选择模型进行数据配置。
数据配置界面中,在数据源区,将字段按照类型拖入组件的维度配置区,过滤区也可以拖入字段,并设置数据的过滤条件;在右侧组件类型区域切换图形组件类型、下方的设置项配置区,设置组件的显示样式。
可以在数据源区按照分析需要,新增计算字段。
设置报表与应用页面间的穿透
- 点击穿透设置输入框进入穿透设置界面
- 在设置界面中按照穿透的目标页面进行类型选择,选择直接跳转或条件跳转,并点击穿透页面输入框选择要穿透的应用页面,传递参数一栏,可以设置穿透时传递的参数。
特殊说明:
- 设置条件跳转时,需并将作为条件判断的选项值手动输入字段值输入框,然后作为选项选择。
- 应用页面参数如果是作用于应用的选项集、布尔、枚举类型字段,则报表的参数类型或参数值需要为编码而非具体的选项值。
- 如果是传递固定的值给应用页面参数,则可以使用报表自定义值进行设置。
- 报表参数列表选项中,@符号表示该参数取自查询区的相应字段值,无@符号则表示该参数值取自组件中已配置的字段值;@符号的字段参数通常适用非配置字段的跳转和返回传参设置。
- 如果报表的映射参数来自查询区,即带有@符号,则需要注意查询区该字段的操作符设置,需要与UDC页面中报表组件使用的该参数操作符保持一致,否则过滤结果无法生效。
设置与应用页面数据联动参数
在报表的右侧查询项区域,可以将字段拖入上侧;拖入的字段可以在穿透时作为参数对穿透的目标页面进行数据筛选,也可以经过配置,在使用报表的应用页面中,和应用页面中的筛选条件进行数据上的联动分析。
配置报表的使用权限
保存报表返回到报表列表中,点击报表的使用授权对报表的使用权限进行授权,这样可以按照用户角色分配报表。
在业务应用中使用报表
- 点击应用菜单栏中的菜单模块,找到要使用报表的页面。
- 在页面设计器中,找到报表应用组件,拖入页面。
- 选中组件后,在右侧输入框1出点击选择要使用的报表,在输入框2处点击配置要做联动分析的参数映射,以和页面中的筛选条件进行数据联动。
选择报表:
配置参数:
特殊说明:该处字段映射所选的操作符需要与当前报表组件对应的页面查询区筛选字段操作符类型保持一致。
- 点击页面保存按钮后,该页面会在整个应用发布时,发布到前台供前端用户使用。
BIInside+示例
版本号: V2.8.0
加开关控制优先加载报表数据或页面规则的数据。
默认开启,进入页面就会自动加载报表数据;
关闭后,进入应用页面将不会去请求报表数据,优先会加载初始化页面规则或者其他规则而不加载报表数据。
6 - 基础设置
选项集和枚举
简介
应用基础设置之一,用于定义可穷举的有序集合。设计器中可作为下拉,单选,多选等控件的数据来源,提供给用户在有限的选项中进行选择的能力,如性别、单据状态、省市区等。
选项集和枚举的差异:
- **发布模式:**选项集发布时生成代码,运行态以代码形式存在,而枚举属于DB枚举,运行态存于数据库,非代码形式存在
- **存储方式:**选项集存储选项的编码,使用时由平台做的转换,而枚举直接存储的枚举项ID
- **扩展性:**选项集由于已生成代码,运行态不可扩展,不可变更,而枚举由于存于数据库,运行态可扩展,可变更
- **层次结构:**选项集因受到Java语法限制,只能支持平铺模式,而枚举不受限制,可以具有层次结构,可支持多级
适用场景:
- **选项集:**适用于选项固定,不轻易变更,并且结构平铺的有限集合,如单据状态、性别、保密等级等
- **枚举:**按照结构不同,将枚举分为三类,平级枚举、级联枚举和多级枚举
1、平级枚举:适用于存在较大变更可能性,并且结构平铺的有限集合,如兴趣爱好选择、资产分类等
2、多级/级联枚举:适用于有层级机构的有限集合,如地址选择(省-市-区)、部门选择等
选项集设置
- 选项集列表
- 新增选项集
- 新增选项集选项
4、选项可设置选项颜色和图标,支持常规样式和标签样式。
注:标签样式需在页面控件中开启【标签显示】属性。
枚举设置
- 枚举列表
- 新增枚举
按照结构不同,将枚举分为三类,平级枚举、级联枚举和多级枚举。
- 创建平级枚举
- 创建多级枚举
- 创建级联枚举,比如省-市-区
{width=“5.766666666666667in” height=“2.594575678040245in”}
3. 扩展性:在新建枚举时,扩展性中"可扩展"表示运行态可以新增枚举项;“固定"表示运行态不可以新增枚举项;默认是勾选可扩展。
实体字段关联选项集和枚举
- 实体中选项集类型字段关联选项集;枚举类型字段关联枚举。且支持配置是单选或多选。
- 需要多个字段绑定级联枚举,比如级联枚举"省-市-区”,需要新建三个枚举类型字段:
“省"字段,关联第一级"省”
{width=“5.766666666666667in” height=“2.7902252843394577in”}
“市"字段,关联第二级枚举"市”,上级枚举是"省"
{width=“5.766666666666667in” height=“2.7902252843394577in”}
“区"字段,关联第三级枚举"区”,上级枚举是"市"
{width=“5.766666666666667in” height=“2.7902252843394577in”}
字段集
字段集是一组有共性可通用的字段集合。实体中部分字段引用字段集后,可以减少重复性配置工作。
比如核销借款单,员工费用报销单可以核销借款单,员工还款单可以核销借款单,都会用到借款核销相关的字段,即可以把该相关字段建立为字段集。
实体可以引用字段集,快速创建对应字段。
- 字段集列表:
- 实体引用字段集:
- 实体引用字段集后,字段列表自动生成对应字段, 字段集的名称作为分组名称。注意:在实体列表无法直接删除或修改字段集, 需要在【基本】中取消勾选的字段集以达到删除字段列表中的字段集。如果要修改字段也需要到字段集中修改,修改后所有引用字段集的地方同步修改。
流水号
流水号通常用于比如单据编号、档案编号等需要顺序排号且唯一的业务场景。
流水号定义支持定义生成一系列序号的规则。
流水号列表:
创建流水号规则
流水号规则详情:支持多段内容组成流水号
- 支持上下文变量(系统变量):比如登录日期
- 支持常量:
- 支持实体字段:
- 支持流水号:
比如差旅报销编号按照CLBX(常量)+业务类型(实体字段)+系统日期(上下文变量)+四位流水号
运行态支持修改流水号规则,且支持流水号类型的字段修改绑定的流水号规则。比如费控应用到了不同的企业,流水号规则需要变更。
实体字段关联流水号
新建流水号类型字段,并关联对应流水号:
自定义对象
自定义对象是指根据业务需求或数据结构定义的一种数据类型,它可以包含多个属性或字段。
提供给页面变量、微流程/页面规则之间数据处理或者传递使用。
参数
参数可帮助设计师建立高质量的应用,可以通过参数的使用,满足客户通过配置参数,即可满足对应的业务场景。
整个应用设计过程中,前后端表达式中可获取到应用参数进行逻辑规则的处理。
设计器中配置参数后,在运行环境中,客户可通过修改对应参数的值,已达到控制其余内容的目的。
扩展方案
应用设计时,设计师根据业务设置的一组有多字段类型及其数量的抽象预留字段方案。实体启用扩展方案后,会自动按照扩展方案预留对应类型和对应数量的字段。
运行环境中可在扩展方案页面启用扩展字段,启用后,在对应实体使用时,可用扩展字段,使用场景如下。
- 运行环境报表设计是,可用字段中包含已启用的扩展字段
- 运行环境个性化页面设计时,数据源字段中包含已启用的扩展字段
- 运行环境个性化生单规则,规则配置中可以使用对应扩展字段
导入导出模板
导入导出模板可以帮助我们快速导入和导出数据,提高数据处理的效率和准确性。应用设计时支持预制导入导出模板,运行时也支持客户方根据需要自定义。
导入导出模板提供用户在做导入导出操作时选择使用。
二维码
应用设计师根据业务需要预制的二维码生成规则。二维码类型支持字段二维码、链接二维码条形码。二维码规则支持运行态到客户方进行规则调整。
二维码规则提供给二维码控件生成规则使用。
7 - 角色权限
应用场景:运行态不同角色有不同的功能权限。在角色权限管理中,可以添加角色,并给每个角色分配web端和移动端的功能权限。
角色权限配置入口如下图:
应用角色
(1)针对每个应用,系统会预置两个角色:普通人员角色、应用管理员。并且会预置功能权限。
(2)自定义角色
web端功能权限
左侧页面组件展示层级关系是:应用名称>菜单>页面>控件>子控件>控件操作。控件及控件操作是需要在页面控件中开启功能权限,才会在此处展示出来。可以给角色勾选相应的权限。
控件及控件操作是需要在页面控件中开启功能权限之后,在角色权限中可以给角色授权该控件。
移动端功能权限
左侧页面组件展示层级关系是:应用名称>页面分组>页面>控件>子控件>控件操作。控件及控件操作是需要在页面控件中开启功能权限,才会在此处展示出来。可以给角色勾选相应的权限。
控件及控件操作是需要在页面控件中开启功能权限之后,在角色权限中可以给角色授权该控件。
注意:如果页面绑定了外框和子页面,也可配置外框和子页面中控件的权限(PC和移动都支持)。
8 - UDC应用源码扩展
8.1 - 后端源码扩展
8.1.1 - 后端手写代码准备工作
找到当前环境低代码应用源码的仓库地址
我们都知道低代码平台制作的业务应用在发布之后,会自动生成前、后端源代码,生成好这些源代码之后会自动提交到当前环境对应的gitlab仓库中,我们的手写代码也不例外,需要提交到当前环境的gitlab仓库中。我们可以找到当前环境的运维管理员,登录Nacos查看当前环境Data Id为public的配置,其中seeyon.repo就是当前环境的仓库信息配置,例如:
- seeyon.repo.gitlab.parentGroupPath为自动生成的前后端源码存放的分组;
- seeyon.repo.gitlab.parentExtendGroupPath为后端扩展代码存放的分组;
如何找到自动生成的前后端源码
应用做了测试发布或者正式发布之后,我们可以从gitlab中将该应用的前、后端源码clone到本地。
找到前面seeyon.repo.gitlab.parentGroupPath配置的分组,打开该分组,通过应用的appName即可检索出应用前后端源码,例如:
找到应用后端扩展工程,创建对应版本号的分支
1.找到前面seeyon.repo.gitlab.parentExtendGroupPath配置的扩展代码分组,打开该分组,通过应用appName找到后端扩展源码工程,例如:
2.打开扩展工程,复制clone链接地址
3.通过步骤3得到的链接地址,将应用扩展工程clone到本地,根据当前应用发布的版本号前两位创建扩展工程分支名称,例如:
4.在扩展工程中创建相同名称的分支,例如:
后端扩展工程pom文件编写
后端扩展工程是个独立的工程,它和自动生成出来的源码工程的关系是通过pom文件进行定义的,我们在编写后端java源码之前,需要先将pom.xml编写好,以下是个示例,如果是其他应用,可以将其中的appName替换为您应用的appName即可,您的扩展工程如果需要依赖第三方jar包,也可以在该文件中用< dependency >标签进行依赖,此处需要特别注意的是< parent >标签中的定义的版本号,该版本号需要查看该应用对应的自动生成的源码中pom的版本号,示例:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.seeyon</groupId>
<artifactId>edoc335172694483814428-ext</artifactId>
<version>${parent.version}</version>
<packaging>jar</packaging>
<parent>
<groupId>com.seeyon</groupId>
<artifactId>edoc335172694483814428</artifactId>
<version>3.6.39</version>
</parent>
<dependencies>
<!-- 依赖自动生成的当前应用jar包 -->
<dependency>
<groupId>com.seeyon</groupId>
<artifactId>edoc335172694483814428-biz</artifactId>
<version>${parent.version}</version>
</dependency>
<dependency>
<groupId>com.seeyon</groupId>
<artifactId>edoc335172694483814428-web</artifactId>
<version>${parent.version}</version>
</dependency>
<dependency>
<groupId>com.seeyon</groupId>
<artifactId>edoc335172694483814428-facade</artifactId>
<version>${parent.version}</version>
</dependency>
</dependencies>
</project>
本地Maven setting文件配置
Maven 是一个基于项目对象模型 (POM) 的项目管理和构建工具,主要用于 Java 项目。它提供了一种标准化的方式来管理项目的构建、报告和文档。Maven 的核心功能包括依赖管理、构建自动化和项目生命周期管理,更多Maven使用请查阅其他资料。低代码平台创建的应用就是通过Maven进行管理的。
1.联系运维从Nacos配置中查找到当前环境对应的Maven仓库配置
2.根据配置修改本地Maven的setting配置文件
可以联系当前环境运维工程师配合给出当前Maven库的setting配置文件
8.1.2 - 自定义定时任务微流程
步骤
-
按需新增一个自定义定时任务类型的微流程,微流程会为您自动生成一个编码,不过我们还是建议您按照语义自己定义编码,比如当前示例中的sendMsgPerMounth。
-
点击第一个节点,按需设置循环周期
-
保存该微流程为正式态(应用发布的时候只会为正式态的微流程生成代码)
-
测试发布该应用,等待应用测试发布成功
-
应用发布成功之后,按照后端手写代码准备工作中的步骤将扩展工程准备好
-
刷新本地maven仓库,确保已经将该应用最新版本的jar包更新到了本地,maven刷新成功之后可以看到该应用的{appName}-facade.jar中CustomMicroFlowAppService这个interface中已经有我们的sendMsgPerMounth方法,编写一个实现类,实现该接口之后提交到源码仓库重新发布该应用即可。
8.1.3 - 自定义服务定义微流程
步骤
- 按照需要,在规则-微流程菜单中新增一个自定义的服务定义微流程:
- 根据实际需要配置微流程参数
- 保存该微流程(注意需要保存为正式态)
- 测试发布应用,平台会在应用发布的时候为此微流程生成对应的Interface以及Interface中的方法,并且进行编译打包,上传maven仓库
- 按照后端手写代码准备工作说明的步骤,将该应用的扩展工程创建准备好
- 在扩展工程中新增包路径com.seeyon.{appName}.extend.appservice,在此包中新增微流程实现类,类名称自定,该新增的实现类实现微流程的Interface
package com.seeyon.renshiguanli4146632722591861173.extend.appservice;
import com.seeyon.boot.annotation.AppService;
import com.seeyon.boot.annotation.AppServiceOperation;
import com.seeyon.boot.transport.SingleRequest;
import com.seeyon.boot.transport.SingleResponse;
import com.seeyon.renshiguanli4146632722591861173.api.microflow.CustomMicroFlowAppService;
import com.seeyon.renshiguanli4146632722591861173.extend.service.ResumeService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
/**
* 微流程AppService
**/
@AppService(value = "自定义人事管理接口")
@Transactional(rollbackFor = Exception.class)
@Slf4j
public class CustomMicroFlowAppServiceImpl implements CustomMicroFlowAppService {
}
- 编写该微流程的方法实现,注意实现类的@AppService、@Transactional等注解一定要打上
package com.seeyon.renshiguanli4146632722591861173.extend.appservice;
import com.seeyon.boot.annotation.AppService;
import com.seeyon.boot.annotation.AppServiceOperation;
import com.seeyon.boot.transport.SingleRequest;
import com.seeyon.boot.transport.SingleResponse;
import com.seeyon.renshiguanli4146632722591861173.api.microflow.CustomMicroFlowAppService;
import com.seeyon.renshiguanli4146632722591861173.extend.service.ResumeService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
/**
* 微流程AppService
**/
@AppService(value = "自定义人事管理接口")
@Transactional(rollbackFor = Exception.class)
@Slf4j
public class CustomMicroFlowAppServiceImpl implements CustomMicroFlowAppService {
@Autowired
private ResumeService resumeService;
/**
* 简历解析
*
* @param request
* @return
*/
@Override
@AppServiceOperation(value = "简历解析", returnValue = "简历解析")
public SingleResponse<Void> parseResume(SingleRequest<String> request) {
if (log.isDebugEnabled()) {
log.debug("简历解析入参:{}", request.getData());
}
resumeService.parse(request.getData());
return SingleResponse.ok();
}
}
-
编写好之后确保本地没有任何编译错误即可将代码提交到代码仓库中,如果将有编译错误的代码提交到代码仓库中会导致您的应用发布失败
-
微流程实现代码提交之后,再次测试发布应用,即可将实现打包到应用中,其他的前/后端微流程都可以对此微流程进行调用
8.1.4 - 自定义事件监听微流程
步骤
- 在点击规则-微流程菜单中的+号,新增一个自定义事件监听类型的微流程
- 点击第一个节点,为该事件监听类型微流程配置监听哪个应用的哪个实体的哪个事件 本案例选择监听物资信息实体的新增前事件,平台为每个实体预制了9种事件,您可以按需进行选取,注意事项:监听xxx(操作成功)事件的行为动作和实体本身的新增、修改、删除的行为动作,在数据库事务层面,不是同一个数据库事务
- 设置好事件并且为改节点取名之后,点击微流程的保存,将该微流程保存为正式态
- 测试发布该应用
- 应用发布成功之后,按照后端手写代码准备工作中的步骤将扩展工程准备好
- 刷本地maven仓库,确保已经将该应用最新版本的jar包更新到了本地
- 如果还没有为CustomMicroFlowAppService添加实现类,则添加一个实现类(注意实现类的@AppService、@Transactional等注解一定要打上),如果已经有实现类实现了CustomMicroFlowAppService,则直接在你的实现类中@Override该方法,提交源码,然后重新发布应用即可
8.1.5 - 后端自定义函数扩展
8.1.5.1 - 表达式自定义函数自定义语法校验规则
注:需要低代码平台版本2.8.0以上或表达式组件版本2.8.0以上支持
在表达式组件自定义函数时,某些场景下我们需要对函数定义特定的语法规则,比如,虽然函数的入参都是Long, 但是在V8平台中关联实体、枚举的实际类型都是Long ,如果我们要求入参只能是关联实体的Long , 那么就需要自定义语法规则限制参数的类型。
再比如,我们定义的函数的返回值类型可能是不固定的,比如绝对值函数,如果入参是整数,那么返回结果就是整数,如果入参是小数,返回结果则是小数,此时我们的静态函数的入参和返回值可能都是Object类型。自定义语法校验不仅可以校验参数的类型,还可以定义返回结果的类型。
1.代码示例
自定义校验示例代码:
@Slf4j
@FunctionSupporter(functions = {FunctionConstant.ABS_FUNCTION })
public class AbsFunctionSemanticAnalyzer implements FunctionSemanticAnalyzer {
@Override
public ExpressionDataType analyze(ASTNode astNode, SemanticAnalyzer semanticAnalyzer) {
ASTNode paramNode = astNode.getChild(0);
ExpressionDataType paramExpressionDataType = semanticAnalyzer.analyze(paramNode);
DataType originDataType = paramExpressionDataType.getOriginDataType();
if(DataType.INTEGER != originDataType && DataType.BIGINTEGER != originDataType &&
DataType.DECIMAL != originDataType ){
throw BusinessException.message("绝对值函数参数必须为数字类型!");
}
//注意:这里返回当前AST节点预期返回的类型,不是入参的类型
return paramExpressionDataType;
}
}
绝对值函数的自定义函数代码如下(自定义函数的规范参考《表达式组件自定义函数手册》 ):
@Function( category = FormulaFunctionCategoryEnum.Constants.MATH, displayName = ABS_DISPLAYNAME ,
description = ABS_DESCRIPTION ,
sort = 1 )
@Parameters( value = {@Parameter(displayName = ABS_PARAM0_DISPLAYNAME, description = ABS_PARAM0_DESCRIPTION)})
@ReturnValue( dataType = FormulaDataTypeEnum.Constants.DECIMAL, description = ABS_RESULT_DESCRIPTION )
public static Object abs(Object number) {
return number;
}
2.定义规范
上述代码定义了绝对值函数abs(xxx) 的语法校验规则, 首页我们看到自定义函数abs的入参和返回值都是Object类型,这是为了同时兼容整数、长整数、小数这几种类型。在自定义语法校验逻辑中,我们定义一个类并实现FunctionSemanticAnalyzer接口 , 并在该类上打上**@FunctionSupporter注解, 其属性functions**表示该语法校验规则支持的函数,该属性为字符串数组 ,您可以将多个参数和返回值相似的函数定义为同一个语法校验规则,functions的值为自定义函数的方法名,比如这里的:abs 。
除了实现FunctionSemanticAnalyzer接口外,还需要将该类的全包名注册到项目工程的
META-INF/spring.factories 文件中, 这是因为自定义函数校验规则使用了spring-boot的SPI机制。如下所示:
com.seeyon.boot.starter.formula.parser.semantic.function.FunctionSemanticAnalyzer=\
com.seeyon.boot.starter.formula.parser.semantic.function.AbsFunctionSemanticAnalyzer
3.校验实现
我们可以看到FunctionSemanticAnalyzer接口有两个参数 , astNode 和 semanticAnalyzer 。
astNode: 表达式当前自定义函数的抽象语法树节点对象,您可以通过astNode.getLexeme().getValue()和astNode.getLexeme().getDesc() 获取到函数名称(abs)和函数的显示名称(取绝对值) 。
astNode.getChild(index)可以获取到函数对应下标的参数节点, 比如这里的abs函数只有一个参数,所以可以通过 astNode.getChild(0)的方式获取到参数节点,其也为一个ASTNode对象。
semanticAnalyzer: 如果需要分析参数的类型,可以通过semanticAnalyzer.analyze(paramNode)的方式,获取到参数的类型ExpressionDataType , 通过paramExpressionDataType.getOriginDataType()可以获取参数的实际类型。
analyze方法的返回值类型即为该自定义函数的实际返回类型,比如我们已经通过semanticAnalyzer.analyze分析到了abs函数的入参类型,这里绝对值函数的返回类型就应该是入参的类型,所以直接返回paramExpressionDataType。
此外,如果返回值的类型需要自行定义,可以使用ExpressionDataType的构造方法返回一个新的数据类型,示例如下:
@Override
public ExpressionDataType analyze(ASTNode astNode, SemanticAnalyzer semanticAnalyzer) {
ASTNode paramNode = astNode.getChild(0);
ExpressionDataType paramNodeDataType = semanticAnalyzer.analyze(paramNode);
if(paramNodeDataType.isMultiSelect()){
return ExpressionDataType.ofDataType(DataType.STRING);
}else{
return ExpressionDataType.ofDataType(DataType.BIGINTEGER);
}
}
在上面的示例中,我们判断参数是否是多选(枚举、关联实体)类型,如果是多选我们返回了一个String类型的返回值,如果是单选我们返回了一个Long类型的返回值。
8.1.5.2 - 表达式组件自定义函数手册
一.静态函数定义示例
@FunctionClass
public class UdcBasicFunction {
@Function(category = FormulaFunctionCategoryEnum.Constants.TEXT, displayName = ENDSWITH_DISPLAYNAME,
description = ENDSWITH_DESCRIPTION , sort = 3)
@Parameters(value = {@Parameter(displayName = ENDSWITH_PARAM0_DISPLAYNAME, description = ENDSWITH_PARAM0_DESCRIPTION) ,
@Parameter(displayName = ENDSWITH_PARAM1_DISPLAYNAME, description = ENDSWITH_PARAM1_DESCRIPTION)})
@ReturnValue(dataType = FormulaDataTypeEnum.Constants.BOOLEAN, description = ENDSWITH_RESULT_DESCRIPTION)
public static Boolean endsWith(String str, String suffix) {
return StringUtils.endsWith(str, suffix);
}
}
二、注解含义
@FunctionClass | 表示一个自定义函数类,添加此注解的 class会被扫描和注册到表达引擎 | ||
---|---|---|---|
@Function | 表示一个自定义函数,被该注解标记的静态方法,将会注册到引擎,并可以在组件的函数列表被使用。注意:一定是静态方法 | ||
category | 函数分类,如果需要将自定义函数加入到预制函数分类,请使FormulaFunctionCategoryEnum.Constants提供的分类常量,常量说明见下文中的函数分类列表 | ||
displayName | 函数的显示名称: 比如描述一个函数名称 为"以文本结尾" | ||
description | 描述函数的用法,比如:判断文本是否以指定字符结尾,是则返回true,否则返回false | ||
terminalSupport | 函数支持的终端:ALL 前端后都支持的函数需要同时实现前端函数和后端函数 FRONTEND 仅前端函数支持,需要实现前端函数,后端仅定义函数即可 BACKEND 仅后端函数支持,需要后端定义并实现函数,前端无需实现也无法执行`` |
||
sort | 函数在表达式组件中分类下的排序,按从小到大的顺序 | ||
@Parameters | 标注在静态方法上,描述自定义函数的入参,注解其value为一个数组属性,数组的数量和顺序一定要保持和静态方法的实际参数个数、顺序一致 | ||
value | 参数数组 | ||
@Parameter | 单个参数定义注解 | ||
displayName | 参数名称,国际化规范见下文 | ||
description | 参数描述 | ||
@ReturnValue | 标注在静态方法上,对返回值进行描述 | ||
dataType | 返回值的数据类型, 使用FormulaDataTypeEnum.Constants下的常量 | ||
description | 返回值描述,国际化规范见下文 |
三、V8平台数据类型和java数据类型映射
在V8的体系中,函数定义、校验(见: 《表达式自定义函数自定义语法校验规则》) 以及字段的数据类型元数据描述都是使用: com.seeyon.boot.enums.DataType 这个枚举类。其枚举类型和java的数据类型有如下映射关系
V8数据类型 | V8数据类型描述 | java数据类型 |
---|---|---|
ATTACHMENT | 附件 | java.lang.String |
BIGINTEGER | 长整数 | java.lang.Long |
BOOLEAN | 布尔 | java.lang.Boolean |
CTPENUM | 单选枚举(注意仅单选,多选对应String类型) | java.lang.Long |
CURRENCY | 货币 | java.math.BigDecimal |
DATE | 日期 | java.util.Date |
DATETIME | 日期时间 | java.util.Date |
DECIMAL | 小数 | java.math.BigDecimal |
ENTITY | 单选实体(注意仅单选,多选对应String类型) | java.lang.Long |
INTEGER | 整数 | java.lang.Integer |
MULTILINESTRING | 多行文本 | java.lang.String |
STRING | 文本 | java.lang.String |
TIME | 时间 | java.lang.String |
OBJECT | 对象 | java.lang.Object |
四、国际化规范
1.函数分类国际化规范
在定义函数的注解@Function中 , category属性用来描述函数的分类, 该属性是一个整数code , 所以需要自定义国际化词条。目前预置的函数分类提供了以下几种:
分类编码 | 分类名称 |
---|---|
0 | 基础函数 |
1 | 系统函数(目前仅用于系统变量,函数列表中无法选择) |
2 | 日期函数 |
3 | 数学函数 |
4 | 文本函数 |
6 | 条件函数 |
8 | 聚合函数 |
9 | 变化函数 |
10 | 枚举函数 |
但是以编码可能不满用户自定义的函数分类,所以可以单独指定一个整数编码,并提取为自定义的常量(建议自定编码从100开始,避免和预制函数分类编码冲突)。同时需要在项目的 resources/i18n 目录下, 增加国际化词条, 规则如下: formula.function.category. + 自定义的函数分类编码。
formula.function.category.100=自定义函数分类
2.函数参数、返回值描述国际化规范
函数入参和返回值的国际化规范适用于 **@Function.displayName 、@Function. description、 @Parameter.displayName 、@Parameter.description、@ReturnValue.description **
比如, 静态函数定义示例中的以上属性可以抽取为国际化词条:
formula.function.endsWith.displayName=以指定文本结尾
formula.function.endsWith.description=判断一个文本是否已指定文本结果
formula.function.endsWith.param0.displayName=当前文本
formula.function.endsWith.param0.description=需要判断的文本
formula.function.endsWith.param1.displayName=结尾文本
formula.function.endsWith.param1.description=是否已该文本结尾
formula.function.endsWith.result.description=如果结尾文本结尾,则返回truy,否则返回false
词条同样需要放到 **resources/i18n 目录下 , **如果不定义国际化词条,也可以直接在注解中定义上述属性的值,表达式引擎会直接将该属性的值不经过国际化处理显示到页面。
3.函数用法描述
函数用法的定义主要是针对如图所示的场景,用于描述函数的一个具体使用案例
定义用法如下:
在手写工程的resources根目录下添加一个名为: formula-functions.xml 的文件
xml文件内容示例:
注意函数用法并没有做国际化处理,指定定义一套语言环境下的用法描述。后续版本会根据 formula-functions_en.xml 、formula-functions_zh_CN.xml 等文件后缀的方式区分国际化内容。
配置名称 | 含义 |
---|---|
<function></function> |
定义一个函数用法示例 |
<name> myFunction </name> |
对应静态函数的方法名,注意不能重复 |
<args></args> |
多个参数,没有参数可以不定义 |
<arg></arg> |
定义单个参数的具体含义 |
<tips></tips> |
整个函数在示例中的含义 |
<functions>
<!-- 函数示例配置 -->
<function>
<name>round</name>
<args>
<arg>3.14159</arg>
<arg>3</arg>
</args>
<tips>返回3.142</tips>
<link>可以忽略</link>
</function>
<functions>
8.2 - 前端源码扩展
⚠️ 注:平台提供了多层次扩展能力,组件的扩展、Iframe的嵌套等,若存在无法实现的场景和交互时,优先考虑通过扩展局部的方式实现。 这种模式下,页面的其他控件依旧可以享受平台后续迭代带来的便利。 若一旦使用了自定义页面,则后续的页面的维护只能通过代码的方式进行维护。 故,慎用!!!
1. 开发前序准备
- 使用 React.js 进行基本开发
- 对应环境的Git仓库,账号,密码(需要授权申请,找对应的负责人沟通申请)
- 基本的前端开发环境(Node,VSCode……..)
2. 开发流程
自定义页面的开发流程核心分为是五个步骤
2.1. 生成代码工程
在 低代码设计器中创建页面
- 首先进入 UDC 页面设计器. 在设计器中创建实体,以及自定义页面。
- 保存页面后,点击页面右上角 “测试” 即可进行应用发布。
- 发布成功后 生成好的 React 源码 就会上传到 GIT 仓库。
2.2. Git拉取源码
从 GIT 仓库 获取生成好的应用源代码
获取应用的源代码前,我们需要拿到应用的唯一标识“应用ID(appId)”或 “应用名称(appName)”,可通过下面图示获取
接下来我们进入 GIT 仓库, 通过 “应用名称(appName)” 找到对应的前端代码仓库,将代码克隆到本
⚠️Git的账号密码,需要单独的授权开通,故若没有账号密码,可找对应的技术负责人沟通
华为云仓库地址 : https://code.seeyoncloud.com/
运维负责人: 周龙波
2.3. 本地代码调试
2.3.1. 确定页面标识/页面URI
首先我们找到在设计器中定义的页面的 URL , 在设计器-菜单-“查看页面属性” 中 找到页面标识 页面URI
2.3.2. 确定代码目录
进入 应用源代码目录后, 就可以看到 pc/mobile 两个终端的 代码。
比如我们进入 PC 目录中 ,根据页面标识 找到 customPage.tsx 文件, 此文件就是 支持 开发者实现自定义代码的文件。
小贴士: 自定义页面/栏目 只能在 pages/xxx 目录下 加 自定义代码,避免与自动生成的代码产生冲突, 导致自定义代码被冲掉
2.3.3. 安装依赖
- 如果 调试 PC 端代码 则进入 pc 目录执行
yarn install
以便安装前端 NPM 包 - 如果 调试 Mobile 端代码 则进入 mobile 目录执行
yarn install
以便安装前端 NPM 包
2.3.4. 调整 webpack 代理
修改 webpack-params.js
的 LOCAL_RUNTIME_ENV
变量
LOCAL_RUNTIME_ENV
变量的值参考 webpack-proxy.js
中的 键
2.3.5. 本地启动
- 如果 调试 PC 端代码 则进入 pc 目录执行
yarn start
- 如果 调试 Mobile 端代码 则进入 mobile 目录执行
yarn start
启动成功后进入浏览器输入地址就可以访问了
下面是一个示例:
- 本地登录: http://localhost:3000/login
- 登录成功后,访问具体的页面:http://localhost:3000/main/portal/hh3881652103519948446/zidingyiyemian
main/portal
: 固定的主应用地址hh3881652103519948446
: 当前应用的英文名称zidingyiyemian
: 当前应用下某个具体页面的URL
2.3.6. 前后端接口交互
- 后端提供
restFull API
- 前端通过
fetch
等工具 调用restFull API
2.4. Git推送页面代码
自己添加的自定义代码 调试完成后, 重新 push
到 远程 GIT
仓库
使用正常的 GIT
提交 推送流程, 将代码推送到远程仓库中
2.5. 打包构建
回到设计态重新 点击 “发布/构建/测试” 按钮
8.3 - 实体对应的数据库、应用jar包版本
如何确认低代码平台应用中实体对应的表名是什么
对于这个问题,您只需要使用浏览器登录到环境中,新开浏览器页签,访问以下url即可查看某应用中所有的实体对应的表名称
https://{环境域名:端口}/service/udc/udc-app-info/entity-table/{appName}
例如:https://pre.seeyonv8.com/service/udc/udc-app-info/entity-table/renshiguanli4146632722591861173
如何查看当前环境某个应用的版本号以及构建的时间点
对于这个问题,您只需要使用浏览器登录到环境中,新开浏览器页签,访问以下url即可查看到该应用的jar包的版本以及构建时间
查看地址:https://{环境域名:端口}/service/{appName}monitor/jar-info
例如:https://pre.seeyonv8.com/service/renshiguanli4146632722591861173/monitor/jar-info
9 - 常见场景案例
9.1 - 三方实体场景案例
场景描述
- 列表数据来源于三方异构系统,比如请购单列表数据来源于yonBIP系统。
- 详情页面数据来源于三方异构系统,比如请购单详情数据来源于yonBIP系统。
- 实体中参照数据来源于三方系统,比如采购付款单上,关联选择请购单,请购单数据来源于三方。
运行效果
- 请购单列表
- 请购单列表穿透查看请购单详情,详情数据
- 采购付款单选择关联请购单,请购单来自yonBIP系统。
操作步骤
前提
已在集成连接模块配置好对应的集成接口。
三方系统 | 接口名称 | 接口地址 | 接口文档 |
---|---|---|---|
yonBIP | 请购单列表查询 | /yonbip/scm/applyorder/list | 请求参数:Body部分中有分页查询参数和排序参数及其动态扩展条件查询参数。 即接口支持分页查询。 返回参数:返回参数中包含分页信息及其总记录数信息,以及返回列表数据。 |
yonBIP | 请购单详情查询 | /yonbip/scm/applyorder/detail | 请求参数: 返回参数:请购单详情接口会返回请购单主信息及其请购单子表信息。 |
注意事项
- 列表查询接口重点关注是否支持分页查询、查询条件设置、排序设置,因为这意味着需要传递给三方需要查询的分页数据、查询字段、排序规则,且接口返回的列表也是符合查询条件、排序规则的当前页数据。
- 详情查询接口重点关注返回数据是否有主子孙结构数据,因为需要考虑详情单据对应子孙数据逻辑处理。
核心逻辑
- 在应用中创建同字段的三方实体;
- 创建的三方实体会自动生成需要的微流程,设计师在微流程中调用三方接口,把三方接口返回的数据输出;
- 页面上绑定三方实体的重复表查询控件会自动调用自动生成的对应微流程返回的数据展示。
第一步
-
应用添加依赖,依赖对应的集成应用。
第二步
-
新建三方实体“ 请购单 “,在对应分组下点击“ + “按钮,勾选中”第三方实体"属性。
-
新建“请购单bip"实体的字段,demo案例,仅做10个字段做演示使用。(注意:字段类型和三方接口返回类型一致,如不一致则需要做类型匹配处理)
-
如果三方实体唯一ID是文本类型,则需要再唯一列上勾选设置为”唯一”,见上图。
-
-
新建三方实体” 请购明细”,在对应分组下点击“ + “按钮,勾选中”第三方实体"属性。 说明:三方实体目前不支持子实体,所以同样是新建三方实体用来对应子实体结构,此时则需要在明细对应的三方实体中新建”请购单bip"的id字段。
-
同理新建"请购明细bip"实体的字段,添加了“请购单id"字段和”请购明细id”,并设置“请购明细id"为唯一字段。
-
如果明细需要展示行号,且三方接口有返回行号,可在明细实体中新增字段”行号"字段。
-
-
自动生成微流程
新建的三方实体会自动生成对应的微流程,进入「规则—微流程」菜单下,可见对应实体的微流程,每个三方实体会自动生成4个微流程。
- 【预制】根据ID查询{三方实体名称}
- 【预制】动态查询{三方实体名称}
- 【预制】根据ID集合查询{三方实体名称}集合
- 【预制】动态查询{三方实体名称}的总数
第三步
配置请购单列表:请购单列表数据获取会自动调用生成的微流程:【预制】动态查询请购单bip,并将该微流程的请购单列表数据给到页面。
新建请购单列表
-
进入「菜单」列表页面,以Web端为例,点击「菜单」添加按钮,添加菜单,输入菜单名称“请购单bip列表"
-
选中菜单新建页面,输入页面名称”请购单bip列表",选择页面类型为“列表类型",选择页面对应实体未”请购单bip",选择页面模板为“重复表查询"。
-
生成的页面见附图:
-
预制的”重复表查询"模板中设置了穿透查看详情页面,此时先删除的对应的重复表事件相关配置。 ①选中页面上新建按钮,在右侧属性「事件」页签中点击「删除」按钮,删除新建按钮对应的事件配置。
②选中页面上“重复表查询"控件,在右侧属性「事件」页签中对应事件点击「删除」按钮,删除新建按钮对应的事件配置,然后点击页面右上角「保存」按钮,页面保存成功
-
因为三方列表查询接口支持分页、查询条件和排序设置,按照业务需要对应设置: ①因为使用了页面模板,列表控件自动绑定了对应”请购单bip"实体,并且自动生成了部分列字段,可根据需要进行列字段的调整设置:
②启用分页
[预制]动态查询请购单bip微流程
修改【预制】动态查询请购单bip逻辑,主要在该预制微流程中添加调用yonBIP接口:请购单列表查询接口,以便从三方获取到对应的列表数据。
- 创建的请购单bip列表页面中的列表,因为配置的是”请购单bip实体",会自动调用该微流程“【预制】动态查询请购单bip"。
- 该预制微流程中,自动预制了一个节点”请购单bip的列表"变量节点,节点内容是空的,输出的时候会输出该列表,该微流程输出的列表就会直接反映到上面的“请购单bip列表"页面。 下图中结束节点输出的”分页数据",与前台“请购单bip列表"页面对应的分页数据对应,从前台列表页面点击跳转的第几页,会预制自动传递给该微流程,该微流程可获知是要查询的是第几页数据。
- 点击”编辑"按钮,编辑微流程。
-
在开始节点后添加一个”分页对象"类型变量,并把预制微流程传递的参数‘“赋值给它,以便后续可从该分页对象中获取前台页面传递的分页信息,并传递给接口。
-
三方接口查询参数是动态扩展的,我们需要组装成三方接口需要的动态查询参数。 接口文档中关于动态查询参数部分。
①创建一个动态查询参数类型的列表变量,因为接口标识是数组类型。一个查询字段是一条,多个是多条。
②组装查询条件内容:以请购单编号为例,创建一个扩展条件查询对象变量
第一个赋值参数是比较符,接口中明确的比较符是 “eq"等于。
第二个值字段需是前台列表页面客户输入的查询值,需要从前台页面传递的查询参数中获取:
前台页面传递的动态查询条件中字段的查询值:目前请通过下拉方式,即使用下图方式展开赋值,暂时不要用表达式赋值。
第三个“属性名"字段是三方接口中字段的编码:请购单编号对应的接口文档编码是code,所以field直接设置值固定为“code”。
出参名称和节点名称同步更改
③把准备好的“请购单编号查询对象"添加到”扩展条件查询列表"变量中。
注意:查询条件前台最终用户可能不会输入查询值,此时从页面上获取到的查询值是空值,如果三方查询接口对空值有自动处理,则不需要单独处理,如果三方查询接口没有做处理,则需要在逻辑中对查询空的情况添加条件处理。
在”请购单编号"查询变量前添加“分支"节点,判断”请购单编号查询值"不为空时,把“请购单查询"变量和”“修改的动态条件扩展变量““挪到不为空分支内。
④其他查询值参考”请购单编号"方式进行设置,在此不做演示。
⑤同理组装排序参数。排序参数也是列表类型动态的,如下图。
创建一个“排序对象"类型的列表变量。
创建”排序字段"类型的对象,并赋值:
添加修改列表节点,将请购单编号排序设置字段加入到排序列表变量中。
-
添加”服务”
配置入参1:页码传递,从前台列表页面的当前页数传递。
注意:V8列表传递的当前页数是从1开始,如果三方也是从1开始,则不需要处理;如果三方是从0开始,则用前台传递的当前页数减1再传递给三方接口。
配置入参2:每页记录数,从前台列表页面的当前页数传递。
说明:每页记录数需要使用从前台列表页面传递的值,是因为最终用户可能会切换每页记录数,比如从10切换为100。
配置入参3:排序字段,将组装的排序字段列表变量对应赋值。
配置入参4:排序字段,将组装的排序字段列表变量对应赋值。
-
把“请购单列表查询"接口返回的内容,解析处理。
- 可任意添加一个节点,看一下接口出参的结构。比如添加一个”分支"节点,确定结构后可删除该节点。
-
按照以上出参结构,需要创建一个同结构对象变量接收“data”。
-
添加“数据转换"节点,可一次性把请购单出参中““请购单列表”“数据转换到”请购单"实体对应的列表数据。
属性设置1:来源数据设置
属性设置2:实体对象—当前应用下—请购单bip实体。
-
”请购单列表查询"接口返回了总页数和总记录数,需要返回给到“请购单列表"页面对应的分页对象中,因为总共多少条数据,和总页数都需要三方返回。 添加”修改变量"节点,修改分页对象,把三方返回的总页数和总记录数进行更新。
总记录数设置:点击参数映射右侧输入框”+“号。
-
最后添加“修改列表"节点,把映射后的”请购单列表"数据赋值给默认的“请购单列表"变量。
-
结束节点,出参更新设置:分页对象更改设置。
[预制]动态查询请购单的总数微流程
对于三方实体”请购单列表"页面中,如果开启了统计数属性,且筛选方案设置了至少2个时,见下图属性,则该统计数的数值来源是通过调用“[预制]动态查询请购单的总数"微流程获取到的。
即如果列表没有配置筛选方案则不需要配置此微流程。
此时需要配置”[预制]动态查询请购单的总数"微流程逻辑。
-
预制节点和输入、输出内容:
点击「编辑」按钮,编辑该微流程。 入参:点击预制的节点“查询的总数"节点,按照下图操作可查看输入时”请购单bip的动态查询条件”。即筛选方案中或者列表前台页面中可以设置的查询条件。 对应返回的总数,如果前台页面有搜索条件,返回的总数会动态变化,所以有该查询条件对象。 预制“查询的总数"整数类型变量节点,同时作为结束节点的出参。
-
如三方有对应单独的查询总数的接口,则微流程配置对应查询总数的接口,如在查询列表接口中可返回总数,则调用列表查询接口得到总数。
快捷窍门:如是通过查询列表接口中可返回总数,且已经配置了”[预制]动态查询请购单bip"微流程,可直接去“预制]动态查询请购单bip"复制对应节点。 如果没有配置[预制]动态查询请购单bip微流程,则见”[预制]动态查询请购单bip微流程"部分查询条件设置部分。 注意:过滤条件要按照自己实际情况进行配置哈,此处仅为演示能力。
回到”[预制]动态查询请购单bip"微流程中,进入编辑状态,勾选“扩展条件查询列表相关节点”,见如下附图。
- yonBIP没有单独按照查询条件查询总数的接口,所以我们直接使用列表查询的接口。 添加”自定义服务"节点,配置调用“请购单列表"查询接口。
因为yonBIP列表查询接口有必填参数页面和每页条数,这里我们可以偷懒给页面和每页条数默认设置1,和20,因为该微流程仅用来查询没有切换到的筛选方案的总数。
-
接口返回数据,需要创建同结构变量进行接收。
-
把接口查询到的总数复制给预制的整数变量”查询的总数"变量。
运行效果
-
运行页面:
-
可通过日志查看微流程是否执行。
第四步
配置请购单详情页面,以便从请购单列表穿透到请购单详情页面。请购单详情页面获取会自动调用生成的微流程:【预制】根据ID查询请购单bip微流程,并将该微流程的请购单详情数据给到详情页面。
新建请购单详情页面
-
进入「菜单」列表页面,以Web端为例,在菜单“请购单bip列表"下添加详情页面。
-
请购单详情,会有请购明细,在页面上添加请购明细。 拖拽”重复表查询"控件到详情页面中。
重复表查询控件绑定“请购明细bip"实体,并设置相关属性。请购单详情查询接口中返回请购明细数据,明细无分页信息,所以控件不设置分页和对应查询内容。
说明:请购明细展示不展示子表id和主信息id,所以对应字段可设置对应隐藏字段。
因为三方实体不支持主子结构,所以请购单和请购明细是创建的两个没有关系的实体,所以可以把请购明细当成独立的三方列表去获取,只不过获取的是当前请购单详情的请购明细数据。
选中重复表查询控件,设置过滤条件为”请购单ID=页面入参.ID”,因为是从请购单列表穿透到详情页面的,所以请购单ID从列表页面传递过来。
[预制]根据ID查询请购单bip微流程
修改【预制】根据ID查询请购单bip微流程逻辑,在“请购单详情页面"中,请购单详情主信息的数据通过调用该微流程获取到。
预制微流程内容。
-
预制输入:点击编辑,通过后续节点可知晓输入内容是:实体ID,见附图。
-
预制节点:”请购单bip"变量节点,节点内容是预制是空的,类型是实体对象:”请购单bip”,同时该节点会作为输出内容。
预制输出:
配置微流程逻辑,主要在该预制微流程中添加调用yonBIP接口:请购单详情查询接口,以便从三方获取到对应的详情数据。
注意:如果三方唯一标识不是长整数类型,则不需要如下节点配置,否则需要按照如下配置进行。、
-
前提:实体上对应唯一标识字段需要设置为唯一。
-
添加节
参数入参设置:
出参描述说明:是“请购单bip"实体设置的唯一标识字段。
设置节点出参名称:
-
添加”自定义服务"节点,配置调用“请购单详情查询"接口。
-
创建同结构对象变量接收接口返回内容。
-
计划
[预制]动态查询请购明细bip微流程
补充说明(常见问题)
demo文件
9.2 - 页面场景案例
9.2.1 - 下拉控件中可选内容分组展示或者层级展示案例
场景描述
如下附图,下拉可选内容按照层级展示或者多级选择的场景需求。
场景1附图 | 场景2附图 |
---|---|
操作步骤
-
新建多级枚举
按照业务新建枚举项:
点击新建:[或直接下载导入样例数据](image/_index/dizhienmu2024-06-25 14-09-19zx.xlsx)
-
在对应的实体中新建字段,字段选择枚举类型,并绑定对应的多级枚举
-
页面上控件绑定该枚举类型字段即可
-
如果按照场景2中效果,上级数据比如”单位1、单位2、单位3"仅用作层级展示,不可选择,则找到对应下拉控件并设置属性:“必须选择末级节点"设置为开启
运行效果
9.3 - 后端组件开发案例
场景描述
在我们使用低代码平台搭建应用的过程中,常常存在不同的应用需要使用到同一个底层组件能力,这就需要使用后端自定义组件了,本案例讲了以下几个和后端自定义组件开发相关的问题:
- 如何开发一个后端组件(starter)?
- 如何将开发好的组件注册到环境中?
- 多个不同的低代码平台应用如何使用组件中提供的能力?
如何开发一个后端组件(starter)
可以参考boot-starter-demo项目编写一个starter,【下载案例】。
- 拿到此demo之后解压,可以用idea File->New->Project from Existing Sources…导入到工具中
- 导入的时候选择解压出来的pom文件即可
- 导入之后,需要根据项目实际情况配置合适的maven settings.xml确保本demo中的依赖包能够从maven仓库中拉取到
- 根据项目需要调整demo中的包路径,本demo的包路径是com.seeyon.boot.starter.demo
- 组件的pom中parent版本调整,根据项目实际情况调整boot的版本
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.seeyon</groupId>
<artifactId>boot-starter-demo</artifactId>
<version>1.0.2</version>
<packaging>jar</packaging>
<parent>
<groupId>com.seeyon</groupId>
<artifactId>boot</artifactId>
<!-- parent的版本号可以根据实际情况进行调整 -->
<version>3.9.5</version>
</parent>
<dependencies>
<dependency>
<groupId>com.seeyon</groupId>
<artifactId>boot-starter-appservice</artifactId>
</dependency>
<dependency>
<groupId>com.seeyon</groupId>
<artifactId>boot-starter-web</artifactId>
</dependency>
<!-- 根据项目实际情况可以添加其他依赖jar包 -->
</dependencies>
</project>
6、调整src/main/resources/metadata/starter_info.json
{
"name":"boot-starter-demo",
"caption":"boot-starter-demo.caption",
"basePackage":"com.seeyon.boot.starter.demo",
"type":"2"
}
name: 对应pom中
caption: src/main/resources/i18n下的一个组件名称国际化key;
basePackage:组件基础包路径;
type:{1:预制组件,2:自定义组件},项目上自定义的组件就写2;
7、在编写appService实现类的时候,注意区分接口是否要暴露为openApi,如果需要暴露为openApi,可以在方法的@AppServiceOperation注解上添加openApi = @OpenApi(isOpenApi = true)属性,需要特别注意的是依赖了当前后端组件的低代码应用的后端微流程可以直接调用组件中暴露为openApi的接口,例如:
package com.seeyon.boot.starter.demo.appservice;
import com.seeyon.boot.annotation.AppService;
import com.seeyon.boot.annotation.AppServiceOperation;
import com.seeyon.boot.annotation.OpenApi;
import com.seeyon.boot.transport.SingleRequest;
import com.seeyon.boot.transport.SingleResponse;
import com.seeyon.boot.starter.demo.api.StudentAppService;
import com.seeyon.boot.starter.demo.domain.service.StudentService;
import com.seeyon.boot.starter.demo.dto.StudentDto;
import org.springframework.beans.factory.annotation.Autowired;
/**
* Description:
* Author: weijh
* Date: 2024/11/12 10:45
*/
@AppService
public class StudentAppServiceImpl implements StudentAppService {
@Autowired
private StudentService studentService;
/**
* 根据学生姓名查询学生信息,注意openApi = @OpenApi(isOpenApi = true) 意味着这个接口开放了openApi
* @param request
* @return
*/
@Override
@AppServiceOperation(value = "学生信息", description = "通过姓名查询学生信息", returnValue = "学生信息", openApi = @OpenApi(isOpenApi = true))
public SingleResponse<StudentDto> selectStudentByName(SingleRequest<String> request) {
StudentDto studentDto = studentService.selectStudentByName(request.getData());
return SingleResponse.from(studentDto);
}
}
如何将开发好的组件注册到环境中
1、开发好组件之后,如果您有maven仓库相关权限可以使用maven deploy命令,将组件对应的版本发布到项目对应的maven仓库中。也可以本地install之后,将jar包拿给项目上的maven仓库管理员手动上传到maven仓库中。
2、登录V8环境上的system-admin账号,找到基础设置->组件管理->后端组件
3、根据组件pom中的group、artifactId、版本以及版本类型(分release版和快照版)进行组件注册
多个不同的低代码平台应用如何使用组件中提供的能力
1、在注册了组件的环境低代码平台应用组件依赖中按需添加后端组件依赖
2、应用的后端微流程或者手写代码就可以调用到组件的接口 比如在后端微流程中调用组件中的openApi接口:
9.4 - 微流程场景案例
9.4.1 - 微流程分页查询&批量更新案例
场景描述
以查询供应商数据为例:
由于供应商的数据量特别多,我们无法通过微流程一次性将所有供应商的数据查询出来,因为查询多条数据微流程节点最多只允许查询999条(其实也不建议一次从数据库中查询过多数据出来,因为那样可能会导致服务jvm内存暴增,从而导致内存溢出的情况出现),所以我们需要分页查询供应商数据,查询一页数据再更新一页数据。
分页查询、更新的逻辑是:
- 一共有几页数据,则依次从第一页查询到最后一页。
- 查询对应分页数据,则更新对应分页数据。
操作步骤
-
在新建微流程之后,新增第一个节点”查询多记录"节点,配置查询供应商实体,目的是查询满足条件的”供应商"总记录数。
-
创建一个”整数"类型的变量“分页变量1”,用来设置每页记录数,并且给一个默认值,此处我们给10,您可以根据实际场景适当调整此默认值大小。
-
创建一个“小数类型"的变量,用来计算总页数的中间变量,因为按照总记录数计算,可能最后一页记录数不够一页。
-
创建一个“分页对象类型"的变量,并设置好对应的”总记录数",“总页数",”每页记录数",为以后分页查询时使用做准备。
-
添加一个”计数循环"的节点,按照总页数进行循环,循环变量就是要查询的页码。
-
在循环中,修改“分页对象"的当前页数,值为循环对应的页码。
-
在循环中,继续添加”查询多记录"的节点,目的的是查询当前页码对应的供应商数据。
-
上一步骤查询对应页码的供应商数据后,需要更新当前页的供应商数据,则添加一个“列表循环",循环刚查出来的供应商分页数据。
-
然后在供应商列表循环中,添加”修改变量"的节点,按照规则设置单个供应商要更新的内容,比如供应商合作期限等,具体更新内容以业务实际情况为准,此处仅为演示能力逻辑更新供应商编码为“更新了供应商编码"
更新内容和更新逻辑按照业务需要进行编写,此处仅为演示更新单个信息时如何使用微流程搭建实现。
-
最后分页更新供应商列表数据,在每页的循环中进行批量更新对应页的列表数据。
-
-
为在前台可见更新效果,新建了菜单页面:
-
供应商维护列表,先准备供应商数据。
-
供应商分页更新页面,点击按钮调用进行分页数据更新。 先创建供应商列表批量更新的页面,仅为查看demo效果和进行demo操作。
准备页面规则以便调用后端微流程进行分页查询和更新操作。
-
列表上添加「}多记录批量更新」的按钮,点击按钮配置对应的执行事件。
-
运行效果
补充说明(常见问题)
demo文件
10 - 组件工具箱
10.1 - 时间轴
时间轴组件
功能描述:时间轴组件支持绑定自定义实体,并按照时间轴的样式展示实体数据。用户可以设置排序规则,以根据时间历程正序或者降序展示数据,从而让用户可以更好地理解数据的演变和发展趋势。通过时间轴组件,用户可以更直观地跟踪和管理实体的时间序列数据。
配置态说明
- 页面右侧属性配置
a. 添加节点和辅助信息,都是最多选择五个字段
b. 节点可选排序方式,默认生序
c. 节点和辅助信息都可以配置点击事件以及各自的属性(字体和图标的大小及颜色)
d. 辅助信息可配置标签,默认空,不展示
- 实体
a. 实体没有限制,按照需求选择需要展示的字段
- 使用方式
a. 直接在页面使用,选择对应实体
b. 页面的类型无限制
运行态说明
按设计态配置展示数据(类似效果图)
10.2 - 组织架构图组件
组织架构图组件
功能描述:组织架构图组件可以按照组织架构的层级关系展示部门树和机构树,并将其与组织架构实体进行绑定。这使得用户可以更清晰地了解组织内部的层级关系和各部门在组织中的位置。通过将部门和机构与组织架构实体进行绑定,用户可以轻松地了解组织中各个成员之间的关系和职责。这种展示方式有助于提高组织内部的沟通和协作效率,帮助用户更好地理解和管理组织。
组织架构图组件效果如下图所示:
配置态说明
1、 在创建的应用管理组件依赖中,搜索并添加 【组织架构图】
2、 创建相应的菜单以及页面 【页面类型选择其他,不用绑定实体】,在页面设计器中,在左侧分组基础应用控件中拖动 【组织架构图】
3、 选中本组件,右侧加载并显示出本组件的配置信息,如下图所示
4、 树类型配置项 有【机构树】【部门数】两个选项,选择以后 在运行态的数据 组织信息会按照所选、树类型进行查询和展示
5、 其他配置项均是 展示图中的节点和线条的配置,使用方可以按照客户的要求实现相应设计的配色方案
6、 该组件提供了 【导出架构图】的控件动作,在事件中选择调用即可
运行态说明
1、 【组织架构图】组件在运行态的展示是根据在设计态的配置进行渲染
2、 树的类型 通过设计态配置的树类型,查询当前组织「当前登录人所在组织」下 【部门】或者【机构】信息进行展示,
3、 如因接口异常,将展示的是模拟数据
10.3 - 通用架构图组件
功能描述:通用架构图组件可以与任意实体对象进行绑定,并基于架构图样式来展示实体数据。这种能力使得用户能够更清晰地了解实体对象之间的层级关系和相互关联,有助于更好地理解和分析系统架构。
通用架构图组件效果如下图所示:
配置态说明
1、 在创建的应用管理组件依赖中,搜索并添加 【通用架构图】
2、 创建相应的菜单以及页面,在页面设计器中,在左侧分组基础应用控件中拖动 【通用架构图】
3、 选中本组件,右侧加载并显示出本组件的配置信息,如下图所示
4、 首先选择对应实体,支持选择树形实体和非树形实体,然后选择实体字段对应架构图上字段展示,选择以后 在运行态的数据 会按照所选数据进行查询和展示
5、 其他配置项均是 展示图中的节点和线条的配置,使用方可以按照客户的要求实现相应设计的配色方案
6、 该组件提供了 【导出架构图】的控件动作,在事件中选择调用即可
运行态说明
1、 【通用架构图】组件在运行态的展示是根据在设计态的配置进行渲染
2、 如因接口异常,将展示的是模拟数据
10.4 - 股权架构图组件
1. 业务场景概述
股权架构图是将企业的控股关系通过结构化图形进行展示,并清晰地展示公司之间的股权关系和关键信息持股比例出资等关键信息。
2. 配置流程说明
序号 | 步骤 | 步骤说明 | 其他说明 |
---|---|---|---|
1 | 添加依赖组件 | 应用-依赖设置-前端组件:添加“通用架构图”组件 | |
2 | 创建实体 | 创建控股关系的主子实体 | |
3 | 页面设计 | 设计页面入参、添加单一记录,选择“公司名称”的文本实体字段;在页面添加股权架构图组件,设置控股关系属性相关规则以及配置微流程获取数据 | |
4 | 发布应用 | ||
5 | 运行态应用 | 查看股权架构图 |
3. 详细配置说明
3.1. 添加组件依赖
确定所需要的业务应用,首先通过依赖设置-组件依赖,添加搜索“股权架构图”进行添加前端组件。
1)添加组件依赖:确定所需要的业务应用,首先通过依赖设置-组件依赖,添加搜索“股权架构图”进行添加前端组件,检查确认是否为2.8.0,如果为否则选择2.8.0;
2)版本调整:如果已添加过股权架构图的应用则,直接通过版本调整进行升级调整为2.8.0;
版本调整中当期可能存在的股权架构图组件原名“来源去向图”,直接调整此组件版本即可。
3.2. 创建实体
创建实体需要创建企业信息和其股东信息的主子实体,创建实体时需要满足如下规则:
创建主实体:
主实体作为企业信息的主档案,建立以文本类型的企业名称作为企业的关键信息;后续基于主实体取查询股权关系
名称【可修改】 | 类型【固定值】 |
---|---|
企业名称 | 文本 |
创建子实体:
1)子实体为企业的股东信息,建立以文本类型的股东的名称、投资比例、出资金额作为股权架构图的展示信息;
2)股东信息数据来源于直接手动录入或者是参照主实体的企业,因为控股企业信息可能是来源于外部企业或是内部企业。
名称【可修改】 | 类型 | 备注说明 |
---|---|---|
“关联主档案” | 实体:“选择主实体”【固定关联主档案】 | 与主实体建立关联关系 |
企业名称 | 文本【固定值】 | 企业名称后续可来源于参照主实体或者手动输入 |
投资金额 | 货币【可修改】 | |
持股比例 | 小数【可修改】 |
3.3. 页面设计
1) 设置页面入参
增加页面入参“id”、“页面打开模式(参数编码固定为pageOpenMode)”,页面入参页面打开模式默认值为查看
2) 添加单一记录
页面设计时通过页面添加单一记录,单一记录添加主实体“企业名称”;此字段用于建立股权架构图的数据关系,必须添加,设计态可隐藏。
3) 添加股权架构图组件
在页面上直接拖入股权架构图组件
4) 配置控股关系及企业档案
✧ 通过【属性-控股关系】配置实体字段信息。
股东子实体:选择控股关系子实体,如示例股东信息子实体
企业名称:选择子实体“企业名称”字段
投资本金:选择子实体“投资本金”字段
持股比例:选择子实体“持股比例”字段
关联主档案字段:选择子实体“关联主档案”字段,如上述配置的“出资企业编码”
✧ 通过【属性-企业档案】配置主实体企业名称
企业名称:选择主实体的“企业名称”的值
✧ 配置微流程
配置来源微流程及目标微流程(前提需要增加两个微流程规则,匹配对应的流程id)。
后端微流程配置说明:
配置获取来源数据和获取目标数据两个后端微流程,查询获取数据。如下图所示;
配置来源数据即获取子实体股东信息的数据信息,通过设置股权关系进行过来查询来源数据;
配置目标数据即获取子实体股东信息,通过关联主实体档案的数据进行获取数据,如通过如上的出资企业编号进行过来查询
5) 配置激活节点
配置激活节点主要是为了在其运行态作为公共参数传递的接收方,用于接受当前节点的 ID。
首先通过页面-页面变量新增一个页面变量,激活节点id,如下所示:
其次,通过架构图【属性-设置】激活节点选择刚刚增加的页面变量“激活节点id”
最后,支持架构图节点事件配置,右击查看详情事件跳转到详情页,如下所示:
6) 设置架构图展示风格样式
通过【属性-设置】设置其图类型的展示,横向图或是纵向图;
通过【属性-节点/线条】设置其展示的字体大小、字体颜色、背景色、外框颜色、线条颜色等等;
7) 配置导出功能
可通过增加按钮,通过配置导出股权架构图控件动作实现架构图导出功能
8) 其他说明
如上述案例说明,通过配置事件打开上述配置的股权架构图页面即可。
3.4. 运行态效果展示
1、股权架构图运行态展示效果:
2、右键节点支持继续展开/设置中心点/查看详情:
10.5 - 步骤条组件
步骤条组件
功能描述:步骤条组件通过提供一种直观、易用的界面,帮助用户更好地理解和完成任务,支持用户按照步骤进行操作,并在每一步提供反馈和指引。通过绑定任意实体,可以将实体数据以步骤条的样式展示,还可以设置当前步骤、完成步骤、未完成步骤的“编辑”、“查看”、“锁定”事件。这些事件是与用户交互的关键点,可以用于触发各种操作和逻辑,以满足应用程序的需求。同时,它还提供了灵活性和可定制性,使得开发人员可以根据具体的应用场景和需求进行定制化开发。
配置态说明
- 实体
a. 使用该控件,需要配置两个实体-步骤条和内容区
b. 通过筛选条件过滤出想要的数据,充当步骤条数据(使用者需要提前知道需要多少步)
- 指定步骤配置项 - 用于点击步骤切换内容区域
a. 创建页面变量当前步骤(名称随意),默认0,如果不从0开始,可以在单一记录中,选择数据加载后事件,建立页面规则,给该页面变量赋值
b. 配置项选择该页面变量
- 当前步骤状态配置项 - 用于判断当前内容区是否可编辑
a. 步骤状态值: 正常:edit,只读: view
b. 创建页面变量(名称随意),默认‘edit’。
c. 如上,配置项选择该页面变量
- 切换步骤方式配置项 - 用于区分按钮还是事件触发当前步骤的改变
a. 创建页面变量(名称随意),创建选项集,编码固定,不可修改
b. 如上,配置项选择该页面变量
- 数据源中,选择对应的实体字段
- 设置 - 控件的基础配置
- 风格里设置文字大小颜色显隐以及各个步骤的状态(编辑查看和锁定)
- 内容区设置
a. 单一记录中选择实体,按照步骤区分不用字段,根据当前步骤及步骤状态,设置字段的显隐及字段状态
b. 上一步下一步,需要创建页面规则,根据点击的按钮,修改页面变量(当前步骤),改变步骤状态为编辑(edit),以及步骤方式改为按钮
c. 可以选择校验实体,触发实体字段的校验规则(比如必填等)
运行态说明
按设计态配置展示数据(类似效果图)
10.6 - 地理标注组件
地理标注组件
功能描述:地理标注组件是一个非常灵活的工具,不仅可以与资产卡片进行联动,还可以与其他任何实体进行联动。它适用于需要在地图上进行统计标记的场景,例如:展示资产数据、销售数据、监控设备分布等等。
资产地图数据场景说明:地理标注组件支持固定资产卡片与地图组件的联动,具体来说,当用户在地图上选中某个位置时,系统会自动展示该位置对应的资产卡片信息,方便用户快速了解该区域的资产情况。同时,当用户选中某张资产卡片时,系统也会自动定位到地图上相应的位置信息,帮助用户更好地理解资产分布情况。
这种灵活的联动功能使得地理标注组件在各种场景下都能够发挥出强大的作用。无论是对于企业资产管理的员工,还是对于市场调研人员或者数据分析师,地理标注组件都是一个非常实用的工具。
本组件以公司资产为例进行说明,分别在实体菜单中建立三个实体(公司信息,楼栋信息,资产信息)三者的关系见ER图:
配置态说明
- 实体层面:
● 在用本组件进行搭建前,建立一个实体,在实体字段中需要包含经度和纬度两个字段,字段类型为文本,例:ER图中楼栋信息实体
● 如果想在本组件中显示关联的子实体的个数,还需要一个字段来进行统计,例:楼栋信息中的数量字段,然后点击这个字段的高级模式,设置计算表达式,见截图,这样就可以实时计算子实体的数量,即:ER图中没动楼中资产信息实体的数量
- 页面右侧属性配置:
● 实体:选择包含经纬度的那个实体,例:楼栋信息
● 定位当前节点:
- 首先在页面层级增加页面变量,可以命名为定位ID
- 选择刚才新建的页面变量
● 标注点坐标设置
- 经度:选择实体中经度字段,例:楼栋信息中的经度
- 纬度:选择实体中纬度字段,例:楼栋信息中的纬度
● 标注点浮窗设置
- 浮窗标题:按照需求选择字段
-
总数字段:选择实体中的统计数量字段
-
总数后缀:根据需求配置,含义为数量后面的描述信息,例:项资产
● 标注点浮窗字段设置
根据需要设置浮窗里面的详细信息,可添加多列,例:见截图
-
- 可以配合其他控件使用,例如:重复表查询
● 查看详情:本组件有查看详情事件,可以实现联动效果,如:当点击查看详情的时候可以使右侧的重复表渲染当前节点的资产信息,配置说明:
-
地理标注组件增加查看详情事件,事件中可以执行刷新右侧重复表记录行为
-
右侧重复表查询控件首先绑定资产信息实体,然后增加条件进行筛选,见截图,注:本例中条件参数的ID为资产信息的父实体楼栋信息的ID,值选择之前建的页面变量定位ID,因为点击查看详情之后会地理标注组件内部会改变页面变量定位ID的值
● 查看总览:本组件有查看总览事件,可以实现联动效果,如:点击查看总览之后右侧重复表会展示所有的数据,配置如下:
● 定位功能:右侧重复表的每一行数据也可以进行定位操作,点击定位之后会定位到左侧地图的具体位置
-
重复表查询操作列增加定位按钮,然后执行页面规则,见截图:
运行态说明
● 录入数据:
本组件需要配置定位组件一起使用,在录入数据的时候可以用定位组件进行数据的录入,主要涉及到经纬度的自动录入
● 查看详情:
● 查看总览
● 查看总览
● 定位
10.7 - 组合字段树组件
组合字段树组件
功能描述:组合字段树组件支持绑定任意实体,将实体数据按照树形结构进行展示。该组件能够与重复表查询控件绑定的实体进行联动使用,实现左树右表功能。通过组合字段树,用户可以轻松地管理和查看实体数据,并对其进行操作。
配置态说明
- 页面右侧属性配置
● 添加分组字段,最多选择五个字段
● 节点可选排序方式,默认升序
● 节点可以配置字体的大小及颜色
- 节点配置项(最多五级节点)
a. 根据添加的分组字段个数创建对应的页面变量(名称随意),默认空
b. 配置项和页面变量一一绑定
- 配置事件
a. 配置单击节点事件,用于和其他控件联动,比如重复表查询
- 右侧重复表条件配置
运行态说明
按设计态配置展示数据(类似效果图)
10.8 - 业务标签组件
业务标签组件
功能描述:业务标签组件为您提供在应用中引用标签的功能,让您可以在运行时为字段添加标签。此标签组件还将记录引用对象和被引用的次数,以便于您进行后续的数据分析和统计。通过使用业务标签组件,您可以更好地追踪和管理应用中的标签使用情况,提高应用的可维护性和可扩展性。
配置态说明
- 组件配置
● 添加前端业务组件,pc端、移动端都已支持
- 页面配置(目前仅支持单一记录中使用)
● 将组件拖入单一记录中即可使用
pc端
移动端
- 组件配置
● 对该组件绑定实体字段,仅支持文本类型字段(注意:该绑定字段,需手动控制长度阈值,建议0 - 1000字符,如字段长度过短,可能出现单一记录保存失败情况)
● 风格支持设置标签文本风格、颜色、背景色
运行态说明
单一记录中效果、标签最多支持添加5条
10.9 - 征信助手组件
征信助手
征信助手的功能包括:
● 实时查询企业征信情况:用户可以在征信助手中输入企业名称或统一社会信用代码,然后立即获取该企业的征信信息。
● 携带企业征信详情到表单:在填写表单时,用户可以将企业征信详情嵌入到表单中,以便更方便地查看和引用。
● 只读状态下可以查看企业征信详情:在征信助手的“只读”状态下,用户可以点击企业名称,直接打开企业征信详情页面,查看详细的征信信息。
这些功能使得征信助手成为一种方便的工具,帮助用户快速获取和查看企业征信信息,从而提高风险评估和决策制定的效率。
配置态说明
● 该控件必须放到单一记录里,实体字段必填。
● 页面配置
○ 把控件拖到单一记录中使用,选择实体字段
○ 设置参照携带(详情数据携带到其他控件)
● 状态配置
○ 正常
■ 输入内容,点击搜索框,会弹出modal框,在弹框中查询列表数据,选择行时查询对应的详情数据,携带到设计态配置的控件中
○ 只读
■ 输入内容,点击搜索框,跳转到对应的详情页面
运行态说明
按设计态配置展示数据(类似效果图)
10.10 - 综合评分组件
综合评分
功能描述:
您可以使用拖拽功能将综合评分组件绑定到一个实体字段。通过这个组件,这种综合评分组件为用户提供了一个直观且易于使用的界面,让他们能够快速地为某个场景进行评分,同时也方便您在后续的数据处理和分析中获取所需的评分信息。
一星为数值 1,半星为0.5,满分总共是数值 5,可以根据实际的业务需求在数据实体设计中,扩展其他字段进行相关的换算。
配置态说明
1、 从应用的组件依赖中 导入 【综合评分】
2、 新建页面并绑定对应的实体对象,创建的页面中 拖入 【单一记录】然后将 【综合评分】拖入到单一记录中,并绑定【小数】类型的字段
3、 基本信息中可以对标题进行 重新命名和配置,以及对应的位置和标题的图标都可以进行相应的调整
4、 设置中则是对评分图标的的设置,默认为 ⭐️ 可以通过图标选择器进行更改,以及配置允许是否半星选择
5、 【风格】可以对标题以及图标进行相关的配色设置
6、控件提供了 【值变化事件】提供给外部使用
运行态说明
一星为数值 1,半星为0.5,满分总共是数值 5,可以根据实际的业务需求在数据实体设计中,扩展其他字段进行相关的换算。
1、根据设计态进行相关的打分操作、以及相关的操作。
10.11 - 智能比对组件
智能比对相关
智能比对应用
功能描述:负责比对功能授权、历史比对记录查询、智能比对组件基本服务
应用菜单权限:智能比对应用管理员角色,无其他角色权限
菜单功能
智能对比授权:授权用户需添加特定人才拥有比对权限
智能对比记录:存储所有应用比对的历史记录,查看历史比对结果,可对特定应用进行数据过滤
智能比对组件
注册服务
-
添加应用依赖、确保智能对比基础功能
-
添加组件依赖
配置态说明
控件使用配置
-
将智能比对组件添加至单一记录(单一记录中需包含附件字段)中,可配属性如右侧所示
-
单据id属性,为必填项,建议设置为实体中系统-id(字段需为唯一值)字段,该属性是为了区分单据的比对记录,方便查询
-
原文件件属性,为必填项。为要进行比对的原文件数据来源
-
目前文件属性,为可选项。如果配置对应附件字段,可作为比对时的目标文件选择,如没配置,比对时也可实时上传文件进行对比
微流程使用配置
-
在当前需要比对的页面新增一个页面规则,使用打开页面节点,页面需要选择智能比对-对比页面
-
参数映射如上组件配置相同
-
应用name属性,选择应用参数.应用名称
-
将该页面规则配置到页面控件事件中即可
运行态说明
-
进入到运行态页面,如原文件字段包含附件,即可可以开始比对,点击页面智能比对按钮
-
弹出智能比对弹窗,其中比对状态列,为该原文件最近比对的状态
-
选择目前文件有两种方式,可实时上传或者来源于配置的目前文件字段数据;上传文件:类型限制.pdf,.doc,.docx,.txt,.jpg,.jpeg,.png,.tiff,.tif,.bmp
-
选择文件:在对应原文件行,选择要比对的文件即可
-
开始对比,实时更新文件比对状态,抛出异常或可立即查看结果
-
比对成功的文件,可立即查看对比结果页
-
比对结果页
-
查看历史结果,入口1:智能比对页签下-单条数据厚的查看历史记录,为该原文件的历史比对记录,可再次查看比对结果
-
查看历史结果,入口2: 历史比对页签下数据为 该单据的比对历史记录,可再次查看比对结果
-
微流程通过页面打开比对页面,交互如上所述,完全一致,需确保参数正确
10.12 - 日历组件
日历组件PC端-月、周、日
功能说明:日历组件支持绑定会议室档案实体,并可以按月、按周、按日展示日历实体数 据,可自由切换三种模式,适用于会议管理等业务场景,便于用户新建会议,查看会议详情。
配置态说明
* 属性配置
a. 主实体
-
创建页面变量主实体 - 绑定自定义对象,主实体数据结构 (名称随意)
-
创建主实体的自定义对象,编码是固定格式,不能修改,名称和列表数据必填,其他字段根据需要添加,最多支持三个字段(field1、field2、field3)
-
如果实际需展示的内容和实体字段类型不同时,需创建主实体的表结构对象,id必填,编码是固定的 (id) ,例如会议室的可容纳人数是整数类型,但是页面上需要展示为可容纳(N)人,是字符串类型
-
创建微流程获取主实体, 在页面中规则调用微流程,获取数据给主实体赋值, 然后在控件初始化事件配置该页面规则
-
微流程结束里绑定查询多条数据的出参
b. 关联实体 - 选择对应的数据实体
c. 创建页面变量 - (必须)
i. 刷新区域 - 用于新建或编辑保存后刷新组件数据
ii. 当前日历类型 - 用于显示隐藏日历组件
iii. 详情ID - 点击列表数据时,提供数据id,方便弹框或页面展示数据具体信息
iv. 新建事项 - 点了列表空白时代表新建数据,需要传递当前表格对应的主实体数据id
v. 新建日期 - 如上,新建时传递表格对应的日期
vi. 开始时间 - 本月、周、日开始时间
vii. 结束时间 - 本月、周、日结束时间
d. 关联实体字段 - 按需求选择,事件字段必填
e. 筛选条件- 必填
i. 默认按本周开始时间和结束时间筛选数据
ii. 筛选条件 - 按下图配置
f. 按钮操作 - 按需求配置,默认不显示
* 事件配置
a. 按需求配置打开方式,编辑需要传入详情id,新建可以传入新增事项和新增日期
b. 按钮点击事件 - 切换到对应组件,按需配置
* 风格配置
日历按月运形态
日历按周运行态
数据如果时跨天的话,则每个单元格都要展示, 如下图 00:00 - 23:59
日历按日运形态
日历组件移动端
功能说明:日历组件支持绑定会议室档案实体,并可以按月、按周、按日展示日历实体数 据,可自由切换三种模式,适用于会议管理等业务场景,便于用户新建会议,查看会议详情。
配置态说明
- 主实体数据需要建立微流程获取(同pc端日历组件类似)
- 使用该组件按需清除页面内外边距,组件内部已有间距
- 其余设计态配置与pc端日历一致
日历运形态
日历-按日运形态
10.13 - 分组导航组件
分组导航
控件场景说明:支持通过分组导航组件直接定位到页面对应的分组位置。用户可以快速找到与特定分组相关的内容,从而提高其浏览和操作效率。这种导航方式对于复杂的页面布局特别有用,其中包含大量信息和不同的分组。通过使用分组导航组件,用户可以更加方便地浏览和操作页面内容,从而更好地理解和使用相关产品或服务。
配置态说明
- 添加组件依赖
- 添加页面控件 及 分组导航控件
注意:
- 分组导航锚点数据仅来自于当前页面下第一层分组控件,自动获取分组控件标题作为导航名称,其余控件或其他层级分组视为无效数据
- 分组导航控件脱离于其他控件,拖入页面时注意与其他控件不要有嵌套关系,仅存在于页面下
- 尽量不要拖入多个分组导航共同使用
- 设计态配置
导航可以配置页面位置(仅保持在页面右侧,可设置上中下)、背景颜色、边框属性,图标等
锚点数据可以配置背景颜色、文字颜色、图标等
以运行态效果为主
运行态说明
点击导航效果如下,点击单行数据快速定位到当前元素位置,支持快速回到顶部或底部, 失焦弹窗消失
10.14 - 归档组件
归档服务
场景说明:表单归档,将表单及附件整合至归档系统
归档单据设置菜单
说明:设置归档表单的配置,包含附件的筛选,表单字段与第三方字段的映射,主子表单归档配置
配置说明
- 选择归档接口类型:数据来源于归档接口参数菜单数据
- 选择归档应用
- 选择应用下表单(目前仅支持pc端归档功能,移动端待开发)
- 选择归档方式
说明:
单据归档为当前表单及所配置的附件文件,一起归档
附件归档仅配置的附件文件作归档动作
- 是否是辅助归档表单设置
说明:当前设置代表当前单据是否作为子单据作为归档,子单据进入归档日志系统,不会第一时间归档,而是会等待关联的主单据一起完成归档
- 归档附件字段设置
说明:该子表是负责配置当前表单哪些附件作为归档文件,当选择完表单会自动带入主实体,并查询出主实体及子实体下所有附件字段,供用户新增或删除操作,如当前归档附件字段无数据,则默认按照全部附件归档操作处理
- 归档信息字段映射
说明:该子表负责表单字段与第三方字段形成映射,作为归档的基础元数据
a. 选择映射字段:数据来源于当前选择的归档接口类型中配置
b. 选择当前主实体字段
c. 拼接序号设置:支持表单多个字段映射元数据一个字段,支持手动更改序号改变拼接顺序
d. 关联实体字段设置:如选择的字段为当前应用下实体,需指定哪个字段作为拼接字段
- 关联单据字段设置
说明:如当前表单作为主单据归档,且有子单关联,需指定字段以获取子单相关数据,日志系统会根据此设置形成关联关系
归档组件使用
配置态说明
-
添加应用依赖
-
添加组件依赖
- 将组件添加至详情页中
- 场景说明:归档功能一般作为外框上动作,在不同流程节点控制显示隐藏
a. 外框拖入占位符
b. 页面拖入一个按钮进占位符,配置点击事件触发控件动作
c. 归档控件事件:该控件支持配置归档完成后事件
d. 外框占位符容器权限控制:通过表单权限来控制外框上节点显隐
10.15 - 业务关系图组件
业务关系图
1. 业务场景概述
业务关系图主要是通过图形化的描述业务间的关系,或者业务本身的处理流程,帮助我们清晰的认识过程,正确的认识相关方/组织资源等等。比如泳道图(泳道后续迭代支持,暂无)、业务流程图、时序图、产品架构图等等,通过图形化进行组合,加以连接线、文字补充说明以及相关连链接跳转等,清晰的表现出业务的关联关系。
● 本迭代支持的业务关系图主要功能点概述
✓ 支持通用的图形、链接线的基础设置、展示风格等
✓ 支持多业务图层
✓ 图形节点支持链接,可链接到页面、业务图层以及外链接地址
2. 配置流程说明
序号 | 步骤 | 步骤说明 | 其他说明 |
---|---|---|---|
1 | 添加依赖组件 | 应用-依赖设置-前端组件:添加“业务关系图”组件 | |
2 | 页面设计 | 页面设计添加添加“业务关系图”,通过设计态进行业务关系设计 | |
4 | 发布应用 | ||
5 | 运行态应用 | 查看业务设计关系图 |
3. 详细配置说明
3.1. 添加组件依赖
确定所需要的业务应用,首先通过依赖设置-组件依赖,添加搜索“业务关系图”进行添加前端组件。
3.2. 页面设计
1) 添加业务关系图组件
页面设计时,直接将业务关系图组件
直接拖入到页面中。
2) 画布规则设置
可通过画布树形规则配置画布的宽度、高度、背景颜色以及视图切换规则。
当前版本不支持视图切换。即在运行态默认不展示多设计图层,默认仅展示默认图层。可通过配置按钮链接打开图层的方式进行切换默认图层和其他非默认图层展示。
3) 设计业务关系图
单击右侧【设计业务关系图】打开设计图的画布进行设计
支持设定图层各个节点基础的配置规则,文字大小、颜色等;
4) 配置事件行为
业务关系图的事件行为主要包含三种事件,打开页面、打开视图、打开链接,配置完成后在运行态单击对应的节点可自动跳转打开对应的事件行为。
打开页面:支持关联当前应用以及依赖应用的所有页面;
打开视图:打开视图即本次设计图层,可穿透到指定的图层;
打开链接:即打开外网链接,通过手动输入正确的外网链接地址;
3.3. 运行态效果展示
● 默认图层运行态展示
● 通过默认图层【招采平台】穿透其详细业务关系图
10.16 - 图片签章组件
图片签章
业务场景概述
图片签章组件主要针对签章和签名的业务处理,可通过调用印章管理进行实际业务签章签名得业务处理,或者直接进行手动签名得业务处理。
配置流程说明
序号 | 步骤 | 步骤说明 | 其他说明 |
---|---|---|---|
1 | 添加依赖组件 | 应用-依赖设置-前端组件:添加“图片签章”组件 | |
2 | 页面设计 | 页面设计添加单一记录,在单一记录中添加“图片签章”,绑定文本类的实体字段 | |
4 | 发布应用 | ||
5 | 运行态应用 | 查看应用签章签名 |
详细配置说明
添加组件依赖
确定所需要的业务应用,首先通过依赖设置-组件依赖,添加搜索“图片签章”进行添加前端组件。支持移动端、web端应用。
页面设计
1) 添加图片签章组件
页面设计时添加单一记录选择具体的实体,图片签章组件必须在单一记录里进行应用,将图片签章
组件拖到单一记录中。
2) 绑定实体字段
配置实体字段,通过【属性】-【字段】进行配置选择所需配置的实体字段,如选择办公用品申请实体的“部门主管签章”字段。
3) 配置印章来源
印章来源目前支持三种,印章管理、基础应用管理、手写签。
印章管理:平台印章管理,业务应用的签章,签名可来源于此处进行维护;可选择签章或者签名两种类型;
基础应用管理:应用印章管理,当前版本与印章管理的区别在于基础应用中含同第三方集成的电子签章;可选择签章或者签名两种类型;
手写签:手写签名的模式。
4) 其他属性配置
支持设置是否启密码验证,配置后再前端进行签章时需要预置的密码进行验证;
支持设定显示的按钮图标、显示内容及位置等基础属性配置
运行态效果展示
● 签名章应用效果
● 密码验证的效果
● 手写签名的效果
1)调出手写板:
2)手写确认签名
10.17 - 电子签章组件
电子签章
1. 业务场景概述
进行电子签章及签署行为的全生命周期管理,支持不同角色的前端签章管理功能,主要包括:
1、支持从E签宝实时同步电子印章,确保签署的合法性和有效性;
2、支持通过模板指定位置发起签署,提高签署效率;
3、支持将签署完成的文件获取到单据上,方便后续查阅和管理;
4、支持查看签署详情,包括签署人信息、签署时间、签署状态等。
2.参数设置
- 启用电子印章:默认集成的是"E签宝-天印"通道,进行在线电子签章;
- 如果开启电子印章,则在"印章管理"菜单,默认展示"电子印章"页签,否则不展示;
- 如果开启电子印章,则支持设置"同步频率",意思是系统自动按此默认频率从"E签宝-天印"同步电子印章信息;
3.组织人员同步
- 支持将V8系统的组织、人员同步到三方系统;
- 只有先将组织、人员信息同步到三方系统之后,才能在三方系统进行新增电子印章、给印章进行授权等;
4.印章管理
- 需要先分配对应的菜单权限
4.1印章管理-电子印章
- 需要先在"参数设置"中开启电子印章,“电子印章"页签才会展示;
- 列表数据查询:受限于"印章管理员"授权组织控制,当前登录人是印章管理员且授权对应组织后,才能看到授权组织对应的印章;
- 在线维护:直接跳转到E签宝页面,进行维护印章;
- 创建印章类型:
- 印章管理员分配
- 制作印章
- 发布
- 授权使用人
- 印章同步:支持手动同步,将E签宝的印章同步到电子印章页签
4.2印章管理-致远图片章
- 支持查看、启用、停用、注销、删除致远图片章;
- 列表数据查询:受限于"印章管理员"授权组织控制,当前登录人是印章管理员且授权对应组织后,才能看到授权组织对应的印章;
- 致远图片章可以结合"图片章"控件使用;
- 新增
4.3印章管理-物理印章
- 支持查看、启用、停用、注销、删除物理印章;
- 列表数据查询:受限于"印章管理员"授权组织控制,当前登录人是印章管理员且授权对应组织后,才能看到授权组织对应的印章;
- 新增
5.印章管理员
- 新增印章管理员,并授权对应的组织;
- 印章管理菜单中印章的查询权限,受限于此印章管理员对应授权组织的限制;
6.用印模板
- 支持给模板指定好用印位置;
- 发起签署时,关联模板后,直接发起签署,无需再指定盖章位置;
- 新增:文件只能上传PDF格式的,目前E签宝只支持此格式
- 指定位置:直接跳转到E签宝页面进行位置指定
- 位置指定之后,也支持查看、修改位置
7.设计态配置
首先介绍在线签章组件包含的功能:
- 签署信息配置
是否批量发起签署开关:根据勾选是否发起批量签署来确定当前表单将要以怎样的方式发起签署,当不打开开关则为普通签署,会发起单个任务;打开开关则为批量签署,会产生多条签署任务。
是否自动签署:当不打开开关,那么所有签署方都需手动完成签署;打开开关,内部用户在发起签署之后系统自动签署,而且在发起签署时仅支持模板用印位置方式来发起签署。
- 普通签署配置
是否子表模式发起签署:开关关闭,表示当前表单中的签署方信息都在主表中,这样在进行实体关联时要绑定主实体;开关打开:表示当前表单中的签署方信息都在子表中进行维护,所以进行实体关联时,要绑定子实体
- 选择文件
是否子表送签文件:开关关闭:表示送签文件在主表中,这种情况下只需要绑定一下主表签署文件这个配置,含义是签署流程完成之后,点击签署文件获取将要赋值的控件字段;开关打开:右图所示,表示当前表单还有一个附件列表的实体,来单独展示送签文件和签署文件,但是由于组件绑定的实体并非本附件列表的实体,所以为了不让用户单独写页面规则收集附件列表的送签文件到主实体的送签文件字段,需要绑定图中所示的四个字段,来简化用户的操作,当然这种场景用的比较少。
- 批量签署配置
是否存在相对方:开关关闭,表示只有我方单位直接发起签署,这种适合直接开证明类文件,可以配合自动签署使用;开关开启:表示有相对方,适用于公司和多个员工签订劳动合同这样的情况。
- 前端组件依赖添加"在线签章”
- 流程外框中添加"在线签章"组件
- 实体关联:需要先新增一个"签署方信息"子表,并将此子表与"在线签章"组件关联
- 过滤条件设置
- 如果签署文件不是子表,可以不开启
- 选择文件:选择签署完成的文件对应的附件字段
- 主表字段映射:
- 送签文件:选择送签文件对应的附件字段
- 流程实例ID:
{width=“5.832638888888889in”
- 任务标题:可按照需求自行设置
- 子表字段映射:
- 签署对象:需要新增一个选项集"签署对象"
注意:内部的选项值必须设置为1,外部的选项值必须设置为2
- 我方签署单位:签署方信息子表中对应的字段
- 我方签署人:签署方信息子表中对应的字段
- 相对方单位:签署方信息子表中对应的字段
- 相对方单位名称:如果相对方单位是一个实体,需要标记一下对应的相对方单位名称字段
- 相对方统一社会信用代码:需要标记一下对应的相对方单位名称字段
- 相对方签署人名称::签署方信息子表中对应的字段
- 手机号::签署方信息子表中对应的字段
- 自定义表单权限:“电子签章"按钮正常显示
- 流程节点:关联设置的表单权限
8.运行态使用
- 创建单据
- 发起签署
- 可以关联模板发起
- 确定发起
- 签署人会收到签署短信,可以点击短信链接进行实名认证后签署
- 在我的签署任务列表,也有一个待签署任务,也可以在此进行盖章
- 也可以打开流程,直接点击"在线签署”,跳转到E签宝进行盖章
- 跳转三方页面
- 在模板指定位置进行盖章
- 提交签署
- 意愿认证
- 签署完成
- 签署完成之后,可以在流程中将签署完成的文件进行获取
- 我的签署任务中,此签署任务就已完成
- 在用印日志中,可以看到此任务的状态
- 签署中日志:
签署明细:
- 签署完成日志:
签署明细:
10.18 - H5签章组件
H5-PC端签章
业务场景概述
H5签章组件的主要功能是对接E签宝和金格的H5签章能力,将三方的电子印章签署到V8表单上。通过这种方式,用户可以在V8表单上方便地使用电子印章进行签署操作,提高了签署的效率和便捷性。
配置流程说明
序号 | 步骤 | 步骤说明 | 其他说明 |
---|---|---|---|
1 | 组件依赖 | 应用-依赖设置-前端组件:添加“金格签章”组件 | |
2 | 页面设计 | 页面设计添加单一记录,在单一记录中添加金格签章”,绑定文本类的字段 | |
4 | 发布应用 | ||
5 | 运行态应用 | 维护/查看金格签章 |
详细配置说明
添加组件依赖
确定所需要的业务应用,首先通过依赖设置-组件依赖,添加搜索“金格签章”进行添加前端组件。
页面设计
1) 添加金格签章组件
页面设计时先添加单一记录选择具体的实体,再将金格组件拖到页面中即可,运行态不会显示此组件。
2) 属性设置
➢ 签章数量:配置表单上面需要进行签署章的数量。
➢ 签章keys:新增页面变量文本类型 “keys” ,配置表单上面需要进行盖章的keysn
➢ 服务端地址:新增页面变量文本类型 ,配置服务端地址
➢ 页面规则:添加页面初始化事件, 修改页面变量 keys和 服务端地址
➢ 盖章ID:新增页面变量文本类型“盖章id“,然后与此字段进行绑定。
➢ 签章1:与需要签署区的文本实体进行绑定。
3) 页面规则
新增一个“盖章”页面规则,具体设置如下:
● 新增参数
● 修改变量
● 控件动作
● 按钮绑定事件,执行页面规则
(1)找到签署区字段的唯一标识
(2)【盖章】按钮执行页面规则,需要携带签署区字段的唯一标识
运行态效果展示
➢ 点【盖章】按钮,弹出电子印章,当前用户进行选择需要的章
➢ 将电子印章签署到对应的签署区
➢ 点击图片,可以查看电子印章的签署信息和证书信息
➢ 签署区如果已经盖章,则不允许重复盖章,需要先撤销印章才行
H5-移动端签章
设计态配置
右侧属性配置和pc端一致
移动端注意点
需要在流程管理中,修改操作权限-表单权限-审批,对应的签章控件修改为正常
10.19 - 评论相关组件
评论组件
评论组件需要配合论坛应用使用
设计态配置
- 基础设置
- 选择页面控件(论坛应用发贴所需参数)
版块分类有值会查询论坛应用的版块分类,未匹配到会提示联系管理员创建该分类
版块分类只有全机构切发布人可设置发布范围或者由发布人指定发布范围时,会增加动态和固定参与部门作为发布范围参数
- 该控件有两个控件动作(发贴、评论)
运行态效果
富文本
设计态配置
需要在单一记录中使用,绑定对应实体字段(文本或多行文本)
● 基础配置
● 提供了按钮点击事件,根据需求配置
运行态效果
10.20 - 智能审查组件
智能审查
业务场景概述
智能审查应用的核心功能是与小包公的智能审查能力无缝对接。用户上传文件后,只需选择合同类型和审查立场,系统即可自动进行深度审查,并为用户提供个性化的建议。在审查过程中,系统会精准地标出文件中的高风险点和低风险点,同时给出必要的注意事项,以帮助用户更好地规避潜在风险。此外,该应用还会提供相关参考案例和法律条文,为用户提供全方位的审查支持。
配置流程说明
序号 | 步骤 | 步骤说明 | 其他说明 |
---|---|---|---|
1 | 添加依赖组件 | 应用-依赖设置-组件依赖-前端组件:添加“智能审查”组件 | |
2 | 页面设计 | 页面设计添加单一记录,在单一记录中添加“智能审查”组件,并进行对应的属性设置 | |
4 | 发布应用 | ||
5 | 运行态应用 | 维护/查看智能审查功能 |
详细配置说明
添加组件依赖
确定所需要的业务应用,首先通过依赖设置-组件依赖,添加搜索“智能审查”进行添加前端组件。
页面设计
1) 添加智能审查组件
2) 属性设置
➢ 字段:需要在组件上维护单据对应的“合同正文”字段。
➢ 单据编号:需要在组件上维护单据对应的“单据编号”字段。
➢ 合同类型:需要在组件上维护单据对应的”合同类型“字段。
运行态效果展示
➢ 合同正文:在正文中上传需要进行智能审查的文件。
➢ 输入合同类型:此处的合同类型与“基础信息应用-智能审查-合同类型”是搭配使用的,此处填写的合同类型会与“基础信息应用-智能审查-合同类型”列表的合同类型进行精确匹配,并自动对应到小包公的“审查分类”,并受到对应的权限控制。(注意:匹配规则是文字精确匹配+“基础信息应用-智能审查-合同类型”列表中合同类型为空的所有数据)
➢ 智能审查-审查合同类型:只能选到与“基础信息应用-智能审查-合同类型”列表的合同类型进行匹配的或者为空的所有合同类型。
➢ 智能审查-审查立场:选择需要进行审查的立场。
➢ 智能审查:跳转小包公页面进行审查。
➢ 智能审查:在小包公中支持直接定位原文,并支持将小包公的条款建议插入到原文中。
➢ 基础信息-智能合同-智能审查-合同类型:
- 支持将小包公的审查类型同步过来;
- 支持维护小包公审查分类与合同应用中的合同类型的对照关系;
- 支持设置授权:使用部门范围、使用人员范围;
- 支持启停用;
➢ “基础信息应用-智能审查-合同类型”是与应用的合同类型搭配使用的,将应用的合同类型会与“基础信息应用-智能审查-合同类型”列表的合同类型进行精确匹配,并自动对应到小包公的“审查分类”,并受到对应的权限控制。(注意:匹配规则是文字精确匹配+“基础信息应用-智能审查-合同类型”列表中合同类型为空的所有数据)
➢ 基础信息-智能合同-智能审查-审查日志:
- 每次审查记录信息都会写入到日志表中;
- 支持直接查看审查结果;
- 支持查看来源应用的单据;
11 - 集成连接平台
1、概述
集成连接平台是一种创新的云架构和集成连接服务,专为帮助企业实现多种应用系统和数据的无缝集成而设计。该平台基于新一代微服务和容器技术,通过无代码配置方式,将企业内部和外部的不同系统和业务流程统一连接到同一个集成平台上。使企业能够迅速实现跨系统的业务融合和数据互通,满足企业在统一组织用户管理、统一待办事项、统一消息通知、统一登录认证、统一移动办公等全场景业务融合的信息化建设需求。通过集成连接平台,企业可以大幅提升业务效率和信息化水平,实现更加智能和高效的运营。
2、平台定位
企业级一站式集成平台
开放平台:提供API管理、事件管理和接入应用管理能力;
三方能力接入:为平台应用提供开箱即用的三方能力接入;
应用连接器:提供三方应用管理、服务集成、消息集成、数据集成和单点登录集成能力;
基础集成:提供可视化组织集成、事项集成、消息集成配置能力;
3、本章节目标用户
本章节主要面向需要系统的学习集成平台的用户,逐个讲解集成平台底层能力特征。
4、集成架构图
5、微服务版本要求
微服务 | 微服务名称 | 版本号 | 更新时间 |
---|---|---|---|
cip-capability | 基础能力接入 | ≥3.5.0 | 2024年7月30日 |
cip-connector | 连接器 | ≥3.5.0 | 2024年7月30日 |
cip-convert | 集成转换 | ≥3.5.0 | 2024年7月30日 |
cip-manager | 集成管理 | ≥3.5.0 | 2024年7月30日 |
ctp-user | 用户中心 | ≥3.5.0 | 2024年7月30日 |
6、能力特征清单
11.1.1 - 组织映射
1、概述
提供公共的、跨应用共享的平台内外组织、人员映射管理,解决COP与三方应用间组织、人员标识字段不一致,但需要实现组织、人员信息交换的场景。
2、能力位置
能力路径:管理后台–>集成平台–>基础设置–>组织映射
URL相对路径:/main/backstageManage/cip-connector/mapping-config/app
3、能力特征
3.1、特征清单
功能特征 | 描述 |
---|---|
新建 | 支持用户自助新建组织映射支持新建移动插件时,自动新建组织映射(组织、人员) |
列表展示 | 支持列表展示、分页查询、模糊搜索 |
编辑/配置 | 支持用户编辑组织映射支持用户自定义外部参数列支持用户编辑参数映射内容 |
导出/导入 | 支持用户自助导出、导出映射内容 |
内容校验 | 支持用户自助刷新映射数据,过滤失效数据 |
删除 | 支持用户删除组织映射 |
清空 | 支持用户清空映射内容 |
引用记录 | 支持可视化展示当前组织映射被引用记录 |
自助更新三方用户标识 | 配置授权后,用户可以自助更新自己与三方系统间的账号映射 |
3.2、核心界面示例
4、使用场景
4.1、单点登录
当COP与三方系统间需要单点登录,且用户标识字段不统一时,使用用户映射建立用户一对一的绑定关系,登录终端包含PC端单点登录和移动端单点登录;
4.2、事项同步
当三方系统提供事项写入接口,COP负责将事项数据同步到三方系统时,可以根据用户映射,将COP用户转为三方系统可识别的用户标识。
4.3、消息同步
当三方系统提供消息接收接口,COP负责将消息数据同步到三方系统时,可以根据用户映射,将COP用户转为三方系统可识别的用户标识。
4.4、移动插件免登用户映射
移动插件新建时,自动生成用户映射和部门映射配置,数据自动写入;
4.5、组织同步自动写入用户映射数据
组织同步时,通过开启用户映射配置,用户映射数据会自动写入当前【集成应用-免登】关联的用户映射中;
4.6、用户自助更新三方用户标识
用户在前台-个人设置中,维护具体三方异构系统与COP平台用户关系,只能维护当前登录账号的用户映射。
11.1.2 - 应用参数
1、概述
提供一套公共的、跨应用共享的参数配置,包含参数启停、引用跟踪、请求地址校验等功能。
2、能力位置
能力路径:管理后台–>集成平台–>基础设置–>应用参数
URL相对路径:/main/backstageManage/cip-connector/app-register/app
3、能力特征
3.1、特征清单
功能特征 | 描述 |
---|---|
新建 | 支持用户自助新建应用参数 |
列表展示 | 支持列表展示、分页查询、模糊搜索 |
编辑/配置 | 支持用户编辑应用参数 |
删除 | 支持用户删除未引用/已经取消引用的应用参数 |
启用/停用 | 支持用户启用、停用应用参数 |
请求地址校验 | 支持请求地址域名校验 |
参数配置 | 支持自定义参数、自定义数据类型、默认值, |
引用记录 | 支持可视化展示当前应用参数被引用记录,存在引用记录时禁止删除 |
3.2、核心界面示例
4、使用场景
4.1、跨应用参数共享:
当目标系统为大型ERP系统,一个系统包含多个应用时,由于各应用体量大而拆分成多个集成应用时,就需要一套在应用间共享的应用参数,减少用户实施压力。
4.2、跨环境参数统一维护:
当跨环境导出、导入应用时,用户无需逐个进入应用,即可维护请求地址、三方应用ID、三方应用秘钥等共享参数。
4.3、应用关系在线跟踪:
当用户需要根据应用核心参数梳理应用间关系时,可以参考引用记录直接确定三方应用关系。
11.1.3 - 参数转义
1、概述
提供COP平台内部实体编码或枚举与第三方系统实体编码或枚举的转换机制。主要用于COP平台与第三方系统相互调用时的实体编码或枚举转换。
2、能力位置
能力路径:管理后台–>集成平台–>基础设置–>参数转义
URL相对路径:/main/backstageManage/cip-manager/escape-setting/app
3、能力特征
3.1、特征清单
功能特征 | 描述 |
---|---|
新建 | 支持用户自助新建参数转义 |
列表展示 | 支持列表展示、分页查询、模糊搜索 |
编辑/配置 | 支持用户编辑参数转义内容 |
删除 | 支持用户删除组织映射 |
3.2、核心界面示例
4、使用场景
4.1、外部编码自动转义为内部实体编码
UDC定制应用通过三方集成应用调用三方接口时,且参数类型为实体/枚举时,可以将入参由内部ID转义为外部编码或者内部ID转义为内部编码,出参由外部编码转义为内部编码或者外部编码转义为内部ID;
配置规则如下:
参数转义:厂商标识==集成应用:厂商标识
参数转义:产品标识==集成应用:标识
参数转义:版本号==集成应用:版本号
参数转义:应用==集成应用-接口-参数:转义应用(对应后台代码需要添加注解)
参数转义:实体/枚举==集成应用-接口-参数:转义实体(对应后台代码需要添加注解)
4.2、OpenAPI自动将外部编码转义为内部实体ID
三方系统调用开放平台OpenAPI时,可以将请求参数外部编码自动转义为内容实体ID,返回参数由内部实体/枚举ID转为外部编码;
配置规则如下:
参数转义:厂商标识==接入应用:厂商标识
参数转义:产品标识==接入应用:产品标识
参数转义:版本号==接入应用:版本号
参数转义:应用==接入应用-参数:转义应用(对应后台代码需要添加注解)
参数转义:实体/枚举==接入应用-参数:转义实体(对应后台代码需要添加注解)
11.1.4 - 数据源配置
1、概述
提供公共的、跨应用的、可视化的数据源配置配置,将数据库配置、MQ连接信息抽象到数据源配置。并提供在线测试连接功能,以便多个连接器可以公用一个数据源,同时在跨环境推送时,可以直接修改数据源,而不需要进入到各个连接器中逐一修改数据源。
2、能力位置
能力路径:管理后台–>集成平台–>基础设置–>数据源配置
URL相对路径:/main/backstageManage/cip-connector/database-config/app
3、能力特征
3.1、数据源配置
功能特征 | 描述 |
---|---|
新建 | 支持用户自助新建数据源配置 |
列表展示 | 支持列表展示、分页查询、模糊搜索 |
编辑/配置 | 支持用户编辑数据源配置 |
删除 | 支持用户删除数据源 |
启用/停用 | 支持用户按需启用/停用数据源 |
连接测试 | 支持用户在新和编辑状态时,测试数据源连接 |
3.2、数据库类型、版本支持
功能特征 | 描述 |
---|---|
MySQL | 5.7版本SQL规范 |
PostgreSQL | 13.x版本SQL规范 |
Oracle | 12c版本SQL规范 |
SqlServer | 2022版本SQL规范 |
3.3、消息队列类型、版本支持
功能特征 | 描述 |
---|---|
Kafka | 2.2.0版本连接规范 |
Rocket | 4.x版本连接规范 |
3.4、核心界面示例
4、使用场景
4.1、读写数据库
配合集成应用,提供异构数据库读写能力;
4.2、消费消息
配合集成应用,提供Kafka、Rocket消息订阅和消费能力;适用于组织同步、事项同步、消息同步
4.3、投递消息
配合集成应用,提供Kafka、Rocket消息投递能力;
11.2 - 集成应用(连接器)
1、概述
封装三方异构系统服务,使其符合COP自建应用规范,COP平台内应用可以直接调用三方应用。
2、能力位置
能力路径:管理后台–>集成平台–>三方应用集成–>集成应用管理
URL相对路径:/main/backstageManage/cip-connector/connector/app
3、能力导图
4、角色权限定义
5、能力特征清单
11.2.1 - 应用管理
1、概述
提供应用新建、复制、导出、导入、删除、发布等应用管理能力。
2、能力特征
2.1、特征清单
功能特征 | 描述 |
---|---|
新建 | 支持用户自助新建集成应用 |
列表展示 | 支持卡片列表展示、分页查询、模糊搜索 |
编辑/设计 | 支持用户编辑集成应用 |
删除 | 支持用户删除集成应用 |
分类检索 | 支持用户自定义应用分类,支持按照分类检索应用 |
导出/导入 | 支持应用跨环境导出、导入 不支持大版本导出导入 |
自定义应用图标 | 支持自定义应用图标,包含图标上传和图标库选择 |
能力开放 | 支持将三方应用接口发布到COP开放平台,使其可以复用COP接口签名规则、 COP接口授权管理。 |
扩展导入 | 支持swagger文件、postman文件自动创建集成应用 |
多类型支持 | 支持Rest接口、SOAP接口、数据库直连 |
高级设置 | 支持复用微流程编排能力扩展集成应用能力 |
复制 | 支持一键复制集成应用 |
发布 | 支持应用发布至应用中心,是三方集成应用与自建应用遵循相同的内容管理规范 |
2.2、核心界面示例
2.2.1、导出(原样导入、复制导入)
2.2.2、应用管理(新建、设计、发布、复制、导出、删除)
2.2.3、异构接口登记后,开放至开放平台
3、使用场景
3.1、跨环境导出导入
集成应用导出后,在新建页面支持原样导入和复制导入两种导入模式
原样导入:AppId不变、标识不变、名称不变、低代码定制应用依赖关系不变,BPM表单应用依赖关系不变;
复制导入:AppId重新生成、标识可修改、名称不变可修改、低代码定制应用依赖关系丢失,BPM表单应用依赖丢失;
3.2、复制备份
复制时,原集成应用不变,会重新生成一个新的集成应用,效果类似复制导入。用于备份配置、三方异构系统差异小时使用;
3.3、API登记后发布至COP开放平台
三方异构系统接口注册封装到集成应用后,开启能力开放,则会把三方异构系统接口发布至开放平台,遵循平台统一的权限管理、请求域名、安全签名,做到轻量级ESB总线能力。
11.2.2 - 接口登记
1、概述
封装三方系统接口,使其符合COP平台规范,平台内应用可以直接使用【自定义服务】形式调用。
2、能力特征
2.1、特征清单
功能特征 | 描述 |
---|---|
新建 | 支持按需新建接口 |
编辑 | 支持按需编辑接口 |
删除 | 支持按需删除接口 |
复制 | 支持按需复制接口,复制的接口名称会自动拼接“_副本",接口标识自动拼接”copy“ |
公共入参 | 支持应用内所有接口共享的公共默认入参,配置公共入参后 |
公共回参 | 支持应用内所有接口共享的公共默认回参 |
返回码 | 支持按需维护返回码和成功标识,当返回码未被标记成功时,接口会被标识失败 |
安全认证 | 根据三方系统的提供接口签名、安全认证,提供可视化配置,保证接口安全性 |
SPI扩展 | 当标准的安全认证无法满足接口需求时,实施团队可以通过SPI扩展个性化安全认证规则 |
自定义接口分组 | 支持自定义接口分组,便于接口搜索和管理 |
关键字搜索 | 支持按照接口名称模糊查询接口 |
一键展开/一键折叠 | 接口分组支持折叠和展开,提供一键展开所有分组和一键合并所有分组 |
启用/停用 | 支持接口启用/停用,COP应用将无法使用停用且发布的的接口 |
多数据类型 | 支持自定义请求数据类型和返回数据类型 |
多请求方式 | 支持POST、GET、OPTIONS |
请求地址自动拼接 | 支持完成请求地址路径 |
支持相对路径,自动拼接应用菜单下的请求地址 | |
JSON参数一键导入 | 支持通过接口请求示例和返回示例,一键导入,自动生成结构化参数定义 |
高级函数 | 支持请求参数和参会参数默认值,默认值支持高级函数配置 |
枚举转义 | 支持自定义枚举 |
参数转义 | 支持内部实体**/枚举ID与Code**自动设置 |
支持内部实体**/枚举Code与外部Code**转义设置 | |
应用参数 | 支持跨应用参数共享 |
导出时自动携带应用参数 | |
分页配置 | 支持抽象分页参数,支持UDC应用PageRequest和三方API分页参数自动映射 |
在线调试 | 支持三方API在线调试 |
WSDL接口自动生成 | 针对SOAP接口,支持通过WSDL链接一键生成接口 |
熔断保护 | 同一应用下的同一接口,如果连续错误10次,系统会判定为接口服务异常, 会自动停止当前接口的调用连接,等待10分钟后接口连接重新启用; |
支持在nacos中关闭当前熔断保护; |
2.2、核心界面示例
2.2.1、接口登记
2.2.2、分页配置
2.2.3、安全认证、接口签名鉴权
2.2.4、公共参数和返回码
3、使用场景
11.2.3 - 读写数据库
1、概述
直连三方系统数据库库,实现数据库表数据查询、写入、更新、删除等操作,使平台内应用可以直接通过【自定义服务】操作三方数据库。
2、能力特征
2.1、特征清单
功能特征 | 描述 |
---|---|
新建 | 支持新建表数据库读写配置 |
编辑 | 支持编辑表数据库读写配置 |
删除 | 支持删除表数据库读写配置 |
复制 | 支持复制表数据库读写配置 |
启用**/**停用 | 支持启用**/**停用表数据库读写配置 |
自定义条件 | 支持数据库表查询场景中,可视化配置查询条件 |
自定义结果集 | 支持数据库表查询场景中,可视化配置查询结果集 |
高级函数 | 支持默认值配置,默认值支持高级函数配置 |
共享数据源 | 支持跨应用共享数据源 |
导出时自动携带数据源配置 | |
去重 | 支持数据库表查询场景中,结果集自动去重 |
自定义分组 | 支持数据库表查询场景中,结果集分组展示 |
一键展开**/**一键折叠 | 支持一键展开所有分组**/**一键折叠所有分组 |
结果过滤 | 支持查询结果过滤筛选 |
排序 | 支持结果集排序 |
分页 | 支持分页查询 |
一键生成SQL | 支持一键生成SQL语句 |
SQL一键复制 | 支持SQL语句一键复制 |
在线调试 | 支持在线调试 |
可视化表结构 | 支持可视化字段表格 |
2.2、核心界面示例
2.2.1、选择数据源、接口登记转为数据库直连配置
2.2.2、数据直连配置
3、使用场景
11.2.4 - 事件订阅
1、概述
监听三方系统事件,并写入到COP平台内部事件中,COP应用可以通过事件监听直接获取三方系统事件内容。
2、能力特征
2.1、特征清单
功能特征 | 描述 |
---|---|
新建 | 支持新建事件订阅 |
编辑 | 支持编辑事件订阅 |
删除 | 支持删除事件订阅 |
复制 | 支持一键复制事件订阅 |
自定义分组 | 支持自定义分组名称 |
一键展开/一键折叠 | 支持一键展开所有分组/一键折叠所有分组 |
自动订阅接口 | 支持回调事件订阅接口 |
关键字搜索 | 支持通过关键字搜索事件订阅 |
启用/停用 | 支持单条时间订阅启用/停用 |
列表轮询 | 支持事件列表轮询 |
多数据类型 | 支持多种数据类型application/x-www-form-urlencoded、multipart/form-data、application/json、text/plain |
请求地址自动拼接 | 支持事件回调地址自动拼接事件标识 |
JSON参数一键导入 | 支持JSON格式请示示例一键导入,自动解析成结构化参数 |
高级函数 | 支持通过高级函数配置默认值 |
应用参数 | 支持选择应用参数作为参数默认值 |
2.2、核心界面示例
2.2.1、事件定义
3、使用场景
3.1.1、三方系统投递事件
3.1.2、低代码应用监听事件
11.2.5 - 消息队列
1、概述
支持三方消息队列数据投入和数据消费能力。
2、能力特征
2.1、特征清单
功能特征 | 描述 |
---|---|
新建 | 支持新建消息队列 |
编辑 | 支持编辑消息队列 |
删除 | 支持删除消息队列 |
复制 | 支持复制消息队列 |
自定义分组 | 支持自定义分组名称 |
一键展开/一键折叠 | 支持一键展开所有分组一键展开/一键折叠所有分组 |
关键字搜索 | 支持通过关键字搜索事件订阅 |
启用/停用 | 支持单条时间订阅启用/停用 |
JSON参数一键导入 | 支持JSON格式请示示例一键导入,自动解析成结构化消息体参数 |
高级函数 | 支持通过高级函数配置默认值 |
应用参数 | 支持选择应用参数作为参数默认值 |
独立数据源 | 支持应用外数据源配置,支持队列独立数据源替换 |
多消息体 | 支持kafka标签化消息体 |
2.2、核心界面示例
3、使用场景
3.1、低代码应用投递消息
3.2、低代码应用消费消息
11.2.6 - 应用菜单
1、概述
支持三方系统菜单、功能页面封装能力。配合单点登录能力,可以在授权后免登进入三方系统。
2、能力特征
2.1、特征清单
功能特征 | 描述 |
---|---|
新建 | 支持新建三方菜单 |
编辑 | 支持编辑三方菜单 |
删除 | 支持删除三方菜单 |
多级菜单 | 支持菜单层级接口 |
自定义图标 | 支持自定义图标 |
免登开关 | 支持启用**/**不启用单点登录菜单 |
2.2、核心界面示例
2.2.1、新建/编辑菜单
2.2.2、角标
3、使用场景
3.1、发布应用时,菜单自动发布至应用中心
11.2.7 - 单点登录
1、概述
实现COP平台单点登录跳转到三方系统。
2、能力特征
2.1、特征清单
功能特征 | 描述 |
---|---|
标准认证**-**身份认证 | 支持JIRA账号密码单点登录认证经典模式 |
用友认证**-YonBIP** | 支持用友系YonBIP单点登录认证经典模式 |
协同认证**-V5** | 支持致远系V5单点登录认证经典模式 |
标准认证**-CAS** | 支持CAS单点登录认证经典模式 |
标准认证**-OAuth2.0** | 支持OAuth2.0单点登录认证经典模式 |
关爱通认证 | 支持关爱通单点登录认证经典模式 |
263邮箱认证 | 支持263邮箱单点登录认证经典模式 |
腾讯认证**-DingKalk** | 支持腾讯系DingTalk单点登录认证经典模式 |
用友认证**-NC65** | 支持支持用友系NC65单点登录认证经典模式 |
协同认证**-V8** | 支持致远系V8单点登录认证经典模式 |
薪事力认证 | 支持薪事力单点登录认证经典模式 |
金蝶认证**-**我家云 | 支持金蝶系我家云单点登录认证经典模式 |
SPI扩展 | 经典模式不满足时,支持通过SPI扩展单点登录模式 |
用户映射 | 支持内部用户和三方用户映射配置 |
2.2、核心界面示例
2.2.1、配置单点登录
2.2.2、选择并配置用户映射
3、使用场景
3.1、单点登录效果查看
3.2、COP单点登录三方异构系统(菜单、事项详情页、消息详情页)
11.2.8 - 组织同步
1、概述
支持COP平台与三方系统间的组织、人员数据同步能力。
2、能力特征
2.1、特征清单
2.1.1、同步配置
功能特征 | 描述 |
---|---|
自定义模式 | 支持外部系统接口、事件订阅、消息队列、LDAP/AD四种同步类型 |
支持主动拉取和主动推送两种同步方向 | |
组织平移**/**挂靠 | 支持跟组织挂靠模式和跟组织平移两种模式 |
自定义同步维度 | 支持自选同步维度,机构、部门、岗位、职务、职级、人员、人员**&**任职 |
默认值 | 字段映射支持好几函数配置默认值 |
自定义业务数据路径 | 支持多层级数据结构自动解析 |
参数赋值 | 支持三方系统参数与COP平台需求参数一对一映射 |
参数映射 | 支持三方系统参数与COP平台需求参数组合映射 |
枚举映射 | 支持枚举类参数一对一映射,例如性别、员工状态等 |
动态扩展参数 | 组织模型扩展参数后,支持扩展参数间的字段映射 |
清空配置 | 支持一键凭空单维度字段映射配置 |
自定义更新字段 | 数据更新场景中,支持自定义更新字段 |
自定义任职更新策略 | 一人多岗更新数据场景中,支持自定义更新策略 |
数据过滤 | 支持数据筛选过滤 |
启用**/**停用 | 支持同步配置启用**/**停用 |
自定义同步方式 | 支持自选自动同步和手动同步方式 |
自定义同步频率 | 支持自定义同步频率 |
配置自动校验 | 保存提交时,自动校验配置 |
2.1.2、同步补偿
功能特征 | 描述 |
---|---|
新建 | 支持新建消息同步 |
编辑 | 支持编辑消息同步 |
启用/停用 | 支持消息同步启用/停用 |
删除 | 支持删除消息同步 |
多规则配置 | 支持多种同步规则同时生效 |
自定义时效 | 支持自定义补偿时效,全部数据、7天、15天、30天、60天、120天 |
自定义补偿方式 | 支持自定义补偿和手动补偿 |
自定义补偿频率 | 当补偿方式选择定时补偿时,支持自定义补偿频率 |
机构补偿 | 针对组织同步中的机构同步,进行补偿 |
部门补偿 | 针对组织同步中的部门同步,进行补偿 |
岗位补偿 | 针对组织同步中的岗位同步,进行补偿 |
职务补偿 | 针对组织同步中的职务同步,进行补偿 |
职级补偿 | 针对组织同步中的职级同步,进行补偿 |
人员补偿 | 针对组织同步中的人员同步,不包含人员任职,进行补偿 |
2.2、核心界面示例
2.2.1、参数配置
2.2.2、同步内容配置
2.2.3、自定义同步维度
2.2.4、数据过滤和绑定扩展字段
2.2.5、字段映射配置
2.2.6、运行配置
3、使用场景
11.2.9 - 事项同步
1、概述
支持COP平台与三方系统间的事项同步能力。
2、能力特征
2.1、特征清单
2.1.1、同步配置
功能特征 | 描述 |
---|---|
新建 | 支持新建事项同步 |
编辑 | 支持编辑事项同步 |
启用**/**停用 | 支持事项同步启用**/**停用 |
删除 | 支持删除事项同步 |
多规则配置 | 支持多种同步规则同时生效 |
自定义同步类型 | 支持外部系统接口、事件订阅、消息队列、关联开放API多种同步类型 |
自定义同步方向 | 支持主动推送和主动拉取两种方向 |
同步创建消息 | 支持自定义同步行为,是否同步创建消息 |
自定义业务数据路径 | 支持多层级数据结构自动解析 |
数据过滤 | 支持数据筛选过滤 |
参数赋值 | 支持三方系统参数与COP平台需求参数一对一映射 |
默认值 | 支持通过高级函数配置默认值 |
详情页单点穿透 | 支持复用应用单点登录能力,事项详情页免登打开 |
2.1.2、同步补偿
功能特征 | 描述 |
---|---|
新建 | 支持新建消息同步 |
编辑 | 支持编辑消息同步 |
启用/停用 | 支持消息同步启用/停用 |
删除 | 支持删除消息同步 |
多规则配置 | 支持多种同步规则同时生效 |
自定义时效 | 支持自定义补偿时效,全部数据、7天、15天、30天、60天、120天 |
自定义补偿方式 | 支持自定义补偿和手动补偿 |
自定义补偿频率 | 当补偿方式选择定时补偿时,支持自定义补偿频率 |
事项补偿 | 针对事项同步,进行补偿 |
2.2、核心界面示例
2.2.1、选择同步模式
2.2.2、配置信息(选择接口、执行频率、是否同步生成消息)
2.2.3、字段映射
3、使用场景
11.2.10 - 消息同步
1、概述
支持COP平台与三方系统间的消息数据同步能力。
2、能力特征
2.1、特征清单
功能特征 | 描述 |
---|---|
新建 | 支持新建消息同步 |
编辑 | 支持编辑消息同步 |
启用**/**停用 | 支持消息同步启用**/**停用 |
删除 | 支持删除消息同步 |
多规则配置 | 支持多种同步规则同时生效 |
自定义同步类型 | 支持外部系统接口、事件订阅、消息队列、关联开放API多种同步类型 |
自定义同步方向 | 支持主动推送和主动拉取两种方向 |
自定义业务数据路径 | 支持多层级数据结构自动解析 |
数据过滤 | 支持数据筛选过滤 |
参数赋值 | 支持三方系统参数与COP平台需求参数一对一映射 |
默认值 | 支持通过高级函数配置默认值 |
详情页单点穿透 | 支持复用应用单点登录能力,事项详情页免登打开 |
2.2、核心界面示例
2.2.1、选择同步模式
2.2.2、配置信息(选择接口、执行频率)
2.2.3、字段映射
3、使用场景
11.2.11 - 监控日志
1、概述
支持应用内使用日志可视化展示能力。
2、能力特征
2.1、特征清单
功能特征 | 描述 |
---|---|
接口调用日志 | 接口调用、调试日志 |
事件回调日志 | 事件回调日志 |
免登日志 | 终端单点登录日志 |
队列日志 | 消息队列投递和消费日志 |
组织同步明细日志 | 组织同步明细行日志,精确到每一条数据 |
事项同步日志 | 事项同步日志,记录单次同步成功数量 |
消息同步日志 | 消息同步日志,记录单次同步成功数量 |
同步补偿日志 | 同步补偿日志 |
2.2、核心界面示例
2.2.1、接口调用日志
2.2.2、事件监听日志
2.2.3、消息队列日志
2.2.4、单点登录日志
2.2.5、组织同步日志
2.2.6、事项同步日志
2.2.7、消息同步日志
2.2.8、同步补偿日志
3、注意事项
3.1、由于日志采用异步计入,所以会有延迟展示,最多延迟5分钟;
11.3.1 - API手册
1、概述
展示COP平台所有OpenAPI和应用错误码信息。
2、能力特征
功能特征 | 描述 |
---|---|
API手册 | 场景化API清单 |
在线接口文档 | 提供免登陆在线接口文档,包含接口描述、基础 |
3、使用场景
3.1、场景化接口清单
提供基于场景的API清单,便于特定场景的API查看。
4、平台错误码
错误码 | 错误码说明 |
---|---|
OPEN_GATEWAY_1000 | 调用开放api异常 |
OPEN_GATEWAY_1002 | token无效或者已过期 |
OPEN_GATEWAY_1004 | 请求参数不是合法的json |
OPEN_GATEWAY_2004 | 应用访问API次数过多,目前暂无可用次数 |
OPEN_GATEWAY_3000 | 无权访问该接口 |
OPEN_GATEWAY_3001 | 访问路径不对 |
OPEN_GATEWAY_4000 | 缺少签名参数 |
OPEN_GATEWAY_4001 | 缺少appKey |
OPEN_GATEWAY_4002 | 缺少requestId |
OPEN_GATEWAY_5000 | 无效的签名 |
OPEN_GATEWAY_5001 | 无效的appKey |
OPEN_GATEWAY_5002 | 非法时间戳 |
OPEN_GATEWAY_5006 | 无效的IP |
OPEN_GATEWAY_5008 | 无权访问指定数据 |
OPEN_GATEWAY_6000 | 应用未上线 |
OPEN_GATEWAY_6001 | 请求URL非法 |
OPEN_GATEWAY_6002 | API尚未启用 |
OPEN_GATEWAY_6003 | 不允许跨租户访问数据 |
BPM_2136 | 通过根实体{0}找到多个流程模板 |
UDC_DEDUCTION_RULE_0001 | 来源实体已绑定关系图:{0} |
UDC_DEDUCTION_RULE_0002 | 来源实体版型不是单据 |
UDC_DEDUCTION_RULE_0003 | 目标实体版型是单据 |
UDC_DEDUCTION_RULE_0004 | 关系图形定义json格式化错误 |
UDC_DEDUCTION_RULE_0005 | 关系图形下存在扣减规则 |
UDC_DEDUCTION_RULE_0006 | 来源实体id为空 |
UDC_DEDUCTION_RULE_0007 | 规则编码重复 |
UDC_DEDUCTION_RULE_0008 | 关系图形定义连线中存在首尾为同一个实体的连线,重复实体为:{0} |
UDC_DEDUCTION_RULE_0009 | 参与算法的目标字段不是目标末级实体字段 |
UDC_DEDUCTION_RULE_0010 | 非法字段:{0} |
UDC_DEDUCTION_RULE_0011 | 不是数值类型字段 |
UDC_DEDUCTION_RULE_0012 | 规则中实体体系不合法 |
UDC_DEDUCTION_RULE_0013 | 单据状态:{0},未绑定算法 |
UDC_DEDUCTION_RULE_0014 | 检查规则中目标实体只能是末级实体 |
UDC_DEDUCTION_RULE_0015 | 固定值属性为空 |
UDC_DEDUCTION_RULE_0016 | 常量对应的数据类型:{0}与属性值:{1}不一致 |
UDC_DEDUCTION_RULE_0017 | 不支持的数据类型:{0} |
UDC_DEDUCTION_RULE_0018 | 目标字段:{0},数据类型:{1},与来源字段:{2},数据类型:{3}不匹配 |
UDC_DEDUCTION_RULE_0019 | 扣减规则{0}已正式发布,无法删除! |
UDC_DEDUCTION_RULE_0020 | 目标字段:[{0}] 常量查找方式,来源为空! |
SCHEDULE_0000 | 不支持在当月其他日期指定“l”和“lw”。 |
SCHEDULE_0001 | 不支持在一周中的其他日期指定“l” |
SCHEDULE_0002 | 不支持指定多个“n”天。 |
SCHEDULE_0003 | 表达式意外结束。 |
SCHEDULE_0004 | 不支持同时指定星期几和月日参数。 |
SCHEDULE_0005 | cron表达式格式非法 |
SCHEDULE_0006 | 月值无效 |
SCHEDULE_0007 | 无效的星期日值 |
SCHEDULE_0008 | 介于1和5之间的数值必须跟在“%23”选项后面 |
SCHEDULE_0009 | 此位置的非法字符 |
SCHEDULE_0010 | “?”后的字符非法 |
SCHEDULE_0011 | ‘?’ 只能为月日或周日指定。 |
SCHEDULE_0012 | ‘?’ 只能为月日或周日指定。 |
SCHEDULE_0013 | “/”后面必须跟一个整数。 |
SCHEDULE_0014 | 字符串意外结束。 |
SCHEDULE_0015 | 与最后一天的偏移量必须<=30 |
SCHEDULE_0015 | 与最后一天的偏移量必须<=30 |
SCHEDULE_0015 | 与最后一天的偏移量必须<=30 |
SCHEDULE_0017 | 递增 |
SCHEDULE_0018 | 星期几值必须介于1和7之间星期几值必须介于1和7之间 |
SCHEDULE_0019 | ‘L’ 选项在此处无效 |
SCHEDULE_0020 | ‘W’ 选项在此处无效 |
SCHEDULE_0021 | 如果值大于31(一个月内的最大天数),“w”选项没有意义 |
SCHEDULE_0022 | ‘#’ 选项在此无效 |
SCHEDULE_0023 | 介于1和5之间的数值必须跟在“%23”选项后面 |
SCHEDULE_0024 | ‘/’ 后面必须跟一个整数。 |
SCHEDULE_0025 | 意外字符 |
SCHEDULE_0026 | 之后 |
SCHEDULE_0027 | 分钟和秒值必须介于0和59之间 |
SCHEDULE_0028 | 小时值必须介于0和23之间 |
SCHEDULE_0029 | 日值必须介于1和31之间 |
SCHEDULE_0030 | 月份值必须介于1和12之间 |
SCHEDULE_0031 | 星期几值必须介于1和7之间 |
SCHEDULE_0032 | 开始年份必须小于停止年份 |
SCHEDULE_0033 | 遇到意外类型 |
UDC_DATAFLOW_CONVERT_0002 | 类型转换需要配置来源和目标数据类型 |
UDC_DATAFLOW_CONVERT_0001 | 不支持的数据类型转换! |
UDC_DATAFLOW_1001 | 当前选择的生单规则下包含映射规则定义,不能删除! |
UDC_DATAFLOW_1002 | definition 属性的数据格式不是有效的json格式! |
UDC_DATAFLOW_1003 | 生单规则图中{0}实体已经不存在,请清理之后再执行此操作 |
UDC_DATAFLOW_1004 | 生单规则{0}已正式发布,无法删除! |
UDC_DATAFLOW_0003 | {0} 不能为null! |
UDC_DATAFLOW_0004 | 您设置的从{0}字段【{1}】拷贝到{2}字段【{3}】不正确,字段类型不一致! |
UDC_DATAFLOW_0007 | 【{0}】实体所在区域来源实体字段不属于同一个体系! |
UDC_DATAFLOW_0008 | 【{0}】实体所在区域目标实体数据查找条件设置有误,请检查并修正! |
UDC_DATAFLOW_0009 | 事件订阅类型映射规则需要选择事件! |
UDC_DATAFLOW_0010 | 映射规则中目标实体不能重复选择! |
UDC_DATAFLOW_0011 | 目标实体关键字段必须包含主实体字段! |
UDC_DATAFLOW_0012 | 目标实体关键字段必须参与映射! |
UDC_DATAFLOW_0013 | 当前应用下映射规则编码不能重复! |
UDC_DATAFLOW_0014 | 回写规则设置的来源实体【{0}】没有参与映射规则设置! |
UDC_DATAFLOW_0015 | 回写规则设置的映射到来源字段【{0}】的字段或者表达式不是映射规则中当前实体映射到的实体字段 |
UDC_DATAFLOW_0016 | 【{0}】实体映射区域目标实体数据查找条件的来源字段或目标字段所属实体不在同一个体系! |
UDC_DATAFLOW_0017 | 保存之后会存在循环映射,路径:{0},请检查并修改! |
UDC_DATAFLOW_0018 | 【{0}】实体回写区域目标实体字段不是同一个体系! |
UDC_DATAFLOW_0019 | 【{0}】实体所在区域目标实体字段【{1}】存在重复! |
UDC_DATAFLOW_0020 | 【{0}】字段不支持参与映射,请修改! |
UDC_DATAFLOW_0021 | 【{0}】字段不支持参与条件,请修改! |
UDC_DATAFLOW_0022 | 映射规则中回写规则来源实体不能重复! |
UDC_DATAFLOW_0023 | 回写规则【{0}】实体所在区域来源实体字段【{1}】存在重复! |
UDC_DATAFLOW_0024 | 【{0}】实体映射区域目标实体数据查找条件的目标字段需要是当前区域实体和聚合根实体之间的实体字段 |
UDC_DATAFLOW_0025 | 映射规则中存在有目标实体到聚合根实体之间没有参与映射的实体 |
UDC_DATAFLOW_0026 | 您设置的从{0}字段【{1}】拷贝到{2}字段【{3}】不正确,绑定的{4}不一致 |
UDC_DATAFLOW_0027 | 您设置的从{0}字段【{1}】拷贝到{2}字段【{3}】不正确,绑定的实体不一致 |
UDC_DATAFLOW_0028 | 【{0}】字段映射方式错误 |
UDC_DATAFLOW_0029 | {0}不支持当前映射方式 |
UDC_DATAFLOW_0030 | 【{0}】字段不支持当前映射方式 |
UDC_DATAFLOW_0031 | 只有新建类型映射规则的回写时机才可以选择目标新增时 |
UDC_DATAFLOW_0034 | 拆单字段必需是拆行实体下的字段 |
UDC_DATAFLOW_0035 | 数据类型为数字的才能设置拆单字段 |
UDC_DATAFLOW_0039 | 【{0}】版型实体不支持参与生单规则 |
UDC_DATAFLOW_0041 | 拆行实体只能是来源实体的主和子实体 |
UDC_DATAFLOW_0042 | 拆单字段必需参与映射 |
UDC_DATAFLOW_0043 | {0}已不存在,请检查并修改后再执行此操作 |
UDC_DATAFLOW_0044 | 映射规则的目标实体必须是当前应用 |
UDC_DATAFLOW_0045 | 普通应用只能建立应用内的映射规则 |
UDC_DATAFLOW_0046 | 表单应用只能建立当前应用和依赖应用的映射规则 |
UDC_DATAFLOW_0047 | 【{0}】实体元数据有缺失,请修改一下实体内任意信息,以便重新更新下元数据中心数据 |
UDC_DATAFLOW_0048 | 映射规则表达式中的实体信息有误,请检查并重新设置 |
UDC_DATAFLOW_0049 | 映射规则表达式中的字段信息有误,请检查并重新设置 |
UDC_DATAFLOW_0050 | 目标实体关键字映射方式为计算公式时,表达式中不能包含目标实体字段 |
UDC_DATAFLOW_0051 | 字段【{0}】为多选实体字段不能映射到单选实体字段 |
UDC_DATAFLOW_0052 | 字段【{0}】为多选{1}字段不能映射到单选{2}字段 |
UDC_DATAFLOW_0053 | 事件订阅类型映射规则来源实体查找条件不能为空 |
UDC_DATAFLOW_0054 | 事件订阅类型映射规则来源实体查找条件中实体信息有误 |
UDC_DATAFLOW_0055 | 事件订阅类型映射规则来源实体查找条件中字段信息有误 |
UDC_DATAFLOW_0056 | 字段【{0}】为多选附件字段不能映射到单选附件字段 |
UDC_DATAFLOW_0057 | 回写时机单选目标更新时,才可以设置旧值参与表达式 |
UDC_DATAFLOW_0058 | 【{0}】字段固定值设置有误 |
UDC_DATAFLOW_0059 | 【{0}】实体映射区域来源实体设置了拆行实体子孙实体参与映射 |
UDC_DATAFLOW_0060 | 手工触发映射规则来源实体列表方案参数有误 |
UDC_DATAFLOW_0061 | 列表方案条件字段不在选择实体中 |
UDC_DATAFLOW_0062 | 列表方案条件字段数据类型不正确 |
UDC_DATAFLOW_0063 | 列表方案显示列必需包含拆单字段 |
UDC_DATAFLOW_0064 | 列表方案可选实体为参与映射规则的所有实体,及其与根实体之间的所有实体(包含根实体) |
UDC_DATAFLOW_0065 | 来源实体列表方案显示字段不存在 |
UDC_DATAFLOW_0066 | 来源实体列表方案选择实体不是一个体系 |
UDC_DATAFLOW_0067 | 来源实体列表方案选择实体不连续 |
UDC_DATAFLOW_0068 | 来源实体列表方案排序字段不存在 |
UDC_DATAFLOW_0069 | 来源实体列表方案排序字段不是主表字段 |
UDC_DATAFLOW_0070 | 来源实体列表方案条件字段不存在 |
UDC_DATAFLOW_0071 | 新建数据、新建或更新数据类型生单规则,需要选择PC端目标详情页面。 |
UDC_DATAFLOW_0073 | 新建数据、新建或更新数据类型生单规则,需要选择移动端目标详情页面。 |
UDC_DATAFLOW_0074 | {0}实体的必填字段:{1}必需参与映射 |
UDC_DATAFLOW_0075 | 【{0}】映射区域中参与映射条件的来源实体必需是当前映射区域来源实体范围内 |
UDC_DATAFLOW_0076 | 列表方案显示字段不是选择实体下的字段 |
UDC_DATAFLOW_0077 | 列表方案选择的实体不存在 |
UDC_DATAFLOW_0078 | 来源实体列表方案搜索字段不存在 |
UDC_DATAFLOW_0079 | 列表方案搜索字段不是选择实体下的字段 |
BOOT_3006 | License无此功能授权 |
UDC_MICROFLOW_RUNTIME_0001 | {0} |
UDC_MICROFLOW_RUNTIME_0002 | 连接器节点执行失败!status:{0},code:{1},message:{2} |
UDC_MICROFLOW_RUNTIME_0003 | [{0}] 是必填的 |
UDC_MICROFLOW_RUNTIME_0004 | 映射值类型转换失败,微流程执行中止! |
UDC_MICROFLOW_RUNTIME_0005 | 未实现的自定义微流程 |
CIP_CUSTOM_2001 | 集成应用名称已存在 |
CIP_CUSTOM_2002 | 重试操作失败 |
SERIALNUMBER_1000 | 流水号Key值不能为空 |
SERIALNUMBER_1001 | 新设置的当前值应大于等于原有的当前值 |
SERIALNUMBER_1002 | 编码规则编码或者名称不能为空 |
SERIALNUMBER_1003 | 流水段不允许删除 |
SERIALNUMBER_1004 | 当前值长度不能超过流水号长度 |
SERIALNUMBER_1005 | 编码规则创建失败 |
SERIALNUMBER_1006 | 补位符号设置有误 |
SERIALNUMBER_1007 | 当前值不能为空 |
SERIALNUMBER_1008 | 流水段有且只能有一段 |
SERIALNUMBER_1009 | 无流水依据时,设置的当前值不能小于1,不能大于99999 |
SERIALNUMBER_1010 | 设置的当前值不能小于1,不能大于99999 |
SERIALNUMBER_1011 | 设置的当前值不能小于已流水的值 |
SERIALNUMBER_1012 | 有流水依据的不可以用此接口生成空号 |
SERIALNUMBER_1013 | 规则编码不允许重复 |
SERIALNUMBER_1014 | 分段值不允许为空 |
SERIALNUMBER_1015 | 分段值超长 |
SERIALNUMBER_1016 | 流水段长度必须大于0 |
SERIALNUMBER_1017 | 流水段个数介于1和6之间 |
SERIALNUMBER_1018 | 预制流水号不允许删除 |
SERIALNUMBER_2001 | 规则ID不能为空 |
SERIALNUMBER_2002 | 请输入非负的整数进行查询 |
SERIALNUMBER_2003 | 开始值不能小于结束值 |
SERIALNUMBER_2004 | 开始值或结束值要介于1和100000之间 |
SERIALNUMBER_2005 | 和预留号(段)[{0}]重复,请修改 |
SERIALNUMBER_3001 | 编码规则[{0}]已停用 |
SERIALNUMBER_3002 | 编码规则[{0}]生成流水号,缺少必要段{1}的值 |
SERIALNUMBER_3003 | 编码规则[{0}]流水号溢出,请重新设置流水段长度 |
SERIALNUMBER_3004 | 流水生成失败:流水依据字段【{0}】不能为空. |
BASIC_0001 | 数据不存在 |
BASIC_0002 | 必填项【{0}】为空 |
BASIC_0003 | 单次查询最大限制【{0}】条 |
CIP_MOBILE_0001 | 未启用微协同 |
CIP_MOBILE_0002 | 部门用户 没权限开启 |
CIP_MOBILE_0003 | 三方配置不存在 |
CIP_MOBILE_0004 | 重复的接入应用名称 |
CIP_MOBILE_0005 | 重复的同步机构数据 |
CIP_MOBILE_0006 | 配置不正确或者未开启必要权限 |
CIP_MOBILE_0007 | 应用发布失败 |
CIP_MOBILE_0008 | 重复的AgentID配置 |
CIP_MOBILE_0009 | 重复的AppKey配置 |
CIP_MOBILE_0010 | 重复的AppID配置 |
CIP_MOBILE_0011 | 重复的同步方案名称 |
CIP_MOBILE_0012 | 重复的模板配置 |
CIP_MOBILE_1001 | 部门未创建 |
CIP_MOBILE_1002 | 请填写正确的corpId |
CIP_MOBILE_1003 | 所选组织无数据 |
CIP_MOBILE_1004 | 正在导出中 |
CIP_MOBILE_2001 | 重复的小程序版本号 |
CIP_MOBILE_2002 | 授权结果查询失败 |
CIP_MOBILE_2003 | 已存在未通过审核的版本 |
PLUGIN_0001 | 同名插件已经存在,请更换名称 |
PLUGIN_0002 | 连接器不存在 |
PLUGIN_0003 | 不允许修改连接器 |
PLUGIN_0004 | 内部用户/外部用户已经配置 |
PLUGIN_0005 | 待办不存在或者调用待办中心接口出错 |
PLUGIN_0006 | 执行连接器动作出错!原始错误:{0} |
PLUGIN_0007 | 获取外部组织树失败 |
PLUGIN_0008 | 参数【{0}】不合法 |
PLUGIN_0009 | 名称已存在 |
PLUGIN_0010 | 超过用户映射列数量上限,自定义列最多6 |
PLUGIN_0011 | 默认岗位和职务必须属于同一组织 |
PLUGIN_0012 | 插件外部值不允许重复 |
PLUGIN_0013 | 插件已经存在同名的能力 |
PLUGIN_0014 | 用户不存在 |
PLUGIN_0015 | 插件不存在 |
PLUGIN_0016 | 插件导入失败 |
PLUGIN_0017 | ldap 执行失败 |
PLUGIN_0018 | 连接器事件只能绑定一次,该连接器事件已经被绑定。 |
PLUGIN_0019 | NC数据解析异常。 |
PLUGIN_0020 | 查询元数据失败 |
PLUGIN_0021 | 查询用户映射信息失败,原始错误:{0} |
PLUGIN_0022 | 插件当前已被禁用,操作无法继续 |
PLUGIN_0023 | 用户映射信息不完整 |
PLUGIN_0024 | 用户映射导入正在进行,请稍后再试 |
PLUGIN_0025 | 检索结果过多,请优化检索条件 |
ENTITY_EXPR_0001 | 表达式运行态实体上下文组装,参数为空 |
ENTITY_EXPR_0002 | 未获取到聚合根实体 |
UDC_FORM_0001 | 获取元数据{0}失败 |
UDC_FORM_0002 | 方法调用失败:{0} |
UDC_FORM_0003 | 上传前端资源失败:{0} |
UDC_FORM_0004 | 菜单资源加载失败 |
VOUCHER_0001 | 获取外部系统访问token失败 |
VOUCHER_0002 | 无法连接三方凭证系统 |
VOUCHER_0003 | 调用三方凭证系统失败。原始错误码:{0},错误描述:{1} |
VOUCHER_0004 | 每个组织/部门只能映射一个会计主体 |
VOUCHER_0005 | 该流程已经配置凭证映射 |
VOUCHER_0006 | 凭证当前状态不支持此操作 |
VOUCHER_0007 | 科目已经映射成其它外部科目 |
VOUCHER_0008 | 获取凭证的实体数据失败 |
VOUCHER_0009 | 名称或者编号已经被占用 |
VOUCHER_0010 | 数据同步不能并发执行 |
VOUCHER_0011 | NC服务异常 |
VOUCHER_0012 | 该模板编号的凭证设置已有记录,不可重复录入 |
VOUCHER_0013 | 科目不可重复 |
VOUCHER_0014 | 制单人没有做人员映射 |
VOUCHER_0015 | 每条单据都必须是保存态才能进行合并 |
VOUCHER_0016 | 每条单据所绑定的凭证插件必须相同 |
VOUCHER_0017 | 每条单据的账簿和凭证类型都应相同 |
VOUCHER_0018 | 凭证插件ID是查询必需条件 |
VOUCHER_0019 | 获取流程实体数据失败 |
VOUCHER_0020 | 凭证合并必须最少两条数据 |
VOUCHER_0021 | 调用NC凭证接口异常:{0} |
VOUCHER_0022 | 参与合并的凭证有的已生凭 |
VOUCHER_0023 | 没有找到此流程的凭证设置 |
VOUCHER_0024 | 调用BPM获取流程详情失败 |
VOUCHER_0025 | 暂不支持该辅助核算项同步 |
VOUCHER_0026 | 科目映射不支持特殊符号 |
VOUCHER_0027 | 凭证初始化数据错误 |
VOUCHER_0028 | 访问地址不在白名单中 |
UDC_COMMON_0003 | {0} |
BOOT_0000 | 成功 |
BOOT_1000 | 业务异常 |
BOOT_2000 | IO错误 |
BOOT_3000 | 系统错误 |
BOOT_4000 | 数据库错误 |
BOOT_5000 | 未知异常 |
BOOT_1001 | 参数错误 |
BOOT_1002 | 请求重复 |
BOOT_1003 | 未认证 |
BOOT_1004 | 对不起,你没有资源访问权限! |
BOOT_1005 | 不支持该操作 |
BOOT_1006 | Token无效 |
BOOT_1007 | 幂等参数不合法 |
BOOT_1008 | 序列号溢出 |
BOOT_1009 | 枚举不允许变更 |
BOOT_1010 | 配置错误 |
BOOT_1011 | 已过期 |
BOOT_1012 | Token过期 |
BOOT_1013 | CSRF 认证失败 |
BOOT_1014 | 租户不正确 |
BOOT_1015 | 请求参数的长度不能超过{0} |
BOOT_2001 | 网络通信异常 |
BOOT_3001 | 系统限流 |
BOOT_3002 | JSON反序列化错误 |
BOOT_3003 | 系统降级 |
BOOT_3004 | License不合法 |
BOOT_3005 | License限制 |
BOOT_3006 | License无此功能授权 |
BOOT_3006 | License无此功能授权 |
BOOT_4001 | 事务异常 |
BOOT_4002 | 数据不存在或无权限查看 |
BOOT_4003 | 数据不唯一 |
BOOT_4004 | 约束异常 : {0} |
BOOT_4005 | 乐观锁校验异常 |
BOOT_4006 | 数据库字段类型错误 |
BOOT_4007 | 对象被使用 |
BOOT_4008 | PageSize设置超长 |
BOOT_4013 | 文件大小不能超过{0} |
BOOT_5001 | RPC 调用异常 |
BOOT_6001 | 第三方HTTP调用异常 |
BOOT_7001 | 跨环境迁移导出异常 |
BOOT_7002 | 跨环境迁移导入异常 |
BOOT_7003 | 跨环境迁移获取聚合根为空 |
BOOT_8000 | 应用加载中,请稍后重试! |
UDC_DATATYPE_0001 | 长度不能小于0。 |
UDC_DATATYPE_0002 | 长度设置错误。 |
UDC_DATATYPE_0004 | 最大值不能小于最小值。 |
UDC_DATATYPE_0005 | 最小值取值太小,允许的最小值为{0}。 |
UDC_DATATYPE_0006 | 最大值取值太大,允许的最大值为{0}。 |
UDC_DATATYPE_0007 | 默认值超出设定精度 |
UDC_DATATYPE_0008 | 默认值超出设定长度 |
UDC_DATATYPE_0009 | 精度超出设定长度 |
UDC_DATATYPE_0010 | 默认值格式不正确:{0} |
UDC_DATATYPE_0011 | 默认值超出取值范围。{0} |
UDC_DATATYPE_0012 | “{0}“字段最大/最小值超出范围 |
UDC_DATATYPE_0013 | {0}关联属性设置错误 |
UDC_DATATYPE_0014 | {0}关联实体或者枚举不存在 |
UDC_DATATYPE_0015 | {0}关联枚举不存在 |
UDC_DATATYPE_0016 | {0}关联选项集不存在 |
UDC_DATATYPE_0017 | {0}关联实体不存在 |
UDC_DATATYPE_0018 | {0}关联流水号不存在 |
EXPRESSION_0001 | 函数未定义:{0} |
EXPRESSION_0002 | 函数参数不匹配:{0} |
ENTITY_0001 | 修改传入ID不能为空! |
ENTITY_0002 | 删除传入ID不能为空! |
ENTITY_0003 | 非修改状态的不应传入! |
ENTITY_0010 | {0} |
ENTITY_0021 | {0}不可为空 |
ENTITY_0022 | 【{0}】长度需要在{1}和{2}之间。 |
ENTITY_0023 | 【{0}】不能大于{1} |
ENTITY_0024 | 【{0}】不能小于{1} |
ENTITY_0025 | {0}小数位数不能超过{1} |
ENTITY_0026 | {0}无效的日期或时间格式 |
ENTITY_0027 | {0}最多选择{1}个,当前已选{2}个,请修改 |
ENTITY_0028 | {0}不是标准的多选实体格式:{1} |
ENTITY_0029 | {0}是单选附件,不能上传多个文件。 |
ENTITY_0030 | [{0}]格式错误: {1} |
PROCESS_0001 | 发起流程失败: {0} |
PROCESS_0002 | 处理流程失败: {0} |
FORMULA_6001 | 操作符: {0} , 不合法 |
FORMULA_6002 | 操作符: {0} , 右侧不合法 |
FORMULA_6003 | 不支持的返回值类型: {0} |
FORMULA_6004 | 表达式不合法 |
FORMULA_6005 | schema:{0} 中,存在属性没有 ’name’ |
FORMULA_6006 | schema:{0} 中,存在属性没有 ‘description’ |
FORMULA_6007 | schema:{0} 中,存在属性没有 ’type’ |
FORMULA_6008 | schema:{0} 中,存在节点没有 ‘properties’ 属性 |
FORMULA_6009 | schema:{0} 中, ‘properties’的类型必须为array |
FORMULA_6010 | schema:{0} 中, ‘properties’ 没有子元素 |
FORMULA_6011 | schema:{0} 中, array类型的节点必须含有items |
FORMULA_6012 | schema:{0} 中, items必须含有属性’type’ |
FORMULA_6013 | schema:{0} 中, items type为’object’时,需要’peroperties’属性 |
FORMULA_6014 | schema:{1} 中不支持的节点type:{0},及支持tring,integer…等基础类型 |
FORMULA_6015 | schema:{1} 中不支持的不支持的attribute type: {0} |
FORMULA_6016 | 枚举属性必须得有controlType ‘ENUM’ |
FORMULA_6017 | 枚举属性必须得有controlId |
FORMULA_6018 | schema错误 |
FORMULA_6019 | operator中变量{0} 不是schema中的key |
FORMULA_6020 | 表达式包含用户变量,但是schema为空 |
FORMULA_6021 | 获取对象属性失败 |
FORMULA_6022 | mock数据异常 |
FORMULA_6023 | 语法校验失败:{0} |
FORMULA_6024 | 表达式校验失败, {0} |
FORMULA_6025 | 表达式预执行失败: {0} |
FORMULA_6026 | 当前操作符无法匹配到系统变量 |
FORMULA_6027 | 当前参数类型不支持 |
FORMULA_6028 | rootName不能为空 |
FORMULA_6029 | 未集成参数配置组件 |
FORMULA_6030 | 配置参数上下文获取,参数id和appId不能为同时为空 |
FORMULA_6032 | 上下文属性: {0} 缺少 properties |
FORMULA_6033 | 上下文属性: {0} 不支持的数据类型: {1} |
FORMULA_6034 | 节点 {0} items不能为空 |
FORMULA_6035 | 节点{0} 枚举属性信息定义不正确,请检查 |
FORMULA_6036 | 明细函数配置不正确,请检查: {0} |
FORMULA_6037 | 页面字段参与表达式执行错误: {0} , {1} |
FORMULA_6038 | 聚合字段作为函数参数不支持嵌套表达式 |
FORMULA_6039 | 聚合属性必须为数字 |
FORMULA_6040 | 明细表或一对多子表字段只能作为聚合类型函数的参数! |
FORMULA_6041 | 明细表函数条件不能直接使用明细表对象,请选择明细表字段! |
FORMULA_6042 | 明细表函数条件设置错误,请选择明细表字段! |
FORMULA_6043 | 明细表函数条件内只能选择同一个明细表下的字段 |
FORMULA_6044 | 明细表函数无法嵌套明细表函数! |
FORMULA_6045 | 函数:{0} 之后键入的符号不正确,仅能键入操作符! |
FORMULA_6046 | 操作符: ) , 右侧不能为变量或函数或系统变量 |
FORMULA_6047 | 操作符: {0} 之后拼接不合法,只能拼接函数、变量和常量 |
FORMULA_6048 | 变量: {0} 后只能拼接操作符 |
FORMULA_6049 | 函数: {0} , 参数个数不匹配 , 请检查参数设置! |
FORMULA_6050 | 取整函数 , 参数必须为数字类型! |
FORMULA_6051 | 数字: {0} , 超过整数最大界限! |
FORMULA_6052 | 函数【获取系统参数值】只能处理系统参数! |
FORMULA_6053 | 系统参数【{0}】未定义 |
FORMULA_6054 | 函数【获取指定下标文本】下标超过文本数组下标 |
FORMULA_6055 | 函数【获取指定下标文本】参数类型只能为文本数组或集合 |
FORMULA_6056 | 明细表函数【{0}】 ,条件设置错误: {1} |
FORMULA_6057 | 括号匹配失败请检查 |
FORMULA_6058 | 变量:{0} 在上下文中不存在,请确认! |
FORMULA_6059 | 上下文属性: {0} , 名称重复 |
FORMULA_6060 | 取商函数,被除数必须为数字类型 |
FORMULA_6061 | 取商函数,除数必须为数字类型 |
FORMULA_6062 | 计算结果超过取值范围 |
FORMULA_6063 | 枚举属性为空! |
FORMULA_6064 | 函数: {0} 第 {1} 个参数类型不匹配, 期望类型 STRING |
FORMULA_6065 | 函数: 【千分位显示】 参数类型错误,只能为数字 |
FORMULA_6066 | 变量: {0} 命名不规范, 不能以数字开头 |
FORMULA_6067 | 计算结果不是选项集选项,请检查! |
FORMULA_6068 | 选项集赋值,必须传递选项集fullName |
FORMULA_6069 | 选项集赋值类型不匹配,请检查! |
FORMULA_6070 | 操作符:{0} , 输入错误! |
FORMULA_6101 | 加号左侧类型不正确 , 必须为数字类型 |
FORMULA_6102 | 加号右侧类型不正确 , 必须为数字类型 |
FORMULA_6103 | 减号左侧类型不正确 , 必须为数字类型 |
FORMULA_6104 | 减号右侧类型不正确, 必须为数字类型 |
FORMULA_6105 | 乘号左侧类型不正确, 必须为数字类型 |
FORMULA_6106 | 乘号右侧类型不正确, 必须为数字类型 |
FORMULA_6107 | 除号左侧类型不正确, 必须为数字类型 |
FORMULA_6108 | 除号右侧类型不正确, 必须为数字类型 |
FORMULA_6109 | 大于号左侧类型为非数字类型 |
FORMULA_6110 | 大于号右侧类型为非数字类型 |
FORMULA_6111 | 小于号左侧类型为非数字类型 |
FORMULA_6112 | 小于号右侧类型为非数字类型 |
FORMULA_6113 | 大于等于号左侧为非数字类型 |
FORMULA_6114 | 大于等于号右侧为非数字类型 |
FORMULA_6115 | 小于等于号左侧为非数字类型 |
FORMULA_6116 | 小于等于号右侧为非数字类型 |
FORMULA_6117 | 等于符号两侧不能为空值 |
FORMULA_6119 | 等于符号两侧数据类型不一致 |
FORMULA_6120 | 大于符号左侧类型不是日期类型 |
FORMULA_6121 | 大于符号右侧类型不是日期类型 |
FORMULA_6122 | 大于等于符号左侧类型不是日期类型 |
FORMULA_6123 | 大于等于符号右侧类型不是日期类型 |
FORMULA_6124 | 小于符号左侧类型不是日期类型 |
FORMULA_6125 | 小于符号右侧类型不是日期类型 |
FORMULA_6126 | 小于等于符号左侧类型不是日期类型 |
FORMULA_6127 | 小于等于符号右侧类型不是日期类型 |
FORMULA_6128 | 加号左侧不能为空 |
FORMULA_6129 | 加号右侧不能为空 |
FORMULA_6130 | 减号左侧不能为空 |
FORMULA_6131 | 减号右侧不能为空 |
FORMULA_6132 | 乘号左侧不能为空 |
FORMULA_6133 | 乘号右侧不能为空 |
FORMULA_6134 | 除号左侧不能为空 |
FORMULA_6135 | 除号右侧不能为空 |
FORMULA_6136 | and符号左侧数据为空 |
FORMULA_6137 | and符号右侧数据为空 |
FORMULA_6138 | and符号左侧数据类型不正确,必须为布尔类型 |
FORMULA_6139 | and符号右侧数据类型不正确,必须为布尔类型 |
FORMULA_6140 | or符号左侧数据为空 |
FORMULA_6141 | or符号右侧数据为空 |
FORMULA_6142 | or符号左侧数据类型不正确,必须为布尔类型 |
FORMULA_6143 | or符号右侧数据类型不正确,必须为布尔类型 |
FORMULA_6144 | not符号只能用于布尔类型 |
FORMULA_6145 | 除数不能为0 |
FORMULA_6146 | 小于符号左侧不能为空 |
FORMULA_6147 | 小于符号右侧不能为空 |
FORMULA_6148 | 大于符号左侧不能为空 |
FORMULA_6149 | 大于符号右侧不能为空 |
FORMULA_6150 | 大于等于符号左侧不能为空 |
FORMULA_6151 | 大于等于符号右侧不能为空 |
FORMULA_6152 | 小于等于符号左侧不能为空 |
FORMULA_6153 | 小于等于符号右侧不能为空 |
FORMULA_6154 | 取余符号左侧不能为空 |
FORMULA_6155 | 取余符号右侧不能为空 |
FORMULA_6156 | 取余符号左侧类型必须为整数 |
FORMULA_6157 | 取余符号右侧类型必须为整数 |
FORMULA_6158 | 函数:【{0}】 第 {1} 个参数类型不匹配 , 期望类型:{2} , 实际类型: {3} |
FORMULA_6159 | 不支持的函数参数类型 :{0} |
FORMULA_6160 | 函数:【{0}】 参数个数不匹配,期望: {1} 个 |
FORMULA_6161 | 操作符类型不匹配, {0} {1} {2} |
FORMULA_6162 | 符号不匹配,期望为: {0} |
FORMULA_6163 | 日期不合法: {0} |
FORMULA_6164 | 明细表计数函数只能选择明细表或集合对象作为参数! |
FORMULA_6165 | 条件返回函数返回值数据类型不一致! |
OPENAPI_1001 | 必须传入应用编号参数 |
OPENAPI_1002 | 没有找到应用信息,请确认其是否存在 |
OPENAPI_1003 | 同名的应用已经存在,请更换名称 |
OPENAPI_1004 | 没有找到指定的开放API |
OPENAPI_1005 | 找不到参数的定义 |
OPENAPI_1006 | URL必须以http://或者https://开头 |
OPENAPI_1007 | 创建虚拟用户失败 |
OPENAPI_1008 | 开放API正在刷新,不能重复调度 |
OPENAPI_1009 | 调用用户中心接口失败。错误码:{0},错误描述:{1} |
OPENAPI_1010 | 事件通知正在运行,请稍后手动执行 |
OPENAPI_1011 | 手动执行事件通知失败!原始错误信息:{0} |
OPENAPI_1012 | 参数转义规则不允许重复配置! |
OPENAPI_1013 | 地址已存在 |
OPENAPI_1014 | 无权访问此接入应用 |
OPENAPI_1015 | 回调URL验证失败,请确保服务能正常访问! |
OPENAPI_1016 | 外部参数名称不能重复 |
ENTITY_0001 | 修改传入ID不能为空! |
ENTITY_0002 | 删除传入ID不能为空! |
ENTITY_0003 | 非修改状态的不应传入! |
ENTITY_0004 | 必填项不能为空! |
ENTITY_0005 | 构建默值失败! |
ENTITY_0006 | 只读属性不能修改! |
ENTITY_0007 | 没有传递树形父实体 |
ENTITY_0010 | {0} |
ENTITY_0011 | 不支持的方法调用,实体:{0},方法:{1} |
PROCESS_0001 | 发起流程失败: {0} |
PROCESS_0002 | 处理流程失败: {0} |
TEMPLATE_1000 | 未获取到模板文件! |
CATEGORY_1000 | 当前实体已存在! |
BPM_PROCESS_0001 | 发送bpm流程,单据数据不能为空! |
BPM_PROCESS_0002 | 获取旧单据数据单据状态枚举值失败! |
BPM_PROCESS_0003 | 获取新单据数据单据状态枚举值失败! |
BPM_PROCESS_0004 | {0} |
BPM_PROCESS_0005 | 处理流程失败: {0} |
BPM_PROCESS_0006 | 撤销流程失败: {0} |
BPM_PROCESS_0007 | 获取templateId失败 |
BPM_PROCESS_0008 | 获取bpm流程参数失败 : {0} |
BPM_PROCESS_0009 | 设置单据状态失败 |
BPM_PROCESS_0010 | 更新字段:{0} 失败! |
BPM_PROCESS_0011 | 获取字段:{0} 失败! |
BPM_PROCESS_0012 | 终止流程失败 |
EXCEL-0001 | 模板格式异常 |
EXCEL-0002 | 无效的MD5信息 |
EXCEL-0003 | 不存在的导入模板 |
EXCEL-0004 | Excel无数据 |
EXCEL-0005 | 生成下载地址为空 |
EXCEL-0006 | 模版中表头信息不能为空 |
EXCEL-0007 | 模版中表头信息设置有误 |
EXCEL-CHECK-0001 | 数据类型校验不通过 |
EXCEL-CHECK-0002 | 枚举值校验不通过 |
EXCEL-CHECK-0003 | 必填字段的值不能为空 |
EXCEL-CHECK-0005 | 没有找到对应的参照 |
EXCEL-CHECK-0004 | 单选字段数据校验不通过 |
EXCEL-CHECK-0006 | 违法唯一性约束 |
EXCEL-CHECK-0007 | 日期和日期时间格式错误,请设置为:yyyy/MM/dd 或 yyyy/MM/dd HH:mm:ss格式. |
EXCEL-CHECK-0008 | 没有找到对应数据 |
EXCEL-CHECK-0009 | 与第{}行数据重复 |
EXCEL-EXPORT-0001 | 无导出数据 |
EXCEL-IMPORT-0001 | 导入处理异常 |
EXCEL-IMPORT-CHECK-0001 | 校验处理异常 |
EXCEL-LISTENER-CHECK-0001 | 事件监听导入校验处理异常 |
EXCEL-LISTENER-IMPORT-0001 | 事件监听导入处理异常 |
EXCEL-LISTENER-IMPORT-0002 | 事件监听导入封装数据异常 |
EXCEL-LISTENER-IMPORT-0003 | 事件监听导入封装数据返回为空 |
EXCEL-LISTENER-IMPORT-0004 | 事件监听导入反射调用各应用处理异常 |
EXCEL-LISTENER-IMPORT-0005 | 事件监听导入反射调用各应用返回数据为空 |
EXCEL-LISTENER-EXPORT-0001 | 事件监听导出处理异常 |
EXCEL-LISTENER-METAINFO-0001 | 事件监听封装元数据处理异常 |
EXCEL-LISTENER-METAINFO-0002 | 事件监听封装元数据返回数据为空 |
ENUM_3000 | 同一分类下枚举名称重复 |
ENUM_3001 | 枚举编码重复 |
ENUM_3002 | 枚举名称超长 |
ENUM_3003 | 枚举编码超长 |
ENUM_3004 | 枚举不能修改是否图片 |
ENUM_3005 | 级联枚举层级名称重复 |
ENUM_3006 | 级联枚举层级编码重复 |
ENUM_3007 | 名称或层级名称在表单应用中已存在 |
ENUM_3008 | 编码或层级编码在表单应用中已存在 |
ENUM_3009 | 枚举分类名称重复 |
ENUM_3010 | 表单应用中已存在名称为{0}的枚举分类 |
ENUM_3011 | 同一级下枚举项名称重复 |
ENUM_3012 | 同一枚举下枚举项值重复 |
ENUM_3013 | 平级枚举只能增加一级 |
ENUM_3014 | 级联枚举项的层级不能超过枚举的层级 |
ENUM_3015 | 表单应用中已存在名称为{0}的枚举项 |
ENUM_3016 | 表单应用中已存在编码为{0}的枚举项 |
ENUM_3017 | 该枚举不允许删除 |
ENUM_3018 | 该枚举不允许更新 |
ENUM_3019 | 该枚举分类不允许删除 |
ENUM_3020 | 该枚举项不允许删除 |
ENUM_3021 | 图片枚举不允许导入导出 |
MIGRATION_0001 | 不允许向本环境推送数据 |
UK_AN | 参数编码重复 |
11.3.2 - API管理
1、概述
提供全量API刷新、API启用/停用、接口内容查看、全量接口文档导出能力。
2、能力特征
功能特征 | 描述 |
---|---|
API清单 | 全平台API清单 |
启用/停用 | 支持API启用/停用切换,停用后,接入应用的API授权失效 |
批量启用/停用 | 支持批量启用/停用 |
模糊检索 | 支持按照接口名称模糊查询 |
API详情查看 | 支持API详细内容在线查看 |
导出 | 支持API文档导出 |
刷新 | 支持刷新来源API |
鉴权 | 提供标准的接口鉴权模式 |
网关 | 提供统一网关路由 |
链路追踪 | 提供API链路追踪能力 |
3、使用场景
3.1、API启用/停用
属于API一级授权,只有启用的接口,在配置接入应用时才可以查看并进行二次授权。
3.2、接口文档导出
接入应用中的接口文档导出,可以导出对应应用已授权的接口文档,API管理中的导出,可以导出所有启用的接口文档。
3.3、API刷新
API主要来源于原生应用(组织模型、事项中心)、自建应用(UDC定制应用)、三方API(三方集成应用),针对后两个API来源,需要应用发布并启用后,在API管理页刷新API才可以查看对应API。
11.3.3 - 事件管理
1、概述
提供全平台事件查看、启用/停用、事件内容查看能力。
2、能力特征
功能特征 | 描述 |
---|---|
事件清单 | 全平台事件清单 |
启用/停用 | 支持事件启用/停用 |
批量启用/停用 | 支持批量启用/停用 |
模糊检索 | 支持按照事件名称模糊查询 |
事件详情查看 | 支持事件消息体在线查看 |
3、使用场景
3.1、事件启停
事件一级授权,只有启用的事件,才可以在接入应用中选择并进行二次授权使用。
11.3.4 - 接入应用
1、概述
为每一个需要访问COP平台OpenAPI和事件的三方应用系统,分配独立的授权信息,并监控调用日志。
2、能力特征
2.1、接入应用管理
功能特征 | 描述 |
---|---|
新建 | 支持新建接入应用 |
列表展示 | 支持列表展示接入应用,支持模糊查询 |
编辑/配置 | 支持编辑接入应用 |
删除 | 支持删除接入应用 |
启用/停用 | 支持接入应用启用**/**停用 |
分类检索 | 支持接入应用分组查看 |
2.2、OpenAPI授权
功能特征 | 描述 |
---|---|
自定义应用图标 | 支持自定义接入应用图标 |
APPSecret刷新 | 当AppSecret泄露时,支持在线刷新APPSecret |
API授权/移除权限 | 支持API二级授权,授权后当前应用才可以正常访问对应接口 |
API批量授权/移除权限 | 支持API批量授权**/**移除权限 |
导出接口文档 | 支持导出所有已经二次授权的接口文档 |
导出历史 | 支持导出历史在线查看和导出 |
API详情查看 | 支持API详情查看 |
数据范围过滤 | 支持根据接口返回参数过滤数据 |
参数名转换 | 支持自定义参数名,且不影响其他应用调用 |
2.3、事件订阅授权
功能特征 | 描述 |
---|---|
事件订阅 | 支持事件回调 |
加密因子 | 支持事件内容加密 |
回调令牌 | 支持回调令牌,验证来源应用 |
回调地址状态验证 | 支持回调地址在线校验,回调地址返回200表示校验通过 |
添加事件 | 支持添加多个已启用事件 |
移除事件授权 | 支持移除多个已添加事件 |
数据范围过滤 | 支持事件数据筛选过滤 |
事件回调 | 支持事件回调接口 |
字段映射 | 支持事件回调接口字段映射 |
自定义成功标识 | 自定义事件推送成功标识,不满足条件是自动重试 |
2.4、安全设置
功能特征 | 描述 |
---|---|
重定向域名 | COP作为统一登录认证中心场景中,对来源应用的可信重定向域名配置 |
IP白名单 | 支持IP白名单配置,不配置时所有IP均可访问 |
限流控制 | 支持某个时间段内访问频率限制 |
2.5、使用日志
功能特征 | 描述 |
---|---|
事件订阅日志 | 事件回调日志 |
手工重发 | 事件回调报错时,支持手工重发 |
OpenAPI调用日志 | 开放API日志 |
2.6、nacos高级设置
功能特征 | 描述 |
---|---|
签名关闭/启用 | 支持开放平台接口签名开启/关闭配置 |
3、使用场景
3.1、接口授权
集成平台提供两层接口授权机制,第一级授权叫做API启用,启用后所有接入的应用才可以查看响应接口,并进行二次授权,一级授权目的是限制接口使用范围和场景,提高系统可用性和稳定性。
当API启用后,管理员可以针对每个接入应用,添加二级授权,被授权应用只可以访问当前应用已经授权的接口。
3.2、接口文档
添加二级授权后,被授权应用可以自动导出已授权接口的接口文档。接口文档以Word形式导出,且系统采用异步导出接口文档形式,降低内存消耗。
3.3、事件订阅
平台提供的事件同样遵循二级授权管理模式,由COP定义事件消息体,三方系统提供事件接收URL,COP平台触发事件后,三方系统就可以实时接收到对应的事件提醒和事件内容。
3.4、IP白名单
平台提供访问白名单机制,如果未配置白名单,则所有网络联通,且拥有平台颁发的AppKey和APPSecret的调用方都可以正常调用对应授权接口。开启白名单后,只有出口IP一致的调用方才可以正常调用已授权接口。
平台提供签名启用/停用配置,启用后,调用接口需要APPKey和AppSecret;停用时,调用方只需要提供AppKey即可,不需要提供APPSecret和签名sign。停用签名场景主要针对客户有企业级开放平台时或者防火墙策略完善场景。
3.5、请求限流
平台提供访问限流控制,管理员可以配置不限流,或者配置周期内访问次数限制,主要针对服务器资源紧张、内存压力大场景。
3.6、接口调用demo
场景:比如外部需要调用接入应用中开放的组织机构人员信息查询接口,该接口业务参数是人员id。
由于demo中使用了技术平台JsonUtils、MD5、HttpClientUtil等工具类,所以需要您在您工程中依赖boot-core
<dependency>
<groupId>com.seeyon</groupId>
<artifactId>boot-core</artifactId>
<version>3.9.0</version>
</dependency>
java代码如下:
import com.seeyon.boot.util.JsonUtils;
import com.seeyon.boot.util.MD5;
import com.seeyon.boot.util.http.HttpClientUtil;
import com.seeyon.boot.util.http.common.HttpHeader;
import java.util.HashMap;
import java.util.Map;
/**
* Description:
* Author: weijh
* Date: 2024/11/5 15:30
*/
public class OpenApiTest {
public static void main(String[] args) {
String appKey = "您的appKey";
String appSecret = "您的appSecret";
Map<String, Object> param = new HashMap<>();
Long reqId = System.currentTimeMillis();
param.put("requestId", reqId);
param.put("timestamp", reqId);
param.put("data", "人员id");
HttpHeader httpHeader = HttpHeader.custom();
httpHeader.add("app-key", appKey);
httpHeader.add("sign-type", "MD5");
String jsonStr = JsonUtils.toJson(param);
String sign = MD5.getMD5String(appSecret + jsonStr + appSecret);
httpHeader.add("sign", sign);
String result = HttpClientUtil.post("https://openapi-pre.seeyonv8.com/organization/base/member/selectById", jsonStr, httpHeader);
}
}
3.7、postman调用demo
11.4 - 基础能力接入
1、概述
封装三方异构系统服务,使其符合COP自建应用规范,低代码定制应用可以直接调用三方应用。集成能力包含接口调用、单点登录、菜单挂载、事件订阅、消息队列、组织同步、待办事项同步、消息同步等能力。
2、角色权限定义
3、能力清单
11.4.1 - 短信
1、概述
提供单条、批量发送短信能力,支持配置短信签名、短信模板,满足短信消息、短信登录验证、下发验证码等使用场景。
2、预制厂商通道
厂商 |
---|
致远互联 |
阿里云 |
腾讯云 |
LITECC |
华为云 |
3、能力区隔
特征 | API接口名称 | 用途说明 | 致远互联 | 阿里云 | 腾讯云 | LITECC | 华为云 |
---|---|---|---|---|---|---|---|
发送短信 | 同步方式发送短信 | 通过手机号码实时发送短信 | ✅ | ✅ | ✅ | ✅ | ✅ |
发送短信 | 异步批量多条内容发送短信 | 通过手机号码异步、批量发送短信 | ✅ | ✅ | ✅ | ✅ | ✅ |
发送短信 | 异步方式发送短信 | 通过手机号码异步发送短信 | ✅ | ✅ | ✅ | ✅ | ✅ |
4、接口清单
4.1、对内接口
适用场景:低代码应用通过【自定义服务】节点调用时
4.1.1、异步批量多条内容发送短信
请求参数
参数名称 | 是否必填 | 参数类型 | 参数描述 |
---|---|---|---|
code | true | string | 模版CODE |
language | false | string | 语种 |
paramsMap | false | map | 短信模版参数 |
desPhone | true | string | 手机号 |
appName | true | string | 应用名称 |
debugging | false | boolean | 是否开启沙箱模式true:开启 |
请求示例
{
"paramsMap": "",
"code": "5892855977121107819",
"appName": "cip-capability",
"debugging": "false",
"language": "",
"desPhone": "15652161982,15011561982"
}
返回参数
参数名称 | 参数类型 | 参数描述 |
---|---|---|
code | string | 响应码 |
message | string | 响应信息 |
返回示例
{
"code": "200",
"message": "成功"
}
4.1.2、同步方式发送短信
请求参数
参数名称 | 是否必填 | 参数类型 | 参数描述 |
---|---|---|---|
appId | true | string | 应用类型 |
code | true | string | 模版CODE |
desPhone | true | string | 手机号 |
paramsMap | false | map | 短信模版参数 |
请求示例
{
"paramsMap": "",
"code": "",
"appId": "cip-capability",
"desPhone": "15652161982,15011561982"
}
返回参数
参数名称 | 参数类型 | 参数描述 |
---|---|---|
code | string | 响应码 |
message | string | 响应信息 |
返回示例
{
"code": "200",
"message": "成功"
}
4.1.3、异步方式发送短信
请求参数
参数名称 | 是否必填 | 参数类型 | 参数描述 |
---|---|---|---|
appId | true | string | 应用类型 |
code | true | string | 模版CODE |
desPhone | true | string | 手机号 |
paramsMap | false | map | 短信模版参数 |
请求示例
{
"paramsMap": "",
"code": "",
"appId": "cip-capability",
"desPhone": "15652161982,15011561982"
}
返回参数
参数名称 | 参数类型 | 参数描述 |
---|---|---|
code | string | 响应码 |
message | string | 响应信息 |
返回示例
{
"code": "200",
"message": "成功"
}
4.2、对外接口
适用场景:三方异构系统通过开放平台调用时
4.2.1、异步批量多条内容发送短信
请求地址:/cip-capability/ShortMessageAppServiceImpl/sendShortMessageAsync
请求参数
参数名称 | 父节点 | 是否必填 | 参数类型 | 参数描述 |
---|---|---|---|---|
requestId | true | string | 请求流水号。同一接入应用下的流水号不要重复;最长32位,超过部分会被截断。 | |
timestamp | true | int64 | 请求时间戳。请求时间和服务器时间不能相差过大,默认5分钟以内。 | |
notifyUrl | false | string | 异步回调URL。如果此参数非空,表示使用异步方式调用开放API,执行结果将通过此URL异步通知调用者。 | |
data | true | array[SmsSendDto] | 请求参数数据 | |
code | data | true | string | 模版CODE |
language | data | false | string | 语种 |
paramsMap | data | false | map | 短信模版参数 |
desPhone | data | true | string | 手机号 |
appName | data | true | string | 应用名称 |
debugging | data | false | boolean | 是否开启沙箱模式true:开启 |
请求示例
{
"data": [
{
"paramsMap": "",
"code": "5892855977121107819",
"appName": "cip-capability",
"debugging": "false",
"language": "",
"desPhone": "15652161982,15011561982"
}
],
"requestId": "-8361350560943291150",
"notifyUrl": "",
"timestamp": 1719476506062
}
返回参数
参数名称 | 父节点 | 参数类型 | 参数描述 |
---|---|---|---|
code | string | 错误码 | |
data | SingleData | 返回值数据 | |
content | data | void | 数据对象 |
message | string | 返回信息 | |
status | int32 | 状态 |
返回示例
{
"code": "200",
"data": {
"content": ""
},
"message": "成功",
"status": "FRONT"
}
4.2.2、同步方式发送短信
请求地址:/cip-capability/ShortMessageAppServiceImpl/sendSycShortMessage
请求参数
参数名称 | 父节点 | 是否必填 | 参数类型 | 参数描述 |
---|---|---|---|---|
requestId | true | string | 请求流水号。同一接入应用下的流水号不要重复;最长32位,超过部分会被截断。 | |
timestamp | true | int64 | 请求时间戳。请求时间和服务器时间不能相差过大,默认5分钟以内。 | |
notifyUrl | false | string | 异步回调URL。如果此参数非空,表示使用异步方式调用开放API,执行结果将通过此URL异步通知调用者。 | |
data | true | SmsSendDto | 请求参数数据 | |
appId | data | true | string | 应用类型 |
code | data | true | string | 模版CODE |
desPhone | data | true | string | 手机号 |
paramsMap | data | false | map | 短信模版参数 |
请求示例
{
"data": {
"paramsMap": "",
"code": "",
"appId": "cip-capability",
"desPhone": "15652161982,15011561982"
},
"requestId": "1850710295428812002",
"notifyUrl": "",
"timestamp": 1719476506066
}
返回参数
参数名称 | 父节点 | 参数类型 | 参数描述 |
---|---|---|---|
code | string | 错误码 | |
data | SingleData | 返回值数据 | |
content | data | SmsResponseDto | 数据对象 |
code | content | string | 响应码 |
message | content | string | 响应信息 |
message | string | 返回信息 | |
status | int32 | 状态 |
返回示例
{
"code": "200",
"data": {
"content": {
"code": "capability-0000",
"message": "模板不合法"
}
},
"message": "成功",
"status": "FRONT"
}
4.2.3、异步方式发送短信
请求地址:/cip-capability/ShortMessageAppServiceImpl/sendShortMessage
请求参数
参数名称 | 父节点 | 是否必填 | 参数类型 | 参数描述 |
---|---|---|---|---|
requestId | true | string | 请求流水号。同一接入应用下的流水号不要重复;最长32位,超过部分会被截断。 | |
timestamp | true | int64 | 请求时间戳。请求时间和服务器时间不能相差过大,默认5分钟以内。 | |
notifyUrl | false | string | 异步回调URL。如果此参数非空,表示使用异步方式调用开放API,执行结果将通过此URL异步通知调用者。 | |
data | true | SmsSendDto | 请求参数数据 | |
appId | data | true | string | 应用类型 |
code | data | true | string | 模版CODE |
desPhone | data | true | string | 手机号 |
paramsMap | data | false | map | 短信模版参数 |
请求示例
{
"data": {
"paramsMap": "",
"code": "",
"appId": "cip-capability",
"desPhone": "15652161982,15011561982"
},
"requestId": "1938010543906177955",
"notifyUrl": "",
"timestamp": 1719476506070
}
返回参数
参数名称 | 父节点 | 参数类型 | 参数描述 |
---|---|---|---|
code | string | 错误码 | |
data | SingleData | 返回值数据 | |
content | data | void | 数据对象 |
message | string | 返回信息 | |
status | int32 | 状态 |
返回示例
{
"code": "200",
"data": {
"content": ""
},
"message": "成功",
"status": "FRONT"
}
5、使用场景
5.1、登录场景-短信验证码
5.2、短信消息
5.3、BPM短信提醒
5.4、开放OpenAPI
11.5 - 移动插件
1、概述
COP平台适配主流移动办公终端产品、公众端产品,包含飞书、企业微信、钉钉、微信公众号、微信小程序等。能够实现与以上第三方产品无缝集成,将COP平台及其集成的第三方业务系统产生的消息、事项推送至各个办公终端产品、公众端产品的“微协同”中,帮助企业打造完整的移动协同办公生态,打造企业快捷、高效、安全、统一的移动工作入口。
2、角色权限定义
3、能力清单
11.5.1 - 插件管理
1、概述
提供应用新建、复制、导出、导入、删除、发布等应用管理能力。
2、能力特征
2.1、特征清单
功能特征 | 描述 |
---|---|
新建 | 支持新建移动插件 |
列表展示 | 支持所有已配置移动插件列表查看 |
编辑/配置 | 支持编辑移动插件 |
删除 | 支持删除移动插件 |
启用/停用 | 支持启用/停用移动插件 |
配置 | 支持启用/停用微协同服务,停用后所有移动插件全部停用支持自定义配置协同服务器地址 |
自选接入终端 | 支持自选多种移动APP接入,钉钉、企微、飞书、WeLink等 |
自定义默认应用 | 新建接入应用时,支持选择默认上架应用 |
预生成组织映射 | 新建移动插件时,自动生成组织映射 |
预生成用户映射 | 新建移动插件时,自动生成人员映射 |
自定义应用图标 | 支持自定义应用图标 |
2.2、核心界面示例
2.2.1、新建移动插件
3、注意事项
新建移动插件时,会自动生成部门映射和用户映射,用户可以在移动插件中维护,也可以在基础设置-组织映射中维护,用户映射名称为:”用户映射默认_“+移动插件企业编码
11.5.2 - 企业信息维护
1、概述
维护移动APP企业信息、企业级凭证信息。
2、能力特征
2.1、特征清单
功能特征 | 描述 |
---|---|
基础信息编辑 | 支持企业信息编辑维护 |
2.2、核心界面示例
2.2.1、注册企业信息
11.5.3 - 组织同步
1、概述
实现COP平台与移动APP通讯录之间的组织、用户数据同步。
2、能力特征
2.1、特征清单
功能特征 | 描述 |
---|---|
新建 | 支持新建组织同步规则 |
编辑 | 支持编辑组织同步规则 |
删除 | 支持删除组织同步规则 |
立即同步 | 组织同步规则配置完成后,支持手动立即执行 |
自定义同步机构 | 支持自定义待同步机构 |
自定义同步范围 | 支持自定义同步范围,本组织或者本组织及其下级组织 |
自定义数据范围 | 支持自定义同步范围,部门、人员 |
自定义同步方式 | 支持自定义同步方式,定时同步、手动同步 |
自定义同步频率 | 当同步方式为定时同步时,支持自定义同步频率 |
2.2、核心界面示例
2.2.1、组织同步
11.5.4 - 免登
1、概述
实现移动APP免登打开COP平台应用首页、事项详情页、消息详情页。
2、能力特征
2.1、特征清单
类目 | 功能特征 | 描述 |
---|---|---|
用户映射 | 新建 | 支持新建用户映射行数据 |
用户映射 | 编辑 | 支持编辑用户映射行数据 |
用户映射 | 删除 | 支持删除用户映射行数据 |
用户映射 | 导入**/**导出 | 支持用户映射导入**/**导出 |
用户映射 | 刷新 | 支持刷新用户映射数据 |
2.2、核心界面示例
2.2.1、用户映射
3、注意事项
3.1、COP与移动APP手机号码一致时,用户可以免登录从APP进入COP页面,此时,无需手工配置用户映射
11.5.5 - 应用上架
1、概述
将COP应用首页、个人空间、特定功能页上架到移动APP个人工作台。
2、能力特征
2.1、特征清单
2.2、核心界面示例
功能特征 | 描述 |
---|---|
新建 | 支持添加上架应用 |
编辑 | 支持编辑上架应用 |
查看 | 支持查看上架应用 |
删除 | 支持删除上架应用 |
支持一个插件多个应用 | 支持一个插件上架多个应用 |
支持应用别名 | 支持上架应用创建别名,不会影响原应用名称 |
2.2.1、应用发布、上架
3、注意事项
3.1、由于移动APP限制,用户手工复制应用发布详情页的移动端免登地址,粘贴到移动APP管理工作台中。
11.5.6 - 消息同步
1、概述
将COP平台消息实时推送给移动APP。
2、能力特征
2.1、特征清单
功能特征 | 描述 |
---|---|
消息推送 | COP平台实时将站内信推送到移动APP消息中心 |
2.2、核心界面示例
由于移动APP差异,造成移动APP消息展示效果不同,请参考平台实施-移动微协同目录下具体APP终端效果图。
11.5.7 - 事项同步
1、概述
COP平台采用H5页面挂载形式,将事项中心页面挂载到移动APP上。
2、能力特征
2.1、特征清单
功能特征 | 描述 |
---|---|
查看待办 | 支持列表形式查看权限范围内待办事项 |
处理待办 | 点击进入待办事项详情页,支持同意、驳回、暂存等操作 |
查看已办 | 支持列表形式展示已办事项 |
2.2、核心界面示例
11.5.8 - 运行配置
1、概述
配置移动APP接口固定时间段内API访问上限,并验证API连通性。
2、能力特征
2.1、特征清单
功能特征 | 描述 |
---|---|
熔断保护 | 支持接口交互熔断保护 |
接口状态验证 | 支持接口状态验证 |
2.2、核心界面示例
2.2.1、熔断保护
11.5.9 - 监控日志
1、概述
支持移动插件使用日志可视化展示能力。
2、能力特征
2.1、特征清单
功能特征 | 描述 |
---|---|
基础信息编辑 | 支持企业信息编辑维护 |
2.2、核心界面示例
2.2.1、使用日志
12 -
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
菜单
菜单是应用的入口。
参照
参照是最终用户在录入页面输入数据的一种方式。比如报销单上选择报销人,报销人的选择方式就是参照。
个性化页面
标准应用提供的一种应用安装部署到客户方后,支持客户方根据业务可以按照组织设置对应个性化定制页面的能力。通常调整的是详情类页面,调整的布局UI展现,且无需调整原页面之间跳转逻辑的场景。
聚合关系
聚合关系是实体之间的祖子孙关系。比如订单和订单明细就是聚合关系,聚合关系是如果父不存在,那么子也不存在。
控件
控件是界面控件,指可在页面上放置的可视化图形“元件”,如按钮、文件输入框等。
控件库
平台提供标准规范的控件库,控件库中包含了PC和移动控件,页面由控件组成。
扩展方案
应用设计时,设计师根据业务设置的一组有多字段类型及其数量的抽象预留字段方案。实体启用扩展方案后,会自动按照扩展方案预留对应类型和对应数量的字段。
扣减规则
在业务应用中,经常有数据之间的扣减规则,且跟随数据状态的变化需要占用、扣减、取消占用,取消扣减,逻辑较为复杂。扣减规则是一套跟随业务状态,进行数据占用、扣减、取消等的固化规则,可以提高效率,减少错误率。
生单规则
生单规则是根据单据生成另外单据的规则,比如通过销售订单生成出库单,可以使用生单规则。
实体
实体是数据库表的可视化表示形式。
页面
页面是最终用户与应用交互的载体窗口
页面规则
顾名思义,前端是可以展现给用户的部分,所以可以理解为页面上的逻辑组装使用页面规则(也称前端微流程)。
业务标签
业务标签是根据业务抽象出的固定模式,业务标签标记在实体上。不同的业务标签自带对应业务的实体字段、业务逻辑。
一致性检查
在应用设计过程中,检查设计模块之间引用关系是否异常,实时发现设计错误并定位错误位置,引导设计师进行修改。
外框
一种可以快速复用的布局组合能力,通过外框可以将页面公共部分沉淀为可复用的布局,使用外框的页面通过占位、入参映射,可以实现布局的复用,快速灵活的搭建有业务共性的页面。外框最常见使用场景是审批外框。
(后端)微流程
顾名思义,(后端)微流程是看不见的部分,比如数据查询,所以对于需要与数据、接口等相关逻辑,使用(后端)微流程组装。页面规则可以调用(后端)微流程。
微流程
微流程看起来像流程图,是一种表达逻辑的可视化方式,提供一个个逻辑单元,比如条件分支、循环分支、实体操作、控件操作等。
子页面
是指在一个主页面下,一块页面组成内容可以独立出来的能力。子页面相比外框,子页面组成内容更加具体,通常与主页面有业务关联。比如发票列表与发票详情,发票详情可以做成子页面。子页面不可独立访问。
字段集
字段集是一组可有共性可通用的字段集合。实体中部分字段引用字段集后,可以减少重复性配置工作。字段集中的字段变更将同步到所有引用字段集的实体中。