ZeroCloud 低代码开发平台
首页
用户手册
开发者手册
首页
用户手册
开发者手册
  • 用户手册

    • 产品简介
    • 快速入门
    • 工作台
    • 流程门户
    • 应用管理
    • 组织管理
    • 数据管理
    • 业务建模

      • 表单管理

        • 表单设计
        • 组件说明

          • 添加组件
          • 复制替换
          • 删除组件
        • 设置说明

          • 设置属性
          • 设置校验
          • 设置事件
        • 基础组件

          • 标题
          • 文字
          • 图片
          • 按钮
          • 链接
          • 分割线
          • 网页
        • 布局组件

          • 表单区块
          • 网格布局
          • 标签页
          • 明细表格
          • 明细区域
        • 功能组件

          • 输入文本
          • 日期时间
          • 单项选择
          • 多项选择
          • 下拉选择
          • 计数器
          • 开关
          • 滑块
          • 评分
          • 上传附件
          • 选择用户
          • 选择部门
          • 选择数据
          • 选择颜色
          • 富文本
          • UEditor
          • 条形码
          • 二维码
          • 添加明细行
          • 流程审批
          • 历史流程
      • 表单模型

        • 模型设计
        • 用法示例
      • 视图管理

        • 视图设计
        • 基础组件

          • 文字
          • 按钮
          • 图片
          • 链接
          • 分割线
          • 标签
          • 网页
          • Html
        • 布局组件

          • 页头
          • 容器
          • 网格
          • 区块
          • 卡片
          • 标签页
        • 模态组件

          • 对话框
          • 抽屉
        • 数据展示

          • 表格
          • 数据表格
          • 树
          • 数据树
          • 轮播图
          • 日历
          • 图表
          • 时间线
          • 步骤条
          • 宫格
          • 进度条
          • 分页
          • 标记
        • 数据输入

          • 表单/表单项
          • 文本框
          • 开关
          • 日期选择
          • 单项选择
          • 多项选择
          • 下拉选择
          • 滑块
          • 评分
      • 逻辑编排
      • 自定义组件
      • 报表管理
    • 流程设计

      • 流程定义

        • 流程设计
        • 节点配置
        • 办理人配置
      • 决策定义
      • 我的任务
      • 流程运维
      • 流程监控
    • 安全管理

      • 用户组
      • 安全角色
      • 权限资源
      • 权限分配
    • 系统监控

      • 系统监控
  • 开发者手册

    • 安装部署

      • 环境要求
      • 生产环境
    • 技术架构

      • 技术栈
    • API 文档

      • 概述
      • PC端 JS-API

        • 全局变量
        • PC表单
        • PC视图
      • 移动端 JS-API

        • 移动端
        • 移动表单
        • 移动视图
      • 服务端 API

        • 流程
        • 表单模型
        • 任务调度
        • 自定义服务
    • 常用案例

      • PC表单

        • 表单数据
        • 表单校验
        • 生命周期
        • 组件事件
        • 扩展方法
      • PC视图

      • 移动表单

      • 移动视图

      • 自定义服务

        • 写在案例之前
        • 环境搭建
        • Swagger 文档
        • 前台通用请求方式
        • 自定义返回值
        • ajax 参数
        • 按钮点击给明细表赋值
        • 表单展示接口报错
        • 数据选择使用ajax
        • 数据源使用后台接口
        • 根据临时变量的值给后台传参
        • 批量删除
        • 删除按钮
        • 入库判断库存
        • 表单调用后台自定义接口
        • 后台发起流程
        • 出库校验
        • 视图调用后台自定义接口
  • 视频教程

    • 培训视频

      • 2024-08-30
  • 常见问题

    • 问题反馈

节点配置

通用节点配置

常规

常规节点可以配置当前节点的基本信息

  • ID:当前节点的ID
  • 名称:当前节点的显示名称
  • 描述:当前节点的描述信息

执行监听器

暂略

开始/结束

