zoukankan      html  css  js  c++  java
  • odoo开发教程十五:仪表板

    仪表盘可以通过外部ID引用其他视图文件的内容,整合到一个界面进行显示。

    一:建立仪表盘视图文件

    views/session_board.xml:

    通过外部id引入要展示的视图文件——定义仪表板form表单,把引入的视图文件进行布局显示——定义action,指定打开仪表板视图的动作——定义子菜单绑带到odoo顶级仪表板菜单下,绑定action

    复制代码
    复制代码
    复制代码
    <?xml version="1.0"?>
    <odoo>
        <data>
           <!--引用一个模型的图形视图-->
            <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>
            <!--引用日历视图-->
            <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>
            <!--引用模型列表/表单视图-->
            <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>
            <!--定义仪表板form表单-->
            <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=" Dashboard">
                        <board style="2-1">//有好几种样式:1,1-1,2-1和1-1-1,可以在odoo里面点击切换
                            <column>//一列
                                <action
                                    string="视图一"
                                    name="%(上面引入的视图id)d"
                                    height="150"
                                    width="510"/>
                                <action
                                    string="视图二"
                                    name="%(上面引入的视图id)d"/>
                            </column>
                            <column>//第二列
                                <action
                                    string="视图三"
                                    name="%(上面引入的视图id)d"/>
                            </column>
                        </board>
                    </form>
                </field>
            </record>
           <!--定义动作打开仪表板form视图-->
            <record model="ir.actions.act_window" id="open_board_session">
              <field name="name">Session 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>
            <!--在odoo原生仪表板菜单下,定义子菜单,把仪表板打开动作绑定到菜单项-->
            <menuitem
                name="Session Dashboard" parent="base.menu_reporting_dashboard"
                action="open_board_session"
                sequence="1"
                id="menu_board_session" icon="terp-graph"/>
        </data>
    </odoo>
    复制代码
    复制代码
    复制代码

    2:修改manifest文件,添加depends以及注册视图文件:

    复制代码
    复制代码
    复制代码
    'depends': ['base', 'board'],
    
    'data': [
            ......
            'views/session_board.xml',
        ],
    复制代码
    复制代码
  • 相关阅读:
    Centos 7.6搭建Skywalking6.5+es6.2.4
    Skywalking入门介绍,skywalking6.5.0 +mysql (windows) 搭建
    使用springcloud gateway搭建网关(分流,限流,熔断)
    Elastalert
    Docker 部署ELK之Sentinl日志报警
    Docker 部署ELK
    基于sentry的前端错误监控日志系统(部署sentry服务器/前端项目部署)-让前端最快的定位到生产问题
    sentry之二:sentry配置钉钉和email
    sentry之一:sentry安装
    全链路追踪技术选型:pinpoint vs skywalking
  • 原文地址:https://www.cnblogs.com/pushuiyu/p/15703745.html
Copyright © 2011-2022 走看看