# 特定关卡读写字段

在流程应用中,常常会遇到对表单字段进行特定关卡控制的需求,主要包括字段在特定关卡才能输入以及字段在特定关卡才能看到这两种情况,以下将详细介绍其实现方法及相关注意事项。

# 1. 字段在特定关卡才能输入

某些字段只能在特定关卡输入(如“最终折扣”只能在经理审批关卡输入)。

# 实现方法

# 方法一:通过流程节点的数据控制实现

  1. 打开流程设计器,选择需要设置的流程节点(如“经理审批”)。
  2. 进入“数据控制”配置界面。
  3. 勾选需要允许编辑的字段(如“最终折扣”)。
  4. 在其他节点(如“开始节点”、“部长审批”)取消勾选该字段的写权限。

流程节点设置

▲ 流程节点设置

# 方法二:使用禁用表达式

  1. 在表单设计中,找到需要控制的字段。
  2. 为该字段添加禁用表达式,例如:$activityName!='经理审批'

表单设置禁用表达式

▲ 表单设置禁用表达式

# 效果

  1. 发起申请:提交人填写表单时,无法输入最终折扣。

发起时效果

▲ 发起时效果

  1. 部长审批:部长审批时,也无法输入最终折扣。

部长审批时效果

▲ 部长审批时效果

  1. 经理审批:经理审批时,可以输入最终折扣。

经理审批时效果 ▲ 经理审批时效果

# 2. 字段在特定关卡才能看到

某些字段的值在很多关卡不可见,只有在特定的关卡才能看到。

# 实现方法

# 方法一:通过流程节点的数据控制实现

  1. 打开流程设计器,选择需要设置的流程节点(如“经理审批”)。
  2. 在“数据控制”配置界面,勾选或取消勾选字段的“可见”选项。
  3. 仅在特定节点勾选字段的可见性,其他节点取消勾选。

经理审批节点勾选“读”选项 ▲ 经理审批节点勾选“读”选项

# 方法二:使用隐藏表达式(不推荐)

  1. 在表单设计器中,选择需要控制的字段。
  2. 设置隐藏表达式,例如:$activityName!='经理审批'
  3. 保存并运行表单。

设置非经理审批节点隐藏 ▲ 设置非经理审批节点隐藏

# 3. 总结

  • 字段的读写控制:可以通过流程节点上的数据控制中勾选对应权限实现,也可以使用组件禁用表达式。
  • 字段的可见性控制:应通过数据控制中的可见性设置来实现,不建议使用隐藏表达式来屏蔽不允许看到的数据,因为那样做是不安全的,数据仍然存在被截获的可能。

通过合理使用数据控制功能和禁用表达式,可以灵活地控制表单字段在不同关卡中的读写和可见性,确保数据的安全性和流程的规范性。