skyouc
2025-05-06 b5e4bbec339bf3858338deece026a20bc40b8923
rsf-admin/src/page/waitPakin/SelectSiteModel.jsx
@@ -1,10 +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, useRefresh } 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';
import request from '@/utils/request';
const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
    '& .css-1vooibu-MuiSvgIcon-root': {
        height: '.9em'
@@ -19,20 +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
@@ -41,10 +64,12 @@
            >
                <DialogTitle>
                    {translate('toolbar.selectSite')}
                    <DialogCloseButton onClose={() => setOpen(false)} />
                </DialogTitle>
                <DialogContent>
                    <List
                        resource='deviceSite'
                        filter={{type : 1}}
                        sx={{
                            flexGrow: 1,
                            transition: (theme) =>
@@ -66,13 +91,8 @@
                        <StyledDatagrid
                            preferenceKey='deviceSite'
                            bulkActionButtons={false}
                            rowClick='toggleSelection'
                            onToggleItem={(id, resource, record)=>{
                                console.log(id);
                                setOpen(false);
                                refresh();
                            }}
                            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" />
@@ -89,16 +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>
                                <Button label="toolbar.selectSite" onClick={(id, resource, record)=>{
                                    console.log(id);
                                    setOpen(false)
                                    refresh();
                                 }}/>
                            <WrapperField cellClassName="opt" label="common.field.opt">
                                <SelectSiteButton source={source} setOpen={setOpen} refresh={refresh} notify={notify} />
                            </WrapperField>
                        </StyledDatagrid>
                    </List>
                </DialogContent>
                </DialogContent>
            </Dialog>
        </Box>
    )