Odoo 18 中的列表(list) 、表单(Form)、数据透视表、图表视图、看板视图、活动视图、日历视图等综合应用实例

Odoo 18 中的 视图应用实例

在 Odoo 中,视图是用户界面中表示业务对象的重要组成部分。无论您是扩展现有功能还是创建全新的功能,业务对象都至关重要。这些对象通过不同类型的视图向用户展示,而 Odoo 会根据 XML 描述动态生成这些视图。

列表视图或树形视图

列表视图或树形视图用于在单个界面中显示多条记录,结构类似于列表或树。每一行对应数据库中的一条记录,而列则表示这些记录中的字段。
在这里插入图片描述

这种视图允许进行排序、筛选和分组等操作。由于odoo18中, 标签已经不再使用,并入标签中,它使用 标签定义,作为根元素。以下是定义树形视图的示例:

<record id="view_student_data_tree" model="ir.ui.view"><field name="name">student.data.tree</field><field name="model">student.data</field><field name="arch" type="xml"><list><field name="name"/><field name="class_name"/><field name="address"/></list></field>
</record>

在 ir.ui.view 模型中创建树形视图记录后,您需要在窗口操作中将视图模式设置为 ‘list’。您可以在下面提到的表单视图记录下方的代码块中观察到这一点。

表单视图

表单视图用于显示单条记录的详细信息,提供该记录中数据的详细视图。它封装在 标签中,包含结构和语义组件。
在这里插入图片描述

表单视图中的字段使用 标签排列。您可以使用 和 标签对表单视图进行样式设置,其中 用于将字段组织成列:

<?xml version="1.0" encoding="utf-8"?>
<odoo><record id="action_student_record" model="ir.actions.act_window"><field name="name">学生管理</field><field name="res_model">student.data</field><field name="view_mode">list,form</field><field name="help" type="html"><p class="o_view_nocontent_smiling_face">创建数据</p></field></record><record id="view_student_data_tree" model="ir.ui.view"><field name="name">student.data.tree</field><field name="model">student.data</field><field name="arch" type="xml"><list><field name="name"/><field name="class_name"/><field name="address"/></list></field></record><record id="view_student_data_form" model="ir.ui.view"><field name="name">student.data.form</field><field name="model">student.data</field><field name="arch" type="xml"><form string="Student"><header><field name="state" widget="statusbar"/><button name="action_student" type="object" string="查看" class="btn btn-primary me-1"/><button name="Cancel" string="取消 " class="btn-default" special="cancel"/></header><sheet><group><group><field name="name" string="姓名"/><field name="class_name" string="班级"/></group><group><field name="address" string="地址"/></group></group></sheet><chatter/></form></field></record><menuitem id="student_menu_root"name="学生管理"sequence="10"><menuitem id="student_order_menu"name="学生"sequence="10"><menuitem id="menu_student_records"name="学生记录"action="action_student_record"sequence="10"></menuitem></menuitem></menuitem>
</odoo>

在上面的代码中,您可以看到另一个定义窗口操作的记录,它指定了用户如何在 Odoo 界面中与 student.data模型进行交互。
此代码为 Odoo 中的 student.data 模型定义了一个窗口操作:

  • Name:操作标签为“学生管理”。
  • Model:它操作 student.data 模型。
  • View Model:默认以树形(列表)视图显示记录,同时提供切换到表单视图以查看详细记录的选项。如果您为模型创建了任何视图记录,则需要相应地指定视图模式。例如,对于数据透视视图,添加 pivot;对于图表视图,添加 graph;对于看板视图,添加 kanban;对于活动视图,添加 activity;对于日历视图,添加 calendar;对于层次视图,添加 hierarchy。
    此操作允许用户高效地管理和查看学生记录。
    注意:在odoo18中,聊天窗口视图可以直接用代替。

数据透视视图

数据透视视图在数据分析中起着重要作用,允许用户以各种方式生成和筛选报表。对于需要下载报表(尤其是 XLSX 格式)的用户来说,它是理想的选择。
在这里插入图片描述

数据透视视图在 标签中定义,其中指定了字段及其类型。字段可以按行或列组织以结构化数据:

<record id="student_view_pivot" model="ir.ui.view"><field name="name">student.view.pivot</field><field name="model">student.data</field><field name="arch" type="xml"><pivot string="Student Class Analysis"><field name="name" type="row"/><field name="class_name" type="col"/></pivot></field></record>

图表视图

