Business Action Automation Visual Config
背景
对象设计器原先把“动作配置”做成独立入口,并直接暴露 START_FLOW、DOMAIN_ACTION、QUANTITY、FOREACH 等底层动作 DSL。普通业务用户无法理解,也和已有“关系与级联”“单据流程”“自定义按钮”“流程设计器节点审批动作”边界混淆。
目标
将对象设计中的明细关系、选择器、字段映射和审批后关系处理统一收敛到“关系与级联”:
- 不向普通用户暴露
START_FLOW、DOMAIN_ACTION、QUANTITY 等内部技术类型。
- 明确配置边界:
- 发起审批、流程绑定、状态字段归“单据流程”。
- 同意、驳回、退回、会签等审批办理动作归真实流程设计器节点配置。
- 自定义按钮只作为入口和可见性配置,不承担底层动作编排。
- 明细关系、子表选择器、字段回填和审批通过后的关系处理归“关系与级联”。
- 使用“关系与级联”的可视化配置生成现有
designerOptions.actions[].actionConfig,兼容既有后端执行 DSL。
- 字段映射从对象主表字段、子表字段和循环上下文动态生成,不写死采购、物料或库存字段。
- 明细关系、子表字段和选择器回填配置以“关系与级联”为唯一来源;普通用户不再进入第二个“自动化动作”配置页重复维护子表路径、循环变量或字段元数据。
非目标
- 不新增第二套审批节点配置 UI。
- 不改变 Flowable BPMN 节点权限、审批人、驳回策略的配置归属。
- 不修改后端动作执行 DSL 协议。
- 不把采购单字段写死进平台前端或后端代码。
用户体验要求
普通模式
“关系与级联”应按业务概念展示:
- 左侧步骤:基础信息、匹配与回显、新增/编辑内嵌、子表选择器、字段映射、审批后处理、字段联动。
- 右侧卡片按步骤分区展示,避免把所有配置堆在一个长表单里。
- 审批后处理必须嵌在当前关系内,用户只选择主表字段和明细字段,不需要理解循环、集合路径或动作步骤。
- 字段用途使用通用中文:归属字段(主表)、对象字段(明细)、备用对象字段(明细)、数量字段(明细)。选项来自对象设计字段,不写死采购、物料、仓库等业务字段。
- 普通模式不能展示
record.children.*、item.xxx、itemAlias、indexAlias 等内部表达式。历史配置无法识别时,显示“未识别字段/关系,请在关系与级联中维护”的中文提示。
高级模式
保留 JSON 高级配置作为开发者兜底,但必须折叠隐藏,不能作为主入口。
验收标准
- 普通对象设计器左侧不再把后端动作 DSL 作为独立一级入口展示;审批后关系处理在“关系与级联”内配置,代码应用可保留“业务处理”入口。
- 普通配置界面不出现
START_FLOW、DOMAIN_ACTION、QUANTITY、FOREACH 等技术值。
- 采购入库动作能被识别为:
- 触发场景:流程通过后
- 处理明细:采购明细
- 业务动作:增加数量
- 字段映射:归属字段、对象字段、数量字段、来源明细
- 用户能通过下拉选择字段路径完成
itemCodeFallbackFields 这类兜底字段配置。
- 用户配置入库、出库等自动化时只在“关系与级联”维护明细关系、选择器、字段映射和审批后字段用途;不需要在两个地方重复配置子表关系。
- 保存后仍写回现有
designerOptions.actions,后端执行逻辑无协议变化。
风险
- 旧动作 DSL 结构可能存在多种历史写法,前端解析必须宽容。
- 过度抽象会让用户仍看不懂,因此首期只覆盖低代码闭环高频动作:流程结果回调、遍历明细、数量台账、字段映射。