服务中心

设置控件联动规则

本文旨在介绍模板控件联动规则能力。

特别说明:(1)该功能仅专业版及以上版本支持(2)仅签署页内填写支持模板控件联动,OpenAPI 填写/预填暂不支持(3)联动规则支持 7 种执行动作:显示、隐藏、必填、非必填、赋值、清空、禁用

1、功能概述

1.1 功能介绍

在合同模板设置页面,可针对某个填写控件设置联动规则(触发条件与执行动作),实现多个填写内容之间的逻辑关联。通过此配置能力,可以由一个控件条件触发多个控件执行以下动作:

动作 效果
显示 / 隐藏 控制目标控件在签署页是否可见
必填 / 非必填 切换目标控件的必填状态
赋值 自动为目标控件填入自定义值/选项值、其他控件的值或日期计算结果
清空 将目标控件的当前值置空
禁用 目标控件置灰,不可手动编辑(但依然支持使用赋值方案填充和覆盖修改)

1.2 适用场景

适用于通用合同基础配置,以及服务、采购、销售类核心合同,根据单选、多选、下拉、日期等控件的填写结果,动态控制其他填写项的显示/隐藏、必填状态,或自动完成赋值、清空、禁用,以便简化填写流程、减少无效输入、保证关键数据不被误改,提升合同填写效率与规范性。

例如:

  • 显隐/必填联动:当在合同中选择 “分期付款” 时,自动将"分期金额、付款日期"等填写项显示出来并设置为必填项;当选择 “一次性付款” 时,则隐藏这些填写项,避免合同中展示多余的内容。

  • 签约主体联动:选择 “企业签约”,显示并必填统一社会信用代码、法人信息;选 “个人签约” 则切换为身份证号、联系地址。

  • 赋值联动:当"开票类型"选择"增值税专用发票"时,自动将"开户银行""银行账号"填入对应填写项,无需重复输入。

  • 日期联动计算:填写"合同开始日期"和"合同期限"后,自动算出"合同到期日",无需人工计算天数。

  • 清空+必填联动:控件预置了默认值,但某些业务分支下要求签署人必须亲自填写,可先清空默认值再设为必填,强制重新输入。

  • 赋值+禁用联动:自动赋值后锁定该控件,防止签署人误改导致数据不一致。

2、配置方式说明

2.1 控件联动规则配置入口

当您想要根据某个填写控件的值,来触发其他填写控件的状态变化时,需要在"触发"规则的控件属性入口中创建规则。

点击控件,唤醒右侧属性面板,点击创建规则,进入规则编辑页面。

02-field-settings-create-rule.png

配置好规则之后,在右侧属性面板可以看到具体的规则。从这里也可以进入编辑规则,或删除规则。 10-saved-rule-in-field-settings.png

被联动规则控制的控件,在点击控件之后,也会有提示受哪些控件联动影响。 11-affected-field-hint.png

2.2 控件联动规则配置方式

在联动规则配置页面,可以分别配置触发条件、联动结果。由于配置规则的入口是在"触发"规则的控件属性上,因此触发条件的控件就是当前控件本身(暂不支持多个控件共同作为触发规则),由这一控件可以触发多个控件分别执行不同的结果动作。

03-rule-editor-configured.png

2.2.1 触发条件配置

触发条件在【“当满足以下前置条件时”】这块区域中设置:

  • 控件: 即触发控件,当这个控件的值满足某个条件时,即触发联动

  • 操作符: 即这个控件的值的逻辑运算条件,例如可以选到 等于、不等于、为空、不为空等等,不同类型的控件可以选到的操作符不一样

  • 值: 即这个控件的填写值,可以是某个具体的值,也可以是其他同类控件的值

    • 当是某个具体的值时,先选中"选项值",而后选择或填入具体的值。如果是下拉选项、单选、多选,则具体的选项值是可以直接选择的,如果是数字、单行文本等,则具体的选项值要手动填入。

    • 当是其他同类控件的值时,先选中"控件值",而后选择同类型的控件(这里泛指数据类型,不强制完全相同的控件类型)。例如条件设置为:"合同总金额"控件的值 大于 "预付款金额"控件的值。

