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.

project.js 11 kB

​
​
10 years ago
​
​
10 years ago
​
​
10 years ago
10 years ago
​
​
​
​
​
​
​
​
10 years ago
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
10 years ago
​
​
​
​
​
​
​
10 years ago
​
​
​
10 years ago
​
10 years ago
10 years ago
​
​
​
​
​
​
​
​
​
​
​
10 years ago
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
10 years ago
​
​
​
​
​
10 years ago
​
​
​
​
​
​
10 years ago
​
​
10 years ago
​
​
​
​
​
​
10 years ago
​
​
10 years ago
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
10 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293
  1. app.controller('ProjectController', ['$scope', 'config','$http','$timeout', 'auth','$location','$routeParams','alertService','rms','common', function($scope, config, $http,$timeout, auth, $location, $routeParams,alertService,rms,common){
  2. // common.checkLogin();
  3. $scope.replaceUrl = function(url){
  4. return url;
  5. };
  6. var vm = $scope;
  7. var projectid = $routeParams.id;
  8. var tag = $routeParams.tag;
  9. vm.project_activities_page = rms.get('project_activities_page') || 0;
  10. vm.project_activities = rms.get("project_activities") || [];
  11. vm.project_has_more = rms.get("project_has_more");
  12. vm.project = rms.get("project") || null;
  13. // vm.project_members_page = rms.get('project_members_page') || 0;
  14. vm.project_master_members = rms.get("project_master_members") || [];
  15. vm.project_develop_members = rms.get("project_develop_members") || [];
  16. vm.project_report_members = rms.get("project_report_members") || [];
  17. // vm.review_master_members = rms.get("review_master_members") || [];
  18. // vm.review_develop_members = rms.get("review_master_members") || [];
  19. vm.review_master_members = rms.get("review_master_members") || [];
  20. vm.review_develop_members = rms.get("review_develop_members") || [];
  21. // vm.project_members_has_more = rms.get("project_members_has_more");
  22. vm.alertService = alertService.create();
  23. //双弹框
  24. vm.alertService_2 = alertService.create();
  25. //跳入邀请界面
  26. vm.invite = function(){
  27. // vm.alertService.showMessage('提示', "该功能将在近日开放,敬请期待!");
  28. rms.save('project_activities_page',vm.project_activities_page);
  29. rms.save("project_activities",vm.project_activities);
  30. rms.save("project_has_more",vm.project_has_more);
  31. rms.save("project",vm.project);
  32. rms.save("project_master_members",vm.project_master_members);
  33. rms.save("project_develop_members",vm.project_develop_members);
  34. rms.save("project_report_members",vm.project_report_members);
  35. rms.save("review_master_members",vm.review_master_members);
  36. rms.save("review_develop_members",vm.review_develop_members);
  37. $location.path("/project_invite_code").search({id: projectid});
  38. };
  39. //获取项目动态
  40. vm.getActivities = function(page){
  41. $http({
  42. method: 'POST',
  43. url: apiUrl + "projects/activities?id=" + projectid,
  44. data:{token:auth.token(),page:page}
  45. }).then(function successCallback(response) {
  46. console.log(response.data);
  47. if(response.data.status == 0){
  48. vm.project_activities_page = response.data.page;
  49. if(response.data.page > 0)
  50. {
  51. vm.project_activities = vm.project_activities.concat(response.data.data);
  52. vm.project_has_more = (response.data.count + response.data.page * 10) < response.data.all_count;
  53. }
  54. else{
  55. vm.project_activities = response.data.data;
  56. vm.project_activities_page = 0;
  57. vm.project_has_more = (response.data.count + response.data.page * 10) < response.data.all_count;
  58. }
  59. }
  60. else{
  61. vm.alertService.showMessage('提示', response.data.message);
  62. }
  63. }, function errorCallback(response) {
  64. });
  65. }
  66. vm.getMembers = function(page){
  67. $http({
  68. method: 'POST',
  69. url: apiUrl + "projects/members?id=" + projectid,
  70. data:{token:auth.token(),page:page}
  71. }).then(function successCallback(response) {
  72. console.log(response.data);
  73. if(response.data.status == 0){
  74. // vm.project_members_page = response.data.page;
  75. // if(response.data.page > 0)
  76. // {
  77. // vm.project_members = vm.project_members.concat(response.data.data);
  78. // }
  79. // else{
  80. // vm.project_members = response.data.data;
  81. // vm.project_members_page = 0;
  82. // vm.project_members_has_more = (response.data.count + response.data.page * 10) < response.data.all_count;
  83. // }
  84. vm.project_master_members = response.data.master_members;
  85. vm.project_develop_members = response.data.develop_members;
  86. vm.project_report_members = response.data.report_members;
  87. vm.review_master_members = response.data.review_master_members;
  88. vm.review_develop_members = response.data.review_develop_members;
  89. }
  90. else{
  91. vm.alertService.showMessage('提示', response.data.message);
  92. }
  93. }, function errorCallback(response) {
  94. });
  95. }
  96. //跳到详情页
  97. vm.goDetail = function(type, act_id,id){
  98. rms.save("yoffset", document.documentElement.scrollTop || document.body.scrollTop);
  99. rms.save('project_activities_page',vm.project_activities_page);
  100. rms.save("project_activities",vm.project_activities);
  101. rms.save('project_has_more', vm.project_has_more);
  102. rms.save("project",vm.project);
  103. // $location.path('/'+type+'/'+act_id);
  104. $location.path("/"+type).search({id: act_id});
  105. };
  106. //切换 按钮
  107. vm.tab = function(index){
  108. vm.currentTab = index;
  109. vm.searchText = '';
  110. if(index == 1 && vm.project_activities.length <= 0 ){
  111. vm.getActivities(0);
  112. }
  113. else if(index == 2 && vm.project_master_members.length <= 0){
  114. vm.getMembers(0);
  115. }
  116. rms.save("tab_num",vm.currentTab);
  117. };
  118. //初始化TAB按钮
  119. var resetMenu = function(can_setting){
  120. if(can_setting){
  121. vm.menus = ["项目动态", "成员管理"];
  122. } else {
  123. vm.menus = ['项目动态', "我的伙伴"];
  124. }
  125. }
  126. if(vm.project){
  127. resetMenu(vm.project.can_setting);
  128. }
  129. vm.currentTab = rms.get('tab_num');
  130. //
  131. if(!vm.currentTab || !vm.project){
  132. $http.get(config.apiUrl+ 'projects/'+projectid+"?token="+auth.token()).then(
  133. function(response) {
  134. console.log(response.data);
  135. if (response.data.status == 0){
  136. vm.project = response.data.data;
  137. resetMenu(vm.project.can_setting);
  138. if(tag){
  139. vm.tab(2);
  140. tag = null;
  141. vm.currentTab = 2;
  142. }
  143. else{
  144. vm.tab(1);
  145. vm.currentTab = 1;
  146. }
  147. }
  148. else{
  149. vm.alertService.showMessage('提示', response.data.message,function(){
  150. window.history.back();
  151. });
  152. }
  153. }
  154. );
  155. } else {
  156. $timeout(function(){
  157. window.scrollTo(0, rms.get("yoffset"));
  158. });
  159. }
  160. vm.addPraise = function(act){
  161. for(var i in vm.project_activities){
  162. if(vm.project_activities[i].act_id == act.act_id){
  163. vm.project_activities[i].praise_count += 1;
  164. vm.project_activities[i].has_praise = true;
  165. break;
  166. }
  167. }
  168. common.addCommonPraise(act);
  169. };
  170. vm.decreasePraise = function(act){
  171. for(var i in vm.project_activities){
  172. if(vm.project_activities[i].act_id == act.act_id){
  173. vm.project_activities[i].praise_count -= 1;
  174. vm.project_activities[i].has_praise = false;
  175. break;
  176. }
  177. }
  178. common.decreaseCommonPraise(act);
  179. };
  180. vm.onSetting = function(data){
  181. rms.save('current_edit_member', data);
  182. rms.save('project_activities_page',vm.project_activities_page);
  183. rms.save("project_activities",vm.project_activities);
  184. rms.save("project_has_more",vm.project_has_more);
  185. rms.save("project",vm.project);
  186. rms.save("project_master_members",vm.project_master_members);
  187. rms.save("project_develop_members",vm.project_develop_members);
  188. rms.save("project_report_members",vm.project_report_members);
  189. rms.save("review_master_members",vm.review_master_members);
  190. rms.save("review_develop_members",vm.review_develop_members);
  191. $location.path("/edit_project_member").search({id: projectid,user_id: data.user.id});
  192. };
  193. vm.review = function(user){
  194. rms.save('current_review_member', user);
  195. rms.save('current_project', vm.project);
  196. rms.save("project",vm.project);
  197. rms.save("project_master_members",vm.project_master_members);
  198. rms.save("project_develop_members",vm.project_develop_members);
  199. rms.save("project_report_members",vm.project_report_members);
  200. rms.save("review_master_members",vm.review_master_members);
  201. rms.save("review_develop_members",vm.review_develop_members);
  202. $location.path("/review_project_member").search({id: projectid,user_id: user.id});
  203. }
  204. vm.goPublishNote = function(){
  205. rms.save('project_activities_page',vm.project_activities_page);
  206. rms.save("project_activities",vm.project_activities);
  207. rms.save("project_has_more",vm.project_has_more);
  208. rms.save("project",vm.project);
  209. rms.save("project_master_members",vm.project_master_members);
  210. rms.save("project_develop_members",vm.project_develop_members);
  211. rms.save("project_report_members",vm.project_report_members);
  212. rms.save("review_master_members",vm.review_master_members);
  213. rms.save("review_develop_members",vm.review_develop_members);
  214. rms.save('current_project', vm.project);
  215. $location.path("/project_publishnote").search({id:projectid});
  216. };
  217. vm.quit = function(){
  218. vm.alertService_2.showMessage('提示', "是否确认退出项目",function(){
  219. $http({
  220. method: 'POST',
  221. url: apiUrl + "projects/" + projectid+"/quit",
  222. data:{token:auth.token()}
  223. }).then(function successCallback(response) {
  224. console.log(response.data);
  225. if(response.data.status == 0){
  226. vm.alertService.showMessage('提示', response.data.message,function(){
  227. //确定
  228. rms.save('project_activities_page',0);
  229. rms.save("project_activities",[]);
  230. rms.save("project_has_more",false);
  231. rms.save("project",null);
  232. rms.save("project_master_members",[]);
  233. rms.save("project_develop_members",[]);
  234. rms.save("project_report_members",[]);
  235. rms.save("review_master_members",[]);
  236. rms.save("review_develop_members",[]);
  237. rms.save('tab_num',null);
  238. rms.save('projects',[]);
  239. $location.path("/project_list");
  240. });
  241. }
  242. else{
  243. vm.alertService.showMessage('提示', response.data.message);
  244. }
  245. });
  246. });
  247. };
  248. }]);

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