From 005a33d84ebdb1584ed56df3c8e4700d3a853897 Mon Sep 17 00:00:00 2001 From: luoyang Date: Thu, 25 Oct 2018 15:37:27 +0800 Subject: [PATCH] fix check has role --- src/main/ui/manage.html | 8 +-- src/main/ui/managev2.html | 4 ++ src/main/ui/static/boot/managerMainApp.js | 50 ++++++++++++++++++- src/main/ui/static/boot/managerMainAppv2.js | 40 +++++++++------ src/main/ui/static/config/managers/manager.js | 2 + .../config/managers/templates/modify.html | 4 +- .../managers/templates/new_manager.html | 6 +-- .../templates/org_commission_root.html | 2 +- src/main/ui/static/menu/managerMenu.js | 47 ++++++++++++++++- src/main/ui/static/menu/templates/home.html | 22 ++++---- .../ui/static/menu/templates/main_menu.html | 4 +- 11 files changed, 148 insertions(+), 41 deletions(-) diff --git a/src/main/ui/manage.html b/src/main/ui/manage.html index 3cb91bb07..ffd0b7c2b 100644 --- a/src/main/ui/manage.html +++ b/src/main/ui/manage.html @@ -281,14 +281,14 @@ margin-bottom: 10%;"/> - + 控制台|Dashboard - + 商户管理|Partner Manage @@ -322,7 +322,7 @@ margin-bottom: 10%;"/> - + 交易管理|Transaction @@ -691,7 +691,7 @@ margin-bottom: 10%;"/> - + 合伙人管理 diff --git a/src/main/ui/managev2.html b/src/main/ui/managev2.html index 0348332ff..4fc1108e7 100644 --- a/src/main/ui/managev2.html +++ b/src/main/ui/managev2.html @@ -147,6 +147,7 @@ margin-bottom: 10%;"/> RoyalPay | {{roleNow}} + @@ -157,6 +158,9 @@ margin-bottom: 10%;"/> ng-bind="currentUser.org.name">| {{roleNow}} + + {{x.module}} + Dashboard diff --git a/src/main/ui/static/boot/managerMainApp.js b/src/main/ui/static/boot/managerMainApp.js index 94318c0bf..067b1b66e 100644 --- a/src/main/ui/static/boot/managerMainApp.js +++ b/src/main/ui/static/boot/managerMainApp.js @@ -202,6 +202,48 @@ define(['angular', 'angularSanitize', 'angularAnimate', 'angularMessages', 'uiRo }); } + function hasRole() { + var rolenum; + switch (sessionStorage.getItem('role')) { + case "administrator": + rolenum = 1; + break; + case "bduser": + rolenum = 4; + break; + case "salesmanager": + rolenum = 8192; + break; + case "accountant": + rolenum = 8; + break; + case "sitemanager": + rolenum = 128; + break; + case "director": + rolenum = 64; + break; + case "developer": + rolenum = 256; + break; + case "compliance": + rolenum = 2; + break; + case "riskmanager": + rolenum = 1024; + break; + default: + break; + } + if ((window.currentUser.role & rolenum) >0) { + return true; + }else { + sessionStorage.removeItem('role'); + return false; + } + } + + var getRoleMenulist = function (role) { var roleMenu = []; @@ -238,7 +280,13 @@ define(['angular', 'angularSanitize', 'angularAnimate', 'angularMessages', 'uiRo return roleMenu; }; $scope.role = getRoleMenulist(window.currentUser.role); - sessionStorage.setItem('role',$scope.role[0].value); + + if (sessionStorage.getItem('role') == null) { + sessionStorage.setItem('role',$scope.role[0].value); + }else { + hasRole(); + } + $scope.roleNow = sessionStorage.getItem('role'); $scope.changeRole = function (index) { diff --git a/src/main/ui/static/boot/managerMainAppv2.js b/src/main/ui/static/boot/managerMainAppv2.js index 6e85ab3cb..0b30e7962 100644 --- a/src/main/ui/static/boot/managerMainAppv2.js +++ b/src/main/ui/static/boot/managerMainAppv2.js @@ -6,38 +6,38 @@ define(['angular', 'angularSanitize', 'angularAnimate', 'angularMessages', 'uiRo var app = angular.module('managerMainAppv2', ['ngSanitize', 'ngAnimate', 'ngMessages', 'ui.router', 'ui.bootstrap', 'ngFileUpload']); app.config(['$urlRouterProvider', '$httpProvider', function ($urlRouterProvider, $httpProvider) { - var getRoleMenulist = function (role) { + window.getRoleMenulist = function (role) { var roleMenu = []; if ((role & 1) >0){ - roleMenu.push("administrator"); + roleMenu.push({'value':'administrator','module':'系统配置'}); } if ((role & 2) >0){ - roleMenu.push("compliance"); + roleMenu.push({'value':'compliance','module':'合规中心'}); } if ((role & 4) >0){ - roleMenu.push("bduser"); + roleMenu.push({'value':'bduser','module':"销售中心"}); } if ((role & 8) >0){ - roleMenu.push("accountant"); + roleMenu.push({'value':'accountant','module':"财务中心"}); } if ((role & 64) >0){ - roleMenu.push("director"); + roleMenu.push({'value':'director','module':"领导决策"}); } if ((role & 128) >0){ - roleMenu.push("sitemanager"); + roleMenu.push({'value':'sitemanager','module':"营销中心"}); } if ((role & 256) >0){ - roleMenu.push("developer"); + roleMenu.push({'value':'developer','module':"开发中心"}); } if ((role & 1024) >0){ - roleMenu.push("riskmanager"); + roleMenu.push({'value':'riskmanager','module':"风控中心"}); } if ((role & 2048) >0){ - roleMenu.push("guest"); + roleMenu.push({'value':'guest','module':"guest"}); } if ((role & 8192) >0){ - roleMenu.push("salesmanager"); + roleMenu.push({'value':'salesmanager','module':"销管中心"}); } return roleMenu; }; @@ -46,8 +46,8 @@ define(['angular', 'angularSanitize', 'angularAnimate', 'angularMessages', 'uiRo $urlRouterProvider.otherwise(((window.currentUser.role & parseInt('100000', 2)) > 0) ? '/managers' : '/home'); }else { sessionStorage.setItem('roleNum','1'); - sessionStorage.setItem('role',getRoleMenulist(window.currentUser.role).valueOf()); - $urlRouterProvider.otherwise(((window.currentUser.role & parseInt('100000', 2)) > 0) ? '/managers' : '/menu?role=' + getRoleMenulist(window.currentUser.role).valueOf()); + sessionStorage.setItem('role',getRoleMenulist(window.currentUser.role)[0].value); + $urlRouterProvider.otherwise(((window.currentUser.role & parseInt('100000', 2)) > 0) ? '/managers' : '/menu'); } @@ -61,9 +61,19 @@ define(['angular', 'angularSanitize', 'angularAnimate', 'angularMessages', 'uiRo $httpProvider.defaults.headers.get['Cache-Control'] = 'no-cache'; $httpProvider.defaults.headers.get['Pragma'] = 'no-cache'; }]); - app.controller('managerIndexCtrl', ['$scope', '$rootScope', '$http', '$log', '$timeout', '$interval', '$uibModal', '$filter', 'myLoginLogView', 'commonDialog', - function ($scope, $rootScope, $http, $log, $timeout, $interval, $uibModal, $filter, myLoginLogView, commonDialog) { + app.controller('managerIndexCtrl', ['$scope', '$state','$rootScope', '$http', '$log', '$timeout', '$interval', '$uibModal', '$filter', 'myLoginLogView', 'commonDialog', + function ($scope, $state,$rootScope, $http, $log, $timeout, $interval, $uibModal, $filter, myLoginLogView, commonDialog) { + $scope.rolelist = window.getRoleMenulist(window.currentUser.role); $scope.roleNow = getroleNow(); + $scope.roleName = getroleNow(); + $scope.changeRole = function (index) { + sessionStorage.setItem('role',index); + $scope.roleNow = getroleNow(); + $state.go('listMenu',null,{ + reload:true + }); + }; + if (sessionStorage.getItem('roleNum') =='N'){ if (window.location.hash == "" || window.location.hash == "#/home") { $scope.headerDisplay = false; diff --git a/src/main/ui/static/config/managers/manager.js b/src/main/ui/static/config/managers/manager.js index 1ffaa3ea6..ffea729ac 100644 --- a/src/main/ui/static/config/managers/manager.js +++ b/src/main/ui/static/config/managers/manager.js @@ -131,6 +131,7 @@ define(['angular', 'uiRouter', 'uiBootstrap'], function (angular) { }]); app.controller('newManagerDialogCtrl', ['$scope', '$http', function ($scope, $http) { $scope.params = {}; + $scope.manager = {}; if(($scope.currentUser.role & parseInt('1000000000000', 2)) > 0 && $scope.currentUser.org_id){ var params = angular.copy($scope.params); params.org_id = $scope.currentUser.org_id; @@ -164,6 +165,7 @@ define(['angular', 'uiRouter', 'uiBootstrap'], function (angular) { $scope.manager.org_id = $scope.manager.org_id2; } delete $scope.manager.org_id2; + $http.post('/sys/manager_accounts', $scope.manager).then(function () { $scope.$close(); }, function (resp) { diff --git a/src/main/ui/static/config/managers/templates/modify.html b/src/main/ui/static/config/managers/templates/modify.html index fe043378f..46b4a356a 100644 --- a/src/main/ui/static/config/managers/templates/modify.html +++ b/src/main/ui/static/config/managers/templates/modify.html @@ -98,9 +98,9 @@ BD User - +