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