From ff18a8c103f1db8be2fcb22d69de3c32f745ff1d Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期六, 10 五月 2025 17:04:41 +0800 Subject: [PATCH] 质检信息修改 快速质检功能修改 --- rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx | 74 +++++++++++++++++++++++++++++++++---- 1 files changed, 66 insertions(+), 8 deletions(-) diff --git a/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx b/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx index 8cb7351..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 /> @@ -88,6 +88,7 @@ if (code === 200) { setDynamicFields(data || []) + } else { notify(msg); } @@ -100,7 +101,7 @@ redirect="list" mutationMode={EDIT_MODE} actions={<CustomerTopToolBar />} - aside={<EditBaseAside />} + title={"menu.matnr"} > <SimpleForm shouldUnregister @@ -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