Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DiDi
kafka-manager
提交
66f3bc61
K
kafka-manager
项目概览
DiDi
/
kafka-manager
10 个月 前同步成功
通知
58
Star
6372
Fork
1229
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kafka-manager
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
66f3bc61
编写于
9月 13, 2022
作者:
G
GraceWalk
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: 创建/编辑角色优化
上级
4efe35dd
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
33 addition
and
10 deletion
+33
-10
km-console/packages/config-manager-fe/src/pages/UserManage/CheckboxGroupContainer.tsx
...anager-fe/src/pages/UserManage/CheckboxGroupContainer.tsx
+2
-2
km-console/packages/config-manager-fe/src/pages/UserManage/RoleTabContent.tsx
...config-manager-fe/src/pages/UserManage/RoleTabContent.tsx
+30
-8
km-console/packages/config-manager-fe/src/pages/UserManage/config.ts
...packages/config-manager-fe/src/pages/UserManage/config.ts
+1
-0
未找到文件。
km-console/packages/config-manager-fe/src/pages/UserManage/CheckboxGroupContainer.tsx
浏览文件 @
66f3bc61
...
...
@@ -73,12 +73,12 @@ const CheckboxGroupContainer = (props: CheckboxGroupType) => {
</
Checkbox
>
</
div
>
<
Checkbox
.
Group
disabled
=
{
disabled
}
style
=
{
{
width
:
'
100%
'
}
}
value
=
{
checkedList
}
onChange
=
{
onCheckedChange
}
>
<
Row
gutter
=
{
[
34
,
10
]
}
>
<
Row
gutter
=
{
[
10
,
10
]
}
>
{
options
.
map
((
option
)
=>
{
return
(
<
Col
span
=
{
8
}
key
=
{
option
.
value
}
>
<
Checkbox
value
=
{
option
.
value
}
className
=
"checkbox-content-ellipsis"
>
{
option
.
label
}
{
option
.
label
.
replace
(
'
Cluster-Load
'
,
''
)
}
</
Checkbox
>
</
Col
>
);
...
...
km-console/packages/config-manager-fe/src/pages/UserManage/RoleTabContent.tsx
浏览文件 @
66f3bc61
...
...
@@ -20,7 +20,7 @@ import {
IconFont
,
}
from
'
knowdesign
'
;
import
moment
from
'
moment
'
;
import
{
CloseOutlined
,
LoadingOutlined
,
PlusOutlined
}
from
'
@ant-design/icons
'
;
import
{
LoadingOutlined
,
PlusOutlined
}
from
'
@ant-design/icons
'
;
import
{
defaultPagination
}
from
'
constants/common
'
;
import
{
RoleProps
,
PermissionNode
,
AssignUser
,
RoleOperate
,
FormItemPermission
}
from
'
./config
'
;
import
api
from
'
api
'
;
...
...
@@ -50,11 +50,21 @@ const RoleDetailAndUpdate = forwardRef((props, ref): JSX.Element => {
useEffect
(()
=>
{
const
globalPermissions
=
global
.
permissions
;
if
(
globalPermissions
&&
globalPermissions
.
length
)
{
const
sysPermissions
=
globalPermissions
.
map
((
sys
:
PermissionNode
)
=>
({
id
:
sys
.
id
,
name
:
sys
.
permissionName
,
options
:
sys
.
childList
.
map
((
node
)
=>
({
label
:
node
.
permissionName
,
value
:
node
.
id
})),
}));
const
sysPermissions
=
globalPermissions
.
map
((
sys
:
PermissionNode
)
=>
{
const
result
=
{
id
:
sys
.
id
,
name
:
sys
.
permissionName
,
essentialPermission
:
undefined
,
options
:
[],
};
result
.
options
=
sys
.
childList
.
map
((
node
)
=>
{
if
(
node
.
permissionName
===
'
多集群管理查看
'
||
node
.
permissionName
===
'
系统管理查看
'
)
{
result
.
essentialPermission
=
{
label
:
node
.
permissionName
,
value
:
node
.
id
};
}
return
{
label
:
node
.
permissionName
,
value
:
node
.
id
};
});
return
result
;
});
setPermissions
(
sysPermissions
);
}
},
[
global
]);
...
...
@@ -77,10 +87,12 @@ const RoleDetailAndUpdate = forwardRef((props, ref): JSX.Element => {
const
onSubmit
=
()
=>
{
form
.
validateFields
().
then
((
formData
)
=>
{
formData
.
permissionIdList
=
formData
.
permissionIdList
.
filter
((
l
)
=>
l
);
formData
.
permissionIdList
.
forEach
((
arr
,
i
)
=>
{
// 如果分配的系统下的子权限,自动赋予该系统的权限
if
(
arr
!==
null
&&
arr
.
length
)
{
if
(
!
Array
.
isArray
(
arr
))
{
arr
=
[];
}
if
(
arr
?.
length
)
{
arr
.
push
(
permissions
[
i
].
id
);
}
});
...
...
@@ -210,10 +222,20 @@ const RoleDetailAndUpdate = forwardRef((props, ref): JSX.Element => {
<
Form
.
Item
label
=
"分配权限"
name
=
"permissionIdList"
required
rules
=
{
[
()
=>
({
validator
(
_
,
value
)
{
if
(
Array
.
isArray
(
value
)
&&
value
.
some
((
item
)
=>
!!
item
?.
length
))
{
const
errs
=
[];
value
.
forEach
((
arr
,
i
)
=>
{
if
(
arr
?.
length
&&
!
arr
.
includes
(
permissions
[
i
].
essentialPermission
.
value
))
{
errs
.
push
(
`[
${
permissions
[
i
].
essentialPermission
.
label
}
]`
);
}
});
if
(
errs
.
length
)
{
return
Promise
.
reject
(
`您必须分配
${
errs
.
join
(
'
和
'
)}
权限`
);
}
return
Promise
.
resolve
();
}
return
Promise
.
reject
(
new
Error
(
'
请为角色至少分配一项权限
'
));
...
...
km-console/packages/config-manager-fe/src/pages/UserManage/config.ts
浏览文件 @
66f3bc61
...
...
@@ -59,5 +59,6 @@ export enum RoleOperate {
export
interface
FormItemPermission
{
id
:
number
;
name
:
string
;
essentialPermission
:
{
label
:
string
;
value
:
number
};
options
:
{
label
:
string
;
value
:
number
}[];
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录