unserver-unify
Version:
167 lines (156 loc) • 5.33 kB
JavaScript
'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);
});
});