更换部门功能

This commit is contained in:
禺狨
2023-06-29 16:07:45 +08:00
parent f1e50afe32
commit 1ae4f7ed00
4 changed files with 106 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
.info {
width: 100%;
float: left;
height: 54px;
font-size: 16px;
font-weight: 400;
color: rgba(0, 0, 0, 0.3);
line-height: 54px;
margin-top: 20px;
}
.radio-box {
width: 100%;
float: left;
height: auto;
display: flex;
flex-direction: column;
box-sizing: border-box;
padding: 20px;
.radio-item {
width: 100%;
height: 76px;
background: #fafafa;
border-radius: 7px;
margin-bottom: 20px;
box-sizing: border-box;
padding: 30px 20px;
}
}

View File

@@ -0,0 +1,61 @@
import { useState } from "react";
import { Radio, Image } from "antd-mobile";
import styles from "./index.module.scss";
import { useNavigate } from "react-router-dom";
import { useDispatch, useSelector } from "react-redux";
import { saveCurrentDepId } from "../../store/user/loginUserSlice";
import { setDepKey, setDepName } from "../../utils/index";
import backIcon from "../../assets/images/commen/icon-back.png";
const ChangeDepartmentPage = () => {
const dispatch = useDispatch();
const navigate = useNavigate();
const [loading, setLoading] = useState<boolean>(false);
const departments = useSelector(
(state: any) => state.loginUser.value.departments
);
const currentDepId = useSelector(
(state: any) => state.loginUser.value.currentDepId
);
console.log(currentDepId);
const onDepClick = (value: any) => {
let it = departments.find((o: any) => o.id === value);
if (it) {
dispatch(saveCurrentDepId(Number(value)));
setDepKey(value);
setDepName(it.name);
navigate("/", { replace: true });
}
};
return (
<div className="main-body">
<div className="main-header">
<Image
className="back-icon"
src={backIcon}
onClick={() => navigate(-1)}
/>
<div className="main-title"></div>
</div>
<div className={styles["info"]}></div>
<div className={styles["radio-box"]}>
<Radio.Group onChange={onDepClick} defaultValue={currentDepId}>
{departments.map((item: any) => (
<Radio
key={item.id}
value={item.id}
block
className={styles["radio-item"]}
>
{item.name}
</Radio>
))}
</Radio.Group>
</div>
</div>
);
};
export default ChangeDepartmentPage;