- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
-
用户指南(低代码)
- AstroZero低代码使用流程
- 授权用户使用AstroZero并购买实例
- 添加AstroZero开发者用户
- 使用AstroZero创建应用
-
使用AstroZero开发应用后端
- 应用后端开发概述
- 对象
- 事件
- 脚本
-
服务编排
- AstroZero服务编排概述
- 创建空白AstroZero服务编排
- 定制已有AstroZero服务编排
-
为AstroZero服务编排设置图元
- 为AstroZero服务编排添加子服务编排图元
- 为AstroZero服务编排添加脚本图元
- 为AstroZero服务编排添加记录创建图元
- 为AstroZero服务编排添加记录删除图元
- 为AstroZero服务编排添加记录查询图元
- 为AstroZero服务编排添加记录更新图元
- 为AstroZero服务编排添加发送邮件图元
- 为AstroZero服务编排添加发送事件图元
- 为AstroZero服务编排添加赋值图元
- 为AstroZero服务编排添加循环图元
- 为AstroZero服务编排添加跳出循环图元
- 为AstroZero服务编排添加决策图元
- 为AstroZero服务编排添加等待图元
- 为AstroZero服务编排添加BO图元
- 为AstroZero服务编排添加连接器图元
- 为AstroZero服务编排添加生成文档图元
- 管理AstroZero服务编排
- 自定义AstroZero服务编排的URL
- 触发器
- 工作流
- 定时任务
-
使用AstroZero开发应用前端
- 应用前端开发概述
-
标准页面
- AstroZero标准页面概述
- 创建空白AstroZero标准页面
- 使用模板创建AstroZero标准页面
- 为AstroZero标准页面添加组件
-
设置AstroZero标准页面组件属性
- 设置AstroZero标准页面容器组件属性
- 设置AstroZero标准页面表单组件属性
- 设置AstroZero标准页面表格组件属性
- 设置AstroZero标准页面分栏组件属性
- 设置AstroZero标准页面栅格容器组件属性
- 设置AstroZero标准页面列表视图组件属性
- 设置AstroZero标准页面表格(新)组件属性
- 设置AstroZero标准页面图片组件属性
- 设置AstroZero标准页面二维码组件属性
- 设置AstroZero标准页面分页组件属性
- 设置AstroZero标准页面模态框组件
- 设置AstroZero标准页面输入框组件属性
- 设置AstroZero标准页面下拉框组件属性
- 设置AstroZero标准页面按钮组件属性
- 设置AstroZero标准页面上传组件属性
- 设置AstroZero标准页面面包屑组件属性
- 设置AstroZero标准页面视频播放组件属性
- 添加事件实现AstroZero组件间交互
- 添加库扩展AstroZero标准页面功能
- 查看AstroZero标准页面性能
- 调测AstroZero标准页面
- 将AstroZero标准页面保存为模板
- 管理AstroZero标准页面
-
高级页面
- AstroZero高级页面概述
- 创建AstroZero高级页面
- 为AstroZero高级页面添加组件
-
设置AstroZero高级页面预置组件属性
- 设置AstroZero高级页面轮播组件属性
- 设置AstroZero高级页面图片组件属性
- 设置AstroZero高级页面文本编辑组件属性
- 设置AstroZero高级页面自定义背景框组件属性
- 设置AstroZero高级页面基本柱图组件属性
- 设置AstroZero高级页面基本折线图组件属性
- 设置AstroZero高级页面基本饼图组件属性
- 设置AstroZero高级页面水位图组件属性
- 设置AstroZero高级页面散点图组件属性
- 设置AstroZero高级页面雷达图组件属性
- 设置AstroZero高级页面仪表盘组件属性
- 设置AstroZero高级页面翻牌器组件属性
- 设置AstroZero高级页面路由导航和路由视图组件属性
- 为AstroZero高级页面添加自定义组件
- 为AstroZero高级页面组件绑定数据
- 添加事件或宏实现AstroZero高级页面组件交互
- 调测AstroZero高级页面
- 查看AstroZero高级页面性能
- 管理AstroZero高级页面
- 报表
- 使用AstroZero进行应用集成开发
- 使用AstroZero对应用进行个性化设置
- 发布并部署AstroZero开发的应用
- 管理AstroZero中已安装的应用
- AstroZero低代码平台管理中心
-
经典版开发指导
- 经典版入门必读
- 应用
- 对象
- 标准页面
- 高级页面
- 服务编排
- 脚本开发
- BPM服务编排
- API接口
- 集成开发
- 消息事件
- 触发器
- 报表和仪表板
- CICD持续集成与交付
- 服务组件(BO)
- 调测能力
- 工程能力
- 原生服务
- 其他功能
- 管理中心
- 白名单特性
- 用户指南(零代码)
- 最佳实践
- API参考
-
常见问题
- 高频常见问题
- 产品咨询类
-
应用后端开发
- 如何区分不同账户间的数据库对象?
- 在AstroZero对象中删除字段后重新创建时,引用的地方报错
- 如何刷新AstroZero对象的页面布局?
- 如何彻底删除AstroZero应用目录树中的数据?
- AstroZero自定义对象预置的owner字段,用于记录什么用户?
- AstroZero脚本支持使用哪些语言和库?
- 在AstroZero脚本中执行sql语句时,可以不用@useObject修饰数据对象吗?
- 在AstroZero脚本中,如何返回zip压缩文件内容?
- 如何通过AstroZero脚本,导出xls文件让用户下载?
- AstroZero脚本中是否支持multipart/form-data请求?
- AstroZero服务编排中涉及数据操作的脚本图元,在其他图元操作失败的情况下,是否可以回滚?
- 事件触发的AstroZero服务编排,发送事件后,服务编排没有运行?
- 在AstroZero服务编排或工作流中,引用的资源无法编辑
- 如何实现一个资源被多个AstroZero应用的服务编排调用?
- 在AstroZero服务编排中,支持跨应用引用资源吗?
- 在AstroZero服务编排、工作流或脚本中,邮件发送功能不可用?
- AstroZero开发者如何使用自己的邮箱发送邮件?
-
应用前端开发
- 在AstroZero标准页面中,如何调用服务编排或脚本?
- 在AstroZero标准页面组件较多时,如何快速选中组件?
- 表格字段太多,导致AstroZero标准页面无法完整显示,该如何处理?
- 在AstroZero标准页面中,如何实现有子表的表格?
- 在AstroZero标准页面中,如何实现下拉框选项值的筛选功能?
- 在AstroZero标准页面中,如何实现移动端上拉异步加载数据功能?
- 如何查看AstroZero标准页面的URL格式?
- 在AstroZero标准页面弹窗的onOk事件中,不想关闭弹窗该怎么处理?
- 在AstroZero中编排高级页面时,如何实现不加载组件库资源?
- 在AstroZero中自定义高级页面组件(widget)时,修改了JS文件,修改部分不生效?
- 在AstroZero组件库中,部分组件在组件详情页看不到更新和编辑入口
- 在AstroZero高级页面中,如何进行统一的HTTP状态拦截?
- 配置高级页面组件桥接器实例属性时,如何设置下拉框中的选项值?
- 在AstroZero高级页面中,如何实现所有组件都加载完成后,再执行某段逻辑?
- 在AstroZero中,如何实现多人协作开发?
- 在AstroZero运行环境中,如何实现游客访问标准页面?
- 应用发布与部署
- Astro轻应用平台管理中心
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
通过AstroZero流程模板创建出差审批电子流
方案概述
AstroZero低代码平台基于业界BPMN 2.0标准,实现了自己的业务流程管理系统,即工作流。AstroZero中的工作流是一套图形化的流程编排引擎,着重于构建带有用户交互行为的业务流程,例如审批流、工单派发流程等。本实践通过创建一个出差审批应用,帮助您快速熟悉AstroZero中的工作流。
员工出差是企业运营中最常见的业务场景,涉及到一系列的管理流程,例如出差申请、审批、行程安排、费用报销等。本实践以一个简单的员工出差场景,即员工在出差前需要提交一个出差申请审批的电子流程,员工提交出差申请后,主管处理审批或拒绝提交人申请,向您介绍如何使用AstroZero中的工作流。本示例中的出差审批应用主要包括如下功能:
- 基于工作流模板创建出差电子流。
- 发送邮件。
![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001900612690.png)
操作流程
在AstroZero中开发出差审批应用的流程,如图2所示。
- 步骤一:添加业务用户并进行授权
本示例中的应用包括主管和员工两种角色的业务用户。创建出差审批应用前,需要将员工、主管添加到AstroZero中。
- 步骤二:创建队列
队列是AstroZero中的一种成员集,即在实际业务场景中,用来记录一类具有相同权限和任务对象的成员集。本示例中需要创建2个队列,用于在工作流中区分不同角色在流程中处理的任务。
- 步骤3:创建空白应用
创建应用是在AstroZero开发环境开发项目的第一步,也是端到端构建软件应用的入口。
- 步骤四:创建工作流
基于工作流中HR类流程模板,创建工作流,并设置各泳道责任人。
- 步骤五:配置BTA应用
在应用配置中,定义出差审批应用的导航菜单栏。
- 步骤六:业务功能调测
验证出差审批流程是否按照预期执行,即员工提交出差申请,主管对申请进行审批,分别测试审批通过、拒绝与重填。
步骤一:添加业务用户并进行授权
本示例中的应用包括主管和员工两种角色的业务用户。创建出差审批应用前,需要将员工、主管添加到AstroZero中。
- 在统一身份认证服务IAM中创建两个子账号(主管和员工)。
- 在AstroZero中添加子账号并授权。
- 以华为账号登录华为云。
- 单击
,在查找框中搜索“Astro轻应用”,单击查找的结果,进入AstroZero服务控制台。
- 在实例页面,单击“进入首页”。
- 在页面左上角,单击
,选择“环境管理 > 环境配置”,进入AstroZero环境配置。
图3 进入AstroZero环境配置 - 在左侧导航栏中,选择“用户安全 > 用户”,单击“添加IAM用户”。
- 在全部用户列表中,选择1中创建的子账号,单击“下一步”。
图4 选择待添加的子账号
- 赋予主管和员工System Administrator Profile权限,单击“保存”。
System Administrator Profile为系统管理员权限,拥有这个权限的用户拥有AstroZero全部权限。在实际的出差审批应用中,只需赋予业务用户Portal User Profile或Anonymous User Profile权限即可。此处为了验证出差审批应用的功能,赋予业务用户(员工Mike、主管Helen)System Administrator Profile权限。如何给业务用户授权,请参见配置业务用户。图5 给子账号授权
步骤二:创建队列
队列是AstroZero中的一种成员集,即在实际业务场景中,用来记录一类具有相同权限和任务对象的成员集。本示例中应用需要使用到表1中2个队列,用于在工作流中区分不同角色在流程中处理的任务。
步骤3:创建空白应用
创建应用是在AstroZero开发环境开发项目的第一步,也是端到端构建软件应用的入口。
- 以华为账号登录AstroZero服务控制台。
- 在实例列表中,单击“进入首页”,进入应用开发页面。
- 在左侧导航栏中,单击“应用”,进入低代码应用页面。
- 单击新建低代码应用后的
,进入新建空白应用页面。
图9 进入创建轻应用入口 - 在新建低代码应用中,选择“标准应用”,单击“确定”。
- 设置应用标签和名称,此处均设置为BTA。
图10名称前模糊掉的内容为命名空间,在AstroZero中为了避免不同租户间数据的重名,租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间,创建后不支持修改,请谨慎定义。
- 单击“新建”,进入BTA新版应用设计器。
图11 BTA新版应用设计器
步骤四:创建工作流
基于工作流中HR类流程模板,创建工作流,并设置各泳道责任人。
- 创建工作流。
- 在BTA新版应用设计器的“开始”页面中,单击“新建工作流”。
- 在新建工作流页面,单击“基于模板”,设置标签、名称和描述信息。
图12 添加工作流
- 单击“选择模板”,选择“HR”中的“出差申请”模板后,单击“创建”。
图13 选择出差申请模板
创建完成后,自动进入出差申请工作流编辑页面。在设置工作流前,您可以先通过表2了解出差申请工作流中各节点的功能。
图14 出差申请工作流开发页面表2 出差申请工作流中各节点功能介绍 编号
节点
功能说明
1
提交申请
开始节点,调用一个标准表单TravelRequest,供出差申请人提交出差申请。
2
数据映射
将出差申请标准表单中的请求字段映射到对象中。
3
申请审批
用户任务,将对象中的字段渲染到标准表单Approve并且确定审批人。
4
审批网关
审批人进行通过或拒绝两种操作。
5
数据映射
申请拒绝后,将Approve标准表单中的字段映射回TravelRequest标准表单。
6
重新填写请求
刷新TravelRequest表单中的内容,重新提交出差申请。
7
数据映射
将TravelRequest表单中的字段值映射到Approve中,重新发起审批申请。
8
发送邮件
审批通过,发送邮件将结果告知出差申请人。
9
流程结束
结束节点,执行到此整个工作流执行结束。
- 设置工作流,配置各泳道处理人。
在进行工作流设计前,请先参照工作流中内容对工作流设计界面进行全面的了解。
- 在工作流开发页面,单击“Process Owner”泳道,配置工作队列为“Employee”。
图15 配置员工为申请人
- 单击“Reviewer”泳道,配置工作队列为“Manager”。
图16 配置主管为审批人
- 单击泳道“Process Owner”上的“重新填写请求”用户任务元素,设置任务标题为“待重新提交”。
执行该操作的目的是,后续在“我的待办”中可以看到“待重新提交”的任务状态。
图17 配置为待重新提交 - 单击泳道“Reviewer”上的“申请审批”用户任务元素,设置任务标题为“待主管审批”。
执行此操作的目的是,后续在“我的待办”中可以看到“待主管审批”的任务状态。
图18 配置为待主管审批 - 单击
,保存工作流。
- 单击
,启用工作流。
- 在工作流开发页面,单击“Process Owner”泳道,配置工作队列为“Employee”。
步骤五:配置BTA应用
在应用配置中,定义出差审批应用的导航菜单栏。
- 在BTA新版应用设计器的“开始”页面,单击底部的“应用导航设置”。
图19 进入应用配置
- 在“主导航设置”页签,单击“Home”,将“菜单名称”设置为“我的待办”,单击“保存”。
图20 编辑页签
- 在主导航设置中,单击“新建”,新建“我要出差”菜单项,单击“保存”。
图21 添加我要出差页签图22 导航条最终效果
- 在BTA新版应用设计器主菜单中,单击“运行 > 立即运行”,可预览出差审批应用。
图23 出差审批应用效果图
到此,您已完成出差审批应用的开发。
思考:如何将导航栏菜单在出差审批应用顶部显示?
在应用配置页面的“外观设置”中,可以修改菜单样式、应用图标等。
图24 修改菜单样式、应用图标图25 设置后效果
步骤六:业务功能调测
出差审批测试流程:员工提交出差申请,主管对申请进行审批,分别测试审批通过、拒绝与重填。
- 我是员工,填写出差申请。
- 以员工账号(本示例为Mike),登录AstroZero服务控制台。
图26 员工登录AstroZero
- 在实例页面,单击“进入首页”。
- 在左侧导航栏中,单击“应用”,进入低代码应用页面。
- 在低代码应用列表中,单击已创建BTA应用后的“编辑”,进入BTA应用设计器。
- 在主菜单中,单击“运行 > 立即运行”,进入出差审批应用预览页面。
- 单击“我要出差”,填写出差信息,单击“提交”。
- 在“我的待办 > 我的申请”中,可查看到已提交的出差申请电子流。
图28 查看我的申请
- 以员工账号(本示例为Mike),登录AstroZero服务控制台。
- 我是主管,审批出差申请。
- 以主管账号(本示例为Helen),登录AstroZero服务控制台。
图29 主管登录AstroZero
- 在实例页面,单击“进入首页”。
- 在左侧导航栏中,单击“应用”,进入低代码应用页面。
- 在低代码应用列表中,单击已创建BTA应用后的“编辑”,进入BTA应用设计器。
- 在主菜单中,单击“运行 > 立即运行”,进入出差审批应用预览页面。
- 单击“我的待办”,在我的待办列表中,单击“待主管审批”,进入主管审批页面。
图30 我的待办图31 主管审批页面
- 单击“通过”或“驳回”。
恭喜您,完成了出差审批应用的开发和功能测试。通过本章节的操作,相信您对AstroZero中的轻应用及工作流有了一定的了解。
思考:如何将出差审批应用发布到运行环境?发布到运行环境后,队列中数据会同步到运行环境中吗?
- 问题1:免费版不提供运行环境,如果需将应用发布到运行环境,请购买专享版或专业版本,详情可参见购买AstroZero商用实例。如何编译发布应用,请参见如何一键部署应用。
- 问题2:出差审批应用发布到运行环境后,开发环境中的队列信息不会同步到运行环境中,请在运行环境中重新执行步骤二:创建队列。
- 以主管账号(本示例为Helen),登录AstroZero服务控制台。