odoo12 search搜索

odoo12 search搜索

<record model="ir.ui.view" id="my_apply_search">
            <field name="name">我的申请搜索</field>
            <field name="model">hr.leave.apply</field>
            <field name="arch" type="xml">
                <search string="my_apply_search">
                    <separator orientation="申请类型"/>
                    <filter string="请假申请" name="filter_apply_type_leave" domain="[('apply_type', '=', 'leave')]" />
                    <separator orientation="审批状态"/>
                    <filter string="待审核" name="filter_state_wait_approval" domain="[('state', '=', 'wait_approval')]" />
                    <filter string="审批中" name="filter_state_approval" domain="[('state', '=', 'approval')]" />
                    <filter string="已审批" name="filter_state_finish_approval" domain="[('state', '=', 'finish_approval')]" />
                    <filter string="未通过" name="filter_state_reject" domain="[('state', '=', 'reject')]" />
                    <filter string="已取消" name="filter_state_cancel" domain="[('state', '=', 'cancel')]" />
                    <separator/>
                    <filter string="当月申请" name="filter_apply_time" domain="[('create_date', '&gt;=', (context_today() + relativedelta(day=1)).strftime('%Y-%m-%d')),
                                ('create_date', '&lt;=', (context_today() + relativedelta(months=1, day=1, days=-1)).strftime('%Y-%m-%d'))]" />
                    <filter string="今日至往后1周" name="filter_apply_time" domain="[('apply_time', '&gt;=', (context_today() + relativedelta(day=1)).strftime('%Y-%m-%d')),
                                ('apply_time', '&lt;=', (context_today() + relativedelta(weeks=1)).strftime('%Y-%m-%d'))]" />
                    <field name="apply_employee" filter_domain="[('apply_employee', 'ilike', self)]"/>
                    <field name="mini_type" />
                    <field name="apply_date" />
                    <group expand="0" string="Group By">
                        <filter string="申请日期" name="filter_groupby_apply_date" domain="[('state', 'not in', ['reject','cancel'])]" context="{'group_by':'apply_date'}"/>
                    </group>
                </search>
            </field>
        </record>
  • <field> 标签定义搜索条件 可添加域。
  • <filter>标签定义筛选条件,通过域控制输出记录集。
  • <separator>标签分隔,部分情况不分隔会导致筛选条件不生效。
<filter string="本年度" name="filter_current_year" domain="[('year', '=', datetime.datetime.now().year)]" />

在filter中 domain可执行一些python代码
例如datetime
相同字段的筛选条件选择后默认为或的关系
多个默认筛选条件需要使用<separator>标签分隔

  • 分组:
<group expand="0" string="Group By">
    <filter string="申请日期" name="filter_groupby_apply_date" domain="[('state', 'not in', ['reject','cancel'])]" context="{'group_by':'apply_date'}"/>
</group>
<!-- 在group > filter标签中的context设置group_by,其值为分组的字段 -->

--------------------- 若有错误,感谢指正 ----------------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值