This commit is contained in:
none
2023-03-23 17:29:43 +08:00
parent 9f90bd75d3
commit 89b6307e2d
16 changed files with 163 additions and 161 deletions

View File

@@ -7,8 +7,8 @@ import { PerButton } from "../../compenents";
import type { DataNode, TreeProps } from "antd/es/tree";
import { DepartmentCreate } from "./compenents/create";
import { DepartmentUpdate } from "./compenents/update";
import { useSelector } from "../../store/hooks";
import { useNavigate } from "react-router-dom";
import { useSelector } from "react-redux";
const { confirm } = Modal;
@@ -20,7 +20,9 @@ interface Option {
const DepartmentPage = () => {
const navigate = useNavigate();
const permisssions = useSelector((state: any) => state.permisssions);
const permissions = useSelector(
(state: any) => state.loginUser.value.permissions
);
const [loading, setLoading] = useState<boolean>(true);
const [refresh, setRefresh] = useState(false);
const [treeData, setTreeData] = useState<any>([]);
@@ -36,15 +38,15 @@ const DepartmentPage = () => {
};
const through = (p: string) => {
if (!permisssions) {
if (!permissions) {
return false;
}
return typeof permisssions[p] !== "undefined";
return typeof permissions[p] !== "undefined";
};
useEffect(() => {
getData();
}, [refresh, permisssions]);
}, [refresh, permissions]);
const getData = () => {
setLoading(true);

View File

@@ -1,7 +1,22 @@
import { useDispatch } from "react-redux";
import { Outlet } from "react-router-dom";
import { loginAction } from "../../store/user/loginUserSlice";
const InitPage = () => {
return <><Outlet /></>
interface Props {
loginData: any | null;
}
const InitPage = (props: Props) => {
const dispatch = useDispatch();
if (props.loginData) {
dispatch(loginAction(props.loginData));
}
return (
<>
<Outlet />
</>
);
};
export default InitPage;

View File

@@ -4,15 +4,11 @@ import { Spin, Input, Button, message } from "antd";
import { login, system } from "../../api/index";
import { setToken } from "../../utils/index";
import { useDispatch } from "react-redux";
import {
IsLoginActionCreator,
SetUserActionCreator,
SetPermisssionsActionCreator,
} from "../../store/user/userActions";
import { useNavigate } from "react-router-dom";
import banner from "../../assets/images/login/banner.png";
import icon from "../../assets/images/login/icon.png";
import "./login.less";
import { loginAction } from "../../store/user/loginUserSlice";
const LoginPage = () => {
const dispatch = useDispatch();
@@ -75,9 +71,7 @@ const LoginPage = () => {
const getUser = () => {
login.getUser().then((res: any) => {
const data = res.data;
dispatch(IsLoginActionCreator());
dispatch(SetUserActionCreator(data.user));
dispatch(SetPermisssionsActionCreator(data.permissions));
dispatch(loginAction(data));
setLoading(false);
navigate("/");
});

View File

@@ -7,8 +7,8 @@ import { PerButton } from "../../../compenents";
import type { DataNode, TreeProps } from "antd/es/tree";
import { ResourceCategoryCreate } from "./compenents/create";
import { ResourceCategoryUpdate } from "./compenents/update";
import { useSelector } from "../../../store/hooks";
import { useNavigate } from "react-router-dom";
import { useSelector } from "react-redux";
const { confirm } = Modal;
@@ -20,7 +20,9 @@ interface Option {
const ResourceCategoryPage = () => {
const navigate = useNavigate();
const permisssions = useSelector((state: any) => state.permisssions);
const permissions = useSelector(
(state: any) => state.loginUser.value.permissions
);
const [loading, setLoading] = useState<boolean>(true);
const [refresh, setRefresh] = useState(false);
const [treeData, setTreeData] = useState<any>([]);
@@ -32,17 +34,17 @@ const ResourceCategoryPage = () => {
useEffect(() => {
getData();
}, [refresh, permisssions]);
}, [refresh, permissions]);
const onSelect = (selectedKeys: any, info: any) => {
setSelectKey(selectedKeys);
};
const through = (p: string) => {
if (!permisssions) {
if (!permissions) {
return false;
}
return typeof permisssions[p] !== "undefined";
return typeof permissions[p] !== "undefined";
};
const getData = () => {