Files
gzth/header_search_panel
2025-09-29 00:36:31 +08:00
..
2025-09-29 00:36:31 +08:00
1
2025-03-03 16:22:40 +08:00
1
2025-03-03 16:22:40 +08:00
1
2025-03-03 16:22:40 +08:00
1
2025-03-03 16:22:40 +08:00

自定义搜索视图说明

简介

该模块实现了自定义搜索视图 header_search 标签,主要包含以下筛选功能:

  • 快捷筛选(quick_filter)
  • 自选时间筛选(select_date_filter)(待移植)
  • 字段搜索(field)(待移植)

通过这些筛选标签,用户可以更灵活地对列表视图中的数据进行筛选。


结构说明

标签名: header_search

支持的属性:

属性名 类型 说明 是否可选
class String 自定义 CSS 类名 ✅

子标签支持:

  • field:简单字段筛选
  • quick_filter:快捷筛选
  • select_date_filter:自选时间筛选

示例:

<header_search class="custom-search">
    <quick_filter string="状态筛选" and_or="or">
        <filter name="confirmed" string="已确认" domain="[('state', '=', 'confirmed')]"/>
        <filter name="draft" string="草稿" domain="[('state', '=', 'draft')]"/>
    </quick_filter>
    <select_date_filter allow_date_fields="create_date,write_date" />
    <field name="partner_id" string="合作伙伴"/>
    <field name="order_id" string="订单编号"/>
</header_search>

2. 快捷筛选 (quick_filter)

标签名: quick_filter

支持的属性:

属性名 类型 说明 是否可选
class String 自定义 CSS 类名 ✅
string String 显示的标头名称 ✅
invisible Boolean 是否默认隐藏 ✅
options JSON 扩展参数,支持以下参数: ✅
radio: 是否单选
no_label: 不显示标题
and_or String 筛选条件之间的逻辑关系 ✅ (默认 and)

子标签:

  • filter :用于定义筛选条件

示例:

<quick_filter string="状态筛选" and_or="or" options="{'radio': False, 'no_label': True}">
    <filter name="confirmed" string="已确认" domain="[('state', '=', 'confirmed')]"/>
    <filter name="draft" string="草稿" domain="[('state', '=', 'draft')]"/>
</quick_filter>

3. 自选时间筛选 (select_date_filter)

标签名: select_date_filter

支持的属性:

属性名 类型 说明 是否可选
class String 自定义 CSS 类名 ✅
invisible Boolean 是否默认隐藏 ✅
allow_date_fields String 允许筛选的时间字段,逗号分隔 ✅

示例:

<select_date_filter allow_date_fields="create_date,write_date" />

4. 字段筛选 (field)

标签名: field

支持的属性:

属性名 类型 说明 是否可选
name String 字段名称 ❌
string String 显示的标头名称 ✅
class String 自定义 CSS ✅
invisible Boolean 是否默认隐藏 ✅

示例:

<field name="partner_id" string="合作伙伴" />
<field name="order_id" string="订单编号" />

使用说明

  1. 将筛选标签嵌入到自定义列表视图的 XML 文件中。
  2. 通过 class 属性自定义样式。
  3. 配合 Odoo 17 的搜索面板,实现更加灵活的筛选功能。

注意事项

  • and_or 属性仅在 quick_filter 中生效。
  • allow_date_fields 需要填写模型中的日期字段名。
  • 如果 invisible="1",筛选项默认隐藏,需要点击更多选项才能显示。