From b5ea3e3d55760df55073f82eacb2dbcb7d3c448f Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期三, 16 十月 2024 16:43:11 +0800 Subject: [PATCH] # --- zy-acs-flow/src/map/insight/shelf/ShelfMain.jsx | 124 ++++++++++++++++++----------------------- 1 files changed, 54 insertions(+), 70 deletions(-) diff --git a/zy-acs-flow/src/map/insight/shelf/ShelfMain.jsx b/zy-acs-flow/src/map/insight/shelf/ShelfMain.jsx index db4f07b..6a596e4 100644 --- a/zy-acs-flow/src/map/insight/shelf/ShelfMain.jsx +++ b/zy-acs-flow/src/map/insight/shelf/ShelfMain.jsx @@ -10,10 +10,13 @@ Button, Divider, Stack, + Card, + CardContent, } from '@mui/material'; import ShelfThree from './ShelfThree'; -import request from '@/utils/request'; import { getLocGroup } from '../../http'; +import { grey } from '@mui/material/colors'; +import { styled } from '@mui/system'; let shelfThree; @@ -41,30 +44,22 @@ mesh.position.set(0, singleHeight * (lev - 1), 0); mesh.scale.set(5, 5, 5); mesh.name = item.locNo; - mesh.traverse(function (child) { + mesh.traverse((child) => { if (child.isMesh) { - if (child.name === '璐ф灦') { - child.material.color.set(0x4680BF); - } - let palletVisible = true, cargoVisible = true; - switch (item.locStsEl) { - case 'STOCK': - cargoVisible = false; + switch (child.name) { + case '璐ф灦': + child.material.color.set(0x4680BF); break; - case 'IDLE': - palletVisible = false; - cargoVisible = false; + case '鎵樼洏': + child.visible = item.locStsEl === 'STOCK' || item.locStsEl === 'PAKOUT'; + child.material.color.set(0xBEBEBE); + break; + case '涓嶈鍒�': + child.visible = item.locStsEl === 'STOCK' || item.locStsEl === 'PAKOUT'; + child.material.color.set(0xE8B67E); break; default: break; - } - if (child.name === '鎵樼洏') { - child.visible = palletVisible; - child.material.color.set(0xBEBEBE); - } - if (child.name === '涓嶈鍒�') { - child.visible = cargoVisible; - child.material.color.set(0xE8B67E); } child.name = item.locNo child.castShadow = true; @@ -84,7 +79,6 @@ }).catch(error => { console.error(error); }); - }) } } @@ -94,10 +88,8 @@ const translate = useTranslate(); const containerRef = useRef(); const [loading, setLoading] = useState(true); - const [shelfThree, setShelfThree] = useState(null); const [info, setInfo] = useState(null); - - + const [selectedLoc, setSelectedLoc] = useState(null); useEffect(() => { if (data) { @@ -112,51 +104,28 @@ if (info) { endThree(); setLoading(true); - setTimeout(() => { startThree(containerRef.current); shelfThree.handleClick = (objName) => { setCurLocNo(objName); + setSelectedLoc(info.find(loc => objName === loc.locNo)); }; renderThree(info, curLocNo); setLoading(false); }, 300) - } - return endThree; }, [info]); - - useEffect(() => { - const initThree = () => { - const shelfThreeInstance = new ShelfThree(containerRef.current); - shelfThreeInstance.startup(); - shelfThreeInstance.handleClick = (objName) => { - setCurLocNo(objName); - }; - setShelfThree(shelfThreeInstance); - setLoading(false); - // Fetch initial data - }; - - initThree(); - - return () => { - if (shelfThree) { - shelfThree.destroy(); - } - }; - }, []); - - + console.log(selectedLoc); + }, [selectedLoc]) return ( - <Box display="flex" height="500px"> + <Box display="flex" height="100%"> <Box position="relative" - width="60%" + width="50%" height="100%" ref={containerRef} style={{ backgroundColor: '#7a7a7a' }} @@ -168,52 +137,67 @@ left="50%" style={{ transform: 'translate(-50%, -50%)' }} > - <CircularProgress /> + <CircularProgress sx={{ color: grey[50] }} /> </Box> )} </Box> - <Box width="40%" height="100%" overflow="auto" p={2}> - {/* <Paper elevation={3} style={{ padding: '16px' }}> - <Typography variant="h6" gutterBottom> - {translate('map.loc.no', { defaultMessage: '搴撲綅鍙�' })}: {curLocNo} + <Box width="50%" height="100%" overflow="auto" pl={1}> + <Paper elevation={3} style={{ padding: '16px' }}> + <Typography + variant="subtitle1" + flexWrap="nowrap" + gutterBottom + > + {translate('table.field.loc.locNo')}: {curLocNo} </Typography> <Divider /> - <Grid container spacing={2} style={{ marginTop: '16px' }}> + <Grid container spacing={2} style={{ marginTop: '0px' }}> <Grid item xs={12}> - <Typography variant="subtitle1"> - {translate('map.loc.sts', { defaultMessage: '搴撲綅鐘舵��' })} - </Typography> - <Typography variant="body1">{info?.locSts}</Typography> + <Stack direction='row'> + <Typography + variant="body2" + flexWrap="nowrap" + > + {translate('table.field.loc.locSts')} + </Typography> + <Typography + variant="body2" + flexWrap="nowrap" + > + {selectedLoc?.locSts$} + </Typography> + </Stack> </Grid> <Grid item xs={12}> <Typography variant="subtitle1"> - {translate('map.pallet.barcode', { defaultMessage: '鎵樼洏鏉$爜' })} + {translate('table.field.loc.zoneId')} </Typography> - <Typography variant="body1">{info?.zpallet}</Typography> + <Typography variant="body1">{info?.zoneId$}</Typography> </Grid> <Grid item xs={12}> <Typography variant="subtitle1"> - {translate('map.is.enable', { defaultMessage: '鏄惁鍚敤' })} + {translate('table.field.loc.code')} </Typography> + <Typography variant="body1">{info?.code$}</Typography> </Grid> <Grid item xs={12}> <Typography variant="subtitle1"> - {translate('map.loc.operation', { defaultMessage: '搴撲綅鎿嶄綔' })} + {translate('common.field.opt')} </Typography> <Stack spacing={2} mt={2}> <Button variant="contained" color="error" fullWidth> - {translate('map.loc.lock', { defaultMessage: '閿佸畾' })} + {translate('map.loc.lock')} </Button> <Button variant="contained" disabled fullWidth> - {translate('map.loc.unlock', { defaultMessage: '瑙i攣' })} + {translate('map.loc.unlock')} </Button> <Button variant="contained" fullWidth> - {translate('map.loc.reset', { defaultMessage: '娓呴櫎搴撲綅' })} + {translate('map.loc.reset')} </Button> </Stack> </Grid> </Grid> - </Paper> */} + </Paper> </Box> </Box> ); -- Gitblit v1.9.1