服務中心

設定控制項聯動規則

本文旨在介紹模板控件聯動規則能力。

特別說明:(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 天);若已發生月末或閏年回退,則不在回退結果上再減。