From 1e479e493542e77240625b9100eb14cda1fe9041 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期二, 29 四月 2025 17:19:00 +0800
Subject: [PATCH] #
---
rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx | 72 ++++++++++++++++++++++++++++++++---
1 files changed, 65 insertions(+), 7 deletions(-)
diff --git a/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx b/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx
index def6d1a..b3a5601 100644
--- a/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx
+++ b/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx
@@ -22,7 +22,7 @@
useNotify,
} from 'react-admin';
import PropTypes from 'prop-types';
-import { useWatch, useFormContext } from "react-hook-form";
+import { useWatch, useFormContext, useForm, useFormState } from "react-hook-form";
import { Stack, Grid, Box, Typography, Tabs, Tab, } from '@mui/material';
import * as Common from '@/utils/common';
import { EDIT_MODE, REFERENCE_INPUT_PAGESIZE } from '@/config/setting';
@@ -33,7 +33,7 @@
import TreeSelectInput from "@/page/components/TreeSelectInput";
import request from '@/utils/request';
const FormToolbar = () => {
- const { getValues } = useFormContext();
+ const { getValues } = useFormState();
return (
<Toolbar sx={{ justifyContent: 'space-between' }}>
<SaveButton />
@@ -87,6 +87,7 @@
} = await request.get("/fields/enable/list");
if (code === 200) {
setDynamicFields(data || [])
+
} else {
notify(msg);
@@ -144,7 +145,6 @@
<Grid item xs={6} display="flex" gap={1}>
<ReferenceInput source="shipperId" reference="companys" filter={{ type: 'shipper' }}>
<AutocompleteInput
- validate={[required()]}
label="table.field.matnr.shipperId"
optionText="name"
filterToQuery={(val) => ({ name: val })}
@@ -267,21 +267,37 @@
{dynamicFields.map((item) => {
return (
<Grid key={item.id} item xs={6} display="flex" gap={1}>
- <TextInput
+ <DynamicFields
label={item.fieldsAlise}
source={item.fields}
+ validate={item.unique === 1 ? required() : false}
/>
</Grid>
)
})}
-
-
</Grid>
</CustomTabPanel>
<CustomTabPanel value={value} index={1}>
<Grid container rowSpacing={2} columnSpacing={2}>
+ <Grid item xs={6} display="flex" gap={1}>
+ <TextInput
+ label="table.field.matnr.name"
+ source="name"
+ parse={v => v}
+ required
+ autoFocus
+ />
+ </Grid>
+ <Grid item xs={6} display="flex" gap={1}>
+ <TextInput
+ label="table.field.matnr.code"
+ source="code"
+ required
+ parse={v => v}
+ />
+ </Grid>
<Grid item xs={6} display="flex" gap={1}>
<NumberInput
label="table.field.matnr.safeQty"
@@ -318,13 +334,40 @@
source="valid"
/>
</Grid>
+ <Grid item xs={6} display="flex" gap={1}>
+ <SelectInput
+ label="table.field.matnr.flagCheck"
+ source="flagCheck"
+ choices={[
+ { id: 0, name: ' 鍚�' },
+ { id: 1, name: ' 鏄�' },
+ ]}
+ />
+ </Grid>
</Grid>
</CustomTabPanel>
<CustomTabPanel value={value} index={2}>
<Grid container rowSpacing={2} columnSpacing={2}>
+ <Grid item xs={6} display="flex" gap={1}>
+ <TextInput
+ label="table.field.matnr.name"
+ source="name"
+ parse={v => v}
+ required
+ autoFocus
+ />
+ </Grid>
+ <Grid item xs={6} display="flex" gap={1}>
+ <TextInput
+ label="table.field.matnr.code"
+ source="code"
+ required
+ parse={v => v}
+ />
+ </Grid>
<Grid item xs={6} display="flex" gap={1}>
<ReferenceInput
- source="rglar_id"
+ source="rglarId"
reference="serialRule"
perPage={REFERENCE_INPUT_PAGESIZE}
>
@@ -355,3 +398,18 @@
}
export default MatnrEdit;
+
+const DynamicFields = (props) => {
+ const { ...parmas } = props;
+ const form = useFormContext();
+ const field = `extendFields.${parmas.source}`;
+
+ const value = form.getValues(field) || form.formState.defaultValues?.extendFields?.[parmas.source];
+
+ value && form.setValue(parmas.source, value);
+ return (
+ <TextInput
+ {...parmas}
+ />
+ )
+}
--
Gitblit v1.9.1