| | |
| | | DateInput, |
| | | SelectInput, |
| | | ReferenceInput, |
| | | SelectArrayInput, |
| | | ReferenceArrayInput, |
| | | AutocompleteInput, |
| | | SaveButton, |
| | |
| | | required, |
| | | useRecordContext, |
| | | DeleteButton, |
| | | useNotify, |
| | | } from 'react-admin'; |
| | | import { useWatch, useFormContext } from "react-hook-form"; |
| | | import { Stack, Grid, Box, Typography } from '@mui/material'; |
| | |
| | | import CustomerTopToolBar from "../components/EditTopToolBar"; |
| | | import MemoInput from "../components/MemoInput"; |
| | | import StatusSelectInput from "../components/StatusSelectInput"; |
| | | import request from '@/utils/request'; |
| | | import DictionarySelect from "../components/DictionarySelect"; |
| | | import LocQueryList from "./LocQueryList"; |
| | | |
| | | const FormToolbar = () => { |
| | | const { getValues } = useFormContext(); |
| | | |
| | | return ( |
| | | <Toolbar sx={{ justifyContent: 'end' }}> |
| | | <SaveButton /> |
| | | {/* <DeleteButton mutationMode="optimistic" /> */} |
| | | </Toolbar> |
| | | ) |
| | | } |
| | | |
| | | const LocItemEdit = () => { |
| | | const translate = useTranslate(); |
| | | const dicts = JSON.parse(localStorage.getItem('sys_dicts'))?.filter(dict => (dict.dictTypeCode == 'sys_loc_type')) || []; |
| | | const [warehouseId, setWrehouseId] = useState(); |
| | | |
| | | const warehouseChange = (val) => { |
| | | setWrehouseId(val) |
| | | } |
| | | |
| | | return ( |
| | | <Edit |
| | | redirect="list" |
| | | mutationMode={EDIT_MODE} |
| | | actions={<CustomerTopToolBar />} |
| | | aside={<EditBaseAside />} |
| | | > |
| | | <SimpleForm |
| | | shouldUnregister |
| | | warnWhenUnsavedChanges |
| | | toolbar={<FormToolbar />} |
| | | mode="onTouched" |
| | | defaultValues={{}} |
| | | // validate={(values) => { }} |
| | | <> |
| | | <Edit |
| | | redirect="list" |
| | | mutationMode={EDIT_MODE} |
| | | actions={<CustomerTopToolBar />} |
| | | aside={<EditBaseAside />} |
| | | title={"menu.loc"} |
| | | > |
| | | <Grid container width={{ xs: '100%', xl: '100%' }} rowSpacing={3} columnSpacing={3}> |
| | | <Grid item xs={14} md={10}> |
| | | <Typography variant="h6" gutterBottom> |
| | | {translate('common.edit.title.main')} |
| | | </Typography> |
| | | <Stack direction='row' gap={2}> |
| | | <NumberInput |
| | | label="table.field.locItem.locId" |
| | | source="locId" |
| | | autoFocus |
| | | /> |
| | | <TextInput |
| | | label="table.field.locItem.locCode" |
| | | source="locCode" |
| | | parse={v => v} |
| | | /> |
| | | <NumberInput |
| | | label="table.field.locItem.orderId" |
| | | source="orderId" |
| | | /> |
| | | <TextInput |
| | | label="table.field.locItem.type" |
| | | source="type$" |
| | | parse={v => v} |
| | | /> |
| | | </Stack> |
| | | <Stack direction='row' gap={2}> |
| | | <NumberInput |
| | | label="table.field.locItem.orderItemId" |
| | | source="orderItemId" |
| | | /> |
| | | <NumberInput |
| | | label="table.field.locItem.wkType" |
| | | source="wkType" |
| | | /> |
| | | <NumberInput |
| | | label="table.field.locItem.matnrId" |
| | | source="matnrId" |
| | | /> |
| | | </Stack> |
| | | <Stack direction='row' gap={2}> |
| | | <TextInput |
| | | label="table.field.locItem.maktx" |
| | | source="maktx" |
| | | parse={v => v} |
| | | /> |
| | | <SimpleForm |
| | | shouldUnregister |
| | | warnWhenUnsavedChanges |
| | | toolbar={false} |
| | | mode="onTouched" |
| | | defaultValues={{}} |
| | | // validate={(values) => { }} |
| | | > |
| | | <Grid container width={{ xs: '100%', xl: '90%' }} rowSpacing={3} columnSpacing={3} |
| | | sx={{ |
| | | "& .MuiFormLabel-root.MuiInputLabel-root.Mui-disabled": { |
| | | bgcolor: 'white', |
| | | WebkitTextFillColor: "rgba(0, 0, 0)" |
| | | }, |
| | | |
| | | <TextInput |
| | | label="table.field.locItem.matnrCode" |
| | | source="matnrCode" |
| | | parse={v => v} |
| | | /> |
| | | <TextInput |
| | | label="table.field.locItem.trackCode" |
| | | source="trackCode" |
| | | parse={v => v} |
| | | /> |
| | | <TextInput |
| | | label="table.field.locItem.unit" |
| | | source="unit" |
| | | parse={v => v} |
| | | /> |
| | | </Stack> |
| | | <Stack direction='row' gap={2}> |
| | | <NumberInput |
| | | label="table.field.locItem.anfme" |
| | | source="anfme" |
| | | /> |
| | | <NumberInput |
| | | label="table.field.locItem.qty" |
| | | source="qty" |
| | | /> |
| | | <NumberInput |
| | | label="table.field.locItem.workQty" |
| | | source="workQty" |
| | | /> |
| | | <TextInput |
| | | label="table.field.locItem.batch" |
| | | source="batch" |
| | | parse={v => v} |
| | | /> |
| | | </Stack> |
| | | <Stack direction='row' gap={2}> |
| | | <TextInput |
| | | label="table.field.locItem.splrBatch" |
| | | source="splrBatch" |
| | | parse={v => v} |
| | | /> |
| | | <TextInput |
| | | label="table.field.locItem.spec" |
| | | source="spec" |
| | | parse={v => v} |
| | | /> |
| | | <TextInput |
| | | label="table.field.locItem.model" |
| | | source="model" |
| | | parse={v => v} |
| | | /> |
| | | <TextInput |
| | | label="table.field.locItem.fieldsIndex" |
| | | source="fieldsIndex" |
| | | parse={v => v} |
| | | /> |
| | | </Stack> |
| | | "& .MuiInputBase-input.MuiFilledInput-input.Mui-disabled": { |
| | | bgcolor: 'white', |
| | | WebkitTextFillColor: "rgba(0, 0, 0)" |
| | | }, |
| | | "& .MuiFilledInput-root.MuiInputBase-sizeSmall": { |
| | | bgcolor: 'white', |
| | | } |
| | | }} |
| | | > |
| | | <Grid item xs={12} md={10}> |
| | | <Typography variant="h6" gutterBottom> |
| | | {translate('common.edit.title.main')} |
| | | </Typography> |
| | | <Grid container rowSpacing={2} columnSpacing={2}> |
| | | <Grid item display="flex" gap={2}> |
| | | <ReferenceInput |
| | | source="warehouseId" |
| | | reference="warehouse" |
| | | > |
| | | <AutocompleteInput |
| | | label="table.field.loc.warehouseId" |
| | | optionText="name" |
| | | readOnly |
| | | validate={[required()]} |
| | | onChange={warehouseChange} |
| | | filterToQuery={(val) => ({ name: val })} |
| | | /> |
| | | </ReferenceInput> |
| | | <ReferenceInput |
| | | source="areaId" |
| | | reference="warehouseAreas" |
| | | filter={{ warehouseId }} |
| | | > |
| | | <AutocompleteInput |
| | | label="table.field.loc.areaId" |
| | | optionText="name" |
| | | readOnly |
| | | validate={[required()]} |
| | | filterToQuery={(val) => ({ name: val })} |
| | | /> |
| | | </ReferenceInput> |
| | | <TextInput |
| | | label="table.field.loc.code" |
| | | source="code" |
| | | parse={v => v} |
| | | readOnly |
| | | validate={required()} |
| | | /> |
| | | <NumberInput |
| | | label="table.field.loc.length" |
| | | source="length" |
| | | readOnly |
| | | validate={required()} |
| | | /> |
| | | |
| | | <NumberInput |
| | | label="table.field.loc.width" |
| | | source="width" |
| | | readOnly |
| | | validate={required()} |
| | | /> |
| | | |
| | | <NumberInput |
| | | label="table.field.loc.height" |
| | | source="height" |
| | | readOnly |
| | | validate={required()} |
| | | /> |
| | | </Grid> |
| | | <Grid item display="flex" gap={1}> |
| | | <ReferenceArrayInput source="typeIds" reference="locType" > |
| | | <SelectArrayInput label="table.field.loc.type" readOnly validate={[required()]} /> |
| | | </ReferenceArrayInput> |
| | | <TextInput |
| | | label="table.field.loc.unit" |
| | | source="unit" |
| | | readOnly |
| | | parse={v => v} |
| | | /> |
| | | <DictionarySelect |
| | | label={translate("table.field.loc.useStatus")} |
| | | name="useStatus" |
| | | validate={[required()]} |
| | | readOnly |
| | | size="small" |
| | | dictTypeCode="sys_loc_use_stas" |
| | | /> |
| | | <NumberInput |
| | | label="table.field.loc.row" |
| | | source="row" |
| | | readOnly |
| | | validate={required()} |
| | | /> |
| | | |
| | | <NumberInput |
| | | label="table.field.loc.col" |
| | | source="col" |
| | | readOnly |
| | | validate={required()} |
| | | /> |
| | | |
| | | <NumberInput |
| | | label="table.field.loc.lev" |
| | | source="lev" |
| | | readOnly |
| | | validate={required()} |
| | | /> |
| | | </Grid> |
| | | </Grid> |
| | | </Grid> |
| | | <Grid item xs={12} md={2}> |
| | | <Typography variant="h6" gutterBottom> |
| | | {translate('common.edit.title.common')} |
| | | </Typography> |
| | | <StatusSelectInput readOnly /> |
| | | <Box mt="2em" /> |
| | | <MemoInput /> |
| | | </Grid> |
| | | </Grid> |
| | | <Grid item xs={10} md={2}> |
| | | <Typography variant="h6" gutterBottom> |
| | | {translate('common.edit.title.common')} |
| | | </Typography> |
| | | <StatusSelectInput /> |
| | | <Box mt="2em" /> |
| | | <MemoInput /> |
| | | </Grid> |
| | | </Grid> |
| | | </SimpleForm> |
| | | </Edit > |
| | | </SimpleForm> |
| | | </Edit > |
| | | <LocQueryList /> |
| | | </> |
| | | ) |
| | | } |
| | | |