首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >工作流引擎中的审批意见模块:职责划分与可配置能力

工作流引擎中的审批意见模块:职责划分与可配置能力

原创
作者头像
驰骋工作流程
发布于 2026-10-16 10:20:06
发布于 2026-10-16 10:20:06
240
举报

从架构视角看节点级审批模块:意见与立场写到哪里、如何与分支条件衔接、签批与附件如何留痕,以及多端复用时前后端需要共享哪些配置契约。

1. 组件定位(客观定义)

审核组件(代码实体:节点审核配置实体 / 运行描述:审核附件对象,前端:WorkCheck.vue)是流程节点上内置的审批意见采集、展示与留痕模块。

它解决的问题不是「多一个文本框」,而是:

问题

组件给出的答案

意见写在哪里?

写入流程轨迹表 ND{FlowNo}Track(ActionType=WorkCheck),与发送/退回等操作同模型

谁、何时、持何立场?

轨迹记录操作人、时间、意见正文、FWCView 立场、签名图

历史怎么看?

按节点配置聚合展示(表格 / 轨迹 / 时间轴)

如何驱动分支?

立场、会签通过率可直接作为方向条件(ConnDataFrom.WorkCheck / 会签通过率)

与节点表单的职责边界:

代码语言:javascript
复制
节点表单  →  业务内容(金额、事由、明细……)
审核组件  →  审批行为(意见、立场、签批、审核附件、历史追溯)

二者在待办页同页嵌入,配置绑定在 WF_Node 的 FWC 系列字段上(主键 NodeID,一对一)。


2. 功能需求总表

2.1 设计态配置需求

编号

需求项

字段 / 枚举

说明

优先级

R-01

组件启停与只读

FWCSta:禁用 / 启用 / 只读

禁用不出现审核区;启用可填;只读仅看历史

必须

R-02

显示标签

FWCLab

审核区域标题,可改为「批示」「审阅意见」等

必须

R-03

组件形态

FWCType:审核 / 日志 / 周报 / 月报

同一套存储与 UI 机制服务不同「按节点记录」场景

必须

R-04

展示工作模式

FWCShowModel:审核组件 / 轨迹 / 轨迹时间轴

前端映射 normalMode / trackMode / trackTimeMode

必须

R-05

时序

FWCTimeModel:倒序 / 正序

控制历史意见排列方向

必须

R-06

默认意见

FWCDefInfo

意见框预填或空意见时兜底

必须

R-07

空意见填充策略

FWCIsFullInfo

未填写时是否按默认意见自动填充

应该

R-08

操作名词

FWCOpLabel

「审核 / 审阅 / 批示」等写入轨迹的操作名

应该

R-09

节点意见显示名

FWCNodeName

轨迹上该节点块的名称;空则用节点名

应该

R-10

意见保存规则

FWCVer:一人一意见 / 保留历史

覆盖写入 vs 追加历史,影响审计粒度

必须

R-11

审核立场

FWCView

如「同意,不同意,酌情处理」;写入轨迹并可作方向条件

必须

R-12

签名方式

SigantureEnabel:0~5

不签名 / 图片 / 写字板 / 电子签 / 盖章 / 签+章

必须

R-13

审核时间可改

IsChangeFWCTime

允许修改落款时间(代录、补录)

应该

R-14

时间显示粒度

TimeShowRole

仅日期 / 日期时间

应该

R-15

签批字段回写

CheckField

关联表单签批控件(UIContralType=14),意见图回写业务字段

应该

R-16

审核附件

FWCAth

启用多附件时自动创建 ND{NodeID}_审核附件对象

应该

R-17

组件高度

FWC_H

0 表示 100%

可选

R-18

审批格式字段

FWCFields

结构化扩展维度(与轨迹 Tag 联动)

可选

2.2 外观与协作需求

编号

需求项

字段

说明

优先级

R-19

历史列表开关

FWCListEnable

否:仅意见框;是:展示历史

必须

R-20

轨迹图开关

FWCTrackEnable

是否显示轨迹图

应该

R-21

全步骤展示

FWCIsShowAllStep

轨迹表是否列出全部步骤

应该

R-22

未审核轨迹

FWCIsShowTruck

是否展示尚未审核人员/节点

应该

R-23

退回信息规则

FWCIsShowReturnMsg

不显示 / 退回相关节点 / 全部

必须

R-24

协作意见可见性

FWCMsgShow

都显示 / 仅显示自己的意见(盲审)

必须

R-25

协作人排序

FWCOrderModel

按审批时间 / 按接受人列表(职级)

必须

2.3 运行态行为需求

编号

需求项

实现锚点

说明

优先级

R-30

意见必填校验

WorkNode.FormCheck

节点 FWCSta=Enable 时,发送前校验 Track 中是否有非空审核意见

必须

