From cb2339b2f1530132659c8c320cfdd91ee7f68c61 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期四, 31 七月 2025 12:47:28 +0800 Subject: [PATCH] 调拔单功能优化 库位编辑更新不生效问题修复 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TransferServiceImpl.java | 1 rsf-admin/src/page/orders/asnOrder/AsnWareModal.jsx | 32 +++++++++- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java | 2 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java | 1 rsf-admin/src/page/orders/transfer/ManualCreate.jsx | 2 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocItem.java | 2 rsf-admin/src/page/orders/transfer/CreateBySelectMats.jsx | 71 +++++++++++++---------- rsf-admin/src/config/setting.js | 2 rsf-admin/src/page/orders/delivery/DeliveryEdit.jsx | 37 +++++++++--- 9 files changed, 99 insertions(+), 51 deletions(-) diff --git a/rsf-admin/src/config/setting.js b/rsf-admin/src/config/setting.js index 5c0a609..41127a8 100644 --- a/rsf-admin/src/config/setting.js +++ b/rsf-admin/src/config/setting.js @@ -27,6 +27,8 @@ export const DEFAULT_PAGE_SIZE = 25; +export const DEFAULT_START_PAGE = 1; + export const DEFAULT_ITEM_PAGE_SIZE = 10; export const PAGE_DRAWER_WIDTH = 400; diff --git a/rsf-admin/src/page/orders/asnOrder/AsnWareModal.jsx b/rsf-admin/src/page/orders/asnOrder/AsnWareModal.jsx index 7667817..cc7f9f6 100644 --- a/rsf-admin/src/page/orders/asnOrder/AsnWareModal.jsx +++ b/rsf-admin/src/page/orders/asnOrder/AsnWareModal.jsx @@ -12,6 +12,7 @@ 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 { useTranslate, useNotify, useRefresh } from 'react-admin'; import request from '@/utils/request'; @@ -28,7 +29,9 @@ setOpen(false); } }; - + 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([]); @@ -73,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() @@ -156,6 +163,10 @@ <AsnWareModalTable tableData={tableData} setTableData={setTableData} + page={page} + rowCount={rowCount} + setPage={setPage} + isLoading={isLoading} dyFields={dyFields} setDyFields={setDyFields} selectedRows={selectedRows} @@ -175,7 +186,7 @@ }; 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([ @@ -236,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> ); diff --git a/rsf-admin/src/page/orders/delivery/DeliveryEdit.jsx b/rsf-admin/src/page/orders/delivery/DeliveryEdit.jsx index 6113334..aeabe72 100644 --- a/rsf-admin/src/page/orders/delivery/DeliveryEdit.jsx +++ b/rsf-admin/src/page/orders/delivery/DeliveryEdit.jsx @@ -57,8 +57,22 @@ <SimpleForm shouldUnregister warnWhenUnsavedChanges - toolbar={<FormToolbar />} + toolbar={false} mode="onTouched" + sx={{ + "& .MuiFormLabel-root.MuiInputLabel-root.Mui-disabled": { + bgcolor: 'white', + WebkitTextFillColor: "rgba(0, 0, 0)" + }, + + "& .MuiInputBase-input.MuiFilledInput-input.Mui-disabled": { + bgcolor: 'white', + WebkitTextFillColor: "rgba(0, 0, 0)" + }, + "& .MuiFilledInput-root.MuiInputBase-sizeSmall": { + bgcolor: 'white', + } + }} defaultValues={{}} > <Grid container width={{ xs: '100%', xl: '100%' }} rowSpacing={3} columnSpacing={3}> @@ -71,7 +85,8 @@ label="table.field.delivery.code" source="code" parse={v => v} - autoFocus + readOnly + /> <AutocompleteInput choices={dicts} @@ -89,12 +104,15 @@ source="wkType" optionValue="value" parse={v => v} + readOnly /> <TextInput label="table.field.delivery.source" source="source" parse={v => v} validate={required()} + readOnly + /> </Stack> <Stack direction='row' gap={2}> @@ -102,45 +120,44 @@ label="table.field.delivery.anfme" source="anfme" validate={required()} + readOnly /> <NumberInput label="table.field.delivery.qty" source="qty" + readOnly /> <NumberInput label="table.field.delivery.workQty" source="workQty" + readOnly /> <TextInput label="table.field.delivery.platId" source="platId" parse={v => v} + readOnly /> <TextInput label="table.field.delivery.platCode" source="platCode" parse={v => v} + readOnly /> </Stack> <Stack direction='row' gap={2}> <DateInput label="table.field.delivery.startTime" source="startTime" + readOnly /> <DateInput label="table.field.delivery.endTime" source="endTime" + readOnly /> </Stack> </Grid> - {/* <Grid item xs={8} md={2}> - <Typography variant="h6" gutterBottom> - {translate('common.edit.title.common')} - </Typography> - <StatusSelectInput /> - <Box mt="2em" /> - <MemoInput /> - </Grid> */} </Grid> </SimpleForm> </Edit > 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> ); diff --git a/rsf-admin/src/page/orders/transfer/ManualCreate.jsx b/rsf-admin/src/page/orders/transfer/ManualCreate.jsx index 3e6e6fa..b30ef5b 100644 --- a/rsf-admin/src/page/orders/transfer/ManualCreate.jsx +++ b/rsf-admin/src/page/orders/transfer/ManualCreate.jsx @@ -38,12 +38,12 @@ import ConfirmationNumberIcon from '@mui/icons-material/ConfirmationNumber'; import DialogCloseButton from "../../components/DialogCloseButton.jsx"; import WarehouseSelect from "../../components/WarehouseSelect.jsx"; +import { useFormContext, useWatch } from "react-hook-form"; 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'; diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocItem.java index 4f26a50..5191964 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocItem.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocItem.java @@ -241,7 +241,7 @@ @ApiModelProperty("鍑虹珯鍙�") @TableField(exist = false) - private String siteNo; + private String site; /** diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java index 6b434a1..e5a5103 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java @@ -251,7 +251,7 @@ throw new CoolException("搴撳彛涓嶄负绌猴紒锛�"); } locItems.forEach(locItem -> { - locItem.setSiteNo(deviceSite.getSite()); + locItem.setSite(deviceSite.getSite()); }); } return R.ok().add(locItems); diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TransferServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TransferServiceImpl.java index 0720676..2fb5570 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TransferServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TransferServiceImpl.java @@ -348,6 +348,7 @@ @Override public IPage<LocItem> getLocsItems(OrgLocParams params, Long loginUserId) { List<Loc> locs = locService.list(new LambdaQueryWrapper<Loc>() + .eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_F.type) .eq(!Objects.isNull(params.getOrgAreaId()), Loc::getAreaId, params.getOrgAreaId())); Page<LocItem> page = new Page<>(params.getCurrent(), params.getPageSize()); diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java index e3a5f10..926ed70 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java @@ -142,7 +142,6 @@ } } items.add(pakinItem); - } Double sum1 = items.stream().mapToDouble(WaitPakinItem::getAnfme).sum(); -- Gitblit v1.9.1