全部文档
文档中心工作流UX 配合使用合同审批完整示例

合同审批完整示例

本例串联一笔合同从保存、发起、待办跳转、审批回传到完成的过程。完成后,实施人员可以用同一方法配置请假、预算或其他业务审批。

发起人提交合同 HT-2026-001,金额为 1200.50;审批人从待办打开合同,输入核准金额并完成任务;工作流记录任务结果和核准金额,随后结束。业务表单始终展示同一笔合同。

需提前准备可保存、查询合同的业务数据源,以及发起人和审批人的测试账号。账号应具有相应页面和业务数据权限。

创建工作流启动参数:contract_id 为字符串,amount 为数字,均按业务设置为必填。创建全局变量:approved_amount 为数字,approval_result 为字符串。

编排“开始 → 单人任务‘合同审批’ → 结束”。为单人任务配置有效的审批人,添加业务所需的完成动作,并记录该动作配置的结果值。任务指派方法见 任务指派配置

在 UX 放置合同表单和提交按钮。按钮事件先校验、保存业务数据;保存成功后执行“发起流程”。

启动参数 contract_id 取保存后的合同主键;amount 取合同金额。先用固定测试合同验证映射,再绑定真实数据源。

创建一个 UX 处理页,包含以下内容:

  • 合同表单:用 $urlQuery.contract 查询合同主键。

  • 核准金额输入项:类型与工作流金额变量一致。

  • 任务处理:任务实例 ID 使用 $urlQuery.task

  • 流程记录:流程实例 ID 使用 $urlQuery.proc

保存 UX,再返回工作流继续配置。

在“合同审批”任务的待办跳转界面选择上述 UX,配置:

  • contract 的值为 wfi$contract_id

  • task 的值为 acp$task_id

  • proc 的值为 wfp$proc_id

发起人的查看入口则在全局待办设置中配置,传合同主键与流程实例 ID。查看页不应依赖必须存在的任务 ID。

在 UX 任务处理的“完成任务所需参数”中新增 approved_amount,使用页面上核准金额的值。

在工作流当前人工任务的数据映射中配置:

  • 全局变量 approved_amountacr$extra_res.approved_amount

  • 全局变量 approval_resultacr$outcome

后续节点使用 wfv$approved_amountwfv$approval_result。如要按审批结果分流,应增加网关,并使用实际配置的结果值,不能直接假定按钮显示名称就是结果值。

如果核准金额也需要保存到业务数据表,另外配置业务保存动作。工作流回传不等于业务数据已落库。

  1. 保存 UX,保存并发布工作流。

  2. 以发起人身份保存合同并发起,确认只有一条目标流程实例。

  3. 在流程监控检查启动参数:合同主键和金额正确。

  4. 以审批人身份从待办打开,确认合同、任务、流程记录彼此对应。

  5. 填写核准金额并完成任务,核对业务保存结果和流程状态。

  6. 在流程监控中核对全局变量与预期一致。

待补截图 UX-08:一笔测试合同的发起页、审批页和流程监控变量结果,三处使用相同的脱敏合同编号。

缺少合同主键时不允许发起;保存失败时不继续发起或完成;重复点击时检查是否产生重复流程;普通查看者不能代替审批人办理;历史实例应展示对应版本的流程记录。

遇到不一致,按“启动参数 → 跳转参数 → UX 取值 → 完成任务参数 → 数据映射”的顺序排查,见 常见问题与排查

回到顶部

咨询热线

400-821-9199