|
@@ -26,16 +26,29 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
|
|
|
backstagePermission: [] // 后台权限
|
|
|
})
|
|
|
|
|
|
+ const frontPermissionArray = Object.values(FrontPermission)
|
|
|
+ const BackstagePermissionArray = Object.values(BackstagePermission)
|
|
|
+
|
|
|
+ // 过滤权限枚举
|
|
|
+ const handleFilter = data =>
|
|
|
+ data.filter(item => {
|
|
|
+ const newItem = { ...item }
|
|
|
+ if (state.activeTab === OperationType.FRONT) {
|
|
|
+ frontPermissionArray?.includes(item)
|
|
|
+ } else {
|
|
|
+ BackstagePermissionArray?.includes(item)
|
|
|
+ }
|
|
|
+ return newItem
|
|
|
+ })
|
|
|
+
|
|
|
const { loading } = useRequest(() => queryRoleDetailByID({ ID }), {
|
|
|
refreshDeps: [ID],
|
|
|
onSuccess: ({ frontPermission = [], backstagePermission = [] } = {}) => {
|
|
|
- const frontPermissionNew = frontPermission.filter(item =>
|
|
|
- Object.values(FrontPermission)?.includes(item)
|
|
|
- )
|
|
|
- const backstagePermissionNew = backstagePermission.filter(item =>
|
|
|
- Object.values(BackstagePermission)?.includes(item)
|
|
|
- )
|
|
|
- setState({ ...state, frontPermission: frontPermissionNew, backstagePermission: backstagePermissionNew })
|
|
|
+ setState({
|
|
|
+ ...state,
|
|
|
+ frontPermission: handleFilter(frontPermission),
|
|
|
+ backstagePermission: handleFilter(backstagePermission)
|
|
|
+ })
|
|
|
},
|
|
|
onError: e => console.log(e)
|
|
|
})
|
|
@@ -69,13 +82,10 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
|
|
|
const handleSubmit = () => {
|
|
|
const params = { ID, operation: state.activeTab }
|
|
|
if (state.activeTab === OperationType.FRONT) {
|
|
|
- params.frontPermission = state.frontPermission.filter(item =>
|
|
|
- Object.values(FrontPermission)?.includes(item)
|
|
|
- )
|
|
|
+ params.frontPermission = handleFilter(state.frontPermission)
|
|
|
+ console.log(params.frontPermission)
|
|
|
} else if (state.activeTab === OperationType.BACKSTAGE) {
|
|
|
- params.backstagePermission = state.backstagePermission.filter(item =>
|
|
|
- Object.values(BackstagePermission)?.includes(item)
|
|
|
- )
|
|
|
+ params.backstagePermission = handleFilter(state.backstagePermission)
|
|
|
} else {
|
|
|
message.error('参数异常,请检查')
|
|
|
return
|