09-trigger-field-reference.png

日期控件作触发控件时,支持的操作符为**:为空、不为空、等于、不等于、大于、小于、大于等于、小于等于**;条件值支持选择固定日期。

2.2.2 联动结果配置

联动结果在【“触发以下联动”】这块区域中设置:

  • 动作: 包括 显示、隐藏、必填、非必填、赋值、清空、禁用 7 种(与下拉顺序一致)。可以添加多个执行动作,批量控制多个控件的多个动作

  • 控件: 选择执行此动作的控件,可以选择多个

    • 注意:只能选到跟触发控件同一个参与方、同一份合同文件上的控件

    • 注意:赋值动作仅允许选择 1 个目标控件;需要给多个控件赋值时,请配置多个赋值动作

各动作的配置要点:

动作 是否需要配置值 说明
显示 / 隐藏 / 必填 / 非必填 否 选择目标控件即可
赋值 是 需选择值来源(见下文)
清空 否 选择目标控件即可,无需指定值
禁用 否 选择目标控件即可,无需指定值

08-action-menu.png

04-multiple-actions.png

赋值动作的值来源(值下拉可选项随目标控件类型不同):

  1. 自定义 / 选项值:目标为数字、单行文本、多行文本等时,值下拉显示"自定义",手动输入值,触发条件满足时自动填入目标控件。输入校验规则与控件默认值一致;目标为数字控件时,会按目标控件的小数位数、千分位格式自动整形(如输入 3.14159,目标 2 位小数 → 3.14)。目标为单选、多选、下拉、勾选等时,值下拉显示"选项值",从目标控件自身的选项中选择;勾选控件的选项值依据该控件本身的默认值,仅可配置"勾"(即选中);如需让勾选控件恢复未选中状态,请使用"清空"动作。

  2. 控件值(引用其他控件):引用同文档、同参与方下另一个控件的当前值。可引用的控件类型需与目标控件兼容:文本类(单行文本、多行文本)互相兼容,数字仅与数字兼容。单选、下拉、勾选作为赋值目标时不支持控件值引用,跨控件映射请通过选项值配置多条规则承接。引用控件的值为空时,赋值不生效。

  3. 计算表达式(日期计算):仅目标控件为日期控件时可选(非日期目标的值下拉中不出现该项)。按"起算日期 ± 天数"自动计算目标日期(详见 2.2.3)。

05-set-value-action.png 06-field-value-reference.png

2.2.3 日期计算赋值说明

当赋值目标为日期控件时,值来源选择"计算表达式",点击"设置"打开自动计算配置弹窗,可配置:

  • 起算日期:选择同文档、同参与方下的日期控件作为计算基准

  • 计算符号:加(未来日期)/ 减(过去日期)

  • 时长来源:引用数字控件(支持公式计算结果控件),或固定值(1-36500 的正整数)

  • 时长与单位:天 / 月 / 年,默认天

日期计算的换算规则:

单位 计算规则
天 起算日期直接加/减 N 天
月(自然月) 起算日期加/减 N 个月后取目标月份的同一天;若目标月无该日(如 1月31日 + 1个月),则取目标月的最后一天
年(自然年) 起算日期加/减 N 年后取同月同日;若为 2月29日 且目标年非闰年,则回退至 2月28日

包含起始日:时长单位为月或年时可勾选。勾选后计算结果为期限届满日(自然月/年结果 - 1 天),适用于合同到期日等期限计算场景。例如 2026-01-15 起算 1 个月并勾选包含起始日,结果为 2026-02-14。若自然月/年结果本身已触发月末或闰年回退(见上表),则不再在回退结果上减 1 天。

