From c458dd9c84a66ba50cb83adaa3967823ea9effd8 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期三, 11 六月 2025 11:26:23 +0800 Subject: [PATCH] 出库单明细搜索报错问题修复 --- rsf-admin/src/page/orders/outStock/OutStockPublic.jsx | 67 +++++++++++++++++++++++---------- 1 files changed, 46 insertions(+), 21 deletions(-) diff --git a/rsf-admin/src/page/orders/outStock/OutStockPublic.jsx b/rsf-admin/src/page/orders/outStock/OutStockPublic.jsx index 5ba82cb..3a9f70b 100644 --- a/rsf-admin/src/page/orders/outStock/OutStockPublic.jsx +++ b/rsf-admin/src/page/orders/outStock/OutStockPublic.jsx @@ -38,7 +38,7 @@ useRefresh, useRedirect, } from 'react-admin'; -import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE, DEFAULT_ITEM_PAGE_SIZE } from '@/config/setting'; +import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE, DEFAULT_ITEM_PAGE_SIZE, DEFAULT_TYPE } from '@/config/setting'; import { styled } from '@mui/material/styles'; import { DataGrid, useGridApiContext, GridActionsCellItem, useGridApiRef } from '@mui/x-data-grid'; import request from '@/utils/request'; @@ -47,6 +47,7 @@ import ConfirmButton from '../../components/ConfirmButton'; import { Delete, Edit, Add } from '@mui/icons-material'; import OutStockSiteDialog from "./OutStockSiteDialog"; +import { color } from "framer-motion"; const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ '& .css-1vooibu-MuiSvgIcon-root': { @@ -60,16 +61,16 @@ } })); - const OutStockPublic = (props) => { const { record, open, setOpen } = props; const notify = useNotify(); const gridRef = useGridApiRef(); const [rows, setRows] = useState({}); const translate = useTranslate(); - const [selectedIds, setSelectedIds] = React.useState([]); + const [selectedIds, setSelectedIds] = useState([]); const [formData, setFormData] = useState({ - orderId: record?.id + orderId: record?.id, + waveId: DEFAULT_TYPE }); const [dialog, setDialog] = useState(false); const [selectedValue, setSelectedValue] = useState({}); @@ -81,28 +82,26 @@ const handleClose = (value) => { setDialog(false); setSelectedValue(value); - console.log(rows); - console.log(value); - const newRows = rows.map(item => { - return { - ...item, - siteNo: value?.site - } - }) - setRows(newRows); + const newRows = rows.map(item => { + return { + ...item, + siteNo: value?.site + } + }) + setRows(newRows); }; useEffect(() => { - getWaveRule() - }, [formData, open]) - + if (open) { + getWaveRule() + } + }, [open, formData]) const getWaveRule = async () => { if (formData.waveId == null && formData.waveId == undefined) { return } const { data: { code, data, msg } } = await request.post('/outStock/order/getOutTaskItems', { ...formData }); - if (code === 200) { setRows(data) } else { @@ -132,6 +131,7 @@ <AutocompleteInput label="table.field.waveRule.type" onChange={(e) => handleChange(e, 'waveId')} + defaultValue={15} value={formData.type} validate={required()} /> @@ -211,14 +211,22 @@ const PreviewTable = ({ rows, gridRef, setRows, record, selectedIds, setSelectedIds, setDialog }) => { gridRef.current = useGridApiRef(); + const translate = useTranslate(); const columns = [ - { field: 'id', headerName: 'ID', width: 40 }, + // { 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: 90 }, - { field: 'outQty', headerName: '鏈鍑哄簱鏁伴噺', width: 110 }, + { field: 'unit', headerName: '鍗曚綅', width: 60 }, + { field: 'outQty', headerName: '鍑哄簱鏁伴噺', width: 110, }, + { + field: 'anfme', headerName: '搴撳瓨鏁伴噺', width: 110, + renderCell: (params) => ( + <OutStockAnfme value={params.value} /> + ) + }, { field: 'siteNo', headerName: '鍑哄簱鍙�', @@ -257,6 +265,23 @@ }) setRows(outRows) } + + const OutStockAnfme = React.memo(function OutStockAnfme(props) { + const { value } = props; + return ( + value > 0 ? + <Box + sx={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between' }} + > + <span>{value}</span> + </Box> : + <Box + sx={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between' }} + > + <span style={{color: 'red'}}>{translate('common.edit.title.insuffInventory')}</span> + </Box> + ); + }); const OutStockSiteNo = React.memo(function OutStockSiteNo(props) { const { value } = props; @@ -358,6 +383,7 @@ }, }} checkboxSelection + disableRowSelectionOnClick pageSizeOptions={[15, 25, 35, 45]} onRowSelectionModelChange={(ids) => { setSelectedIds(ids) @@ -374,7 +400,6 @@ const refresh = useRefresh(); const redirect = useRedirect(); const submit = async () => { - console.log(record); const items = gridRef.current?.getSortedRows(); const { data: { code, data, msg } } = await request.post('/outStock/generate/tasks', { items, outId: record?.id }); if (code == 200) { -- Gitblit v1.9.1