chen.lin
9 天以前 4c036f937336085fb5071aabfe433c7f45f84cab
rsf-admin/src/page/basicInfo/loc/LocEdit.jsx
@@ -19,28 +19,31 @@
    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>
    )
}
@@ -49,10 +52,18 @@
    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 (
        <>
@@ -64,20 +75,20 @@
                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>
                            <Grid container rowSpacing={2} columnSpacing={2}>
                                <Grid item display="flex" gap={2}>
                                <Grid item xs={12} display="flex" gap={2}>
                                    <ReferenceInput
                                        source="warehouseId"
                                        reference="warehouse"
@@ -93,6 +104,7 @@
                                    <ReferenceInput
                                        source="areaId"
                                        reference="warehouseAreas"
                                        sort={{ field: 'sort', order: 'ASC' }}
                                        filter={{ warehouseId }}
                                    >
                                        <AutocompleteInput
@@ -108,33 +120,6 @@
                                        parse={v => v}
                                        validate={required()}
                                    />
                                    <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()]} />
                                    </ReferenceArrayInput>
                                    <TextInput
                                        label="table.field.loc.unit"
                                        source="unit"
                                        parse={v => v}
                                    />
                                    <DictionarySelect
                                        label={translate("table.field.loc.useStatus")}
                                        name="useStatus"
@@ -142,18 +127,42 @@
                                        size="small"
                                        dictTypeCode="sys_loc_use_stas"
                                    />
                                    {/* <NumberInput
                                        label="table.field.loc.length"
                                        source="length"
                                    />
                                    <NumberInput
                                        label="table.field.loc.width"
                                        source="width"
                                    />
                                    <NumberInput
                                        label="table.field.loc.height"
                                        source="height"
                                    /> */}
                                </Grid>
                                <Grid item xs={12} display="flex" gap={1}>
                                    <ReferenceArrayInput source="typeIds" reference="locType" >
                                        <SelectArrayInput label="table.field.loc.type" />
                                    </ReferenceArrayInput>
                                    {/* <TextInput
                                        label="table.field.loc.unit"
                                        source="unit"
                                        parse={v => v}
                                    /> */}
                                    <NumberInput
                                        label="table.field.loc.channel"
                                        source="channel"
                                    />
                                    <NumberInput
                                        label="table.field.loc.row"
                                        source="row"
                                        validate={required()}
                                    />
                                    <NumberInput
                                        label="table.field.loc.col"
                                        source="col"
                                        validate={required()}
                                    />
                                    <NumberInput
                                        label="table.field.loc.lev"
                                        source="lev"
@@ -161,14 +170,6 @@
                                    />
                                </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>
@@ -179,3 +180,4 @@
}
export default LocEdit;