odoo集成Echart报表和升级到最新nvd3报表
1:安装应用:
此应用集成了echart 和 nvd3 最近版本,和对报表标准的扩展。
项目地址:https://github.com/billhepeng/web_reportchart
报表测试地址:https://github.com/billhepeng/web_reportchart_test
安装此应用后报表会出来水平柱状图报表:
2:在自己项目中创建人echart 报表
自定义报表目录结构:
需要的文件:
graph_rendererttest.js :定义报表JS 此文件用户于展示echart报表,可以在些js中获取页面数据。
base.xml: 用户于定义报表图标,是否展示报表图。
templates.xml : 引用文件
web_reportchart.css:报表的样式,如报表图标显示为什么样式,样式引用于Font Awesome
testreport.xml : 测试报表
graph_rendererttest.js
odoo.define('web.GraphRenderertest', function (require) {
'use strict';
var ajax = require('web.ajax');
var core = require('web.core');
var Widget = require('web.Widget');
var field_utils = require('web.field_utils');
var config = require('web.config');
//var data = require('web.data');
var qweb = core.qweb;
var _t = core._t;
//扩展于标准报表生成,用于生成自己的报表。
var GraphRenderer = require('web.GraphRenderer');
GraphRenderer.include({
//自己定义报表,名称,配合base.xml中 data-mode="echart1" 注意在标准中定义echart1-echart9 9个报表可用于扩展
//名字必需是echart1-echart9 函数名称必需命名为_render+ data-mode + Chart的名称
_renderEchart1Chart: function (stateData) {
var self = this;
//以下是数据获取方式 可以从页面获取报表数据
echarts.init($svgContainer[0]).setOption({
base.xml:
<?xml version="1.0" encoding="UTF-8"?>
<templates id="template" xml:space="preserve">
<!--增加自己定义报表配置是否显示,和显示的位置 data-mode 必需从echart1-echart9 -->
<!--class 样式可以通过 fa-echart1-chart 使用 Font Awesome-->
<t t-extend="GraphView.buttons">
<t t-jquery="div.btn-group:last" t-operation="after">
<t t-if="type === 'echart1'">
<button class="btn btn-secondary fa fa-echart1-chart o_graph_button" title="echart test" aria-label="echart test" data-mode="echart1"/>
</t>
</t>
</t>
</templates>
templates.xml:
<!--增加自己定义报表图像-->
<template id="assets_backend" name="graph_view_test" inherit_id="web.assets_backend" priority="1000">
<xpath expr="//script[@src='/web_reportchart/static/src/js/graph_controller1.8.6.js']" position="after">
<link href="/web_reportchart_test/static/src/css/web_reportchart.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="/web_reportchart_test/static/src/js/graph_rendererttest.js"></script>
</xpath>
</template>
testreport.xml
<!--自己定义报表 echart="True" 设置为True 显示 echart 报表,否则显示默认Nvd3报表,type为默认需要显示的报表类型-->
<record id="helpdesk_ticket_view_graph_analysis_test" model="ir.ui.view">
<field name="name">helpdesk.ticket.graph.analysis.test_1</field>
<field name="model">helpdesk.ticket</field>
<field name="arch" type="xml">
<graph string="Helpdesk Ticket Analysis" stacked="True" echart="True" type='echart1'>
<field name="team_id" type="row"/>
<field name="stage_id" type="col"/>
</graph>
</field>
</record>
odoo集成Echart报表和升级到最新nvd3报表相关推荐
- 亲测好用的Odoo集成X-SpreadSheet方法!
目录 一.背景 二.集成过程 1.下载X-SpreadSheet源码到本地 2.将X-SpreadSheet集成到Odoo中 3.创建QWeb页面,spreadsheet.xml 4.创建对应的js文 ...
- 最新BI报表工具对比选型指标及重点注意事项---BI报表工具选型的那些事
列表在文章最后有下载方式 前言 报表工具是一个接近 20 年的产物了 但是,直到现在,在各种数据信息化的系统中,报表工具的作用,不仅没有褪色,反而是因为信息化需求的增大.数据的增多,以及报表工具本身迭 ...
- 一个女bi工程师的java报表工具报表软件升级选型记
该文章非本人编写,转发自:一个女bi工程师的java报表升级选型记 来源:CSDN 原文:https://blog.csdn.net/weixin_39766068/article/details/ ...
- 将Node.js升级到最新版本
本文翻译自:Upgrading Node.js to latest version So, I have Node.js installed and now when I tried to insta ...
- [UE4]把工程升级到最新版本
右键UE4工程文件,选择"Switch Unreal Engine version..." 确定后,再次双击打开工程升级到最新版本了. 转载于:https://www.cnblog ...
- ubuntu安装python3.8_将 Ubuntu 16 和 18 上的 python 升级到最新 python3.8 的方法教程
1. 概述 本文记录在 Ubuntu 16.04 上将 python 升级为 3.8 版本,并配置为系统默认 python3 的过程. 在 Ubuntu 16.04 中,python3 的默认版本为 ...
- 将 ASP.NET Core 2.1 升级到最新的长期支持版本ASP.NET Core 3.1
目录 前言 Microsoft.AspNetCore.Mvc.ViewFeatures.Internal 消失了 升级到 ASP.NET Core 3.1 项目文件(.csproj) Program. ...
- Nginx平滑升级到最新版本
(一)简述: 早上收到nginx最新漏洞的通知,Nginx官方发布最新的安全公告,在Nginx范围过滤器中发现了一个安全问题(CVE-2017-7529),通过精心构造的恶意请求可能会导致整数溢出并且 ...
- 新系统如何测试软件,怎样检测电脑能否升级到最新的Windows11系统?官方检测工具帮你一招搞定!...
日前,微软正式发布了Windows11系统,新的Windows11操作系统不仅采用了全新的居中设计的开始键以及任务栏,同时还取消了Windows8引入的实时磁贴设计,取而代之的是最近文档.应用程序以及 ...
最新文章
- “nvinfer1::ILogger”: 不能实例化抽象类
- 面试题: mysql 数据库已看 sql安全性 索引 引擎 sql优化
- Nginx(PHP/fastcgi)的PATH_INFO问题
- HDU 5473 There was a kingdom 凸包 DP
- Groovy与Java集成常见的坑
- mysql按字段值排序_mysql按字段值排序
- CSRF Failed: CSRF token missing or incorrect.
- 局部内部类访问它所在方法中的局部变量必须是final
- mysql-8.0.12语法_mysql-8.0.12 (免安装版) 安装详解
- 2021年数据科学家面试:4个基本SQL窗口函数介绍以及示例
- JS查漏补缺(自用版)
- html5控制字大小的代码,js根据字符串长度控制字体大小代码
- 兄弟j220怎么清零_兄弟Brother全系列打印机清零大全
- xshell的注册码
- Oracle 创建新用户后无法登入,显示user lacks CREATE SESSION privilege; logon denied
- 软件工程师需要具备哪些知识?
- react 控制台 Maximum call stack size exceeded 如何解决
- 社群的使用---Kodu少儿编程第八天
- Zblog插件-zblong插件中心
- DRGs SQL数据库查询城镇职工医保定点医疗机构药占比