From 20ae0edc104dc621fb3322aaf219143378920269 Mon Sep 17 00:00:00 2001
From: verou <857149855@qq.com>
Date: 星期六, 22 三月 2025 15:14:36 +0800
Subject: [PATCH] feat:库位绑定物料

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

diff --git a/rsf-admin/src/page/basicInfo/loc/LocEdit.jsx b/rsf-admin/src/page/basicInfo/loc/LocEdit.jsx
index 9a21ed9..3c32e39 100644
--- a/rsf-admin/src/page/basicInfo/loc/LocEdit.jsx
+++ b/rsf-admin/src/page/basicInfo/loc/LocEdit.jsx
@@ -10,6 +10,7 @@
     DateInput,
     SelectInput,
     ReferenceInput,
+    SelectArrayInput,
     ReferenceArrayInput,
     AutocompleteInput,
     SaveButton,
@@ -19,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';
@@ -28,6 +30,8 @@
 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";
 
 const FormToolbar = () => {
     const { getValues } = useFormContext();
@@ -42,7 +46,13 @@
 
 const LocEdit = () => {
     const translate = useTranslate();
-    const dicts = JSON.parse(localStorage.getItem('sys_dicts')).filter(dict => { return (dict.dictTypeCode == 'sys_loc_type') });
+    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"
@@ -73,6 +83,7 @@
                                         label="table.field.loc.warehouseId"
                                         optionText="name"
                                         validate={[required()]}
+                                        onChange={warehouseChange}
                                         filterToQuery={(val) => ({ name: val })}
                                     />
                                 </ReferenceInput>
@@ -81,6 +92,7 @@
                                 <ReferenceInput
                                     source="areaId"
                                     reference="warehouseAreas"
+                                    filter={{ warehouseId }}
                                 >
                                     <AutocompleteInput
                                         label="table.field.loc.areaId"
@@ -99,7 +111,7 @@
                                 />
                             </Grid>
                             <Grid item xs={6} display="flex" gap={1}>
-                                <AutocompleteInput
+                                {/* <AutocompleteInput
                                     choices={dicts}
                                     source="type"
                                     optionText="label"
@@ -107,7 +119,10 @@
                                     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
@@ -158,6 +173,16 @@
                                     validate={required()}
                                 />
                             </Grid>
+                            <Grid item xs={6} display="flex" gap={1}>
+                                <DictionarySelect
+                                    label={translate("table.field.loc.useStatus")}
+                                    name="useStatus"
+                                    validate={[required()]}
+                                    size="small"
+                                    dictTypeCode="sys_loc_use_stas"
+                                />
+                            </Grid>
+
                         </Grid>
                     </Grid>
                     <Grid item xs={12} md={2}>

--
Gitblit v1.9.1