unserver-unify
Version:
98 lines (96 loc) • 3.27 kB
JavaScript
'use strict';
angular.module('bamboo.mystudy').controller('MyScoresCtrl', function($scope, $filter, loginService,ApiService) {
var self = this;
this.reportFlag;
$scope.orglegend = [];
function getchartDate(data, color, label, legendlabel) {
var _colorstr;
if (color) {
_colorstr = color;
} else {
_colorstr = getRandomColorStr();
}
var result = {};
var result = {
labels: label,
datasets: [{
label: legendlabel,
fillColor: 'rgba(' + _colorstr + ',1)',
backgroundColor: 'rgba(' + _colorstr + ',1)',
hoverBackgroundColor: 'rgba(' + _colorstr + ',1)',
data: data,
}]
};
$scope.orglegend.push({
fillColor: _colorstr,
labels: label
});
return result;
}
function getReport() {
var info = {
action: "getUserMonthReports",
id: loginService.user._id,
};
ApiService.post('/report', info).then(function(result) {
if (!result || !result.data || !result.data.success || !result.data.data||!result.data.data.length) {
return;
}
var months = result.data.data;
var _counter = [];
var _pass = [];
var _good = [];
var _scores = [];
var _correct = [];
var _qs = [];
// console.log(months);
var labels = [];
angular.forEach(months, function(_month, index) {
// console.log(_month);
labels.push(_month.time.substring(0, 7));
_counter.push(_month.counter);
_scores.push(100 * _month.score / (_month.totalScores || 100));
_pass.push(_month.pass);
_good.push(_good.pass);
var total = _month.correctqs + _month.wrongqs + _month.missqs;
_correct.push(100 * _month.correctqs / (total || 1));
_qs.push(total);
})
var counterdata = getchartDate(_counter, '24,164,107', labels, $filter('trans')({
eng: 'Completed Times',
chn: '测试次数'
}));
var scoresdata = getchartDate(_scores, '153, 204, 255', labels, $filter('trans')({
eng: 'Score',
chn: '成绩'
}));
var correctdata = getchartDate(_correct, '72, 2, 111', labels, $filter('trans')({
eng: 'Accuracy Rate',
chn: '正确率'
}));
var passdata = getchartDate(_pass, '0, 51, 102', labels, $filter('trans')({
eng: 'Pass',
chn: '合格'
}));
var gooddata = getchartDate(_good, '124, 0, 0', labels, $filter('trans')({
eng: 'Good',
chn: '优秀'
}));
var qsdata = getchartDate(_qs, '100, 0, 100', labels, $filter('trans')({
eng: 'Questions',
chn: '题目数'
}));
self.infodata = angular.copy(counterdata);
self.infodata.datasets.push(passdata.datasets[0]);
self.infodata.datasets.push(correctdata.datasets[0]);
self.infodata.datasets.push(gooddata.datasets[0]);
self.infodata.datasets.push(scoresdata.datasets[0]);
self.infodata.datasets.push(qsdata.datasets[0]);
console.log(self.infodata);
self.reportFlag = true;
self.latest = months.slice(-1)[0]
console.log(self.latest);
});
}
getReport();
});