angular.module('push') .controller('authorityCreateCtrl', function ($scope, $stateParams, AuthorityService, AuthorityModel, UtilService, $timeout, $ionicPopup, UserService, LocalOperateService, ConfigService, SqliteStorageService) { //TODO if($scope.app){ $scope.setStatusBar(0); } var text = document.getElementById("authorityCreate_textarea"); autoTextarea(text);// 调用 var localparentid = $stateParams.localparentid; var parentid = $stateParams.parentid; var level = $stateParams.level + 1; var authorityid = $stateParams.authorityid; var authoritycomefrom = $stateParams.authoritycomefrom; // 文件夹模板:1对接宝 2走企业 var templettype = $stateParams.templettype; console.log("templettype:" + templettype); $scope.memberlist = [];//成员列表 var tempobj = { userId: UserService.id, userName: UserService.user.user.userName, photo: UserService.user.user.photo, iscreator: 1, comefrom: ConfigService.comefrom }; //获取权限信息 var getAuthorityInfomation = function () { AuthorityService.getAuthorityInfomation(authorityid, authoritycomefrom).then(function (response) { // console.log(response); if (angular.isDefined(response.userList)) { angular.forEach(response.userList, function (value, index) { if (value.iscreator == 3) { $scope.memberlist.push(value); } }); $scope.memberlist.push(tempobj); angular.forEach(response.userList, function (value, index) { if (value.iscreator != 3 && value.userId != UserService.id) { value.iscreator = 0; $scope.memberlist.push(value); } }); } }, function () { UtilService.showMess("网络不给力,请重试"); }) }; //恢复临时数据 if (AuthorityModel.isfirst == 0) { $scope.tempfolder = { name: "", content: "", checked: false }; if (level != 0 && parentid != 0) { getAuthorityInfomation(); } else { $scope.memberlist.push(tempobj); } $scope.adminlist = []; $scope.identity = 1; $scope.ownername = UserService.user.user.userName; } else { $scope.tempfolder = { name: AuthorityModel.getReclibName(), content: AuthorityModel.getContent(), checked: AuthorityModel.getToggle() }; $scope.memberlist = AuthorityModel.getMemberList(); $scope.adminlist = AuthorityModel.getAdminList(); $scope.ownername = AuthorityModel.getOwnerName(); } //新建权限(文件夹) var crfoflg = 0; $scope.newCreateFolder = function () { if (!UtilService.isDefined($scope.tempfolder.name)) { UtilService.showMess("文件夹名称不能为空"); return; } if (crfoflg != 0) { return; } crfoflg = 1; $scope.showLoadingToast(); if (level == 0 && (UtilService.checkNetWork() == 'None' || $scope.memberlist.length < 2)) { createFolder(); return; } if (localparentid != "0") { createFolder(); return; } if (UserService.viplevel == 1) { AuthorityService.isHasEnoughCount(2).then(function (response) { if (response.isHasEnoughCount == 1) { tempCreaterFolder(); } else { UtilService.showMess("本月新建云文件夹次数已用完"); $scope.hideLoadingToast(); crfoflg = 0; } }, function () { UtilService.showMess("网络不给力,请重试"); $scope.hideLoadingToast(); crfoflg = 0; }); } else { tempCreaterFolder(); } }; var tempCreaterFolder = function () { var list1 = []; var list2 = []; var superadminlist = []; var ownerid = ""; angular.forEach($scope.memberlist, function (value, index) { if (value.iscreator == 0) { list1.push(value.userId); } else if (value.iscreator == 1) { ownerid = value.userId; } else if (value.iscreator == 3) { superadminlist.push(value.userId); } else { list2.push(value.userId); } }); AuthorityService.newCreateFolder($scope.tempfolder, list1, list2, superadminlist, ownerid, parentid, level, templettype).then(function (response) { // console.log(response); if (UserService.viplevel == 1) { $scope.deductUserMemberCount(2); } UtilService.showMess("新建成功"); $timeout(function () { AuthorityModel.resetAuthorityData(); AuthorityModel.isfirst = 0; $scope.goback(); crfoflg = 0; }, 1000); $scope.hideLoadingToast(); }, function () { crfoflg = 0; UtilService.showMess("网络不给力,请重试"); $scope.hideLoadingToast(); }) }; //保存临时数据 var saveTempData = function () { AuthorityModel.setReclibName($scope.tempfolder.name); AuthorityModel.setContent($scope.tempfolder.content); AuthorityModel.setMemberList($scope.memberlist); AuthorityModel.setAdminList($scope.adminlist); AuthorityModel.setOwnerName($scope.ownername); AuthorityModel.setIdentity($scope.identity); AuthorityModel.setToggle($scope.tempfolder.checked); AuthorityModel.isfirst = 1; }; //跳转至添加成员页面 $scope.addResourceMember = function () { saveTempData(); $scope.go("addMember"); }; //跳转至设置管理员页面 $scope.goSetManger = function () { if ($scope.memberlist.length > 1) { saveTempData(); $scope.go("authoritySetManger"); } }; //跳转至设置所有者页面 $scope.goSetOwner = function () { if ($scope.memberlist.length > 1) { saveTempData(); $scope.go("authoritySetOwner"); } }; //跳转到成员页面 $scope.goResourceMember = function () { saveTempData(); $scope.go("authorityFolderMember"); }; $scope.goPublisher = function (member) { saveTempData(); $scope.go('publisher', {Id: member.userId}) }; /*=============================新建本地文件夹=====================================*/ var createFolder = function () { $scope.showLoadingToast(); LocalOperateService.createLocalFolder($scope.tempfolder, localparentid, parentid, level).then(function (response) { UtilService.showMess("新建成功"); $timeout(function () { AuthorityModel.resetAuthorityData(); AuthorityModel.isfirst = 0; ConfigService.isedit = 1; SqliteStorageService.updateEditFlg(1); $scope.goback(); crfoflg = 0; }, 1000); $scope.hideLoadingToast(); }, function () { crfoflg = 0; $scope.hideLoadingToast(); }); }; });