From cb2339b2f1530132659c8c320cfdd91ee7f68c61 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期四, 31 七月 2025 12:47:28 +0800 Subject: [PATCH] 调拔单功能优化 库位编辑更新不生效问题修复 --- rsf-admin/src/page/orders/transfer/CreateBySelectMats.jsx | 71 +++++++++++++++++++---------------- 1 files changed, 39 insertions(+), 32 deletions(-) diff --git a/rsf-admin/src/page/orders/transfer/CreateBySelectMats.jsx b/rsf-admin/src/page/orders/transfer/CreateBySelectMats.jsx index 69c2be1..c00ad64 100644 --- a/rsf-admin/src/page/orders/transfer/CreateBySelectMats.jsx +++ b/rsf-admin/src/page/orders/transfer/CreateBySelectMats.jsx @@ -23,8 +23,8 @@ DeleteButton, } from 'react-admin'; import { Stack, Grid, Box, Typography, Dialog, DialogTitle, DialogContent, TextField, Button, DialogActions } from '@mui/material'; +import { EDIT_MODE, DEFAULT_START_PAGE, DEFAULT_PAGE_SIZE, REFERENCE_INPUT_PAGESIZE } from '@/config/setting'; import DialogCloseButton from "../../components/DialogCloseButton.jsx"; -import { EDIT_MODE, REFERENCE_INPUT_PAGESIZE } from '@/config/setting'; import StatusSelectInput from "../../components/StatusSelectInput"; import CustomerTopToolBar from "../../components/EditTopToolBar"; import TreeSelectInput from "@/page/components/TreeSelectInput"; @@ -38,8 +38,9 @@ const CreateBySelectMats = (props) => { const { open, setOpen, data, setData } = props; - const [page, setPage] = useState(0); + const [page, setPage] = useState({ page: DEFAULT_START_PAGE, pageSize: DEFAULT_PAGE_SIZE }); const [rowCount, setRowCount] = useState(0); + const [isLoading, setIsLoading] = useState(false); const [formData, setFormData] = useState({}); const [tableData, setTableData] = useState([]); const [dyFields, setDyFields] = useState([]); @@ -54,7 +55,6 @@ setOpen(false); } }; - const handleChange = (e) => { const { name, value } = e.target; @@ -91,26 +91,27 @@ } })); setData([...data, ...value]); - - console.log(data); setOpen(false); reset(); }; const getData = async () => { + setIsLoading(true) const res = await request.post(`/transfer/locs/items`, { ...formData, - current: page, - pageSize: pageSize, + current: page?.page, + pageSize: page?.pageSize, orderBy: "create_time desc" }); if (res?.data?.code === 200) { const { data } = res.data; setTableData(data?.records); setRowCount(data?.total); + } else { notify(res.data.msg); } + setIsLoading(false) }; useEffect(() => { @@ -176,6 +177,7 @@ rowCount={rowCount} pageSize={pageSize} setPage={setPage} + isLoading={isLoading} setPageSize={setPageSize} dyFields={dyFields} setDyFields={setDyFields} @@ -198,7 +200,7 @@ export default CreateBySelectMats; -const SelectMatsTableView = ({ tableData, page, pageSize, setPage, setPageSize, rowCount, setTableData, selectedRows, setSelectedRows, dyFields, setDyFields }) => { +const SelectMatsTableView = ({ tableData, page, isLoading, pageSize, setPage, setPageSize, rowCount, setTableData, selectedRows, setSelectedRows, dyFields, setDyFields }) => { const translate = useTranslate(); const notify = useNotify(); const [extendColumns, setExtendColumns] = useState([]); @@ -215,14 +217,29 @@ { field: 'wareArea', headerName: translate('table.field.locItem.wareArea'), width: 100, sortable: false }, ]) + const getData = async () => { + const res = await request.post(`/matnr/page`, { + // const res = await request.post(`/transfer/locs/items`, { + ...formData, + current: page, + pageSize: pageSize, + orderBy: "create_time desc" + }); + if (res?.data?.code === 200) { + const { data } = res.data; + console.log('====-->'); + console.log(data); + setTableData(data?.records); + setRowCount(data?.total); + + } else { + notify(res.data.msg); + } + }; + const handleSelectionChange = (ids) => { setSelectedRows(ids) }; - - useEffect(() => { - console.log('------->'); - console.log(page); - }, [page]) useEffect(() => { if (extendColumns == undefined || extendColumns.length < 1) { @@ -255,31 +272,21 @@ return ( <div style={{ height: 400, width: '100%' }}> + <DataGrid - size="small" rows={tableData} - page={page} - pageSize={pageSize} - columns={columns} - pagination - checkboxSelection rowCount={rowCount} - onRowSelectionModelChange={handleSelectionChange} - onPageChange={(newPage) => setPage(newPage)} - onPageSizeChange={(newPageSize) => setPageSize(newPageSize)} - selectionModel={selectedRows} + columns={columns} paginationMode="server" - disableColumnMenu={true} - initialState={{ - pagination: { - paginationModel: { - pageSize: 25, - }, + paginationModel={page} + onPaginationModelChange={setPage} + loading={isLoading} + slotProps={{ + loadingOverlay: { + variant: 'linear-progress', + noRowsVariant: 'linear-progress', }, }} - pageSizeOptions={[15, 25, 50, 100]} - disableColumnSorting - disableMultipleColumnsSorting /> </div> ); -- Gitblit v1.9.1