angular.module('push') .controller('setAuthorityGroupCtrl', function ($scope,$timeout,$stateParams,$ionicScrollDelegate,$ionicModal, UserService, ResourceLibraryService, ConstantService, UtilService, resourceLibraryModel,CommonService) { //TODO // 群组的基本信息 $scope.groupDetail= $stateParams.groupDetail; /*$scope.groupDetail={ groupid:1, groupName:"宝马返利群", memberNum:33, ind:0 // 对应grouplist里的索引值 };*/ // 初始化的成员列表 $scope.mailDatas=[ { userUpper:'A', userlist:[ { username:'AAAA', photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg' }, { username:'AAAssd', photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg' } ] }, { userUpper:'B', userlist:[ { username:'BBBB', photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg' }, { username:'BBBBBasa', photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg' }, { username:'BBBBB2', photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg' }, { username:'BBBBB3', photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg' }, { username:'BBBBB4', photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg' }, { username:'BBBBB5', photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg' }, { username:'BBBBB6', photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg' } ] }, { userUpper:'C', userlist:[ { username:'CCC', photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg' }, { username:'CCCC1', photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg' }, { username:'CCCC2', photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg' }, { username:'CCCC4', photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg' }, { username:'CCCC6', photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg' }, { username:'CCCC9', photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg' }, { username:'CCCC7', photo:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1033090161,2976180698&fm=27&gp=0.jpg' } ] } ]; // 保存时的成员列表 $scope.requestModel= { userid:UserService.id, data:{ id:1, authname:"", userlist:[] } }; // 添加成员的参数:从设置群组界面进入 $scope.sourcefrom = 1; $scope.userlist = []; // 获取群组现有成员 // 权限成员组id $scope.groupid=$scope.groupDetail.groupid; var getAuthorityGroupUserList = function () { ResourceLibraryService.getAuthorityGroupUserList($scope.groupid).then(function (response) { // console.log(response); // 成员列表 $scope.mailDatas = response.data; $timeout(function () { //联系人首字母字母数组 $scope.letters = []; angular.forEach($scope.mailDatas, function (value, ind) { $scope.letters.push(value.userUpper); angular.forEach(value.userlist, function (user, ind) { $scope.userlist.push(user); }); }); $scope.heightAccount=20*($scope.letters.length)+"px"; }, 100); }, function () { }); console.log($scope.userlist); }; // flag:true 才刷新,跳入了 if(resourceLibraryModel.getFlag()){ getAuthorityGroupUserList(); }else{ $scope.groupDetail = resourceLibraryModel.getGroupDetail(); $scope.mailDatas = resourceLibraryModel.getMailDatas(); resourceLibraryModel.setFlag(true); //联系人首字母字母数组 $scope.letters = []; $scope.groupDetail.memberNum = 0; angular.forEach($scope.mailDatas, function (value, ind) { $scope.letters.push(value.userUpper); angular.forEach(value.userlist, function (user, ind) { $scope.userlist.push(user); $scope.groupDetail.memberNum += 1; }); }); $scope.heightAccount=20*($scope.letters.length)+"px"; } // 触摸字母定位至对应联系人 $scope.mTouch = function (event) { var handle=$ionicScrollDelegate.$getByHandle('businessList-handle'); var c = $(this).attr("c"); $scope.hint = c; $scope.showMiddle = true; $timeout(function () { $scope.showMiddle = false; }, 300); var scroll = document.getElementById($scope.hint).offsetTop- handle.getScrollPosition().top; $ionicScrollDelegate.scrollBy(0, scroll, true); var ele = document.getElementsByTagName("ion-content"); ele[0].style.overflow = "auto"; //解决滑动右边的导航字母后,左边不能再滚动的bug,可以试着注释这两句来测试这个问题 }; // 手指从屏幕上离开 隐藏中间显示的字母 $scope.mRelease = function () { $timeout(function () { $scope.showMiddle = false; }, 300); }; //删除成员 $scope.btnDelectItem=function (index,parentIndex,userid) { // console.log('parentIndex:'+parentIndex); // console.log('index:'+index); $scope.mailDatas[parentIndex].userlist.splice(index, 1); $scope.groupDetail.memberNum = $scope.groupDetail.memberNum - 1; angular.forEach($scope.userlist, function (value, ind) { if(value.userid == userid) { $scope.userlist.splice(ind, 1); } }); }; // 返回至谁可以看页面 $scope.gotoSourcePage=function () { // 不刷新页面 resourceLibraryModel.setFlag(false); $scope.goback(); }; //保存群组和成员 $scope.saveAuthorityGroup = function () { saveInfo(); }; // 保存修改后的设置 var saveInfo = function () { // 群组id $scope.requestModel.data.id= $scope.groupDetail.groupid; // 群组名称 $scope.requestModel.data.authname= $scope.groupDetail.groupName; // 群组对应的userlist // 将所有的user加入到列表中,传入后台 if ($scope.mailDatas.length > 0) { for (var i = 0; i < $scope.mailDatas.length; i++ ) { if ($scope.mailDatas[i].userlist.length > 0) { for (var j = 0; j < $scope.mailDatas[i].userlist.length; j++ ) { $scope.requestModel.data.userlist.push($scope.mailDatas[i].userlist[j]); } } } }; ResourceLibraryService.updateAuthorityGroup($scope.requestModel).then(function (response) { // console.log(response); if (response.code == ConstantService.INTERFACE_STATUS_CODE_3350) { // 设置成功 if($scope.app){ UtilService.showMess(ConstantService.INTERFACE_SET_MESSAGE_SUCCESS); }else{ CommonService.showMessage(ConstantService.INTERFACE_SET_MESSAGE_SUCCESS,$scope); } $timeout(function () { // 保存完,model初始化 // resourceLibraryModel.resetResourceLibraryData(); angular.forEach(resourceLibraryModel.getGroupList(), function (value, index) { if (index == $scope.groupDetail.ind) { value.userlist = $scope.userlist; // value.checkBoxEd = true; } }); // 不刷新页面 resourceLibraryModel.setFlag(false); // 设置成功后跳入我的信息 $scope.goback(); }, 500); } else { if($scope.app){ UtilService.showMess(ConstantService.INTERFACE_MESSAGE_ERROR); }else{ CommonService.showMessage(ConstantService.INTERFACE_MESSAGE_ERROR,$scope) } } }, function () { if($scope.app){ UtilService.showMess(ConstantService.INTERFACE_MESSAGE_ERROR); }else{ CommonService.showMessage(ConstantService.INTERFACE_MESSAGE_ERROR,$scope) } }) }; // 添加成员 $scope.addgroupMember=function () { // 现有成员 resourceLibraryModel.setTempUserList($scope.userlist); resourceLibraryModel.setGroupDetail($scope.groupDetail); resourceLibraryModel.setMailDatas($scope.mailDatas); // 来源:设置群组 $scope.go('selectAuthorityMember', {sourcefrom: 1, userlist: resourceLibraryModel.getTempUserList()}); }; //设置群组名称 $ionicModal.fromTemplateUrl('my-modal.html', { scope: $scope, animation: 'slide-in-left' }).then(function(modal) { $scope.modal = modal; }); //打开设置群组名称 $scope.groupDetail.groupNewName=$scope.groupDetail.groupName; $scope.openModal = function() { $scope.groupDetail.groupNewName=$scope.groupDetail.groupName; $scope.isShowClear = true; $scope.modal.show(); }; //不更改群组名称 $scope.closeModalAndNoset = function() { console.log('我不修改'); if($scope.groupDetail.groupNewName!=''){ $scope.groupDetail.groupName=$scope.groupDetail.groupNewName; }else { $scope.groupDetail.groupName=$scope.groupDetail.groupName; } $scope.modal.hide(); }; //更改群组名称 $scope.closeModalAndreSet=function () { //function()保存群组名称更改 console.log('更改成功'); if($scope.groupDetail.groupNewName!=''){ $scope.groupDetail.groupName=$scope.groupDetail.groupNewName; }else { $scope.groupDetail.groupName=$scope.groupDetail.groupName; } $scope.modal.hide(); }; //清空搜索内容 $scope.clearSearch = function () { $scope.groupDetail.groupNewName = ""; $timeout(function () { $scope.isShowClear = false; }) }; //是否显示清空按钮 $scope.isShowClear = false; $scope.showFunc = function () { $scope.isShowClear = true; }; });