You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							199 lines
						
					
					
						
							7.2 KiB
						
					
					
				
			
		
		
	
	
							199 lines
						
					
					
						
							7.2 KiB
						
					
					
				
 | 
						|
app.controller('ActivityController',
 | 
						|
    ['$anchorScroll', '$location','$scope', '$http', '$timeout', 'auth', 'rms', 'common','alertService',
 | 
						|
    function($anchorScroll, $location,$scope, $http, $timeout, auth, rms, common, alertService){
 | 
						|
    $scope.replaceUrl = function(url){
 | 
						|
        return url;
 | 
						|
    };
 | 
						|
 | 
						|
    $scope.menus = ['所有动态', '课程动态', '项目动态'];
 | 
						|
 | 
						|
    $scope.alertService = alertService.create();
 | 
						|
    console.log("ActivityController load");
 | 
						|
 | 
						|
    $scope.page = rms.get('page') || 0;
 | 
						|
    $scope.activities = rms.get("activities") || [];
 | 
						|
    $scope.has_more = rms.get("has_more");
 | 
						|
 | 
						|
    $scope.course_page = rms.get('course_page') || 0;
 | 
						|
    $scope.course_activities = rms.get("course_activities") || [];
 | 
						|
    $scope.course_has_more = rms.get("course_has_more");
 | 
						|
 | 
						|
    $scope.project_page = rms.get('project_page') || 0;
 | 
						|
    $scope.project_activities = rms.get("project_activities") || [];
 | 
						|
    $scope.project_has_more = rms.get("project_has_more");
 | 
						|
 | 
						|
    $scope.loadActData = function(index,page){
 | 
						|
        container_type = "All";
 | 
						|
        switch(index){
 | 
						|
            case 1:
 | 
						|
                container_type = "All";
 | 
						|
                $scope.page = page;
 | 
						|
                break;
 | 
						|
            case 2:
 | 
						|
                container_type = "Course";
 | 
						|
                $scope.course_page = page;
 | 
						|
                break;
 | 
						|
            case 3:
 | 
						|
                container_type = "Project";
 | 
						|
                $scope.project_page = page;
 | 
						|
                break;
 | 
						|
        }
 | 
						|
 | 
						|
        $http({
 | 
						|
            method: 'POST',
 | 
						|
            url: apiUrl+ "activities",
 | 
						|
            data: {token: auth.token(), page: page, container_type: container_type}
 | 
						|
        }).then(function successCallback(response) {
 | 
						|
            if(response.data.page >0) {
 | 
						|
                switch(response.data.container_type){
 | 
						|
                    case "All":
 | 
						|
                        $scope.activities = $scope.activities.concat(response.data.data);
 | 
						|
                        break;
 | 
						|
                    case "Course":
 | 
						|
                        $scope.course_activities = $scope.course_activities.concat(response.data.data);
 | 
						|
                        break;
 | 
						|
                    case "Project":
 | 
						|
                        $scope.project_activities = $scope.project_activities.concat(response.data.data);
 | 
						|
                        break;
 | 
						|
                    case 3:
 | 
						|
                }
 | 
						|
            } else {
 | 
						|
                switch(response.data.container_type){
 | 
						|
                    case "All":
 | 
						|
                        $scope.activities = response.data.data;
 | 
						|
                        break;
 | 
						|
                    case "Course":
 | 
						|
                        $scope.course_activities = response.data.data;
 | 
						|
                        break;
 | 
						|
                    case "Project":
 | 
						|
                        $scope.project_activities = response.data.data;
 | 
						|
                        break;
 | 
						|
                    case 3:
 | 
						|
                }
 | 
						|
            }
 | 
						|
 | 
						|
            switch(response.data.container_type){
 | 
						|
                case "All":
 | 
						|
                    rms.save("activities", $scope.activities);
 | 
						|
                    $scope.has_more = (response.data.count + response.data.page * 10) < response.data.all_count;
 | 
						|
                    rms.save('has_more', $scope.has_more);
 | 
						|
                    rms.save('page', response.data.page);
 | 
						|
                    break;
 | 
						|
                case "Course":
 | 
						|
                    rms.save("course_activities", $scope.course_activities);
 | 
						|
                    $scope.course_has_more = (response.data.count + response.data.page * 10) < response.data.all_count;
 | 
						|
                    rms.save('course_has_more', $scope.course_has_more);
 | 
						|
                    rms.save('course_page', response.data.page);
 | 
						|
                    break;
 | 
						|
                case "Project":
 | 
						|
                    rms.save("project_activities", $scope.project_activities);
 | 
						|
                    $scope.project_has_more = (response.data.count + response.data.page * 10) < response.data.all_count;
 | 
						|
                    rms.save('project_has_more', $scope.project_has_more);
 | 
						|
                    rms.save('project_page', response.data.page);
 | 
						|
                    break;
 | 
						|
                case 3:
 | 
						|
            }
 | 
						|
            console.log(response.data);
 | 
						|
 | 
						|
        }, function errorCallback(response) {
 | 
						|
        });
 | 
						|
    };
 | 
						|
 | 
						|
    $scope.tab = function(index){
 | 
						|
        $scope.currentTab = index;
 | 
						|
        switch(index){
 | 
						|
            //ALL
 | 
						|
            case 1:
 | 
						|
                if($scope.activities.length<=0){
 | 
						|
                    $scope.loadActData(index,0);
 | 
						|
                }
 | 
						|
                break;
 | 
						|
            //Course
 | 
						|
            case 2:
 | 
						|
                if($scope.course_activities.length<=0){
 | 
						|
                    $scope.loadActData(index,0);
 | 
						|
                }
 | 
						|
                break;
 | 
						|
            //Project
 | 
						|
            case 3:
 | 
						|
                if($scope.project_activities.length<=0){
 | 
						|
                    $scope.loadActData(index,0);
 | 
						|
                }
 | 
						|
                break;
 | 
						|
        }
 | 
						|
        rms.save("tab_num",$scope.currentTab);
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    $scope.currentTab = rms.get('tab_num') || 1;
 | 
						|
 | 
						|
    if($scope.activities.length<=0){
 | 
						|
        $scope.loadActData('tab_num',0);
 | 
						|
    } else {
 | 
						|
        $timeout(function(){
 | 
						|
            window.scrollTo(0, rms.get("yoffset"));
 | 
						|
        });
 | 
						|
    }
 | 
						|
 | 
						|
    //跳到详情页
 | 
						|
    $scope.goDetail = function(type, act_id,id){
 | 
						|
        rms.save("yoffset", document.documentElement.scrollTop || document.body.scrollTop);
 | 
						|
        rms.save("activities",$scope.activities);
 | 
						|
        rms.save("course_activities",$scope.course_activities);
 | 
						|
        rms.save("project_activities",$scope.project_activities);
 | 
						|
        $location.path('/'+type+'/'+act_id);
 | 
						|
    };
 | 
						|
 | 
						|
    $scope.addPraise = function(act){
 | 
						|
        for(var i in $scope.activities){
 | 
						|
            if($scope.activities[i].act_id == act.act_id){
 | 
						|
                $scope.activities[i].praise_count += 1;
 | 
						|
                $scope.activities[i].has_praise = true;
 | 
						|
                break;
 | 
						|
            }
 | 
						|
        }
 | 
						|
        for(var i in $scope.course_activities){
 | 
						|
            if($scope.course_activities[i].act_id == act.act_id){
 | 
						|
                $scope.course_activities[i].praise_count += 1;
 | 
						|
                $scope.course_activities[i].has_praise = true;
 | 
						|
                break;
 | 
						|
            }
 | 
						|
        }
 | 
						|
        for(var i in $scope.project_activities){
 | 
						|
            if($scope.project_activities[i].act_id == act.act_id){
 | 
						|
                $scope.project_activities[i].praise_count += 1;
 | 
						|
                $scope.project_activities[i].has_praise = true;
 | 
						|
                break;
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        common.addCommonPraise(act);
 | 
						|
    };
 | 
						|
 | 
						|
    $scope.decreasePraise = function(act){
 | 
						|
        for(var i in $scope.activities){
 | 
						|
            if($scope.activities[i].act_id == act.act_id){
 | 
						|
                $scope.activities[i].praise_count -= 1;
 | 
						|
                $scope.activities[i].has_praise = false;
 | 
						|
                break;
 | 
						|
            }
 | 
						|
        }
 | 
						|
        for(var i in $scope.course_activities){
 | 
						|
            if($scope.course_activities[i].act_id == act.act_id){
 | 
						|
                $scope.course_activities[i].praise_count -= 1;
 | 
						|
                $scope.course_activities[i].has_praise = false;
 | 
						|
                break;
 | 
						|
            }
 | 
						|
        }
 | 
						|
        for(var i in $scope.project_activities){
 | 
						|
            if($scope.project_activities[i].act_id == act.act_id){
 | 
						|
                $scope.project_activities[i].praise_count -= 1;
 | 
						|
                $scope.project_activities[i].has_praise = false;
 | 
						|
                break;
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        common.decreaseCommonPraise(act);
 | 
						|
    };
 | 
						|
}]); |