Browse Source

update pwd

amenpunk 2 years ago
parent
commit
e2405f82fc
1 changed files with 90 additions and 50 deletions
  1. 90 50
      src/Components/Password/Operation.jsx

+ 90 - 50
src/Components/Password/Operation.jsx

@@ -4,9 +4,14 @@ import { Edit as EditIcon, Send as SendIcon } from '@mui/icons-material'
4 4
 import {
5 5
     Button, Dialog, DialogActions, DialogContent, DialogTitle,
6 6
     FormControlLabel, Checkbox,
7
-    Autocomplete, TextField, Stack,
7
+    TextField, Stack,
8
+    //Autocomplete
8 9
 } from '@mui/material'
9 10
 
11
+import toast, { Toaster } from 'react-hot-toast';
12
+
13
+
14
+
10 15
 import * as Yup from 'yup';
11 16
 
12 17
 import { useQuery } from 'react-query'
@@ -18,6 +23,16 @@ import { useFormik, Form, FormikProvider } from 'formik';
18 23
 import DateFnsUtils from '@date-io/date-fns';
19 24
 import { DesktopDatePicker, LocalizationProvider } from '@mui/lab';
20 25
 
26
+// function getNombrePuesto(id_plaz, puestos){
27
+//     let nombre = "";
28
+//     puestos.forEach(( p) => {
29
+//         if(p.id === id_plaz){
30
+//             nombre = p.nombrepuesto;
31
+//         }
32
+//     })
33
+//     return nombre;
34
+// }
35
+//
21 36
 
