| | |
| | | import { styled } from '@mui/material/styles'; |
| | | import { DataGrid, useGridApiContext, GridActionsCellItem, useGridApiRef } from '@mui/x-data-grid'; |
| | | import request from '@/utils/request'; |
| | | import { formatQuantity } from '@/utils/common'; |
| | | import ConfirmationNumberOutlinedIcon from '@mui/icons-material/ConfirmationNumberOutlined'; |
| | | import CloseSharpIcon from '@mui/icons-material/CloseSharp'; |
| | | import ConfirmButton from '../../components/ConfirmButton'; |
| | |
| | | console.log('API返回的数据:', responseData); |
| | | // 处理返回的数据,确保数据结构正确 |
| | | const processedData = (responseData || []).map((item, index) => { |
| | | // 出库单下发任务:优先用后端返回的 siteNo/sitesNo,没有则默认 1001 |
| | | const defaultSiteNo = item.siteNo || item.sitesNo || '1001'; |
| | | // 如果数据有 locItem 嵌套结构,需要展开 |
| | | if (item.locItem) { |
| | | return { |
| | | ...item.locItem, |
| | | id: item.locItem.id || `temp_${index}`, |
| | | siteNo: item.siteNo, |
| | | siteNo: defaultSiteNo, |
| | | staNos: item.staNos || [], |
| | | sourceId: item.sourceId, |
| | | source: item.source |
| | |
| | | // 如果数据已经是扁平结构,直接返回 |
| | | return { |
| | | ...item, |
| | | id: item.id || `temp_${index}` |
| | | id: item.id || `temp_${index}`, |
| | | siteNo: defaultSiteNo |
| | | }; |
| | | }); |
| | | console.log('处理后的数据:', processedData); |
| | |
| | | <TextField source="poCode" label="table.field.outStockItem.poCode" /> |
| | | <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" /> |
| | | <NumberField source="anfme" label="table.field.outStockItem.anfme" options={{ maximumFractionDigits: 6 }} /> |
| | | <NumberField source="workQty" label="table.field.outStockItem.workQty" options={{ maximumFractionDigits: 6 }} /> |
| | | <NumberField source="qty" label="table.field.outStockItem.qty" options={{ maximumFractionDigits: 6 }} /> |
| | | <TextField source="stockUnit" label="table.field.outStockItem.stockUnit" /> |
| | | <TextField source="splrName" label="table.field.outStockItem.splrName" /> |
| | | </StyledDatagrid> |
| | |
| | | { field: 'matnrCode', headerName: '物料编码', width: 120 }, |
| | | { field: 'batch', headerName: '批次', width: 90 }, |
| | | { field: 'unit', headerName: '单位', width: 60 }, |
| | | { field: 'outQty', headerName: '出库数量', width: 110, }, |
| | | { field: 'outQty', headerName: '出库数量', width: 110, valueFormatter: (v) => formatQuantity(v) }, |
| | | { |
| | | field: 'anfme', headerName: '库存数量', width: 110, |
| | | renderCell: (params) => ( |
| | |
| | | return ( |
| | | hasStock ? ( |
| | | <Box sx={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between' }}> |
| | | <span>{value}</span> |
| | | <span>{formatQuantity(value)}</span> |
| | | </Box> |
| | | ) : ( |
| | | <Box sx={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between' }}> |