| | |
| | | } |
| | | |
| | | 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(() => { |
| | |
| | | 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); |
| | |
| | | <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} |
| | | /> |
| | | )} |