From bb7dd1f513149ecd2887895c807861fdd06a43f6 Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期三, 11 二月 2026 15:29:27 +0800
Subject: [PATCH] 展示库存明细
---
rsf-admin/src/page/orders/outStock/SelectMatnrModal.jsx | 78 ++++++++++++++++++++------------------
1 files changed, 41 insertions(+), 37 deletions(-)
diff --git a/rsf-admin/src/page/orders/outStock/SelectMatnrModal.jsx b/rsf-admin/src/page/orders/outStock/SelectMatnrModal.jsx
index 75f916f..e3c59a2 100644
--- a/rsf-admin/src/page/orders/outStock/SelectMatnrModal.jsx
+++ b/rsf-admin/src/page/orders/outStock/SelectMatnrModal.jsx
@@ -122,38 +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();
- 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();
- 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)
-
};
@@ -187,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 (
@@ -278,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 }}>
@@ -410,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();
@@ -530,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;
};
@@ -557,7 +561,7 @@
rows={tabelData}
columns={columns}
disableRowSelectionOnClick
- getRowId={(row) => row.matnrId ? row.matnrId : row.id}
+ getRowId={(row) => getRowId(row)}
disableColumnFilter
disableColumnSelector
disableColumnSorting
--
Gitblit v1.9.1