# 自定义搜索视图说明 ## 简介 该模块实现了自定义搜索视图 `header_search` 标签,主要包含以下筛选功能: - 快捷筛选(quick_filter) - 自选时间筛选(select_date_filter)(待移植) - 字段搜索(field)(已移植) 通过这些筛选标签,用户可以更灵活地对列表视图中的数据进行筛选。 --- ## 结构说明 ### 1. 头部搜索框 (header_search) **标签名:** `header_search` #### 支持的属性: | 属性名 | 类型 | 说明 | 是否可选 | | ------- | ------ |-------------------------------------------------------------------| ---- | | `class` | String | 自定义 CSS 类名,
可使用class="header-search-inline"使所有筛选在同一行并根据宽度自动换行 | ✅ | #### 子标签支持: - `field`:简单字段筛选 - `quick_filter`:快捷筛选 - `select_date_filter`:自选时间筛选 #### 示例: ```xml ``` --- ### 2. 快捷筛选 (quick_filter) **标签名:** `quick_filter` #### 支持的属性: | 属性名 | 类型 | 说明 | 是否可选 | | ----------- | ------- | ----------- | ------------ | | `class` | String | 自定义 CSS 类名 | ✅ | | `string` | String | 显示的标头名称 | ✅ | | `invisible` | Boolean | 是否默认隐藏(废弃) | ✅ | | `options` | JSON | 扩展参数,支持以下参数: | ✅ | | | | `radio`: 是否单选 | | | | | `no_label`: 不显示标题 | | | `and_or` | String | 筛选条件之间的逻辑关系 | ✅ (默认 `and`) | #### 子标签: - `filter` :用于定义筛选条件 #### 示例: ```xml ``` --- ### 3. 自选时间筛选 (select_date_filter)(废弃) **标签名:** `select_date_filter` #### 支持的属性: | 属性名 | 类型 | 说明 | 是否可选 | | ------------------- | ------- |----------------| ---- | | `class` | String | 自定义 CSS 类名 | ✅ | | `invisible` | Boolean | 是否默认隐藏(废弃) | ✅ | | `allow_date_fields` | String | 允许筛选的时间字段,逗号分隔 | ✅ | #### 示例: ```xml ``` --- ### 4. 字段筛选 (field) **标签名:** `field` #### 支持的属性: | 属性名 | 类型 | 说明 | 是否可选 | | ------- | ---- | --------- | ---- | | `name` | String | 字段名称 | ❌ | | `string` | String | 显示的标头名称 | ✅ | | `class` | String | 自定义 CSS | ✅ | | `invisible` | Boolean | 是否默认隐藏 | ✅ | | `options` | JSON | 扩展参数,支持以下参数: | ✅ | | | | `radio`: 是否单选 | | | | | `no_label`: 不显示标题 | | #### 示例: ```xml ``` --- ## 使用说明 1. 将筛选标签嵌入到自定义列表视图的 XML 文件中。 2. 通过 `class` 属性自定义样式。 3. 配合 Odoo 17 的搜索面板,实现更加灵活的筛选功能。 --- ## 注意事项 - `and_or` 属性仅在 `quick_filter` 中生效。 - `allow_date_fields` 需要填写模型中的日期字段名。 - 如果 `invisible="1"`,筛选项默认隐藏,需要点击更多选项才能显示。