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