From b5e4bbec339bf3858338deece026a20bc40b8923 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 06 五月 2025 15:45:32 +0800
Subject: [PATCH] no message

---
 rsf-admin/src/page/waitPakin/SelectSiteModel.jsx |   66 ++++++++++++++++++---------------
 1 files changed, 36 insertions(+), 30 deletions(-)

diff --git a/rsf-admin/src/page/waitPakin/SelectSiteModel.jsx b/rsf-admin/src/page/waitPakin/SelectSiteModel.jsx
index ffd7164..d152bb5 100644
--- a/rsf-admin/src/page/waitPakin/SelectSiteModel.jsx
+++ b/rsf-admin/src/page/waitPakin/SelectSiteModel.jsx
@@ -1,31 +1,10 @@
 import { Dialog, DialogTitle, Box, DialogActions, DialogContent } from "@mui/material";
 import React, { useState, useRef, useEffect, useMemo, useCallback, Form } from "react";
 import { styled } from '@mui/material/styles';
-import { FilterButton, TopToolbar, Toolbar, useTranslate, SaveButton, List, SelectInput, NumberField, WrapperField, EditButton, DeleteButton, TextField, DateField, TextInput, BooleanField, NumberInput, ReferenceField, SearchInput, SelectColumnsButton, DatagridConfigurable, Button } from "react-admin";
+import { FilterButton, TopToolbar, Toolbar, useTranslate, SaveButton, List, useRecordSelection, SelectInput, NumberField, WrapperField, EditButton, DeleteButton, TextField, DateField, TextInput, BooleanField, NumberInput, ReferenceField, SearchInput, SelectColumnsButton, DatagridConfigurable, Button, useRefresh, useRecordContext, useNotify } from "react-admin";
 import DialogCloseButton from "../components/DialogCloseButton";
 import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_ITEM_PAGE_SIZE } from '@/config/setting';
-
-const filters = [
-    <SearchInput source="condition" alwaysOn />,
-    <NumberInput source="type" label="table.field.deviceSite.type" />,
-    <TextInput source="site" label="table.field.deviceSite.site" />,
-    <TextInput source="name" label="table.field.deviceSite.name" />,
-    <TextInput source="wcsCode" label="table.field.deviceSite.wcsCode" />,
-    <TextInput source="label" label="table.field.deviceSite.label" />,
-    <TextInput source="device" label="table.field.deviceSite.device" />,
-    <TextInput source="deviceCode" label="table.field.deviceSite.deviceCode" />,
-    <TextInput source="deviceSite" label="table.field.deviceSite.deviceSite" />,
-    <TextInput label="common.field.memo" source="memo" />,
-    <SelectInput
-        label="common.field.status"
-        source="status"
-        choices={[
-            { id: '1', name: 'common.enums.statusTrue' },
-            { id: '0', name: 'common.enums.statusFalse' },
-        ]}
-        resettable
-    />
-]
+import request from '@/utils/request';
 const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
     '& .css-1vooibu-MuiSvgIcon-root': {
         height: '.9em'
@@ -40,19 +19,43 @@
     },
 }));
 
+const SelectSiteButton = (props) => {
+    const { source, setOpen, refresh, notify } = props;
+    const record = useRecordContext();
+    
+    const handleClick = async () => {
+        setOpen(false);
+        const id = record.id;
+        const res = await request.post(`/waitPakin/merge`, {waitPakins: source, siteId: id});
+        if (res?.data?.code === 200) {
+            refresh();
+            notify(res.data.msg);
+        } else {
+            notify(res.data.msg);
+        }
+    };
+    
+    return (
+        <Button label="toolbar.selectSite" onClick={handleClick} />
+    );
+};
+
 const SelectSiteModel = (props) => {
-    const { open, setOpen, record } = props;
+    const { open, setOpen, source } = props;
     const translate = useTranslate();
     const [drawerVal, setDrawerVal] = useState(false);
+    const refresh = useRefresh();
+    const notify = useNotify();
     const handleClose = (event, reason) => {
         if (reason !== "backdropClick") {
             setOpen(false);
         }
     };
-
+    console.log(source);
     return (
         <Box>
             <Dialog
+            sx={{width: '100%'}}
                 open={open}
                 onClose={handleClose}
                 fullWidth
@@ -61,10 +64,12 @@
             >
                 <DialogTitle>
                     {translate('toolbar.selectSite')}
+                    <DialogCloseButton onClose={() => setOpen(false)} />
                 </DialogTitle>
                 <DialogContent>
                     <List
                         resource='deviceSite'
+                        filter={{type : 1}}
                         sx={{
                             flexGrow: 1,
                             transition: (theme) =>
@@ -75,11 +80,9 @@
                         }}
                         title={"menu.deviceSite"}
                         empty={false}
-                        filters={filters}
                         sort={{ field: "create_time", order: "desc" }}
                         actions={(
                             <TopToolbar>
-                                <FilterButton />
                                 <SelectColumnsButton preferenceKey='deviceSite' />
                             </TopToolbar>
                         )}
@@ -88,8 +91,8 @@
                         <StyledDatagrid
                             preferenceKey='deviceSite'
                             bulkActionButtons={false}
-                            rowClick={(id, resource, record) => false}
-                            omit={['id', 'createTime', 'createBy', 'memo', 'updateBy$', 'createBy$', 'createTime', 'updateTime']}
+                            rowClick={false}                            
+                            omit={['id','name', 'createTime','label', 'createBy', 'memo', 'updateBy$', 'createBy$', 'createTime', 'updateTime']}
                         >
                             <NumberField source="id" />
                             <TextField source="name" label="table.field.deviceSite.name" />
@@ -106,9 +109,12 @@
                             <DateField source="createTime" label="common.field.createTime" showTime />
                             <BooleanField source="statusBool" label="common.field.status" sortable={false} />
                             <TextField source="memo" label="common.field.memo" sortable={false} />
+                            <WrapperField cellClassName="opt" label="common.field.opt">
+                                <SelectSiteButton source={source} setOpen={setOpen} refresh={refresh} notify={notify} />
+                            </WrapperField>
                         </StyledDatagrid>
                     </List>
-                </DialogContent>
+                </DialogContent>                
             </Dialog>
         </Box>
     )

--
Gitblit v1.9.1