此應用集成了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"/>