setAuthorityGroupCtrl.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319
  1. angular.module('push')
  2. .controller('setAuthorityGroupCtrl', function ($scope,$timeout,$stateParams,$ionicScrollDelegate,$ionicModal,
  3. UserService, ResourceLibraryService, ConstantService, UtilService, resourceLibraryModel,CommonService) {
  4. //TODO
  5. // 群组的基本信息
  6. $scope.groupDetail= $stateParams.groupDetail;
  7. /*$scope.groupDetail={
  8. groupid:1,
  9. groupName:"宝马返利群",
  10. memberNum:33,
  11. ind:0 // 对应grouplist里的索引值
  12. };*/
  13. // 初始化的成员列表
  14. $scope.mailDatas=[
  15. {
  16. userUpper:'A',
  17. userlist:[
  18. {
  19. username:'AAAA',
  20. photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg'
  21. },
  22. {
  23. username:'AAAssd',
  24. photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg'
  25. }
  26. ]
  27. },
  28. {
  29. userUpper:'B',
  30. userlist:[
  31. {
  32. username:'BBBB',
  33. photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg'
  34. },
  35. {
  36. username:'BBBBBasa',
  37. photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg'
  38. },
  39. {
  40. username:'BBBBB2',
  41. photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg'
  42. },
  43. {
  44. username:'BBBBB3',
  45. photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg'
  46. },
  47. {
  48. username:'BBBBB4',
  49. photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg'
  50. },
  51. {
  52. username:'BBBBB5',
  53. photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg'
  54. },
  55. {
  56. username:'BBBBB6',
  57. photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg'
  58. }
  59. ]
  60. },
  61. {
  62. userUpper:'C',
  63. userlist:[
  64. {
  65. username:'CCC',
  66. photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg'
  67. },
  68. {
  69. username:'CCCC1',
  70. photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg'
  71. },
  72. {
  73. username:'CCCC2',
  74. photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg'
  75. },
  76. {
  77. username:'CCCC4',
  78. photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg'
  79. },
  80. {
  81. username:'CCCC6',
  82. photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg'
  83. },
  84. {
  85. username:'CCCC9',
  86. photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg'
  87. },
  88. {
  89. username:'CCCC7',
  90. photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg'
  91. }
  92. ]
  93. }
  94. ];
  95. // 保存时的成员列表
  96. $scope.requestModel=
  97. {
  98. userid:UserService.id,
  99. data:{
  100. id:1,
  101. authname:"",
  102. userlist:[]
  103. }
  104. };
  105. // 添加成员的参数:从设置群组界面进入
  106. $scope.sourcefrom = 1;
  107. $scope.userlist = [];
  108. // 获取群组现有成员
  109. // 权限成员组id
  110. $scope.groupid=$scope.groupDetail.groupid;
  111. var getAuthorityGroupUserList = function () {
  112. ResourceLibraryService.getAuthorityGroupUserList($scope.groupid).then(function (response) {
  113. // console.log(response);
  114. // 成员列表
  115. $scope.mailDatas = response.data;
  116. $timeout(function () {
  117. //联系人首字母字母数组
  118. $scope.letters = [];
  119. angular.forEach($scope.mailDatas, function (value, ind) {
  120. $scope.letters.push(value.userUpper);
  121. angular.forEach(value.userlist, function (user, ind) {
  122. $scope.userlist.push(user);
  123. });
  124. });
  125. $scope.heightAccount=20*($scope.letters.length)+"px";
  126. }, 100);
  127. }, function () {
  128. });
  129. console.log($scope.userlist);
  130. };
  131. // flag:true 才刷新,跳入了
  132. if(resourceLibraryModel.getFlag()){
  133. getAuthorityGroupUserList();
  134. }else{
  135. $scope.groupDetail = resourceLibraryModel.getGroupDetail();
  136. $scope.mailDatas = resourceLibraryModel.getMailDatas();
  137. resourceLibraryModel.setFlag(true);
  138. //联系人首字母字母数组
  139. $scope.letters = [];
  140. $scope.groupDetail.memberNum = 0;
  141. angular.forEach($scope.mailDatas, function (value, ind) {
  142. $scope.letters.push(value.userUpper);
  143. angular.forEach(value.userlist, function (user, ind) {
  144. $scope.userlist.push(user);
  145. $scope.groupDetail.memberNum += 1;
  146. });
  147. });
  148. $scope.heightAccount=20*($scope.letters.length)+"px";
  149. }
  150. // 触摸字母定位至对应联系人
  151. $scope.mTouch = function (event) {
  152. var handle=$ionicScrollDelegate.$getByHandle('businessList-handle');
  153. var c = $(this).attr("c");
  154. $scope.hint = c;
  155. $scope.showMiddle = true;
  156. $timeout(function () {
  157. $scope.showMiddle = false;
  158. }, 300);
  159. var scroll = document.getElementById($scope.hint).offsetTop- handle.getScrollPosition().top;
  160. $ionicScrollDelegate.scrollBy(0, scroll, true);
  161. var ele = document.getElementsByTagName("ion-content");
  162. ele[0].style.overflow = "auto"; //解决滑动右边的导航字母后,左边不能再滚动的bug,可以试着注释这两句来测试这个问题
  163. };
  164. // 手指从屏幕上离开 隐藏中间显示的字母
  165. $scope.mRelease = function () {
  166. $timeout(function () {
  167. $scope.showMiddle = false;
  168. }, 300);
  169. };
  170. //删除成员
  171. $scope.btnDelectItem=function (index,parentIndex,userid) {
  172. // console.log('parentIndex:'+parentIndex);
  173. // console.log('index:'+index);
  174. $scope.mailDatas[parentIndex].userlist.splice(index, 1);
  175. $scope.groupDetail.memberNum = $scope.groupDetail.memberNum - 1;
  176. angular.forEach($scope.userlist, function (value, ind) {
  177. if(value.userid == userid) {
  178. $scope.userlist.splice(ind, 1);
  179. }
  180. });
  181. };
  182. // 返回至谁可以看页面
  183. $scope.gotoSourcePage=function () {
  184. // 不刷新页面
  185. resourceLibraryModel.setFlag(false);
  186. $scope.goback();
  187. };
  188. //保存群组和成员
  189. $scope.saveAuthorityGroup = function () {
  190. saveInfo();
  191. };
  192. // 保存修改后的设置
  193. var saveInfo = function () {
  194. // 群组id
  195. $scope.requestModel.data.id= $scope.groupDetail.groupid;
  196. // 群组名称
  197. $scope.requestModel.data.authname= $scope.groupDetail.groupName;
  198. // 群组对应的userlist
  199. // 将所有的user加入到列表中,传入后台
  200. if ($scope.mailDatas.length > 0) {
  201. for (var i = 0; i < $scope.mailDatas.length; i++ ) {
  202. if ($scope.mailDatas[i].userlist.length > 0) {
  203. for (var j = 0; j < $scope.mailDatas[i].userlist.length; j++ ) {
  204. $scope.requestModel.data.userlist.push($scope.mailDatas[i].userlist[j]);
  205. }
  206. }
  207. }
  208. };
  209. ResourceLibraryService.updateAuthorityGroup($scope.requestModel).then(function (response) {
  210. // console.log(response);
  211. if (response.code == ConstantService.INTERFACE_STATUS_CODE_3350) {
  212. // 设置成功
  213. if($scope.app){
  214. UtilService.showMess(ConstantService.INTERFACE_SET_MESSAGE_SUCCESS);
  215. }else{
  216. CommonService.showMessage(ConstantService.INTERFACE_SET_MESSAGE_SUCCESS,$scope);
  217. }
  218. $timeout(function () {
  219. // 保存完,model初始化
  220. // resourceLibraryModel.resetResourceLibraryData();
  221. angular.forEach(resourceLibraryModel.getGroupList(), function (value, index) {
  222. if (index == $scope.groupDetail.ind) {
  223. value.userlist = $scope.userlist;
  224. // value.checkBoxEd = true;
  225. }
  226. });
  227. // 不刷新页面
  228. resourceLibraryModel.setFlag(false);
  229. // 设置成功后跳入我的信息
  230. $scope.goback();
  231. }, 500);
  232. } else {
  233. if($scope.app){
  234. UtilService.showMess(ConstantService.INTERFACE_MESSAGE_ERROR);
  235. }else{
  236. CommonService.showMessage(ConstantService.INTERFACE_MESSAGE_ERROR,$scope)
  237. }
  238. }
  239. }, function () {
  240. if($scope.app){
  241. UtilService.showMess(ConstantService.INTERFACE_MESSAGE_ERROR);
  242. }else{
  243. CommonService.showMessage(ConstantService.INTERFACE_MESSAGE_ERROR,$scope)
  244. }
  245. })
  246. };
  247. // 添加成员
  248. $scope.addgroupMember=function () {
  249. // 现有成员
  250. resourceLibraryModel.setTempUserList($scope.userlist);
  251. resourceLibraryModel.setGroupDetail($scope.groupDetail);
  252. resourceLibraryModel.setMailDatas($scope.mailDatas);
  253. // 来源:设置群组
  254. $scope.go('selectAuthorityMember', {sourcefrom: 1, userlist: resourceLibraryModel.getTempUserList()});
  255. };
  256. //设置群组名称
  257. $ionicModal.fromTemplateUrl('my-modal.html', {
  258. scope: $scope,
  259. animation: 'slide-in-left'
  260. }).then(function(modal) {
  261. $scope.modal = modal;
  262. });
  263. //打开设置群组名称
  264. $scope.groupDetail.groupNewName=$scope.groupDetail.groupName;
  265. $scope.openModal = function() {
  266. $scope.groupDetail.groupNewName=$scope.groupDetail.groupName;
  267. $scope.isShowClear = true;
  268. $scope.modal.show();
  269. };
  270. //不更改群组名称
  271. $scope.closeModalAndNoset = function() {
  272. console.log('我不修改');
  273. if($scope.groupDetail.groupNewName!=''){
  274. $scope.groupDetail.groupName=$scope.groupDetail.groupNewName;
  275. }else {
  276. $scope.groupDetail.groupName=$scope.groupDetail.groupName;
  277. }
  278. $scope.modal.hide();
  279. };
  280. //更改群组名称
  281. $scope.closeModalAndreSet=function () {
  282. //function()保存群组名称更改
  283. console.log('更改成功');
  284. if($scope.groupDetail.groupNewName!=''){
  285. $scope.groupDetail.groupName=$scope.groupDetail.groupNewName;
  286. }else {
  287. $scope.groupDetail.groupName=$scope.groupDetail.groupName;
  288. }
  289. $scope.modal.hide();
  290. };
  291. //清空搜索内容
  292. $scope.clearSearch = function () {
  293. $scope.groupDetail.groupNewName = "";
  294. $timeout(function () {
  295. $scope.isShowClear = false;
  296. })
  297. };
  298. //是否显示清空按钮
  299. $scope.isShowClear = false;
  300. $scope.showFunc = function () {
  301. $scope.isShowClear = true;
  302. };
  303. });