odoo集成Echart报表和升级到最新nvd3报表
此应用集成了echart 和 nvd3 最近版本,和对报表标准的扩展。
项目地址:https://github.com/billhepeng/web_reportchart
报表测试地址:https://github.com/billhepeng/web_reportchart_test
2:在自己项目中创建人echart 报表
graph_rendererttest.js :定义报表JS 此文件用户于展示echart报表,可以在些js中获取页面数据。
web_reportchart.css:报表的样式,如报表图标显示为什么样式,样式引用于Font Awesome
odoo.define('web.GraphRenderertest', function (require) {
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 GraphRenderer = require('web.GraphRenderer');
//自己定义报表,名称,配合base.xml中 data-mode="echart1" 注意在标准中定义echart1-echart9 9个报表可用于扩展
//名字必需是echart1-echart9 函数名称必需命名为_render+ data-mode + Chart的名称
_renderEchart1Chart: function (stateData) {
echarts.init($svgContainer[0]).setOption({
<?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">
<button class="btn btn-secondary fa fa-echart1-chart o_graph_button" title="echart test" aria-label="echart test" data-mode="echart1"/>
<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>
<!--自己定义报表 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"/>