From 9c5567aaa3bd765e350a9a9773ca510f76410210 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 18 十月 2024 16:27:40 +0800
Subject: [PATCH] #
---
zy-acs-flow/src/map/insight/shelf/index.jsx | 39 ++++++++++++++++++++++++++++++++++++---
zy-acs-flow/src/map/insight/shelf/ShelfMain.jsx | 17 ++++-------------
2 files changed, 40 insertions(+), 16 deletions(-)
diff --git a/zy-acs-flow/src/map/insight/shelf/ShelfMain.jsx b/zy-acs-flow/src/map/insight/shelf/ShelfMain.jsx
index 655567c..0668829 100644
--- a/zy-acs-flow/src/map/insight/shelf/ShelfMain.jsx
+++ b/zy-acs-flow/src/map/insight/shelf/ShelfMain.jsx
@@ -80,26 +80,17 @@
}
const ShelfMain = (props) => {
- const { data, curLocNo, setCurLocNo } = props;
+ const { curLocNo, curShelfInfo: info, setCurLocNo } = props;
const translate = useTranslate();
const dataProvider = useDataProvider();
const containerRef = useRef();
- const [loading, setLoading] = useState(true);
- const [info, setInfo] = useState(null);
- const [selectedLoc, setSelectedLoc] = useState(null);
- useEffect(() => {
- if (data) {
- getLocGroup(data.row, data.bay, (response) => {
- setInfo(response);
- setCurLocNo(response[0]?.locNo);
- setSelectedLoc(response[0]);
- });
- }
- }, [data]);
+ const [selectedLoc, setSelectedLoc] = useState(null); // loc obj
+ const [loading, setLoading] = useState(true);
useEffect(() => {
if (info) {
+ setSelectedLoc(info[0]);
endThree();
setLoading(true);
setTimeout(() => {
diff --git a/zy-acs-flow/src/map/insight/shelf/index.jsx b/zy-acs-flow/src/map/insight/shelf/index.jsx
index 79eb244..e274599 100644
--- a/zy-acs-flow/src/map/insight/shelf/index.jsx
+++ b/zy-acs-flow/src/map/insight/shelf/index.jsx
@@ -3,15 +3,48 @@
import { Box, Typography, Tabs, Tab, Stack, useTheme, Divider } from '@mui/material';
import ShelfMain from './ShelfMain';
import JsonShow from '../../JsonShow';
+import { getLocGroup } from '../../http';
const ShelfInsight = (props) => {
const { sprite, setTitle } = props;
const theme = useTheme();
- const themeMode = theme.palette.mode;
const translate = useTranslate();
const [activeTab, setActiveTab] = useState(0);
+ const [curShelfInfo, setCurShelfInfo] = useState(null);
const [curLocNo, setCurLocNo] = useState(null);
+
+ const fetchShelfInfo = (row, bay) => {
+ getLocGroup(row, bay, (response) => {
+ setCurShelfInfo(response);
+ const defaultLocNo = response[0]?.locNo;
+ setCurLocNo(defaultLocNo);
+ });
+ }
+
+ useEffect(() => {
+ if (sprite) {
+ const { row, bay } = sprite.data;
+ if (row && bay) {
+ fetchShelfInfo(row, bay);
+ }
+ }
+
+ return () => {
+ setCurLocNo(null);
+ setCurShelfInfo(null);
+ }
+ }, [sprite]);
+
+ useEffect(() => {
+ if (curLocNo) {
+ setTitle(translate('page.map.devices.shelf') + ' - ' + curLocNo);
+ }
+
+ return () => {
+ setTitle(null);
+ }
+ }, [curLocNo])
const handleTabChange = (event, newValue) => {
setActiveTab(newValue);
@@ -34,14 +67,14 @@
<Box flex={1} pt={2}>
{activeTab === 0 && (
<ShelfMain
- data={sprite?.data}
curLocNo={curLocNo}
+ curShelfInfo={curShelfInfo}
setCurLocNo={setCurLocNo}
/>
)}
{activeTab === 1 && (
<JsonShow
- data={sprite?.data}
+ data={curShelfInfo || sprite?.data}
height={550}
/>
)}
--
Gitblit v1.9.1