odoo18集成echarts
1.下载echarts.min.js
ECharts的官方下载网址:https://echarts.apache.org/zh/download.html
2.目录结构

3.通过tdx获取数据
def get_k_data(self, code, start, end):
"""
日线级别k线获取函数
"""
for retry in range(3):
try:
if self.api.connect(self.ip, int(self.port)):
df = self.api.get_k_data(code, start, end)
return df.to_dict('records') or []
except Exception as e:
time.sleep(3)
return []

4.引用echarts.min.js
manifest.py
'assets': {
'web.assets_backend': [
'quantization_base/static/lib/**/*',
'quantization_base/static/src/**/*',
]
},
5.前端代码实现
stock_pe_report.js
/** @odoo-module **/
import {
registry} from "@web/core/registry";
import {
Component, onMounted, useRef} from "@odoo/owl";
export class PeChart extends Component {
static template = "quantization_base.StockPeReport";
setup() {
this.date_list = this.props.action.params.date_list || {
};
this.data_list = this.props.action.params.data_list || [];
this.peContainerRef = useRef("PeContainer"); // 通过 ref 获取 DOM 元素
onMounted(() => this.initECharts()); // 确保 DOM 已挂载
}
initECharts() {
// 确保 DOM 元素存在
if (!this.peContainerRef.el) return;
// 初始化图表
// 基于准备好的 DOM,初始化 echarts 实例
var myChart = echarts.init(this.peContainerRef.el);
// 指定图表的配置项和数据
var option = {
title: {
text: 'PE曲线图'
},
tooltip: {
trigger: 'axis'
},
legend: {
data
Odoo18集成Echarts绘制股票走势图

最低0.47元/天 解锁文章
782

被折叠的 条评论
为什么被折叠?



