From ce2e0f216e22cc43a46e126b05609d23bb987539 Mon Sep 17 00:00:00 2001
From: verou <857149855@qq.com>
Date: 星期五, 21 三月 2025 13:35:00 +0800
Subject: [PATCH] fix:库位初始修改

---
 rsf-admin/src/page/basicInfo/loc/InitModal.jsx |   62 ++++++++++++++++--------------
 1 files changed, 33 insertions(+), 29 deletions(-)

diff --git a/rsf-admin/src/page/basicInfo/loc/InitModal.jsx b/rsf-admin/src/page/basicInfo/loc/InitModal.jsx
index f0c4c48..a02d8b9 100644
--- a/rsf-admin/src/page/basicInfo/loc/InitModal.jsx
+++ b/rsf-admin/src/page/basicInfo/loc/InitModal.jsx
@@ -19,6 +19,7 @@
     useCreateController,
     useListContext,
     useRefresh,
+    SelectArrayInput
 } from 'react-admin';
 import {
     Dialog,
@@ -62,6 +63,7 @@
     const notify = useNotify();
 
     const [formData, setFormData] = useState({
+        "warehouseId": null,
         "areaId": undefined,
         "endBay": undefined,
         "endLev": undefined,
@@ -70,7 +72,8 @@
         "startBay": undefined,
         "startLev": undefined,
         "startRow": undefined,
-        "type": ""
+        "type": "",
+        "typeIds": undefined,
     });
 
     const handleClose = (event, reason) => {
@@ -86,7 +89,7 @@
     const handleChange = (value, name) => {
         setFormData((prevData) => ({
             ...prevData,
-            [name]: ['locType', 'type'].includes(name) ? value : +value
+            [name]: value
         }));
     };
 
@@ -111,8 +114,26 @@
                         <Grid container spacing={2}>
                             <Grid item xs={4}>
                                 <ReferenceInput
+                                    source="warehouseId"
+                                    reference="warehouse"
+                                >
+                                    <AutocompleteInput
+                                        label="table.field.loc.warehouseId"
+                                        optionText="name"
+                                        onChange={(value) => handleChange(value, 'warehouseId')}
+                                        value={formData.warehouseId}
+                                        validate={[required()]}
+                                        filterToQuery={(val) => ({ name: val })}
+                                    />
+                                </ReferenceInput>
+
+                            </Grid>
+
+                            <Grid item xs={4}>
+                                <ReferenceInput
                                     source="areaId"
                                     reference="warehouseAreas"
+                                    filter={{ warehouseId: formData.warehouseId }}
                                 >
                                     <AutocompleteInput
                                         label="table.field.loc.areaId"
@@ -126,28 +147,11 @@
 
                             </Grid>
 
-                            <Grid item xs={4}>
-                                <DictionarySelect
-                                    label={translate("table.field.loc.locType")}
-                                    name="locType"
-                                    value={formData.locType}
-                                    onChange={(e) => handleChange(e.target.value, 'locType')}
-                                    size="small"
-                                    validate={[required()]}
-                                    dictTypeCode="sys_width_type"
-                                />
-                            </Grid>
 
                             <Grid item xs={4}>
-                                <DictionarySelect
-                                    label={translate("table.field.loc.type")}
-                                    name="type"
-                                    value={formData.type}
-                                    onChange={(e) => handleChange(e.target.value, 'type')}
-                                    size="small"
-                                    validate={[required()]}
-                                    dictTypeCode="sys_loc_type"
-                                />
+                                <ReferenceArrayInput source="typeIds" reference="locType" >
+                                    <SelectArrayInput label="table.field.loc.type" onChange={(e) => handleChange(e.target.value, 'typeIds')} />
+                                </ReferenceArrayInput>
                             </Grid>
 
                             <Grid item xs={4}>
@@ -155,7 +159,7 @@
                                     label={translate("table.field.loc.startBay")}
                                     name="startBay"
                                     value={formData.startBay}
-                                    onChange={(e) => handleChange(e.target.value, 'startBay')}
+                                    onChange={(e) => handleChange(+e.target.value, 'startBay')}
                                     size="small"
                                     type="number"
                                     validate={[required()]}
@@ -167,7 +171,7 @@
                                     label={translate("table.field.loc.startLev")}
                                     name="startLev"
                                     value={formData.startLev}
-                                    onChange={(e) => handleChange(e.target.value, 'startLev')}
+                                    onChange={(e) => handleChange(+e.target.value, 'startLev')}
                                     size="small"
                                     type="number"
                                     validate={[required()]}
@@ -179,7 +183,7 @@
                                     label={translate("table.field.loc.startRow")}
                                     name="startRow"
                                     value={formData.startRow}
-                                    onChange={(e) => handleChange(e.target.value, 'startRow')}
+                                    onChange={(e) => handleChange(+e.target.value, 'startRow')}
                                     size="small"
                                     type="number"
                                     validate={[required()]}
@@ -191,7 +195,7 @@
                                     label={translate("table.field.loc.endBay")}
                                     name="endBay"
                                     value={formData.endBay}
-                                    onChange={(e) => handleChange(e.target.value, 'endBay')}
+                                    onChange={(e) => handleChange(+e.target.value, 'endBay')}
                                     size="small"
                                     type="number"
                                     validate={[required()]}
@@ -203,7 +207,7 @@
                                     label={translate("table.field.loc.endLev")}
                                     name="endLev"
                                     value={formData.endLev}
-                                    onChange={(e) => handleChange(e.target.value, 'endLev')}
+                                    onChange={(e) => handleChange(+e.target.value, 'endLev')}
                                     size="small"
                                     type="number"
                                     validate={[required()]}
@@ -215,7 +219,7 @@
                                     label={translate("table.field.loc.endRow")}
                                     name="endRow"
                                     value={formData.endRow}
-                                    onChange={(e) => handleChange(e.target.value, 'endRow')}
+                                    onChange={(e) => handleChange(+e.target.value, 'endRow')}
                                     size="small"
                                     type="number"
                                     validate={[required()]}
@@ -229,7 +233,7 @@
                 <DialogActions sx={{ position: 'sticky', bottom: 0, backgroundColor: 'background.paper', zIndex: 1000 }}>
                     <Box sx={{ width: '100%', display: 'flex', justifyContent: 'space-between' }}>
                         <Button type="submit" variant="contained" startIcon={<SaveIcon />}>
-                            纭
+                            {translate('toolbar.confirm')}
                         </Button>
                     </Box>
                 </DialogActions>

--
Gitblit v1.9.1