remove device_num
This commit is contained in:
parent
5d1689ae2a
commit
8497bdf72d
|
@ -3,13 +3,30 @@ import "./layout.less";
|
|||
import { inject, observer } from "mobx-react";
|
||||
import { Store } from "antd/es/form/interface";
|
||||
import { useEffect, useState } from "react";
|
||||
import { Avatar, Breadcrumb, Layout, Menu, theme } from "antd";
|
||||
import { Avatar, Breadcrumb, Layout, Menu, MenuProps, theme } from "antd";
|
||||
import { UserOutlined } from "@ant-design/icons";
|
||||
import Sider from "antd/es/layout/Sider";
|
||||
import { items, headItems } from "./layout_config";
|
||||
import { Dropdown } from "antd/lib";
|
||||
import { Outlet, useNavigate } from "react-router";
|
||||
|
||||
const getLevelKeys = (items1) => {
|
||||
const key: Record<string, number> = {};
|
||||
const func = (items2: [], level = 1) => {
|
||||
items2.forEach((item: any) => {
|
||||
if (item.key) {
|
||||
key[item.key] = level;
|
||||
}
|
||||
if (item.children) {
|
||||
func(item.children, level + 1);
|
||||
}
|
||||
});
|
||||
};
|
||||
func(items1);
|
||||
return key;
|
||||
};
|
||||
const levelKeys = getLevelKeys(items);
|
||||
|
||||
const LayOut = (props: Store) => {
|
||||
const { usrStore } = props;
|
||||
const [collapsed, setCollapsed] = useState(false);
|
||||
|
@ -35,24 +52,44 @@ const LayOut = (props: Store) => {
|
|||
{ title: "数据集管理" },
|
||||
{ title: "数据管理" },
|
||||
];
|
||||
const [stateOpenKeys, setStateOpenKeys] = useState(['2', '23']);
|
||||
useEffect(() => {
|
||||
// if (usrStore.isNeedLogin) {
|
||||
// nav("/login");
|
||||
// }
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
}, [usrStore.isNeedLogin]);
|
||||
const onOpenChange: MenuProps['onOpenChange'] = (openKeys) => {
|
||||
const currentOpenKey = openKeys.find((key) => stateOpenKeys.indexOf(key) === -1);
|
||||
// open
|
||||
if (currentOpenKey !== undefined) {
|
||||
const repeatIndex = openKeys
|
||||
.filter((key) => key !== currentOpenKey)
|
||||
.findIndex((key) => levelKeys[key] === levelKeys[currentOpenKey]);
|
||||
|
||||
setStateOpenKeys(
|
||||
openKeys
|
||||
.filter((_, index) => index !== repeatIndex)
|
||||
.filter((key) => levelKeys[key] <= levelKeys[currentOpenKey]),
|
||||
);
|
||||
} else {
|
||||
// close
|
||||
setStateOpenKeys(openKeys);
|
||||
}
|
||||
};
|
||||
return (
|
||||
<Layout>
|
||||
<Header style={headStyle}>
|
||||
<div style={logoStyle}>黄甲数据</div>
|
||||
<Dropdown menu={{ items: headItems,selectable: true, onClick: (e) => {
|
||||
<Dropdown menu={{
|
||||
items: headItems, selectable: true, onClick: (e) => {
|
||||
console.log(e.key === "loginout")
|
||||
if (e.key === "loginout") {
|
||||
window.localStorage.removeItem("token")
|
||||
nav("/login")
|
||||
}
|
||||
} }}>
|
||||
}
|
||||
}}>
|
||||
<Avatar icon={<UserOutlined />} />
|
||||
</Dropdown>
|
||||
</Header>
|
||||
|
@ -68,11 +105,11 @@ const LayOut = (props: Store) => {
|
|||
mode="inline"
|
||||
theme="dark"
|
||||
defaultSelectedKeys={["1"]}
|
||||
defaultOpenKeys={["sub1"]}
|
||||
openKeys={stateOpenKeys}
|
||||
style={{ height: "100%", borderRight: 0 }}
|
||||
onOpenChange={onOpenChange}
|
||||
items={items}
|
||||
onClick={(e) => {
|
||||
console.log(e);
|
||||
nav(e.key);
|
||||
}}
|
||||
/>
|
||||
|
|
|
@ -9,7 +9,7 @@ const Role = (props: Store) => {
|
|||
return (
|
||||
<div className="contentBox">
|
||||
<BTable
|
||||
btnText="添加角色"
|
||||
btnText="添加职位"
|
||||
store={roleStore}
|
||||
scroll={{ x: "max-content" }}
|
||||
columns={columns}
|
||||
|
|
|
@ -1,21 +1,22 @@
|
|||
import { FormType } from "@/components/form/interface";
|
||||
import { UserDataType } from "@/model/userModel";
|
||||
import { ColumnsType } from "antd/lib/table";
|
||||
|
||||
export const defaultConfig = [
|
||||
{
|
||||
type: FormType.input,
|
||||
label: "角色名称",
|
||||
label: "职位名称",
|
||||
name: "name",
|
||||
value: "",
|
||||
rules: [{ required: true, message: "请输入用户名称!" }],
|
||||
rules: [{ required: true, message: "请输入职位名称!" }],
|
||||
},
|
||||
|
||||
{
|
||||
type: FormType.inputNumber,
|
||||
label: "角色描述",
|
||||
label: "职位描述",
|
||||
name: "desc",
|
||||
value: "",
|
||||
rules: [{ required: true, message: "请输入角色描述" }],
|
||||
rules: [{ required: true, message: "请输入职位描述" }],
|
||||
},
|
||||
{
|
||||
type: FormType.input,
|
||||
|
@ -35,12 +36,12 @@ export const defaultConfig = [
|
|||
|
||||
export const columns: ColumnsType<UserDataType> = [
|
||||
{
|
||||
title: "角色名称",
|
||||
title: "职位名称",
|
||||
dataIndex: "name",
|
||||
fixed: "left",
|
||||
},
|
||||
{
|
||||
title: "角色描述",
|
||||
title: "职位描述",
|
||||
dataIndex: "desc",
|
||||
},
|
||||
|
||||
|
|
Loading…
Reference in New Issue