UNPKG

unserver-unify

Version:

154 lines (148 loc) 4.7 kB
'use strict'; angular.module('bamboo.course').controller('CourseSummaryCtrl', function($scope, ApiService, loginService, CommonService, CourseApi, $stateParams, ExamService) { var self = this; self.id = ApiService.gid; this.lid = this.courseId = $stateParams.cid; // save the current course id this.uid = loginService.user._id; console.log(loginService.user); $scope.appUrl = ApiService.APPURL; this.history = {}; this.score = {}; this.additions = []; // this.course = $stateParams.courseParam; this.school = loginService.school; this.user = loginService.user; function getCourseResult() { var info = { cid: self.lid, uid: self.uid, action: "getcourseresult", }; console.log(info); ApiService.post('/user', info).then(function(result) { // console.log(result); if (result.data.success) { console.log("-------success---------"); // console.log(result.data.data); self.user = result.data.data.user; self.history = result.data.data.history; self.score = result.data.data.score; console.log(result); console.log(self.score); console.log(self.history); getCourseSurveyStatus(); } }); } this.lmsResult = []; var info = { cid: self.lid, action: "getcourselms", } CourseApi.mvApi(info, function(result) { // console.log(result); if (result.data) { console.log(result.data); // var records = result.data.records; var lmsinfo = {}; angular.forEach(result.data.resources, function(item) { lmsinfo[item._id] = item; }) self.thirdPartyScore = 0; angular.forEach(result.data.records, function(_value, key) { console.log(key); var val = JSON.parse(_value); console.log(val); if (val.cmi) { // 2004 var info = { name: lmsinfo[key].name, status: (val.cmi && val.cmi.completion_status), max: (val.cmi && val.cmi.score.max), raw: (val.cmi && val.cmi.score.raw), scaled: (val.cmi && val.cmi.score.scaled), time: (val.cmi && val.cmi.session_time), } if(info.time){ info.time=info.time.replace('PT',"").replace('M',":").replace('S',""); } self.thirdPartyScore += info.raw; self.lmsResult.push(info); } else { // v1.2 var info = { name: lmsinfo[key].name, status: val['cmi.core.lesson_status'] , max: val['cmi.core.score.max'] , raw: val['cmi.core.score.raw'] , time: val['cmi.core.session_time'] , } self.thirdPartyScore += info.raw; self.lmsResult.push(info); } }) console.log(self.lmsResult); } }) $scope.chartOptions = { scale: { pointLabels: { fontSize: 12 } } }; this.showexam = true; this.showAssignment = true; this.getexamitems = function(tableState) { var limit = tableState.pagination.number; var start = tableState.pagination.start; var info = { cid: self.lid, start: start, limit: limit, sort: tableState.sort, action: "getuserpublishexamsforcourse", } console.log(info); CourseApi.lcApi(info, function(data) { // console.log(data); if (!data || !data.counter) { self.showexam = false; } $scope.examitems = data.items; console.log($scope.examitems); tableState.pagination.numberOfPages = Math.ceil(data.counter / limit); }); } this.getassignments = function(tableState) { var limit = tableState.pagination.number; var start = tableState.pagination.start; var info = { cid: self.lid, start: start, limit: limit, sort: tableState.sort, action: "getUserAssignmentsForCourse", } console.log(info); ExamService.examApi(info, function(data) { console.log(data); $scope.assignmentitems = data.items; if (!data || !data.counter) { self.showAssignment = false; } console.log($scope.assignmentitems); tableState.pagination.numberOfPages = Math.ceil(data.counter / limit); }); } getCourseResult(); function getCourseSurveyStatus(){ var info = { action: 'getCouseSurveyStatus', id: self.lid, }; CourseApi.courseSurveyApi(info, function(result) { if(result){ $scope.surveyItems = result; } }); } });