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