|  |  | 
 |  |  | 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': { | 
 |  |  | 
 |  |  |             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 ( | 
 |  |  |             <Button label="toolbar.confirm" size="medium" onClick={handleRowClick} /> | 
 |  |  |             record.exceStatus != 3 ? <><Button label="toolbar.confirm" size="medium" onClick={handleRowClick} /></> : <></> | 
 |  |  |         ) | 
 |  |  |     }; | 
 |  |  |  | 
 |  |  | 
 |  |  |                                     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> | 
 |  |  | 
 |  |  |                             </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> | 
 |  |  | 
 |  |  |     }, [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) => ( | 
 |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  | //提交按钮 | 
 |  |  | const SubmitButton = ({ selectedIds, setSelectedIds, gridRef, record }) => { | 
 |  |  | const SubmitButton = ({ selectedIds, setSelectedIds, rowSelectedIds, gridRef, record }) => { | 
 |  |  |     const notify = useNotify(); | 
 |  |  |     const refresh = useRefresh(); | 
 |  |  |     const translate = useTranslate(); | 
 |  |  |     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 }); | 
 |  |  |         let selctRecord = items.filter(item => selectedIds.includes(item?.id)); | 
 |  |  |         if (selctRecord == undefined || selctRecord.length < 1) { | 
 |  |  |             notify(translate('common.msg.locEmpty'), { type: 'error' }); | 
 |  |  |             return | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         //过滤,将库位添加至盘点单明细中 | 
 |  |  |         const records = rowSelectedIds.map(map => { | 
 |  |  |             return { | 
 |  |  |                 ...map, | 
 |  |  |                 items: selctRecord.filter(item => item.matnrCode == map.matnrCode) | 
 |  |  |             } | 
 |  |  |         }) | 
 |  |  |  | 
 |  |  |         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} |