From 3e36f73770677e756826df1b5824c8e89769659c Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 23 七月 2025 15:27:10 +0800
Subject: [PATCH] 盘点功能优化

---
 rsf-admin/src/page/orders/check/CheckOrderPub.jsx |  192 -----------------------------------------------
 1 files changed, 3 insertions(+), 189 deletions(-)

diff --git a/rsf-admin/src/page/orders/check/CheckOrderPub.jsx b/rsf-admin/src/page/orders/check/CheckOrderPub.jsx
index 1a0c75a..1947840 100644
--- a/rsf-admin/src/page/orders/check/CheckOrderPub.jsx
+++ b/rsf-admin/src/page/orders/check/CheckOrderPub.jsx
@@ -15,6 +15,7 @@
     Form,
     useRefresh,
     useRedirect,
+    TextInput,
 } from 'react-admin';
 import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE, DEFAULT_ITEM_PAGE_SIZE, DEFAULT_TYPE } from '@/config/setting';
 import { styled } from '@mui/material/styles';
@@ -25,7 +26,7 @@
 import ConfirmButton from '../../components/ConfirmButton';
 import { Delete, Edit, Add } from '@mui/icons-material';
 import CheckOrderSiteDialog from "./CheckOrderSiteDialog";
-import { map } from "lodash";
+import CheckPreviewTable from "./CheckPreviewTable";
 
 const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
     '& .css-1vooibu-MuiSvgIcon-root': {
@@ -37,12 +38,7 @@
     '& .column-maktx': {
         width: 200
     },
-
     mt: '60px'
-    // '& .RaBulkActionsToolbar-toolbar': {
-    //     display: 'none'
-    // }
-
 }));
 
 const CheckOrderPub = (props) => {
@@ -73,8 +69,6 @@
     const getLocs = async (ids) => {
         const { data: { code, data, msg } } = await request.post('/check/locs/' + ids);
         if (code === 200) {
-            console.log('----->');
-            console.log(data);
             setRows(data)
             const matnrs = selectedMatnr.filter(item => data.some(bigData => bigData.matnrCode === item));
             // setSelectedMatnr(matnrs)
@@ -213,7 +207,7 @@
                     <Grid item xl={6.3} gap={2}>
                         <Card sx={{ minHeight: 1050, height: 'calc(100% - 10px)', width: '100%' }}>
                             <Box>
-                                <PreviewTable
+                                <CheckPreviewTable
                                     rows={rows}
                                     gridRef={gridRef}
                                     setRows={setRows}
@@ -242,186 +236,6 @@
         </>
     );
 }
-
-const PreviewTable = ({ rows, gridRef, setRows, record, selectedIds, setSelectedIds, setDialog, formData }) => {
-    gridRef.current = useGridApiRef();
-    const translate = useTranslate();
-
-    useEffect(() => {
-        if (selectedIds.length > 0) {
-            console.log(selectedIds);
-        }
-    }, [selectedIds])
-
-    const baseColumns = [
-        { 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: 'anfme', headerName: '搴撳瓨鏁伴噺', width: 110,
-            renderCell: (params) => (
-                <OutStockAnfme value={params.value} />
-            )
-        },
-        {
-            field: 'siteNo',
-            headerName: '鍑哄簱鍙�',
-            width: 90,
-            type: 'singleSelect',
-            editable: true,
-            renderCell: (params) => (
-                <OutStockSiteNo value={params.value} />
-            ),
-            renderEditCell: (params) => (
-                <OutStockSite {...params} />
-            ),
-        },
-    ]
-
-    const optAction = {
-        field: 'actions',
-        type: 'actions',
-        headerName: translate('common.field.opt'),
-        with: 120,
-        getActions: (params) => [
-            <GridActionsCellItem
-                icon={<Delete />}
-                label="Delete"
-                onClick={() => handleDelete(params.row, rows, setRows)}
-            />,
-        ]
-    }
-
-    const columns = (formData.waveId == 15 || formData.waveId == 16) ? [...baseColumns] : [...baseColumns, optAction];
-
-    /**
-     * 鍒犻櫎浜嬩欢
-     * @param {*} params 
-     */
-    const handleDelete = (params, rows, setRows) => {
-        const outRows = rows.filter(row => {
-            return row.id !== params.id
-        })
-        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;
-        if (!value) {
-            return null;
-        }
-        return (
-            <Box sx={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between' }}>
-                <span>{value}</span>
-            </Box>
-        );
-    });
-
-    const CustomToolBar = () => {
-        const selectSiteNo = () => {
-            setDialog(true)
-        }
-        return (
-            <Box sx={{
-                p: 1,
-                display: 'flex',
-                justifyContent: 'flex-end',
-                borderTop: '1px solid rgba(224, 224, 224, 1)'
-            }}>
-                <Button
-                    onClick={selectSiteNo}
-                    variant="outlined"
-                    label="toolbar.modiftySite"
-                    size="medium"
-                    sx={{ mr: 1 }} />
-            </Box>
-        );
-    }
-
-    const OutStockSite = (params) => {
-        const { id, field, siteNo, row: { staNos } } = params;
-        const apiRef = useGridApiContext();
-        const handleChange = async (event) => {
-            await apiRef.current.setEditCellValue(
-                { id, field, value: event.target.value },
-                event,
-            );
-            apiRef.current.stopCellEditMode({ id, field });
-        };
-
-        const handleClose = (event, reason) => {
-            if (reason === 'backdropClick') {
-                apiRef.current.stopCellEditMode({ id, field });
-            }
-        };
-
-        return (
-            <Select
-                value={siteNo}
-                onChange={handleChange}
-                MenuProps={{
-                    onClose: handleClose,
-                }}
-                sx={{
-                    height: '100%',
-                    '& .MuiSelect-select': {
-                        display: 'flex',
-                        alignItems: 'center',
-                        pl: 1,
-                    },
-                }}
-                autoFocus
-                fullWidth
-                open
-            >
-                {staNos.map((option) => {
-                    return (
-                        <MenuItem
-                            key={option}
-                            value={option.staNo}
-                        >
-                            <ListItemText sx={{ overflow: 'hidden' }} primary={option.staNo} />
-                        </MenuItem>
-                    );
-                })}
-            </Select >
-        )
-    }
-
-    return (
-        <DataGrid
-            storeKey={"locItemPreview"}
-            rows={rows}
-            columns={columns}
-            slots={{ toolbar: CustomToolBar }}
-            apiRef={gridRef}
-            checkboxSelection
-            disableRowSelectionOnClick
-            hideFooterPagination={true}  // 闅愯棌鍒嗛〉鎺т欢
-            hideFooter={false}
-            onRowSelectionModelChange={(ids) => {
-                setSelectedIds(ids)
-            }}
-        />
-    )
-}
-
 
 //鎻愪氦鎸夐挳
 const SubmitButton = ({ selectedIds, setSelectedIds, rowSelectedIds, gridRef, record, setOpen, selectedMatnr }) => {

--
Gitblit v1.9.1