Слияние кода завершено, страница обновится автоматически
import { notification } from 'antd';
import { connect } from 'dva';
import React from 'react';
import { formatMessage, FormattedMessage } from 'umi-plugin-locale';
import router from 'umi/router';
import PageLoading from '../components/PageLoading';
import Exception from '../pages/Exception/403';
import roleUtil from '../utils/role';
import userUtil from '../utils/user';
class TeamPermissions extends React.PureComponent {
constructor(props) {
super(props);
this.state = {
teamView: true,
loading: true
};
}
componentWillMount() {
this.fetchUserInfo();
}
fetchUserInfo = () => {
const { dispatch } = this.props;
const { teamName } = this.props.match.params;
if (teamName) {
dispatch({
type: 'user/fetchCurrent',
payload: {
team_name: teamName
},
callback: res => {
if (res && res.status_code === 200) {
this.handleResults(res.bean.teams, teamName);
}
},
handleError: () => {
this.setState({
loading: false,
teamView: false
});
}
});
}
};
handleResults = (teams, teamName) => {
const { dispatch } = this.props;
const teamPermissions = userUtil.getTeamByTeamPermissions(teams, teamName);
if (teamPermissions && teamPermissions.length === 0) {
notification.warning({
message: formatMessage({id:'notification.warn.team'})
});
return router.push('/');
}
dispatch({
type: 'teamControl/fetchCurrentTeamPermissions',
payload: teamPermissions
});
const results = roleUtil.queryTeamUserPermissionsInfo(
teamPermissions,
'teamBasicInfo',
'describe'
);
this.setState({ teamView: results, loading: false });
};
render() {
const { children } = this.props;
const { teamView, loading } = this.state;
if (loading) {
return <PageLoading />;
}
if (!teamView) {
return <Exception />;
}
return (
<div>
<div>{children}</div>
</div>
);
}
}
export default connect()(TeamPermissions);
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )