Commit 521d1ab0 by zhaochengxiang

根据sysadmin显示更多

parent 3e33d278
...@@ -8,6 +8,7 @@ import { $hostParams, ContextPath } from './util'; ...@@ -8,6 +8,7 @@ import { $hostParams, ContextPath } from './util';
import loadable from "./util/loadable"; import loadable from "./util/loadable";
import { AssetMountReference } from './util/constant'; import { AssetMountReference } from './util/constant';
import { dispatch } from './model';
export const AppContext = React.createContext(); export const AppContext = React.createContext();
...@@ -36,13 +37,16 @@ export class App extends React.Component { ...@@ -36,13 +37,16 @@ export class App extends React.Component {
super(); super();
this.state = { this.state = {
hostParams: null hostParams: null,
dataRoles: []
}; };
} }
componentDidMount() { componentDidMount() {
this.setState({ hostParams: this.props?.data }); this.setState({ hostParams: this.props?.data });
this.getDataRoles();
this.$$hostParams = $hostParams.subscribe({ this.$$hostParams = $hostParams.subscribe({
next: (v) => { next: (v) => {
if (v) { if (v) {
...@@ -57,9 +61,18 @@ export class App extends React.Component { ...@@ -57,9 +61,18 @@ export class App extends React.Component {
this.$$hostParams?.unsubscribe(); this.$$hostParams?.unsubscribe();
} }
getDataRoles = () => {
dispatch({
type: 'user.getDataRoles',
callback: data => {
this.setState({ dataRoles: data||[] })
}
})
}
render() { render() {
const { setGlobalState, onGlobalStateChange } = this.props; const { setGlobalState, onGlobalStateChange } = this.props;
const { hostParams } = this.state; const { hostParams, dataRoles } = this.state;
let message = '', id = '', terms = []; let message = '', id = '', terms = [];
if (hostParams) { if (hostParams) {
...@@ -158,6 +171,7 @@ export class App extends React.Component { ...@@ -158,6 +171,7 @@ export class App extends React.Component {
<AppContext.Provider value={{ <AppContext.Provider value={{
env: hostParams?.env, env: hostParams?.env,
user: hostParams?.user, user: hostParams?.user,
dataRoles: dataRoles,
setGlobalState, setGlobalState,
onGlobalStateChange onGlobalStateChange
}}> }}>
......
...@@ -15,3 +15,6 @@ export function* signout() { ...@@ -15,3 +15,6 @@ export function* signout() {
export function* getDomains() { export function* getDomains() {
return yield call(service.getDomains); return yield call(service.getDomains);
} }
export function* getDataRoles() {
return yield call(service.getDataRoles);
}
\ No newline at end of file
...@@ -22,3 +22,7 @@ export function queryUserSystem(payload) { ...@@ -22,3 +22,7 @@ export function queryUserSystem(payload) {
export function getDomains() { export function getDomains() {
return GetJSON("/authservice/domains"); return GetJSON("/authservice/domains");
} }
export function getDataRoles() {
return GetJSON("/authservice/dataRoles");
}
\ No newline at end of file
...@@ -398,3 +398,16 @@ export function getDataModelerRole(user) { ...@@ -398,3 +398,16 @@ export function getDataModelerRole(user) {
return DataModelerRoleAdmin; return DataModelerRoleAdmin;
} }
export function isSystemAdmin(dataRoles) {
let flag = false;
if (dataRoles?.length > 0) {
dataRoles?.forEach(item => {
if (item.name === 'sysadmin') {
flag = true;
}
})
}
return flag;
}
\ No newline at end of file
import React, { useEffect, useState } from 'react'; import React, { useEffect, useState, useContext } from 'react';
import { Spin, Tooltip, Typography, Dropdown, Menu } from 'antd'; import { Spin, Tooltip, Typography, Dropdown, Menu } from 'antd';
import LocalStorage from 'local-storage'; import LocalStorage from 'local-storage';
...@@ -7,10 +7,11 @@ import { AssetBrowseReference, AssetManageReference, ResourceBrowseReference } f ...@@ -7,10 +7,11 @@ import { AssetBrowseReference, AssetManageReference, ResourceBrowseReference } f
import ImportElement from './ImportElement'; import ImportElement from './ImportElement';
import AttributeRelationModal from "./AttributeRelationModal"; import AttributeRelationModal from "./AttributeRelationModal";
import FilterElementModal from './FilterElementModal'; import FilterElementModal from './FilterElementModal';
import { showNotifaction } from '../../../../util'; import { showNotifaction, isSystemAdmin } from '../../../../util';
import { MoreSvg } from './AssetSvg'; import { MoreSvg } from './AssetSvg';
import Separate from './Separate'; import Separate from './Separate';
import record from '../Assets/record.png'; import record from '../Assets/record.png';
import { AppContext } from '../../../../App';
import './AssetDirectory.less'; import './AssetDirectory.less';
...@@ -25,6 +26,8 @@ const AssetDirectory = (props) => { ...@@ -25,6 +26,8 @@ const AssetDirectory = (props) => {
const [ filterElementVisible, setFilterElementVisible ] = useState(false); const [ filterElementVisible, setFilterElementVisible ] = useState(false);
const [ resourceState, setResourceState ] = useState(null); const [ resourceState, setResourceState ] = useState(null);
const app = useContext(AppContext);
useEffect(() => { useEffect(() => {
const storageChange = (e) => { const storageChange = (e) => {
...@@ -264,7 +267,7 @@ const AssetDirectory = (props) => { ...@@ -264,7 +267,7 @@ const AssetDirectory = (props) => {
</div> </div>
{ {
(reference===AssetManageReference) && <Dropdown overlay={elementManageMenu} placement="bottomCenter"> (reference===AssetManageReference) && isSystemAdmin(app?.dataRoles) && <Dropdown overlay={elementManageMenu} placement="bottomCenter">
<div <div
className='flex more-container' className='flex more-container'
style={{ style={{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment