From f34c57dc30f1d85d465eb7f516f9a895c576ba9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A6=BA=E7=8B=A8?= <18119604035@163.com> Date: Fri, 10 Mar 2023 14:17:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=A6=E5=91=98=E3=80=81=E7=BA=BF=E4=B8=8A?= =?UTF-8?q?=E8=AF=BE=E7=BC=96=E8=BE=91=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/compenents/left-menu/index.tsx | 2 + src/pages/course/update.tsx | 8 ++- src/pages/index.ts | 1 + src/pages/member/update.tsx | 6 +- src/pages/system/index.module.less | 45 +++++++++++++++ src/pages/system/index.tsx | 92 ++++++++++++++++++++++++++++++ src/router/routes.tsx | 5 ++ 7 files changed, 155 insertions(+), 4 deletions(-) create mode 100644 src/pages/system/index.module.less create mode 100644 src/pages/system/index.tsx diff --git a/src/compenents/left-menu/index.tsx b/src/compenents/left-menu/index.tsx index 54668d2..65e58f7 100644 --- a/src/compenents/left-menu/index.tsx +++ b/src/compenents/left-menu/index.tsx @@ -55,6 +55,7 @@ const items = [ , [ getItem("管理人员", "/system/administrator", null, null, null), + getItem("系统配置", "/system/index", null, null, null), getItem("角色配置", "/system/adminroles", null, null, null), ], null @@ -72,6 +73,7 @@ const children2Parent: any = { "/system/administrator": ["6"], "/system/adminroles": ["6"], + "/system/index": ["6"], }; export const LeftMenu: React.FC = () => { diff --git a/src/pages/course/update.tsx b/src/pages/course/update.tsx index 25e9f47..de08c3a 100644 --- a/src/pages/course/update.tsx +++ b/src/pages/course/update.tsx @@ -56,7 +56,9 @@ export const CourseUpdatePage: React.FC = () => { for (let i = 0; i < box.length; i++) { let item = checkChild(deps, box[i]); let arr: any[] = []; - if (item.parent_chain === "") { + if (item === undefined) { + arr.push(box[i]); + } else if (item.parent_chain === "") { arr.push(box[i]); } else { let new_arr = item.parent_chain.split(","); @@ -76,7 +78,9 @@ export const CourseUpdatePage: React.FC = () => { for (let i = 0; i < box2.length; i++) { let item = checkChild(cats, box2[i]); let arr: any[] = []; - if (item.parent_chain === "") { + if (item === undefined) { + arr.push(box2[i]); + } else if (item.parent_chain === "") { arr.push(box2[i]); } else { let new_arr = item.parent_chain.split(","); diff --git a/src/pages/index.ts b/src/pages/index.ts index acabe85..27d578e 100644 --- a/src/pages/index.ts +++ b/src/pages/index.ts @@ -10,6 +10,7 @@ export * from "./member/index"; export * from "./member/create"; export * from "./member/update"; export * from "./member/import"; +export * from "./system/index"; export * from "./system/administrator/index"; export * from "./system/administrator/create"; export * from "./system/administrator/update"; diff --git a/src/pages/member/update.tsx b/src/pages/member/update.tsx index 20f3ad5..0a4b890 100644 --- a/src/pages/member/update.tsx +++ b/src/pages/member/update.tsx @@ -44,7 +44,9 @@ export const MemberUpdatePage: React.FC = () => { for (let i = 0; i < box.length; i++) { let item = checkChild(deps, box[i]); let arr: any[] = []; - if (item.parent_chain === "") { + if (item === undefined) { + arr.push(box[i]); + } else if (item.parent_chain === "") { arr.push(box[i]); } else { let new_arr = item.parent_chain.split(","); @@ -78,7 +80,7 @@ export const MemberUpdatePage: React.FC = () => { } } }; - + const checkArr = (departments: any[], id: number) => { const arr = []; for (let i = 0; i < departments[id].length; i++) { diff --git a/src/pages/system/index.module.less b/src/pages/system/index.module.less new file mode 100644 index 0000000..4603417 --- /dev/null +++ b/src/pages/system/index.module.less @@ -0,0 +1,45 @@ +.title { + width: 100%; + height: 16px; + font-size: 16px; + font-weight: 500; + color: #333333; + line-height: 16px; + margin-bottom: 24px; +} +.body { + width: 100%; + height: auto; + box-sizing: border-box; + display: grid; + gap: 20px; + grid-template-columns: repeat(5, minmax(0, 1fr)); + .item { + width: auto; + height: 88px; + background: #f3f4f5; + box-shadow: 0px 2px 4px 0px rgba(102, 102, 102, 0.05); + border-radius: 8px; + display: flex; + flex-direction: row; + align-items: center; + box-sizing: border-box; + padding-left: 30px; + cursor: pointer; + &:hover { + opacity: 0.8; + } + img { + width: 48px; + height: 48px; + margin-right: 20px; + } + span { + height: 16px; + font-size: 16px; + font-weight: 400; + color: #333333; + line-height: 16px; + } + } +} diff --git a/src/pages/system/index.tsx b/src/pages/system/index.tsx new file mode 100644 index 0000000..76fda8c --- /dev/null +++ b/src/pages/system/index.tsx @@ -0,0 +1,92 @@ +import React, { useState, useEffect } from "react"; +import { Button, Space, Col, Empty } from "antd"; +import type { ColumnsType } from "antd/es/table"; +import styles from "./index.module.less"; +import { PlusOutlined, ReloadOutlined } from "@ant-design/icons"; +import { appConfig } 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 SystemIndexPage: React.FC = () => { + const navigate = useNavigate(); + const [loading, setLoading] = useState(true); + const [list, setList] = useState([]); + const [refresh, setRefresh] = useState(false); + + const columns: ColumnsType = [ + { + 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) => ( + + + + ), + }, + ]; + + useEffect(() => { + getData(); + }, [refresh]); + + const getData = () => { + setLoading(true); + appConfig.appConfig().then((res: any) => { + setList(res.data); + setLoading(false); + }); + }; + + const resetData = () => { + setList([]); + setRefresh(!refresh); + }; + + return ( + <> +
+
基本配置
+ {list.length === 0 && ( + + + + )} +
+ {list.map((item: any, index: number) => { + return ( +
+ + {item.name} +
+ ); + })} +
+
+ + ); +}; diff --git a/src/router/routes.tsx b/src/router/routes.tsx index 3331d24..d84420e 100644 --- a/src/router/routes.tsx +++ b/src/router/routes.tsx @@ -27,6 +27,7 @@ import { ResourceCategoryCreatePage, ResourceCategoryUpdatePage, ResourceVideosPage, + SystemIndexPage } from "../pages"; const routes: RouteObject[] = [ @@ -91,6 +92,10 @@ const routes: RouteObject[] = [ path: "/member/import", element: , }, + { + path: "/system/index", + element: , + }, { path: "/system/administrator", element: ,