unserver-unify
Version:
140 lines (135 loc) • 4.44 kB
JavaScript
;
angular.module('bamboo.announcement').controller('AnnouncementsCtrl', function($scope, ApiService, loginService) {
var self = this;
console.log('AnnouncementsCtrl');
var page = 1;
this.pagesize = 6;
var departmentnames = {};
function getDepartments() {
var lists = [];
for (var i = 0; i < ApiService.school.departments.length; i++) {
var info = {
department: ApiService.school.departments[i],
}
lists.push(info);
}
self.Departments = lists;
console.log(self.Departments);
var info = {
action: 'getdepartmentsinfo',
};
ApiService.post('/departments', info).then(function(result) {
// console.log(result.data);
if (result.data.success) {
var _departmentnames = result.data.data;
var idInfo={};
for (var id in _departmentnames) {
var name = _departmentnames[id];
departmentnames[name] = id;
}
angular.forEach(self.Departments,function(item){
item.id=departmentnames[item.department];
})
var info={
action:'getdepannoucecounters',
}
var depCounters={};
ApiService.post("/news", info).then(function(result) {
if (result.data.success) {
console.log(result.data.data);
for(var i=0;i<result.data.data.length;i++){
var item=result.data.data[i];
if(!item._id){
self.systemcounter=item.count;
}
if(item._id&&_departmentnames[item._id]){
var key=_departmentnames[item._id];
depCounters[key]=item.count;
}
}
}
});
self.depCounters=depCounters;
}
});
}
if (loginService.school.departmentFlag) {
getDepartments();
}
var defaultAnnoucePhoto = "assets/images/announcement_no-image1.jpg";
if (loginService.school.announcephoto) {
defaultAnnoucePhoto = ApiService.SHOST + "/public/" + ApiService.RES + "/school/" + ApiService.gid + "/" + loginService.school.announcephoto;
}
$scope.setting = this.setting = {
ctrl: self,
emptyTitle: 'No Announcement!',
imageFolderPrefix: ApiService.SHOST + '/public/' + ApiService.RES + '/' + 'announcement' + '/',
defaultImage: defaultAnnoucePhoto,
currentPage: (page + 1)
};
this.pageChanged = function(newPage) {
page = newPage;
getInfo();
};
this.listgeneral = function() {
self.department = null;
self.did = {
$exists: false
};
getInfo();
}
this.listdepartment = function(name) {
self.department = name;
console.log(name);
console.log(departmentnames[name])
self.did = departmentnames[name];
getInfo();
}
this.latest = [];
function getInfo() {
var limit = self.pagesize;
var start = (page - 1) * limit;
// var search = tableState.search.predicateObject;
var info = {
start: start,
limit: limit,
// sort: tableState.sort,
// search: search,
action: "getAnnouncements"
};
if (self.did) {
info.did = self.did;
}
console.log(info);
ApiService.post("/news", info).then(function(result) {
if (result.data.success) {
console.log(result.data.data);
self.setting.items = $scope.displayedItems = result.data.data.items;
console.log($scope.displayedItems);
if (page == 1) {
self.latest = $scope.displayedItems;
}
angular.forEach($scope.displayedItems, function(item, index) {
if (item._id == loginService.school.notice) {
item.homepage = true;
}
});
self.totalCount = result.data.data.counter;
// tableState.pagination.numberOfPages = Math.ceil(result.data.data.count / limit);
}
});
/* ApiService.get("/announcements/" + page + "/"+self.pagesize ).then(function(result) {
//console.log(result);
if (result.data.success) {
self.setting.items = result.data.data;
self.totalCount = result.data.counters;
$scope.totalCount = result.data.counters;
console.log(result.data);
if(page==0){
self.latest=result.data.data;
}
}
}); */
}
getInfo();
});