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.
trustieforge/public/javascripts/wechat/controllers/class.js

217 lines
6.8 KiB

app.controller('ClassController', ['$scope', 'config','$http', 'auth','$location','$routeParams','alertService','rms','common', function($scope, config, $http, auth, $location, $routeParams,alertService,rms,common){
// common.checkLogin();
var vm = $scope;
var courseid = $routeParams.id;
var tag = $routeParams.tag;
var getClassActivities = function(page){
$http({
method: 'POST',
url: apiUrl + "projects/activities?id=" + projectid,
data:{token:auth.token(),page:page}
}).then(function successCallback(response) {
console.log(response.data);
if(response.data.status == 0){
vm.project_activities_page = response.data.page;
if(response.data.page > 0)
{
vm.project_activities = vm.project_activities.concat(response.data.data);
}
else{
vm.project_activities = response.data.data;
vm.project_activities_page = 0;
vm.project_has_more = (response.data.count + response.data.page * 10) < response.data.all_count;
}
}
else{
vm.alertService.showMessage('提示', response.data.message);
}
}, function errorCallback(response) {
});
};
var getUsers = function(){
if(vm.teachers.length<=0){
$http.get(config.apiUrl + 'courses/teachers?token='+auth.token()+'&course_id='+courseid).then(
function(response) {
console.log(response.data);
vm.teachers = response.data.data;
}
)
}
if(vm.course.is_creator){
if(vm.reviewers.length<=0){
$http.get(config.apiUrl + 'courses/reviewers?token='+auth.token()+'&course_id='+courseid).then(
function(response) {
console.log(response.data);
vm.reviewers = response.data.data;
}
)
}
}
if(vm.students.length<=0){
$http.get(config.apiUrl + 'courses/students?token='+auth.token()+'&course_id='+courseid).then(
function(response) {
console.log(response.data);
vm.students = response.data.data;
}
)
}
};
var getResources = function(){
if(vm.resources.length<=0){
$http.post(config.apiUrl + "courses/"+courseid+"/attachments",
{token: auth.token(), name: ''}
).then(function(response){
vm.resources = response.data.data;
vm.resources_tag = true;
});
}
};
var getHomeworks = function(){
if(vm.homeworks.length <=0){
$http.get(config.apiUrl + "courses/homeworks/"+courseid+"?token="+auth.token()).then(function(response){
vm.homeworks = response.data.data;
console.log(response.data);
vm.homeworks_tag = true;
});
}
};
var getExercises = function(){
if(vm.exercises.length <=0){
$http.get(config.apiUrl + "courses/"+courseid+"/exercises?token="+auth.token()).then(function(response){
vm.exercises = response.data.data;
console.log(response.data);
vm.exercises_tag = true;
});
}
};
vm.isTeacher = false;
vm.currentTab = 1;
vm.tab = function(index){
vm.currentTab = index;
vm.searchText = '';
vm.showClassMate = false;
vm.showResources = false;
vm.showHomework = false;
vm.showTestcase = false;
vm.resources_tag = false;
vm.homeworks_tag = false;
vm.exercises_tag = false;
if(vm.isTeacher){
if(index == 1){
getClassActivities();
}
else if(index == 2){ //课件
getResources();
vm.showResources = true;
}
else if(index==3){ //作业
getHomeworks();
vm.showHomework = true;
}
else if(index==4){ //学生管理
getUsers();
vm.showClassMate = true;
}
} else {
if(index == 1){
getClassActivities();
}
else if(index == 3){
getUsers();
vm.showClassMate = true;
}
else if(index==2){
getResources();
vm.showResources = true;
}
}
rms.save("tab_num",index);
};
vm.tabRecord = rms.get('tab_num') || 1;
vm.course = {};
vm.students = [];
vm.teachers = [];
vm.reviewers = []; //待审批
vm.resources = [];
vm.homeworks = [];
vm.exercises = [];
//发送类别 1课件 2作业 3测验
vm.myresource_sendIndex = rms.get('myresource_sendIndex') || 1;
vm.alertService = alertService.create();
vm.invite = function(){
$location.path("/invite_code").search({id: courseid});
};
vm.sendFile = function(r,index){
vm.myresource_sendIndex = index;
rms.save('myresource_sendIndex',index);
$location.path("/send_class_list").search({id: r.id});
};
$http.get(config.apiUrl+ 'courses/'+courseid+"?token="+auth.token()).then(
function(response) {
console.log(response.data);
if (response.data.status == 0){
vm.course = response.data.data;
resetMenu(vm.course.current_user_is_teacher,vm.tabRecord);
if(tag){
vm.tab(4);
tag = null;
}
else{
vm.tab(vm.tabRecord);
}
}
else{
vm.alertService.showMessage('提示', response.data.message);
}
}
);
var resetMenu = function(is_teacher){
vm.isTeacher = is_teacher;
if(is_teacher){
vm.menus = ["动态", "课件", "作业", "成员管理"];
} else {
vm.menus = ['动态','课件', "我的同学"];
}
};
vm.onSetting = function(user){
rms.save('current_edit_member', user);
$location.path("/edit_class_member").search({id: courseid,user_id: user.id});
};
vm.review = function(user){
rms.save('current_review_member', user);
rms.save('current_course', vm.course);
$location.path("/review_class_member").search({id: courseid,user_id: user.id});
};
}]);