diff --git a/src/compenents/leftMenu/index.tsx b/src/compenents/leftMenu/index.tsx index 57c4469..bf3b92a 100644 --- a/src/compenents/leftMenu/index.tsx +++ b/src/compenents/leftMenu/index.tsx @@ -40,6 +40,13 @@ const items = [ [getItem("学员", "/member", null, null, null)], null ), + getItem( + "部门管理", + "7", + , + [getItem("部门", "/department", null, null, null)], + null + ), getItem("证书管理", "5", , [], null), getItem( "系统设置", @@ -50,7 +57,7 @@ const items = [ ), ]; -const rootSubmenuKeys = ["3", "4", "5", "6"]; +const rootSubmenuKeys = ["3", "4", "5", "6", "7"]; export const LeftMenu: React.FC = () => { //展开的subMenu diff --git a/src/pages/department/index.module.less b/src/pages/department/index.module.less new file mode 100644 index 0000000..e69de29 diff --git a/src/pages/department/index.tsx b/src/pages/department/index.tsx new file mode 100644 index 0000000..9f7dd66 --- /dev/null +++ b/src/pages/department/index.tsx @@ -0,0 +1,133 @@ +import React, { useState, useEffect } from "react"; +import { Button, Space, Table, Popconfirm, message } from "antd"; +import type { ColumnsType } from "antd/es/table"; +import styles from "./index.module.less"; +import { PlusOutlined, ReloadOutlined } from "@ant-design/icons"; +import { adminRole } from "../../api/index"; +import { dateFormat } from "../../utils/index"; +import { Link, useNavigate } from "react-router-dom"; + +interface DataType { + id: React.Key; + name: string; + created_at: string; +} + +export const DepartmentPage: React.FC = () => { + const navigate = useNavigate(); + const [loading, setLoading] = useState(true); + const [list, setList] = useState([]); + const [refresh, setRefresh] = useState(false); + + const columns: ColumnsType = [ + { + title: "ID", + key: "id", + dataIndex: "id", + }, + { + title: "角色名", + dataIndex: "name", + render: (text: string) => {text}, + }, + { + title: "时间", + dataIndex: "created_at", + render: (text: string) => {text && dateFormat(text)}, + }, + { + title: "操作", + key: "action", + fixed: "right", + width: 160, + render: (_, record) => ( + + navigate(`/system/adminroles/update/${record.id}`)} + > + 详情 + + delUser(record.id)} + okText="确定" + cancelText="取消" + > + + 删除 + + + + ), + }, + ]; + + useEffect(() => { + getData(); + }, [refresh]); + + const getData = () => { + setLoading(true); + adminRole.adminRoleList().then((res: any) => { + setList(res.data); + setTimeout(() => { + setLoading(false); + }, 1000); + }); + }; + + const resetData = () => { + setList([]); + setRefresh(!refresh); + }; + + const delUser = (id: any) => { + adminRole.destroyAdminRole(id).then((res: any) => { + setTimeout(() => { + message.success("操作成功"); + setRefresh(!refresh); + }, 1000); + }); + }; + + return ( + <> + + + + + } className="mr-16" type="primary"> + 新建 + + + + + } + style={{ color: "#333333" }} + onClick={() => { + setRefresh(!refresh); + }} + > + + + + record.id} + /> + + + > + ); +}; diff --git a/src/pages/index.ts b/src/pages/index.ts index 4a653dc..1cb6d0a 100644 --- a/src/pages/index.ts +++ b/src/pages/index.ts @@ -13,3 +13,4 @@ export * from "./system/administrator/update"; export * from "./system/adminroles/index"; export * from "./system/adminroles/create"; export * from "./system/adminroles/update"; +export * from "./department"; diff --git a/src/pages/member/create.tsx b/src/pages/member/create.tsx index 11a836b..c2655c8 100644 --- a/src/pages/member/create.tsx +++ b/src/pages/member/create.tsx @@ -26,7 +26,6 @@ export const MemberCreatePage: React.FC = () => { department.departmentList().then((res: any) => { const departments = res.data.departments; const new_arr: Option[] = checkArr(departments, 0); - console.log(new_arr); setDepartments(new_arr); }); }; @@ -72,9 +71,7 @@ export const MemberCreatePage: React.FC = () => { console.log("Failed:", errorInfo); }; - const onChange = (value: any) => { - console.log(value); - }; + const onChange = (value: any) => {}; return ( <> diff --git a/src/pages/member/update.tsx b/src/pages/member/update.tsx index 4f2e0a8..18a52d7 100644 --- a/src/pages/member/update.tsx +++ b/src/pages/member/update.tsx @@ -30,7 +30,6 @@ export const MemberUpdatePage: React.FC = () => { department.departmentList().then((res: any) => { const departments = res.data.departments; const new_arr: Option[] = checkArr(departments, 0); - console.log(new_arr); setDepartments(new_arr); }); }; @@ -94,9 +93,7 @@ export const MemberUpdatePage: React.FC = () => { console.log("Failed:", errorInfo); }; - const onChange = (value: any) => { - console.log(value); - }; + const onChange = (value: any) => {}; return ( <> diff --git a/src/pages/system/adminroles/index.tsx b/src/pages/system/adminroles/index.tsx index 986e62e..2cf6522 100644 --- a/src/pages/system/adminroles/index.tsx +++ b/src/pages/system/adminroles/index.tsx @@ -1,14 +1,5 @@ import React, { useState, useEffect } from "react"; -import { - Typography, - Input, - Select, - Button, - Space, - Table, - Popconfirm, - message, -} from "antd"; +import { Button, Space, Table, Popconfirm, message } from "antd"; import type { ColumnsType } from "antd/es/table"; import styles from "./index.module.less"; import { PlusOutlined, ReloadOutlined } from "@ant-design/icons"; diff --git a/src/router/routes.tsx b/src/router/routes.tsx index 96c60c3..66abe43 100644 --- a/src/router/routes.tsx +++ b/src/router/routes.tsx @@ -15,6 +15,7 @@ import { SystemAdminrolesPage, AdminrolesCreatePage, AdminrolesUpdatePage, + DepartmentPage, } from "../pages"; const routes: RouteObject[] = [ @@ -66,6 +67,10 @@ const routes: RouteObject[] = [ path: "/system/adminroles/update/:roleId", element: , }, + { + path: "/department", + element: , + }, ], }, {