From 54d940c0bfabe90700d0bcc9e72dc93bc8bafaad Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 11 十月 2024 10:54:26 +0800
Subject: [PATCH] #

---
 zy-acs-flow/src/map/settings/ConfigSettings.jsx |   68 ++++++++++++++++++++-------------
 1 files changed, 41 insertions(+), 27 deletions(-)

diff --git a/zy-acs-flow/src/map/settings/ConfigSettings.jsx b/zy-acs-flow/src/map/settings/ConfigSettings.jsx
index 0e74d1b..15b695c 100644
--- a/zy-acs-flow/src/map/settings/ConfigSettings.jsx
+++ b/zy-acs-flow/src/map/settings/ConfigSettings.jsx
@@ -22,12 +22,14 @@
 } from '../constants';
 import { useNotification } from '../Notification';
 
-export const getFormDefaultValues = (data) => ({
-    row: data?.row ?? '',
-    bay: data?.bay ?? '',
-    no: data?.no ?? '',
-    ...data,
-});
+export const getFormDefaultValues = (data) => {
+    return {
+        row: data?.row ?? '',
+        bay: data?.bay ?? '',
+        no: data?.no ?? '',
+        ...data,
+    }
+};
 
 const ConfigSettings = (props) => {
     const { sprite, onSubmit } = props;
@@ -44,16 +46,25 @@
         }
     }, [sprite, reset]);
 
+    const deviceType = sprite?.data?.type;
+
     const rowValue = watch('row');
     const bayValue = watch('bay');
 
     useEffect(() => {
-        if (rowValue != null && bayValue != null && rowValue !== '' && bayValue !== '') {
-            setValue('no', `${rowValue}-${bayValue}`);
-        } else {
-            setValue('no', '');
+        if (deviceType === DEVICE_TYPE.SHELF) {
+            if (rowValue != null && bayValue != null && rowValue !== '' && bayValue !== '') {
+                setValue('no', `${rowValue}-${bayValue}`);
+            } else {
+                setValue('no', '');
+            }
         }
-    }, [rowValue, bayValue, setValue]);
+    }, [
+        setValue,
+        deviceType,
+        rowValue,
+        bayValue,
+    ]);
 
     const onFormSubmit = (data) => {
         if (sprite && sprite.data) {
@@ -72,7 +83,7 @@
         <>
             <Box component="form" onSubmit={handleSubmit(onFormSubmit)} noValidate sx={{ mt: 0 }}>
                 <Grid container spacing={1.4}>
-                    {sprite?.data?.type === DEVICE_TYPE.SHELF && (
+                    {deviceType === DEVICE_TYPE.SHELF && (
                         <>
                             <Grid item xs={6}>
                                 <Controller
@@ -111,20 +122,21 @@
                         </>
                     )}
 
-                    {sprite?.data?.type === DEVICE_TYPE.CHARGE && (
+                    {deviceType === DEVICE_TYPE.CHARGE && (
                         <>
                         </>
                     )}
 
-                    {sprite?.data?.type === DEVICE_TYPE.STATION && (
+                    {deviceType === DEVICE_TYPE.STATION && (
                         <>
                         </>
                     )}
 
-                    {sprite?.data?.type === DEVICE_TYPE.POINT && (
+                    {deviceType === DEVICE_TYPE.POINT && (
                         <>
                         </>
                     )}
+
                     <Grid item xs={12}>
                         <Divider />
                     </Grid>
@@ -138,18 +150,20 @@
                         <Controller
                             name="no"
                             control={control}
-                            render={({ field }) => (
-                                <TextField
-                                    {...field}
-                                    label="No"
-                                    type="text"
-                                    value={field.value || ''}
-                                    fullWidth
-                                    onChange={(e) => {
-                                        field.onChange(e);
-                                    }}
-                                />
-                            )}
+                            render={({ field }) => {
+                                return (
+                                    <TextField
+                                        {...field}
+                                        label="No"
+                                        type="text"
+                                        value={field.value || ''}
+                                        fullWidth
+                                        onChange={(e) => {
+                                            field.onChange(e);
+                                        }}
+                                    />
+                                )
+                            }}
                         />
                     </Grid>
 

--
Gitblit v1.9.1