From 8a4755489c7c20bf21f481b272f87bc29a2d36c7 Mon Sep 17 00:00:00 2001 From: vincentlu <t1341870251@gmail.com> Date: 星期一, 11 八月 2025 11:17:32 +0800 Subject: [PATCH] # --- rsf-admin/src/page/orders/asnOrder/AsnWareModal.jsx | 62 +++++++++++++++++-------------- 1 files changed, 34 insertions(+), 28 deletions(-) diff --git a/rsf-admin/src/page/orders/asnOrder/AsnWareModal.jsx b/rsf-admin/src/page/orders/asnOrder/AsnWareModal.jsx index 5a74996..cc7f9f6 100644 --- a/rsf-admin/src/page/orders/asnOrder/AsnWareModal.jsx +++ b/rsf-admin/src/page/orders/asnOrder/AsnWareModal.jsx @@ -12,8 +12,8 @@ Paper, styled } from '@mui/material'; +import { EDIT_MODE, DEFAULT_START_PAGE, DEFAULT_PAGE_SIZE, REFERENCE_INPUT_PAGESIZE } from '@/config/setting'; import DialogCloseButton from "../../components/DialogCloseButton"; -import ConfirmButton from "../../components/ConfirmButton"; import { useTranslate, useNotify, useRefresh } from 'react-admin'; import request from '@/utils/request'; import { DataGrid } from '@mui/x-data-grid'; @@ -21,33 +21,25 @@ import TreeSelectInput from "@/page/components/TreeSelectInput"; const AsnWareModal = (props) => { const { open, setOpen, data, setData } = props; - const translate = useTranslate(); const notify = useNotify(); const refresh = useRefresh(); - - const asnId = ''; - const handleClose = (event, reason) => { if (reason !== "backdropClick") { setOpen(false); } }; - - const [formData, setFormData] = useState({ - name: '', - code: '', - groupId: 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([]); const [selectedRows, setSelectedRows] = useState([]); const handleChange = (e) => { const { name, value } = e.target; - setFormData((prevData) => ({ - ...prevData, + setFormData(() => ({ [name]: value })); }; @@ -69,11 +61,12 @@ return acc; }, {}); return { + ...el, matnrId: el.id, maktx: el.name, matnrCode: el.code, - stockUnit: el.stockUnit || '', - purUnit: el.purchaseUnit || '', + stockUnit: el.unit, + purUnit: el.unit, ...dynamicFields } })) @@ -83,22 +76,26 @@ }; const getData = async () => { + setIsLoading(true) const res = await request.post(`/matnr/page`, { ...formData, - current: 1, - pageSize: 100, + current: page?.page, + pageSize: page?.pageSize, orderBy: "create_time desc" }); if (res?.data?.code === 200) { setTableData(res.data.data.records); + console.log(res.data); + setRowCount(res.data?.data.total) } else { notify(res.data.msg); } + setIsLoading(false) }; useEffect(() => { getData(); - }, [open]); + }, [open, page]); const handleSearch = () => { getData() @@ -166,6 +163,10 @@ <AsnWareModalTable tableData={tableData} setTableData={setTableData} + page={page} + rowCount={rowCount} + setPage={setPage} + isLoading={isLoading} dyFields={dyFields} setDyFields={setDyFields} selectedRows={selectedRows} @@ -185,33 +186,27 @@ }; export default AsnWareModal; - -const AsnWareModalTable = ({ tableData, setTableData, selectedRows, setSelectedRows, dyFields, setDyFields }) => { +const AsnWareModalTable = ({ tableData, isLoading, page, setPage, rowCount, setTableData, selectedRows, setSelectedRows, dyFields, setDyFields }) => { const translate = useTranslate(); const notify = useNotify(); - const [columns, setColumns] = useState([ // { field: 'id', headerName: 'ID', width: 100 }, - { field: 'name', headerName: translate('table.field.matnr.name'), width: 300 }, { field: 'code', headerName: translate('table.field.matnr.code'), width: 200 }, + { field: 'name', headerName: translate('table.field.matnr.name'), width: 300 }, { field: 'groupId$', headerName: translate('table.field.matnr.groupId'), width: 100 }, { field: 'spec', headerName: translate('table.field.matnr.spec'), width: 100 }, { field: 'model', headerName: translate('table.field.matnr.model'), width: 100 }, { field: 'weight', headerName: translate('table.field.matnr.weight'), width: 100 }, - { field: 'describle', headerName: translate('table.field.matnr.describle'), width: 100 }, { field: 'nromNum', headerName: translate('table.field.matnr.nromNum'), width: 100 }, { field: 'unit', headerName: translate('table.field.matnr.unit'), width: 100 }, - { field: 'purchaseUnit', headerName: translate('table.field.matnr.purUnit'), width: 100 }, + { field: 'purUnit', headerName: translate('table.field.matnr.purUnit'), width: 100 }, { field: 'stockUnit', headerName: translate('table.field.matnr.stockUnit'), width: 100 }, { field: 'stockLeval$', headerName: translate('table.field.matnr.stockLevel'), width: 100, sortable: false }, ]) - - const handleSelectionChange = (ids) => { setSelectedRows(ids) - }; useEffect(() => { @@ -252,6 +247,17 @@ disableColumnMenu={true} disableColumnSorting disableMultipleColumnsSorting + rowCount={rowCount} + paginationMode="server" + paginationModel={page} + onPaginationModelChange={setPage} + loading={isLoading} + slotProps={{ + loadingOverlay: { + variant: 'linear-progress', + noRowsVariant: 'linear-progress', + }, + }} /> </div> ); -- Gitblit v1.9.1