From 9483baffba9a24a2a36fc8739fc65b59317d9142 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期四, 03 七月 2025 14:18:46 +0800
Subject: [PATCH] 队列拆分

---
 zy-acs-flow/src/map/settings/ConfigSettings.jsx |   45 +++++++++++++++------------------------------
 1 files changed, 15 insertions(+), 30 deletions(-)

diff --git a/zy-acs-flow/src/map/settings/ConfigSettings.jsx b/zy-acs-flow/src/map/settings/ConfigSettings.jsx
index 75aee21..2ac2917 100644
--- a/zy-acs-flow/src/map/settings/ConfigSettings.jsx
+++ b/zy-acs-flow/src/map/settings/ConfigSettings.jsx
@@ -22,28 +22,20 @@
 } from '../constants';
 import { useNotification } from '../Notification';
 
-export const getFormDefaultValues = (data) => {
-    return {
-        row: data?.row ?? '',
-        bay: data?.bay ?? '',
-        no: data?.no ?? '',
-        ...data,
-    }
-};
-
 const ConfigSettings = (props) => {
     const { sprite, onSubmit } = props;
     const notify = useNotification();
     const translate = useTranslate();
 
-    const { control, handleSubmit, reset, watch, setValue, unregister } = useForm({
-        defaultValues: getFormDefaultValues(sprite?.data),
-        shouldUnregister: true,
+    const { control, handleSubmit, reset, watch, setValue, formState: { errors } } = useForm({
+        defaultValues: { ...sprite?.data },
     });
 
     useEffect(() => {
         if (sprite?.data) {
-            reset(getFormDefaultValues(sprite.data));
+            reset({
+                ...sprite.data
+            });
         }
     }, [sprite, reset]);
 
@@ -51,13 +43,6 @@
 
     const rowValue = watch('row');
     const bayValue = watch('bay');
-
-    useEffect(() => {
-        if (deviceType !== DEVICE_TYPE.SHELF) {
-            unregister('row');
-            unregister('bay');
-        }
-    }, [deviceType, unregister]);
 
     useEffect(() => {
         if (deviceType === DEVICE_TYPE.SHELF) {
@@ -75,7 +60,7 @@
     ]);
 
     const onFormSubmit = (data) => {
-        if (sprite && sprite.data) {
+        if (sprite?.data) {
             Object.keys(data).forEach((key) => {
                 sprite.data[key] = data[key];
             });
@@ -83,7 +68,6 @@
         if (onSubmit) {
             onSubmit(data);
         }
-        console.log(sprite.data);
         notify.info(translate('common.response.success'));
     };
 
@@ -91,6 +75,7 @@
         <>
             <Box component="form" onSubmit={handleSubmit(onFormSubmit)} noValidate sx={{ mt: 0 }}>
                 <Grid container spacing={1.4}>
+
                     {deviceType === DEVICE_TYPE.SHELF && (
                         <>
                             <Grid item xs={6}>
@@ -105,7 +90,7 @@
                                             value={field.value ?? ''}
                                             fullWidth
                                             onChange={(e) => {
-                                                field.onChange(e);
+                                                field.onChange(e.target.value === '' ? '' : Number(e.target.value));
                                             }}
                                         />
                                     )}
@@ -123,7 +108,7 @@
                                             value={field.value ?? ''}
                                             fullWidth
                                             onChange={(e) => {
-                                                field.onChange(e);
+                                                field.onChange(e.target.value === '' ? '' : Number(e.target.value));
                                             }}
                                         />
                                     )}
@@ -151,22 +136,22 @@
                         <Divider />
                     </Grid>
 
-                    {/* <Grid item xs={12}>
-                        <Typography variant="inherit">
-                            {translate('page.map.settings.config.base.no')}
-                        </Typography>
-                    </Grid> */}
                     <Grid item xs={6}>
                         <Controller
                             name="no"
                             control={control}
+                            rules={{
+                                required: translate('ra.validation.required')    // warn msg
+                            }}
                             render={({ field }) => {
                                 return (
                                     <TextField
                                         {...field}
-                                        label="No"
+                                        label={translate('page.map.settings.config.base.no')}
                                         type="text"
                                         value={field.value ?? ''}
+                                        error={!!errors.no} // show red warn
+                                        helperText={errors.no ? errors.no.message : null}   // show warn msg
                                         fullWidth
                                         onChange={(e) => {
                                             field.onChange(e);

--
Gitblit v1.9.1