图形视图以可视化方式呈现数据,允许用户通过条形图、饼图等图形格式快速解读信息。它在 标签中定义,通过属性指定图表类型和要可视化的字段:
在这里插入图片描述

以下是用于可视化每个日期注册学生数量的图表视图示例:

<record id="student_view_graph" model="ir.ui.view"><field name="name">student.view.graph</field><field name="model">student.data</field><field name="arch" type="xml"><graph string="Class Statistics" type="bar"><field name="name" type="col"/><field name="class_name" type="row"/></graph></field>
</record>

图表视图中的每个字段都可以有一个 type 属性,该属性会影响数据的分组或测量方式:
·type=“row” 表示每个组将有自己的一行。
·type=“col” 用于按列分组。
·type=“measure” 通常应用于整数或浮点数等数值数据,示将在图形中进行度量或汇总的数据。
这允许根据视图的需求进行灵活和动态的数据呈现。

看板视图

看板视图将记录显示为卡片,可以分组到列中以方便可视化。此视图特别适用于项目管理或任何需要将任务或记录分类并可视化监控的场景。
在这里插入图片描述

看板视图在 标签中定义,视图包括一系列 QWeb 模板。根模板通常命名为 kanban-box,包含构成看板卡片的字段和 HTML 类。

   <record id="student_view_kanban" model="ir.ui.view"><field name="name">student.view.kanban</field><field name="model">student.data</field><field name="arch" type="xml"><kanban class="o_kanban_view" string="Student Progress"><templates><t t-name="kanban-box"><div t-attf-class="oe_kanban_card oe_kanban_global_click"><div class="o_kanban_content"><strong><div class="oe_kanban_title"><field name="name"/></div></strong><div>Class: <field name="class_name"/></div><div>Status: <field name="state"/></div></div></div></t></templates></kanban></field></record>

此外,您还可以使用其他属性,如 default_group_by 和 default_order:
·default_group_by:用于在看板视图中对记录进行分组。
·default_order:确定记录的默认排序顺序。

搜索视图

搜索视图用于筛选和搜索记录。这些视图通过允许用户快速找到所需信息来提高用户效率。
在这里插入图片描述

以下是基于各种条件查找学生的搜索视图示例:

student.view.search student.data

搜索视图对于根据特定条件筛选记录至关重要,使数据检索快速高效。它们在 标签中定义。

活动视图

活动视图用于管理和安排与记录相关的活动,帮助用户保持条理并跟踪任务。
在这里插入图片描述

以下是用于安排学生活动的活动视图示例:

<record id="student_view_activity" model="ir.ui.view"><field name="name">student.view.activity</field><field name="model">student.data</field><field name="arch" type="xml"><activity string="Event"><templates><div t-name="activity-box"><div><field name="name" string="Student Name" class="o_text_block o_text_bold"/><field name="class_name"/></div></div></templates></activity></field>
</record>

此视图封装在 标签中,根元素称为 activity-box。您可以在 标签内指定字段,从而系统地组织内容。

日历视图

日历视图对于组织来说是不可或缺的,它有助于跟踪重要日期和事件。视图在 标签内构建,通过 date_start、date_stop 和 color 等属性控制显示:
在这里插入图片描述

以下是用于管理学生注册的日历视图示例:

student.view.calendar student.data

配置日历视图时,可以使用多个属性:
·date_start:指定事件的开始日期。
·date_stop:定义事件的结束日期。
·date_delay:作为 date_stop 字段的替代。
·color:用于为项目应用颜色。
·mode:确定日历加载时的视图模式,例如“天”、“周”或“月”。

层次视图

Odoo 18 中的层次视图用于以树形结构显示具有父子关系的记录。此视图非常适合组织自然形成层次结构的数据,例如类别或组织图表。
在这里插入图片描述

以下是定义 tuition.student 模型层次视图的示例:

 <record id="student_class_view_hierarchy" model="ir.ui.view"><field name="name">student.class.view.hierarchy</field><field name="model">student.data</field><field name="arch" type="xml"><hierarchy child_field="child_ids" draggable="1"><field name="name"/><templates><t t-name="hierarchy-box"><div t-attf-class="o_hierarchy_node_header d-flex justify-content-center pb-4" t-att-title="parent_id"></div><div class="o_hierarchy_node_body d-flex flex-column text-center"><div class="w-100 position-relative"><field class="fw-bold" name="name"/><br/></div></div></t></templates></hierarchy></field></record>

