276 lines
7.5 KiB
JavaScript
276 lines
7.5 KiB
JavaScript
|
|
$(function () {
|
|||
|
|
courseCharts();
|
|||
|
|
CoursePie();
|
|||
|
|
courseAcctouts();
|
|||
|
|
courseQues();
|
|||
|
|
});
|
|||
|
|
window.colorList = [
|
|||
|
|
'#FE8463','#B5C334','#FCCE10','#E87C25','#27727B',
|
|||
|
|
'#C1232B','#9BCA63','#FAD860','#F3A43B','#60C0DD',
|
|||
|
|
'#D7504B','#C6E579','#F4E001','#F0805A','#26C0C0'
|
|||
|
|
];
|
|||
|
|
function courseCharts() {
|
|||
|
|
// 基于准备好的dom,初始化echarts图表
|
|||
|
|
var myChart = echarts.init(document.getElementById('courCharts'));
|
|||
|
|
option = {
|
|||
|
|
title: {
|
|||
|
|
x: 'center',
|
|||
|
|
text: '各机构课程数汇总图-1',
|
|||
|
|
subtext: '共计课程:'+getDataSum("course","count")
|
|||
|
|
},
|
|||
|
|
tooltip: {
|
|||
|
|
trigger: 'item'
|
|||
|
|
},
|
|||
|
|
calculable: false,
|
|||
|
|
grid: {
|
|||
|
|
borderWidth: 0,
|
|||
|
|
y: 80,
|
|||
|
|
y2: 60
|
|||
|
|
},
|
|||
|
|
xAxis: [
|
|||
|
|
{
|
|||
|
|
type: 'category',
|
|||
|
|
show: false,
|
|||
|
|
data: getData("course", "pname", "text")
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
yAxis: [
|
|||
|
|
{
|
|||
|
|
type: 'value',
|
|||
|
|
show: false
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
series: [{
|
|||
|
|
name: '',
|
|||
|
|
type: 'bar',
|
|||
|
|
itemStyle: {
|
|||
|
|
normal: {
|
|||
|
|
color: function (params) {
|
|||
|
|
// build a color map as your need.
|
|||
|
|
var colorList =window.colorList;
|
|||
|
|
return colorList[params.dataIndex]
|
|||
|
|
},
|
|||
|
|
label: {
|
|||
|
|
show: true,
|
|||
|
|
position: 'top',
|
|||
|
|
formatter: '{b}\n{c}'
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
data: getData("course", "count", "number"),
|
|||
|
|
markPoint: {
|
|||
|
|
data: [
|
|||
|
|
{ type: 'max', name: '最大值' },
|
|||
|
|
{ type: 'min', name: '最小值' }
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
markLine: {
|
|||
|
|
data: [
|
|||
|
|
{ type: 'average', name: '平均值' }
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
};
|
|||
|
|
// 为echarts对象加载数据
|
|||
|
|
myChart.setOption(option);
|
|||
|
|
}
|
|||
|
|
//课程数汇总的饼图
|
|||
|
|
function CoursePie(){
|
|||
|
|
// 基于准备好的dom,初始化echarts图表
|
|||
|
|
var myChart = echarts.init(document.getElementById('courChartsPie'));
|
|||
|
|
option = {
|
|||
|
|
title : {
|
|||
|
|
text: '各机构课程数汇总图-2',
|
|||
|
|
subtext: '共计课程:'+getDataSum("course","count"),
|
|||
|
|
x:'center'
|
|||
|
|
},
|
|||
|
|
tooltip : {
|
|||
|
|
trigger: 'item',
|
|||
|
|
formatter: "{a} <br/>{b} : {c} %"
|
|||
|
|
},
|
|||
|
|
calculable : true,
|
|||
|
|
series : [
|
|||
|
|
{
|
|||
|
|
name:'百分比',
|
|||
|
|
itemStyle: {
|
|||
|
|
normal: {
|
|||
|
|
color: function (params) {
|
|||
|
|
// build a color map as your need.
|
|||
|
|
var colorList =window.colorList;
|
|||
|
|
return colorList[params.dataIndex]
|
|||
|
|
},
|
|||
|
|
label: {
|
|||
|
|
show: true,
|
|||
|
|
position: 'top',
|
|||
|
|
formatter: '{b}\n{c}%'
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
type:'pie',
|
|||
|
|
radius : '55%',
|
|||
|
|
center: ['50%', '60%'],
|
|||
|
|
data:getDataValue("course")
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
myChart.setOption(option);
|
|||
|
|
}
|
|||
|
|
function courseAcctouts() {
|
|||
|
|
// 基于准备好的dom,初始化echarts图表
|
|||
|
|
var myChart = echarts.init(document.getElementById('accoutsCharts'));
|
|||
|
|
option = {
|
|||
|
|
title : {
|
|||
|
|
text: '各机构注册的用户量',
|
|||
|
|
subtext: '合计注册用户:'+getDataSum("accouts","count"),
|
|||
|
|
x:'center'
|
|||
|
|
},
|
|||
|
|
tooltip : {
|
|||
|
|
trigger: 'axis'
|
|||
|
|
},
|
|||
|
|
calculable : false,
|
|||
|
|
xAxis : [
|
|||
|
|
{
|
|||
|
|
type : 'category',
|
|||
|
|
data : getData("accouts", "pname", "text")
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
yAxis : [
|
|||
|
|
{
|
|||
|
|
type : 'value'
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
series : [
|
|||
|
|
{
|
|||
|
|
name:'注册量',
|
|||
|
|
type:'bar',
|
|||
|
|
data: getData("accouts", "count", "number"),
|
|||
|
|
itemStyle: {
|
|||
|
|
normal: {
|
|||
|
|
color: function (params) {
|
|||
|
|
// build a color map as your need.
|
|||
|
|
var colorList =window.colorList;
|
|||
|
|
return colorList[params.dataIndex]
|
|||
|
|
},
|
|||
|
|
label: {
|
|||
|
|
show: true,
|
|||
|
|
position: 'top',
|
|||
|
|
formatter: '{b}\n{c}'
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
markPoint : {
|
|||
|
|
data : [
|
|||
|
|
{type : 'max', name: '最大值'},
|
|||
|
|
{type : 'min', name: '最小值'}
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
markLine : {
|
|||
|
|
data : [
|
|||
|
|
{type : 'average', name: '平均值'}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
myChart.setOption(option);
|
|||
|
|
}
|
|||
|
|
function courseQues() {
|
|||
|
|
// 基于准备好的dom,初始化echarts图表
|
|||
|
|
var myChart = echarts.init(document.getElementById('quesCharts'));
|
|||
|
|
option = {
|
|||
|
|
title : {
|
|||
|
|
text: '各机构的试题数量',
|
|||
|
|
subtext: '合计试题数量:'+getDataSum("question","count"),
|
|||
|
|
x:'center'
|
|||
|
|
},
|
|||
|
|
tooltip : {
|
|||
|
|
trigger: 'axis'
|
|||
|
|
},
|
|||
|
|
calculable : false,
|
|||
|
|
xAxis : [
|
|||
|
|
{
|
|||
|
|
type : 'category',
|
|||
|
|
data : getData("question", "pname", "text")
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
yAxis : [
|
|||
|
|
{
|
|||
|
|
type : 'value'
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
series : [
|
|||
|
|
{
|
|||
|
|
name:'试题',
|
|||
|
|
type:'bar',
|
|||
|
|
data: getData("question", "count", "number"),
|
|||
|
|
itemStyle: {
|
|||
|
|
normal: {
|
|||
|
|
color: function (params) {
|
|||
|
|
// build a color map as your need.
|
|||
|
|
var colorList =window.colorList;
|
|||
|
|
return colorList[params.dataIndex]
|
|||
|
|
},
|
|||
|
|
label: {
|
|||
|
|
show: true,
|
|||
|
|
position: 'top',
|
|||
|
|
formatter: '{b}\n{c}'
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
markPoint : {
|
|||
|
|
data : [
|
|||
|
|
{type : 'max', name: '最大值'},
|
|||
|
|
{type : 'min', name: '最小值'}
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
markLine : {
|
|||
|
|
data : [
|
|||
|
|
{type : 'average', name: '平均值'}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
myChart.setOption(option);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
//获取数据
|
|||
|
|
//boxname:数据区的id
|
|||
|
|
//column:数据列的名称
|
|||
|
|
//type:数据类型
|
|||
|
|
function getData(boxname, column, type) {
|
|||
|
|
var arrayObj = new Array();
|
|||
|
|
var box = $("#dataArea").find("#" + boxname);
|
|||
|
|
box.find("row").each(function (index, element) {
|
|||
|
|
var val = $(this).find(column).text();
|
|||
|
|
if (type == 'number') arrayObj.push(Number(val));
|
|||
|
|
if (type == 'text') arrayObj.push(val);
|
|||
|
|
});
|
|||
|
|
return arrayObj;
|
|||
|
|
}
|
|||
|
|
//获取饼所有数据
|
|||
|
|
function getDataValue(boxname) {
|
|||
|
|
var val = getData(boxname,"count","number");
|
|||
|
|
var name = getData(boxname,"pname","text");
|
|||
|
|
var sum=getDataSum(boxname,"count");
|
|||
|
|
var arrayObj = new Array();
|
|||
|
|
for(var i=0;i<val.length;i++){
|
|||
|
|
arrayObj.push({value:Math.floor(val[i]/sum*1000)/10,name:name[i]})
|
|||
|
|
}
|
|||
|
|
return arrayObj;
|
|||
|
|
}
|
|||
|
|
//获取总数
|
|||
|
|
function getDataSum(boxname, column) {
|
|||
|
|
var sum=0;
|
|||
|
|
var box = $("#dataArea").find("#" + boxname);
|
|||
|
|
box.find("row").each(function (index, element) {
|
|||
|
|
var val = $(this).find(column).text();
|
|||
|
|
sum+=Number(val);
|
|||
|
|
});
|
|||
|
|
return sum;
|
|||
|
|
}
|