动态逻辑(Dynamic Logic)
动态逻辑让表单「随数据变化」:某字段填了某值后,才显示/必填/只读其他字段,或切换下拉选项。
入口
管理 → 动态逻辑
或在 布局管理器 编辑面板/字段时配置 Conditions making visible/required/read-only。
可配置项
| 项 | 作用 |
|---|---|
| Conditions making field visible | 满足条件才显示字段 |
| Conditions making field required | 满足条件才必填 |
| Conditions making field read-only | 满足条件才只读 |
| Conditional options | Enum/Multi-Enum 在不同条件下不同选项集 |
条件语法(界面 Builder)
典型条件:
{fieldName}equals某值{fieldName}is not empty- AND / OR 组合
Bring 示例 1:贸易条款与港口
- 实体:CShippingOrder 或自定义字段
- 当
tradeTermsequalsFOB→ 显示自定义字段loadingPort(装运港)
Bring 示例 2:付款方式与账期
- 当
paymentMethodequalsT/T→ 显示advancePercent(预付比例)并设为必填
Bring 示例 3:面板级
- 编辑 Detail 布局 → 财务面板 → 动态逻辑:仅当用户角色为 Admin 或
{status}equals已结束时显示
Conditional Options 示例
字段 rejectReason(未成交原因):
- 当
statusequals未成交→ 选项:价格、交期、质量… - 否则 → 空选项(或不显示字段)
与 Disable Inline Edit
字段设 Disable Inline Edit 后,常配合动态逻辑在详情编辑时控制行为。
限制
- 动态逻辑在前端表单生效;API 导入不一定触发相同校验,重要规则应用公式或后端验证
- 条件过多会增加表单复杂度,建议单实体控制在合理数量