UNPKG

unserver-unify

Version:

98 lines (96 loc) 3.27 kB
'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(); });