chen.lin
5 小时以前 e56277542f60f386a109b1b072a1dbda390588fd
rsf-admin/src/page/orders/outStock/SelectMatnrModal.jsx
@@ -43,18 +43,17 @@
    Select,
    MenuItem
} from '@mui/material';
import { useForm, Controller, useWatch, FormProvider, useFormContext } from "react-hook-form";
import DialogCloseButton from "../../components/DialogCloseButton";
import StatusSelectInput from "../../components/StatusSelectInput";
import ConfirmButton from "../../components/ConfirmButton";
import MatnrInfoModal from "./MatnrInfoModal";
import { useForm, Controller, useWatch, FormProvider, useFormContext } from "react-hook-form";
import SaveIcon from '@mui/icons-material/Save';
import request from '@/utils/request';
import { Add, Edit, Delete } from '@mui/icons-material';
import _, { set } from 'lodash';
import { DataGrid, useGridApiRef } from '@mui/x-data-grid';
import DictionarySelect from "../../components/DictionarySelect";
import { DataGrid, useGridApiRef } from '@mui/x-data-grid';
import ConfirmButton from "../../components/ConfirmButton";
import { Add, Edit, Delete } from '@mui/icons-material';
import DictSelect from "../../components/DictSelect";
import SaveIcon from '@mui/icons-material/Save';
import MatnrInfoModal from "./MatnrInfoModal";
import request from '@/utils/request';
import "./asnOrder.css";
const SelectMatnrModal = (props) => {
@@ -100,7 +99,6 @@
            ...prevData,
            [name]: value
        }));
        console.log(formData);
    };
    const resetData = () => {
@@ -124,40 +122,36 @@
    }
    const handleSubmit = async () => {
        setFinally()
        setDisabled(true)
        if (asnId === 0) {
            const parmas = {
                "orders": formData,
                "items": tabelData,
            }
            const res = await request.post(`/outStock/items/save`, parmas);
            if (res?.data?.code === 200) {
                setOpen(false);
                refresh();
                billReload?.current()
                resetData()
        setFinally();
        setDisabled(true);
        try {
            if (asnId === 0) {
                const parmas = { "orders": formData, "items": tabelData };
                const res = await request.post(`/outStock/items/save`, parmas);
                if (res?.data?.code === 200) {
                    setOpen(false);
                    refresh();
                    resetData();
                } else {
                    notify(res?.data?.msg || '保存失败', { type: 'error' });
                }
            } else {
                notify(res.data.msg);
                const parmas = { "orders": formData, "items": tabelData };
                const res = await request.post(`/outStock/items/update`, parmas);
                if (res?.data?.code === 200) {
                    setOpen(false);
                    refresh();
                    resetData();
                } else {
                    notify(res?.data?.msg || '保存失败', { type: 'error' });
                }
            }
        } else {
            const parmas = {
                "orders": formData,
                "items": tabelData,
            }
            const res = await request.post(`/outStock/items/update`, parmas);
            if (res?.data?.code === 200) {
                setOpen(false);
                refresh();
                billReload?.current()
                resetData()
            } else {
                notify(res.data.msg);
            }
        } catch (error) {
            const msg = error?.response?.data?.msg || error?.message || '保存失败,请重试';
            notify(msg, { type: 'error' });
        } finally {
            setDisabled(false);
        }
        setDisabled(false)
    };
@@ -181,7 +175,7 @@
    }
    const requestGetBody = async () => {
        const res = await request.post(`/outStockItem/page`, { asnId });
        const res = await request.post(`/outStockItem/page`, { orderId: asnId });
        if (res?.data?.code === 200) {
            setTableData(res.data.data.records)
        } else {
@@ -191,9 +185,12 @@
    const [selectedRows, setSelectedRows] = useState([]);
    const getRowId = (row) => (row.id != null ? row.id : row._rowKey) ?? row.matnrId;
    const handleDeleteItem = () => {
        const newTableData = _.filter(tabelData, (item) => !selectedRows.includes(item.matnrId));
        const newTableData = tabelData.filter((item) => !selectedRows.includes(getRowId(item)));
        setTableData(newTableData);
        setSelectedRows([]);
    }
    return (
@@ -282,7 +279,7 @@
                        </Stack>
                    </Box>
                    <Box sx={{ mt: 2 }}>
                        <AsnOrderModalTable tabelData={tabelData} setTableData={setTableData} asnId={asnId} selectedRows={selectedRows} setSelectedRows={setSelectedRows} tableRef={tableRef}></AsnOrderModalTable>
                        <AsnOrderModalTable tabelData={tabelData} setTableData={setTableData} asnId={asnId} selectedRows={selectedRows} setSelectedRows={setSelectedRows} tableRef={tableRef} getRowId={getRowId}></AsnOrderModalTable>
                    </Box>
                </DialogContent>
                <DialogActions sx={{ position: 'sticky', bottom: 0, backgroundColor: 'background.paper', zIndex: 1000 }}>
@@ -319,7 +316,6 @@
        } = await request.post("companys/page", parmas);
        if (code === 200) {
            setFormData(data.records)
            console.log(data.records)
        } else {
            notify(msg);
        }
@@ -373,7 +369,6 @@
        } = await request.post("companys/page", parmas);
        if (code === 200) {
            setFormData(data.records)
            console.log(data.records)
        } else {
            notify(msg);
        }
@@ -416,7 +411,7 @@
const AsnOrderModalTable = ({ tabelData, setTableData, asnId, selectedRows, setSelectedRows, tableRef }) => {
const AsnOrderModalTable = ({ tabelData, setTableData, asnId, selectedRows, setSelectedRows, tableRef, getRowId: getRowIdProp }) => {
    const translate = useTranslate();
    const notify = useNotify();
@@ -524,7 +519,10 @@
                headerName: el.fieldsAlise,
                minWidth: 100,
                flex: 1,
                editable: false
                editable: el.unique,
                valueGetter: (value, row) => {
                    return row.extendFields?.[el.fields] || '';
                },
            }))
            setColumns([...columns, ...cols, action])
        } else {
@@ -533,17 +531,20 @@
    }
    const getRowId = getRowIdProp || ((row) => (row.id != null ? row.id : row._rowKey) ?? row.matnrId);
    const handleDelete = (row) => {
        const newData = _.filter(cdata.current, (item) => item.matnrId !== row.matnrId);
        const rowId = getRowId(row);
        const newData = cdata.current.filter((item) => getRowId(item) !== rowId);
        setTableData(newData);
    };
    const processRowUpdate = (newRow, oldRow) => {
        const rows = tabelData.map((r) =>
            r.matnrId === newRow.matnrId ? { ...newRow } : r
        )
        setTableData(rows)
            getRowId(r) === getRowId(oldRow) ? { ...newRow } : r
        );
        setTableData(rows);
        return newRow;
    };
@@ -560,7 +561,7 @@
                rows={tabelData}
                columns={columns}
                disableRowSelectionOnClick
                getRowId={(row) => row.matnrId ? row.matnrId : row.id}
                getRowId={(row) => getRowId(row)}
                disableColumnFilter
                disableColumnSelector
                disableColumnSorting