From b650eb0f5e8449036e0fa30c508f78369ecf5c21 Mon Sep 17 00:00:00 2001 From: wuyize Date: Mon, 26 Dec 2022 17:44:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E9=A6=96=E9=A1=B5=E5=AF=BC?= =?UTF-8?q?=E8=88=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 - src/assets/icons.tsx | 34 +++++++++ src/index.tsx | 13 +++- src/pages/HomeView.tsx | 75 +++++++++++++++++-- .../Invoice/{ => mine}/InvoiceListView.css | 0 .../Invoice/{ => mine}/InvoiceListView.tsx | 4 +- src/pages/{Login => login}/LoginView.css | 0 src/pages/{Login => login}/LoginView.tsx | 0 .../reimbursement/mine/MyReimbursement.tsx | 6 ++ src/router/router.tsx | 19 +++-- 10 files changed, 135 insertions(+), 17 deletions(-) create mode 100644 src/assets/icons.tsx rename src/pages/Invoice/{ => mine}/InvoiceListView.css (100%) rename src/pages/Invoice/{ => mine}/InvoiceListView.tsx (99%) rename src/pages/{Login => login}/LoginView.css (100%) rename src/pages/{Login => login}/LoginView.tsx (100%) create mode 100644 src/pages/reimbursement/mine/MyReimbursement.tsx diff --git a/package.json b/package.json index 1f7b620..46812eb 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,6 @@ "version": "0.1.0", "private": true, "dependencies": { - "@ant-design/compatible": "^5.1.1", "@reduxjs/toolkit": "^1.9.1", "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^13.4.0", diff --git a/src/assets/icons.tsx b/src/assets/icons.tsx new file mode 100644 index 0000000..45a7aeb --- /dev/null +++ b/src/assets/icons.tsx @@ -0,0 +1,34 @@ +import React from "react"; +export const Logo=()=>( + + + + + + + +) \ No newline at end of file diff --git a/src/index.tsx b/src/index.tsx index eb3f37a..e5f09e9 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -8,6 +8,7 @@ import {store, persistor} from './models/store'; import {RouterProvider} from "react-router-dom"; import router from "./router/router"; import {PersistGate} from 'redux-persist/integration/react' +import {ConfigProvider} from "antd"; const root = ReactDOM.createRoot( document.getElementById('root') as HTMLElement @@ -16,7 +17,17 @@ root.render( - + + + diff --git a/src/pages/HomeView.tsx b/src/pages/HomeView.tsx index 9d0903b..a17f6a4 100644 --- a/src/pages/HomeView.tsx +++ b/src/pages/HomeView.tsx @@ -1,23 +1,84 @@ import React, {FC, useEffect} from 'react'; -import { Button } from 'antd'; +import {UploadOutlined, UserOutlined, VideoCameraOutlined} from '@ant-design/icons'; +import {Layout, Menu, theme, Typography } from 'antd'; import {useAppSelector} from "../models/hooks"; import {getToken, store} from "../models/store"; -import {useNavigate} from "react-router-dom"; +import {Link, Outlet, useNavigate} from "react-router-dom"; +import Icon from '@ant-design/icons'; +import {Logo} from "../assets/icons"; + +const { Title } = Typography; +const {Header, Content, Footer, Sider} = Layout; function HomeView() { const token = useAppSelector(getToken); const navigate = useNavigate(); - console.log( store.getState()) + console.log(store.getState()) + + let items = [{ + key: "/invoice/mine", + //icon: React.createElement(UserOutlined), + label: 我的发票 + }, { + key: "/reimbursement/mine", + //icon: React.createElement(UserOutlined), + label: 我的报销, + },{ + key: "/invoice/management", + //icon: React.createElement(UserOutlined), + label: 发票管理, + },{ + key: "/reimbursement/management", + //icon: React.createElement(UserOutlined), + label: 报销审批, + },{ + key: "/stat", + //icon: React.createElement(UserOutlined), + label: 财务统计, + }] + + const { + token: { colorBgContainer, colorPrimary }, + } = theme.useToken(); + useEffect(() => { - if(token.accessToken===''){ + if (token.accessToken === '') { console.log("redirect") navigate("/login") } }, []); return ( -
-

{token.accessToken}

-
+ + { + console.log(broken); + }} + onCollapse={(collapsed, type) => { + console.log(collapsed, type); + }} + > +
+ + 智能财务报销系统 +
+ + + +
+ + + +
+ + ) } diff --git a/src/pages/Invoice/InvoiceListView.css b/src/pages/Invoice/mine/InvoiceListView.css similarity index 100% rename from src/pages/Invoice/InvoiceListView.css rename to src/pages/Invoice/mine/InvoiceListView.css diff --git a/src/pages/Invoice/InvoiceListView.tsx b/src/pages/Invoice/mine/InvoiceListView.tsx similarity index 99% rename from src/pages/Invoice/InvoiceListView.tsx rename to src/pages/Invoice/mine/InvoiceListView.tsx index e2acaee..1b115c6 100644 --- a/src/pages/Invoice/InvoiceListView.tsx +++ b/src/pages/Invoice/mine/InvoiceListView.tsx @@ -1,9 +1,9 @@ import {Card, Dropdown, List,Menu,Input,Button,Radio,Divider} from "antd"; import type { MenuProps } from 'antd'; -import { Icon } from '@ant-design/compatible' +//import { Icon } from '@ant-design/compatible' import { DownOutlined,UploadOutlined } from '@ant-design/icons'; import React, {ReactElement, JSXElementConstructor, ReactFragment, ReactPortal,useState } from "react"; -import {Invoice} from "../../models/Staff" +import {Invoice} from "../../../models/Staff" import { Space, Typography } from 'antd'; import {SizeType} from "antd/es/config-provider/SizeContext"; const {Meta} = Card; diff --git a/src/pages/Login/LoginView.css b/src/pages/login/LoginView.css similarity index 100% rename from src/pages/Login/LoginView.css rename to src/pages/login/LoginView.css diff --git a/src/pages/Login/LoginView.tsx b/src/pages/login/LoginView.tsx similarity index 100% rename from src/pages/Login/LoginView.tsx rename to src/pages/login/LoginView.tsx diff --git a/src/pages/reimbursement/mine/MyReimbursement.tsx b/src/pages/reimbursement/mine/MyReimbursement.tsx new file mode 100644 index 0000000..3ce04e8 --- /dev/null +++ b/src/pages/reimbursement/mine/MyReimbursement.tsx @@ -0,0 +1,6 @@ +function MyReimbursement() { + return( +
我的报销
+ ) +} +export default MyReimbursement \ No newline at end of file diff --git a/src/router/router.tsx b/src/router/router.tsx index 6ccea02..beb731e 100644 --- a/src/router/router.tsx +++ b/src/router/router.tsx @@ -1,7 +1,8 @@ import {createBrowserRouter, redirect} from "react-router-dom"; -import LoginView from "../pages/Login/LoginView"; +import LoginView from "../pages/login/LoginView"; import HomeView from "../pages/HomeView"; -import InvoiceListView from "../pages/Invoice/InvoiceListView"; +import InvoiceListView from "../pages/Invoice/mine/InvoiceListView"; +import MyReimbursement from "../pages/reimbursement/mine/MyReimbursement"; const router = createBrowserRouter([ { @@ -11,11 +12,17 @@ const router = createBrowserRouter([ { path: "/", element: , + children: [ + { + path: "invoice/mine", + element: , + }, + { + path: "reimbursement/mine", + element: , + }, + ], }, - { - path: "/list", - element: , - } ]); export default router \ No newline at end of file