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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
  | import React, { useState, useRef, useEffect, useMemo } from "react"; 
 |  import { 
 |      Edit, 
 |      SimpleForm, 
 |      FormDataConsumer, 
 |      useTranslate, 
 |      TextInput, 
 |      NumberInput, 
 |      BooleanInput, 
 |      DateInput, 
 |      SelectInput, 
 |      ReferenceInput, 
 |      ReferenceArrayInput, 
 |      AutocompleteInput, 
 |      SaveButton, 
 |      Toolbar, 
 |      Labeled, 
 |      NumberField, 
 |      required, 
 |      useRecordContext, 
 |      DeleteButton, 
 |  } from 'react-admin'; 
 |  import { useWatch, useFormContext } from "react-hook-form"; 
 |  import { Stack, Grid, Box, Typography } from '@mui/material'; 
 |  import * as Common from '@/utils/common'; 
 |  import { EDIT_MODE, REFERENCE_INPUT_PAGESIZE } from '@/config/setting'; 
 |  import EditBaseAside from "../../components/EditBaseAside"; 
 |  import CustomerTopToolBar from "../../components/EditTopToolBar"; 
 |  import MemoInput from "../../components/MemoInput"; 
 |  import StatusSelectInput from "../../components/StatusSelectInput"; 
 |  import WaveItemList from "./WaveItemList"; 
 |    
 |  const FormToolbar = () => { 
 |      const { getValues } = useFormContext(); 
 |    
 |      return ( 
 |          <Toolbar sx={{ justifyContent: 'space-between' }}> 
 |              <SaveButton /> 
 |              <DeleteButton mutationMode="optimistic" /> 
 |          </Toolbar> 
 |      ) 
 |  } 
 |    
 |  const WaveEdit = () => { 
 |      const translate = useTranslate(); 
 |    
 |      return ( 
 |          <Box> 
 |              <Edit 
 |                  redirect="list" 
 |                  mutationMode={EDIT_MODE} 
 |                  actions={<CustomerTopToolBar />} 
 |                  aside={<EditBaseAside />} 
 |              > 
 |                  <SimpleForm 
 |                      shouldUnregister 
 |                      warnWhenUnsavedChanges 
 |                      toolbar={false} 
 |                      mode="onTouched" 
 |                      defaultValues={{}} 
 |                  // validate={(values) => { }} 
 |                  > 
 |                      <Grid container width={{ xs: '100%', xl: '100%' }} rowSpacing={3} columnSpacing={3}> 
 |                          <Grid item xs={16} md={10} sx={{ 
 |                              "& .MuiFormLabel-root.MuiInputLabel-root.Mui-disabled": { 
 |                                  bgcolor: 'white', 
 |                                  WebkitTextFillColor: "rgba(0, 0, 0)" 
 |                              }, 
 |    
 |                              "& .MuiInputBase-input.MuiFilledInput-input.Mui-disabled": { 
 |                                  bgcolor: 'white', 
 |                                  WebkitTextFillColor: "rgba(0, 0, 0)" 
 |                              }, 
 |                              "& .MuiFilledInput-root.MuiInputBase-sizeSmall": { 
 |                                  bgcolor: 'white', 
 |                              } 
 |                          }}> 
 |                              <Typography variant="h6" gutterBottom> 
 |                                  {translate('common.edit.title.main')} 
 |                              </Typography> 
 |                              <Stack direction='row' gap={2}> 
 |                                  <TextInput 
 |                                      label="table.field.wave.code" 
 |                                      source="code" 
 |                                      parse={v => v} 
 |                                      readOnly 
 |                                  /> 
 |                                  <SelectInput 
 |                                      label="table.field.wave.type" 
 |                                      source="type" 
 |                                      readOnly 
 |                                      choices={[ 
 |                                          { id: 0, name: '手动' }, 
 |                                          { id: 1, name: '自动' }, 
 |                                      ]} 
 |                                       
 |                                  /> 
 |                                  <SelectInput 
 |                                      label="table.field.wave.exceStatus" 
 |                                      source="exceStatus" 
 |                                      readOnly 
 |                                      choices={[ 
 |                                          { id: 0, name: '初始化' }, 
 |                                          { id: 1, name: '生成任务' }, 
 |                                          { id: 2, name: '任务播种' }, 
 |                                          { id: 3, name: '完成' }, 
 |                                      ]} 
 |                                  /> 
 |                              </Stack> 
 |                              <Stack direction='row' gap={2}> 
 |                                  <NumberInput 
 |                                      label="table.field.wave.anfme" 
 |                                      readOnly 
 |                                      source="anfme" 
 |                                  /> 
 |                                  <NumberInput 
 |                                      label="table.field.wave.qty" 
 |                                      readOnly 
 |                                      source="qty" 
 |                                  /> 
 |                                  <NumberInput 
 |                                      label="table.field.wave.orderNum" 
 |                                      readOnly 
 |                                      source="orderNum" 
 |                                  /> 
 |                              </Stack> 
 |    
 |                          </Grid> 
 |                      </Grid> 
 |                  </SimpleForm> 
 |              </Edit > 
 |              <WaveItemList /> 
 |          </Box> 
 |      ) 
 |  } 
 |    
 |  export default WaveEdit; 
 |  
  |