From a6991a33e18f69264f93a63459a4b64ea799295a Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期二, 05 八月 2025 13:02:24 +0800 Subject: [PATCH] Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop --- rsf-admin/src/page/basicInfo/loc/LocEdit.jsx | 265 ++++++++++++++++++++++++++-------------------------- 1 files changed, 133 insertions(+), 132 deletions(-) diff --git a/rsf-admin/src/page/basicInfo/loc/LocEdit.jsx b/rsf-admin/src/page/basicInfo/loc/LocEdit.jsx index f4f7f61..cddeaff 100644 --- a/rsf-admin/src/page/basicInfo/loc/LocEdit.jsx +++ b/rsf-admin/src/page/basicInfo/loc/LocEdit.jsx @@ -19,24 +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 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> ) } @@ -44,138 +51,132 @@ const LocEdit = () => { 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 ( - <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()]} - filterToQuery={(val) => ({ name: val })} + <SimpleForm + record={data} + shouldUnregister + warnWhenUnsavedChanges + toolbar={<FormToolbar />} + mode="onTouched" + // validate={(values) => { }} + > + <Grid container width={{ xs: '100%', xl: '90%' }} rowSpacing={3} columnSpacing={3}> + <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}> + <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" - > - <AutocompleteInput - label="table.field.loc.areaId" - optionText="name" - validate={[required()]} - filterToQuery={(val) => ({ name: val })} + <NumberInput + label="table.field.loc.length" + source="length" /> - </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" /> - </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()} - /> + + <NumberInput + label="table.field.loc.width" + source="width" + /> + + <NumberInput + label="table.field.loc.height" + source="height" + /> + </Grid> + <Grid item 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} + /> + <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> - <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 /> + </> ) } export default LocEdit; + -- Gitblit v1.9.1