unserver-unify
Version:
99 lines (98 loc) • 3.19 kB
JavaScript
;
angular.module('bamboo.course').controller('GsxofflineCourseSearchCtrl', function($stateParams, ApiService, loginService, $scope, courseBizModel, $rootScope, searchHelper) {
var _self = this;
this.q = $stateParams.key;
this.page = 1;
this.rcourses = [];
this.q;
this.courseType = $stateParams.type;
this.defaultCoursePhoto = ApiService.SHOST + "/public/images/videos.png";
this.SHOST = ApiService.SHOST;
if (loginService.school.coursephoto) {
this.defaultCoursePhoto = ApiService.SHOST + "/public/" + ApiService.RES + "/school/" + ApiService.gid + "/" + loginService.school.coursephoto;
}
this.coursePhotoUrl = ApiService.SHOST + '/lcourse/';
if (_self.courseType == 'pre-book') {
_self.coursePhotoUrl = ApiService.SHOST + '/cfcourses/';
}
if (loginService.subDomain == 'gsx') {
$rootScope.fullwidthflag = true;
}
$scope.$on("$destroy", function() {
console.log('-- destroy --');
fullWidthService.listen();
});
var page = 0;
var limit = 8;
this.courses = [];
var mycourses = [];
this.pageChanged = function(newPage) {
_self.page = newPage;
_self.getCourses(_self.q);
};
if (loginService.school.themecolors) {
$scope.coursebtmStyle = {
"background-color": loginService.school.themecolors.coursewidgetbtmcolor
};
}
this.searchOfflineCourseByconf = function(config) {
var searchObj = config.search;
console.log(searchObj);
// pre preocess search time
courseBizModel.durationPreProcess(searchObj);
console.log(searchObj);
var _searchObj = angular.copy(searchObj);
//get search time condition
var timeCondition = searchHelper.getSearchKeyCondtion('Time', _searchObj);
//var priceCondition = searchHelper.getSearchKeyCondtion('Price', _searchObj);
console.log(timeCondition);
searchObj.training_duration = timeCondition;
delete searchObj.timestart;
delete searchObj.timestop;
if (!timeCondition) {
delete searchObj.training_duration;
}
delete searchObj.type;
var info = {
//id: ApiService.gid,
//comId: ApiService.gid,
action: "getenablecourses",
start: config.start,
limit: config.limit,
// sort: {
// reverse: true,
// predicate: sortmethod
// },
search: searchObj,
};
console.log(info);
return ApiService.post('/ofcourse', info);
}
this.getCourses = function(q) {
console.log(q);
if (angular.isString(q)) {
q = JSON.parse(q);
}
_self.searchObj = q;
var config = {
start: (_self.page - 1) * limit,
sort: {
reverse: true,
predicate: 'enrolledcounter'
},
limit: limit,
search: q
};
_self.searchOfflineCourseByconf(config).then(function(result) {
console.log(result);
var courses = result.data.data.items;
console.log(courses);
_self.courses = courses;
$scope.searchCount = result.data.data.counter || 0;
$scope.searchName = q.name;
});
}
if (_self.q && _self.q.length) {
_self.getCourses(_self.q);
}
});