1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
import { LogoutOutlined } from '@ant-design/icons';
import { Avatar, Menu, Spin } from 'antd';
import React from 'react';
import HeaderDropdown from '../HeaderDropdown';
import styles from './index.less';
import { setAuthority } from '@/utils/authority';
import { appConnector } from '@/containers/App/store';
import logo from '@/assets/images/logo/panda-logo2.png';
import connectHistoryHoc from '@/containers/connectHistoryHoc';
const roleName = {
admin: '管理员',
super: '超级管理员',
};
class AvatarDropdown extends React.Component {
/* eslint-disable no-unused-vars */
onMenuClick = event => {
const { logout, history, loginName } = this.props;
switch (event.key) {
case 'logout':
setAuthority([]);
logout();
history.push(`/user/login`);
break;
default:
break;
}
};
render() {
const {
loginName,
currentUser = {
avatar: logo,
name: '',
},
} = this.props;
const menuHeaderDropdown = (
<Menu
className={styles.menu}
selectedKeys={[]}
onClick={this.onMenuClick}
>
{/* {
<Menu.Item key="center">
<UserOutlined />
个人中心
</Menu.Item>
}
{
<Menu.Item key="settings">
<SettingOutlined />
个人设置
</Menu.Item>
}
{<Menu.Divider />} */}
<Menu.Item key="logout">
<LogoutOutlined />
退出登录
</Menu.Item>
</Menu>
);
return currentUser ? (
<HeaderDropdown overlay={menuHeaderDropdown}>
<span className={`${styles.action} ${styles.account}`}>
<Avatar
size="small"
className={styles.avatar}
src={currentUser.avatar}
alt="avatar"
/>
<span className={`${styles.name} anticon`}>
{currentUser.name || loginName === 'omsa'
? '超级管理员'
: '管理员' || '管理员'}
</span>
</span>
</HeaderDropdown>
) : (
<span className={`${styles.action} ${styles.account}`}>
<Spin
size="small"
style={{
marginLeft: 8,
marginRight: 8,
}}
/>
</span>
);
}
}
export default connectHistoryHoc(appConnector(AvatarDropdown));