Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
yudao-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
hblj
yudao-cloud
Commits
d126b193
提交
d126b193
authored
3月 11, 2019
作者:
sin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
- 优化节点查找
上级
87fa8ba5
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
63 行增加
和
29 行删除
+63
-29
roleList.js
admin-web/src/models/admin/roleList.js
+59
-27
RoleList.js
admin-web/src/pages/Admin/RoleList.js
+4
-2
没有找到文件。
admin-web/src/models/admin/roleList.js
浏览文件 @
d126b193
...
@@ -7,7 +7,6 @@ import {
...
@@ -7,7 +7,6 @@ import {
queryRole
,
queryRole
,
queryRoleResourceTree
,
queryRoleResourceTree
,
roleAssignResource
,
roleAssignResource
,
resourceTree
,
}
from
'../../services/admin'
;
}
from
'../../services/admin'
;
function
buildTreeNode
(
nodes
,
titleKey
,
nodeKey
)
{
function
buildTreeNode
(
nodes
,
titleKey
,
nodeKey
)
{
...
@@ -22,10 +21,57 @@ function buildTreeNode(nodes, titleKey, nodeKey) {
...
@@ -22,10 +21,57 @@ function buildTreeNode(nodes, titleKey, nodeKey) {
});
});
}
}
function
getKeys
(
treeData
)
{
function
findNodes
(
id
,
nodes
)
{
return
treeData
.
map
(
item
=>
{
const
res
=
[];
return
item
.
key
;
for
(
let
i
=
0
;
i
<
nodes
.
length
;
i
+=
1
)
{
});
const
node
=
nodes
[
i
];
if
(
node
.
key
===
id
)
{
res
.
push
(
node
.
key
);
break
;
}
else
{
const
childNodes
=
findNodes
(
id
,
node
.
children
);
if
(
childNodes
.
length
)
{
res
.
push
(
node
.
key
);
for
(
let
j
=
0
;
j
<
childNodes
.
length
;
j
+=
1
)
{
res
.
push
(
childNodes
[
j
]);
}
break
;
}
}
}
return
res
;
}
function
findAllNodes
(
resourceIds
,
nodes
)
{
const
findNodesArray
=
[];
for
(
let
i
=
0
;
i
<
resourceIds
.
length
;
i
+=
1
)
{
const
findNodesData
=
findNodes
(
resourceIds
[
i
],
nodes
);
if
(
findNodesData
)
{
for
(
let
j
=
0
;
j
<
findNodesData
.
length
;
j
+=
1
)
{
const
jD
=
findNodesData
[
j
];
if
(
findNodesArray
.
indexOf
(
jD
)
===
-
1
)
{
findNodesArray
.
push
(
jD
);
}
}
}
}
return
findNodesArray
;
}
function
findCheckedKeys
(
nodes
)
{
let
res
=
[];
for
(
let
i
=
0
;
i
<
nodes
.
length
;
i
+=
1
)
{
const
node
=
nodes
[
i
];
if
(
node
.
children
)
{
const
findChildrenNodes
=
findCheckedKeys
(
node
.
children
);
if
(
findChildrenNodes
)
{
res
=
res
.
concat
(
findChildrenNodes
);
}
}
else
if
(
node
.
assigned
===
true
)
{
res
.
push
(
node
.
id
);
}
}
return
res
;
}
}
export
default
{
export
default
{
...
@@ -38,7 +84,6 @@ export default {
...
@@ -38,7 +84,6 @@ export default {
pageSize
:
10
,
pageSize
:
10
,
roleTreeData
:
[],
roleTreeData
:
[],
resourceTreeData
:
[],
checkedKeys
:
[],
checkedKeys
:
[],
assignModalLoading
:
true
,
assignModalLoading
:
true
,
},
},
...
@@ -99,31 +144,16 @@ export default {
...
@@ -99,31 +144,16 @@ export default {
payload
:
true
,
payload
:
true
,
});
});
const
roleResourceResponse
=
yield
call
(
queryRoleResourceTree
,
payload
);
const
response
=
yield
call
(
queryRoleResourceTree
,
payload
);
const
resourceTreeResponse
=
yield
call
(
resourceTree
);
const
roleResourceTree
=
response
.
data
;
const
roleTreeData
=
buildTreeNode
(
roleResourceTree
,
'displayName'
,
'id'
);
const
roleTreeData
=
buildTreeNode
(
roleResourceResponse
.
data
,
'displayName'
,
'id'
);
const
checkedKeys
=
findCheckedKeys
(
roleResourceTree
);
const
resourceTreeData
=
buildTreeNode
(
resourceTreeResponse
.
data
,
'displayName'
,
'id'
);
const
roleTreeIdKeys
=
getKeys
(
roleTreeData
);
const
resourceTreeIdKeys
=
getKeys
(
resourceTreeData
);
const
checkedKeys
=
roleTreeIdKeys
.
filter
(
roleKey
=>
{
let
res
=
false
;
resourceTreeIdKeys
.
map
(
key
=>
{
if
(
key
===
roleKey
)
{
res
=
true
;
}
return
key
;
});
return
res
;
});
yield
put
({
yield
put
({
type
:
'querySuccess'
,
type
:
'querySuccess'
,
payload
:
{
payload
:
{
checkedKeys
,
checkedKeys
,
roleTreeData
,
roleTreeData
,
resourceTreeData
,
},
},
});
});
...
@@ -133,10 +163,12 @@ export default {
...
@@ -133,10 +163,12 @@ export default {
});
});
},
},
*
roleAssignResource
({
payload
},
{
call
})
{
*
roleAssignResource
({
payload
},
{
call
})
{
const
{
id
,
resourceIds
}
=
payload
;
const
{
id
,
resourceIds
,
roleTreeData
}
=
payload
;
const
assignNodes
=
findAllNodes
(
resourceIds
,
roleTreeData
);
const
params
=
{
const
params
=
{
id
,
id
,
resourceIds
:
arrayToStringParams
(
resourceId
s
),
resourceIds
:
arrayToStringParams
(
assignNode
s
),
};
};
const
response
=
yield
call
(
roleAssignResource
,
params
);
const
response
=
yield
call
(
roleAssignResource
,
params
);
if
(
response
.
code
===
0
)
{
if
(
response
.
code
===
0
)
{
...
...
admin-web/src/pages/Admin/RoleList.js
浏览文件 @
d126b193
...
@@ -100,6 +100,7 @@ const AssignModal = Form.create()(props => {
...
@@ -100,6 +100,7 @@ const AssignModal = Form.create()(props => {
<
Tree
<
Tree
defaultExpandAll
=
{
true
}
defaultExpandAll
=
{
true
}
checkable
=
{
true
}
checkable
=
{
true
}
multiple
=
{
true
}
checkedKeys
=
{
checkedKeys
}
checkedKeys
=
{
checkedKeys
}
onCheck
=
{
handleCheckBoxClick
}
onCheck
=
{
handleCheckBoxClick
}
>
>
...
@@ -212,6 +213,7 @@ class RoleList extends PureComponent {
...
@@ -212,6 +213,7 @@ class RoleList extends PureComponent {
payload
:
{
payload
:
{
id
:
roleAssignRecord
.
id
,
id
:
roleAssignRecord
.
id
,
resourceIds
:
data
.
checkedKeys
,
resourceIds
:
data
.
checkedKeys
,
roleTreeData
:
data
.
roleTreeData
,
},
},
});
});
this
.
handleAssignModalVisibleClose
(
false
);
this
.
handleAssignModalVisibleClose
(
false
);
...
@@ -282,7 +284,7 @@ class RoleList extends PureComponent {
...
@@ -282,7 +284,7 @@ class RoleList extends PureComponent {
render
()
{
render
()
{
const
{
list
,
data
}
=
this
.
props
;
const
{
list
,
data
}
=
this
.
props
;
const
{
pageNo
,
pageSize
,
count
,
r
esourc
eTreeData
,
checkedKeys
,
assignModalLoading
}
=
data
;
const
{
pageNo
,
pageSize
,
count
,
r
ol
eTreeData
,
checkedKeys
,
assignModalLoading
}
=
data
;
const
{
modalVisible
,
modalType
,
initValues
,
roleAssignVisible
}
=
this
.
state
;
const
{
modalVisible
,
modalType
,
initValues
,
roleAssignVisible
}
=
this
.
state
;
const
parentMethods
=
{
const
parentMethods
=
{
...
@@ -350,7 +352,7 @@ class RoleList extends PureComponent {
...
@@ -350,7 +352,7 @@ class RoleList extends PureComponent {
<
CreateForm
{...
parentMethods
}
modalVisible
=
{
modalVisible
}
/
>
<
CreateForm
{...
parentMethods
}
modalVisible
=
{
modalVisible
}
/
>
<
AssignModal
<
AssignModal
loading
=
{
assignModalLoading
}
loading
=
{
assignModalLoading
}
treeData
=
{
r
esourc
eTreeData
}
treeData
=
{
r
ol
eTreeData
}
checkedKeys
=
{
checkedKeys
}
checkedKeys
=
{
checkedKeys
}
handleOk
=
{
this
.
handleAssignOK
}
handleOk
=
{
this
.
handleAssignOK
}
modalVisible
=
{
roleAssignVisible
}
modalVisible
=
{
roleAssignVisible
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论