skyouc
5 天以前 5c372e346df385e4ca4600e0bd3c3f2e143ead7e
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'
                    },