diff --git a/src/assets/images/commen/avatar.png b/src/assets/images/commen/avatar.png new file mode 100644 index 0000000..633efaa Binary files /dev/null and b/src/assets/images/commen/avatar.png differ diff --git a/src/assets/images/commen/edit.png b/src/assets/images/commen/edit.png new file mode 100644 index 0000000..08c64cd Binary files /dev/null and b/src/assets/images/commen/edit.png differ diff --git a/src/assets/images/commen/logout.png b/src/assets/images/commen/logout.png new file mode 100644 index 0000000..eba229b Binary files /dev/null and b/src/assets/images/commen/logout.png differ diff --git a/src/compenents/header/index.tsx b/src/compenents/header/index.tsx index 9cc17db..5158461 100644 --- a/src/compenents/header/index.tsx +++ b/src/compenents/header/index.tsx @@ -1,10 +1,14 @@ import React from "react"; import styles from "./index.module.less"; -import { Layout, Button, Dropdown, MenuProps } from "antd"; +import { Layout, Button, Dropdown, MenuProps, Image } from "antd"; import { useSelector } from "../../store/hooks"; import { useDispatch } from "react-redux"; import { useNavigate } from "react-router-dom"; import { LoginOutActionCreator } from "../../store/user/userActions"; +import avatar from "../../assets/images/commen/avatar.png"; +import edit from "../../assets/images/commen/edit.png"; +import logout from "../../assets/images/commen/logout.png"; +import { PoweroffOutlined, UnlockOutlined } from "@ant-design/icons"; export const Header: React.FC = () => { const dispatch = useDispatch(); @@ -23,10 +27,12 @@ export const Header: React.FC = () => { { label: "修改密码", key: "change_password", + icon: , }, { label: "退出登录", key: "login_out", + icon: , }, ]; return ( @@ -35,8 +41,14 @@ export const Header: React.FC = () => {
- diff --git a/src/compenents/left-menu/index.tsx b/src/compenents/left-menu/index.tsx index bd1f21a..13e49fd 100644 --- a/src/compenents/left-menu/index.tsx +++ b/src/compenents/left-menu/index.tsx @@ -21,19 +21,13 @@ function getItem(label: any, key: any, icon: any, children: any, type: any) { } const items = [ getItem("首页概览", "/", , null, null), - getItem( - "课程内容", - "8", - , - [getItem("课程", "/course", null, null, null)], - null - ), + getItem("分类管理", "/resource-category", , null, null), + getItem("课程管理", "/course", , null, null), getItem( "资源管理", "3", , [ - getItem("资源分类", "/resource-category", null, null, null), getItem("视频", "/videos", null, null, null), getItem("图片", "/images", null, null, null), ], @@ -43,21 +37,20 @@ const items = [ "学员管理", "4", , - [getItem("学员", "/member", null, null, null)], - null - ), - getItem( - "部门管理", - "7", - , - [getItem("部门", "/department", null, null, null)], + [ + getItem("学员", "/member", null, null, null), + getItem("部门", "/department", null, null, null), + ], null ), getItem( "系统设置", "6", , - [getItem("管理人员", "/system/administrator", null, null, null)], + [ + getItem("管理人员", "/system/administrator", null, null, null), + getItem("角色配置", "/system/adminroles", null, null, null), + ], null ), ]; @@ -85,7 +78,6 @@ export const LeftMenu: React.FC = () => { style={{ width: 200, background: "#ffffff", - }} openKeys={openKeys} onOpenChange={onOpenChange} diff --git a/src/index.less b/src/index.less index 39fadba..d1696c8 100644 --- a/src/index.less +++ b/src/index.less @@ -12,6 +12,10 @@ code { monospace; } +.ml-8 { + margin-left: 8px; +} + .mt-10 { margin-top: 10px; } @@ -78,6 +82,13 @@ code { flex-direction: column; } +.c-default{ + font-size: 14px; + font-weight: 400; + color: rgba(0,0,0,0.88); + line-height: 22px; +} + .primary { color: #ff4d4f; } diff --git a/src/pages/login/index.tsx b/src/pages/login/index.tsx index 48651ee..0cf2064 100644 --- a/src/pages/login/index.tsx +++ b/src/pages/login/index.tsx @@ -17,7 +17,7 @@ import "./login.less"; export const Login: React.FC = () => { const dispatch = useDispatch(); const navigate = useNavigate(); - const [loading, setLoading] = useState(true); + const [loading, setLoading] = useState(false); const [image, setImage] = useState(""); const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); @@ -50,13 +50,15 @@ export const Login: React.FC = () => { }; const handleSubmit = () => { + if (loading) { + return; + } setLoading(true); login .login(email, password, captcha_key, captcha_val) .then((res: any) => { const token = res.data.token; setToken(token); - getUser(); }) .catch((e) => { diff --git a/src/pages/system/administrator/create.tsx b/src/pages/system/administrator/create.tsx index 4e1fd94..fda9529 100644 --- a/src/pages/system/administrator/create.tsx +++ b/src/pages/system/administrator/create.tsx @@ -4,7 +4,6 @@ import styles from "./create.module.less"; import { adminUser } from "../../../api/index"; import { useNavigate } from "react-router-dom"; import { BackBartment } from "../../../compenents"; -import { PerButton } from "../../../compenents"; export const AdministratorCreatePage: React.FC = () => { const navigate = useNavigate(); @@ -80,24 +79,14 @@ export const AdministratorCreatePage: React.FC = () => { autoComplete="off" > -
- { const params = useParams(); @@ -98,24 +97,14 @@ export const AdministratorUpdatePage: React.FC = () => { autoComplete="off" > -
- { return ( <>
-
- -