22 37
 export function Operation(props) {
23 38
 
@@ -56,16 +71,24 @@ function ModalEdit(props) {
56 71
     }
57 72
 
58 73
     let { data: result } = useQuery('contra', getPassword);
59
-    console.log('DATA:',result)
74
+
75
+    // const getPuestos = async () => {
76
+    //     let rest = new Service('/plaza/getall')
77
+    //     return rest.getQuery(token);
78
+    // }
79
+    //
80
+    // let { data } = useQuery('puestos', getPuestos)
81
+    // let puestos = data ? data.data.map(({ nombrepuesto, id }) => ({ nombrepuesto, id })) : []
82
+
60 83
 
61 84
     let initialValues = {
62 85
         id: result?.data?.id,
63 86
         pwd: result?.data?.pwd,
64 87
         deadpwd: result?.data?.deadpwd ? new Date(result?.data?.deadpwd) : now.current,
65 88
         state: result?.data?.state,
66
-        dateToActived: 
67
-        result?.data.dateToActived ? new Date(result?.data?.dateToActived) : now.current,
68
-        plaza_id: result?.data?.plaza_id,
89
+        dateToActived:
90
+            result?.data.dateToActived ? new Date(result?.data?.dateToActived) : now.current,
91
+        // plaza_id: [{ id:result?.data?.plaza_id, }]
69 92
     }
70 93
 
71 94
     return (
@@ -79,67 +102,60 @@ function ModalEdit(props) {
79 102
                 {pwd}
80 103
             </DialogTitle>
81 104
             <DialogContent>
82
-                <ModalForm initialValues={initialValues} />
105
+                <ModalForm
106
+                    initialValues={initialValues}
107
+                    handleOpen={handleOpen}
108
+                />
83 109
             </DialogContent>
84
-            <DialogActions>
85
-                <Button onClick={() => handleOpen(false)} autoFocus>
86
-                    Salir
87
-                </Button>
88
-                <Button onClick={() => handleOpen(false)}>Guardar</Button>
89
-            </DialogActions>
90 110
         </Dialog>
91 111
     )
92 112
 }
93 113
 
94 114
 function ModalForm(props) {
95 115
 
96
-    const auth = useAuth();
97
-    const token = auth.getToken();
98
-
99
-    const getPuestos = async () => {
100
-        let rest = new Service('/plaza/getall')
101
-        return rest.getQuery(token);
102
-    }
103
-
104
-    let { data } = useQuery('puestos', getPuestos)
105
-    let puestos = data ? data.data.map(({ nombrepuesto, id }) => ({ nombrepuesto, id })) : []
106
-    // console.log('puestos: ', puestos)
107 116
 
108 117
     const pwdSchema = Yup.object().shape({
109 118
         id: Yup.number(),
110
-        pwd: Yup.string().required(),
111
-        deadpwd: Yup.date(),
112
-        state: Yup.number().required(),
113
-        dateToActived: Yup.date().required(),
114
-        plaza_id: Yup.number().required()
119
+        pwd: Yup.string().required("Escoge un nombre valido"),
120
+        deadpwd: Yup.date().required("Escoge una fecha valida"),
121
+        state: Yup.number(),
122
+        dateToActived: Yup.date('Escoge una fecha valida').required("Escoge una fecha valida"),
123
+        // plaza_id: Yup.array().required("Escoge una plaza valida")
115 124
     })
116 125
 
117 126
 
118 127
     const formik = useFormik({
119 128
         initialValues: {
120
-            state:1,
121
-            ...props.initialValues,
129
+            state: 1,
130
+            pwd:"",
131
+            deadpwd:"",
132
+            dateToActived:"",
133
+            // plaza_id:[]
122 134
         },
123 135
         onSubmit: (fields) => {
124 136
             console.log('campos> ', fields)
137
+            toast.success("Contraseña Actualizada")
138
+            setTimeout(()=>{
139
+                props.handleOpen(false)
140
+            },1000)
125 141
         },
126 142
         validationSchema: pwdSchema,
127 143
     })
128 144
 
129 145
     const { errors, touched, handleSubmit, getFieldProps, values, setValues } = formik;
130 146
 
131
-    React.useEffect(() =>{
132
-        setValues({ ...props.initialValues})
133
-    },[props, setValues] )
147
+    React.useEffect(() => {
148
+        setValues({ ...props.initialValues })
149
+    }, [props, setValues])
134 150
 
135 151
     return (
136 152
         <FormikProvider value={formik}>
137
-            <Form style={{ padding: 15, maxWidth: 450 }} autoComplete="off" noValidate onSubmit={handleSubmit}>
153
+            <Form style={{ padding: 20, maxWidth: 450 }} autoComplete="off" noValidate onSubmit={handleSubmit}>
138 154
                 <Stack spacing={4}>
139 155
 
140
-                    <Stack direction={{ xs: 'column', sm: 'row' }} spacing={1}>
156
+                    <Stack direction={{ xs: 'column', sm: 'row' }} spacing={2}>
157
+
141 158
                         <TextField
142
-                            focused
143 159
                             fullWidth
144 160
                             type="text"
145 161
                             label="Contraseña"
@@ -151,13 +167,14 @@ function ModalForm(props) {
151 167
                         <FormControlLabel
152 168
                             control={
153 169
                                 <Checkbox
154
-                                checked={values.state  === 1 }
155
-                                onChange={(event)=>{
156
-                                    let check = event.target.checked;
157
-                                    setValues({
158
-                                        state : check ? 1:0
159
-                                    })
160
-                                }}
170
+                                    checked={values.state === 1}
171
+                                    onChange={(event) => {
172
+                                        let check = event.target.checked;
173
+                                        setValues({
174
+                                            ...values,
175
+                                            state: check ? 1 : 0
176
+                                        })
177
+                                    }}
161 178
                                 />
162 179
                             }
163 180
                             label="Activa"
@@ -172,12 +189,11 @@ function ModalForm(props) {
172 189
                             label="Fecha de Activación"
173 190
                             fullWidth
174 191
                             inputFormat="dd/MM/yyyy"
175
-                            {...getFieldProps('dateToActived')}
176 192
                             value={values.dateToActived}
177
-                            onChange={(val) => setValues({ ...values, dateToActived: new Date(val) })
178
-                            }
193
+                            onChange={(val) => setValues({ ...values, dateToActived: val }) }
179 194
                             renderInput={(params) =>
180 195
                                 <TextField
196
+                                    {...getFieldProps('dateToActived')}
181 197
                                     error={Boolean(touched.dateToActived && errors.dateToActived)}
182 198
                                     helperText={touched.dateToActived && errors.dateToActived}
183 199
                                     disabled={true}
@@ -210,14 +226,24 @@ function ModalForm(props) {
210 226
                         />
211 227
                     </LocalizationProvider>
212 228
 
213
-                    
229
+
230
+                        {/*
214 231
                     <Autocomplete
215 232
                         id="combo-box-demo"
216
-                        options={puestos}
217
-                        isOptionEqualToValue={(option, value) => option.nombrepuesto === value.nombrepuesto}
233
+                        options={props.puestos}
234
+                        isOptionEqualToValue={
235
+                            (option, value) => option.nombrepuesto === value.nombrepuesto
236
+                        }
218 237
                         getOptionLabel={(option) => {
219 238
                             return option.nombrepuesto
220 239
                         }}
240
+                        onChange={(_e, newValue) => {
241
+                            console.log('CHANGE',newValue);
242
+                            setValues({
243
+                                ...values,
244
+                                plaza_id:newValue
245
+                            })
246
+                        }}
221 247
                         renderInput={(params) =>
222 248
                             <TextField
223 249
                                 {...params}
@@ -225,10 +251,24 @@ function ModalForm(props) {
225 251
                             />
226 252
                         }
227 253
                     />
228
-
254
+*/}
255
+
256
+                    <DialogActions>
257
+                        <Button onClick={() => props.handleOpen(false)}>
258
+                            Cerrar
259
+                        </Button>
260
+                        <Button
261
+                            type="submit"
262
+                            className="registerBtn"
263
+                            style={{ color: 'white' }}
264
+                            >
265
+                            Guardar
266
+                        </Button>
267
+                    </DialogActions>
229 268
 
230 269
                 </Stack>
231 270
             </Form>
271
+            <Toaster position="bottom-right" />
232 272
         </FormikProvider >
233 273
     )
234 274