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