From ea2904d7ca03b42f5783cd659fe71c0fbedd2277 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期一, 11 八月 2025 17:05:21 +0800 Subject: [PATCH] Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop --- rsf-admin/src/page/dashboard/index.jsx | 163 ++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 132 insertions(+), 31 deletions(-) diff --git a/rsf-admin/src/page/dashboard/index.jsx b/rsf-admin/src/page/dashboard/index.jsx index a5beda3..d8694e0 100644 --- a/rsf-admin/src/page/dashboard/index.jsx +++ b/rsf-admin/src/page/dashboard/index.jsx @@ -10,6 +10,17 @@ import WifiIcon from '@mui/icons-material/Wifi'; import request from '@/utils/request'; import { Box, Typography, LinearProgress, Stack } from '@mui/material'; +import NbChart from "./NbChart"; +import NbList from "./NbList"; +import NbCard from "./NbCard"; + +const styles = { + flex: { display: 'flex' }, + flexColumn: { display: 'flex', flexDirection: 'column' }, + leftCol: { flex: 1, marginRight: '0.5em' }, + rightCol: { flex: 1, marginLeft: '0.5em' }, + singleCol: { marginTop: '1em', marginBottom: '1em' }, +}; const Dashboard = () => { const authProvider = useAuthProvider(); @@ -43,14 +54,14 @@ padding: '2rem 1rem', }} > - <WordEffect + {/* <WordEffect words={translate('page.welcome.index')} color={theme.palette.mode === 'light' ? '#666' : '#eeeeee'} /> <WordEffect words={translate('page.welcome.tech')} color={theme.palette.mode === 'light' ? '#666' : '#eeeeee'} - /> + /> */} </div> </> ) @@ -69,43 +80,133 @@ if (code === 200) { setStatistic(data); } else { - notify(msg, { type: 'error', messageArgs: { _: msg } }); + // notify(msg, { type: 'error', messageArgs: { _: msg } }); } }).catch((error) => { - notify(error.message, { type: 'error', messageArgs: { _: error.message } }); + // notify(error.message, { type: 'error', messageArgs: { _: error.message } }); console.error(error); }) }, []) + const recentOrders = [ + { + id: 1, + name: 'a', + date: "2025-08-10T12:23:56.959Z", + total: 138.94 + }, + { + id: 2, + name: 'b', + date: "2025-08-03T07:45:00.304Z", + total: 214.66 + }, + { + id: 3, + name: 'c', + date: "2025-07-28T00:20:10.968Z", + total: 68.19 + }, + { + id: 4, + name: 'd', + date: "2025-07-22T20:39:00.293Z", + total: 36.56 + }, + { + id: 5, + name: 'e', + date: "2025-07-16T17:40:24.791Z", + total: 100.82 + }, + ] + return ( - <Box sx={{ - display: 'flex', - mt: 2, - gap: 2, - justifyContent: 'space-between', - }}> - <CardWithIcon - icon={WifiIcon} - title={translate('page.member.header.onlineMembers')} - subtitle={`${statistic?.membersOnlineQua}`} - /> - <CardWithIcon - icon={SensorOccupiedIcon} - title={translate('page.member.header.totalMembers')} - subtitle={`${statistic?.membersTotalQua}`} - /> - <CardWithIcon - icon={WifiIcon} - title={translate('page.member.header.onlineMembers')} - subtitle={`${statistic?.membersOnlineQua}`} - /> - <CardWithIcon - icon={SensorOccupiedIcon} - title={translate('page.member.header.totalMembers')} - subtitle={`${statistic?.membersTotalQua}`} - /> - </Box> + <> + <div style={styles.flex}> + <div style={styles.leftCol}> + <div style={styles.flex}> + <CardWithIcon + icon={WifiIcon} + title={translate('page.member.header.onlineMembers')} + subtitle={`${statistic?.membersOnlineQua}`} + /> + <Spacer /> + <CardWithIcon + icon={SensorOccupiedIcon} + title={translate('page.member.header.totalMembers')} + subtitle={`${statistic?.membersTotalQua}`} + /> + </div> + <div style={styles.singleCol}> + <NbChart orders={recentOrders} /> + </div> + <div style={styles.singleCol}> + <NbList orders={recentOrders} /> + </div> + </div> + <div style={styles.rightCol}> + <div style={styles.flex}> + <NbCard + icon={WifiIcon} + title={translate('page.member.header.onlineMembers')} + subtitle={`${statistic?.membersOnlineQua}`} + to={{ + pathname: '/task', + search: JSON.stringify({ + filter: JSON.stringify({ status: 1 }), + }), + }} + list={recentOrders} + /> + <Spacer /> + <NbCard + icon={SensorOccupiedIcon} + title={translate('page.member.header.totalMembers')} + subtitle={`${statistic?.membersTotalQua}`} + to={{ + pathname: '/task', + search: JSON.stringify({ + filter: JSON.stringify({ status: 1 }), + }), + }} + list={recentOrders} + /> + </div> + </div> + </div> + + {/* <Box sx={{ + display: 'flex', + mt: 2, + gap: 2, + justifyContent: 'space-between', + }}> + <CardWithIcon + icon={WifiIcon} + title={translate('page.member.header.onlineMembers')} + subtitle={`${statistic?.membersOnlineQua}`} + /> + <CardWithIcon + icon={SensorOccupiedIcon} + title={translate('page.member.header.totalMembers')} + subtitle={`${statistic?.membersTotalQua}`} + /> + <CardWithIcon + icon={WifiIcon} + title={translate('page.member.header.onlineMembers')} + subtitle={`${statistic?.membersOnlineQua}`} + /> + <CardWithIcon + icon={SensorOccupiedIcon} + title={translate('page.member.header.totalMembers')} + subtitle={`${statistic?.membersTotalQua}`} + /> + </Box > */} + </> ) } +const Spacer = () => <span style={{ width: '1em' }} />; + export default Dashboard; \ No newline at end of file -- Gitblit v1.9.1