条件生成器
条件生成器在规则配置中广泛使用。以配置请假流程的操作人为例,假设用户希望请假天数大于3天时由经理审批,小于3天时由直接上级审批。那么他需要创建两条操作人规则,操作人分别是经理、直接上级。同时还需要分别设置条件,条件成立时对应的操作人才生效。在此例中条件就是请假天数大于3天或小于3天。
仔细考虑不难发现,上例中的条件“请假天数”来自于用户填写的表单数据,比较方式为大于、小于,比较目标值为用户输入的“3”。因此我们可以将一个条件概括为条件项
、比较运算符
、目标值
。据此我们实现了条件生成器,使用户可以自由创建规则条件。
概览
条件生成器包含条件创建、条件组合、条件备注功能。
条件创建
条件项
条件项全部来自于表单字段,在表单字段设置中开启的字段会显示在此处,供用户选择。
比较运算符
比较运算符根据字段数据类型或业务属性不同而不同,具体如下表所示。
运算符 字段类型 | 属于 不属于 | 属于(含下级) 不属于(含下级) | 等于 不等于 | 大于 大于等于 | 小于 小于等于 | 包含 不包含 |
---|---|---|---|---|---|---|
字典 | ✅ | - | - | - | - | - |
树字典 | ✅ | ✅ | - | - | - | - |
人员 | ✅ | - | - | - | - | - |
部门 | ✅ | ✅ | - | - | - | - |
岗位 | ✅ | - | - | - | - | |
boolean | ✅ | - | - | - | - | - |
datetime | - | - | ✅ | ✅ | ✅ | - |
number | - | - | ✅ | ✅ | ✅ | - |
string | - | - | ✅ | - | - | ✅ |
提示
“属于/不属于”运算符的目标值可以为多个,用于判断条件项实际值是否与目标值中的某一个相等。
目标值
目标值即作比较时的目标,或者期望值。除了用户手动输入目标值外,引擎还支持其它取值方式,具体如下表所示。
字段类型 | 指定值 | 表单字段 | 流程变量 | 当前时刻 |
---|---|---|---|---|
字典 | ✅ | - | - | - |
树字典 | ✅ | - | - | - |
人员 | ✅ | ✅ | ✅ | - |
部门 | ✅ | ✅ | - | - |
岗位 | ✅ | ✅ | - | - |
boolean | ✅ | - | - | - |
datetime | ✅ | ✅ | - | ✅ |
number | ✅ | ✅ | - | - |
string | ✅ | ✅ | - | - |
提示
使用“指定值”取值方式时,根据字段类型不同,输入形式可能为字典选择、树字典选择、人员选择器、部门选择器等。
使用“表单字段”取值方式时,可选择的字段为类型与条件项类型相同的字段。
条件组合
多个条件可以通过逻辑“与”或“或”组成更复杂的条件。下面就组合操作作简要介绍。
- 选中一个逻辑组,可以直接修改逻辑符;可以向上(左)提升一级;也可以直接删除。
- 选中多个条件,可以创建新逻辑组。
- 选中一个条件,可以删除。
条件备注
建议填写清晰简明的描述,方便后续查看。尤其是在条件组合较为复杂时更需注意。