spec.md 3.8 KB

Business Action Automation Visual Config

背景

对象设计器原先把“动作配置”做成独立入口,并直接暴露 START_FLOWDOMAIN_ACTIONQUANTITYFOREACH 等底层动作 DSL。普通业务用户无法理解,也和已有“关系与级联”“单据流程”“自定义按钮”“流程设计器节点审批动作”边界混淆。

目标

将对象设计中的明细关系、选择器、字段映射和审批后关系处理统一收敛到“关系与级联”:

  • 不向普通用户暴露 START_FLOWDOMAIN_ACTIONQUANTITY 等内部技术类型。
  • 明确配置边界:
    • 发起审批、流程绑定、状态字段归“单据流程”。
    • 同意、驳回、退回、会签等审批办理动作归真实流程设计器节点配置。
    • 自定义按钮只作为入口和可见性配置,不承担底层动作编排。
    • 明细关系、子表选择器、字段回填和审批通过后的关系处理归“关系与级联”。
  • 使用“关系与级联”的可视化配置生成现有 designerOptions.actions[].actionConfig,兼容既有后端执行 DSL。
  • 字段映射从对象主表字段、子表字段和循环上下文动态生成,不写死采购、物料或库存字段。
  • 明细关系、子表字段和选择器回填配置以“关系与级联”为唯一来源;普通用户不再进入第二个“自动化动作”配置页重复维护子表路径、循环变量或字段元数据。

非目标

  • 不新增第二套审批节点配置 UI。
  • 不改变 Flowable BPMN 节点权限、审批人、驳回策略的配置归属。
  • 不修改后端动作执行 DSL 协议。
  • 不把采购单字段写死进平台前端或后端代码。

用户体验要求

普通模式

“关系与级联”应按业务概念展示:

  • 左侧步骤:基础信息、匹配与回显、新增/编辑内嵌、子表选择器、字段映射、审批后处理、字段联动。
  • 右侧卡片按步骤分区展示,避免把所有配置堆在一个长表单里。
  • 审批后处理必须嵌在当前关系内,用户只选择主表字段和明细字段,不需要理解循环、集合路径或动作步骤。
  • 字段用途使用通用中文:归属字段(主表)、对象字段(明细)、备用对象字段(明细)、数量字段(明细)。选项来自对象设计字段,不写死采购、物料、仓库等业务字段。
  • 普通模式不能展示 record.children.*item.xxxitemAliasindexAlias 等内部表达式。历史配置无法识别时,显示“未识别字段/关系,请在关系与级联中维护”的中文提示。

高级模式

保留 JSON 高级配置作为开发者兜底,但必须折叠隐藏,不能作为主入口。

验收标准

  • 普通对象设计器左侧不再把后端动作 DSL 作为独立一级入口展示;审批后关系处理在“关系与级联”内配置,代码应用可保留“业务处理”入口。
  • 普通配置界面不出现 START_FLOWDOMAIN_ACTIONQUANTITYFOREACH 等技术值。
  • 采购入库动作能被识别为:
    • 触发场景:流程通过后
    • 处理明细:采购明细
    • 业务动作:增加数量
    • 字段映射:归属字段、对象字段、数量字段、来源明细
  • 用户能通过下拉选择字段路径完成 itemCodeFallbackFields 这类兜底字段配置。
  • 用户配置入库、出库等自动化时只在“关系与级联”维护明细关系、选择器、字段映射和审批后字段用途;不需要在两个地方重复配置子表关系。
  • 保存后仍写回现有 designerOptions.actions,后端执行逻辑无协议变化。

风险

  • 旧动作 DSL 结构可能存在多种历史写法,前端解析必须宽容。
  • 过度抽象会让用户仍看不懂,因此首期只覆盖低代码闭环高频动作:流程结果回调、遍历明细、数量台账、字段映射。