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