Skip to content

Commit db48966

Browse files
committed
优化权限与角色管理功能
1 parent 62d7b74 commit db48966

File tree

4 files changed

+29
-14
lines changed

4 files changed

+29
-14
lines changed

src/model/DataModel.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,10 @@ export default class DataModel extends BaseModel{
5454
/**
5555
* 获取所有用户
5656
* @param table_name
57+
* @param data 如 {username: 'zhangsan'}
5758
*/
58-
public getAllUsers = (table_name: string): Promise<AnyObject> => {
59-
return this.request(table_name, 'get_all_users' )
59+
public getAllUsers = (table_name: string, data:AnyObject): Promise<AnyObject> => {
60+
return this.request(table_name, 'get_all_users',{data: data} )
6061
}
6162

6263
/**
@@ -81,9 +82,10 @@ export default class DataModel extends BaseModel{
8182
/**
8283
* 获取所有角色
8384
* @param table_name
85+
* @param data 如 {role_name: '管理员'}
8486
*/
85-
public getAllRoles = (table_name: string): Promise<AnyObject> => {
86-
return this.request(table_name, 'get_all_roles' )
87+
public getAllRoles = (table_name: string, data:AnyObject): Promise<AnyObject> => {
88+
return this.request(table_name, 'get_all_roles',{data: data})
8789
}
8890

8991
/**

src/service/event/AdminEvent.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,9 @@ export default class AdminEvent extends BaseEvent{
7474
this.current_user = selectRow
7575
this.dataService.assign_config.assigned_data = []
7676
this.dataService.assign_config.assign_dlg_title = '设置(' + this.current_user.username + ')角色'
77+
const role_name = this.loginUserInfo != false ? this.loginUserInfo['role'] : '';
7778

78-
this.dataModel.getAllRoles(this.table_name).then((res:AnyObject) => {
79+
this.dataModel.getAllRoles(this.table_name, {role_name: role_name}).then((res:AnyObject) => {
7980
if(res.status == 200 && res.data.code == 0){
8081
res.data.data.forEach((item:AnyObject) => {
8182
item.disabled = false
@@ -128,10 +129,15 @@ export default class AdminEvent extends BaseEvent{
128129
setUserPermission = (selectRow:AnyObject):void => {
129130
this.current_user = selectRow
130131
this.dataService.permission_config.current_user_or_role = this.current_user.username
132+
const username = this.loginUserInfo != false ? this.loginUserInfo['username'] : '';
133+
let login_data = {}
134+
if(username != '' && this.loginUserInfo != false && this.loginUserInfo['role'] != '超级管理员') {
135+
login_data = {
136+
username: username
137+
}
138+
}
131139

132-
this.setPermission({
133-
username: this.current_user.username
134-
}, 'user')
140+
this.setPermission({username: this.current_user.username }, login_data,'user')
135141
}
136142

137143
/**

src/service/event/BaseEvent.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,11 +175,12 @@ export default abstract class BaseEvent{
175175
/**
176176
* 打开设置权限对话框
177177
* @param permission_param 获取已有权限的参数
178+
* @param login_data 当前登录用户信息
178179
* @param permission_type 权限类型 role = 角色, user = 用户
179180
*/
180-
setPermission = (permission_param:AnyObject, permission_type = 'role'):void => {
181+
setPermission = (permission_param:AnyObject, login_data:AnyObject, permission_type = 'role'):void => {
181182
//获取所有权限列表
182-
this.dataModel.getActionList(this.table_name, permission_param).then((res:AnyObject) => {
183+
this.dataModel.getActionList(this.table_name, login_data).then((res:AnyObject) => {
183184
if(res.status == 200 && res.data.code == 0){
184185
this.dataService.permission_config.permission_action_list = res.data.data
185186

src/service/event/RolesEvent.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,15 @@ export default class RolesEvent extends BaseEvent{
6666
setRolePermission = (selectRow:AnyObject):void => {
6767
this.current_role = selectRow
6868
this.dataService.permission_config.current_user_or_role = this.current_role.role_name
69+
let login_data = {}
6970

70-
this.setPermission({
71-
role_name: this.current_role.role_name
72-
})
71+
if(this.current_role.pid > 0) {
72+
login_data = {role_name: this.current_role.role_name}
73+
}else if(this.current_role.pid == 0 && this.loginUserInfo != false && this.loginUserInfo['role'] != '超级管理员'){
74+
login_data = {username: this.loginUserInfo['username']}
75+
}
76+
77+
this.setPermission({role_name: this.current_role.role_name}, login_data)
7378
}
7479

7580
/**
@@ -89,8 +94,9 @@ export default class RolesEvent extends BaseEvent{
8994
this.current_role = selectRow
9095
this.dataService.assign_config.assigned_data = []
9196
this.dataService.assign_config.assign_dlg_title = '设置(' + this.current_role.role_name + ')用户'
97+
const username = this.loginUserInfo != false ? this.loginUserInfo['username'] : '';
9298

93-
this.dataModel.getAllUsers(this.table_name).then((res:AnyObject) => {
99+
this.dataModel.getAllUsers(this.table_name,{username: username}).then((res:AnyObject) => {
94100
if(res.status == 200 && res.data.code == 0){
95101
res.data.data.forEach((item:AnyObject) => {
96102
item.disabled = false

0 commit comments

Comments
 (0)