From fb93a0da4d477d7bbc00b801a6cc24f15e1ddcf4 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期一, 11 八月 2025 12:58:41 +0800
Subject: [PATCH] #

---
 rsf-admin/src/page/dashboard/NbList.jsx  |   79 +++++++++++++++++++++++++++++++++++++++
 rsf-admin/src/page/dashboard/index.jsx   |   13 ++++++
 rsf-admin/src/page/dashboard/NbChart.jsx |    6 +-
 3 files changed, 94 insertions(+), 4 deletions(-)

diff --git a/rsf-admin/src/page/dashboard/NbChart.jsx b/rsf-admin/src/page/dashboard/NbChart.jsx
index 2ed9df8..a0b6373 100644
--- a/rsf-admin/src/page/dashboard/NbChart.jsx
+++ b/rsf-admin/src/page/dashboard/NbChart.jsx
@@ -64,12 +64,12 @@
                                 >
                                     <stop
                                         offset="5%"
-                                        stopColor="#8884d8"
+                                        stopColor="#5091abff"
                                         stopOpacity={0.8}
                                     />
                                     <stop
                                         offset="95%"
-                                        stopColor="#8884d8"
+                                        stopColor="#5091abff"
                                         stopOpacity={0}
                                     />
                                 </linearGradient>
@@ -102,7 +102,7 @@
                             <Area
                                 type="monotone"
                                 dataKey="total"
-                                stroke="#8884d8"
+                                stroke="#5091abff"
                                 strokeWidth={2}
                                 fill="url(#colorUv)"
                             />
diff --git a/rsf-admin/src/page/dashboard/NbList.jsx b/rsf-admin/src/page/dashboard/NbList.jsx
new file mode 100644
index 0000000..9bb7024
--- /dev/null
+++ b/rsf-admin/src/page/dashboard/NbList.jsx
@@ -0,0 +1,79 @@
+import * as React from 'react';
+import { useTranslate, useReference } from 'react-admin';
+import {
+    ListItem,
+    ListItemSecondaryAction,
+    ListItemAvatar,
+    ListItemText,
+    Avatar,
+    Box,
+    ListItemButton,
+    Card,
+    CardHeader,
+    List,
+} from '@mui/material';
+import { Link } from 'react-router-dom';
+
+const NbList = (props) => {
+    const { orders = [] } = props;
+    const translate = useTranslate();
+
+    return (
+        <Card sx={{ flex: 1 }}>
+            <CardHeader title={translate('pos.dashboard.pending_orders')} />
+            <List dense={true}>
+                {orders.map(record => (
+                    <PendingOrder key={record.id} order={record} />
+                ))}
+            </List>
+        </Card>
+    );
+};
+
+export const PendingOrder = (props) => {
+    const { order } = props;
+    console.log(order);
+
+    const translate = useTranslate();
+    const { referenceRecord: customer, isPending } = useReference({
+        reference: 'customers',
+        id: order.customer_id,
+    });
+
+    return (
+        <ListItem disablePadding>
+            <ListItemButton component={Link} to={`/orders/${order.id}`}>
+                {/* <ListItemAvatar>
+                    {isPending ? (
+                        <Avatar />
+                    ) : (
+                        <Avatar
+                            src={`${customer?.avatar}?size=32x32`}
+                            sx={{ bgcolor: 'background.paper' }}
+                            alt={`${customer?.first_name} ${customer?.last_name}`}
+                        />
+                    )}
+                </ListItemAvatar> */}
+                <ListItemText
+                    primary={new Date(order.date).toLocaleString('en-GB')}
+                    secondary={translate('pos.dashboard.order.items', {
+                        name: order.name
+                    })}
+                />
+                <ListItemSecondaryAction>
+                    <Box
+                        component="span"
+                        sx={{
+                            marginRight: '1em',
+                            color: 'text.primary',
+                        }}
+                    >
+                        {order.total}$
+                    </Box>
+                </ListItemSecondaryAction>
+            </ListItemButton>
+        </ListItem>
+    );
+};
+
+export default NbList;
\ 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 c02706a..6dfbcbc 100644
--- a/rsf-admin/src/page/dashboard/index.jsx
+++ b/rsf-admin/src/page/dashboard/index.jsx
@@ -11,6 +11,7 @@
 import request from '@/utils/request';
 import { Box, Typography, LinearProgress, Stack } from '@mui/material';
 import NbChart from "./NbChart";
+import NbList from "./NbList";
 
 const styles = {
     flex: { display: 'flex' },
@@ -88,22 +89,32 @@
 
     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
         },
@@ -130,7 +141,7 @@
                         <NbChart orders={recentOrders} />
                     </div>
                     <div style={styles.singleCol}>
-                        {/* <PendingOrders orders={pendingOrders} /> */}
+                        <NbList orders={recentOrders} />
                     </div>
                 </div>
                 <div style={styles.rightCol}>

--
Gitblit v1.9.1