You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

class.js 14 kB

​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390
  1. app.controller('ClassController', ['$scope', 'config','$http', 'auth','$location','$routeParams','alertService','rms','common','$timeout', function($scope, config, $http, auth, $location, $routeParams,alertService,rms,common,$timeout){
  2. // common.checkLogin();
  3. $scope.replaceUrl = function(url){
  4. return url;
  5. };
  6. var vm = $scope;
  7. vm.g_localhost = window.g_localhost;
  8. var courseid = $routeParams.id;
  9. var tag = $routeParams.tag;
  10. vm.course_activities_page = rms.get('course_activities_page') || 0;
  11. vm.course_activities = rms.get("course_activities") || [];
  12. vm.course_has_more = rms.get("course_has_more");
  13. vm.course = rms.get("course") || null;
  14. vm.getClassActivities = function(page){
  15. $http({
  16. method: 'POST',
  17. url: apiUrl + "courses/activities?id=" + courseid,
  18. data:{token:auth.token(),page:page}
  19. }).then(function successCallback(response) {
  20. console.log(response.data);
  21. if(response.data.status == 0){
  22. vm.course_activities_page = response.data.page;
  23. if(response.data.page > 0)
  24. {
  25. vm.course_activities = vm.course_activities.concat(response.data.data);
  26. vm.course_has_more = (response.data.count + response.data.page * 10) < response.data.all_count;
  27. }
  28. else{
  29. vm.course_activities = response.data.data;
  30. vm.course_activities_page = 0;
  31. vm.course_has_more = (response.data.count + response.data.page * 10) < response.data.all_count;
  32. }
  33. }
  34. else{
  35. vm.alertService.showMessage('提示', response.data.message);
  36. }
  37. }, function errorCallback(response) {
  38. });
  39. };
  40. var getUsers = function(){
  41. if(vm.teachers.length<=0){
  42. $http.get(config.apiUrl + 'courses/teachers?token='+auth.token()+'&course_id='+courseid).then(
  43. function(response) {
  44. console.log(response.data);
  45. vm.teachers = response.data.data;
  46. }
  47. )
  48. }
  49. if(vm.course.is_creator){
  50. if(vm.reviewers.length<=0){
  51. $http.get(config.apiUrl + 'courses/reviewers?token='+auth.token()+'&course_id='+courseid).then(
  52. function(response) {
  53. console.log(response.data);
  54. vm.reviewers = response.data.data;
  55. }
  56. )
  57. }
  58. }
  59. if(vm.students.length<=0){
  60. $http.get(config.apiUrl + 'courses/students?token='+auth.token()+'&course_id='+courseid).then(
  61. function(response) {
  62. console.log(response.data);
  63. vm.students = response.data.data;
  64. }
  65. )
  66. }
  67. };
  68. var getResources = function(){
  69. if(vm.resources.length<=0){
  70. $http.post(config.apiUrl + "courses/"+courseid+"/attachments",
  71. {token: auth.token(), name: ''}
  72. ).then(function(response){
  73. vm.resources = response.data.data;
  74. vm.resources_tag = true;
  75. });
  76. }
  77. };
  78. var getHomeworks = function(){
  79. if(vm.homeworks.length <=0){
  80. $http.get(config.apiUrl + "courses/homeworks/"+courseid+"?token="+auth.token()).then(function(response){
  81. vm.homeworks = response.data.data;
  82. console.log(response.data);
  83. vm.homeworks_tag = true;
  84. });
  85. }
  86. };
  87. var getExercises = function(){
  88. if(vm.exercises.length <=0){
  89. $http.get(config.apiUrl + "courses/"+courseid+"/exercises?token="+auth.token()).then(function(response){
  90. vm.exercises = response.data.data;
  91. console.log(response.data);
  92. vm.exercises_tag = true;
  93. });
  94. }
  95. };
  96. vm.isTeacher = false;
  97. // vm.currentTab = 1;
  98. vm.currentTab = rms.get('tab_num');
  99. vm.tab = function(index){
  100. vm.currentTab = index;
  101. vm.searchText = '';
  102. vm.showActivities = false;
  103. vm.showClassMate = false;
  104. vm.showResources = false;
  105. vm.showHomework = false;
  106. vm.showTestcase = false;
  107. vm.resources_tag = false;
  108. vm.homeworks_tag = false;
  109. vm.exercises_tag = false;
  110. if(vm.isTeacher){
  111. if(index == 1){
  112. if(vm.course_activities.length <= 0){
  113. vm.getClassActivities(0);
  114. }
  115. vm.showActivities = true;
  116. }
  117. else if(index == 2){ //课件
  118. getResources();
  119. vm.showResources = true;
  120. }
  121. else if(index==3){ //作业
  122. getHomeworks();
  123. vm.showHomework = true;
  124. }
  125. else if(index==4){ //学生管理
  126. getUsers();
  127. vm.showClassMate = true;
  128. }
  129. } else {
  130. if(index == 1){
  131. if(vm.course_activities.length <= 0){
  132. vm.getClassActivities(0);
  133. }
  134. vm.showActivities = true;
  135. }
  136. else if(index == 3){
  137. getUsers();
  138. vm.showClassMate = true;
  139. }
  140. else if(index==2){
  141. getResources();
  142. vm.showResources = true;
  143. }
  144. }
  145. rms.save("tab_num",vm.currentTab);
  146. };
  147. // vm.tabRecord = rms.get('tab_num') || 1;
  148. // vm.course = {};
  149. vm.students = [];
  150. vm.teachers = [];
  151. vm.reviewers = []; //待审批
  152. vm.resources = [];
  153. vm.homeworks = [];
  154. vm.exercises = [];
  155. //发送类别 1课件 2作业 3测验
  156. vm.myresource_sendIndex = rms.get('myresource_sendIndex') || 1;
  157. vm.alertService = alertService.create();
  158. //双弹框
  159. vm.alertService_2 = alertService.create();
  160. vm.invite = function(){
  161. rms.save('course_activities_page',vm.course_activities_page);
  162. rms.save("course_activities",vm.course_activities);
  163. rms.save("course_has_more",vm.course_has_more);
  164. rms.save("course",vm.course);
  165. $location.path("/invite_code").search({id: courseid});
  166. };
  167. vm.sendFile = function(r,index){
  168. vm.myresource_sendIndex = index;
  169. rms.save('course_activities_page',vm.course_activities_page);
  170. rms.save("course_activities",vm.course_activities);
  171. rms.save("course_has_more",vm.course_has_more);
  172. rms.save("course",vm.course);
  173. rms.save('myresource_sendIndex',index);
  174. $location.path("/send_class_list").search({id: r.id,course_id: courseid});
  175. };
  176. if(!vm.currentTab){
  177. $http.get(config.apiUrl+ 'courses/'+courseid+"?token="+auth.token()).then(
  178. function(response) {
  179. console.log(response.data);
  180. if (response.data.status == 0){
  181. vm.course = response.data.data;
  182. resetMenu(vm.course.current_user_is_teacher,vm.currentTab);
  183. if(tag){
  184. vm.tab(4);
  185. tag = null;
  186. vm.currentTab = 4;
  187. }
  188. else{
  189. vm.currentTab = 1;
  190. vm.tab(vm.currentTab);
  191. }
  192. }
  193. else{
  194. vm.alertService.showMessage('提示', response.data.message);
  195. }
  196. }
  197. );
  198. }else {
  199. $timeout(function(){
  200. window.scrollTo(0, rms.get("yoffset"));
  201. });
  202. }
  203. var resetMenu = function(is_teacher,index){
  204. vm.isTeacher = is_teacher;
  205. if(is_teacher){
  206. vm.menus = ["动态", "课件", "作业", "成员管理"];
  207. } else {
  208. vm.menus = ['动态','课件', "我的同学"];
  209. }
  210. vm.tab(index);
  211. };
  212. if(vm.course){
  213. resetMenu(vm.course.current_user_is_teacher,vm.currentTab);
  214. }
  215. vm.onSetting = function(user){
  216. rms.save('current_edit_member', user);
  217. rms.save("course",vm.course);
  218. rms.save("tab_num",vm.currentTab);
  219. $location.path("/edit_class_member").search({id: courseid,user_id: user.id});
  220. };
  221. vm.onSetting_1 = function(user){
  222. rms.save('current_edit_member', user);
  223. rms.save("course",vm.course);
  224. rms.save("tab_num",vm.currentTab);
  225. $location.path("/select_my_coursegroup").search({id: courseid,user_id: user.id});
  226. };
  227. vm.review = function(user){
  228. rms.save('current_review_member', user);
  229. rms.save('current_course', vm.course);
  230. rms.save("course",vm.course);
  231. rms.save("tab_num",vm.currentTab);
  232. $location.path("/review_class_member").search({id: courseid,user_id: user.id});
  233. };
  234. //跳到详情页
  235. vm.goDetail = function(type, act_id,id){
  236. rms.save("yoffset", document.documentElement.scrollTop || document.body.scrollTop);
  237. rms.save('course_activities_page',vm.course_activities_page);
  238. rms.save("course_activities",vm.course_activities);
  239. rms.save('course_has_more', vm.course_has_more);
  240. rms.save("tab_num",vm.currentTab);
  241. rms.save("course",vm.course);
  242. // $location.path('/'+type+'/'+act_id);
  243. $location.path("/"+type).search({id: act_id});
  244. };
  245. vm.addPraise = function(act){
  246. for(var i in vm.course_activities){
  247. if(vm.course_activities[i].act_id == act.act_id){
  248. vm.course_activities[i].praise_count += 1;
  249. vm.course_activities[i].has_praise = true;
  250. break;
  251. }
  252. }
  253. common.addCommonPraise(act);
  254. };
  255. vm.decreasePraise = function(act){
  256. for(var i in vm.course_activities){
  257. if(vm.course_activities[i].act_id == act.act_id){
  258. vm.course_activities[i].praise_count -= 1;
  259. vm.course_activities[i].has_praise = false;
  260. break;
  261. }
  262. }
  263. common.decreaseCommonPraise(act);
  264. };
  265. vm.goPublishNotice = function(){
  266. if(!vm.isTeacher){
  267. return;
  268. }
  269. rms.save('course_activities_page',vm.course_activities_page);
  270. rms.save("course_activities",vm.course_activities);
  271. rms.save('course_has_more', vm.course_has_more);
  272. rms.save("tab_num",vm.currentTab);
  273. rms.save("course",vm.course);
  274. rms.save('current_course', vm.course);
  275. $location.path("/class_publishnotice").search({id:courseid});
  276. };
  277. vm.goPublishIssue = function(){
  278. rms.save('course_activities_page',vm.course_activities_page);
  279. rms.save("course_activities",vm.course_activities);
  280. rms.save('course_has_more', vm.course_has_more);
  281. rms.save("tab_num",vm.currentTab);
  282. rms.save("course",vm.course);
  283. rms.save('current_course', vm.course);
  284. $location.path("/class_publishissue").search({id:courseid});
  285. };
  286. vm.goHomeworkDetail = function(id){
  287. rms.save("yoffset", document.documentElement.scrollTop || document.body.scrollTop);
  288. rms.save('course_activities_page',vm.course_activities_page);
  289. rms.save("course_activities",vm.course_activities);
  290. rms.save('course_has_more', vm.course_has_more);
  291. rms.save("tab_num",vm.currentTab);
  292. rms.save("course",vm.course);
  293. // $location.path('/'+type+'/'+act_id);
  294. $location.path("/homework").search({id: id});
  295. };
  296. vm.quit = function(){
  297. vm.alertService_2.showMessage('提示', "是否确认退出班级",function(){
  298. $http({
  299. method: 'POST',
  300. url: apiUrl + "courses/" + courseid+"/quit",
  301. data:{token:auth.token()}
  302. }).then(function successCallback(response) {
  303. console.log(response.data);
  304. if(response.data.status == 0){
  305. vm.alertService.showMessage('提示', response.data.message,function(){
  306. //确定
  307. rms.save('course_activities_page',0);
  308. rms.save("course_activities",[]);
  309. rms.save("course_has_more",false);
  310. rms.save("course",null);
  311. rms.save("tab_num",null);
  312. rms.save('syllabuses',[]);
  313. $location.path("/class_list");
  314. });
  315. }
  316. else{
  317. vm.alertService.showMessage('提示', response.data.message);
  318. }
  319. });
  320. });
  321. };
  322. vm.goEditGroup = function(){
  323. if(!vm.isTeacher){
  324. return;
  325. }
  326. rms.save('course_activities_page',vm.course_activities_page);
  327. rms.save("course_activities",vm.course_activities);
  328. rms.save('course_has_more', vm.course_has_more);
  329. rms.save("tab_num",vm.currentTab);
  330. rms.save("course",vm.course);
  331. rms.save('current_course', vm.course);
  332. if(vm.course.groupnum == 0){
  333. $location.path("/edit_class_group").search({id: courseid});
  334. }
  335. else{
  336. $location.path("/class_group").search({id: courseid});
  337. }
  338. }
  339. }]);

软件技术创新是当今国家整体创新能力的重要基础和发展引擎。近年来,大众参与的软件创新与创业活动已经成为网络时代软件开发和应用的新形态,正在快速改变着全球软件创新模式和软件产业格局。 ...