通过 PWC 插件和扩展点增强流程页面、按钮、表单、待办和阶段视图能力。
概述
流程定制开发用于处理标准流程配置无法覆盖的复杂交互和业务校验场景。开发人员可以通过 PWC 插件,在审批流、业务流、待办页面、阶段推进器和阶段视图中接入扩展事件或 Hook,定制页面展示、按钮行为、操作校验、字段渲染和流程处理逻辑。
流程扩展通常不替代流程本身的配置能力,而是在流程运行页面和用户操作环节进行增强。例如:控制按钮显隐、修改按钮文案、拦截提交动作、调整详情区展示、限制更换处理人范围、扩展待办列表或卡片、定制阶段视图统计区等。
适用场景
以下情况适合使用流程定制开发:
- 标准流程页面无法满足业务展示要求,需要自定义审批内容、任务详情或阶段卡片。
- 流程按钮需要根据对象状态、任务类型或用户角色动态显示、隐藏、改名或排序。
- 用户点击同意、驳回、前加签、更换处理人、暂不处理、完成等按钮前,需要增加校验或提示。
- 待办列表、待办卡片或移动端待办按钮需要按对象、筛选条件或任务状态做差异化展示。
- 阶段推进器需要控制阶段头部、任务按钮、任务点击、阶段选择或阶段跳转。
- 阶段视图需要自定义顶部统计区、卡片内容或阶段看板渲染逻辑。
开发能力
| 能力 | 说明 |
|---|---|
| 业务流详情页增强 | 扩展业务流详情页底部按钮、对象详情页任务按钮、任务详情渲染、强制编辑表单、表单二级按钮、实例区域和查看详情按钮 |
| 审批流详情页增强 | 扩展审批同意、驳回、更换处理人、前加签、审批意见、审批内容区和回复列表等交互 |
| 待办页面增强 | 扩展审批流待办和业务流待办的列表、卡片、批量按钮、按钮点击前校验和移动端待办区域 |
| 阶段推进器增强 | 扩展阶段卡片、阶段头部、阶段任务、任务按钮、任务点击、任务动作、阶段选择和阶段跳转 |
| 阶段视图增强 | 扩展阶段视图顶部统计字段、阶段卡片和阶段视图渲染前逻辑 |
| 自定义流程变量 | 在流程运行期间传递自定义业务数据,配合流程规则、插件或后动作使用 |
扩展流程能力
PWC 的流程扩展能力按页面和操作环节划分。开发时应先确认要增强的流程页面,再选择对应插件类型和扩展事件。
业务流详情页
业务流详情页适合增强业务流程任务处理页面和对象详情页中的业务流程区域。
常见能力包括:
- 底部按钮功能增强:在详情页底部按钮渲染前,修改按钮名称、调整按钮顺序或控制按钮显隐。例如将“完成”改为“确认收货”,或按任务类型隐藏“暂不处理”。
- 对象详情页任务按钮功能增强:控制对象详情页中阶段任务或业务任务按钮的展示与交互。
- 任务详情渲染增强:调整任务详情区展示内容,适合补充业务说明、突出关键字段或隐藏无关信息。
- 强制编辑表单:在流程处理前强制用户进入编辑表单或完成指定内容。
- 表单二级按钮自定义:自定义表单中的二级按钮行为和展示文案。
- 对象详情页实例区域增强:定制对象详情页中业务流程实例区域的展示方式。
- 审批意见必填:按业务规则控制意见是否必填。
- 对象详情页阶段节点点击:拦截或增强对象详情页阶段节点点击行为。
- 查看详情按钮自定义:控制查看详情按钮的跳转、文案或显隐。
适用场景:需要根据业务流任务类型、对象字段、当前处理人或流程状态,动态调整业务流详情页的按钮和展示内容。
审批流详情页
审批流详情页适合增强审批处理环节中的关键操作。
常见能力包括:
- 同意功能增强:控制同意弹窗标题、后加签显隐、审批意见输入框文案、处理审批开关、是否强制编辑内容表单等。
- 驳回功能增强:在驳回前后增加校验、提示或自定义逻辑。
- 更换处理人增强:控制更换处理人弹窗、人员范围或提交前校验。
- 前加签功能增强:控制前加签按钮、加签模式、加签人范围或前加签前后的逻辑。
- 审批意见增强:调整审批意见区文案、默认值、必填规则或输入提示。
- 审批内容区增强:自定义审批内容展示,突出关键业务字段或补充说明。
- 回复列表增强:增强审批节点回复列表的展示和交互。
适用场景:审批操作需要结合业务状态或用户角色动态控制,或者需要在同意、驳回、加签、更换处理人等操作前增加业务校验。
待办页面
待办页面扩展适用于审批流待办和业务流待办的列表、卡片与批量处理场景。
常见能力包括:
- 审批流待办功能增强:增强审批流待办列表或卡片,控制批量按钮、列表渲染后逻辑、卡片渲染后逻辑和按钮点击前校验。
- 业务流待办功能增强:增强业务流程待办列表或卡片,按任务类型、对象或筛选条件控制待办展示和操作入口。
- 批量按钮控制:根据对象、任务状态、筛选条件或用户权限,控制批量审批、批量更换处理人等按钮的展示和样式。
- 移动端待办增强:调整移动端列表右上角、底部按钮、批操作按钮和文案,并在按钮点击前插入校验或提示。
适用场景:需要在待办入口统一增强流程处理体验,例如限制批量操作范围、按对象隐藏按钮、或在待办卡片上补充业务字段。
阶段推进器
阶段推进器扩展适用于对象详情页阶段卡片、阶段列表、阶段任务详情、阶段跳转和阶段选择等区域。
常见能力包括:
- 阶段任务更换处理人范围控制:限制更换处理人时可选择的人员范围。
- 阶段头部渲染控制:根据阶段状态自定义阶段头部样式、颜色或展示内容。
- 任务功能增强:控制任务按钮渲染、任务点击拦截、任务动作拦截、阶段选择范围和阶段跳转前校验。
- 阶段卡片渲染控制:控制阶段卡片的显示、隐藏或数据展示。
- 阶段跳转控制:在进入下一阶段、跳转普通阶段或终结态阶段前做业务校验。
适用场景:阶段推进过程需要按业务状态动态调整任务、按钮、阶段可选范围或跳转规则。
阶段视图
阶段视图扩展适用于阶段看板页面和阶段卡片展示。
常见能力包括:
- 阶段视图功能增强:在阶段视图渲染前执行逻辑,定制顶部统计字段区域。
- 阶段卡片功能增强:调整阶段卡片展示内容、按钮或交互行为。
- 统计区定制:根据业务口径展示自定义统计字段,例如金额、数量、预测值或其它业务指标。
适用场景:标准阶段视图统计口径或卡片展示不能满足业务看板需求,需要补充自定义统计或卡片交互。
开发流程
- 确认扩展页面:判断需要增强的是业务流详情页、审批流详情页、待办页面、阶段推进器还是阶段视图。
- 确认终端:明确扩展作用于 Web 端、移动端,还是两端都需要支持。
- 选择插件类型:按页面选择业务流详情、审批详情、审批待办、业务流待办、阶段推进器或阶段视图等插件类型。
- 选择扩展事件或 Hook:根据要增强的区域选择渲染前、渲染后、点击前、动作前等接入点。
- 编写插件逻辑:在插件中读取流程、任务、对象和用户上下文,按业务规则修改展示或拦截操作。
- 联调验证:覆盖列表、卡片、详情页、移动端、Web 端、批量操作和异常场景。
- 发布配置:发布插件,并在流程、待办或阶段相关配置中启用。
设计建议
- 优先使用标准配置能力,只有配置无法满足时再开发扩展。
- 扩展逻辑应尽量聚焦单一页面或单一操作,避免一个插件承担过多职责。
- 对按钮隐藏、动作拦截、跳转限制等影响用户操作的逻辑,应提供明确提示。
- 插件中应处理异常场景,避免因扩展逻辑异常影响流程处理。
- 上线前应分别验证 Web 端、移动端、列表视图、卡片视图和详情页。
- 涉及审批同意、驳回、终止、删除、批量处理等关键操作时,应先在测试流程中验证。