From 83e3d34abd06c0256f61382c4c9cf89c4be109d8 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 19 五月 2025 19:35:41 +0800
Subject: [PATCH] #问题修复

---
 rsf-admin/src/page/basicInfo/loc/LocEdit.jsx |  248 ++++++++++++++++++++++++------------------------
 1 files changed, 124 insertions(+), 124 deletions(-)

diff --git a/rsf-admin/src/page/basicInfo/loc/LocEdit.jsx b/rsf-admin/src/page/basicInfo/loc/LocEdit.jsx
index f4f7f61..1e467c5 100644
--- a/rsf-admin/src/page/basicInfo/loc/LocEdit.jsx
+++ b/rsf-admin/src/page/basicInfo/loc/LocEdit.jsx
@@ -20,6 +20,7 @@
     required,
     useRecordContext,
     DeleteButton,
+    useNotify,
 } from 'react-admin';
 import { useWatch, useFormContext } from "react-hook-form";
 import { Stack, Grid, Box, Typography } from '@mui/material';
@@ -29,6 +30,9 @@
 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 LocItemList from "./LocItemList";
 
 const FormToolbar = () => {
     const { getValues } = useFormContext();
@@ -44,137 +48,133 @@
 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 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
+                    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"
-                                >
-                                    <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" />
-                                </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"
+                                        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 />
+        </>
     )
 }
 

--
Gitblit v1.9.1