userRole.js 7.21 KB
/**
 * Created by cjl on 2018/4/23.
 */
(function () {
    "user strict";

    var userRoleController = function($scope,$modal,$http,$interval,dialogService,railwayService){
        $scope.$emit('navShow', 7);
        $scope.settingShow = 7;
        $scope.vm = {
            account: '',
            totalCount : 0,
            pageNumber : 1,
            pageSize : 10,
            userId : ''
        };
        $scope.getList = function(){
            railwayService.findUserRoleList($scope.vm).success(function(data){
                if (data.errors == null || data.errors.length > 0) {
                    dialogService.tip(data.errors);
                }else{
                    $scope.userRoleList = data.result;
                    $scope.vm.totalCount = data.totalCount;
                }
            })
        };
        $scope.getList();

        $scope.doSearch = function(){
            $scope.vm.pageNumber = 1;
            $scope.getList();
        };
    };

    var assignRoleController = function($scope,$modal,$http,$location,$interval,dialogService,railwayService,toolsService){
        $scope.$emit('navShow', 7);
        $scope.settingShow = 7;

        $scope.vm = {
            id: toolsService.parameter("id", $location.absUrl()),
            account: '',
            name: '',
            permissionId: ''
        };

        // 当前用户权限信息
        $scope.permission = {
            id: '',
            name: ''
        };
        // 所有权限的信息数据
        $scope.allPermission = {};
        // 所有权限信息下拉列表数据
        $scope.allPermissionList = [];
        // 获取所有权限信息
        $scope.fndAllPermissionList = function(){
            var request = {};
            railwayService.getAllPermissionList(request).success(function(data){
                if (data.errors == null || data.errors.length > 0) {
                    dialogService.tip(data.errors);
                }else{
                    $scope.allPermission = data.result;
                    for (var i = 0; i < $scope.allPermission.length; i++) {
                        $scope.allPermissionList.push({
                            "id": $scope.allPermission[i].id,
                            "name": $scope.allPermission[i].name
                        });
                    }
                }
            })
        };
        // 获取所有权限信息
        $scope.fndAllPermissionList();

        // 获取当前用户的信息及权限
        $scope.getUserAndPermission = function(){
            railwayService.findUserAndPermission($scope.vm).success(function(data){
                if (data.errors == null || data.errors.length > 0) {
                    dialogService.tip(data.errors);
                }else{
                    $scope.vm.account = data.user.account;
                    $scope.vm.name = data.user.name;
                    if (data.user.permissionId != null ) {
                        $scope.permission.id = data.user.permissionId;
                        $scope.vm.permissionId = data.user.permissionId;
                        $scope.permission.name = data.user.roleName;
                    }
                }
            })
        };
        // 获取当前用户的信息及权限
        $scope.getUserAndPermission();
        $scope.getPermission = function () {
            $scope.vm.permissionId = $scope.permission.id;
        };

        // 保存
        $scope.doSave = function () {
          // $scope.vm.roleId = $scope.permission.id;
            railwayService.updateUserAndPermission($scope.vm).success(function(data){
                if (data.errors == null || data.errors.length > 0) {
                    dialogService.tip(data.errors);
                }else{
                    dialogService.tip([{message: "更新成功"}],"/admin/userRole/index.htm",1000);
                    $modalInstance.close();
                }
            })
        };

    };

    var permissionImportController = function($scope, $http, $modal, railwayService, dialogService){
        $scope.$emit('navShow', 7);
        $scope.settingShow = 7;

        $scope.errorOpen = function (errors, url) {
            $scope.result = {};
            $scope.result.errors = errors;
            $scope.result.url = url;
            var modalInstance = $modal.open({
                templateUrl: "errors.html",
                controller: ErrorController,
                resolve: {
                    items: function () {
                        return $scope.result;
                    }
                }
            });
            modalInstance.result.then(function () {
            }, function () {
            });
        };

        $scope.doImport = function () {
            var file = document.getElementById("upImportFileId").files[0];
            if (!file) {
                dialogService.tip([{"message": "请上传文件!"}]);
                return;
            }
            railwayService.importUserRecommendPermission(file).success(function (data) {
                if (!data.url){
                    if (data.errors === null || data.errors.length > 0) {
                        dialogService.tip([{message: data.errors[0].message}]);
                        // $scope.errorOpen(errors, data.url);
                    } else {
                        dialogService.tip([{message: "导入成功!"}],"/admin/userRole/index.htm",1000);
                        $modalInstance.close();
                    }
                } else {
                    if (data.errors === null || data.errors.length > 0) {
                        if (data.errors.length > 10) {
                            data.errors = data.errors.slice(0, 9);
                        }
                        $scope.errorOpen(data.errors, data.url);
                    }
                }
            });
        };

        $scope.downloadTemplate = function () {
            railwayService.permissionOutputTemplate().success(function (data) {
                if (data.errors == null || data.errors.length > 0) {
                    $scope.errorOpen(data.errors, data.url);
                } else {
                    window.open(data.url, "_self");
                }
            });
        };
    };

    var ErrorController = ["$scope", "$modalInstance", "items",
        function ($scope, $modalInstance, items) {
            $scope.errors = items.errors;
            $scope.download = function () {
                $scope.url = items.url;
                window.open($scope.url, "_self");
                $modalInstance.dismiss('cancel');
                window.location = "/admin/userRole/import.htm";
            };
            $scope.cancel = function () {
                $modalInstance.dismiss('cancel');
                window.location = "/admin/userRole/import.htm";
            };
        }];

    angular.module("xn.page", ["xn.directive.form"])
        .controller("UserRoleController",["$scope","$modal","$http","$interval","dialogService","RailwayService",userRoleController])
        .controller("AssignRoleController",["$scope","$modal","$http","$location","$interval","dialogService","RailwayService","toolsService",assignRoleController])
        .controller("PermissionImportController",["$scope", "$http", "$modal", "RailwayService", "dialogService",permissionImportController])
})();