feat(20241226-fieldpermission): 优化列权限逻辑
1、后端优化,当多个角色的时候,合并列权限配置 2、前端优化,有多级表头时,列权限设置无效的bug
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import XEUtils from 'xe-utils';
|
||||
import {useColumnPermission} from '/@/stores/columnPermission';
|
||||
|
||||
type permissionType = 'is_create' | 'is_query' | 'is_update';
|
||||
@@ -23,25 +24,17 @@ export const handleColumnPermission = async (func: Function, crudOptions: any,ex
|
||||
}
|
||||
const columns = crudOptions.columns;
|
||||
const excludeColumns = ['checked','_index','id', 'create_datetime', 'update_datetime'].concat(excludeColumn)
|
||||
for (let col in columns) {
|
||||
for (let item of res.data) {
|
||||
if (excludeColumns.includes(item.field_name)) {
|
||||
continue
|
||||
} else if(item.field_name === col) {
|
||||
// 如果列表不可见,则禁止在列设置中选择
|
||||
// 只有列表不可见,才修改列配置,这样才不影响默认的配置
|
||||
if(!item['is_query']){
|
||||
columns[col].column.show = false
|
||||
columns[col].column.columnSetDisabled = true
|
||||
}
|
||||
columns[col].addForm = {
|
||||
show: item['is_create']
|
||||
}
|
||||
columns[col].editForm = {
|
||||
show: item['is_update']
|
||||
}
|
||||
XEUtils.eachTree(columns, (item, key) => {
|
||||
if (!excludeColumns.includes(String(key)) && key in res.data) {
|
||||
// 如果列表不可见,则禁止在列设置中选择
|
||||
// 只有列表不可见,才修改列配置,这样才不影响默认的配置
|
||||
if (!res.data[key]['is_query']) {
|
||||
item.column.show = false;
|
||||
item.column.columnSetDisabled = true;
|
||||
}
|
||||
item.addForm = { show: res.data[key]['is_create'] };
|
||||
item.editForm = { show: res.data[key]['is_update'] };
|
||||
}
|
||||
}
|
||||
});
|
||||
return crudOptions
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user