From 48b45b5e63f9925c63c951093c4cf596d89683a2 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期一, 11 八月 2025 10:34:22 +0800
Subject: [PATCH] #

---
 rsf-admin/src/page/orders/check/CheckPreviewTable.jsx |  132 ++++++++++++++++++++++++++++++++-----------
 1 files changed, 98 insertions(+), 34 deletions(-)

diff --git a/rsf-admin/src/page/orders/check/CheckPreviewTable.jsx b/rsf-admin/src/page/orders/check/CheckPreviewTable.jsx
index 3fee942..9bcbf61 100644
--- a/rsf-admin/src/page/orders/check/CheckPreviewTable.jsx
+++ b/rsf-admin/src/page/orders/check/CheckPreviewTable.jsx
@@ -1,6 +1,8 @@
 
-import { Box, Card, Grid, LinearProgress, Select, MenuItem, ListItemText } from "@mui/material";
+import { Box, Card, Grid, LinearProgress, Select, MenuItem, ListItemText, TextField } from "@mui/material";
 import React, { useState, useRef, useEffect, useMemo } from "react";
+import QueryStatsIcon from '@mui/icons-material/QueryStats';
+import request from '@/utils/request';
 import { DataGrid, useGridApiContext, GridActionsCellItem, useGridApiRef } from '@mui/x-data-grid';
 import {
     List,
@@ -19,18 +21,18 @@
 } from 'react-admin';
 
 const CheckPreviewTable = (props) => {
-    const { rows, gridRef, setRows, record, selectedIds, setSelectedIds, setDialog, formData } = props;
+    const { rows, gridRef, setRows, record, lefSelectedIds, setLeftSelectedIds, selectedMatnr, setDialog, formData } = props;
     // const translate = useTranslate();
     // const refresh = useRefresh();
     // const notify = useNotify();
     gridRef.current = useGridApiRef();
     const translate = useTranslate();
 
-    useEffect(() => {
-        if (selectedIds.length > 0) {
-            console.log(selectedIds);
-        }
-    }, [selectedIds])
+    // useEffect(() => {
+    //     if (lefSelectedIds.length > 0) {
+    //         console.log(lefSelectedIds);
+    //     }
+    // }, [lefSelectedIds])
 
     const baseColumns = [
         { field: 'locCode', headerName: '搴撲綅', width: 110 },
@@ -113,25 +115,83 @@
     });
 
     const CustomToolBar = () => {
+        const [queryParams, setQueryParams] = useState({ locCode: null, channel: null, matnrCode: selectedMatnr });
+        const notify = useNotify();
+        const queryClick = async () => {
+            const { data: { code, data, msg } } = await request.post('/check/locs/', queryParams);
+            if (code === 200) {
+                setRows(data)
+            } else {
+                notify(msg);
+            }
+        }
+
+        const handleChange = (e) => {
+            const { name, value } = e.target;
+            setQueryParams(() => ({
+                ...queryParams,
+                [name]: value
+            }));
+
+        };
+
         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>
+            <>
+                <Box sx={{
+                    p: 1,
+                    display: 'flex',
+                    justifyContent: 'space-between',
+                    borderTop: '1px solid rgba(224, 224, 224, 1)'
+                }}>
+                    <Box sx={{
+                        '& > :not(style)': { m: 1, width: '25ch' },
+                        display: 'flex',
+                    }}>
+                        <TextField
+                            label={translate("table.field.stockTransfer.inputLoc")}
+                            size="small"
+                            name="locCode"
+                            value={queryParams?.locCode}
+                            onChange={handleChange}
+                            sx={{ mr: 1 }} />
+
+                        <TextField
+                            label={translate("table.field.stockTransfer.inputChannel")}
+                            size="small"
+                            name="channel"
+                            value={queryParams?.channel}
+                            onChange={handleChange}
+                            sx={{ mr: 1 }} />
+
+                        <Box sx={{
+                            '& > :not(style)': { m: 1, width: '11ch' },
+                        }}>
+                            <Button variant="contained"
+                                size="medium"
+                                startIcon={<QueryStatsIcon />}
+                                label="toolbar.query"
+                                onClick={queryClick} />
+                        </Box>
+                    </Box>
+                    <Box sx={{
+                        '& > :not(style)': { m: 1, width: '13ch' },
+                    }}>
+                        <Button
+                            onClick={selectSiteNo}
+                            variant="outlined"
+                            label="toolbar.modiftySite"
+                            size="medium"
+                            sx={{ mr: 1 }} />
+                    </Box>
+                </Box>
+
+            </>
         );
     }
+
 
     const OutStockSite = (params) => {
         const { id, field, siteNo, row: { staNos } } = params;
@@ -184,20 +244,24 @@
     }
 
     return (
-        <DataGrid
-            storeKey={"locItemPreview"}
-            rows={rows}
-            columns={columns}
-            slots={{ toolbar: CustomToolBar }}
-            apiRef={gridRef}
-            checkboxSelection
-            disableRowSelectionOnClick
-            hideFooterPagination={true}  // 闅愯棌鍒嗛〉鎺т欢
-            hideFooter={false}
-            onRowSelectionModelChange={(ids) => {
-                setSelectedIds(ids)
-            }}
-        />
+        <Box sx={{ maxHeight: 780 }}>
+            <DataGrid
+                sx={{ maxHeight: 730 }}
+                storeKey={"locItemPreview"}
+                rows={rows}
+                columns={columns}
+                slots={{ toolbar: CustomToolBar }}
+                apiRef={gridRef}
+                checkboxSelection
+                disableRowSelectionOnClick
+                hideFooterPagination={true}  // 闅愯棌鍒嗛〉鎺т欢
+                hideFooter={false}
+                onRowSelectionModelChange={(ids) => {
+                    setLeftSelectedIds(ids)
+                }}
+            />
+        </Box>
+
     )
 }
 

--
Gitblit v1.9.1