1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
| import React, { useState, useRef, useEffect, useMemo } from "react";
| import {
| CreateBase,
| useTranslate,
| TextInput,
| NumberInput,
| BooleanInput,
| DateInput,
| SaveButton,
| SelectInput,
| ReferenceInput,
| ReferenceArrayInput,
| AutocompleteInput,
| Toolbar,
| required,
| useDataProvider,
| useNotify,
| Form,
| useCreateController,
| useListContext,
| useRefresh,
| } from 'react-admin';
| import {
| Dialog,
| DialogActions,
| DialogContent,
| DialogTitle,
| Grid,
| TextField,
| Box,
| Button,
| Radio,
| RadioGroup,
| FormControlLabel,
| FormControl,
| FormLabel,
| TableRow,
| TableCell,
| Tooltip,
| IconButton,
| styled
|
|
| } from '@mui/material';
| import DialogCloseButton from "../../components/DialogCloseButton";
| import DictionarySelect from "../../components/DictionarySelect";
| import { useForm, Controller, useWatch, FormProvider, useFormContext } from "react-hook-form";
| import SaveIcon from '@mui/icons-material/Save';
| import request from '@/utils/request';
| import { Add, Edit, Delete } from '@mui/icons-material';
| import _ from 'lodash';
| import { DataGrid } from '@mui/x-data-grid';
| import StatusSelectInput from "../../components/StatusSelectInput";
|
| import { useReactToPrint } from "react-to-print";
|
| const InitModal = ({ open, setOpen }) => {
| const refresh = useRefresh();
| const translate = useTranslate();
| const notify = useNotify();
| const contentRef = useRef(null);
| const reactToPrintFn = useReactToPrint({ contentRef });
|
| const handleClose = (event, reason) => {
| if (reason !== "backdropClick") {
| setOpen(false);
| }
| };
|
| const [value, setValue] = useState('temp1');
|
| const handleChange = (event) => {
| setValue(event.target.value);
| };
|
| const handlePrint = () => {
| // handleClose()
| reactToPrintFn()
| };
|
| return (
| <Dialog open={open} maxWidth="sm" fullWidth>
| <DialogCloseButton onClose={handleClose} />
| <DialogTitle>{translate('toolbar.print')}</DialogTitle>
| <DialogContent >
| <FormControl >
| <RadioGroup
| row
| aria-labelledby="demo-controlled-radio-buttons-group"
| name="controlled-radio-buttons-group"
| value={value}
| onChange={handleChange}
| size="small"
| sx={{ justifyContent: 'center' }}
| >
| <FormControlLabel value="temp1" control={<Radio />} label="模板1" size="small" />
| </RadioGroup>
| </FormControl>
|
| <Box>
| <div ref={contentRef}>
| 11
| </div>
| </Box>
| </DialogContent>
| <DialogActions sx={{ position: 'sticky', bottom: 0, backgroundColor: 'background.paper', zIndex: 1000 }}>
| <Box sx={{ width: '100%', display: 'flex', justifyContent: 'space-between' }}>
| <Button onClick={handlePrint} variant="contained" startIcon={<SaveIcon />}>
| {translate('toolbar.confirm')}
| </Button>
| </Box>
| </DialogActions>
| </Dialog>
| );
| }
|
| export default InitModal;
|
|