From e1c400bd9953f5c58714de6082f8c6852cba01d9 Mon Sep 17 00:00:00 2001 From: verou <857149855@qq.com> Date: 星期二, 08 四月 2025 08:41:48 +0800 Subject: [PATCH] feat:扩展字段init --- rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx | 36 +++++++++++++++++++++++++++++------- 1 files changed, 29 insertions(+), 7 deletions(-) diff --git a/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx b/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx index c86aeef..04ff032 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); @@ -266,16 +267,14 @@ {dynamicFields.map((item) => { return ( <Grid key={item.id} item xs={6} display="flex" gap={1}> - <TextInput + <DynamicFields label={item.fieldsAlise} - source={`extendFields.[${item.fields}]`} - validate={required()} + source={item.fields} + validate={item.unique === 1 ? required() : false} /> </Grid> ) })} - - </Grid> @@ -318,6 +317,16 @@ 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}> @@ -355,3 +364,16 @@ } export default MatnrEdit; + +const DynamicFields = (props) => { + const { ...parmas } = props; + const form = useFormContext(); + const field = `extendFields.${parmas.source}`; + const value = form.getValues(field); + value && form.setValue(parmas.source, value); + return ( + <TextInput + {...parmas} + /> + ) +} -- Gitblit v1.9.1