From 72816c83d06a9ddffc0e8f279529a7c0184bf4d6 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期四, 17 七月 2025 15:03:18 +0800 Subject: [PATCH] 盘点库存信息修改优化 --- rsf-admin/src/page/orders/check/CheckOrderPub.jsx | 74 +++++++++++++++++++++---------------- 1 files changed, 42 insertions(+), 32 deletions(-) diff --git a/rsf-admin/src/page/orders/check/CheckOrderPub.jsx b/rsf-admin/src/page/orders/check/CheckOrderPub.jsx index 67af707..24dade3 100644 --- a/rsf-admin/src/page/orders/check/CheckOrderPub.jsx +++ b/rsf-admin/src/page/orders/check/CheckOrderPub.jsx @@ -25,6 +25,7 @@ import ConfirmButton from '../../components/ConfirmButton'; import { Delete, Edit, Add } from '@mui/icons-material'; import CheckOrderSiteDialog from "./CheckOrderSiteDialog"; +import { map } from "lodash"; const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ '& .css-1vooibu-MuiSvgIcon-root': { @@ -63,28 +64,30 @@ setRows(fetchRows) } else { const mas = fetchRows.filter(item => selectedMatnr.includes(item.matnrCode)); - console.log(mas); - let ids = mas.map(item => item.matnrCode); - console.log(ids); - const { data: { code, data, msg } } = request.get('/check/order/items/' + ids ); - if (code === 200) { - setFetchRows(data) - } else { - notify(msg); - } - // setRows(mas) + let ids = mas.map(item => item.matnrCode); + getLocs(ids) } }, [selectedMatnr]) + const getLocs = async (ids) => { + const { data: { code, data, msg } } = await request.post('/check/locs/' + ids); + if (code === 200) { + setRows(data) + } else { + notify(msg); + } + } + const ComfirmButton = () => { - const { selectedIds, data } = useListContext(); + const { selectedIds, data, onUnselectItems } = useListContext(); const handleRowClick = () => { - const ids = data.filter(item => selectedIds.includes(item.id)).map(item => item.id); + const ids = data.filter(item => selectedIds.includes(item.id)); setRowSelectedIds(ids); const mas = data.filter(item => selectedIds.includes(item.id)).map(item => item.matnrCode); //璁剧疆搴撲綅淇℃伅绛涢�夋潯浠� setSelectedMatnr(mas); + // onUnselectItems() } return ( @@ -192,14 +195,14 @@ omit={['id', 'splrName', 'qty',]} > <NumberField source="id" /> - <TextField source="orderCode" label="table.field.outStockItem.orderCode" /> - <TextField source="matnrCode" label="table.field.outStockItem.matnrCode" /> - <TextField source="maktx" label="table.field.outStockItem.maktx" /> - <NumberField source="anfme" label="table.field.outStockItem.anfme" /> - <NumberField source="workQty" label="table.field.outStockItem.workQty" /> - <NumberField source="qty" label="table.field.outStockItem.qty" /> - <TextField source="stockUnit" label="table.field.outStockItem.stockUnit" /> - <TextField source="splrName" label="table.field.outStockItem.splrName" /> + <TextField source="orderCode" label="table.field.checkOrderItem.orderCode" /> + <TextField source="matnrCode" label="table.field.checkOrderItem.matnrCode" /> + <TextField source="maktx" label="table.field.checkOrderItem.maktx" /> + <NumberField source="anfme" label="table.field.checkOrderItem.anfme" /> + <NumberField source="workQty" label="table.field.checkOrderItem.workQty" /> + <NumberField source="qty" label="table.field.checkOrderItem.qty" /> + <TextField source="stockUnit" label="table.field.checkOrderItem.stockUnit" /> + <TextField source="splrName" label="table.field.checkOrderItem.splrName" /> </StyledDatagrid> </List> </Card> @@ -220,7 +223,7 @@ </Box> <Box sx={{ textAlign: 'center' }}> <CloseButton setOpen={setOpen} /> - <SubmitButton selectedIds={selectedIds} setSelectedIds={setSelectedIds} gridRef={gridRef} record={record} /> + <SubmitButton selectedIds={selectedIds} setSelectedIds={setSelectedIds} rowSelectedIds={rowSelectedIds} gridRef={gridRef} record={record} /> </Box> </Card> </Grid> @@ -248,13 +251,11 @@ }, [selectedIds]) const baseColumns = [ - // { field: 'id', headerName: 'ID', width: 40 }, { field: 'locCode', headerName: '搴撲綅', width: 110 }, { field: 'barcode', headerName: '瀹瑰櫒', width: 120 }, { field: 'matnrCode', headerName: '鐗╂枡缂栫爜', width: 120 }, { field: 'batch', headerName: '鎵规', width: 90 }, { field: 'unit', headerName: '鍗曚綅', width: 60 }, - { field: 'outQty', headerName: '鍑哄簱鏁伴噺', width: 110, }, { field: 'anfme', headerName: '搴撳瓨鏁伴噺', width: 110, renderCell: (params) => ( @@ -420,23 +421,32 @@ //鎻愪氦鎸夐挳 -const SubmitButton = ({ selectedIds, setSelectedIds, gridRef, record }) => { +const SubmitButton = ({ selectedIds, setSelectedIds, rowSelectedIds, gridRef, record }) => { const notify = useNotify(); const refresh = useRefresh(); const redirect = useRedirect(); const submit = async () => { const items = gridRef.current?.getSortedRows(); - const { data: { code, data, msg } } = await request.post('/outStock/generate/tasks', { items, outId: record?.id }); - if (code == 200) { - refresh(); - redirect("/task") - } else { - notify(msg); - } + let selctRecord = items.filter(item => selectedIds.includes(item?.id)); + const records = rowSelectedIds.map(map =>{ + return { + ...map, + items: selctRecord.filter(item => item.matnrCode == map.matnrCode) + } + }) + console.log(records); + + // const { data: { code, data, msg } } = await request.post('/check/generate/tasks', records); + // if (code == 200) { + // refresh(); + // redirect("/task") + // } else { + // notify(msg); + // } } return ( <ConfirmButton - label="toolbar.allComfirm" + label="toolbar.confirmSelect" variant="contained" size="medium" onConfirm={submit} -- Gitblit v1.9.1