Skip to content

BizQueryBuilder 高级筛选构造器 ​

「字段 + 操作符 + 值」条件行组构造器:组内**满足全部(且)/ 满足任一(或)**切换,max-depth 控制嵌套子组层数;值控件按字段类型自动联动(输入 / 选择 / 多选 / 数字 / 数字区间 / 单日期 / 日期区间),操作符切换时控件与取值自动适配。v-model 输出结构化条件树 { logic, conditions, groups },支持服务端存档回填还原。日志检索、BI 报表、复杂列表查询的动态条件位标准件,与 BizSearchForm(固定字段)、BizFilterTags(已选回显)互补。

基础用法 ​

筛选条件
暂无筛选条件,添加一条
v-model:
{
  "logic": "and",
  "conditions": [],
  "groups": []
}
fields 声明可查字段,条件行「字段 / 操作符 / 值」三段式;右侧实时查看 v-model 条件树。

值控件联动 ​

至
且
-
{
  "logic": "and",
  "conditions": [
    {
      "field": "amount",
      "operator": "between",
      "value": 1000,
      "value2": 5000
    },
    {
      "field": "payTime",
      "operator": "between",
      "value": [
        "2026-09-01",
        "2026-09-30"
      ]
    }
  ],
  "groups": []
}
字段 type 决定值控件;between 时数字字段变双数字框、日期字段变区间选择;in / notIn 变多选;「为空」类操作符隐藏值控件。切换操作符跨形态时自动清值。

嵌套分组 ​

或
且
max-depth 控制子组层数(默认 1 层,0 不允许嵌套);组头切换且/或。本例预填「金额 ≥ 10000 或 (标签含 A 且 等级 = VIP)」。

检索场景 ​

筛选条件
命中 4 条:无条件
条件树本地求值过滤日志(真实项目把条件树转查询参数 / DSL 交给后端);operators 可收窄单字段操作符。

回填与编程式 ​

且
至
v-model 预置条件树还原 UI;clear() 清空、getFlatConditions() 拍平全部条件行便于提交。

简洁模式 ​

筛选条件
暂无筛选条件,添加一条
max-depth=0 时组头不出现「添加分组」,条件行数量不受限
max-depth=0 禁止嵌套分组,轻量列表只保留「字段 / 操作符 / 值」条件行。

Props ​

属性名类型默认值说明
fieldsBizQueryField[]—(必填)可选字段配置
v-modelBizQueryGroup空条件树结构化条件树,变更即同步
max-depthnumber1嵌套子组层数上限(0 = 不允许嵌套)

BizQueryField ​

属性类型说明
keystring字段标识
labelstring显示名
type'input' | 'select' | 'number' | 'date' | 'daterange' | 'numberrange'值控件类型(默认 input)
options{ label; value }[]select 候选项
operatorsBizQueryOperator[]允许的操作符(缺省按 type 推导)
placeholderstring值控件占位提示

BizQueryGroup ​

属性类型说明
logic'and' | 'or'组内连接词
conditionsBizQueryCondition[]条件行 { field, operator, value, value2 }
groupsBizQueryGroup[]嵌套子组

内置操作符(BIZ_QUERY_OPERATOR_LABELS 可取中文文案):eq / ne / contains / notContains / startsWith / endsWith / gt / gte / lt / lte / between / in / notIn / isNull / isNotNull。

Events ​

事件名参数说明
update:modelValue(value: BizQueryGroup)v-model 同步
change(value: BizQueryGroup)条件树任何变更

Expose ​

属性/方法说明
clear()清空全部条件
getFlatConditions()拍平全部条件行(含嵌套组),用于提交 / 参数拼装