From beb003f8e8cd5ae31a0ac55d0624ed2b2ad862bb Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期四, 14 八月 2025 11:21:49 +0800 Subject: [PATCH] Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop --- rsf-admin/src/page/components/CardWithIcon.jsx | 123 ++++++++++++++++++++++++---------------- 1 files changed, 74 insertions(+), 49 deletions(-) diff --git a/rsf-admin/src/page/components/CardWithIcon.jsx b/rsf-admin/src/page/components/CardWithIcon.jsx index 606911e..567a0bb 100644 --- a/rsf-admin/src/page/components/CardWithIcon.jsx +++ b/rsf-admin/src/page/components/CardWithIcon.jsx @@ -1,60 +1,85 @@ import * as React from 'react'; import { FC, createElement } from 'react'; -import { Card, Box, Typography, Divider } from '@mui/material'; +import { Card, Box, Typography, Divider, Stack } from '@mui/material'; +import { useTranslate } from 'react-admin'; + import { Link } from 'react-router-dom'; -const CardWithIcon = ({ icon, title, subtitle, to, children }) => ( - <Card - sx={{ - minHeight: 52, - display: 'flex', - flexDirection: 'column', - flex: '1', - '& a': { - textDecoration: 'none', - color: 'inherit', - }, - }} - > - <Box +const CardWithIcon = ({ icon, title, subtitle, to, children, statistic, type }) => { + const translate = useTranslate(); + return ( + <Card sx={{ - position: 'relative', - overflow: 'hidden', - padding: '16px', - display: 'flex', - justifyContent: 'space-between', - alignItems: 'center', - '& .icon': { - color: 'primary.main', - }, - '&:before': { - position: 'absolute', - top: '50%', - left: 0, - display: 'block', - content: `''`, - height: '200%', - aspectRatio: '1', - transform: 'translate(-30%, -60%)', - borderRadius: '50%', - backgroundColor: 'primary.main', - opacity: 0.15, + width: '100%', + minHeight: 52, + flexDirection: 'column', + flex: '1', + '& a': { + textDecoration: 'none', + color: 'inherit', }, }} > - <Box width="3em" className="icon"> - {createElement(icon, { fontSize: 'large' })} + <Box + sx={{ + position: 'relative', + overflow: 'hidden', + padding: '16px', + display: 'flex', + justifyContent: 'space-between', + alignItems: 'center', + '& .icon': { + color: 'primary.main', + }, + '&:before': { + position: 'absolute', + top: '50%', + left: 0, + display: 'block', + content: `''`, + height: '200%', + aspectRatio: '1', + transform: 'translate(-30%, -60%)', + borderRadius: '50%', + backgroundColor: 'primary.main', + opacity: 0.15, + }, + }} + > + <Box width="3em" className="icon"> + {createElement(icon, { fontSize: 'large' })} + </Box> + <Box textAlign="right"> + <Typography variant="h5" component="h2"> + {subtitle || '鈥�'} + </Typography> + {type ? <Box sx={{ display: "flex" }}> + <Box sx={{ display: 'flex', padding: '1em' }}> + <Typography color="textSecondary">{translate("page.dashboard.header.planQty")}锛�</Typography> + <Typography color="textSecondary">{statistic?.inAnf}</Typography> + </Box> + {!children && <Box sx={{ display: "flex" }}> + <Box sx={{ display: 'flex', padding: '1em' }}> + <Typography color="textSecondary">{translate("page.dashboard.header.realQty")}锛�</Typography> + <Typography color="textSecondary">{statistic?.taskIn}</Typography> + </Box> + <Box sx={{ display: 'flex', padding: '1em' }}> + <Typography color="textSecondary">{type == 'in' ? translate("page.dashboard.header.waitQty") : translate("page.dashboard.header.waitOutQty")}锛�</Typography> + <Typography color="textSecondary">{type == 'in' ? statistic?.taskIn : statistic?.taskOut}</Typography> + </Box> + </Box>} + </Box> : <Box> + <Typography sx={{ display: 'flex', padding: '1em' }}> + {'鈥�12234'} + </Typography> + </Box>} + </Box> </Box> - <Box textAlign="right"> - <Typography color="textSecondary">{title}</Typography> - <Typography variant="h5" component="h2"> - {subtitle || '鈥�'} - </Typography> - </Box> - </Box> - {children && <Divider />} - {children} - </Card> -); + {children && <Divider />} + {children} + </Card> + + ) +}; export default CardWithIcon; \ No newline at end of file -- Gitblit v1.9.1