ComponentStoreCtrl.js 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. define(['app/app'], function(app) {
  2. 'use strict';
  3. app.register.controller('ComponentStoreCtrl', ['$rootScope', '$scope', 'ngTableParams', 'toaster', 'collectionService', 'BaseService', 'SessionService', function($rootScope, $scope, ngTableParams, toaster, collectionService, BaseService, SessionService) {
  4. BaseService.scrollBackToTop();
  5. document.title = '产品收藏-优软商城';
  6. $scope.pageInfo = {};
  7. $scope.pageInfo.page = 1; // 默认初始页码为1
  8. $scope.pageInfo.count = 25; // 每页数量为25
  9. $scope.overPrevious = true; // 超过上一页标识
  10. $scope.overNext = true; // 超过下一页标识
  11. $scope.deleteDiv = false;
  12. $scope.deleteID = null;
  13. $scope.isBatchDelete = false;
  14. // 初始加载数据
  15. var getData = function(){
  16. var params = {};
  17. params.page = $scope.pageInfo.page;
  18. params.count = $scope.pageInfo.count;
  19. collectionService.getStoreByUUAndComponent.call(null, params,function(data) {
  20. $scope.isChooseAll = false;
  21. $scope.collectInfo = data.content;
  22. if ($scope.collectInfo.length==0){
  23. $scope.isBatch = false;
  24. }
  25. $scope.totalElements = data.totalElements;
  26. $scope.totalPages = data.totalPages;
  27. $scope.number = data.number;
  28. if($scope.totalPages == 1){
  29. $scope.overPrevious = true;
  30. $scope.overNext = true;
  31. }else if($scope.totalPages >1){
  32. if($scope.number == 1){
  33. $scope.overPrevious = true;
  34. $scope.overNext = false;
  35. }else if($scope.number > 1 && $scope.number < $scope.totalPages){
  36. $scope.overPrevious = false;
  37. $scope.overNext = false;
  38. }else if($scope.number == $scope.totalPages){
  39. $scope.overPrevious = false;
  40. $scope.overNext = true;
  41. }
  42. };
  43. // angular.forEach($scope.collectInfo, function(info){
  44. // if(!info.componentinfo.img){
  45. // info.componentinfo.img = "http://113.105.74.140/images/616a2e82078511e69d7a00269e610dbf.jpg";
  46. // }
  47. // });
  48. }, function(response) {
  49. toaster.pop('error', '获取信息失败');
  50. })
  51. };
  52. getData();
  53. $scope.isBatch = false; // 是否批量标识
  54. $scope.isChooseAll = false; // 是否全选标识
  55. // 进行批量操作
  56. $scope.doBatch = function(){
  57. $scope.isBatch = true;
  58. setAllNotSelected();
  59. $scope.isWatch = false;
  60. watchDeatil();
  61. };
  62. // 全选按钮
  63. $scope.chooseAllCollect = function(){
  64. $scope.isChooseAll = !$scope.isChooseAll;
  65. if($scope.isChooseAll){
  66. setAllSelected();
  67. }else{
  68. setAllNotSelected();
  69. }
  70. };
  71. // 取消批量操作
  72. $scope.cancleBatch =function(){
  73. $scope.isBatch = false;
  74. $scope.isChooseAll = false;
  75. setAllNotSelected();
  76. watchDeatil();
  77. };
  78. // 删除选中的收藏
  79. $scope.deleteByselected = function(){
  80. $scope.deleteDiv = true;
  81. $scope.isBatchDelete = true;
  82. };
  83. // 选中状态
  84. $scope.setActive = function(item){
  85. item.active = !item.active;
  86. $scope.isChooseAll = true;
  87. angular.forEach($scope.collectInfo, function(data){
  88. if(!data.active){
  89. $scope.isChooseAll = false;
  90. }
  91. })
  92. };
  93. // 全部设为未选中状态
  94. var setAllNotSelected = function(){
  95. angular.forEach($scope.collectInfo, function(data){
  96. data.active = false;
  97. })
  98. };
  99. // 全部设为选中状态
  100. var setAllSelected = function(){
  101. angular.forEach($scope.collectInfo, function(data){
  102. data.active = true;
  103. })
  104. };
  105. // 是否可以查看详情
  106. $scope.isWatch = false;
  107. var watchDeatil = function(){
  108. var details = $("a[name='detail']");
  109. if($scope.isWatch){
  110. for(var i = 0; i<details.length; i++){
  111. angular.forEach($scope.collectInfo, function(data){
  112. details[i].href = "product/component/" + data.componentinfo.uuid + "/";
  113. });
  114. }
  115. $scope.isWatch = false;
  116. }else{
  117. for(var j = 0; j<details.length; j++){
  118. details[j].href = "#";
  119. }
  120. $scope.isWatch = true;
  121. }
  122. };
  123. //取消删除的操作
  124. $scope.cancleDelete = function () {
  125. $scope.deleteDiv = false;
  126. $scope.deleteID = null;
  127. $scope.isBatchDelete = false;
  128. };
  129. //确认删除账户信息
  130. $scope.confirmDelete = function () {
  131. if ($scope.isBatchDelete) {
  132. var store = [];
  133. angular.forEach($scope.collectInfo, function(data){
  134. if(data.active == true){
  135. store.push(data.id);
  136. }
  137. });
  138. if(store.length == 0){
  139. toaster.pop('info', '请选择要移除的产品');
  140. }else{
  141. collectionService.deleteStoreByIds({}, store, function(data){
  142. var result = data;
  143. if(result.data){
  144. getData();
  145. toaster.pop('success', '移除成功');
  146. }else{
  147. toaster.pop('fail', '移除失败');
  148. }
  149. }, function(){
  150. toaster.pop('fail', '移除失败,后台调用出错');
  151. })
  152. }
  153. $scope.isBatchDelete = false;
  154. $scope.deleteDiv = false;
  155. $scope.isChooseAll = false;
  156. } else {
  157. collectionService.deleteStoreById({id: $scope.deleteID}, null, function(data) {
  158. var store = [];
  159. for(var i = 0; i < data.length; i++) {
  160. store.push(data[i]);
  161. }
  162. var key = SessionService.getCookie('J_USERNAME');
  163. SessionService.setCookie(key, angular.toJson(store));
  164. toaster.pop('success', '移除成功');
  165. $scope.deleteDiv = false;
  166. $scope.deleteID = null;
  167. getData();
  168. collectionService.getStoreByUU({}, function(data) {
  169. var store = [];
  170. var brandCount = 0;
  171. var componentCount = 0;
  172. for(var i = 0; i < data.length; i++) {
  173. if(data[i].kind == 1) {
  174. brandCount++;
  175. }else if (data[i].kind == 2){
  176. componentCount++;
  177. }
  178. store.push(data[i]);
  179. }
  180. $rootScope.brandCount = brandCount;
  181. $rootScope.componentCount = componentCount;
  182. SessionService.setCookie($rootScope.userInfo.userUU +"-"+ (typeof $rootScope.userInfo.enterprise != 'undefined' ? $rootScope.userInfo.enterprise.uu : null), angular.toJson(store));
  183. });
  184. }, function(response) {
  185. toaster.pop('error', '移除失败');
  186. });
  187. }
  188. };
  189. // 删除单个收藏
  190. $scope.cancleStore = function(id) {
  191. $scope.deleteDiv = true;
  192. $scope.deleteID = id;
  193. };
  194. // 分页功能
  195. $scope.toPage = $scope.pageInfo.page;
  196. $scope.jumpToPage = function (number) {
  197. if(number == 1 || number == '' || number < 1 || number > $scope.totalPages){
  198. $scope.pageInfo.page = 1;
  199. }if(number > 1 && number <= $scope.totalPages){
  200. $scope.pageInfo.page = number;
  201. }
  202. $scope.toPage = $scope.pageInfo.page;
  203. $scope.isChooseAll = false;
  204. getData();
  205. };
  206. }]);
  207. })