UNPKG

unserver-unify

Version:

167 lines (156 loc) 5.33 kB
'use strict'; angular.module('bamboo.course').controller('argCoursesCtrl', function($scope, $rootScope, loginService, ApiService, deviceDetector, $state, $stateParams, fullWidthService, courseBizModel) { var self = this; $rootScope.fullwidthflag = true; console.log($stateParams); self.category = $stateParams.category; var categoryObj = ApiService.category; self.subCategory = _.keys(categoryObj[self.category]); self.tab = self.subCategory.slice(0, 1); self.ImageBaseUrl = ApiService.SHOST + '/lcourse/'; $scope.bannerUrl = ApiService.SHOST + "/wiki/"; $scope.userName = loginService.user && loginService.user.name; self.keyWord = ""; self.defaultImage = "//edusharesg.oss-ap-southeast-1.aliyuncs.com/public/resg/school/58febfdbce510434293ee349/1502371114324.jpg"; $scope.slides = [self.defaultImage, ]; var page = 0; var limit = 10; $scope.$on("$destroy", function() { console.log('-- destroy --'); fullWidthService.listen(); }); var weekago = new Date(); weekago.setDate(weekago.getDate() - 7); function compareDate(courseDate) { var cd = new Date(courseDate); if (cd > weekago) { return true; } else { return false; } }; if(!loginService.school.disableAdminStudy){ if (loginService.user && (loginService.user.is_admin || loginService.user.grole == 'admin' || loginService.user.grole == 'sysmanager' || loginService.user.grole == 'sysinspector')) { self.inspectorFlag = true; } } self.searchObj = {}; this.searchCourseByName = function(q) { console.log(q); self.searchmethod = { searchname: q }; self.getCourses(self.category); }; self.getCourses = function(category) { var info = { // id: ApiService.gid, action: "getcourselist", page: page, start: page * limit, // sort: { // reverse: true, // predicate: self.sortmethod // }, limit: limit, }; console.log(info); if (category) { if (!info.search) { info.search = {}; } if (self.tab) { var cat = self.category + ',' + self.tab; info.search.industry = cat; } } if (self.searchmethod) { angular.extend(info.search, self.searchmethod); } console.log(info); ApiService.post('/lcourses', info).then(function(data) { if (data.data.success) { self.courses = data.data.data.items; self.courses = self.courses.map(function(o) { o.cosImage = self.ImageBaseUrl + o._id + "/" + o.photo; return o; }); compareMyCourses(self.courses); console.log(self.courses); } }); } self.getCourses(self.category); self.searchCourses = function(sub) { self.tab = sub; self.searchmethod = undefined; self.keyWord = "" var category = self.category + ',' + sub; self.getCourses(category); } self.go = function(cos) { $state.go(cos.courseurl, { cid: cos._id, cs: $rootScope.getCheckSum(cos._id) }); } function compareMyCourses(_courses) { if (!loginService.user) { angular.forEach(_courses, function(item, index) { if (item.infoOnlyFlag) { item.courseurl = "index.courses.infoonly"; } else { if (compareDate(item.update)) { item.newflag = true; } item.courseurl = "index.courses.info"; } console.log(item.infoOnlyFlag); }) //self.setting.items = self.items; return; } loginService.getMyProfile().then(function(result) { // console.log(result); var mycourses = result.courses; console.log("Mycourses", mycourses); // callback(mycourses); if (mycourses && mycourses.length > 0) { console.log("-- check --"); console.log("-- timeout --"); angular.forEach(_courses, function(item, index) { var id = item._id; if (mycourses.indexOf(id) > -1) { item.mycourseFlag = true; } console.log(item.mycourseFlag); }) } console.log(_courses); angular.forEach(_courses, function(item, index) { if (compareDate(item.update)) { item.newflag = true; } if (item.infoOnlyFlag) { item.courseurl = "index.courses.infoonly"; } else if (self.inspectorFlag || item.mycourseFlag || (item.did && self.mydepartments.indexOf(item.did) > -1)) { item.courseurl = "index.courses.course"; } else { item.courseurl = "index.courses.info"; } }) // $scope.$apply(); console.log(_courses); }); } courseBizModel.getCategoryInfo().then(function(data) { console.log(data); self.catMap = data; var banner = (self.catMap[self.category] && self.catMap[self.category].banner); if (banner) { self.bannerFullUrl = ApiService.SHOST + "/wiki/" + banner; } else { self.bannerFullUrl = self.defaultImage; } console.log(self.bannerFullUrl); $scope.slides = [self.bannerFullUrl, ]; console.log($scope.slides); }); });