115 lines
3.9 KiB
JavaScript
115 lines
3.9 KiB
JavaScript
|
define(['jquery', 'bootstrap', 'backend', 'addtabs', 'table', 'echarts', 'echarts-theme', 'template'], function ($, undefined, Backend, Datatable, Table, Echarts, undefined, Template) {
|
|||
|
|
|||
|
var Controller = {
|
|||
|
index: function () {
|
|||
|
// 基于准备好的dom,初始化echarts实例
|
|||
|
var myChart = Echarts.init(document.getElementById('echart'), 'walden');
|
|||
|
|
|||
|
// 指定图表的配置项和数据
|
|||
|
var option = {
|
|||
|
title: {
|
|||
|
text: '',
|
|||
|
subtext: ''
|
|||
|
},
|
|||
|
tooltip: {
|
|||
|
trigger: 'axis'
|
|||
|
},
|
|||
|
legend: {
|
|||
|
data: [__('Sales'), __('Orders')]
|
|||
|
},
|
|||
|
toolbox: {
|
|||
|
show: false,
|
|||
|
feature: {
|
|||
|
magicType: {show: true, type: ['stack', 'tiled']},
|
|||
|
saveAsImage: {show: true}
|
|||
|
}
|
|||
|
},
|
|||
|
xAxis: {
|
|||
|
type: 'category',
|
|||
|
boundaryGap: false,
|
|||
|
data: Orderdata.column
|
|||
|
},
|
|||
|
yAxis: {},
|
|||
|
grid: [{
|
|||
|
left: 'left',
|
|||
|
top: 'top',
|
|||
|
right: '10',
|
|||
|
bottom: 30
|
|||
|
}],
|
|||
|
series: [{
|
|||
|
name: __('Sales'),
|
|||
|
type: 'line',
|
|||
|
smooth: true,
|
|||
|
areaStyle: {
|
|||
|
normal: {}
|
|||
|
},
|
|||
|
lineStyle: {
|
|||
|
normal: {
|
|||
|
width: 1.5
|
|||
|
}
|
|||
|
},
|
|||
|
data: Orderdata.paydata
|
|||
|
},
|
|||
|
{
|
|||
|
name: __('Orders'),
|
|||
|
type: 'line',
|
|||
|
smooth: true,
|
|||
|
areaStyle: {
|
|||
|
normal: {}
|
|||
|
},
|
|||
|
lineStyle: {
|
|||
|
normal: {
|
|||
|
width: 1.5
|
|||
|
}
|
|||
|
},
|
|||
|
data: Orderdata.createdata
|
|||
|
}]
|
|||
|
};
|
|||
|
|
|||
|
// 使用刚指定的配置项和数据显示图表。
|
|||
|
myChart.setOption(option);
|
|||
|
|
|||
|
//动态添加数据,可以通过Ajax获取数据然后填充
|
|||
|
setInterval(function () {
|
|||
|
Orderdata.column.push((new Date()).toLocaleTimeString().replace(/^\D*/, ''));
|
|||
|
var amount = Math.floor(Math.random() * 200) + 20;
|
|||
|
Orderdata.createdata.push(amount);
|
|||
|
Orderdata.paydata.push(Math.floor(Math.random() * amount) + 1);
|
|||
|
|
|||
|
//按自己需求可以取消这个限制
|
|||
|
if (Orderdata.column.length >= 20) {
|
|||
|
//移除最开始的一条数据
|
|||
|
Orderdata.column.shift();
|
|||
|
Orderdata.paydata.shift();
|
|||
|
Orderdata.createdata.shift();
|
|||
|
}
|
|||
|
myChart.setOption({
|
|||
|
xAxis: {
|
|||
|
data: Orderdata.column
|
|||
|
},
|
|||
|
series: [{
|
|||
|
name: __('Sales'),
|
|||
|
data: Orderdata.paydata
|
|||
|
},
|
|||
|
{
|
|||
|
name: __('Orders'),
|
|||
|
data: Orderdata.createdata
|
|||
|
}]
|
|||
|
});
|
|||
|
}, 2000);
|
|||
|
$(window).resize(function () {
|
|||
|
myChart.resize();
|
|||
|
});
|
|||
|
|
|||
|
$(document).on("click", ".btn-refresh", function () {
|
|||
|
setTimeout(function () {
|
|||
|
myChart.resize();
|
|||
|
}, 0);
|
|||
|
});
|
|||
|
|
|||
|
}
|
|||
|
};
|
|||
|
|
|||
|
return Controller;
|
|||
|
});
|