From 5c372e346df385e4ca4600e0bd3c3f2e143ead7e Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期一, 28 七月 2025 15:55:34 +0800
Subject: [PATCH] 调拔单功能优化

---
 rsf-admin/src/page/orders/transfer/ManualCreate.jsx |   91 +++++++++++++++++++++++++++++++--------------
 1 files changed, 62 insertions(+), 29 deletions(-)

diff --git a/rsf-admin/src/page/orders/transfer/ManualCreate.jsx b/rsf-admin/src/page/orders/transfer/ManualCreate.jsx
index ada8d0f..3d6f07e 100644
--- a/rsf-admin/src/page/orders/transfer/ManualCreate.jsx
+++ b/rsf-admin/src/page/orders/transfer/ManualCreate.jsx
@@ -17,6 +17,7 @@
     useNotify,
     Form,
     useCreateController,
+    SimpleForm,
 } from 'react-admin';
 import {
     Dialog,
@@ -35,11 +36,13 @@
 } from '@mui/material';
 import ConfirmationNumberIcon from '@mui/icons-material/ConfirmationNumber';
 import DialogCloseButton from "../../components/DialogCloseButton.jsx";
+import WarehouseSelect from "../../components/WarehouseSelect.jsx";
 import { DataGrid, useGridApiRef } from '@mui/x-data-grid';
 import ConfirmButton from "../../components/ConfirmButton";
 import CreateBySelectMats from "./CreateBySelectMats.jsx";
 import { Add, Edit, Delete } from '@mui/icons-material';
 import DictSelect from "../../components/DictSelect";
+import { useFormContext, useWatch } from "react-hook-form";
 import { minHeight, padding } from "@mui/system";
 import SaveIcon from '@mui/icons-material/Save';
 import request from '@/utils/request';
@@ -54,6 +57,8 @@
     const [selectedRows, setSelectedRows] = useState([]);
     const [createDialog, setCreateDialog] = useState(false);
     const [formData, setFormData] = useState({});
+    const [list, setList] = useState([]);
+
     const handleClose = (event, reason) => {
         if (reason !== "backdropClick") {
             setOpen(false);
@@ -69,15 +74,17 @@
         setTableData([...tabelData]);
     }
 
+
     const handleSubmit = async () => {
         setFinally()
         setDisabled(true)
 
-        if (orderId === 0) {
+        if (orderId == null || orderId == undefined) {
             const parmas = {
-                "orders": formData,
+                "transfer": formData,
                 "items": tabelData,
             }
+            
             const res = await request.post(`/transfer/items/save`, parmas);
             if (res?.data?.code === 200) {
                 setOpen(false);
@@ -88,7 +95,7 @@
             }
         } else {
             const parmas = {
-                "orders": formData,
+                "transfer": formData,
                 "items": tabelData,
             }
             const res = await request.post(`/transfer/items/update`, parmas);
@@ -117,43 +124,69 @@
         notify(error.message || 'common.response.fail', { type: 'error', messageArgs: { _: error.message } });
     };
 
+    const getWarehouse = async () => {
+        const res = await request.post('/warehouseAreas/page');
+        if (res?.data?.code === 200) {
+            setList(res.data.data.records.map((item) => {
+                return {
+                    id: item.id,
+                    name: item.name
+                };
+            }));
+        } else {
+            notify(res.data.msg);
+        }
+    }
+
 
     const handleChange = (value, name) => {
+        console.log(name);
+        console.log(value);
         setFormData((prevData) => ({
             ...prevData,
             [name]: value
         }));
+
+        console.log(formData);
+        
     };
 
     return (
         <>
             <Box sx={{ padding: 1 }}>
-                <Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
-                    <Form defaultValues={formData}>
-                        <Grid container spacing={2}>
-                            <Grid item md={2}>
-                                <DictSelect
-                                    label={translate("table.field.transfer.type")}
-                                    value={formData.type}
-                                    variant="filled"
-                                    onChange={(e) => handleChange(e.target.value, 'type')}
-                                    dictTypeCode="sys_transfer_type"
-                                    required
-                                />
-                            </Grid>
-                            <Grid item md={2}>
-                                <ReferenceInput reference="warehouseAreas" source="orgAreaName">
-                                    <AutocompleteInput optionText="name" label="table.field.transfer.orgAreaName" />
-                                </ReferenceInput>
-                            </Grid>
-                            <Grid item md={2}>
-                                <ReferenceInput reference="warehouseAreas" source="tarAreaName">
-                                    <AutocompleteInput optionText="name" label="table.field.transfer.tarAreaName" />
-                                </ReferenceInput>
-                            </Grid>
+                <SimpleForm toolbar={false}>
+                    <Grid container spacing={2}>
+                        <Grid item md={2}>
+                            <DictSelect
+                                label={translate("table.field.transfer.type")}
+                                value={formData.type}
+                                variant="filled"
+                                onChange={(e) => handleChange(e.target.value, 'type')}
+                                dictTypeCode="sys_transfer_type"
+                                required
+                            />
                         </Grid>
-                    </Form>
-                </Box>
+                        <Grid item md={2}>
+                            <WarehouseSelect
+                                value={formData.orgAreaId}
+                                variant="filled"
+                                dictTypeCode="warehouse"
+                                required
+                                onChange={(e) => handleChange(e.target.value, 'orgAreaId')}
+                                label={translate("table.field.transfer.orgAreaName")} />
+                        </Grid>
+                        <Grid item md={2}>
+                            <WarehouseSelect
+                                label={translate("table.field.transfer.tarAreaName")}
+                                value={formData.tarAreaId}
+                                dictTypeCode="warehouse"
+                                variant="filled"
+                                required
+                                onChange={(e) => handleChange(e.target.value, 'tarAreaId')}
+                            />
+                        </Grid>
+                    </Grid>
+                </SimpleForm>
                 <Box sx={{ mt: 2 }}>
                     <Stack direction="row" spacing={2} sx={{ justifyContent: "flex-end" }}>
                         <Button variant="contained" onClick={() => setCreateDialog(true)} >
@@ -461,7 +494,7 @@
                 onRowSelectionModelChange={handleSelectionChange}
                 selectionModel={selectedRows}
                 sx={{
-                    height: 610,
+                    height: 580,
                     '& .MuiDataGrid-cell input': {
                         border: '1px solid #ccc'
                     },

--
Gitblit v1.9.1