skyouc
2025-08-04 3f54021c96ed84ce42181b3709788610e2ab57ca
rsf-admin/src/page/stockManage/locRevise/LocReviseCreate.jsx
@@ -5,21 +5,33 @@
    DateInput,
    ReferenceInput,
    AutocompleteInput,
    SelectColumnsButton,
    DatagridConfigurable,
    Toolbar,
    required,
    useNotify,
    DeleteButton,
    BooleanField,
    EditButton,
    WrapperField,
    SaveButton,
    SimpleForm,
    NumberField,
    useRefresh,
    TextField,
    DateField,
    CreateBase,
    TopToolbar,
    FilterButton,
    SearchInput,
    List,
    Create,
} from 'react-admin';
import {
    Dialog,
    DialogActions,
    DialogContent,
    DialogTitle,
    TextField,
    IconButton,
    MenuItem,
    Tooltip,
@@ -27,8 +39,11 @@
    Button,
    Stack,
    Grid,
    Card,
    Box,
    CardContent,
} from '@mui/material';
import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting';
import ConfirmationNumberIcon from '@mui/icons-material/ConfirmationNumber';
import DialogCloseButton from "../../components/DialogCloseButton.jsx";
import WarehouseSelect from "../../components/WarehouseSelect.jsx";
@@ -36,21 +51,13 @@
import { DataGrid, useGridApiRef } from '@mui/x-data-grid';
import ConfirmButton from "../../components/ConfirmButton";
import { Add, Edit, Delete } from '@mui/icons-material';
import SelectLocsRevise from "./SelectLocsRevise.jsx";
import DictSelect from "../../components/DictSelect";
import SaveIcon from '@mui/icons-material/Save';
import { styled } from '@mui/material/styles';
import { redirect } from "react-router";
import request from '@/utils/request';
import _, { set } from 'lodash';
const StyledSimpleForm = styled(SimpleForm)(({ theme }) => ({
    '& .MuiToolbar-root-RaToolbar-root': {
        '& .RaToolbar-defaultToolbar': {
            justifyContent: 'flex-end',
        }
    }
}));
const LocReviseCreate = (props) => {
    const { open, setOpen, orderId } = props;
@@ -60,6 +67,7 @@
    const translate = useTranslate();
    const [tabelData, setTableData] = useState([]);
    const [disabled, setDisabled] = useState(false);
    const [isVisible, setIsVisible] = useState("block");
    const [selectedRows, setSelectedRows] = useState([]);
    const [createDialog, setCreateDialog] = useState(false);
    const [formData, setFormData] = useState({ type: '0', orgAreaId: null, tarAreaId: null, exceTime: null, code: null });
@@ -74,38 +82,46 @@
        setTableData([...tabelData]);
    }
    const handleSubmit = async () => {
        setFinally()
        setDisabled(true)
    const FormToolbar = () => {
        return (
            <Toolbar sx={{ justifyContent: 'flex-end' }}>
                <SaveButton disabled={disabled} />
                <DeleteButton mutationMode="optimistic" />
            </Toolbar>
        )
    }
    // const handleSubmit = async () => {
    //     setFinally()
    //     setDisabled(true)
        if (orderId == null || orderId == undefined) {
            const parmas = {
                "revise": formData,
                "items": tabelData,
            }
    //     if (orderId == null || orderId == undefined) {
    //         const parmas = {
    //             "revise": formData,
    //             "items": tabelData,
    //         }
            const res = await request.post(`/transfer/items/save`, parmas);
            if (res?.data?.code === 200) {
                setOpen(false);
            } else {
                notify(res.data.msg);
            }
        } else {
            const parmas = {
                "transfer": formData,
                "items": tabelData,
            }
            const res = await request.post(`/transfer/items/update`, parmas);
            if (res?.data?.code === 200) {
                setOpen(false);
            } else {
                notify(res.data.msg);
            }
        }
        setDisabled(false)
        refresh();
    //         const res = await request.post(`/transfer/items/save`, parmas);
    //         if (res?.data?.code === 200) {
    //             setOpen(false);
    //         } else {
    //             notify(res.data.msg);
    //         }
    //     } else {
    //         const parmas = {
    //             "transfer": formData,
    //             "items": tabelData,
    //         }
    //         const res = await request.post(`/transfer/items/update`, parmas);
    //         if (res?.data?.code === 200) {
    //             setOpen(false);
    //         } else {
    //             notify(res.data.msg);
    //         }
    //     }
    //     setDisabled(false)
    //     refresh();
    };
    // };
    const handleDeleteItem = () => {
        const newTableData = _.filter(tabelData, (item) => !selectedRows.includes(item.matnrId));
@@ -113,20 +129,15 @@
    }
    const newAddClick = () => {
        if (formData.areaId == null || formData.areaId == undefined) {
            notify("库区不能为空!!", { type: 'error' })
            return
        }
        setCreateDialog(true)
    }
    const mutationOptions = {
        onSuccess: (data) => {
            notify(`文章 "${data.title}" 创建成功`, { type: 'success' });
            setIsVisible("block")
            setDisabled(true)
            refresh()
        },
        onError: (error) => {
            notify(`创建失败: ${error.message}`, { type: 'error' });
        }
    };
    const handleChange = (value, name) => {
@@ -139,20 +150,15 @@
    return (
        <>
            <Box sx={{ padding: 1 }}>
                <CreateBase resource="locRevise" mutationOptions={mutationOptions} >
                    <SimpleForm >
                <Create resource="locRevise"
                    title={false}
                    mutationOptions={mutationOptions} >
                    <SimpleForm toolbar={<FormToolbar />}>
                        <Grid container spacing={2} sx={{
                            '& .MuiToolbar-root-RaToolbar-root.RaToolbar-defaultToolbar': {
                                justifyContent: 'flex-end',
                            }
                        }}>
                            <Grid item md={2}>
                                <TextInput
                                    source="code"
                                    label={translate("table.field.locRevise.code")}
                                    readOnly
                                />
                            </Grid>
                            <Grid item md={2}>
                                <AutocompleteInput
                                    choices={dicts}
@@ -160,6 +166,7 @@
                                    optionValue="value"
                                    defaultValue="1"
                                    source="type"
                                    parse={v => v}
                                    label={translate("table.field.transfer.type")}
                                />
                            </Grid>
@@ -168,6 +175,7 @@
                                    <AutocompleteInput
                                        optionText='name'
                                        optionValue="id"
                                        parse={v => v}
                                        label={translate("table.field.locRevise.areaName")}
                                    />
                                </ReferenceInput>
@@ -175,36 +183,38 @@
                            <Grid item md={2}>
                                <DateInput
                                    source="exceTime"
                                    parse={v => v}
                                    label="table.field.locRevise.exceTime"
                                />
                            </Grid>
                        </Grid>
                    </SimpleForm>
                </CreateBase>
                <Box sx={{ mt: 2 }}>
                    <Stack direction="row" spacing={2} sx={{ justifyContent: "flex-end" }}>
                        <Button variant="contained" onClick={newAddClick} >
                            {translate('common.action.newAddMats')}
                        </Button>
                        <ConfirmButton label={"toolbar.delete"} variant="outlined" color="error" onConfirm={handleDeleteItem} />
                    </Stack>
                </Create>
                <Box sx={{ display: isVisible }}>
                    <Card sx={{ height: 630 }}>
                        <Box>
                            <Box sx={{ mt: 2 }}>
                                <Stack direction="row" spacing={2} sx={{ justifyContent: "flex-start" }}>
                                    <Button variant="contained" onClick={newAddClick} >
                                        {translate('common.action.newAddMats')}
                                    </Button>
                                    <ConfirmButton label={"toolbar.delete"} variant="outlined" color="error" onConfirm={handleDeleteItem} />
                                </Stack>
                            </Box>
                            <Box sx={{ mt: 2 }}>
                                <TransferTableView
                                    tabelData={tabelData}
                                    setTableData={setTableData}
                                    orderId={orderId}
                                    selectedRows={selectedRows}
                                    setSelectedRows={setSelectedRows}
                                    tableRef={tableRef}>
                                </TransferTableView>
                            </Box>
                        </Box>
                    </Card>
                </Box>
                <Box sx={{ mt: 2 }}>
                    <TransferTableView
                        tabelData={tabelData}
                        setTableData={setTableData}
                        orderId={orderId}
                        selectedRows={selectedRows}
                        setSelectedRows={setSelectedRows}
                        tableRef={tableRef}>
                    </TransferTableView>
                </Box>
                <Toolbar sx={{ width: '100%', justifyContent: 'flex-start', bgcolor: 'white' }}  >
                    <Button disabled={disabled} onClick={handleSubmit} variant="contained" startIcon={<SaveIcon />}>
                        {translate('toolbar.confirm')}
                    </Button>
                </Toolbar>
                {/* <CreateBySelectMats
                <SelectLocsRevise
                    data={tabelData}
                    queryForm={formData}
                    open={createDialog}
@@ -212,7 +222,7 @@
                    selectedRows={selectedRows}
                    setSelectedRows={setSelectedRows}
                    setData={setTableData}
                /> */}
                />
            </Box>
        </>
    )
@@ -480,7 +490,7 @@
                rowSelectionModel={tableIds}
                onRowSelectionModelChange={handleSelectionChange}
                sx={{
                    height: 580,
                    height: 500,
                    '& .MuiDataGrid-cell input': {
                        border: '1px solid #ccc'
                    },