odoo 视图部分详解(二)

View 类型
Activity 活动
Activity 视图用于显示链接到记录的活动。记录成行,活动成列.支持单击切换FORM视图。
在这里插入图片描述

    <record id="sale_subscription_view_activity" model="ir.ui.view">
        <field name="name">sale.subscription.activity</field>
        <field name="model">sale.subscription</field>
        <field name="arch" type="xml">
            <activity string="Subscriptions">
                <templates>
                    <div t-name="activity-box">
                        <div>
                            <field name="code" display="full"/>
                            <field name="partner_id" muted="1" display="full"/>
                        </div>
                    </div>
                </templates>
            </activity>
        </field>
    </record>

警告:
Activity视图需在mail模块安装后才能使用,且模型须继承mail.activity.mixin.
它的根节点是 ,支持如下属性:
string (强制)
描述视图的标题
子元素包括:
field
声明要在Activity逻辑中使用的字段。如果该字段仅显示在Activity视图中,则无需预先声明。
具体包括:
name (必须的):要获取的字段的名称
templates:
定义 QWeb 模板.
**Calendar 日历 **
日历视图将记录显示为每日、每周、每月或每年日历中的事件。

注意:
默认情况下,日历视图将以当前日期(今天)为中心。您可以将特定的初始日期传递给操作的上下文,以便将日历的初始焦点设置在该日期周围的时段(要使用的上下文键为initial_date)
根节点是 . 涉及到的属性有:
date_start (必须的)
事件开始日期
date_stop
事件结束日期
date_delay
日期间隔单位(默认是天)
color
日历条目颜色分组的字段 ,用于定义颜色的字段,颜色字段值相同的记录会在视图中以相同的颜色显示
form_view_id
关联的form视图ID.
event_open_popup
如果选项“event_open_popup”设置为true,则日历视图将在FormViewDialog中打开事件(或记录)。否则,它将在新的表单视图中打开事件(使用do_action)
quick_add
在单击时启用快速事件创建:仅要求用户输入名称(保存此值的字段可以通过rec_name进行控制),并尝试仅使用该名称和单击的事件时间创建新事件。如果快速创建失败,则返回到完整窗体对话框
create_name_field
保存记录文本表示的记录字段的名称,在通过“快速创建”机制创建记录时使用
all_day
提供一个布尔字段,用来定义对应事件是否是全天有效。
mode
是日历的默认显示模式,分为天、周、月或年。
day, week, month, year
scales
单位(刻度)
如:

scales="day,week,month"

create, delete
允许通过将相应属性设置为false来禁用视图中的相应操作

字段可以具有其他属性: *invisible* 设为 “True” ,隐藏字段。 *avatar_field* 仅适用于x2many字段,在卡片中显示头像而不是display_name.

在这里插入图片描述
write_model 和write_field 及 filter_field
您可以添加过滤器并将结果保存在已定义的模型中,过滤器将添加到侧栏中。
在这里插入图片描述
滤色器和颜色
使用“True”将此字段添加到侧栏的筛选器中。可以指定用于使复选框着色的颜色字段。

Cohort
Cohort视图用于显示和理解某些数据在一段时间内的变化方式。
例如,假设对于给定的业务,客户可以订阅某些服务。然后,群组视图可以显示每个月的订阅总数,并研究客户离开服务的速率(流失率)。
当点击一个单元格时,群组视图会将您重定向到一个新的操作,在该操作中,您将只看到单元格时间间隔中包含的记录;此操作适用于list视图和form视图。
注意:
示例:

<record id="crm_lead_view_cohort" model="ir.ui.view">
    <field name="name">crm.lead.view.cohort</field>
    <field name="model">crm.lead</field>
    <field name="arch" type="xml">
        <cohort string="Opportunities" date_start="create_date" date_stop="date_closed" interval="week" mode="churn" sample="1">
            <field name="color" invisible="1"/>
        </cohort>
    </field>
</record>

Cohort 视图的根节点是,它接受如下属性:

string (必须的)
标题,用来解释说明视图

date_start (必须的)
开始时间

date_stop (必须的)
终止时间

mode (optional)
用于描述模式的字符串。它有两个选项:“流失率”或“留存率”(默认)。流失率模式将从0%开始并随着时间的推移而累积,而留存率将从100%开始并随着时间的推移而减少。

timeline (optional)
用于描述时间轴的字符串。它应该是“向后”或“向前”(默认)。向前时间轴将显示数据从date_start到date_stop,而向后时间轴将显示数据从date_stop到date_start.

interval (optional)
用于描述时间间隔的字符串。应该是’ day ', ’ week ', ’ month ‘(默认)或’ year '。

measure (optional)
可以聚合的字段。此字段将用于计算每个单元格的值。如果没有设置,队列视图将计算出现的次数。
在这里插入图片描述

Dashboard

像pivot 和 graph 视图, dashboard 视图用于显示合计数据. 仪表板可以嵌入子视图, 可以对给定数据集提供更完整和有趣的外观。

dashboard 视图可以显示子视图, 基于domain显示合计数据, 或者根据公式进行计算。如下:

<dashboard>
    <view type="graph" ref="sale_report.view_order_product_graph"/>
    <group string="Sale">
        <aggregate name="price_total" field="price_total" widget="monetary"/>
        <aggregate name="order_id" field="order_id" string="Orders"/>
        <formula name="price_average" string="Price Average"
            value="record.price_total / record.order_id" widget="percentage"/>
    </group>
    <view type="pivot" ref="sale_report.view_order_product_pivot"/>
</dashboard>

根节点是 ,它不接受任何属性。
5种可能的形式:
view
声明一个子视图
type (mandatory)
子视图类型. 例如, graph 或 pivot.

ref (optional)
视图的xml id。如果未给出,将使用模型的默认视图.

name (optional)
标识此元素的字符串。用作xpath的目标非常有用.
group
定义列布局。这实际上非常类似于表单视图中的group元素.
string (optional)
描述.

colspan (optional)
子列表,通常是6.

col (optional)
此组标记跨越的列数。默认情况下为6。

aggregate
按domain进行合计.
请注意,合计应该在group中使用(否则将无法正确应用样式)。
其属性包括:
field (必须)
用于求和的字段名称. 包括:
integer (默认的组操作是sum求和)
float (默认的组操作是sum求和)
many2one (默认的组操作是去重统计)

name (必须)
求和标识 (通常用于公式)
string (optional)
A short description that will be displayed above the value. If not given, it will fall back to the field string.
一个关于值的简短的描述,如果没有给出,则取字段描述
domain (optional)
对要统计的记录集的附加限制。此domain将与当前domain合并.

group_operator (optional)
例如:group_operator = ‘sum’

示例:

<aggregate name="price_total_max" field="price_total" group_operator="max"/>

col (optional)
此标记跨越的列数(仅在组内有意义)。默认情况下为1。
widget (optional)
用widget格式化值,例如: monetary.
help (optional)
在tooltip中显示帮助信息(相当于python的字段帮助)
measure 计量 (optional)
在这里插入图片描述

count :记录统计

<aggregate name="total_ojects" string="Total Objects" field="id" group_operator="count" measure="__count__"/>

clickable (optional)
允许单击

value_label (optional)
值标签

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值