Odoo 中的高级层次视图功能增强了各种菜单功能的效率,使平台在业务管理中更加有效。
Odoo 中的高级层次结构视图功能显著提高了各种菜单功能的效率和组织性,从而提升了该平台在业务管理方面的整体效能。此视图允许用户可视化和管理记录中复杂的父子关系,使在系统内的导航和操作更加容易。
除了层次视图外,Odoo 还提供其他专用视图,例如 队列视图 和 甘特图视图,这些视图仅在企业版中提供。这些视图提供了额外的功能,用于跟踪和管理随时间变化的数据,帮助企业进一步优化其运营。

  • 队列视图:非常适合分析特定时间段内的数据,例如跟踪客户保留率或项目进度。
  • 甘特图视图:为项目管理提供了强大的工具,允许用户以甘特图格式可视化任务和时间线。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/36165.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】Bash是什么?怎么使用?

李升伟 整理 什么是 Bash&#xff1f; Bash&#xff08;Bourne Again Shell&#xff09;是一种 命令行解释器&#xff08;Shell&#xff09;&#xff0c;广泛用于 Unix 和 Linux 操作系统。它是 Bourne Shell&#xff08;sh&#xff09; 的增强版&#xff0c;提供了更多的功能…

Golang开发

Golang 文章目录 Golang预备技术一、算法与数据结构第1章&#xff1a;基础算法第2章&#xff1a;数据结构第3章&#xff1a;搜索与图论第4章&#xff1a;数论第5章&#xff1a;动态规划第6章&#xff1a;贪心第7章&#xff1a;算法竞赛入门 二、Linux操作系统与Shell编程三、计…

AI +低代码平台实现个性化用户体验设计

目录 一、引言 二、低代码平台与用户体验现状 &#xff08;一&#xff09;低代码平台的普及与应用 &#xff08;二&#xff09;传统低代码平台用户体验的局限性 三、AI 在个性化用户体验设计中的关键作用 &#xff08;一&#xff09;用户行为分析与洞察 &#xff08;二&a…

synchronized与 Java内置锁(未写完)

文章目录 一、 synchronized 关键字二、Java对象结构1. 对象头2. 对象体3. 对齐字节4. 对象头中的字段长度5. Mark Word 的结构信息6. 使用 JOL 工具查看对象的布局 三、Java 内置锁机制演进过程1. 无锁状态2. 偏向锁状态3. 轻量级锁状态4. 重量级锁状态 一、 synchronized 关键…

【MySQL数据库】多表查询(笛卡尔积现象,联合查询、内连接、左外连接、右外连接、子查询)-通过练习快速掌握法

在DQL的基础查询中&#xff0c;我们已经学过了多表查询的一种&#xff1a;联合查询&#xff08;union&#xff09;。本文我们将系统的讲解多表查询。 笛卡尔积现象 首先&#xff0c;我们想要查询emp表和stu表两个表&#xff0c;按照我们之前的知识栈&#xff0c;我们直接使用…

网易云信架构升级实践,故障恢复时间缩至8秒

一、项目背景 网易云信是网易旗下集IM与音视频技术于一体的PaaS服务平台&#xff0c;为全球提供融合通信与视频的核心功能和组件&#xff0c;包括IM即时通讯、短信、信令等通信服务&#xff0c;以及RTC、直播、点播、互动直播、互动白板等音视频服务&#xff0c;此外&#xf…

[HelloCTF]PHPinclude-labs超详细WP-Level 1-FILE协议

源码分析 <?php include("get_flag.php");isset($_GET[wrappers]) ? include("file://".$_GET[wrappers]) : ;highlight_file(__FILE__); ?>第一句 include("get_flag.php");, 使代码包含了 get_flag.php 的内容 大概是生成 Flag 之类的…

MongoDB 可观测性最佳实践

MongoDB 介绍 MongoDB 是一个高性能、开源的 NoSQL 数据库&#xff0c;它采用灵活的文档数据模型&#xff0c;非常适合处理大规模的分布式数据。MongoDB 的文档存储方式使得数据结构可以随需求变化而变化&#xff0c;提供了极高的灵活性。它支持丰富的查询语言&#xff0c;允许…

4.angular 服务

服务是在controller里面引入的服务&#xff1a; 最好是内部服务在前面&#xff0c;自定义服务在后面 内部服务 $scope $scope.$watch(‘属性名’, function(newVal, oldVal) {}, true) true是深度监听,对象函数等$scope.$apply 触发页面更新,里面传入回调函数,比如说之前那个…

