From 46f3a1367b818ab115e9dcaf87d78bef3d3e5790 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 11 十月 2024 16:38:14 +0800
Subject: [PATCH] #

---
 zy-acs-flow/src/map/settings/CopyDrawer.jsx |   28 +++++++++++++++++++++-------
 1 files changed, 21 insertions(+), 7 deletions(-)

diff --git a/zy-acs-flow/src/map/settings/CopyDrawer.jsx b/zy-acs-flow/src/map/settings/CopyDrawer.jsx
index 075dc5b..6aa9880 100644
--- a/zy-acs-flow/src/map/settings/CopyDrawer.jsx
+++ b/zy-acs-flow/src/map/settings/CopyDrawer.jsx
@@ -62,7 +62,7 @@
     const deviceType = sprite?.data?.type;
     const incrementOptions = incrementOptionsMap[deviceType]
 
-    const { control, handleSubmit, reset, watch, setValue } = useForm({
+    const { control, handleSubmit, reset, watch, setValue, formState: { errors } } = useForm({
         defaultValues: getDefaultFormValues(value),
     });
 
@@ -89,13 +89,21 @@
         onCancel();
     }
 
+    const validateIncrement = (value) => {
+        if (!value) {
+            return true;
+        }
+        if (deviceType === DEVICE_TYPE.SHELF) {
+            if (!sprite?.data?.row || !sprite?.data?.bay) {
+                return 'Row or Bay value is required for SHELF device type.';
+            }
+        }
+        return true;
+    };
+
     const onFormSubmit = (data) => {
-        if (data) {
-            console.log(data);
-        }
-        if (handleOnCopy) {
-            handleOnCopy(data);
-        }
+        console.log(data);
+        handleOnCopy?.(data);
         notify.info(translate('common.response.success'));
     };
 
@@ -184,6 +192,7 @@
                                         <Controller
                                             name="autoIncrement"
                                             control={control}
+                                            rules={{ validate: validateIncrement }}
                                             render={({ field }) => (
                                                 <FormControlLabel
                                                     control={
@@ -197,6 +206,11 @@
                                                 />
                                             )}
                                         />
+                                        {errors.autoIncrement && (
+                                            <Typography color="error">
+                                                {errors.autoIncrement.message}
+                                            </Typography>
+                                        )}
                                     </Grid>
 
                                     {(!!incrementOptions?.length && autoIncrement) && (

--
Gitblit v1.9.1