unserver-unify
Version:
143 lines (139 loc) • 4.23 kB
JavaScript
angular.module('bamboo.position').controller('PositionListCtrl', function($scope, ApiService, $sce) {
var _self = this;
console.log("---- PositionListCtrl -----");
this.defaultPhoto = "assets/images/position_noimage.png";
this.photoUrl = ApiService.SHOST + '/position/';
this.items = [];
this.itemNumber = 6;
this.page = 0;
this.currentPage = 1;
this.category;
this.selected = false;
$scope.setting = {
pageSize: _self.itemNumber,
currentPage: (_self.page + 1),
};
var currentcat = null;
function getitems(cat) {
var info = {
start: (_self.currentPage - 1) * _self.itemNumber,
limit: _self.itemNumber,
action: "getpositions",
};
currentcat = cat;
if (cat) {
if (!info.search) {
info.search = {};
}
info.search.category = cat;
}
console.log(info);
ApiService.post("/business", info).then(function(result) {
console.log(result);
if (result.data.success) {
console.log(result.data.data.items);
_self.items = result.data.data.items
console.log(cat)
_self.catCount = result.data.data.counter;
if (!_self.totalCount || _self.totalCount < result.data.data.counter) {
_self.totalCount = result.data.data.counter;
}
}
});
};
function getArray(obj, array, level, parent) {
if ((typeof obj) === "object") {
for (var key in obj) {
var fullkey;
if (parent == '') {
fullkey = key;
} else {
fullkey = parent + "," + key;
}
var _i = {
key: fullkey,
value: level,
title: key,
items: [],
};
array.push(_i);
var info = obj[key];
if (typeof info === "object") {
getArray(info, _i.items, level + 1, fullkey);
}
}
}
}
this.pageChanged = function(page) {
_self.currentPage = page;
getitems(currentcat);
}
// var _positionCategorys = [];
function generateCategoryList() {
if (ApiService.school.positionCategorydoc ) {
ApiService.get("/schooldoc/" + ApiService.school.positionCategorydoc).then(function(result) {
if (result.data.success && result.data.data) {
var cat = result.data.data.content || {};
var keys = result.data.data.arrays || [];
var catList = [];
// console.log(_self.positioncategory);
getArray(cat, catList, 0, '');
console.log(catList);
var keyindex = {};
var results = [];
angular.forEach(catList, function(val, index) {
var key = val.title;
keyindex[key] = val;
})
angular.forEach(keys, function(key, index) {
if (keyindex[key]) {
results.push(keyindex[key]);
}
})
angular.forEach(keyindex, function(val, key) {
var found = false;
for (var i = 0; i < results.length; i++) {
var record = results[i].title;
if (record == key) {
found = true;
break;
}
}
if (!found) {
results.push(val);
}
})
$scope.catitems = results;
console.log($scope.catitems);
getlateststatus()
}
})
}
}
generateCategoryList();
getitems(currentcat);
function getlateststatus() {
var info = {
action: "getpositioncategorynumber",
}
console.log(info);
ApiService.post("/business", info).then(function(result) {
console.log(result);
if (result.data.success) {
console.log(result.data);
var _totalCoursesCountUnderCat = 0;
for (var i = 0; i < $scope.catitems.length; i++) {
var catitem = $scope.catitems[i];
var key = catitem.key;
if (result.data.data[key]) {
catitem.counter = result.data.data[key];
}
}
}
});
}
this.list = function(key) {
console.log(key);
getitems(key);
}
});