From f788849c6f649dbc6c5c8699d8f83d71ba484376 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期五, 15 八月 2025 09:03:55 +0800
Subject: [PATCH] 库存使用率修改

---
 rsf-admin/src/page/dashboard/NbList.jsx        |   17 +++++---
 rsf-admin/src/page/components/CardWithIcon.jsx |    1 
 rsf-admin/src/i18n/zh.js                       |    2 
 rsf-admin/src/i18n/en.js                       |    5 ++
 rsf-admin/src/page/dashboard/index.jsx         |   23 +++++++++--
 rsf-admin/src/page/dashboard/NbPie.jsx         |   40 ++++++++------------
 6 files changed, 52 insertions(+), 36 deletions(-)

diff --git a/rsf-admin/src/i18n/en.js b/rsf-admin/src/i18n/en.js
index 4312ccf..f9fd34b 100644
--- a/rsf-admin/src/i18n/en.js
+++ b/rsf-admin/src/i18n/en.js
@@ -1215,6 +1215,11 @@
                 inStockQty: '',
                 outStockQty: '',
                 taskWorkQty: '',
+                planQty: 'Plan',
+                realQty: 'Real Qty',
+                waitQty: 'Wait Qty',
+                waitOutQty: 'Wait Out Qty',
+                stockUsage: 'Stock Usage',
             },
             chart: {
                 histories: 'Orders Echart',
diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js
index 2ca1992..b7642e8 100644
--- a/rsf-admin/src/i18n/zh.js
+++ b/rsf-admin/src/i18n/zh.js
@@ -1231,7 +1231,7 @@
                 realQty: '瀹為檯',
                 waitQty: '寰呭叆',
                 waitOutQty: '寰呭嚭',
-
+                stockUsage: '搴撳瓨浣跨敤鐜�',
             },
             chart: {
                 histories: '鍑哄叆搴撹秼鍔垮浘',
diff --git a/rsf-admin/src/page/components/CardWithIcon.jsx b/rsf-admin/src/page/components/CardWithIcon.jsx
index 567a0bb..5e4b3d0 100644
--- a/rsf-admin/src/page/components/CardWithIcon.jsx
+++ b/rsf-admin/src/page/components/CardWithIcon.jsx
@@ -11,6 +11,7 @@
         <Card
             sx={{
                 width: '100%',
+                maxHeight: 1025,
                 minHeight: 52,
                 flexDirection: 'column',
                 flex: '1',
diff --git a/rsf-admin/src/page/dashboard/NbList.jsx b/rsf-admin/src/page/dashboard/NbList.jsx
index 4cb2005..4149f63 100644
--- a/rsf-admin/src/page/dashboard/NbList.jsx
+++ b/rsf-admin/src/page/dashboard/NbList.jsx
@@ -19,20 +19,23 @@
 const NbList = ({ deadStock }) => {
     const translate = useTranslate();
     return (
-        <Card sx={{ flex: 1 }}>
+        <Card sx={{
+            flex: 1,
+        }}>
             <CardHeader title={translate('page.dashboard.list.stock')} />
-            <List dense={true}>
-                {deadStock.map(record => (
-                    <PendingOrder key={`record?.id + ${Math.random().toString(36).substr(2, 9)} `} order={record} />
-                ))}
-            </List>
+            <Box sx={{ maxHeight: 500, overflowY: 'auto',}}>
+                <List dense={true}>
+                    {deadStock.map(record => (
+                        <PendingOrder key={`record?.id + ${Math.random().toString(36).substr(2, 9)} `} order={record} />
+                    ))}
+                </List>
+            </Box>
         </Card>
     );
 };
 
 export const PendingOrder = (props) => {
     const { order } = props;
-    console.log(order);
     const translate = useTranslate();
     // const { referenceRecord: customer, isPending } = useReference({
     //     reference: 'customers',
diff --git a/rsf-admin/src/page/dashboard/NbPie.jsx b/rsf-admin/src/page/dashboard/NbPie.jsx
index 6b2d64e..c614e70 100644
--- a/rsf-admin/src/page/dashboard/NbPie.jsx
+++ b/rsf-admin/src/page/dashboard/NbPie.jsx
@@ -1,47 +1,39 @@
 
 import * as React from 'react';
 import { Pie, PieChart, ResponsiveContainer, Tooltip } from 'recharts';
-import { Card } from "@mui/material";
+import { Card, CardHeader } from "@mui/material";
 import { useTranslate } from "react-admin";
 
 
-const NbPie = ({ deadStock }) => {
+const NbPie = ({ deadStock, locUsage }) => {
     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 },
-    ];
+    console.log(locUsage);
 
     return (
         <>
-            <Card>
+            <Card sx={{
+                width: '100%',
+                maxHeight: 570,
+                flexDirection: 'column',
+                flex: '1',
+                '& a': {
+                    textDecoration: 'none',
+                    color: 'inherit',
+                },
+            }}>
+                <CardHeader title={translate('page.dashboard.header.stockUsage')} />
                 <ResponsiveContainer width="100%" height="100%">
                     <PieChart width={400} height={400}>
                         <Pie
                             dataKey="value"
                             isAnimationActive={false}
-                            data={data01}
+                            data={locUsage}
                             cx="50%"
-                            cy="50%"
+                            cy="40%"
                             outerRadius={80}
                             fill="#8884d8"
                             label
                         />
-                        <Pie dataKey="value" data={data02} cx={500} cy={200} innerRadius={40} outerRadius={80} fill="#82ca9d" />
                         <Tooltip />
                     </PieChart>
                 </ResponsiveContainer>
diff --git a/rsf-admin/src/page/dashboard/index.jsx b/rsf-admin/src/page/dashboard/index.jsx
index c2f7fd8..d47caa1 100644
--- a/rsf-admin/src/page/dashboard/index.jsx
+++ b/rsf-admin/src/page/dashboard/index.jsx
@@ -13,7 +13,6 @@
 import NbChart from "./NbChart";
 import NbList from "./NbList";
 import NbCard from "./NbCard";
-import { orderBy } from 'lodash';
 import NbPie from './NbPie';
 
 const styles = {
@@ -75,11 +74,13 @@
     const [statistic, setStatistic] = useState({});
     const [stock, setStock] = useState([]);
     const [deadStock, setDeadStock] = useState([]);
+    const [locUsage, setLocUsages] = useState([]);
 
     useEffect(() => {
         getDashBoardHeader()
         getRecentTrands()
         getRecentStocks()
+        getRecentUsage()
 
     }, [])
 
@@ -101,6 +102,21 @@
             const { code, msg, data } = res?.data;
             if (code === 200) {
                 setDeadStock(data?.records);
+            } else {
+                notify(msg, { type: 'error', messageArgs: { _: msg } });
+            }
+        }).catch((error) => {
+            notify(error.message, { type: 'error', messageArgs: { _: error.message } });
+        })
+    }
+
+    const getRecentUsage = () => {
+        request.post("/loc/pie/list").then(res => {
+            const { code, msg, data } = res?.data;
+            console.log(data);
+            console.log(code);
+            if (code === 200) {
+                setLocUsages(data?.data)
             } else {
                 notify(msg, { type: 'error', messageArgs: { _: msg } });
             }
@@ -151,12 +167,11 @@
                         <NbChart orders={stock} />
                     </Box>
                     <Spacer />
-                    <Box sx={{ display: 'flex' }}>
+                    <Box sx={{ display: 'flex', justifyContent: 'space-between' }}>
                         <NbList deadStock={deadStock} />
-                        <NbPie />
+                        <NbPie locUsage={locUsage} />
                     </Box>
                     <Spacer />
-
                 </Grid>
                 <Grid item md={4}>
                     <Box sx={{ display: 'flex' }}>

--
Gitblit v1.9.1