新版高级查询页面说明

新版高级查询页面common_super_search,支持元数据配置及自定义场景,可以根据客户需求配置多个高级查询场景进行PC /移动端(配置list_config调整场景展示样式),或展示字段的区分

标准预制两个meta_state:PC和mobile,通过路由https://环境域名/#/common_super_search?meta_state=pc或mobile进入

标准场景pc/mobile展示如下:

其中页面的上半部分为预制的搜索字段,通过页面元数据配置的extend可以进行管理

新版高级查询特性

新版高级查询页面支持元数据配置,即常用的list页面filter、sort等属性都支持配置

注意:

新版高级查询的字段设置配置与旧版相同,但列表展示字段配置与旧版不同,不受display模板控制,需要在新版高级查询页面的元数据中单独进行配置,配置方式与list元数据配置展示字段相同

配置新版高级查询预制搜索字段

通过页面元数据配置的list_config中配置"super search config":{"visual_search": true}开启预制字段模式(同时会关闭输入框搜索联想),在extend中对展示的预制字段进行管理,具体配置参考图片

image-2023-10-23_9-23-31.png

当字段满足人员同时具有多个的特性时,例如人员标签,专业等字段,在高级查询的extend对应字段中,配置"include_in_parent": true即可开启全部满足/部分满足搜索模式

image-2023-11-20_14-41-11.pngimage-2023-11-20_14-40-16.png

配置新版高级查询页面默认过滤字段

前端及后端配置均可,前端配置适用于默认过滤字段预制,且不会对过滤的字段进行追加查询(例如希望这个高级查询场景始终只展示正式员工,且不会追加查询实习生),后端配置适用于在预制的过滤字段的基础上需要追加查询的(例如此场景默认预制只展示职级大于10的员工,可能会追加查询9级的人员)

前端配置

在元数据配置hooks中增加如下配置,其中=function(){ return {}}的return{}中,就是配置的过滤条件,注意,过滤字段必须已经预制到高级查询模板中;如何将字段预制到es高级查询,参考wiki

如果过滤的是主集上的字段,配置return {'字段key':{'比较符':目标值}},子集上的字段则配置return {'子集名称.字段key':{'比较符':目标值}}

{
    "hooks": {
        "getExtraFilterDict": "=function(){ return {'family_information.age': {'>=': 12}}}" //这个配置的意思是默认过滤family_information子集的age字段大于等于12的人员
    }
}

偷懒的小tip,配置多个过滤条件时,return中书写的内容结构可以在高级查询页面打开检查,直接将这些过滤条件在高级查询的页面中查好,然后查看接口中传入的filter_dict内容,直接拷贝到return{}中,再修改一下比较符号格式(把key值加个英文单引号包起来之类的)即可

后端配置

在场景元数据配置的condition及default_filter_dict中,进行过滤配置

  • 无标签