转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826324.html

一:仪表盘与看板的区别

kanban:kanban是一种视图类型,卡片式视图。可以为某模型定义kanban视图,以卡片式进行展示、操作。

也可以自定义一个模型专门用来作为一个模块的看板视图,称之为“工作台”。如果模块中有多个模型,需要不同卡片来展示、操作,可以在自定义的kanban模型中定义一个类型字段,通过不同类型,来展示不同的卡片内容。

仪表盘:仪表盘是odoo内置的一个模型,名为 board.board  。仪表盘模型类似于驾驶舱一样,可以在界面上加载、显示不同模型的特定视图,以某种排版方式在界面上显示。达到“全局监控、全局操作”的效果。

例如:

二:仪表盘的使用

仪表盘的模型不需要我们自己定义,我们只需要自己组装视图文件,决定我们想要的仪表盘视图要展示哪些模型的哪些视图、怎样排版展示即可。

1:新建视图文件

在模块的views目录下新建。

2:编写文件内容,组装仪表盘界面

<?xml version="1.0"?>
<odoo>
<data>
<!--1:通过action打开一个模型的图形视图-->
<record model="ir.actions.act_window" id="act_session_graph">
<field name="name"></field>
<field name="res_model">引用的模型</field>
<field name="view_type">form</field>
<field name="view_mode">graph</field>
<field name="view_id"
ref="模型.被引用的视图元素的外部id"/>
</record> <!--2:通过action打开日历视图-->
<record model="ir.actions.act_window" id="act_session_calendar">
<field name="name"></field>
<field name="res_model">模型</field>
<field name="view_type">form</field>
<field name="view_mode">calendar</field>
<field name="view_id" ref="模型.视图外部id"/>
</record> <!--3:通过action打开模型列表/表单视图-->
<record model="ir.actions.act_window" id="act_course_list">
<field name="name">Courses</field>
<field name="res_model">openacademy.course</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record> <!--上述action们都是仪表盘各项内容的来源--> <!--定义仪表板视图-->
<record model="ir.ui.view" id="board_session_form">
<field name="name">仪表板</field>
<field name="model">board.board</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="仪表盘">
<board style="2-1">//排版样式,有好几种样式:1,1-1,2-1和1-1-1,可以在界面上里面点击切换样式
<column>//仪表盘单元
<action
string="表盘1"
name="%(上面引入的视图id)d"
height=""
width=""/>
<action
string="表盘2"
name="%(上面引入的视图id)d"/>
</column>
<column>//第二列
<action
string="表盘3"
name="%(上面引入的视图id)d"/>
......
</column>
</board>
</form>
</field>
</record> <!--定义动作打开仪表板视图-->
<record model="ir.actions.act_window" id="open_board">
<field name="name">Dashboard</field>
<field name="res_model">board.board</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="usage">menu</field>
<field name="view_id" ref="board_session_form"/>
</record> <!--定义菜单项,打开仪表盘的action-->
<menuitem
name="仪表盘" parent=""
action="open_board"
sequence="1"
id=""
icon="terp-graph"/>
</data>
</odoo>

3:在manifest中配置文件,使其被加载

'depends': ['base', 'board'],

'data': [
......
'views/session_board.xml',
],

三:怎么选择

1:工作台的实现方式选择

1)仪表盘

缺点:自由度低。只能通过action调用各个模型的各种视图,单纯地在同一个页面陈列展示。不能作一些统计、加工处理后的效果展示。

优点:能调用odoo原生的内容,例如graph、透视图、tree视图等。

2)用kanban

缺点:卡片内容要自己写,无法调用odoo原生的视图;卡片上要呈现的内容都需要自己定义、赋值。

优点:自由度高。可以以某个模型为管理单元,制定看板视图,形成管理工作台。也可以自定义一个看板模型,根据不同类型,使卡片展现不同内容,以达到 “模块工作台”的效果。

还可以在卡片上,通过label展示一些统计信息;通过button快速跳转;通过柱形图、折线图展示某关键数据的历史变化。

结论:工作台,使用kanban更好。

2:驾驶舱的实现方式选择

1)仪表盘

缺点:自由度低。只能通过action调用各个模型的各种视图,单纯地在同一个页面陈列展示。不能作一些统计、加工处理后的效果展示。

优点:能调用odoo原生的内容,特别是透视图和图表,可以实现  多维分析驾驶舱

2)自由前端

缺点:内容要自己定义,数据来源要自己书写、提供。

优点:自由度高,通过前端技术,可以集成各种优秀、炫酷的前端控件,达到最优的展示效果。可以实现“管理驾驶舱”。