时长来源的数字控件值若含小数,会先四舍五入到整数位后再参与计算。

07-date-calculation-modal.png

2.3 联动规则支持的控件范围

支持作为触发条件的控件(7 种):单行文本、数字、多行文本、单选、下拉选择、勾选、日期

联动结果控件范围(按动作区分):

动作 可作为目标的控件
显示 / 隐藏 / 禁用 除合同条款、合同编号、动态表格之外的所有控件
必填 / 非必填 所有控件(包括关联数据源、公式计算的控件)
赋值 / 清空 单行文本、多行文本、数字、单选、下拉、勾选、日期(7 种);关联数据源、公式计算、实名认证的控件不可作为赋值/清空目标

2.4 冲突规则校验说明

在一个合同文件中,如果配置了多个联动规则,则可能会在规则之间产生冲突,导致一些可能不符合预期的结果。为了防止配置错误,我们做了一些校验提示,当您遇到以下冲突提示时,可以根据指引去调整规则配置,以便符合填写逻辑,达到规范填写内容的预期。

同一条规则内,以下配置属于规则冲突,保存时会被拦截:

  • 隐藏和必填、隐藏和显示、必填和非必填 这几对动作是互斥的,同一个触发条件下,同一个控件不允许同时执行这些动作

  • 对同一目标控件同时配置 赋值 和 清空(拦截提示:“同一规则内不允许对同一目标控件同时配置赋值和清空”)

  • 对同一目标控件配置多个赋值动作

  • 对同一目标控件同时配置 禁用 和 必填(拦截提示:“同一规则内不允许对同一目标控件同时配置必填和禁用”;禁用后控件不可手动编辑,若同时必填且值为空,签署人将无法提交)

以下情况允许保存,签署页按触发条件命中先后执行(后触发的覆盖先触发的结果):

  • 不同规则对同一目标控件分别配置赋值

  • 不同规则对同一目标控件分别配置清空和赋值

  • 不建议配置两条完全相同的规则(实测:当前版本无拦截提示;重复规则无额外效果,按配置先后执行)

3、签署页规则执行说明

填写与签署在同一签署页完成,不存在独立的填写页。当签署人在 PC 端或 H5 端签署页填写合同内容时,配置了联动规则的控件会展示"联动规则"标识:PC 端标识位于右侧 Form Filling 面板控件名旁,鼠标移入可查看规则说明气泡(逐条列出触发条件与执行结果);H5 端标识位于控件名旁,点按可查看规则说明弹窗。以下以 PC 端英文界面为例。

12-signing-page-pc-rule-tooltip.png

规则触发有两个时机:

  • 进入签署页后,如果触发控件有默认值或预填值,则会立刻触发控件联动。

  • 在触发控件内容填写完成后,也会立刻触发控件联动。(如果已有内容,触发是赋值会覆盖原有值)

13-signing-page-pc-rule-triggered.png

各动作在签署页的执行效果:

动作 条件满足时 条件不再满足时
显示 / 隐藏 / 必填 / 非必填 按规则执行 控件恢复到模板默认设置
赋值 目标控件自动填入配置的值,签署人仍可手动修改 不执行赋值,也不清空或恢复目标控件的当前值
清空 目标控件的值被置空,显示效果与从未填写过的控件一致 不执行清空,保持当前值,不会自动恢复默认值
禁用 目标控件置灰、不可手动编辑,已有值正常展示 控件自动恢复可编辑,当前值保持不变

补充说明:

  • 赋值与其他能力的配合:赋值写入某个控件后,如果该控件是某个公式计算的输入项,公式会立即按新值重新计算。

  • 清空与必填组合:清空后配合必填,控件为空态且必填,签署人必须手动输入才能提交。

  • 清空与禁用叠加:同条件触发时,先清空再禁用,最终为空态且不可编辑。

  • 禁用不影响系统写入:禁用仅阻止签署人手动编辑;联动赋值、数据源填充、公式计算、OpenAPI 写入仍可正常向禁用态控件写入数据。

  • 禁用与显隐互相独立:控件被隐藏时禁用状态保留,重新显示时按当前条件决定禁用状态。

  • 清空/禁用控件的 PDF 输出:被清空的控件在合同文件中按空值输出;被禁用的控件值正常输出,无置灰效果。

