表单引擎
自研 gform-designer 表单设计器 + 运行时渲染引擎。表单 schema 内嵌于流程 DSL,一份 schema 驱动发起填写、审批回显、字段权限三种视图。
设计器能力
拖拽式配置,右侧属性面板实时预览:
- 字段类型(29 种):单行/多行文本、数字、金额、密码、单选/多选、下拉(静态/字典/API 数据源)、日期/日期区间、开关、上传、图片、部门/成员/多成员选择、级联、子表(明细)、富文本、签名、定位、流水号、身份证、手机号、栅格/卡片/标签页/分隔符/警告等布局件
- 校验:必填、长度、数值范围、正则、跨字段校验、公式计算
- 联动:显隐联动(visibleWhen / disabledWhen)
- 布局:栅格 span、标签位置、标签宽度
- 默认值:静态值或表达式
- 模板库:常用审批单(请假/报销/采购/用章)保存为模板,新流程一键套用;模板也可以通过
formKey引用共享
表单 schema 存在流程 DSL 的 ruleChain.additionalInfo.form:
json
{
"ruleChain": {
"additionalInfo": {
"formType": "design",
"form": {
"title": "请假申请单",
"fields": [
{
"id": "f_leave_type",
"type": "select",
"label": "请假类型",
"field": "leaveType",
"dataSource": { "type": "static", "options": [ /* … */ ] },
"validate": { "required": true }
},
{
"id": "f_leave_days",
"type": "number",
"label": "请假天数",
"field": "days",
"validate": { "required": true }
}
]
}
}
}
}运行时渲染
同一份 schema 服务三个场景:
- 发起:按 schema 渲染填写表单,校验通过后字段值装入流程变量
msg - 审批回显:详情页按「当前节点 + 字段权限」渲染只读/可编辑视图,
msg值自动回填 - 打印/归档:任务结束瞬间的
variables快照留在wf_hi_task,历史单据永久可查
与流程的联动
- 条件路由:设计器条件抽屉自动联想表单字段(
msg.days),见流程设计器 - 字段权限:
userTask的additionalInfo.formPermissions按字段 key 控制三种视图的可见/可编辑 - 模板引用:
formKey指向forms表里的模板(code / name / schema_json),多个流程共享一份表单定义,改一处全部生效
外部表单
已有业务系统表单?formType: "external" + formUrl 直接挂接现有页面,审批详情以 iframe 只读方式打开——引擎只管流程,不抢你的表单。