From daad745a9cf2e66c0021a359005175bdeddc51e5 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 18 十月 2024 16:12:23 +0800
Subject: [PATCH] #
---
zy-acs-flow/src/map/insight/shelf/ShelfMain.jsx | 107 +++++++++++++++++++++++++++++------------------------
1 files changed, 59 insertions(+), 48 deletions(-)
diff --git a/zy-acs-flow/src/map/insight/shelf/ShelfMain.jsx b/zy-acs-flow/src/map/insight/shelf/ShelfMain.jsx
index 174e75b..655567c 100644
--- a/zy-acs-flow/src/map/insight/shelf/ShelfMain.jsx
+++ b/zy-acs-flow/src/map/insight/shelf/ShelfMain.jsx
@@ -1,6 +1,5 @@
import React, { useRef, useEffect, useState } from 'react';
-import * as THREE from 'three';
-import { useTranslate } from 'react-admin';
+import { useTranslate, useDataProvider } from 'react-admin';
import {
Box,
CircularProgress,
@@ -10,13 +9,10 @@
Button,
Divider,
Stack,
- Card,
- CardContent,
} from '@mui/material';
import ShelfThree from './ShelfThree';
import { getLocGroup } from '../../http';
import { grey } from '@mui/material/colors';
-import { styled } from '@mui/system';
let shelfThree;
@@ -86,6 +82,7 @@
const ShelfMain = (props) => {
const { data, curLocNo, setCurLocNo } = props;
const translate = useTranslate();
+ const dataProvider = useDataProvider();
const containerRef = useRef();
const [loading, setLoading] = useState(true);
const [info, setInfo] = useState(null);
@@ -118,9 +115,20 @@
return endThree;
}, [info]);
- useEffect(() => {
- console.log(selectedLoc);
- }, [selectedLoc])
+ const updateStatus = () => {
+ dataProvider.update('loc', {
+ id: info.agvId,
+ data: {
+ status: info.status === 0 ? 1 : 0
+ }
+ }).then(({ data }) => {
+ fetchAgvInfo(curAgvNo);
+ notify.success(translate('common.response.success'));
+ }).catch((error) => {
+ notify.success(translate('common.response.fail'));
+ console.error(`Error: ${error.message}`);
+ });
+ }
return (
<Box display="flex" height="100%">
@@ -143,7 +151,7 @@
)}
</Box>
<Box width="50%" height="100%" overflow="auto" pl={1}>
- <Paper elevation={3} style={{
+ <Paper elevation={1} style={{
height: "100%",
padding: '16px',
display: 'flex',
@@ -151,44 +159,30 @@
justifyContent: 'space-between',
}}>
<Box>
- <Typography
- variant="subtitle1"
- flexWrap="nowrap"
- gutterBottom
- >
- {translate('table.field.loc.locNo')}: {curLocNo}
- </Typography>
- <Divider />
<Grid container spacing={2} style={{ marginTop: '0px' }}>
<Grid item xs={12}>
- <Stack direction='row'>
- <Typography
- variant="body2"
- flexWrap="nowrap"
- >
- {translate('table.field.loc.locSts')}:
- </Typography>
- <Typography
- variant="body2"
- flexWrap="nowrap"
- >
- {selectedLoc?.locSts$}
- </Typography>
- </Stack>
+ <KeyValuePair label={translate('table.field.loc.locNo')} value={selectedLoc?.locNo || 'N/A'} />
</Grid>
-
<Grid item xs={12}>
- <Typography variant="subtitle1">
- {translate('table.field.loc.zoneId')}
- </Typography>
- <Typography variant="body1">{info?.zoneId$}</Typography>
+ <KeyValuePair label={translate('table.field.loc.row')} value={selectedLoc?.row || 'N/A'} />
</Grid>
-
<Grid item xs={12}>
- <Typography variant="subtitle1">
- {translate('table.field.loc.code')}
- </Typography>
- <Typography variant="body1">{info?.code$}</Typography>
+ <KeyValuePair label={translate('table.field.loc.bay')} value={selectedLoc?.bay || 'N/A'} />
+ </Grid>
+ <Grid item xs={12}>
+ <KeyValuePair label={translate('table.field.loc.lev')} value={selectedLoc?.lev || 'N/A'} />
+ </Grid>
+ <Grid item xs={12}>
+ <KeyValuePair label={translate('table.field.loc.offset')} value={selectedLoc?.offset || 'N/A'} />
+ </Grid>
+ <Grid item xs={12}>
+ <KeyValuePair label={translate('table.field.loc.locSts')} value={selectedLoc?.locSts$ || 'N/A'} />
+ </Grid>
+ <Grid item xs={12}>
+ <KeyValuePair label={translate('table.field.loc.zoneId')} value={selectedLoc?.zoneId$ || 'N/A'} />
+ </Grid>
+ <Grid item xs={12}>
+ <KeyValuePair label={translate('table.field.loc.code')} value={selectedLoc?.code$ || 'N/A'} />
</Grid>
</Grid>
</Box>
@@ -199,14 +193,11 @@
{translate('common.field.opt')}
</Typography>
<Stack spacing={2} mt={2}>
- <Button variant="contained" color="error" fullWidth>
- lock
- </Button>
- <Button variant="contained" disabled fullWidth>
- unlock
- </Button>
<Button variant="contained" fullWidth>
- reset
+ {translate('page.map.insight.shelf.updateStatus')}
+ </Button>
+ <Button variant="contained" color="error" disabled={selectedLoc?.locStsEl !== 'STOCK'} fullWidth>
+ {translate('page.map.insight.shelf.outbound')}
</Button>
</Stack>
</Grid>
@@ -217,4 +208,24 @@
);
};
+const KeyValuePair = ({ label, value }) => (
+ <>
+ <Stack direction="row" alignItems="center" spacing={1} sx={{ mb: 1 }}>
+ <Typography
+ variant="body2"
+ sx={{ width: '80px', fontWeight: 'bold', color: 'text.secondary', textAlign: 'left' }}
+ >
+ {label}:
+ </Typography>
+ <Typography
+ variant="body2"
+ sx={{ flexGrow: 1, color: 'text.primary', whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis' }}
+ >
+ {value}
+ </Typography>
+ </Stack>
+ <Divider />
+ </>
+);
+
export default ShelfMain;
--
Gitblit v1.9.1