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

一:仪表盘与看板的区别

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

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

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

例如:

二:仪表盘的使用

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

1:新建视图文件

在模块的views目录下新建。

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

  1. <?xml version="1.0"?>
  2. <odoo>
  3. <data>
  4. <!--1:通过action打开一个模型的图形视图-->
  5. <record model="ir.actions.act_window" id="act_session_graph">
  6. <field name="name"></field>
  7. <field name="res_model">引用的模型</field>
  8. <field name="view_type">form</field>
  9. <field name="view_mode">graph</field>
  10. <field name="view_id"
  11. ref="模型.被引用的视图元素的外部id"/>
  12. </record>
  13.  
  14. <!--2:通过action打开日历视图-->
  15. <record model="ir.actions.act_window" id="act_session_calendar">
  16. <field name="name"></field>
  17. <field name="res_model">模型</field>
  18. <field name="view_type">form</field>
  19. <field name="view_mode">calendar</field>
  20. <field name="view_id" ref="模型.视图外部id"/>
  21. </record>
  22.  
  23. <!--3:通过action打开模型列表/表单视图-->
  24. <record model="ir.actions.act_window" id="act_course_list">
  25. <field name="name">Courses</field>
  26. <field name="res_model">openacademy.course</field>
  27. <field name="view_type">form</field>
  28. <field name="view_mode">tree,form</field>
  29. </record>
  30.  
  31. <!--上述action们都是仪表盘各项内容的来源-->
  32.  
  33. <!--定义仪表板视图-->
  34. <record model="ir.ui.view" id="board_session_form">
  35. <field name="name">仪表板</field>
  36. <field name="model">board.board</field>
  37. <field name="type">form</field>
  38. <field name="arch" type="xml">
  39. <form string="仪表盘">
  40. <board style="2-1">//排版样式,有好几种样式:1,1-1,2-1和1-1-1,可以在界面上里面点击切换样式
  41. <column>//仪表盘单元
  42. <action
  43. string="表盘1"
  44. name="%(上面引入的视图id)d"
  45. height=""
  46. width=""/>
  47. <action
  48. string="表盘2"
  49. name="%(上面引入的视图id)d"/>
  50. </column>
  51. <column>//第二列
  52. <action
  53. string="表盘3"
  54. name="%(上面引入的视图id)d"/>
  55. ......
  56. </column>
  57. </board>
  58. </form>
  59. </field>
  60. </record>
  61.  
  62. <!--定义动作打开仪表板视图-->
  63. <record model="ir.actions.act_window" id="open_board">
  64. <field name="name">Dashboard</field>
  65. <field name="res_model">board.board</field>
  66. <field name="view_type">form</field>
  67. <field name="view_mode">form</field>
  68. <field name="usage">menu</field>
  69. <field name="view_id" ref="board_session_form"/>
  70. </record>
  71.  
  72. <!--定义菜单项,打开仪表盘的action-->
  73. <menuitem
  74. name="仪表盘" parent=""
  75. action="open_board"
  76. sequence="1"
  77. id=""
  78. icon="terp-graph"/>
  79. </data>
  80. </odoo>

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

  1. 'depends': ['base', 'board'],
  2.  
  3. 'data': [
  4. ......
  5. 'views/session_board.xml',
  6. ],

三:怎么选择

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. 计算机原理学习(1)-- 冯诺依曼体系和CPU工作原理

    前言 对于我们80后来说,最早接触计算机应该是在95年左右,那个时候最流行的一个词语是多媒体. 依旧记得当时在同学家看同学输入几个DOS命令就成功的打开了一个游戏,当时实在是佩服的五体投地.因为对我来 ...

  2. 【技术博客】Laravel5.1文件上传单元测试

    Laravel5.1文件上传单元测试 作者:ZGJ 在软工第三阶段中,我彻底解决了上一阶段一直困扰我的文件上传单元测试问题,在这里做一个总结. 注:下文介绍中,方法一方法二实现简单但有一定的限制条件( ...

  3. cad.net cad宋体问号 删除 KT_ST.ttf

    我的两台电脑是win10的,(可能这个问题也存在在xp.win7.win8.......毕竟十年前我就遇到过了.......) 一台电脑的cad字体设置为"宋体",另一台电脑打开之 ...

  4. Git/SVN提交代码规范

    feat - 新功能 feature fix - 修复 bug docs - 文档注释 style - 代码格式(不影响代码运行的变动) refactor - 重构.优化(既不增加新功能,也不是修复b ...

  5. Java利用IText导出PDF(更新)

    我很久以前写的还是上大学的时候写的:https://www.cnblogs.com/LUA123/p/5108007.html ,今天心血来潮决定更新一波. 看了下官网(https://itextpd ...

  6. 032 搭建搜索微服务01----向ElasticSearch中导入数据--通过Feign实现微服务之间的相互调用

    1.创建搜索服务 创建module: Pom文件: <?xml version="1.0" encoding="UTF-8"?> <proje ...

  7. 63 网络编程(四)——TCP编程

    TCP编程 TCP编程是面向连接的数据传输,所以需要时用IO流来建立连接. 用户输出流到服务器,服务器输入流接收数据. 服务器输出流到用户,用户输入流接收. 基本流程 服务器端 创建服务器端:Serv ...

  8. 2019年湖南省大学生计算机程序设计竞赛 (HNCPC2019) 简要题解

    2019年湖南省大学生计算机程序设计竞赛 (HNCPC2019) 简要题解 update10.01 突然发现叉姐把这场的题传到牛客上了,现在大家可以有地方提交了呢. 不知道该干什么所以就来水一篇题解 ...

  9. Java开发月薪2W的知乎讨论记录截取

    1. 推荐看 作者:匿名用户 链接:https://www.zhihu.com/question/39890405/answer/83676977 来源:知乎 著作权归作者所有.商业转载请联系作者获得 ...

  10. markdown使用emoji

    前几日写博客的时候在想是否能够在markdown中使用emoji呢