R-31

意见写入轨迹

Dev2Interface.Node_WriteWorkCheck

写入/更新 ActionType.WorkCheck;含意见、立场、写字板图、时间

必须

R-32

抢办/共享模式去重

同上

抢办/共享时先删同节点他人意见再写,保证一节点一条有效记录

必须

R-33

会签名义标注

同上

会签中非主持人写入时,节点名追加「(会签)」

应该

R-34

立场驱动分支

Cond + ConnDataFrom.WorkCheck

方向条件匹配 @FWCView=立场值

必须

R-35

会签通过率分支

ConnDataFrom.会签通过率

按 HuiQianAgreeRate 与阈值比较决定走向

必须

R-36

常用短语

前端 WorkCheckParse + 配置开关

快捷填入常用意见;支持维护短语

应该

R-37

审核标准查看

前端「审核标准」

展示节点审核标准说明(HTML)

可选

R-38

批量审核意见

BatchWorkCheckModel

待办列表批量填写意见后发送/退回

应该

R-39

表单分组嵌入

GroupField + GroupCtrlType.FWC

启用时插入「审核组件」分组;禁用时删除

必须

R-40

PC/移动同源

WF / CCMobile / Toolkit

共用后端契约与配置实体,多端渲染

必须

2.4 数据与存储需求

编号

需求项

存储位置

说明

R-50

意见正文

Track.Msg

审核文字

R-51

审核立场

Track 参数 / FWCView

驱动条件与界面回显

R-52

手写签名图

Track.WriteDB

写字板 / 电子签相关二进制或 Base64

R-53

审核附件

附件存储表,FK=ND{NodeID}_审核附件对象

随审附件

R-54

节点配置

WF_Node FWC 字段族

设计态持久化,不另起配置表

R-55

子线程轨迹

WorkCheck 按 WorkID/FID 联合查询

分合流场景下主子实例意见可聚合


3. 关键能力说明(按源码行为)

3.1 状态机:禁用 / 启用 / 只读

代码语言:javascript
复制
FWCSta=0 禁用  → 不渲染审核区;保存配置时删除 FWC 分组
FWCSta=1 启用  → 当前可办理人可编辑意见;发送前可强制校验
FWCSta=2 只读  → 仅展示历史,不可写入

3.2 三种展示模式

模式

前端组件

适用场景

审核组件(表格逐条)

WorkCheckParse

传统「按节点一条意见块」

轨迹模式

WorkCheckParseTrack

偏流程轨迹阅读

轨迹时间轴

WorkCheckParseTrackTime

时间线叙事,适合长流程

3.3 签名能力矩阵

值

方式

运行时表现(摘自前端/后端)

0

不签名

显示姓名文本

1

图片签名

加载人员签名图片

2

写字板

手写板弹窗,图写入 Track.WriteDB

3

电子签名

对接第三方接口(预留位)

4

电子盖章

对接第三方接口(预留位)

5

电子签名+盖章

对接第三方接口(预留位)

3.4 立场 → 方向条件

配置示例:FWCView = 同意,不同意,酌情处理 处理人选择「不同意」后,轨迹带 @FWCView=不同意;流向条件 ConnDataFrom.WorkCheck 据此成立与否。

会签场景另有通过率条件:计算 HuiQianAgreeRate,用大于/大于等于/小于/小于等于与阈值比较。

3.5 与发送、退回的衔接

  • 发送:可校验意见非空;意见已落轨迹,不依赖业务表字段是否存在「意见」列。
  • 退回:FWCIsShowReturnMsg 控制退回信息在审核区的可见范围。
  • 抢办/共享:同节点有效审核意见按引擎规则去重,避免多人同时写造成多条冲突记录。

4. 在中国式工作流中的作用与护城河含义

本节说明「为什么这类组件构成差异化能力」,依据可核验的产品化程度,不做无法证实的市场断言。

4.1 中国式审批的交互事实

国内审批待办的高频路径是:

代码语言:javascript
复制
打开待办 → 阅读业务表单 → 填写/选择审批意见(及立场)→ 签名或附件 → 发送或退回

BPMN 标准引擎提供任务与变量,但**「节点级审核区 + 轨迹一体 + 立场驱分支 + 会签可见性」**通常需要项目二次拼装。该平台把该交互抽象为节点一等配置(节点审核配置实体),与自研引擎轨迹模型绑定。

4.2 相对「表单字段拼意见」的工程差异

维度

用普通表单字段实现

用审核组件实现(本仓库现状)

数据归属

散落业务表/节点表

Track 统一审计源

历史展示

字段随节点膨胀

按轨迹聚合,三种版式

分支驱动

表达式绑业务字段

FWCView / 通过率原生条件类型

会签盲审、职级排序

定制开发

FWCMsgShow / FWCOrderModel 配置