开始/结束节点分别代表流程的开始和结束,是最基本的两个基础节点,在ZeroCloud中,任何的流程必然以开始节点开始,以结束节点结束

开始节点需要配置数据表,这样数据才能落库。

审批

审批节点主要用于确定对审批的办理人和审批的规则

审批节点

此区域主要用于配置审批节点的审批规则,如办理人、处理规则等

其中:

办理人

指定此审核节点的办理人(处理人),详细规则请参考办理人配置部分的介绍

共享处理

指定此审核节点是否允许多个办理人共享处理,打开共享处理,任务会进入到共享任务中,需要先获取处理权,才能继续处理

到期时间

指定此审核节点的到期时间

无对应办理人策略

当此审核节点没有对应的办理人时执行的操作

  • 跳过本步骤:自动跳过当前审核节点
  • 不允许提交:不允许用户执行提交操作

自动同意规则

指定此审核节点在何时可以自动同意,可以有效的避免重复审核

  • 办理人为发起人:如果当前节点的办理人是发起人自己,将自动跳过此审核节点

操作权限

给指定节点配置权限 配置完成后,发起流程,就可以看到操作权限

  • 退回重填:退回重填,回到发起节点
  • 退回某部步: 首先在流程定义中获取所需节点的 元素id,再填入历史节点id中
  • 委托:指定某人代替自己处理事务
  • 撤销:撤销这支流程,比如请假之后又不想请了
  • 删除:删除这只流程

表单配置

配置当前审核节点对应的表单

  1. 点击选择框右侧的放大镜图标
  1. 在打开的选择表单对话框中,选择对应的表单即可。明细表需要勾选明细表的选项,根据需求决定是否需要自动创建行。

数据表配置

配置当前审核节点使用的数据表

  1. 点击编辑表定义按钮
  1. 在打开数据表定义页面中配置需要使用到的数据表
  1. 数据表中可以设置默认值及提交值

默认值为这个字段没有值的时候才会生效。距离说明,前置节点已经设置了提交值,那么后置节点的默认值不会生效。

提交值跟默认值都是实际都是java语句,所以需要赋值常量时,需要加上""括起来。 提交值跟默认值也支持使用上下文变量直接赋值。

右侧通过单选框的形式控制读写权限。

会签

会签节点和审批节点类似,与审核节点不同,会签节点有一些额外的配置,可以更灵活的控制多人审核时的场景

配置审核节点中的项和普通的审核节点一致,区别是额外多了一个会签节点的配置

其中:

会签模式

用于控制会签的签核模式,有顺序签核以及并行签核

  • 顺序签核:是由审核节点中配置的办理人列表的顺序依次审批

  • 并行审核:则是办理人列表中所有办理人并行审批

会签通过比例

会签通过比例用于配置在审核的通过规则

  • 全部通过:当所有办理人均同意时方可通过
  • 半数以上通过:当一半以上办理人同意时通过
  • 按比例通过:当指定比例的办理人同意时通过
  • 按数量通过:当指定数量的办理人同意时通过
  • 一票通过:有一个办理人同意即可通过

自由签核

自由签核节点和会签节点类似,在配置中仅多了一个会签人指定节点选项

知会节点

知会节点正常配置办理人,但是无需办理人做任何操作,流程自动流转到下一个节点。

该任务会推送到流程门户->待办事项->我的待阅中,在这里可以进行已阅操作,或者知会操作

互斥网关

互斥网关和其他节点不同,条件节点的主要配置不在节点配置中,而在连线的配置中

在连接条件节点和其他节点后,选择连线,出现以下配置页面

其中:

条件类型

用于控制判断的方式,可选脚本或表达式,脚本方式可以通过脚本来进行条件判断,而表达式方式则允许通过js表达式进行判断

条件内容

填写具体的脚本或表达式

例如,需要判断指定数据表中的amount字段是否大于1000,这里使用的是juel表达式,建议使用juel表达式

${form_data_snapshot.ZeroCloudData.purchase_m.get(0).amount>=1000}

