From 4cbeb181378a123c1905fa318cf61bdcfb144b8e Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 11 十月 2024 09:43:48 +0800
Subject: [PATCH] #

---
 zy-acs-flow/src/map/settings/index.jsx          |   11 --
 zy-acs-flow/src/i18n/en.js                      |    7 +
 zy-acs-flow/src/i18n/zh.js                      |    7 +
 zy-acs-flow/src/map/settings/ConfigSettings.jsx |  158 +++++++++++++++++++++++++++++++++++++++
 4 files changed, 174 insertions(+), 9 deletions(-)

diff --git a/zy-acs-flow/src/i18n/en.js b/zy-acs-flow/src/i18n/en.js
index bb449e7..6e35cb7 100644
--- a/zy-acs-flow/src/i18n/en.js
+++ b/zy-acs-flow/src/i18n/en.js
@@ -655,6 +655,13 @@
                 },
                 config: {
                     title: 'Config Parameters',
+                    base: {
+                        no: 'No',
+                    },
+                    shelf: {
+                        row: 'Row',
+                        bay: 'Bay',
+                    },
                 },
             },
             insight: {
diff --git a/zy-acs-flow/src/i18n/zh.js b/zy-acs-flow/src/i18n/zh.js
index 98909a5..3abe1d1 100644
--- a/zy-acs-flow/src/i18n/zh.js
+++ b/zy-acs-flow/src/i18n/zh.js
@@ -653,6 +653,13 @@
                 },
                 config: {
                     title: '绯荤粺鍙傛暟',
+                    base: {
+                        no: '缂栧彿',
+                    },
+                    shelf: {
+                        row: '鎺�',
+                        bay: '鍒�',
+                    },
                 },
             },
             insight: {
diff --git a/zy-acs-flow/src/map/settings/ConfigSettings.jsx b/zy-acs-flow/src/map/settings/ConfigSettings.jsx
new file mode 100644
index 0000000..0d8124b
--- /dev/null
+++ b/zy-acs-flow/src/map/settings/ConfigSettings.jsx
@@ -0,0 +1,158 @@
+import React, { useEffect } from 'react';
+import { useForm, Controller } from 'react-hook-form';
+import {
+    Box,
+    Grid,
+    Typography,
+    TextField,
+    Slider,
+    Button,
+    Select,
+    MenuItem,
+    InputLabel,
+    FormControl,
+    Stack,
+    Divider,
+} from '@mui/material';
+import { useTranslate } from 'react-admin';
+import * as Tool from '../tool';
+import ConfirmButton from '../../page/components/ConfirmButton';
+import {
+    DEVICE_TYPE,
+    DEVICE_Z_INDEX,
+} from '../constants';
+
+const ConfigSettings = (props) => {
+    const { sprite, setSpriteSettings, onSubmit } = props;
+    const translate = useTranslate();
+
+    const { control, handleSubmit, reset, watch } = useForm({
+        defaultValues: {
+            ...sprite.data
+        },
+    });
+
+    const updateSprite = (data) => {
+    };
+
+    const onFormSubmit = (data) => {
+        console.log(data);
+        if (onSubmit) {
+            onSubmit(data);
+        }
+    };
+
+    return (
+        <>
+            <Box component="form" onSubmit={handleSubmit(onFormSubmit)} noValidate sx={{ mt: 0 }}>
+                <Grid container spacing={1.4}>
+
+                    {sprite?.data?.type === DEVICE_TYPE.SHELF && (
+                        <>
+                            <Grid item xs={6} pt={0} sx={{
+                                paddingTop: '8px !important',
+                            }}>
+                                <Controller
+                                    name="row"
+                                    control={control}
+                                    render={({ field }) => (
+                                        <TextField
+                                            {...field}
+                                            label={translate('page.map.settings.config.shelf.row')}
+                                            type="number"
+                                            fullWidth
+                                            onChange={(e) => {
+                                                const value = e.target.value;
+                                                field.onChange(e);
+                                                updateSprite();
+                                            }}
+                                        />
+                                    )}
+                                />
+                            </Grid>
+                            <Grid item xs={6} pt={0} sx={{
+                                paddingTop: '8px !important',
+                            }}>
+                                <Controller
+                                    name="bay"
+                                    control={control}
+                                    render={({ field }) => (
+                                        <TextField
+                                            {...field}
+                                            label={translate('page.map.settings.config.shelf.bay')}
+                                            type="number"
+                                            fullWidth
+                                            onChange={(e) => {
+                                                const value = e.target.value;
+                                                field.onChange(e);
+                                            }}
+                                        />
+                                    )}
+                                />
+                            </Grid>
+                        </>
+                    )}
+
+                    {sprite?.data?.type === DEVICE_TYPE.CHARGE && (
+                        <>
+                        </>
+                    )}
+
+                    {sprite?.data?.type === DEVICE_TYPE.STATION && (
+                        <>
+                        </>
+                    )}
+
+                    {sprite?.data?.type === DEVICE_TYPE.POINT && (
+                        <>
+                        </>
+                    )}
+
+                    <Grid item xs={12}>
+                        <Divider />
+                    </Grid>
+
+                    {/* <Grid item xs={12}>
+                        <Typography variant="inherit">
+                            {translate('page.map.settings.config.base.no')}
+                        </Typography>
+                    </Grid> */}
+                    <Grid item xs={6} pt={0} sx={{
+                        paddingTop: '8px !important',
+                    }}>
+
+                        <Controller
+                            name="no"
+                            control={control}
+                            render={({ field }) => (
+                                <TextField
+                                    {...field}
+                                    label="No"
+                                    type="text"
+                                    fullWidth
+                                    onChange={(e) => {
+                                        const value = e.target.value;
+                                        field.onChange(e);
+                                    }}
+                                />
+                            )}
+                        />
+                    </Grid>
+
+                    <Grid item xs={12} mt={2}>
+                        <Stack direction="row" spacing={2}>
+                            <Button variant="contained" color="primary" onClick={() => {
+                            }}>
+                                {translate('ra.action.confirm')}
+                            </Button>
+                        </Stack>
+                    </Grid>
+
+                </Grid>
+            </Box>
+        </>
+    )
+}
+
+
+export default ConfigSettings;
\ No newline at end of file
diff --git a/zy-acs-flow/src/map/settings/index.jsx b/zy-acs-flow/src/map/settings/index.jsx
index 36c764d..7e61e10 100644
--- a/zy-acs-flow/src/map/settings/index.jsx
+++ b/zy-acs-flow/src/map/settings/index.jsx
@@ -4,6 +4,7 @@
 import CloseIcon from '@mui/icons-material/Close';
 import { PAGE_DRAWER_WIDTH } from '@/config/setting';
 import MapSettings from './MapSettings';
+import ConfigSettings from './ConfigSettings';
 
 const Settings = (props) => {
     const { open, onCancel, sprite, width = PAGE_DRAWER_WIDTH, title, setSpriteSettings } = props;
@@ -41,7 +42,7 @@
                         <Stack direction="row" p={2}>
                             <Typography variant="h6" flex="1">
                                 {sprite
-                                    ? 'No.' + sprite?.data?.uuid + ' - ' + translate(`page.map.devices.${sprite?.data?.type?.toLowerCase()}`)
+                                    ? translate(`page.map.devices.${sprite?.data?.type?.toLowerCase()}`) + ' - ' + sprite?.data?.uuid
                                     : translate('page.map.settings.title')}
                             </Typography>
                             <IconButton onClick={handleClose} size="small">
@@ -86,7 +87,6 @@
                                             <ConfigSettings
                                                 sprite={sprite}
                                                 onSubmit={() => {
-                                                    alert('ConfigSettings')
                                                 }}
                                             />
                                         )}
@@ -98,13 +98,6 @@
                 )}
             </Drawer>
         </>
-    )
-}
-
-const ConfigSettings = () => {
-
-    return (
-        <h1>ConfigSettings</h1>
     )
 }
 

--
Gitblit v1.9.1