签名与审核附件

每项目对接

节点属性统一枚举

多端

PC/移动各写一遍风险高

共用配置与 Handler 契约

4.3 构成护城河的可核验要素

要素

为何难短期补齐

代码/配置锚点

节点级一等组件

配置与 WF_Node、表单分组、运行态 UI、Handler 全链路打通

节点审核配置实体、GroupCtrlType.FWC、审核初始化入口

轨迹一体存储

意见与发送/退回/会签同属 Track 模型,报表与审计同源

ActionType.WorkCheck、Node_WriteWorkCheck

立场即条件

条件引擎内建 WorkCheck / 会签通过率 数据源

Cond.cs、CondWorkCheckSelected、CondBy会签通过率

协作语义产品化

盲审、职级排序、未审展示、退回信息规则来自真实项目沉淀

FWCMsgShow、FWCOrderModel、FWCIsShowTruck、FWCIsShowReturnMsg

签批与表单回写

签批控件类型 + 节点 CheckField + 批量审核模型联动

CheckField、UIContralType=14、BatchWorkCheckModel

Entity+EnMap 自描述

设计器直接生成配置页,前后端契约一致(.NET / Vue3 / 可对照该引擎)

节点审核配置实体.EnMap、节点审核配置实体.ts

客观边界:

  • BPMN 标准引擎在标准元素、生态工具链、跨厂商互操作上仍有优势;审核组件优势集中在中国式「看表单写意见」产品化,而非 BPMN 完备度。
  • 电子签章(SigantureEnabel 3~5)依赖第三方对接,产品提供枚举与挂点,具体合规能力取决于集成实现。
  • 单附件、图片附件枚举项在配置上标注「暂不支持」,当前以多附件为主。

4.4 对应用系统集成的直接价值

角色

可落地效果

业务用户

待办页一次完成:看表、写意见、选立场、签名/附件、看历史

实施配置

节点属性勾选即可,多数场景无需为「审批区」单独开发页面

应用系统嵌入

中间件模式下业务系统只关心业务表单;审批语义由引擎组件承接

审计与合规

意见、立场、时间、签批图、附件可从轨迹统一追溯


5. 架构位置(简图)

代码语言:javascript
复制
设计态                         运行态
─────────                     ─────────
WF_Node ◄── 节点审核配置实体     审核初始化入口 / Node_WriteWorkCheck
   │         (EnMap 配置)              │
   │                                   ▼
   └── FWC* 字段 ──────────►  WorkCheck.vue
                              ├─ WorkCheckParse
                              ├─ WorkCheckParseTrack
                              └─ WorkCheckParseTrackTime
                                       │
                                       ▼
                              ND{FlowNo}Track
                              (Msg / FWCView / WriteDB)
                                       │
                    ┌──────────────────┼──────────────────┐
                    ▼                  ▼                  ▼
              方向条件 Cond      发送前意见校验      历史/审计/报表

6. 需求验收要点(抽样)

验收项

通过标准

启停

FWCSta=禁用 时待办无审核区;启用后可编辑

必填

启用且未写意见时发送被拦截并提示

历史

多节点处理后,三种展示模式均可看到历史意见

立场分支

配置「同意→节点A / 不同意→节点B」,选择后发送走向正确

盲审

FWCMsgShow=仅自己 时看不到他人意见

附件

启用多附件后可上传下载,且附件挂在 审核附件对象 对象上

写字板

签名方式=写字板时,保存后轨迹可回显签名图

批量

批处理列表可统一填写意见并发送


7. 结论(一句话)

审核组件是该平台自研引擎在节点上产品化的审批语义层:把「意见采集、立场表达、签批留痕、历史追溯、协作可见性、条件驱动」从项目定制收束为可配置能力,并与轨迹表、方向条件、会签通过率同一链路衔接——这是其在中国式审批场景中区别于「仅提供任务+变量」的工作流底座的关键能力面之一。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 1. 组件定位(客观定义)
  • 2. 功能需求总表
    • 2.1 设计态配置需求
    • 2.2 外观与协作需求
    • 2.3 运行态行为需求
    • 2.4 数据与存储需求
  • 3. 关键能力说明(按源码行为)
    • 3.1 状态机:禁用 / 启用 / 只读
    • 3.2 三种展示模式
    • 3.3 签名能力矩阵
    • 3.4 立场 → 方向条件
    • 3.5 与发送、退回的衔接
  • 4. 在中国式工作流中的作用与护城河含义
    • 4.1 中国式审批的交互事实
    • 4.2 相对「表单字段拼意见」的工程差异
    • 4.3 构成护城河的可核验要素
    • 4.4 对应用系统集成的直接价值
  • 5. 架构位置(简图)
  • 6. 需求验收要点(抽样)
  • 7. 结论(一句话)
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档