例如判断这个字段中是否包含指定字符

${form_data_snapshot.erp.buyer.get(0).user_name.indexOf("老师")!=-1}

这里也支持Groovy条件语言


def name = form_data_snapshot?.erp?.buyer?.get(0)?.user_name?: ''
def containsNurse = name.contains('护士') 

使用提示

选中连线后,点击小扳手

选择默认流程。 这样在互斥网关发现没有符合条件内容的路径时,会走默认流程,如果不设置,流程就会报错。

或者能确定路径的配置可以包含所有情况,也可以。

并行网关

并行网关可以将流程的走向分离或整合,如果流程经过并行网关时,会分为多条流程继续执行,如果多条流程经过同一个并行网关时,会合并为一条流程

通过并行网关,可以控制流程走向

包容网关

包容网关是互斥网关和并行网关的综合体。当进行决策判断时,与互斥网关所不同的是,所有条件为true的后继分支都会被依次执行,如果所有分支条件决策都为false且该网关定义了一个默认的连线,那么该默认分支将被执行。如果没有可到达的分支,抛出异常,该网关所处的分支被中断,在流程设计上应避免这种情况发生。包容网关有分支和合并两种行为,允许多进多出。

SQL脚本

数据源

首先需要配置sql语句交互的数据源

通过sql语句,直接交互数据库

赋值可以使用js变量,注意用''括起来。

INSERT INTO `erp`.`stock`(`item_code`, `item_name`) VALUES ('010', '${formData["erp"]["buyer"][0]["user_name"]}')

sql脚本支持freeMarker语法

以下示例很简单,只是从一张buyer表中取一个字段,插入另一个stock表中。没有什么业务语义,仅为展示freeMarker用法。

设置变量

<#assign item_code = '010'>
<#assign item_name = formData["erp"]["buyer"][0]["user_name"]>

INSERT INTO `erp`.`stock`(`item_code`, `item_name`) VALUES ('${item_code}', '${item_name}')

判断传参是否为空

<#assign item_code = '010'>
<#assign user_name_exists = formData["erp"]["buyer"][0]["user_name"]?has_content>

<#if user_name_exists>
  <#assign item_name = formData["erp"]["buyer"][0]["user_name"]>
<#else>
  <#assign item_name = 'Default User Name'>
</#if>

INSERT INTO `erp`.`stock`(`item_code`, `item_name`) VALUES ('${item_code}', '${item_name}')

循环明细表并判断


<#list formData["erp"]["buyer"] as buyer>
   <#assign item_code = '010'>
   <#assign user_name_exists = buyer.user_name?has_content>

    <#if user_name_exists>
    <#assign item_name = buyer.user_name>
    <#else>
    <#assign item_name = 'Default User Name'>
    </#if>

INSERT INTO `erp`.`stock`(`item_code`, `item_name`) VALUES ('${item_code}', '${item_name}')

     
</#list>

HTTP服务

通过http调用后端接口,完成业务逻辑

  • Method:接口调用方式

  • URL:接口请求路径,当请求的是平台内置的自定义服务时,可以根据nacos别名使用/custom/**/**来请求。 使用本地项目或者其他第三方项目时,使用公网可以访问的url

  • Query:携带在路径上的参数,可以点击右侧放大镜选择数据

  • Header:携带在请求头上的参数

  • Content Type:body请求体类型

  • Body:post请求请求体,使用java代码封装成请求的json格式数据

示例语句就是把[数据源][表名]转换为一组json格式的数据

return new ObjectMapper().writeValueAsString(formData["zerocloud_data"]["purchase_t"]
);

调用子流程

绑定流程key,可以在流程中调用流程

嵌入子流程

嵌套子流程跟住流程使用一套数据,使用嵌套子流程的目的是方便流程展示,保证流程可读性。 点击右下角小箭头可以编辑子流程

进入子流程后,必须配置开始节点跟结束节点 点击左上角超链接,可以回到主流程。

Prev
流程设计
Next
办理人配置