From b6f3ff15c1222ee1d54cc7b65a83c8d577f29e1b Mon Sep 17 00:00:00 2001 From: verou <857149855@qq.com> Date: 星期一, 17 三月 2025 14:09:05 +0800 Subject: [PATCH] feat:TooltipField组件 --- rsf-admin/src/page/asnOrder/AsnOrderModal.jsx | 68 ++++++++++++++++++++------------- 1 files changed, 41 insertions(+), 27 deletions(-) diff --git a/rsf-admin/src/page/asnOrder/AsnOrderModal.jsx b/rsf-admin/src/page/asnOrder/AsnOrderModal.jsx index 66af5ed..2942d22 100644 --- a/rsf-admin/src/page/asnOrder/AsnOrderModal.jsx +++ b/rsf-admin/src/page/asnOrder/AsnOrderModal.jsx @@ -57,8 +57,6 @@ const AsnOrderModal = (props) => { const { open, setOpen, asnId } = props; - - const translate = useTranslate(); const notify = useNotify(); const refresh = useRefresh(); @@ -95,16 +93,22 @@ }; const handleSubmit = async () => { - const parmas = { - "orders": formData, - "items": tabelData, - } - const res = await request.post(`/asnOrder/items/save`, parmas); - if (res?.data?.code === 200) { - setOpen(false); + if (asnId === 0) { + const parmas = { + "orders": formData, + "items": tabelData, + } + const res = await request.post(`/asnOrder/items/save`, parmas); + if (res?.data?.code === 200) { + setOpen(false); + refresh(); + } else { + notify(res.data.msg); + } } else { - notify(res.data.msg); + setOpen(false); } + }; @@ -125,7 +129,6 @@ } else { notify(res.data.msg); } - } const requestGetBody = async () => { @@ -134,6 +137,13 @@ setTableData(res.data.data.records) } else { notify(res.data.msg); + } + } + + const requestSetHead = async () => { + if (asnId !== 0) { + const res = await request.post(`/asnOrder/update`, { ...formData }); + refresh() } } @@ -170,6 +180,7 @@ name="type" value={formData.type} onChange={handleChange} + onBlur={requestSetHead} variant="outlined" size="small" validate={required()} @@ -199,7 +210,7 @@ </Box> <Box sx={{ mt: 2 }}> - <AsnOrderModalTable tabelData={tabelData} setTableData={setTableData} ></AsnOrderModalTable> + <AsnOrderModalTable tabelData={tabelData} setTableData={setTableData} asnId={asnId} ></AsnOrderModalTable> </Box> </DialogContent> <DialogActions sx={{ position: 'sticky', bottom: 0, backgroundColor: 'background.paper', zIndex: 1000 }}> @@ -224,7 +235,7 @@ export default AsnOrderModal; -const AsnOrderModalTable = ({ tabelData, setTableData }) => { +const AsnOrderModalTable = ({ tabelData, setTableData, asnId }) => { const translate = useTranslate(); const columns = [ @@ -247,11 +258,11 @@ headerName: translate('table.field.asnOrderItem.matnrId'), minWidth: 100, flex: 1, - editable: false, // 鍋囪 matnrId 涓嶅彲缂栬緫 + editable: false, }, { - field: 'matnk', - headerName: translate('table.field.asnOrderItem.matnk'), + field: 'maktx', + headerName: translate('table.field.asnOrderItem.maktx'), minWidth: 100, flex: 1, editable: true, @@ -261,14 +272,12 @@ headerName: translate('table.field.asnOrderItem.poDetlId'), minWidth: 100, flex: 1, - editable: true, }, { field: 'poDetlCode', headerName: translate('table.field.asnOrderItem.poDetlCode'), minWidth: 100, flex: 1, - editable: true, }, { field: 'anfme', @@ -336,22 +345,27 @@ ]; + const requestSetBody = async (row) => { + if (asnId !== 0) { + const res = await request.post(`/asnOrderItem/update`, row); + } + + } + const handleDelete = (row) => { const newData = _.filter(tabelData, (item) => item.matnrId !== row.matnrId); setTableData(newData); }; - const handleEdit = (field, row, value) => { - setTableData((prevData) => - prevData.map((r) => - r.matnrId === row.matnrId ? { ...r, [field]: value } : r - ) - ); - }; const processRowUpdate = (newRow, oldRow) => { - const field = Object.keys(newRow).find((key) => newRow[key] !== oldRow[key]); - handleEdit(field, oldRow, newRow[field]); + setTableData((prevData) => + prevData.map((r) => + r.matnrId === newRow.matnrId ? { ...newRow } : r + ) + ); + + requestSetBody(newRow) return newRow; }; -- Gitblit v1.9.1