From 0998a7e1c1399552d65ec94a6755de95e29961c8 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 14 十一月 2024 11:21:18 +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