UNPKG

unserver-unify

Version:

143 lines (139 loc) 4.23 kB
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); } });