跳到主要内容

快速开始:采购审批流程

本教程用一套最小采购申请完成“定义资产 → 构建流程 → 发布 → 运行验证”的闭环。完成后,申请人可以提交采购申请,部门负责人审批,高额采购会继续进入财务审批。

1. 准备工作​

开始前确认:

  • 当前应用有一个状态为 DEVELOPING 的可编辑版本。
  • 已准备 Applicant、Department Manager、Finance Approver 三类测试用户或角色。 Role List
  • 申请人的部门能够解析出部门负责人。
  • 你有流程资产编辑和应用发布权限。

2. 创建字段​

进入 Process Designer → Task Configuration → Fields,创建以下自定义字段:

LabelField Type关键配置
Applicant DepartmentDepartment单选部门
AmountNumber可配置货币单位
CategorySelectHardware、Software、Service
Required DateDate日期
ReasonText Area长文本
AttachmentsAttachment按需要限制数量和类型
Department Review CommentText Area部门经理填写审核意见
Department Review ResultSelect选项为 Approved、Rejected;由工作流自动写入
Finance Review CommentText Area财务审批人填写审核意见
Finance Review ResultSelect选项为 Approved、Rejected;由工作流自动写入

Field Key 在字段保存时由系统自动生成,不需要也不能由用户填写。后续配置流程条件、处理人规则或 TQL 时,应从编辑器提供的字段候选项选择,不要根据 Label 猜测 Key。

标题、状态、创建人、处理人、创建时间等使用系统字段,不要创建同义字段。

采购申请字段

Department Review Result 和 Finance Review Result 不设置默认值,也不要求申请人或审批人手工选择。它们的初始值为空,由对应 Approve / Reject 流转的 Post Function 写入。

预期结果: Fields 列表同时显示系统字段和上述十个自定义字段。

3. 创建表单​

先理解两类绑定,避免把审核表单误当成 Task Type 的第四种表单:

  • Task Type 表单 只有 Create Form、Edit Form 和 View Form 三个位置。
  • 流转表单 绑定在 Workflow 的具体流转上,用户点击 Approve 或 Reject 时才打开。

进入 Task Configuration → Forms,创建以下表单资产:

Task Forms

  • purchaseCreate:Create Form。申请人创建任务时填写标题、部门、金额、类别、需求日期、原因和附件。 PurchaseCreate Form
  • purchaseView:View Form。只读展示申请信息、Department Review Result、Department Review Comment、Finance Review Result 和 Finance Review Comment,作为统一任务详情。本案例提交后不开放业务字段编辑,因此 Edit Form 也选择 purchaseView;如果业务允许申请人修改未结束的任务,可改为复用 purchaseCreate,或单独创建 purchaseEdit。
  • managerReview:Department Review 的流转表单。申请信息只读,只允许部门经理填写 Department Review Comment。 managerReview Form
  • financeReview:Finance Review 的流转表单。申请信息只读,只允许财务审批人填写 Finance Review Comment。

此时只创建表单资产,不需要立即绑定 Task Type。完成工作流和权限方案后,再在第 6 节统一建立引用关系。

预期结果: Forms 列表中有 purchaseCreate、purchaseView、managerReview 和 financeReview 四个表单资产。

4. 创建步骤和工作流​

在 Task Configuration → Steps 创建:

  • Department Review
  • Finance Review

Step 是可以被多个 Workflow 引用的业务环节资产,不只是当前流程节点的显示名称。工作流中的 Human Activity 绑定 Step 后,运行任务会记录该 Step 的稳定 stepCode;跨流程报表、TQL、办理时长和 SLA 等统计才能把不同 Workflow 中的同一业务环节聚合在一起。

例如,Purchase Approval 和 Expense Reimbursement 两个流程都需要财务审批时,应让两个流程的财务人工节点共同引用这里创建的 Finance Review Step。这样后续可以跨两个流程统计 Finance Review 的任务量、平均办理时长和 SLA 违约率。不要在两个流程中分别创建仅名称相同的临时节点,否则它们没有共同的 Step 标识,无法作为同一个可复用业务环节可靠统计。

Department Review 同理:如果其他流程也存在同一语义的部门审核环节,应复用这个 Step;如果职责、统计口径或 SLA 定义不同,则应创建独立 Step,避免把不同业务阶段错误合并。

