From ce27bcff87a316e73b32aa5a4530bebb0c7e43da Mon Sep 17 00:00:00 2001 From: Alex Cheung Date: Fri, 1 Mar 2024 18:00:13 +0800 Subject: [PATCH] add login log page --- .../User/DetailsPage_Individual/LoginGrid.js | 71 +++++++++++++++++++ .../User/DetailsPage_Individual/index.js | 38 +++++++--- 2 files changed, 99 insertions(+), 10 deletions(-) create mode 100644 src/pages/User/DetailsPage_Individual/LoginGrid.js diff --git a/src/pages/User/DetailsPage_Individual/LoginGrid.js b/src/pages/User/DetailsPage_Individual/LoginGrid.js new file mode 100644 index 0000000..e806bf9 --- /dev/null +++ b/src/pages/User/DetailsPage_Individual/LoginGrid.js @@ -0,0 +1,71 @@ +// material-ui +import * as React from 'react'; +import {FiDataGrid} from "components/FiDataGrid"; +import { + // Button, + // Typography, + useMediaQuery +} from '@mui/material'; +import * as DateUtils from "utils/DateUtils" +// import {useNavigate} from "react-router-dom"; +// import { +// isORGLoggedIn, +// } from "utils/Utils"; +import {useTheme} from "@emotion/react"; +// import {getStatusIntl} from "utils/statusUtils/PublicNoteStatusUtils"; +// import { +// FormattedMessage, +// useIntl} from "react-intl"; +// ==============================|| EVENT TABLE ||============================== // + +export default function LoginGrid({rows}) { + // const navigate = useNavigate() + const theme = useTheme(); + const isMdOrLg = useMediaQuery(theme.breakpoints.up('md')); + // const intl = useIntl(); + + // const handleDetailClick = (params) => () => { + // navigate('/publicNotice/'+ params.id); + // }; + + // const remarkHeadername = rows.orgId===null?"我的備註":"Care Of / 我的備註" + + const columns = [ + { + id: 'loginTime', + field: 'loginTime', + headerName: "Date Time", + width: isMdOrLg ? 'auto' : 160, + flex: isMdOrLg ? 1 : undefined, + valueGetter:(params)=>{ + return DateUtils.datetimeStr(params?.value); + } + }, + { + id: 'result', + field: 'result', + headerName: 'Result', + width: isMdOrLg ? 'auto' : 300, + flex: isMdOrLg ? 1 : undefined, + // valueGetter:(params)=>{ + // return DateUtils.datetimeStr(params?.value); + // } + }, + ]; + + // function handleRowDoubleClick(params) { + // navigate('/publicNotice/'+ params.id); + // } + + return ( +
+ 'auto'} + /> +
+ ); +} diff --git a/src/pages/User/DetailsPage_Individual/index.js b/src/pages/User/DetailsPage_Individual/index.js index b935105..e0e0b9f 100644 --- a/src/pages/User/DetailsPage_Individual/index.js +++ b/src/pages/User/DetailsPage_Individual/index.js @@ -1,7 +1,8 @@ // material-ui import * as React from "react"; -import { Grid, Typography, Button, Stack } from '@mui/material'; +import { Grid, Typography, Button, Stack, Box, Tab } from '@mui/material'; +import { TabPanel, TabContext, TabList } from '@mui/lab'; import FileList from "components/FileList" import MainCard from "components/MainCard"; import * as HttpUtils from "utils/HttpUtils"; @@ -27,6 +28,7 @@ import * as ComboData from "utils/ComboData"; const LoadingComponent = Loadable(React.lazy(() => import('../../extra-pages/LoadingComponent'))); const UserInformationCard = Loadable(React.lazy(() => import('./UserInformationCard_Individual'))); const UserInformationPubCard = Loadable(React.lazy(() => import('./UserInformationCard_Individual_Pub'))); +const LoginGrid = Loadable(React.lazy(() => import('./LoginGrid'))); import { isGLDLoggedIn, @@ -42,6 +44,7 @@ const UserMaintainPage_Individual = () => { const navigate = useNavigate(); const [formData, setFormData] = React.useState({}) const [isLoading, setLoding] = React.useState(true); + const [selectedTab, setSelectedTab] = React.useState("1"); React.useEffect(() => { if (isORGLoggedIn()){ @@ -51,6 +54,10 @@ const UserMaintainPage_Individual = () => { } }, []); + const handleChange = (event, newValue) => { + setSelectedTab(newValue); + } + const loadData = () => { setLoding(true); if (isGLDLoggedIn()){ @@ -173,15 +180,26 @@ const UserMaintainPage_Individual = () => { {isGLDLoggedIn()? - - Files - - - - + + + + + + + + + + + + + +