结论:报表模块,可以使用仪表盘实现多维分析驾驶舱,把多维分析在一个界面显示。

项目驾驶舱模块,使用前端技术,为领导层提供一些加工、处理过的统计结果数据,进行可视化呈现。

Odoo仪表盘详解的更多相关文章

  1. (15)odoo配置文件详解

    openerp-server.conf ---------------- [options]; addons模块的查找路径addons_path = E:\GreenOdoo8.0\source\op ...

  2. odoo配置文件详解

    addons模块的查找路径 addons_path = D:\odoo\Odoo 10.0\server\odoo\addons 超级管理员(用于创建,还原和备份数据库的操作) admin_passw ...

  3. odoo domain详解

    参考的以下文档: luohuayong:Odoo domain写法及运用 baimo:odoo domain表达式 1.domain 表达式规则 最简单的格式:[('字段名','操作符',值)] 例: ...

  4. Odoo Controller详解

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826241.html 一:Controller 一般通过继承的形式来创建controller类,继承自od ...

  5. odoo配置文件内容详解

    odoo常用openerp-server.conf配置参数详解 参数 说明 用法 addons_path addons模块的查找路径,多个路径用逗号分隔 addons_path = E:\GreenO ...

  6. odoo项目结构参数属性详解

    1.基础文件及目录结构 在认识odoo ORM框架前,先介绍一下odoo中模块目录结构.   data:存放模块预制数据i18n:存放国际化文件models:存放模型等py代码security:存放权 ...

  7. Odoo权限控制详解

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826105.html 一:Odoo中的权限设置主要有以下5种 1)菜单.报表的访问权限 Odoo可以设置菜 ...

  8. Android之canvas详解

    首先说一下canvas类: Class Overview The Canvas class holds the "draw" calls. To draw something, y ...

  9. 【转】Android Canvas绘图详解(图文)

    转自:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1212/703.html Android Canvas绘图详解(图文) 泡 ...

随机推荐

  1. vb.net 对字符串中的括号匹配进行判断,容许嵌套

    '   括号检查 '     括号共有四种:  1(英文圆括号),2(中文圆括号),3[方括号],4{花括号} '      要左右匹配(可以嵌套) Private Shared Function i ...

  2. terminal使用kubectl.exe delete pod podname删不掉

    今天通过kubernetes的dashboard进行删除有问题或者重启次数太多的pod,发现删不掉,然后就在本地尝试使用terminal进行删除 先获取指定namespace下的所有的pod,根据st ...

  3. 图文详解如何使用VMWare创建一套虚拟机“集群”

    开篇废话 在学习各种高大上的大数据产品也好,模拟部署我们的程序到PRD环境也好,总离不开需要一个机器集群.然而通常我们都没有那么多银子去购买多台云服务器,更没钱购买物理机.所以对于技术研究来说,最经济 ...

  4. mysql(六)数据库连接池

    什么是数据库连接池 数据库连接池(Connection pooling)是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地对池中的连接进行申请,使用,释放 数据库连接池的运行机 ...

  5. Maven设置MAVEN_OPTS环境变量

    原文地址:https://blog.csdn.net/porsche_gt3rs/article/details/78787491 一 原因: 运行mvn命令实际是执行java命令,既然是运行java ...

  6. JavaSE 面试题: 方法的参数传递机制

    JavaSE 面试题 方法的参数传递机制 import java.util.Arrays; public class Test { public static void main(String[] a ...

  7. Spring Cloud config之三:config-server因为server端和client端的健康检查导致服务超时阻塞问题

    springcloud线上一个问题,当config-server连不上git时,微服务集群慢慢的都挂掉. 在入口层增加了日志跟踪问题: org.springframework.cloud.config ...

  8. Java学习之旅(一):探索extends

    鄙人为兴趣爱好,0基础入门学习Java,有些心得想法,记录于此,与君分享. 然毕竟新手,学识尚浅,错误之处,希望多多指正批评,也是对我最大的帮助! 前言:本篇文章,主要讨论在子类继承父类之后,一些继承 ...

  9. requests获取响应时间(elapsed)与超时(timeout)、小数四舍五入

    前言 requests发请求时,接口的响应时间,也是我们需要关注的一个点,如果响应时间太长,也是不合理的.如果服务端没及时响应,也不能一直等着,可以设置一个timeout超时的时间 elapsed官方 ...

  10. SQL系列(六)—— 过滤(where)

    在日常的应用中的,大多数业务场景都只是需要特定的数据,所以能够过滤筛选数据显得尤为至关重要.从需求角度分析,需要特定的数据,即需要一定条件的数据,即从全量数据中根据特定条件过滤出需要的数据. 如果需要 ...