| | |
| | | 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'; |
| | |
| | | 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 /> |
| | |
| | | if (code === 200) { |
| | | setDynamicFields(data || []) |
| | | |
| | | |
| | | } else { |
| | | notify(msg); |
| | | } |
| | |
| | | redirect="list" |
| | | mutationMode={EDIT_MODE} |
| | | actions={<CustomerTopToolBar />} |
| | | aside={<EditBaseAside />} |
| | | title={"menu.matnr"} |
| | | > |
| | | <SimpleForm |
| | | shouldUnregister |
| | |
| | | <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 })} |
| | |
| | | {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> |
| | | |
| | |
| | | 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}> |
| | |
| | | } |
| | | |
| | | 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} |
| | | /> |
| | | ) |
| | | } |