再进入 Task Configuration → Workflows,创建:

  • Name:Purchase Approval
  • Key:按界面规则填写稳定标识,例如 PURCHASEAPPROVAL;保存后不要仅为修改显示名称而更换 Key
  • Category:Procurement
  • Allow Revoke:按业务需要开启

在画布中配置:

Start → Department Review → Amount Gateway
├─ 低额 → Approved
└─ 高额 → Finance Review → Approved

Department Review / Finance Review 拒绝 → Rejected

采购审批流程与表单绑定

上图中的配置分为路由、处理人、表单、校验和结果写入五部分:

  1. Task Type 绑定 purchaseCreate(Create)和 purchaseView(View / Edit)。
  2. Department Review 的处理人从 Applicant Department 解析部门负责人;Finance Review 的处理人选择 Finance Approver 角色。
  3. Department Review 通过后进入 Amount Gateway。低额连线配置 Amount < 10000,直接到 Approved;高额连线配置 Amount >= 10000,进入 Finance Review。
  4. 选中 Department Review 的 Approve、Reject 离开连线,在右侧 Transition Form 选择 managerReview。
  5. 选中 Finance Review 的 Approve、Reject 离开连线,在右侧 Transition Form 选择 financeReview。
  6. 保持 Show Button 开启,并分别设置清晰的流转名称、确认文案和提示。
  7. 为审核意见增加必填校验:部门流转校验 Department Review Comment,财务流转校验 Finance Review Comment。
  8. 为 Department Review 的 Approve 流转添加 Functions → Set Task Field:Field Name 选择 Department Review Result,Field Value 填写 Approved。
  9. 为 Department Review 的 Reject 流转添加 Functions → Set Task Field:Field Name 选择 Department Review Result,Field Value 填写 Rejected。
  10. 为 Finance Review 的 Approve / Reject 流转按相同方式设置 Finance Review Result,分别写入 Approved / Rejected。

同一个审核表单可以同时绑定该节点的 Approve 和 Reject 流转。这样处理人无论批准还是拒绝,都会先打开对应流转表单并填写审核意见;校验通过且流转成功后,Set Task Field 再根据实际点击的流转自动写入审核结果。purchaseView 最终以只读方式统一展示意见和结果。

不要把 Result 字段做成审核人可编辑的 Select,也不要只依赖表单按钮修改页面显示。结果必须配置在对应流转的 Functions 中,才能保证保存的字段值与实际执行的 Approve / Reject 路径一致。

配置条件、校验器和 Functions 时,应从编辑器候选项选择字段。不要手工复制字段 Label 或系统生成的 Field Key,以免保存了无法在设计器中正确回显的字段引用。

下图是实际配置的工作流: 工作流配置

预期结果: 保存工作流后没有未连接节点;从 Start 至每个结束节点都有完整路径。

使用 Codex 或 Claude Code 辅助配置工作流

如果本机已经完成 Spark CLI 安装与认证,并安装了 Codex 集成 或 Claude Code 集成,可以直接把流程需求描述给 AI,由 AI 调用 Spark CLI 的语义化命令创建节点、连接路由、绑定 Step 和表单,并配置 Condition、Validator 与 Post Function。

建议在描述中明确目标 App、设计版本、节点、分支条件、处理人、流转表单、校验规则和字段写入规则。例如:

在 spark-sample 当前 DEVELOPING 版本中配置 Purchase Approval:
复用 Department Review 和 Finance Review Step;部门通过后按 Amount 分支,
小于 10000 直接通过,大于等于 10000 进入财务审批;任一审批拒绝则结束为 Rejected。
部门和财务流转分别绑定 managerReview、financeReview,审核意见必填,
Approve / Reject 后分别把对应 Review Result 写为 Approved / Rejected。
写入前先展示目标 App、版本、工作流和完整变更清单,等我确认后执行,最后运行流程检查。

AI 辅助配置不会替代设计评审。确认前应核对目标 App、版本和工作流;修改后仍需在流程设计器中检查图形结构,并在 TEST 环境执行真实用户、权限、组织和分支验证。命令能力和完整示例见 工作流语义化编辑。

5. 创建权限方案​

第一次配置权限时,不需要从空白方案逐条创建授权规则。在 Data & Permission → Permissions 中点击 Import System Default,系统会复制一份可编辑的默认权限方案:

导入系统默认权限方案

导入后进入 Configure 检查授权规则。为便于区分多个任务类型,可以使用 Edit 将方案名称修改为 Purchase Request Permission;本案例截图仍保留导入时的 Default Task Permission 名称。如果已经手工创建了一个空白方案,也可以进入 Configure,在空状态中导入同一套默认规则。

