视图

视图是用于展示 model <models_modules_apps> 中数据的界面。一个模型可以有多种视图,实际上是同一数据的不同呈现方式。在 Studio 中,视图分为四类:通用 <studio/views/general>多记录 <studio/views/multiple-records>时间线 <studio/views/timeline>报表 <studio/views/reporting>

提示

  • 要更改模型的默认视图,进入 Studio <studio/access>,在 视图 中点击目标视图旁的 fa-ellipsis-v(省略号)图标,选择 设为默认
  • 可以使用内置的 XML 编辑器修改视图:开启 开发者模式 ,打开要编辑的视图,切到 View 标签页,点击 </> XML

重要 使用 XML 编辑器编辑视图时,避免直接修改标准视图或继承视图,否则在更新或升级模块时会被重置。务必选中正确的 Studio 继承视图;当在 Studio 中拖拽新增字段时,系统会自动生成对应的继承视图及 XPath。

注意 以下设置均位于视图的 View 标签页,除非另有说明。

Form fa-address-card 视图用于创建和编辑记录,如联系人、销售订单、产品等。

  • 通过 + Add 中的 Tabs and Columns 元素拖拽,可构建表单布局。
  • 若不希望用户创建、编辑、删除或复制记录,分别取消勾选 Can CreateCan EditCan DeleteCan Duplicate
  • 添加按钮:点击表单顶部的 Add a button,填写 Label,并选择按钮动作:
    • Run a Server Action:从下拉列表中选择要执行的 server action <reference/actions/server>
    • Call a method:指定已在 Odoo 中定义的 Python 方法。
  • 修改按钮的标签或样式:点击按钮,在 Properties 标签页编辑 LabelClassbtn-primary 为主按钮,btn-secondary 为次按钮)。

提示 主按钮代表用户在该视图中最常使用的操作,例如 发送 报价请求;次按钮提供次要或不常用的操作,如 打印预览,默认新建按钮为次按钮。

  • 添加智能按钮:点击表单右上角的 fa-plus-square(加号)图标,填写 Label、选择 Icon,并关联一个 related field <studio/fields/relational-fields-related-field>

Activity fa-clock-o 视图用于安排和概览与记录关联的活动(邮件、电话等)。

注意 此视图只能在 Studio 中通过编辑 XML 代码进行修改。

Search oi-search 视图位于其它视图之上,用于过滤、分组和搜索记录。

  • 添加自定义 Filters 并使用 Separators 进行分组:在 + Add 中拖拽至 Filters 区域。
  • 将已有字段加入搜索下拉菜单:在 + Add 中拖拽至 Autocompletion Fields 区域。

注意 以下设置均位于视图的 View 标签页,除非另有说明。

Kanban oi-view-kanban 视图常用于通过拖动记录在不同阶段之间流转,或以卡片形式展示记录。

注意 若存在看板视图,移动端默认使用看板而非列表视图显示数据。

  • 取消勾选 Can Create 可阻止用户创建新记录。
  • 启用 Quick Create 可在看板中直接以简化表单创建记录。
  • Default Group By 中选择字段,可设定记录的默认分组方式。

List oi-view-list 视图用于一次性浏览、搜索并编辑大量记录。

  • 通过取消勾选 Can CreateCan EditCan DeleteCan Duplicate 来限制相应操作。
  • When Creating Record 中选择 Add record at the bottomAdd record on topOpen form view,即可在列表内直接创建/编辑记录。

注意 选择上述选项后,用户将无法从列表打开表单视图。

  • 勾选 Enable Mass Editing 可一次编辑多条记录。
  • Sort ByDefault Group By 中分别设置默认排序和分组字段。
  • 添加按钮:同表单视图的按钮添加方式。
  • 列宽默认自动计算,也可在列的 Properties 中的 Column Width (px) 手动设置固定宽度。

提示 若想在列表中手动拖动记录顺序,可添加一个整数字段并使用 Handle 小部件,系统会显示可拖拽的图标。

Map fa-map-marker 视图用于在地图上展示记录,例如现场服务应用中规划任务路线。

注意 必须有指向 Contact 模型的 Many2One 字段,以获取记录的地址坐标。

  • Contact Field 中选择用于定位的联系字段。
  • 勾选 Hide NameHide Address 可隐藏相应信息。
  • Additional Fields 中选择需要显示的额外字段。
  • 勾选 Enable Routing 并指定排序字段,可在地图上显示记录之间的建议路线。

注意 首次激活时间线视图时,需要指定模型中的 Date <studio/fields/simple-fields-date>Date & Time <studio/fields/simple-fields-date-time> 字段作为记录的开始和结束时间。后续可在 View 标签页修改 Start Date FieldStop Date Field

Calendar fa-calendar 视图用于在日历中概览和管理记录。

  • 启用 Quick Create 可在日历直接创建记录(仅适用于仅需填写名称的模型)。
  • Color 中选择字段,可为相同字段值的记录统一着色。
  • 选择 Checkbox 字段标记全天事件。
  • Default Display Mode 中设定默认的时间尺度:日、周、月或年。

注意 也可以使用 Delay Field(Decimal 或 Integer)显示事件时长,若同时设置了 End Date Field,则 Delay Field 不会生效。

Cohort oi-view-cohort 视图用于在一定时间范围内观察记录的生命周期,例如订阅应用中的留存率分析。

  • Measure Field 中选择默认显示的度量字段。
  • Interval 中选择默认的时间间隔:日、周、月或年。
  • Mode 中选择 Retention(留存率)或 Churn(流失率)。
  • Timeline 中选择 Forward(正向)或 Backward(反向)进度方式,常用正向。

Gantt fa-tasks 视图用于预测和检查记录的整体进度,记录以条形图形式显示在时间尺度上。

  • 取消勾选 Can CreateCan Edit 可阻止相应操作。
  • 勾选 Display Unavailability 可在不可创建的时间段(如周末)显示灰色占位。

注意 该功能需模型本身支持,Studio 无法为模型添加,仅在项目、请假、计划和制造等应用中可用。

  • 勾选 Display Total row 可在底部显示合计行。
  • 勾选 Collapse First Level 可将多条记录合并为单行。
  • Default Group by 中选择默认的行分组字段。
  • Default Scale 中设定默认时间尺度:日、周、月或年。
  • Color 中选择字段,为相同值的记录统一着色(颜色数量有限)。
  • Day PrecisionWeek PrecisionMonth Precision 中设定时间尺度的精细划分。

注意 以下设置均位于视图的 View 标签页,除非另有说明。

Pivot oi-view-pivot 视图用于交互式地探索和分析记录数据,特别适合数值聚合、分类和展开/折叠层级。

  • 勾选 Access records from cell 可查看聚合单元格对应的所有记录。
  • Column groupingRow grouping - First levelRow grouping - Second level 中选择字段进行分类。
  • Measures 中选择需要度量的字段。
  • 勾选 Display count 可在单元格中显示记录数量。

Graph fa-area-chart 视图用于以柱状图、折线图或饼图展示记录数据。

  • Type 中选择默认图表类型:Bar、Line 或 Pie。
  • First dimension(必要时 Second dimension)中选择数据维度(分类字段)。
  • Measure 中选择度量字段。
  • 对于柱状图和折线图,可在 Sorting 中选择 AscendingDescending 对类别进行排序。
  • 对于柱状图和饼图,勾选 Access records from graph 可查看对应的记录。
  • 对于柱状图,若使用两级维度,可勾选 Stacked graph 将两列堆叠显示。