rsf-admin/src/page/basicInfo/loc/LocEdit.jsx
@@ -32,6 +32,7 @@
import StatusSelectInput from "../../components/StatusSelectInput";
import request from '@/utils/request';
import DictionarySelect from "../../components/DictionarySelect";
import LocItemList from "./LocItemList";
const FormToolbar = () => {
    const { getValues } = useFormContext();
@@ -54,147 +55,126 @@
    }
    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: '80%' }} rowSpacing={3} columnSpacing={3}>
                    <Grid item xs={12} md={10}>
                        <Typography variant="h6" gutterBottom>
                            {translate('common.edit.title.main')}
                        </Typography>
                        <Grid container rowSpacing={2} columnSpacing={2}>
                            <Grid item xs={6} display="flex" gap={1}>
                                <ReferenceInput
                                    source="warehouseId"
                                    reference="warehouse"
                                >
                                    <AutocompleteInput
                                        label="table.field.loc.warehouseId"
                                        optionText="name"
                                        validate={[required()]}
                                        onChange={warehouseChange}
                                        filterToQuery={(val) => ({ name: val })}
                <SimpleForm
                    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}>
                            <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"
                                            validate={[required()]}
                                            onChange={warehouseChange}
                                            filterToQuery={(val) => ({ name: val })}
                                        />
                                    </ReferenceInput>
                                    <ReferenceInput
                                        source="areaId"
                                        reference="warehouseAreas"
                                        filter={{ warehouseId }}
                                    >
                                        <AutocompleteInput
                                            label="table.field.loc.areaId"
                                            optionText="name"
                                            validate={[required()]}
                                            filterToQuery={(val) => ({ name: val })}
                                        />
                                    </ReferenceInput>
                                    <TextInput
                                        label="table.field.loc.code"
                                        source="code"
                                        parse={v => v}
                                        validate={required()}
                                    />
                                </ReferenceInput>
                            </Grid>
                            <Grid item xs={6} display="flex" gap={1}>
                                <ReferenceInput
                                    source="areaId"
                                    reference="warehouseAreas"
                                    filter={{ warehouseId }}
                                >
                                    <AutocompleteInput
                                        label="table.field.loc.areaId"
                                        optionText="name"
                                        validate={[required()]}
                                        filterToQuery={(val) => ({ name: val })}
                                    <NumberInput
                                        label="table.field.loc.length"
                                        source="length"
                                        validate={required()}
                                    />
                                </ReferenceInput>
                            </Grid>
                            <Grid item xs={6} display="flex" gap={1}>
                                <TextInput
                                    label="table.field.loc.code"
                                    source="code"
                                    parse={v => v}
                                    validate={required()}
                                />
                            </Grid>
                            <Grid item xs={6} display="flex" gap={1}>
                                {/* <AutocompleteInput
                                    choices={dicts}
                                    source="type"
                                    optionText="label"
                                    label="table.field.loc.type"
                                    optionValue="value"
                                    parse={v => v}
                                    validate={[required()]}
                                /> */}
                                <ReferenceArrayInput source="typeIds" reference="locType" >
                                    <SelectArrayInput label="table.field.loc.type" validate={[required()]} />
                                </ReferenceArrayInput>
                            </Grid>
                            <Grid item xs={6} display="flex" gap={1}>
                                <TextInput
                                    label="table.field.loc.unit"
                                    source="unit"
                                    parse={v => v}
                                />
                            </Grid>
                            <Grid item xs={6} display="flex" gap={1}>
                                <NumberInput
                                    label="table.field.loc.length"
                                    source="length"
                                    validate={required()}
                                />
                            </Grid>
                            <Grid item xs={6} display="flex" gap={1}>
                                <NumberInput
                                    label="table.field.loc.width"
                                    source="width"
                                    validate={required()}
                                />
                            </Grid>
                            <Grid item xs={6} display="flex" gap={1}>
                                <NumberInput
                                    label="table.field.loc.height"
                                    source="height"
                                    validate={required()}
                                />
                            </Grid>
                            <Grid item xs={6} display="flex" gap={1}>
                                <NumberInput
                                    label="table.field.loc.row"
                                    source="row"
                                    validate={required()}
                                />
                            </Grid>
                            <Grid item xs={6} display="flex" gap={1}>
                                <NumberInput
                                    label="table.field.loc.col"
                                    source="col"
                                    validate={required()}
                                />
                            </Grid>
                            <Grid item xs={6} display="flex" gap={1}>
                                <NumberInput
                                    label="table.field.loc.lev"
                                    source="lev"
                                    validate={required()}
                                />
                            </Grid>
                            <Grid item xs={6} display="flex" gap={1}>
                                <DictionarySelect
                                    label={translate("table.field.loc.useStatus")}
                                    name="useStatus"
                                    size="small"
                                    dictTypeCode="sys_loc_use_stas"
                                />
                            </Grid>
                                    <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"
                                        validate={[required()]}
                                        size="small"
                                        dictTypeCode="sys_loc_use_stas"
                                    />
                                    <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"
                                        validate={required()}
                                    />
                                </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>
                    <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 >
                </SimpleForm>
            </Edit >
            <LocItemList />
        </>
    )
}