|  |  |  | 
|---|
|  |  |  | NumberField, | 
|---|
|  |  |  | required, | 
|---|
|  |  |  | useRecordContext, | 
|---|
|  |  |  | useGetRecordId, | 
|---|
|  |  |  | useGetOne, | 
|---|
|  |  |  | DeleteButton, | 
|---|
|  |  |  | useNotify, | 
|---|
|  |  |  | useEditContext, | 
|---|
|  |  |  | } from 'react-admin'; | 
|---|
|  |  |  | import { useWatch, useFormContext } from "react-hook-form"; | 
|---|
|  |  |  | import { Stack, Grid, Box, Typography } from '@mui/material'; | 
|---|
|  |  |  | import * as Common from '@/utils/common'; | 
|---|
|  |  |  | import { EDIT_MODE, REFERENCE_INPUT_PAGESIZE } from '@/config/setting'; | 
|---|
|  |  |  | import EditBaseAside from "../../components/EditBaseAside"; | 
|---|
|  |  |  | import CustomerTopToolBar from "../../components/EditTopToolBar"; | 
|---|
|  |  |  | import MemoInput from "../../components/MemoInput"; | 
|---|
|  |  |  | import StatusSelectInput from "../../components/StatusSelectInput"; | 
|---|
|  |  |  | import request from '@/utils/request'; | 
|---|
|  |  |  | import CustomerTopToolBar from "../../components/EditTopToolBar"; | 
|---|
|  |  |  | import DictionarySelect from "../../components/DictionarySelect"; | 
|---|
|  |  |  | import { Stack, Grid, Box, Typography } from '@mui/material'; | 
|---|
|  |  |  | import EditBaseAside from "../../components/EditBaseAside"; | 
|---|
|  |  |  | import { useWatch, useFormContext } from "react-hook-form"; | 
|---|
|  |  |  | import MemoInput from "../../components/MemoInput"; | 
|---|
|  |  |  | import * as Common from '@/utils/common'; | 
|---|
|  |  |  | import LocItemList from "./LocItemList"; | 
|---|
|  |  |  | import request from '@/utils/request'; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const FormToolbar = () => { | 
|---|
|  |  |  | const { getValues } = useFormContext(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return ( | 
|---|
|  |  |  | <Toolbar sx={{ justifyContent: 'space-between' }}> | 
|---|
|  |  |  | <Toolbar sx={{ justifyContent: 'flex-end' }}> | 
|---|
|  |  |  | {/* <DeleteButton mutationMode="optimistic" /> */} | 
|---|
|  |  |  | <SaveButton /> | 
|---|
|  |  |  | <DeleteButton mutationMode="optimistic" /> | 
|---|
|  |  |  | </Toolbar> | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | const translate = useTranslate(); | 
|---|
|  |  |  | const dicts = JSON.parse(localStorage.getItem('sys_dicts'))?.filter(dict => (dict.dictTypeCode == 'sys_loc_type')) || []; | 
|---|
|  |  |  | const [warehouseId, setWrehouseId] = useState(); | 
|---|
|  |  |  | const id = useGetRecordId(); | 
|---|
|  |  |  | const { data, isLoading } = useGetOne('loc', { id }); | 
|---|
|  |  |  | if (!isLoading) { | 
|---|
|  |  |  | data.typeIds = data?.type.split(','); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const warehouseChange = (val) => { | 
|---|
|  |  |  | setWrehouseId(val) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return ( | 
|---|
|  |  |  | <> | 
|---|
|  |  |  | 
|---|
|  |  |  | title={"menu.loc"} | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <SimpleForm | 
|---|
|  |  |  | record={data} | 
|---|
|  |  |  | shouldUnregister | 
|---|
|  |  |  | warnWhenUnsavedChanges | 
|---|
|  |  |  | toolbar={<FormToolbar />} | 
|---|
|  |  |  | mode="onTouched" | 
|---|
|  |  |  | defaultValues={{}} | 
|---|
|  |  |  | // validate={(values) => { }} | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <Grid container width={{ xs: '100%', xl: '90%' }} rowSpacing={3} columnSpacing={3}> | 
|---|
|  |  |  | <Grid item xs={12} md={10}> | 
|---|
|  |  |  | <Grid item xs={12} md={12}> | 
|---|
|  |  |  | <Typography variant="h6" gutterBottom> | 
|---|
|  |  |  | {translate('common.edit.title.main')} | 
|---|
|  |  |  | </Typography> | 
|---|
|  |  |  | 
|---|
|  |  |  | <NumberInput | 
|---|
|  |  |  | label="table.field.loc.length" | 
|---|
|  |  |  | source="length" | 
|---|
|  |  |  | validate={required()} | 
|---|
|  |  |  | /> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <NumberInput | 
|---|
|  |  |  | label="table.field.loc.width" | 
|---|
|  |  |  | source="width" | 
|---|
|  |  |  | validate={required()} | 
|---|
|  |  |  | /> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <NumberInput | 
|---|
|  |  |  | label="table.field.loc.height" | 
|---|
|  |  |  | source="height" | 
|---|
|  |  |  | validate={required()} | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </Grid> | 
|---|
|  |  |  | <Grid item display="flex" gap={1}> | 
|---|
|  |  |  | <ReferenceArrayInput source="typeIds" reference="locType" > | 
|---|
|  |  |  | <SelectArrayInput label="table.field.loc.type" validate={[required()]} /> | 
|---|
|  |  |  | <SelectArrayInput label="table.field.loc.type" /> | 
|---|
|  |  |  | </ReferenceArrayInput> | 
|---|
|  |  |  | <TextInput | 
|---|
|  |  |  | label="table.field.loc.unit" | 
|---|
|  |  |  | 
|---|
|  |  |  | </Grid> | 
|---|
|  |  |  | </Grid> | 
|---|
|  |  |  | </Grid> | 
|---|
|  |  |  | <Grid item xs={12} md={2}> | 
|---|
|  |  |  | <Typography variant="h6" gutterBottom> | 
|---|
|  |  |  | {translate('common.edit.title.common')} | 
|---|
|  |  |  | </Typography> | 
|---|
|  |  |  | <StatusSelectInput /> | 
|---|
|  |  |  | <Box mt="2em" /> | 
|---|
|  |  |  | <MemoInput /> | 
|---|
|  |  |  | </Grid> | 
|---|
|  |  |  | </Grid> | 
|---|
|  |  |  | </SimpleForm> | 
|---|
|  |  |  | </Edit > | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | export default LocEdit; | 
|---|
|  |  |  |  | 
|---|