权限方案中的每一行都是一条 Permission Item + Grant Type + 可选 Grant Parameter 授权规则。对于本案例,导入的默认方案已经包含以下关键规则:

Permission ItemGrant Type在采购流程中的作用
Create TaskSystem User允许已登录用户创建采购申请
View TaskTask CreatorApplicant 创建任务后,以任务创建人身份查看自己的申请
View TaskCurrent AssigneeDepartment Manager 或 Finance Approver 收到待办后查看任务
View TaskHistorical Assignee已经处理过任务的审批人继续查看该任务
Transition TaskCurrent Assignee只有当前待办处理人可以执行 Approve / Reject 等流转
Revoke TaskTask CreatorApplicant 可以按工作流规则撤回自己创建的申请
Log WorkCurrent Assignee允许当前处理人登记工时;它不控制 Approve / Reject

这里不需要再为 Finance Approver 配置一条 System Role 的 View 或 Transition Task 权限。Finance Approver 角色用于 Workflow 中 Finance Review 的处理人分配;高额采购进入该节点并完成分配后,实际接收任务的用户就是 Current Assignee,会自动获得上表中的查看和流转权限。直接把 View 授予整个 Finance Approver 系统角色,会让该角色下所有用户都能查看绑定此权限方案的全部采购任务,而不只是高额分支。

如果业务要求 Applicant 在提交后仍能修改任务,可以额外添加 Edit Task + Task Creator;是否真正允许某个状态下编辑,还应同时由工作流状态和可用操作控制。Permission Item、Grant Type 和 Grant Parameter 的实际候选项来自当前系统扩展注册项,请从界面候选项选择。

6. 创建 Task Type​

进入 Task Configuration → Task Types,创建:

  • Task Type Key:PURCHASE
  • Task Type Name:Purchase Request
  • Category:Procurement
  • Default Workflow:Purchase Approval
  • Permission Schema:选择第 5 节确认过的权限方案(截图中为 Default Task Permission)
  • Create Form:purchaseCreate
  • View Form:purchaseView
  • Edit Form:purchaseView

managerReview 和 financeReview 不在 Task Type 中绑定,它们已经在 Workflow 的具体流转上通过 Transition Form 绑定。

创建任务类型并绑定表单

任务类型关联配置

预期结果: Task Type 列表显示 Purchase Request,完整度检查通过,并能看到默认工作流、权限方案和三个表单位置均已绑定。

7. 检查并选择验证环境​

返回 Designer Overview,选择当前 DEVELOPING 版本并运行 readiness check,修复未连接节点、缺少处理人、未绑定资产或权限不完整等阻断项。

完成结构检查后,可以根据当前阶段选择验证环境:

  • 快速配置和个人调试可以直接打开 DEV 运行环境,验证当前 DEVELOPING 版本。本快速开始采用这种方式,后续截图均来自 DEV 环境。
  • 团队联调、正式验收或发布前验证可以查看当前版本与 TEST 已发布版本之间的资产差异,确认后再发布到 TEST。发布到 TEST 是可选步骤,并非完成本快速开始的前置条件。

就绪检查只能发现结构性问题,不能替代真实组织、角色、权限和运行数据验证。需要使用 TEST 时,发布细节见 测试与发布。

8. 在 DEV 运行验证​

创建任务

本节截图来自 DEV 环境。使用准备好的测试用户执行:

  1. Applicant 创建一条 Amount 小于 10000 的采购申请;Department Manager 审批通过后应直接进入 Approved。
  2. Applicant 创建一条 Amount 大于等于 10000 的采购申请;部门审批通过后应进入 Finance Review,Finance Approver 审批后进入 Approved。
  3. 在部门或财务环节再创建一条任务执行 Reject,确认进入 Rejected。
  4. 分别用 Applicant、Department Manager 和 Finance Approver 检查 My Created、My Pending 和已处理任务,确认只有目标用户能够查看和办理。
  5. 打开 purchaseView,确认每次 Approve / Reject 后对应的 Review Result 显示 Approved / Rejected,审核意见保持为处理人输入的内容。

完成标准: DEV 中可以创建任务,处理人解析正确,两个金额分支和拒绝分支均按预期运行,表单、权限和审核结果可核对。如果选择发布到 TEST,应在 TEST 中重复同一组用例,并核对发布记录。

9. 下一步​