From 0cd6dfd544b900ff66682881fe4d6df0b90e386d Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 14 八月 2025 11:21:02 +0800
Subject: [PATCH] no message
---
rsf-admin/src/page/dashboard/NbList.jsx | 61 +++++++++++++++-----
rsf-admin/src/page/dashboard/index.jsx | 60 ++++---------------
rsf-admin/src/page/dashboard/NbPie.jsx | 53 +++++++++++++++++
rsf-admin/src/page/dashboard/NbChart.jsx | 2
4 files changed, 111 insertions(+), 65 deletions(-)
diff --git a/rsf-admin/src/page/dashboard/NbChart.jsx b/rsf-admin/src/page/dashboard/NbChart.jsx
index de79803..a154760 100644
--- a/rsf-admin/src/page/dashboard/NbChart.jsx
+++ b/rsf-admin/src/page/dashboard/NbChart.jsx
@@ -44,8 +44,6 @@
const NbChart = (props) => {
const { orders } = props;
- console.log(orders);
-
const translate = useTranslate();
if (!orders) return null;
diff --git a/rsf-admin/src/page/dashboard/NbList.jsx b/rsf-admin/src/page/dashboard/NbList.jsx
index 2d1ca12..4cb2005 100644
--- a/rsf-admin/src/page/dashboard/NbList.jsx
+++ b/rsf-admin/src/page/dashboard/NbList.jsx
@@ -5,25 +5,25 @@
ListItemSecondaryAction,
ListItemAvatar,
ListItemText,
+ Typography,
Avatar,
Box,
ListItemButton,
Card,
CardHeader,
List,
+ Grid,
} from '@mui/material';
import { Link } from 'react-router-dom';
-const NbList = (props) => {
- const { orders = [] } = props;
+const NbList = ({ deadStock }) => {
const translate = useTranslate();
-
return (
<Card sx={{ flex: 1 }}>
<CardHeader title={translate('page.dashboard.list.stock')} />
<List dense={true}>
- {orders.map(record => (
- <PendingOrder key={record.id} order={record} />
+ {deadStock.map(record => (
+ <PendingOrder key={`record?.id + ${Math.random().toString(36).substr(2, 9)} `} order={record} />
))}
</List>
</Card>
@@ -32,11 +32,12 @@
export const PendingOrder = (props) => {
const { order } = props;
+ console.log(order);
const translate = useTranslate();
- const { referenceRecord: customer, isPending } = useReference({
- reference: 'customers',
- id: order.customer_id,
- });
+ // const { referenceRecord: customer, isPending } = useReference({
+ // reference: 'customers',
+ // id: order.id,
+ // });
return (
<ListItem disablePadding>
@@ -52,13 +53,41 @@
/>
)}
</ListItemAvatar> */}
- <ListItemText
- primary={new Date(order.date).toLocaleString('en-GB')}
+ {/* <ListItemText
+ primary={new Date(order.createTime).toLocaleString('en-GB')}
secondary={translate('page.dashboard.list.stock', {
- name: order.name
+ name: order.maktx
})}
- />
- <ListItemSecondaryAction>
+ >
+
+ </ListItemText> */}
+ <Grid container item md={12}>
+ <Box sx={{ display: 'flex' }}>
+ <Box sx={{ display: 'flex', padding: '1em' }}>
+ <Typography color="textSecondary">{translate("table.field.asnOrderItem.matnrCode")}锛�</Typography>
+ <Typography color="textSecondary">{order?.matnrCode}</Typography>
+ </Box>
+ </Box>
+ <Box sx={{ display: 'flex' }}>
+ <Box sx={{ display: 'flex', padding: '1em' }}>
+ <Typography color="textSecondary">{translate("table.field.asnOrderItem.maktx")}锛�</Typography>
+ <Typography color="textSecondary" maxWidth="200" overflow="hidden">{order?.maktx}</Typography>
+ </Box>
+ </Box>
+ <Box sx={{ display: 'flex' }}>
+ <Box sx={{ display: 'flex', padding: '1em' }}>
+ <Typography color="textSecondary">{translate("table.field.asnOrderItem.anfme")}锛�</Typography>
+ <Typography color="textSecondary">{order?.anfme}</Typography>
+ </Box>
+ </Box>
+ <Box sx={{ display: 'flex' }}>
+ <Box sx={{ display: 'flex', padding: '1em' }}>
+ <Typography color="textSecondary">{translate("table.field.locItem.deadTime")}锛�</Typography>
+ <Typography color="textSecondary">{order?.deadTime}</Typography>
+ </Box>
+ </Box>
+ </Grid>
+ {/* <ListItemSecondaryAction>
<Box
component="span"
sx={{
@@ -66,9 +95,9 @@
color: 'text.primary',
}}
>
- {order.total}$
+ {order.deadTime}
</Box>
- </ListItemSecondaryAction>
+ </ListItemSecondaryAction> */}
</ListItemButton>
</ListItem>
);
diff --git a/rsf-admin/src/page/dashboard/NbPie.jsx b/rsf-admin/src/page/dashboard/NbPie.jsx
new file mode 100644
index 0000000..6b2d64e
--- /dev/null
+++ b/rsf-admin/src/page/dashboard/NbPie.jsx
@@ -0,0 +1,53 @@
+
+import * as React from 'react';
+import { Pie, PieChart, ResponsiveContainer, Tooltip } from 'recharts';
+import { Card } from "@mui/material";
+import { useTranslate } from "react-admin";
+
+
+const NbPie = ({ deadStock }) => {
+ const translate = useTranslate();
+
+ const data01 = [
+ { name: 'Group A', value: 400 },
+ { name: 'Group B', value: 300 },
+ { name: 'Group C', value: 300 },
+ { name: 'Group D', value: 200 },
+ { name: 'Group E', value: 278 },
+ { name: 'Group F', value: 189 },
+ ];
+
+ const data02 = [
+ { name: 'Group A', value: 2400 },
+ { name: 'Group B', value: 4567 },
+ { name: 'Group C', value: 1398 },
+ { name: 'Group D', value: 9800 },
+ { name: 'Group E', value: 3908 },
+ { name: 'Group F', value: 4800 },
+ ];
+
+ return (
+ <>
+ <Card>
+ <ResponsiveContainer width="100%" height="100%">
+ <PieChart width={400} height={400}>
+ <Pie
+ dataKey="value"
+ isAnimationActive={false}
+ data={data01}
+ cx="50%"
+ cy="50%"
+ outerRadius={80}
+ fill="#8884d8"
+ label
+ />
+ <Pie dataKey="value" data={data02} cx={500} cy={200} innerRadius={40} outerRadius={80} fill="#82ca9d" />
+ <Tooltip />
+ </PieChart>
+ </ResponsiveContainer>
+ </Card>
+ </>
+ );
+}
+
+export default NbPie;
\ No newline at end of file
diff --git a/rsf-admin/src/page/dashboard/index.jsx b/rsf-admin/src/page/dashboard/index.jsx
index b832f8d..c2f7fd8 100644
--- a/rsf-admin/src/page/dashboard/index.jsx
+++ b/rsf-admin/src/page/dashboard/index.jsx
@@ -13,6 +13,8 @@
import NbChart from "./NbChart";
import NbList from "./NbList";
import NbCard from "./NbCard";
+import { orderBy } from 'lodash';
+import NbPie from './NbPie';
const styles = {
flex: { display: 'flex' },
@@ -72,6 +74,7 @@
const notify = useNotify();
const [statistic, setStatistic] = useState({});
const [stock, setStock] = useState([]);
+ const [deadStock, setDeadStock] = useState([]);
useEffect(() => {
getDashBoardHeader()
@@ -94,10 +97,10 @@
}
const getRecentStocks = async () => {
- await request.post('/asnOrder/dashbord/header').then(res => {
- const { code, msg, data } = res.data?.data;
+ await request.post('/locItem/page', { current: 1, pageSize: 10, orderBy: 'create_time asc' }).then(res => {
+ const { code, msg, data } = res?.data;
if (code === 200) {
- setStatistic(data);
+ setDeadStock(data?.records);
} else {
notify(msg, { type: 'error', messageArgs: { _: msg } });
}
@@ -105,7 +108,6 @@
notify(error.message, { type: 'error', messageArgs: { _: error.message } });
})
}
-
/**
* 鑾峰彇搴撹繎涓�涓湀鍑哄叆搴撲俊鎭�
@@ -123,47 +125,9 @@
})
}
- const recentOrders = [
- {
- id: 1,
- name: 'a',
- date: "2025-08-10T12:23:56.959Z",
- total: 138.94,
- inTotal: 254,
- },
- {
- id: 2,
- name: 'b',
- date: "2025-08-03T07:45:00.304Z",
- total: 214.66,
- inTotal: 258,
- },
- {
- id: 3,
- name: 'c',
- date: "2025-07-28T00:20:10.968Z",
- total: 68.19,
- inTotal: 154,
- },
- {
- id: 4,
- name: 'd',
- date: "2025-07-22T20:39:00.293Z",
- total: 36.56,
- inTotal: 124,
- },
- {
- id: 5,
- name: 'e',
- date: "2025-07-16T17:40:24.791Z",
- total: 100.82,
- inTotal: 354,
- },
- ]
-
return (
<>
- <Grid container md={12}>
+ <Grid container md={12} item>
<Grid item md={8}>
<Box sx={{ display: "flex" }}>
<CardWithIcon
@@ -180,7 +144,6 @@
title={`${statistic?.membersTotalQua}`}
type={"out"}
statistic={statistic}
-
/>
</Box>
<Spacer />
@@ -188,9 +151,12 @@
<NbChart orders={stock} />
</Box>
<Spacer />
- <Box>
- <NbList orders={recentOrders} />
+ <Box sx={{ display: 'flex' }}>
+ <NbList deadStock={deadStock} />
+ <NbPie />
</Box>
+ <Spacer />
+
</Grid>
<Grid item md={4}>
<Box sx={{ display: 'flex' }}>
@@ -205,7 +171,7 @@
filter: JSON.stringify({ status: 1 }),
}),
}}
- list={recentOrders}
+ list={deadStock}
/>
</Box>
</Grid>
--
Gitblit v1.9.1