项目介绍
审批字段显隐是审批模块的一项通用能力:表单里哪些字段要显示,由企业自己按条件配置,不需要开发。
起因是每个审批模板都有「只在某些条件下才需要填」的字段:请假选婚假才需要上传结婚证,报销选差旅才需要行程单。固定展示会让员工误填,也让审批人核对一堆无关信息。
我的判断有两条:
- 要做成通用规则能力,不做成给每个客户改模板
- 规则必须贯穿全流程,不能只在发起页生效
问题在哪
同一张请假单,在十二种请假类型下需要的字段并不相同。过去只有两个选项:全部显示,或者按客户定制。
全部显示的代价是误填率和审批工作量;定制的代价是维护成本随客户数线性增长,而且每加一种场景就要再开发一次。
真正要抽象的不是某个字段,而是「前序字段的值决定后续字段是否出现」这个模式。

规则怎么抽象
配置形态是一条条件组:当某个前序字段满足某条件时,才显示目标字段。条件可叠加、条件组可嵌套,覆盖「与」「或」的组合需求。
在此基础上定了三条约束:
- 规则按前序字段动态生效,发起时选了什么,后面才出现什么
- 同一套规则贯穿发起、审批、归档、抄送,打印时隐藏字段同样不显示,避免各环节数据不一致
- 字段隐藏后再次显示时,数据恢复规则要写清楚——无默认值的清空、有默认值的恢复默认值,这是最容易漏的一环
上线保障
通用能力的风险不在新功能,在存量。上线时一并处理了自定义摘要、打印、批量发起、开放平台这些边界,并验证存量模板、历史数据与草稿继续可用。
结果
- 上线后 188 家企业启用,603 张审批表单完成显隐配置,累计调整 11,000+ 次
可迁移的判断
- 个性诉求该不该抽象成通用能力,判断标准只有一个:下一个客户还需不需要开发
- 通用能力上线,主要风险在存量(历史数据、草稿、打印),不在新功能本身
- 隐藏再显示的数据恢复规则,是这类功能最容易被漏掉的一环