define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'echarts', 'echarts-theme'], function ($, undefined, Backend, Table, Form, Echarts, undefined) {
var Controller = {
index: function () {
// 基于准备好的dom,初始化echarts实例
var trend_echart = Echarts.init(document.getElementById('trend_echart'), 'walden');
// 指定图表的配置项和数据
var option = {
title: {
text: '',
subtext: __('Work order submission trend chart'),
x: 'center',
bottom: 10,
},
tooltip: {
trigger: 'item',
formatter: "{a}
{b} : {c}单"
},
legend: {},
toolbox: {
show: false,
feature: {
magicType: {show: true, type: ['stack', 'tiled']},
saveAsImage: {show: true}
}
},
xAxis: {
type: 'category',
boundaryGap: false,
data: Config.orderTrend.columns
},
yAxis: {},
grid: [{
left: 34,
top: 30,
right: 34,
bottom: 60
}],
series: [
{
name: __('New Order Number'),
type: 'line',
smooth: true,
areaStyle: {
normal: {}
},
lineStyle: {
normal: {
width: 1.5
}
},
data: Config.orderTrend.data,
markLine: {
data: [
{type: 'average', name: __('average value')}
]
}
}]
};
// 使用刚指定的配置项和数据显示图表。
trend_echart.setOption(option);
$(window).resize(function () {
trend_echart.resize();
});
Form.api.bindevent($("form[role=form]"));
$(document).on("click", ".btn-filter", function () {
var label = $(this).text();
var obj = $(".datetimerange").data("daterangepicker");
var dates = obj.ranges[label];
obj.startDate = dates[0];
obj.endDate = dates[1];
obj.clickApply();
});
$(".datetimerange").on("blur", function () {
if (!$(this).val()) {
return ;
}
Fast.api.ajax({
url: 'workorder/statistics/index',
data: {date: $(this).val()}
}, function (data) {
trend_echart.setOption({
xAxis: {
data: data.columns
},
series: [{
name: __('New Order Number'),
data: data.data
}]
});
$("#number").text(data.sum);
$.each(data, function (i, j) {
if ($("#" + i).size() > 0) {
$("#" + i).text(j);
}
});
return false;
});
});
$(document).on("click", ".btn-refresh", function () {
$(".datetimerange").trigger("blur");
});
// pie
var piePleased = Echarts.init(document.getElementById('pie-pleased'), 'walden');
var option = {
title: {
text: __('Percentage of satisfaction'),
subtext: __('Satisfaction ratio of work order solution'),
x: 'center',
},
tooltip: {
trigger: 'item',
formatter: '{a}
{b}: {c} ({d}%)'
},
legend: {
orient: 'vertical',
left: 'left',
data: [__('star 0'), __('star 1'), __('star 2'), __('star 3'), __('star 4'), __('Not evaluated'), __('No data available')]
},
series: [
{
name: __('Percentage of satisfaction'),
type: 'pie',
center: ['50%', '50%'],
radius: [0, '30%'],
label: {
position: 'inner'
},
data: Config.stars
},
{
name: __('Percentage of satisfaction'),
type: 'pie',
radius: ['40%', '55%'],
data: Config.stars
},
]
};
piePleased.setOption(option);
var pieSolve = Echarts.init(document.getElementById('pie-solve'), 'walden');
var option = {
title: {
text: __('Proportion of solution rate'),
subtext: __('Proportion of work order problem solving rate'),
x: 'center',
},
tooltip: {
trigger: 'item',
formatter: '{a}
{b}: {c} ({d}%)'
},
legend: {
orient: 'vertical',
left: 'left',
data: [__('resolved'), __('unresolved'), __('Not evaluated'), __('No data available')]
},
series: [
{
name: __('Proportion of solution rate'),
type: 'pie',
center: ['50%', '50%'],
radius: [0, '30%'],
label: {
position: 'inner'
},
data: Config.solved
},
{
name: __('Proportion of solution rate'),
type: 'pie',
radius: ['40%', '55%'],
data: Config.solved
},
]
};
pieSolve.setOption(option);
}
};
return Controller;
});