365 lines
13 KiB
JavaScript
365 lines
13 KiB
JavaScript
app.controller('ClassController', ['$scope', 'config','$http', 'auth','$location','$routeParams','alertService','rms','common','$timeout', function($scope, config, $http, auth, $location, $routeParams,alertService,rms,common,$timeout){
|
|
// common.checkLogin();
|
|
|
|
$scope.replaceUrl = function(url){
|
|
return url;
|
|
};
|
|
|
|
var vm = $scope;
|
|
|
|
vm.g_localhost = window.g_localhost;
|
|
|
|
var courseid = $routeParams.id;
|
|
var tag = $routeParams.tag;
|
|
|
|
vm.course_activities_page = rms.get('course_activities_page') || 0;
|
|
vm.course_activities = rms.get("course_activities") || [];
|
|
vm.course_has_more = rms.get("course_has_more");
|
|
|
|
vm.course = rms.get("course") || null;
|
|
|
|
vm.getClassActivities = function(page){
|
|
$http({
|
|
method: 'POST',
|
|
url: apiUrl + "courses/activities?id=" + courseid,
|
|
data:{token:auth.token(),page:page}
|
|
}).then(function successCallback(response) {
|
|
console.log(response.data);
|
|
if(response.data.status == 0){
|
|
vm.course_activities_page = response.data.page;
|
|
if(response.data.page > 0)
|
|
{
|
|
vm.course_activities = vm.course_activities.concat(response.data.data);
|
|
vm.course_has_more = (response.data.count + response.data.page * 10) < response.data.all_count;
|
|
}
|
|
else{
|
|
vm.course_activities = response.data.data;
|
|
vm.course_activities_page = 0;
|
|
vm.course_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.currentTab = rms.get('tab_num');
|
|
|
|
vm.tab = function(index){
|
|
vm.currentTab = index;
|
|
vm.searchText = '';
|
|
|
|
vm.showActivities = false;
|
|
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){
|
|
if(vm.course_activities.length <= 0){
|
|
vm.getClassActivities(0);
|
|
}
|
|
vm.showActivities = true;
|
|
}
|
|
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){
|
|
if(vm.course_activities.length <= 0){
|
|
vm.getClassActivities(0);
|
|
}
|
|
vm.showActivities = true;
|
|
}
|
|
else if(index == 3){
|
|
getUsers();
|
|
vm.showClassMate = true;
|
|
}
|
|
else if(index==2){
|
|
getResources();
|
|
vm.showResources = true;
|
|
}
|
|
}
|
|
rms.save("tab_num",vm.currentTab);
|
|
};
|
|
|
|
// 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.alertService_2 = alertService.create();
|
|
|
|
vm.invite = function(){
|
|
rms.save('course_activities_page',vm.course_activities_page);
|
|
rms.save("course_activities",vm.course_activities);
|
|
rms.save("course_has_more",vm.course_has_more);
|
|
rms.save("course",vm.course);
|
|
|
|
$location.path("/invite_code").search({id: courseid});
|
|
};
|
|
|
|
vm.sendFile = function(r,index){
|
|
vm.myresource_sendIndex = index;
|
|
rms.save('course_activities_page',vm.course_activities_page);
|
|
rms.save("course_activities",vm.course_activities);
|
|
rms.save("course_has_more",vm.course_has_more);
|
|
rms.save("course",vm.course);
|
|
rms.save('myresource_sendIndex',index);
|
|
$location.path("/send_class_list").search({id: r.id,course_id: courseid});
|
|
};
|
|
|
|
if(!vm.currentTab){
|
|
$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.currentTab);
|
|
if(tag){
|
|
vm.tab(4);
|
|
tag = null;
|
|
vm.currentTab = 4;
|
|
}
|
|
else{
|
|
vm.currentTab = 1;
|
|
vm.tab(vm.currentTab);
|
|
}
|
|
}
|
|
else{
|
|
vm.alertService.showMessage('提示', response.data.message);
|
|
}
|
|
|
|
}
|
|
);
|
|
}else {
|
|
$timeout(function(){
|
|
window.scrollTo(0, rms.get("yoffset"));
|
|
});
|
|
}
|
|
|
|
var resetMenu = function(is_teacher,index){
|
|
vm.isTeacher = is_teacher;
|
|
if(is_teacher){
|
|
vm.menus = ["动态", "课件", "作业", "成员管理"];
|
|
} else {
|
|
vm.menus = ['动态','课件', "我的同学"];
|
|
}
|
|
vm.tab(index);
|
|
};
|
|
|
|
if(vm.course){
|
|
resetMenu(vm.course.current_user_is_teacher,vm.currentTab);
|
|
}
|
|
|
|
|
|
vm.onSetting = function(user){
|
|
rms.save('current_edit_member', user);
|
|
rms.save("course",vm.course);
|
|
rms.save("tab_num",vm.currentTab);
|
|
$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);
|
|
rms.save("course",vm.course);
|
|
rms.save("tab_num",vm.currentTab);
|
|
$location.path("/review_class_member").search({id: courseid,user_id: user.id});
|
|
};
|
|
|
|
//跳到详情页
|
|
vm.goDetail = function(type, act_id,id){
|
|
rms.save("yoffset", document.documentElement.scrollTop || document.body.scrollTop);
|
|
rms.save('course_activities_page',vm.course_activities_page);
|
|
rms.save("course_activities",vm.course_activities);
|
|
rms.save('course_has_more', vm.course_has_more);
|
|
rms.save("tab_num",vm.currentTab);
|
|
rms.save("course",vm.course);
|
|
// $location.path('/'+type+'/'+act_id);
|
|
$location.path("/"+type).search({id: act_id});
|
|
};
|
|
|
|
vm.addPraise = function(act){
|
|
for(var i in vm.course_activities){
|
|
if(vm.course_activities[i].act_id == act.act_id){
|
|
vm.course_activities[i].praise_count += 1;
|
|
vm.course_activities[i].has_praise = true;
|
|
break;
|
|
}
|
|
}
|
|
|
|
common.addCommonPraise(act);
|
|
};
|
|
|
|
vm.decreasePraise = function(act){
|
|
for(var i in vm.course_activities){
|
|
if(vm.course_activities[i].act_id == act.act_id){
|
|
vm.course_activities[i].praise_count -= 1;
|
|
vm.course_activities[i].has_praise = false;
|
|
break;
|
|
}
|
|
}
|
|
|
|
common.decreaseCommonPraise(act);
|
|
};
|
|
|
|
vm.goPublishNotice = function(){
|
|
if(!vm.isTeacher){
|
|
return;
|
|
}
|
|
rms.save('course_activities_page',vm.course_activities_page);
|
|
rms.save("course_activities",vm.course_activities);
|
|
rms.save('course_has_more', vm.course_has_more);
|
|
rms.save("tab_num",vm.currentTab);
|
|
rms.save("course",vm.course);
|
|
rms.save('current_course', vm.course);
|
|
$location.path("/class_publishnotice").search({id:courseid});
|
|
};
|
|
|
|
vm.goPublishIssue = function(){
|
|
rms.save('course_activities_page',vm.course_activities_page);
|
|
rms.save("course_activities",vm.course_activities);
|
|
rms.save('course_has_more', vm.course_has_more);
|
|
rms.save("tab_num",vm.currentTab);
|
|
rms.save("course",vm.course);
|
|
rms.save('current_course', vm.course);
|
|
$location.path("/class_publishissue").search({id:courseid});
|
|
};
|
|
|
|
vm.goHomeworkDetail = function(id){
|
|
rms.save("yoffset", document.documentElement.scrollTop || document.body.scrollTop);
|
|
rms.save('course_activities_page',vm.course_activities_page);
|
|
rms.save("course_activities",vm.course_activities);
|
|
rms.save('course_has_more', vm.course_has_more);
|
|
rms.save("tab_num",vm.currentTab);
|
|
rms.save("course",vm.course);
|
|
// $location.path('/'+type+'/'+act_id);
|
|
$location.path("/homework").search({id: id});
|
|
};
|
|
|
|
vm.quit = function(){
|
|
vm.alertService_2.showMessage('提示', "是否确认退出班级",function(){
|
|
$http({
|
|
method: 'POST',
|
|
url: apiUrl + "courses/" + courseid+"/quit",
|
|
data:{token:auth.token()}
|
|
}).then(function successCallback(response) {
|
|
console.log(response.data);
|
|
if(response.data.status == 0){
|
|
vm.alertService.showMessage('提示', response.data.message,function(){
|
|
//确定
|
|
rms.save('course_activities_page',0);
|
|
rms.save("course_activities",[]);
|
|
rms.save("course_has_more",false);
|
|
rms.save("course",null);
|
|
rms.save("tab_num",null);
|
|
rms.save('syllabuses',[]);
|
|
$location.path("/class_list");
|
|
});
|
|
}
|
|
else{
|
|
vm.alertService.showMessage('提示', response.data.message);
|
|
}
|
|
});
|
|
});
|
|
|
|
};
|
|
|
|
|
|
}]); |