提交签署内容后,隐藏的控件就不会渲染到合同文档中,也不会进行必填校验,但是如果有填写数据,则仍保留,可以被查询到。

4、常见问题

Q1:在模板配置时,只在一个控件上设置了联动规则,为什么其他控件上也有同样的规则呢?

A:因为这几个控件是合并填写的。当多个控件合并填写时,他们在签署页上的填写值是一样的,会触发同样的联动规则。配置的时候,要注意多个控件是否命中合并填写,检查当新控件加入合并填写组或历史控件脱离合并填写组后,其触发规则是否符合预期。

Q2:在模板配置时,下拉选择控件中的某个选项名称变化后,联动规则为什么会有异常?

A:当设置了下拉控件的值等于某个选项作为触发规则,而后选项名称发生调整后,联动规则里的选项不会调整,需要重新选择一遍。

Q3:签署页的执行结果跟配置的规则不符合,为什么呢?

A:因为控件联动规则执行有几个原则:

  • 第一,当不满足触发条件的时候,显隐/必填类动作会恢复到模板默认的设置。

  • 第二,联动规则的执行优先级是有顺序的,当控件受到多个规则触发联动时,顺序后面的(越晚执行的)规则优先级更高。

  • 第三,赋值、清空动作在条件不满足时不会主动调整目标控件的当前值(不清空、不恢复默认值);禁用动作在条件不满足时恢复可编辑,但值保持不变。

例如:当【责任城市】等于【服务大区】时,【违约责任说明】显示,那是不是意味着这两个控件值不相等的时候,【违约责任说明】应该隐藏?——并非如此,按照实现原则,当条件不满足时,控件会恢复到模板的默认设置,模板配置的控件默认是显示的,因此还是显示,而不会自动变成其相反的状态。

解决办法:如果需要严格的取反逻辑,则可以在联动规则中多增加一条配置"当【责任城市】不等于【服务大区】时,【违约责任说明】隐藏"即可。

Q4:为什么使用模板批量发起在Excel表格预填内容的时候,联动规则不生效呢?

A:因为 OpenAPI 填写/预填暂不支持控件联动规则,目前联动规则仅在签署页内填写时触发。批量发起或 OpenAPI 填写/预填的场景,请自行确保填写内容的准确性。

Q5:联动赋值之后,签署人还能修改被赋值的控件吗?

A:可以。赋值只是自动填入一个值,签署人仍可手动修改。如果希望赋值后锁定控件不允许修改,请在同一规则或另一条规则中为该控件再配置"禁用"动作。

Q6:为什么单选、下拉、勾选控件赋值时不能选择"控件值"来源?

A:不同控件的选项集合可能不一致,直接引用选项值容易出现匹配不上的情况。这三种控件作为赋值目标时仅支持"选项值"来源;如需实现"来源控件选 A → 目标控件选 B"的映射,请通过选项值配置多条规则承接。例如:当来源单选控件为"类别甲"时,配置一条规则将目标单选控件赋值为选项值"等级一"。特别注意:勾选控件的选项值仅可配置"勾"(选中);如需让目标勾选控件恢复未选中,请通过"清空"动作实现。

Q7:日期计算选择"月"或"年"单位时,遇到月末或闰年怎么算?

A:按月计算时取目标月份的同一天,目标月没有该日期的取目标月最后一天(如 1月31日 + 1个月 = 2月28/29日);按年计算时取目标年份的同月同日,2月29日遇到非闰年回退至 2月28日。勾选"包含起始日"后结果为期限届满日(再减 1 天);若已发生月末或闰年回退,则不在回退结果上再减。