HarmonyOS NEXT开发进阶(十二):build-profile.json5 文件解析

文章目录 一、前言二、Hvigor脚本文件三、任务与任务依赖图四、多模块管理4.1 静态配置模块 五、分模块编译六、配置多目标产物七、配置APP多目标构建产物八、定义 product 中包含的 target九、拓展阅读 一、前言 编译构建工具DevEco Hvigor&#xff08;以下简称Hvigor&#x…

【强化学习基石】Deepseek V3技术报告中的GRPO算法是什么?

1. Deepseek V3技术报告中的GRPO算法是什么? GRPO(Generalized Relative Policy Optimization)是一种在强化学习领域用于策略优化的算法。它主要是在策略梯度方法的基础上进行改进,目的是更有效地优化策略网络,从而提高智能体在环境中的表现。 GRPO 的核心思想是通过相对…

VSCode C/C++ 开发环境完整配置及常见问题(自用)

这里主要记录了一些与配置相关的内容。由于网上教程众多&#xff0c;部分解决方法并不能完全契合我遇到的问题&#xff0c;因此我选择以自己偏好的方式&#xff0c;对 VSCode 进行完整的配置&#xff0c;并记录在使用过程中遇到的问题及解决方案。后续内容也会持续更新和完善。…

Billu_b0x靶机攻略

1&#xff0c;安装好靶机并打开&#xff0c;打开kali进行扫描得到靶机ip为192.168.50.138 2&#xff0c;访问靶机以及扫描出的目录 3&#xff0c;访问test.php发现file参数为空&#xff0c;尝试拼接其他路径来访问&#xff0c;发现可以file传参&#xff0c;利用插件进行post传参…

如何搭建一个安全经济适用的TRS交易平台?

TRS&#xff08;总收益互换&#xff09;一种多方参与的投资方式&#xff0c;也是绝对收益互换&#xff08;total return swap&#xff09;的一种形式。 它是一种衍生合约&#xff0c;是一种金融衍生品的合约&#xff0c;是指交易双方在协议期间将参照资产的总收益转移给信用保…

LeetCode 解题思路 16(Hot 100)

解题思路&#xff1a; 初始化辅助节点&#xff1a; dummy&#xff1a;哑节点。pre&#xff1a;当前链表的前一个节点。start&#xff1a;当前链表的第一个节点。end&#xff1a;当前链表的最后一个节点。nextStart&#xff1a;end.next&#xff0c;下组链表的第一个节点&…

数据结构——串、数组和广义表

串、数组和广义表 1. 串 1.1 串的定义 串(string)是由零个或多个字符组成的有限序列。一般记为 S a 1 a 2 . . . a n ( n ≥ 0 ) Sa_1a_2...a_n(n\geq0) Sa1​a2​...an​(n≥0) 其中&#xff0c;S是串名&#xff0c;单引号括起来的字符序列是串的值&#xff0c; a i a_i a…

LeetCode BFS层序遍历树

中等 103. 二叉树的锯齿形层序遍历 给你二叉树的根节点 root &#xff0c;返回其节点值的 锯齿形层序遍历 。&#xff08;即先从左往右&#xff0c;再从右往左进行下一层遍历&#xff0c;以此类推&#xff0c;层与层之间交替进行&#xff09;。 示例 1&#xff1a; 输入&#…

深度学习大模型补充知识点

文章目录 VIT用途处理方法与CNN区别 多模态LLM&#xff1a;大语言模型预训练指令微调强化学习 总结 VIT ViT&#xff08;Vision Transformer&#xff09; 首次将 Transformer架构成功应用于计算机视觉领域&#xff08;尤其是图像分类任务&#xff09;。传统视觉任务主要依赖卷…

RCore学习记录002

初次运行RCore和调试&#xff0c;这里使用的RCore代码是实验指导书的代码&#xff0c;而非RCore训练营的 讲两种方法&#xff0c;第一种是传统的gdb调试&#xff0c;在上一节中提到的riscv交叉编译工具链中的已经安装了riscv的gdb&#xff0c;另一种是基于CLion的可视化调试&a…

maven在idea上搭建

maven搭建 首先进入maven官网&#xff0c;去download下载欢迎使用 Apache Maven – Maven下载免安装版本&#xff0c;解压在任意目录下&#xff0c;命名别取中文名 配置环境变量 复制你刚刚maven解压的路径&#xff0c;我这里是D:\resource\apache-maven-3.8.8&#xff0c;之…