Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
CivWeb
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ReactWeb5
CivWeb
Commits
b02f3882
Commit
b02f3882
authored
Nov 06, 2024
by
周宏民
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
pref: 优化集成登录角色选择
parent
5bb3fe38
Pipeline
#93685
passed with stages
Changes
5
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
222 additions
and
178 deletions
+222
-178
base.js
src/api/service/base.js
+7
-0
AddModal.js
src/pages/integratedLogin/components/AddModal.js
+34
-14
index.js
src/pages/integratedLogin/components/RolePmSite/index.js
+63
-83
index.less
src/pages/integratedLogin/components/RolePmSite/index.less
+92
-80
index.js
src/pages/integratedLogin/index.js
+26
-1
No files found.
src/api/service/base.js
View file @
b02f3882
...
@@ -64,6 +64,8 @@ export const API = {
...
@@ -64,6 +64,8 @@ export const API = {
GET_CONFIG_FILE_JSON
:
'/PandaCore/GCK/FileCenter/ConfigJSON'
,
// 获取配置文件
GET_CONFIG_FILE_JSON
:
'/PandaCore/GCK/FileCenter/ConfigJSON'
,
// 获取配置文件
GET_CONFIG_FILE_LIST
:
'/PandaOMS/OMS/FileCenter/GetFileUrls'
,
// 获取用户上传
GET_CONFIG_FILE_LIST
:
'/PandaOMS/OMS/FileCenter/GetFileUrls'
,
// 获取用户上传
EnableIntegrationConfig
:
'/PandaCore/GCK/IntegrationAuth/EnableIntegrationConfig'
,
// 开启或关闭集成登录
EnableIntegrationConfig
:
'/PandaCore/GCK/IntegrationAuth/EnableIntegrationConfig'
,
// 开启或关闭集成登录
getWebModuleTree
:
'/PandaOMS/OMS/PlatformCenter/WebModuleTree'
,
// 获取所有网站
};
};
const
services
=
{
const
services
=
{
...
@@ -331,6 +333,11 @@ const services = {
...
@@ -331,6 +333,11 @@ const services = {
method
:
constants
.
REQUEST_METHOD_GET
,
method
:
constants
.
REQUEST_METHOD_GET
,
type
:
constants
.
REQUEST_HTTP
,
type
:
constants
.
REQUEST_HTTP
,
},
},
getWebModuleTree
:
{
url
:
API
.
getWebModuleTree
,
method
:
constants
.
REQUEST_METHOD_GET
,
type
:
constants
.
REQUEST_HTTP
,
},
};
};
export
const
searchAutoCity
=
keywords
=>
{
export
const
searchAutoCity
=
keywords
=>
{
...
...
src/pages/integratedLogin/components/AddModal.js
View file @
b02f3882
...
@@ -16,6 +16,8 @@ import {
...
@@ -16,6 +16,8 @@ import {
Switch
,
Switch
,
Tooltip
,
Tooltip
,
}
from
'antd'
;
}
from
'antd'
;
import
{
cloneDeep
}
from
'lodash'
;
import
{
PlusOutlined
,
LoadingOutlined
,
RedoOutlined
,
InfoCircleOutlined
}
from
'@ant-design/icons'
;
import
{
PlusOutlined
,
LoadingOutlined
,
RedoOutlined
,
InfoCircleOutlined
}
from
'@ant-design/icons'
;
import
CryptoJS
from
'crypto-js'
;
import
CryptoJS
from
'crypto-js'
;
import
{
getImageUrl
}
from
'@/utils/utils'
;
import
{
getImageUrl
}
from
'@/utils/utils'
;
...
@@ -28,7 +30,17 @@ const { Item } = Form;
...
@@ -28,7 +30,17 @@ const { Item } = Form;
const
{
TextArea
}
=
Input
;
const
{
TextArea
}
=
Input
;
const
AddModal
=
props
=>
{
const
AddModal
=
props
=>
{
const
{
callBackSubmit
=
()
=>
{},
type
,
pickItem
,
visible
,
onCancel
,
keepSystemName
,
groupList
,
targetType
}
=
props
;
const
{
callBackSubmit
=
()
=>
{},
type
,
pickItem
,
visible
,
onCancel
,
keepSystemName
,
groupList
,
targetType
,
roleList
,
}
=
props
;
const
[
loading
,
setLoading
]
=
useState
(
false
);
const
[
loading
,
setLoading
]
=
useState
(
false
);
const
[
form
]
=
Form
.
useForm
();
const
[
form
]
=
Form
.
useForm
();
const
subTypes
=
Form
.
useWatch
(
'subType'
,
form
);
const
subTypes
=
Form
.
useWatch
(
'subType'
,
form
);
...
@@ -50,8 +62,9 @@ const AddModal = props => {
...
@@ -50,8 +62,9 @@ const AddModal = props => {
const
{
Option
}
=
Select
;
const
{
Option
}
=
Select
;
const
pickFiled1
=
fileds
=>
{
const
pickFiled1
=
fileds
=>
{
if
(
form
.
getFieldValue
(
fileds
))
{
const
filed
=
form
.
getFieldValue
(
fileds
);
setCheckedList1
(
form
.
getFieldValue
(
fileds
).
split
(
','
));
if
(
filed
)
{
setCheckedList1
(
filed
.
split
(
','
));
setPick
(
fileds
);
setPick
(
fileds
);
setIsVisibleRoles
(
true
);
setIsVisibleRoles
(
true
);
}
else
{
}
else
{
...
@@ -63,7 +76,8 @@ const AddModal = props => {
...
@@ -63,7 +76,8 @@ const AddModal = props => {
const
groupArr
=
(
initialArr
,
name
)
=>
{
const
groupArr
=
(
initialArr
,
name
)
=>
{
const
list
=
{};
const
list
=
{};
initialArr
.
data
.
map
(
i
=>
{
if
(
!
Array
.
isArray
(
initialArr
))
return
list
;
initialArr
.
map
(
i
=>
{
const
ar
=
[];
const
ar
=
[];
i
.
root
.
map
(
j
=>
{
i
.
root
.
map
(
j
=>
{
const
ss
=
{};
const
ss
=
{};
...
@@ -303,26 +317,28 @@ const AddModal = props => {
...
@@ -303,26 +317,28 @@ const AddModal = props => {
}
}
});
});
};
};
const
getRole
=
()
=>
{
const
getRole
=
async
()
=>
{
appService
.
LoadDepartmentAndRole
().
then
(
res
=>
{
let
mData
=
cloneDeep
(
roleList
);
if
(
res
.
code
===
0
)
{
if
(
!
mData
)
{
setKeepFiled
(
groupArr
(
res
.
data
,
'groupType'
));
const
res
=
await
appService
.
LoadDepartmentAndRole
();
const
aa
=
groupArr
(
res
.
data
,
'groupType'
);
mData
=
res
.
data
?.
data
||
[];
}
setKeepFiled
(
groupArr
(
mData
,
'groupType'
));
const
aa
=
groupArr
(
mData
,
'groupType'
);
if
(
type
===
'edit'
&&
pickItem
.
roles
)
{
if
(
type
===
'edit'
&&
pickItem
.
roles
)
{
const
data
=
pickItem
.
roles
.
split
(
','
);
const
data
=
pickItem
.
roles
.
split
(
','
);
const
newData
=
[];
const
newData
=
[];
data
.
forEach
(
item
=>
{
data
.
forEach
(
item
=>
{
if
(
aa
[
'角色'
])
{
const
list
=
aa
.
角色
.
find
(
i
=>
i
.
value
===
item
);
const
list
=
aa
.
角色
.
find
(
i
=>
i
.
value
===
item
);
if
(
list
)
newData
.
push
(
list
.
label
);
if
(
list
)
newData
.
push
(
list
.
label
);
});
form
.
setFieldsValue
({
roles
:
newData
.
toString
()
});
}
}
}
});
});
form
&&
form
.
setFieldsValue
({
roles
:
newData
.
join
(
','
)
});
}
};
};
useEffect
(()
=>
{
useEffect
(()
=>
{
if
(
visible
)
{
if
(
visible
)
{
getRole
();
if
(
type
===
'edit'
)
{
if
(
type
===
'edit'
)
{
const
{
const
{
paramName
,
paramName
,
...
@@ -347,7 +363,7 @@ const AddModal = props => {
...
@@ -347,7 +363,7 @@ const AddModal = props => {
subType
,
subType
,
name
,
name
,
icon
,
icon
,
roles
:
roles
?
roles
.
split
(
','
)
:
null
,
roles
:
roles
||
''
,
appKey
,
appKey
,
appSecret
,
appSecret
,
whiteList
,
whiteList
,
...
@@ -358,6 +374,9 @@ const AddModal = props => {
...
@@ -358,6 +374,9 @@ const AddModal = props => {
});
});
setImageUrl
(
icon
||
''
);
setImageUrl
(
icon
||
''
);
setImageBgUrl
(
backgroundImage
||
''
);
setImageBgUrl
(
backgroundImage
||
''
);
setTimeout
(()
=>
{
getRole
();
},
0
);
}
else
{
}
else
{
form
.
setFieldsValue
({
form
.
setFieldsValue
({
paramValue
:
''
,
paramValue
:
''
,
...
@@ -695,6 +714,7 @@ const AddModal = props => {
...
@@ -695,6 +714,7 @@ const AddModal = props => {
chooseGroupName
=
{
chooseGroupName
}
// 可选分组名
chooseGroupName
=
{
chooseGroupName
}
// 可选分组名
keepFiled
=
{
keepFiled
}
keepFiled
=
{
keepFiled
}
dataType
=
"name"
dataType
=
"name"
allData
=
{
roleList
}
/
>
/
>
<
/Modal
>
<
/Modal
>
);
);
...
...
src/pages/integratedLogin/components/RolePmSite/index.js
View file @
b02f3882
import
React
,
{
useState
,
useEffect
,
useRef
,
useCallback
}
from
'react'
;
/* eslint-disable no-use-before-define */
/* eslint-disable eqeqeq */
import
React
,
{
useState
,
useEffect
,
useRef
}
from
'react'
;
import
{
Modal
,
Checkbox
,
Tabs
,
Input
,
Button
,
Pagination
,
Empty
,
Tag
,
Divider
,
Radio
}
from
'antd'
;
import
{
Modal
,
Checkbox
,
Tabs
,
Input
,
Button
,
Pagination
,
Empty
,
Tag
,
Divider
,
Radio
}
from
'antd'
;
import
{
appService
}
from
'@/api'
;
import
{
appService
}
from
'@/api'
;
import
{
cloneDeep
}
from
'lodash'
;
import
styles
from
'./index.less'
;
import
styles
from
'./index.less'
;
const
CheckboxGroup
=
Checkbox
.
Group
;
const
CheckboxGroup
=
Checkbox
.
Group
;
const
{
TabPane
}
=
Tabs
;
const
{
TabPane
}
=
Tabs
;
...
@@ -15,6 +18,7 @@ const RMSComponents = props => {
...
@@ -15,6 +18,7 @@ const RMSComponents = props => {
chooseGroupName
,
chooseGroupName
,
dataType
,
dataType
,
isRadio
,
isRadio
,
allData
,
}
=
props
;
}
=
props
;
const
[
checkedList
,
setCheckedList
]
=
useState
([]);
// 选中复选框内容
const
[
checkedList
,
setCheckedList
]
=
useState
([]);
// 选中复选框内容
const
[
searchWord
,
setSearchWord
]
=
useState
(
''
);
// 关键字
const
[
searchWord
,
setSearchWord
]
=
useState
(
''
);
// 关键字
...
@@ -67,14 +71,14 @@ const RMSComponents = props => {
...
@@ -67,14 +71,14 @@ const RMSComponents = props => {
setKeyValue
(
'0'
);
setKeyValue
(
'0'
);
setSearchWord
(
''
);
setSearchWord
(
''
);
};
};
const
init
=
async
()
=>
{
useEffect
(()
=>
{
if
(
visible
)
{
if
(
visible
)
{
appService
.
LoadDepartmentAndRole
().
then
(
res
=>
{
let
mData
=
cloneDeep
(
allData
);
if
(
res
.
msg
===
'Ok'
)
{
if
(
!
mData
)
{
// setFiled1(formateArrDataA1(res.data, 'groupType'));
const
res
=
await
appService
.
LoadDepartmentAndRole
();
mData
=
res
.
data
?.
data
||
[];
keepFiled
.
current
=
groupArr
(
res
.
data
,
'groupType'
);
}
keepFiled
.
current
=
groupArr
(
mData
,
'groupType'
);
if
(
groupName
==
'角色'
)
{
if
(
groupName
==
'角色'
)
{
setKeyValue
(
'0'
);
setKeyValue
(
'0'
);
setKeepTabKey
(
0
);
setKeepTabKey
(
0
);
...
@@ -85,12 +89,13 @@ const RMSComponents = props => {
...
@@ -85,12 +89,13 @@ const RMSComponents = props => {
setKeyValue
(
'2'
);
setKeyValue
(
'2'
);
setKeepTabKey
(
2
);
setKeepTabKey
(
2
);
}
}
getRoles
(
groupName
,
''
,
pageSize
,
1
,
0
);
const
checkArr
=
[];
const
checkArr
=
[];
// 角色
// 角色
const
listdata
=
[];
const
listdata
=
[];
const
listId
=
[];
const
listId
=
[];
newCheckedList
.
map
(
checkItem
=>
{
newCheckedList
.
map
(
checkItem
=>
{
keepFiled
.
current
[
'角色'
]
&&
keepFiled
.
current
[
'角色'
].
map
(
i
=>
{
keepFiled
.
current
[
'角色'
].
map
(
i
=>
{
const
canSave
=
dataType
===
'name'
?
i
.
label
==
checkItem
:
i
.
value
==
checkItem
;
const
canSave
=
dataType
===
'name'
?
i
.
label
==
checkItem
:
i
.
value
==
checkItem
;
if
(
canSave
)
{
if
(
canSave
)
{
...
@@ -114,6 +119,7 @@ const RMSComponents = props => {
...
@@ -114,6 +119,7 @@ const RMSComponents = props => {
const
pmdata
=
[];
const
pmdata
=
[];
const
pmId
=
[];
const
pmId
=
[];
newCheckedList
.
map
(
checkItem
=>
{
newCheckedList
.
map
(
checkItem
=>
{
keepFiled
.
current
[
'部门'
]
&&
keepFiled
.
current
[
'部门'
].
map
(
i
=>
{
keepFiled
.
current
[
'部门'
].
map
(
i
=>
{
const
canSave
=
dataType
===
'name'
?
i
.
label
==
checkItem
:
i
.
value
==
checkItem
;
const
canSave
=
dataType
===
'name'
?
i
.
label
==
checkItem
:
i
.
value
==
checkItem
;
if
(
canSave
)
{
if
(
canSave
)
{
...
@@ -137,6 +143,7 @@ const RMSComponents = props => {
...
@@ -137,6 +143,7 @@ const RMSComponents = props => {
const
sitedata
=
[];
const
sitedata
=
[];
const
siteId
=
[];
const
siteId
=
[];
newCheckedList
.
map
(
checkItem
=>
{
newCheckedList
.
map
(
checkItem
=>
{
keepFiled
.
current
[
'站点'
]
&&
keepFiled
.
current
[
'站点'
].
map
(
i
=>
{
keepFiled
.
current
[
'站点'
].
map
(
i
=>
{
const
canSave
=
dataType
===
'name'
?
i
.
label
==
checkItem
:
i
.
value
==
checkItem
;
const
canSave
=
dataType
===
'name'
?
i
.
label
==
checkItem
:
i
.
value
==
checkItem
;
if
(
canSave
)
{
if
(
canSave
)
{
...
@@ -161,8 +168,7 @@ const RMSComponents = props => {
...
@@ -161,8 +168,7 @@ const RMSComponents = props => {
}
}
setSaveCheckValue
(
checkArr
);
setSaveCheckValue
(
checkArr
);
setCheckedList
(
checkArr
);
setCheckedList
(
checkArr
);
}
getRoles
(
groupName
,
''
,
pageSize
,
1
,
0
,
checkArr
);
});
}
else
{
}
else
{
setSelected
(
new
Map
());
setSelected
(
new
Map
());
setPageSize
(
45
);
setPageSize
(
45
);
...
@@ -173,6 +179,9 @@ const RMSComponents = props => {
...
@@ -173,6 +179,9 @@ const RMSComponents = props => {
setRadioValue
();
setRadioValue
();
setOptionValue
([]);
setOptionValue
([]);
}
}
};
useEffect
(()
=>
{
init
();
},
[
visible
]);
},
[
visible
]);
const
submitSearchUser
=
()
=>
{
const
submitSearchUser
=
()
=>
{
...
@@ -192,40 +201,29 @@ const RMSComponents = props => {
...
@@ -192,40 +201,29 @@ const RMSComponents = props => {
setSearchWord
(
e
.
target
.
value
);
setSearchWord
(
e
.
target
.
value
);
};
};
// 监听分页
// 搜索时获取数据
const
paginationChange
=
(
page
,
pageSizes
)
=>
{
const
sreachRoles
=
async
(
type
,
keywords
,
pageSizes
,
pageIndex
)
=>
{
setCheckAll
(
false
);
let
mData
=
cloneDeep
(
allData
);
setCheckAll1
(
false
);
if
(
!
mData
)
{
setCheckAll2
(
false
);
const
res
=
await
appService
.
LoadDepartmentAndRole
({
setIndeterminate
(
false
);
type
,
setIndeterminate1
(
false
);
keywords
,
setIndeterminate2
(
false
);
pageSize
:
999
,
if
(
keepTabKey
==
0
)
{
pageIndex
:
1
,
getRoles
(
'角色'
,
searchWord
,
pageSizes
,
page
);
});
mData
=
res
.
data
?.
data
||
[];
}
}
if
(
keepTabKey
==
1
)
{
if
(
keywords
&&
allData
)
{
getRoles
(
'部门'
,
searchWord
,
pageSizes
,
page
);
mData
=
mData
.
map
(
m
=>
{
if
(
m
.
root
)
{
m
.
root
=
m
.
root
.
filter
(
a
=>
a
.
Name
.
includes
(
keywords
));
}
}
if
(
keepTabKey
==
2
)
{
return
m
;
getRoles
(
'站点'
,
searchWord
,
pageSizes
,
page
);
}
);
}
}
setCurrentPage
(
page
);
setPageSize
(
pageSizes
);
};
// 搜索时获取数据
setOptionValue
(
groupArr
(
mData
,
'groupType'
));
const
sreachRoles
=
(
type
,
keywords
,
pageSizes
,
pageIndex
)
=>
{
const
aa
=
groupArr
(
mData
,
'groupType'
);
appService
.
LoadDepartmentAndRole
({
type
,
keywords
,
pageSize
:
pageSizes
,
pageIndex
,
})
.
then
(
res
=>
{
if
(
res
.
msg
===
'Ok'
)
{
setOptionValue
(
groupArr
(
res
.
data
,
'groupType'
));
const
aa
=
groupArr
(
res
.
data
,
'groupType'
);
const
list
=
[];
const
list
=
[];
let
data
=
''
;
let
data
=
''
;
if
(
type
==
'角色'
)
{
if
(
type
==
'角色'
)
{
...
@@ -276,29 +274,29 @@ const RMSComponents = props => {
...
@@ -276,29 +274,29 @@ const RMSComponents = props => {
}
}
}
}
setCurrentPage
(
1
);
setCurrentPage
(
1
);
setTotal
(
res
.
data
.
count
);
setTotal
(
mData
.
length
);
if
(
res
.
data
.
count
==
0
)
{
if
(
mData
.
length
=
==
0
)
{
setEmptyValue
(
1
);
setEmptyValue
(
1
);
}
else
{
}
else
{
setEmptyValue
(
0
);
setEmptyValue
(
0
);
}
}
}
});
};
};
const
getRoles
=
useCallback
((
type
,
keywords
,
pageSizes
,
pageIndex
,
flag
)
=>
{
const
getRoles
=
async
(
type
,
keywords
,
pageSizes
,
pageIndex
,
flag
,
check
)
=>
{
appService
let
mData
=
cloneDeep
(
allData
);
.
LoadDepartmentAndRole
({
if
(
!
mData
)
{
const
res
=
await
appService
.
LoadDepartmentAndRole
({
type
,
type
,
keywords
,
keywords
,
pageSize
:
pageSizes
,
pageSize
:
999
,
pageIndex
,
pageIndex
:
1
,
})
});
.
then
(
res
=>
{
mData
=
res
.
data
?.
data
||
[];
if
(
res
.
code
===
0
)
{
}
setTotal
(
res
.
data
.
count
);
setOptionValue
(
groupArr
(
res
.
data
,
'groupType'
));
setTotal
(
mData
.
length
);
const
aa
=
groupArr
(
res
.
data
,
'groupType'
);
setOptionValue
(
groupArr
(
mData
,
'groupType'
));
const
aa
=
groupArr
(
mData
,
'groupType'
);
const
list
=
[];
const
list
=
[];
let
data
=
''
;
let
data
=
''
;
if
(
type
===
'角色'
)
{
if
(
type
===
'角色'
)
{
...
@@ -312,12 +310,14 @@ const RMSComponents = props => {
...
@@ -312,12 +310,14 @@ const RMSComponents = props => {
if
(
flag
!=
undefined
)
{
if
(
flag
!=
undefined
)
{
const
listId
=
[];
const
listId
=
[];
newCheckedList
.
map
(
checkItem
=>
{
newCheckedList
.
map
(
checkItem
=>
{
if
(
keepFiled
.
current
[
groupName
])
{
keepFiled
.
current
[
groupName
].
map
(
i
=>
{
keepFiled
.
current
[
groupName
].
map
(
i
=>
{
const
canSave
=
dataType
===
'name'
?
i
.
label
==
checkItem
:
i
.
value
==
checkItem
;
const
canSave
=
dataType
===
'name'
?
i
.
label
==
checkItem
:
i
.
value
==
checkItem
;
if
(
canSave
)
{
if
(
canSave
)
{
listId
.
push
(
i
.
value
.
toString
());
listId
.
push
(
i
.
value
.
toString
());
}
}
});
});
}
});
});
aa
[
type
]
&&
aa
[
type
]
&&
aa
[
type
].
map
(
i
=>
{
aa
[
type
].
map
(
i
=>
{
...
@@ -368,18 +368,17 @@ const RMSComponents = props => {
...
@@ -368,18 +368,17 @@ const RMSComponents = props => {
setIndeterminate2
(
false
);
setIndeterminate2
(
false
);
}
}
}
}
if
(
res
.
data
.
count
==
0
)
{
if
(
mData
.
length
=
==
0
)
{
setEmptyValue
(
1
);
setEmptyValue
(
1
);
}
else
{
}
else
{
setEmptyValue
(
0
);
setEmptyValue
(
0
);
}
}
}
};
});
});
const
groupArr
=
(
initialArr
,
name
)
=>
{
const
groupArr
=
(
initialArr
,
name
)
=>
{
const
list
=
{};
const
list
=
{};
initialArr
.
data
.
map
(
i
=>
{
if
(
!
Array
.
isArray
(
initialArr
))
return
list
;
initialArr
.
map
(
i
=>
{
const
ar
=
[];
const
ar
=
[];
i
.
root
.
map
(
j
=>
{
i
.
root
.
map
(
j
=>
{
const
ss
=
{};
const
ss
=
{};
...
@@ -813,7 +812,6 @@ const RMSComponents = props => {
...
@@ -813,7 +812,6 @@ const RMSComponents = props => {
};
};
return
(
return
(
<
div
className
=
{
styles
.
modalContainer
}
>
<
Modal
<
Modal
title
=
"权限选择"
title
=
"权限选择"
bodyStyle
=
{{
width
:
'100%'
,
height
:
'590px'
,
overflowY
:
'scorll'
}}
bodyStyle
=
{{
width
:
'100%'
,
height
:
'590px'
,
overflowY
:
'scorll'
}}
...
@@ -826,11 +824,12 @@ const RMSComponents = props => {
...
@@ -826,11 +824,12 @@ const RMSComponents = props => {
{...
props
}
{...
props
}
onOk
=
{()
=>
onSubmit
()}
onOk
=
{()
=>
onSubmit
()}
forceRender
forceRender
getContainer
=
{
false
}
//
getContainer={false}
afterClose
=
{()
=>
{
afterClose
=
{()
=>
{
setKeyValue
(
'0'
);
setKeyValue
(
'0'
);
setSearchWord
(
''
);
setSearchWord
(
''
);
}}
}}
wrapClassName
=
"roleModalContainer"
>
>
<
div
className
=
{
styles
.
pageContent
}
>
<
div
className
=
{
styles
.
pageContent
}
>
{
/* 可选列表 */
}
{
/* 可选列表 */
}
...
@@ -904,11 +903,7 @@ const RMSComponents = props => {
...
@@ -904,11 +903,7 @@ const RMSComponents = props => {
<
/Radio.Group
>
<
/Radio.Group
>
)
:
(
)
:
(
<>
<>
<
Checkbox
<
Checkbox
indeterminate
=
{
indeterminate2
}
onChange
=
{
onCheckAllChange2
}
checked
=
{
checkAll2
}
>
indeterminate
=
{
indeterminate2
}
onChange
=
{
onCheckAllChange2
}
checked
=
{
checkAll2
}
>
全选
全选
<
/Checkbox
>
<
/Checkbox
>
<
Divider
/>
<
Divider
/>
...
@@ -931,20 +926,6 @@ const RMSComponents = props => {
...
@@ -931,20 +926,6 @@ const RMSComponents = props => {
<
/Tabs
>
<
/Tabs
>
)}
)}
<
/div
>
<
/div
>
{
/* 分页 */
}
<
div
className
=
{
styles
.
footer
}
>
<
Pagination
size
=
"small"
total
=
{
total
}
showSizeChanger
defaultPageSize
=
{
pageSize
}
defaultCurrent
=
{
1
}
pageSizeOptions
=
{[
10
,
20
,
45
,
100
]}
current
=
{
currentPage
}
onChange
=
{
paginationChange
}
style
=
{{
marginBottom
:
'10px'
}}
/
>
<
/div
>
<
/div
>
<
/div
>
{
/* 已选列表 */
}
{
/* 已选列表 */
}
<
div
className
=
{
styles
.
selectedList
}
>
<
div
className
=
{
styles
.
selectedList
}
>
...
@@ -995,7 +976,6 @@ const RMSComponents = props => {
...
@@ -995,7 +976,6 @@ const RMSComponents = props => {
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/Modal
>
<
/Modal
>
<
/div
>
);
);
};
};
...
...
src/pages/integratedLogin/components/RolePmSite/index.less
View file @
b02f3882
.modalContainer {
.pageContent {
.ant-modal-body {
padding: 0;
}
.ant-modal-header {
padding: 28px 16px;
}
.pageContent {
display: flex;
display: flex;
height: 100%;
height: 100%;
...
@@ -29,9 +20,7 @@
...
@@ -29,9 +20,7 @@
.tabContent {
.tabContent {
height: 590px;
height: 590px;
.ant-tabs-content-holder {
height: 523px;
}
}
}
.searchInput {
.searchInput {
...
@@ -41,26 +30,7 @@
...
@@ -41,26 +30,7 @@
top: 3px;
top: 3px;
right: 40px;
right: 40px;
.anticon svg {
margin-top: 0px;
}
.ant-input,
.ant-input-affix-wrapper {
border-top-left-radius: 20px;
border-bottom-left-radius: 20px;
}
.ant-input-group-addon {
border-top-right-radius: 20px;
border-bottom-right-radius: 20px;
}
.ant-input-search-button {
width: 40px;
border-top-right-radius: 20px;
border-bottom-right-radius: 20px;
}
}
}
.checkContent {
.checkContent {
...
@@ -70,60 +40,15 @@
...
@@ -70,60 +40,15 @@
height: 525px;
height: 525px;
overflow-y: scroll;
overflow-y: scroll;
.check {
.check {}
.ant-checkbox-wrapper {
width: 180px;
margin-bottom: 10px;
margin-left: 6px;
}
.ant-checkbox-wrapper span {
max-width: 160px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.ant-radio-wrapper {
width: 180px;
margin-bottom: 10px;
margin-left: 6px;
}
.ant-radio-wrapper span {
max-width: 160px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
}
}
.footer {
.footer {
padding-left: 25px;
padding-left: 25px;
.ant-pagination {
border: none;
}
}
.ant-tabs-nav {
background-color: #f2f1f1;
}
}
.ant-tabs-tab {
background-color: #f2f1f1;
color: #666666;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
}
.ant-tabs-tab-active {
background-color: #fff;
color: #1685ff;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
}
}
}
.selectedList {
.selectedList {
...
@@ -196,14 +121,100 @@
...
@@ -196,14 +121,100 @@
}
}
}
}
}
}
}
:global {
.roleModalContainer {
.anticon svg {
margin-top: 0px;
}
}
.ant-empty-normal {
.@{ant-prefix}-tabs-content-holder {
height: 523px;
}
.@{ant-prefix}-input,
.@{ant-prefix}-input-affix-wrapper {
border-top-left-radius: 20px !important;
border-bottom-left-radius: 20px !important;
}
.@{ant-prefix}-input-group-addon {
border-top-right-radius: 20px !important;
border-bottom-right-radius: 20px !important;
}
.@{ant-prefix}-input-search-button {
width: 40px;
border-top-right-radius: 20px !important;
border-bottom-right-radius: 20px !important;
}
.@{ant-prefix}-pagination {
border: none;
}
.@{ant-prefix}-checkbox-wrapper {
width: 180px;
margin-bottom: 10px;
// margin-left: 6px;
}
.@{ant-prefix}-checkbox-wrapper span {
max-width: 160px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.@{ant-prefix}-radio-wrapper {
width: 180px;
margin-bottom: 10px;
margin-left: 6px;
}
.@{ant-prefix}-radio-wrapper span {
max-width: 160px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.@{ant-prefix}-tabs-nav {
background-color: #f2f1f1;
}
.@{ant-prefix}-tabs-tab {
background-color: #f2f1f1;
color: #666666;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
}
.@{ant-prefix}-tabs-tab-active {
background-color: #fff;
color: #1685ff;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
}
.@{ant-prefix}-modal-body {
padding: 0;
}
.@{ant-prefix}-modal-header {
padding: 28px 16px;
}
.@{ant-prefix}-empty-normal {
margin: auto;
margin: auto;
}
}
.ant
-divider-horizontal {
.@{ant-prefix}
-divider-horizontal {
margin-top: 0px;
margin-top: 0px;
margin-bottom: 10px;
margin-bottom: 10px;
}
}
}
}
}
\ No newline at end of file
src/pages/integratedLogin/index.js
View file @
b02f3882
...
@@ -55,7 +55,8 @@ const IntegratedLogin = props => {
...
@@ -55,7 +55,8 @@ const IntegratedLogin = props => {
const
[
keepSystemName
,
setKeepSystemName
]
=
useState
([]);
const
[
keepSystemName
,
setKeepSystemName
]
=
useState
([]);
const
[
groupList
,
setGroupList
]
=
useState
([]);
// 分组列表
const
[
groupList
,
setGroupList
]
=
useState
([]);
// 分组列表
const
[
targetType
,
setTargetType
]
=
useState
(
''
);
const
[
targetType
,
setTargetType
]
=
useState
(
''
);
const
[
roleList
,
setRoleList
]
=
useState
([]);
// 角色列表
const
[
moduleList
,
setModuleList
]
=
useState
([]);
// 网站列表
const
{
Search
}
=
Input
;
const
{
Search
}
=
Input
;
const
columns
=
[
const
columns
=
[
...
@@ -398,15 +399,38 @@ const IntegratedLogin = props => {
...
@@ -398,15 +399,38 @@ const IntegratedLogin = props => {
const
onMasterBack
=
data
=>
{
const
onMasterBack
=
data
=>
{
if
(
data
)
configSetting
.
current
=
data
;
if
(
data
)
configSetting
.
current
=
data
;
};
};
const
getConfigData
=
()
=>
{
appService
.
LoadDepartmentAndRole
({
type
:
'角色'
,
keywords
:
''
,
pageSize
:
999
,
pageIndex
:
1
,
})
.
then
(
res
=>
{
setRoleList
(
res
.
data
?.
data
||
[]);
});
// appService
// .getWebModuleTree({
// userMode: 'super',
// })
// .then(res => {
// const data = res.data || [];
// const list = data.find(d => d.text === '一般网站')?.children || [];
// setModuleList(list);
// });
};
const
getConfig
=
()
=>
{
const
getConfig
=
()
=>
{
appService
appService
.
GetIntegratedloginSetting
()
.
GetIntegratedloginSetting
()
.
then
(
res
=>
{
.
then
(
res
=>
{
configSetting
.
current
=
res
.
data
||
{};
configSetting
.
current
=
res
.
data
||
{};
getData
();
getData
();
getConfigData
();
})
})
.
catch
(
err
=>
{
.
catch
(
err
=>
{
getData
();
getData
();
getConfigData
();
});
});
};
};
useEffect
(()
=>
{
useEffect
(()
=>
{
...
@@ -480,6 +504,7 @@ const IntegratedLogin = props => {
...
@@ -480,6 +504,7 @@ const IntegratedLogin = props => {
groupList={groupList}
groupList={groupList}
destroyOnClose
destroyOnClose
keepSystemName={keepSystemName}
keepSystemName={keepSystemName}
roleList={roleList}
/>
/>
) : null}
) : null}
{/* 集成网站 */}
{/* 集成网站 */}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment