From 7f70cb15d035f0c233b9e62b9e43aa985317c908 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 04 十一月 2024 10:22:45 +0800 Subject: [PATCH] # --- zy-acs-flow/src/map/insight/shelf/index.jsx | 63 +++++++++++++++++++++++++------ 1 files changed, 51 insertions(+), 12 deletions(-) diff --git a/zy-acs-flow/src/map/insight/shelf/index.jsx b/zy-acs-flow/src/map/insight/shelf/index.jsx index fe7f02d..c5d6076 100644 --- a/zy-acs-flow/src/map/insight/shelf/index.jsx +++ b/zy-acs-flow/src/map/insight/shelf/index.jsx @@ -2,47 +2,86 @@ import { useTranslate } from "react-admin"; 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 { } = 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); }; return ( - <> + <Box sx={{ height: '100%', display: 'flex', flexDirection: 'column' }}> <Tabs value={activeTab} onChange={handleTabChange} - indicatorColor="primary" - textColor="primary" centered sx={{ mb: 0 }} > - <Tab label={translate('page.map.settings.map.title')} /> - <Tab label={translate('page.map.settings.config.title')} /> + <Tab label={translate('page.map.insight.title')} /> + <Tab label={'JSON'} /> </Tabs> <Divider /> - <Box p={3}> + <Box flex={1} pt={2}> {activeTab === 0 && ( <ShelfMain + row={sprite?.data?.row} + bay={sprite?.data?.bay} + curLocNo={curLocNo} + curShelfInfo={curShelfInfo} + setCurLocNo={setCurLocNo} /> )} {activeTab === 1 && ( - <Box> - <h1>2</h1> - </Box> + <JsonShow + data={curShelfInfo || sprite?.data} + height={550} + /> )} </Box> - </> + </Box> ) } -- Gitblit v1.9.1