From 04796fd3b6aa9a3a0b918499f47ce7f73ae48e2d Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期五, 11 十月 2024 14:54:22 +0800 Subject: [PATCH] # --- zy-acs-flow/src/map/settings/CopyDrawer.jsx | 130 ++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 127 insertions(+), 3 deletions(-) diff --git a/zy-acs-flow/src/map/settings/CopyDrawer.jsx b/zy-acs-flow/src/map/settings/CopyDrawer.jsx index e880819..b57882d 100644 --- a/zy-acs-flow/src/map/settings/CopyDrawer.jsx +++ b/zy-acs-flow/src/map/settings/CopyDrawer.jsx @@ -15,20 +15,52 @@ Divider, Drawer, IconButton, + LinearProgress, } from '@mui/material'; import CloseIcon from '@mui/icons-material/Close'; import { useTranslate } from 'react-admin'; import * as Tool from '../tool'; import { PAGE_DRAWER_WIDTH } from '@/config/setting'; - +import { + DEVICE_TYPE, +} from '../constants'; +import { useNotification } from '../Notification'; const CopyDrawer = (props) => { - const { open, onCancel, sprite, width = PAGE_DRAWER_WIDTH, title } = props; + const { open, onCancel, sprite, value, width = PAGE_DRAWER_WIDTH, handleOnCopy } = props; + const notify = useNotification(); const translate = useTranslate(); + const deviceType = sprite?.data?.type; + + const { control, handleSubmit, reset, watch, setValue, formState: { errors } } = useForm({ + defaultValues: { + copyDirect: value?.copyDirect || '', + copyCount: value?.copyCount || '', + gap: value?.gap || 0.0, + }, + }); + + useEffect(() => { + if (value && Object.keys(value).length > 0) { + } + }, [value, setValue]) + + // if (!value || !sprite) return <LinearProgress />; const handleClose = () => { onCancel(); } + + const onFormSubmit = (data) => { + if (data) { + console.log(data); + + } + if (handleOnCopy) { + handleOnCopy(data); + } + notify.info(translate('common.response.success')); + }; return ( <> @@ -39,7 +71,7 @@ onClose={handleClose} sx={{ zIndex: 100, opacity: 1 }} > - {open && ( + {(open) && ( <Box pt={12} width={{ xs: '100vW', sm: width }} height={'calc(100vh - 200px);'} mt={{ xs: 2, sm: 1 }} sx={{ }}> <Stack direction="row" p={2}> @@ -52,6 +84,98 @@ </Stack> <Box p={3}> + <Box component="form" onSubmit={handleSubmit(onFormSubmit)} noValidate sx={{ mt: 0 }}> + <Grid container spacing={1.4}> + + <Grid item xs={6}> + <Controller + name="copyDirect" + control={control} + render={({ field }) => ( + <TextField + {...field} + label={translate('page.map.settings.map.copy.direction')} + InputProps={{ + readOnly: true, + }} + fullWidth + /> + )} + /> + </Grid> + + <Grid item xs={6}> + <Controller + name="copyCount" + control={control} + render={({ field }) => ( + <TextField + {...field} + label={translate('page.map.settings.map.copy.count')} + InputProps={{ + readOnly: true, + }} + fullWidth + /> + )} + /> + </Grid> + + <Grid item xs={12}> + <Controller + name="gap" + control={control} + render={({ field }) => ( + <TextField + {...field} + label={translate('page.map.settings.map.copy.field.gap')} + type="number" + sx={{ width: '50%' }} + fullWidth + onChange={(e) => { + const value = parseFloat(e.target.value).toFixed(1); + field.onChange(value); + }} + /> + )} + /> + </Grid> + + {deviceType === DEVICE_TYPE.SHELF && ( + <> + </> + )} + + {deviceType === DEVICE_TYPE.CHARGE && ( + <> + </> + )} + + {deviceType === DEVICE_TYPE.STATION && ( + <> + </> + )} + + {deviceType === DEVICE_TYPE.POINT && ( + <> + </> + )} + + + <Grid item xs={12}> + <Divider /> + </Grid> + + <Grid item xs={12} mt={2}> + <Stack direction="row" spacing={2}> + <Button variant="contained" color="primary" type="submit"> + {translate('ra.action.confirm')} + </Button> + </Stack> + </Grid> + + </Grid> + </Box> </Box> </Box> )} -- Gitblit v1.9.1