amenpunk 3 lat temu
rodzic
commit
2c9d60858b

+ 2 - 1
psicoadmin/src/App.css

@@ -118,9 +118,10 @@
118 118
     padding-left : 20px !important;
119 119
 }
120 120
 .error_feedback{
121
+    font-size: 13px;
121 122
     color: #2ec5d3;
122 123
     font-weight :bold;
123
-    padding : 15px;
124
+    padding-top : 5px;
124 125
     margin: 0px;
125 126
 }
126 127
 .content-section{

+ 1 - 1
psicoadmin/src/Components/HeaderPruebas.js

@@ -2,7 +2,7 @@ import Logo from '../Images/logo.png'
2 2
 
3 3
 export default function HeaderPruebas() {
4 4
     return(
5
-        <div class="header_prueba">
5
+        <div className="header_prueba">
6 6
             <img alt="header_prueba" src={Logo}/>
7 7
         </div>
8 8
     )

+ 1 - 1
psicoadmin/src/Css/all.css

@@ -1717,7 +1717,7 @@ li.cabecera_li {
1717 1717
 }
1718 1718
 .content-section .main h1 {
1719 1719
     font-size: 27px;
1720
-    padding: 0 15px;
1720
+    padding: 35px 10px;
1721 1721
     color: #949494;
1722 1722
 }
1723 1723
 .main .panel a {

+ 189 - 144
psicoadmin/src/Pages/PruebaNueva.jsx

@@ -13,175 +13,220 @@ import Respuesta1 from '../Images/respuesta.png'
13 13
 import Respuesta2 from '../Images/respuesta2.png'
14 14
 import Respuesta3 from '../Images/respuesta3.png'
15 15
 
16
+
17
+const PruebaScheme = Yup.object().shape({
18
+    tipo_prueba : Yup.number().positive('Ingresa un valor valido').required('Selecciona una opcion'),
19
+    duracion : Yup.number().positive('Ingresa una duracion valida').required('Ingresa una duracion valida'),
20
+    nombre : Yup.string().required('El nombre es requerido').min(5).max(190)
21
+})
22
+
16 23
 export function PruebaNueva() {
17 24
 
18 25
     useEffect(() => {
19 26
         $('#sites input:radio').addClass('input_hidden');
20 27
         $('#sites label').click(function() {
21
-            $(this).addClass('selected').siblings().removeClass('selected');
28
+            $(this).addClass('defaultValue').siblings().removeClass('defaultValue');
22 29
         });
23 30
     },[])
24 31
 
32
+    const tipo_prueba = [ 
33
+        {
34
+            id : 1,
35
+            name: 'Comportamiento'
36
+        },
37
+        {
38
+            id : 2,
39
+            name: 'Personalidad'
40
+        },
41
+        {
42
+            id : 3,
43
+            name: 'Inteligencia'
44
+        }
45
+    ]
46
+
47
+    const option_lenght = 5;
48
+
25 49
     return(
26 50
         <section>
27 51
             <div className="content-section">
28 52
                 <div className="main">
29 53
                     <Container>
30
-                        <h1>Crear pruebas</h1>
31
-                        <div className="asignar_usuario">
32
-                            <Row>
33
-                                <Col md="4">
34
-                                    <div className="datos_candidato">
35
-                                        <label>Tipo de prueba</label>
36
-                                        <select>
37
-                                            <option selected disabled>Selecciona el tipo de prueba que deseas añadir</option>
38
-                                            <option>Comportamiento</option>
39
-                                            <option>Personalidad</option>
40
-                                            <option>Inteligencia</option>
41
-                                        </select>
42
-                                    </div>
43
-                                </Col>
44
-                                <Col md="4">
45
-                                    <div className="datos_candidato">
46
-                                        <label>Nombre</label>
47
-                                        <input type="text" name="nombre" placeholder="Nombre de la prueba"/>
48
-                                    </div>
49
-                                </Col>
50
-                                <Col md="4">
51
-                                    <div className="datos_candidato">
52
-                                        <label>Duración de prueba</label>
53
-                                        <select>
54
-                                            <option selected disabled>Selecciona el tiempo de duración de la prueba</option>
55
-                                            <option>10</option>
56
-                                            <option>15</option>
57
-                                            <option>30</option>
58
-                                            <option>45</option>
59
-                                            <option>60</option>
60
-                                            <option>90</option>
61
-                                        </select>
62
-                                    </div>
63
-                                </Col>
64
-                            </Row>
65
-                        </div>
66
-                        <div className="body_preguntas">
67
-                            <div className="botones_preguntas">
68
-                                <label>Tipo de pregunta</label>
69
-                                <Row>
70
-                                    <Col md="6">
71
-                                        <div className="datos_candidato">
72
-                                            <select>
73
-                                                <option selected disabled>Selecciona el tipo de pregunta que deseas añadir</option>
74
-                                                <option>Selección múltiple</option>
75
-                                                <option>Falso y verdadero</option>
76
-                                                <option>Preguntas directas</option>
77
-                                                <option>Relaciones de conceptos</option>
78
-                                            </select>
79
-                                        </div>
80
-                                    </Col>
81
-                                    <Col md="6">
82
-                                        <button className="btn_agregar_pregunta">Añadir pregunta</button>  
83
-                                    </Col>
84
-                                </Row>
85
-                            </div>
86
-                        </div>
87
-                        <div className="body_prueba_nueva">
88
-                            <div className="contenedor_pruebas">
89
-                                <HeaderPruebas/>
90
-                                <h1>Preguntas</h1>
91
-                                <div className="body_preg_indi">
92
-                                    <div className="titulo_pregunta">
93
-                                        <span>Pregunta 1</span><input type="text" name="pregunta" placeholder="Escribe tu pregunta directa aquí" className="input_pregunta"/>
94
-                                    </div>
95
-                                    <div className="respuesta_pregunta">
96
-                                        <input type="text" name="respuesta" placeholder="Escribe tu respuesta aquí"/>
97
-                                    </div>
54
+
55
+                        <Formik
56
+                            validationSchema={PruebaScheme}
57
+                            initialValues={{
58
+                                'tipo_prueba': -1,
59
+                                'duracion': -1,
60
+                                'nombre': '',
61
+                                'duración': []
62
+                            }} onSubmit={ (values) => {
63
+                                console.log('VALUES  >> ',values)
64
+                            }} 
65
+                        >
66
+                        { ({ errors, touched, validateField, validateForm, setFieldValue   }) =>  (
67
+                            <Form>
68
+                                <h1>Crear pruebas</h1>
69
+                                <div className="asignar_usuario">
70
+                                    <Row>
71
+                                        <Col md="4">
72
+                                            <div className="datos_candidato">
73
+                                                <label>Tipo de prueba</label>
74
+                                                <Field
75
+                                                    as='select'
76
+                                                    id='tipo_prueba'
77
+                                                    name='tipo_prueba'
78
+                                                >
79
+                                                    <option value={-1} >Selecciona el tipo de prueba que deseas añadir</option>
80
+                                                    { tipo_prueba.map( tipo  =>  (<option key={tipo.id} value={tipo.id}>{tipo.name}</option>) ) }
81
+                                                </Field>
82
+                                                {errors.tipo_prueba && touched.tipo_prueba && <div className="error_feedback">{errors.tipo_prueba}</div>}
83
+                                            </div>
84
+                                        </Col>
85
+                                        <Col md="4">
86
+                                            <div className="datos_candidato">
87
+                                                <label>Nombre</label>
88
+                                                <Field name="nombre" id='nombre' type="text" placeholder='Nombre de la prueba'/ >
89
+                                                {errors.nombre && touched.nombre && <div className="error_feedback">{errors.nombre}</div>}
90
+                                            </div>
91
+                                        </Col>
92
+                                        <Col md="4">
93
+                                            <div className="datos_candidato">
94
+                                                <label>Duración de prueba</label>
95
+                                                <Field
96
+                                                    as="select"
97
+                                                    id="duracion"
98
+                                                    name="duracion"
99
+                                                >
100
+                                                    <option>Selecciona el tiempo de duración de la prueba</option>
101
+                                                    {
102
+                                                        [...Array(option_lenght)].map( (_num,index) => {
103
+                                                            if( index % 5 === 0 ){
104
+                                                                return (<option key={index}>{index + ' Minutos'}</option>)
105
+                                                            }else{
106
+                                                                return undefined
107
+                                                            }
108
+                                                        })
109
+                                                    }
110
+                                                </Field>
111
+                                                {errors.duracion && touched.duracion && <div className="error_feedback">{errors.duracion}</div>}
112
+                                            </div>
113
+                                        </Col>
114
+                                    </Row>
98 115
                                 </div>
99
-                                <div className="body_preg_indi">
100
-                                    <div className="titulo_pregunta">
101
-                                        <span>Pregunta 2</span><input type="text" name="pregunta" placeholder="Escribe tu pregunta verdadero y falso" className="input_pregunta"/>
102
-                                    </div>
103
-                                    <div className="respuesta_pregunta">
104
-                                        <div className="radio">
105
-                                            <form>
106
-                                                <input onChange={(event)=> console.log(event.target.value)} id="true" type="radio" name="gender" value="true" checked="checked"/>
107
-                                                <label for="true">Verdadero</label>
108
-                                                <input id="false" type="radio" name="gender" value="false"/>
109
-                                                <label for="false">Falso</label>
110
-                                            </form>
111
-                                        </div>
116
+                                <div className="body_preguntas">
117
+                                    <div className="botones_preguntas">
118
+                                        <label>Tipo de pregunta</label>
119
+                                        <Row>
120
+                                            <Col md="6">
121
+                                                <div className="datos_candidato">
122
+                                                    <select>
123
+                                                        <option >Selecciona el tipo de pregunta que deseas añadir</option>
124
+                                                        <option>Selección múltiple</option>
125
+                                                        <option>Falso y verdadero</option>
126
+                                                        <option>Preguntas directas</option>
127
+                                                        <option>Relaciones de conceptos</option>
128
+                                                    </select>
129
+                                                </div>
130
+                                            </Col>
131
+                                            <Col md="6">
132
+                                                <button className="btn_agregar_pregunta">Añadir pregunta</button>  
133
+                                            </Col>
134
+                                        </Row>
112 135
                                     </div>
113 136
                                 </div>
114
-                                <div className="body_preg_indi">
115
-                                    <div className="titulo_pregunta">
116
-                                        <span>Pregunta 3</span><input type="text" name="pregunta" placeholder="Escribe tu pregunta selección múltiple" className="input_pregunta"/>
117
-                                    </div>
118
-                                    <div className="respuesta_pregunta">
119
-                                        <div className="radio">
120
-                                            <form>
121
-                                                <input id="opcion1" type="radio" name="gender" value="opcion1"/>
122
-                                                <label for="opcion1">Opción 1</label>
123
-                                                <input id="opcion2" type="radio" name="gender" value="opcion2" checked="checked"/>
124
-                                                <label for="opcion2">Opción 2</label>
125
-                                                <input id="opcion3" type="radio" name="gender" value="opcion3"/>
126
-                                                <label for="opcion3">Opción 3</label>
127
-                                                <input id="opcion4" type="radio" name="gender" value="opcion4"/>
128
-                                                <label for="opcion4">Opción 4</label>
129
-                                                <input id="opcion5" type="radio" name="gender" value="opcion5"/>
130
-                                                <label for="opcion5">Opción 5</label>
131
-                                            </form>
137
+                                <div className="body_prueba_nueva">
138
+                                    <div className="contenedor_pruebas">
139
+                                        <HeaderPruebas/>
140
+                                        <h1>Preguntas</h1>
141
+                                        <div className="body_preg_indi">
142
+                                            <div className="titulo_pregunta">
143
+                                                <span>Pregunta 1</span><input type="text" name="pregunta" placeholder="Escribe tu pregunta directa aquí" className="input_pregunta"/>
144
+                                            </div>
145
+                                            <div className="respuesta_pregunta">
146
+                                                <input type="text" name="respuesta" placeholder="Escribe tu respuesta aquí"/>
147
+                                            </div>
132 148
                                         </div>
133
-                                    </div>
134
-                                </div>
135
-                                <div className="body_preg_indi">
136
-                                    <div className="titulo_pregunta">                            
137
-                                        <span>Pregunta 4</span><input type="text" name="pregunta" placeholder="Ve la siguiente imagen y encuentra la faltante" className="input_pregunta"/>
138
-                                        <div className="button_subir_foto_pregunta">
139
-                                            <form action="">
140
-                                                <div className="form-group">
141
-                                                    <label style={{ color : 'white' }} for="upload" className="btn d-inline-block btn-info">Subir imagen</label>
142
-                                                    <input type="file" name="" id="upload" />
149
+                                        <div className="body_preg_indi">
150
+                                            <div className="titulo_pregunta">
151
+                                                <span>Pregunta 2</span><input type="text" name="pregunta" placeholder="Escribe tu pregunta verdadero y falso" className="input_pregunta"/>
152
+                                            </div>
153
+                                            <div className="respuesta_pregunta">
154
+                                                <div className="radio">
155
+                                                        <input onChange={(event)=> console.log(event.target.value)} id="true" type="radio" name="gender" value="true" />
156
+                                                        <label for="true">Verdadero</label>
157
+                                                        <input id="false" type="radio" name="gender" value="false"/>
158
+                                                        <label for="false">Falso</label>
143 159
                                                 </div>
144
-                                            </form>
145
-                                        </div>
146
-                                        <div className="img_relaciones">
147
-                                            <img alt="imagen de prueba" src={ImagenPrueba}/>
160
+                                            </div>
148 161
                                         </div>
149
-                                    </div>
150
-                                    <div className="respuesta_pregunta">
151
-                                        <div className="button_subir_foto_pregunta">
152
-                                            <form action="">
153
-                                                <div className="form-group">
154
-                                                    <label style={{  color : 'white' }} for="upload" className="btn d-inline-block btn-info">Añadir respuesta</label>
155
-                                                    <input type="file" name="" id="upload" />
162
+                                        <div className="body_preg_indi">
163
+                                            <div className="titulo_pregunta">
164
+                                                <span>Pregunta 3</span><input type="text" name="pregunta" placeholder="Escribe tu pregunta selección múltiple" className="input_pregunta"/>
165
+                                            </div>
166
+                                            <div className="respuesta_pregunta">
167
+                                                <div className="radio">
168
+                                                        <input id="opcion1" type="radio" name="gender" value="opcion1"/>
169
+                                                        <label for="opcion1">Opción 1</label>
170
+                                                        <input id="opcion2" type="radio" name="gender" value="opcion2" />
171
+                                                        <label for="opcion2">Opción 2</label>
172
+                                                        <input id="opcion3" type="radio" name="gender" value="opcion3"/>
173
+                                                        <label for="opcion3">Opción 3</label>
174
+                                                        <input id="opcion4" type="radio" name="gender" value="opcion4"/>
175
+                                                        <label for="opcion4">Opción 4</label>
176
+                                                        <input id="opcion5" type="radio" name="gender" value="opcion5"/>
177
+                                                        <label for="opcion5">Opción 5</label>
156 178
                                                 </div>
157
-                                            </form>
179
+                                            </div>
158 180
                                         </div>
159
-                                        <form>
160
-                                            <div id="sites">
161
-                                                <input type="radio" name="site" id="option1" value="option1" />A.<label for="option1"><img src={Respuesta1} alt="Opción 1" /></label>
162
-                                                <input type="radio" name="site" id="option2" value="option2" />B.<label for="option2"><img src={Respuesta2} alt="Opción 2" /></label>
163
-                                                <input type="radio" name="site" id="option3" value="option3" />C.<label for="option3"><img src={Respuesta3} alt="Opción 3" /></label>
164
-                                                <input type="radio" name="site" id="option1" value="option1" />D.<label for="option1"><img src={Respuesta1} alt="Opción 1" /></label>
165
-                                                <input type="radio" name="site" id="option2" value="option2" />E.<label for="option2"><img src={Respuesta2} alt="Opción 2" /></label>
166
-                                                <input type="radio" name="site" id="option3" value="option3" />F.<label for="option3"><img src={Respuesta3} alt="Opción 3" /></label>
181
+                                        <div className="body_preg_indi">
182
+                                            <div className="titulo_pregunta">                            
183
+                                                <span>Pregunta 4</span><input type="text" name="pregunta" placeholder="Ve la siguiente imagen y encuentra la faltante" className="input_pregunta"/>
184
+                                                <div className="button_subir_foto_pregunta">
185
+                                                        <div className="form-group">
186
+                                                            <label style={{ color : 'white' }} for="upload" className="btn d-inline-block btn-info">Subir imagen</label>
187
+                                                            <input type="file" name="" id="upload" />
188
+                                                        </div>
189
+                                                </div>
190
+                                                <div className="img_relaciones">
191
+                                                    <img alt="imagen de prueba" src={ImagenPrueba}/>
192
+                                                </div>
193
+                                            </div>
194
+                                            <div className="respuesta_pregunta">
195
+                                                <div className="button_subir_foto_pregunta">
196
+                                                        <div className="form-group">
197
+                                                            <label style={{  color : 'white' }} for="upload" className="btn d-inline-block btn-info">Añadir respuesta</label>
198
+                                                            <input type="file" name="" id="upload" />
199
+                                                        </div>
200
+                                                </div>
201
+                                                    <div id="sites">
202
+                                                        <input type="radio" name="site" id="option1" value="option1" />A.<label for="option1"><img src={Respuesta1} alt="Opción 1" /></label>
203
+                                                        <input type="radio" name="site" id="option2" value="option2" />B.<label for="option2"><img src={Respuesta2} alt="Opción 2" /></label>
204
+                                                        <input type="radio" name="site" id="option3" value="option3" />C.<label for="option3"><img src={Respuesta3} alt="Opción 3" /></label>
205
+                                                        <input type="radio" name="site" id="option1" value="option1" />D.<label for="option1"><img src={Respuesta1} alt="Opción 1" /></label>
206
+                                                        <input type="radio" name="site" id="option2" value="option2" />E.<label for="option2"><img src={Respuesta2} alt="Opción 2" /></label>
207
+                                                        <input type="radio" name="site" id="option3" value="option3" />F.<label for="option3"><img src={Respuesta3} alt="Opción 3" /></label>
208
+                                                    </div>
209
+                                            </div>
210
+                                            <div className="form-group-guardar-prueba">
211
+                                                <input style={{ color : 'white' }} type="submit" className="btn d-inline-block btn-info" value="Guardar prueba"/>
167 212
                                             </div>
168
-                                        </form>
169
-                                    </div>
170
-                                    <div className="form-group-guardar-prueba">
171
-                                        <input style={{ color : 'white' }} type="button" className="btn d-inline-block btn-info" value="Guardar prueba"/>
172
-                                    </div>
173 213
 
174
-                                    <div style={{ paddingTop  : 15 }} class="header_prueba">
175
-                                        <img alt="logo pruebas" src={Logo}/>
176
-                                    </div>
177
-                                    <div class="allrights_footer_prueba">
178
-                                        <p>Esta prueba fue realizada con PruebasPsico</p>
179
-                                        <p>Todos los derechos reservados</p>
180
-                                    </div>
214
+                                            <div style={{ paddingTop  : 15 }} className="header_prueba">
215
+                                                <img alt="logo pruebas" src={Logo}/>
216
+                                            </div>
217
+                                            <div className="allrights_footer_prueba">
218
+                                                <p>Esta prueba fue realizada con PruebasPsico</p>
219
+                                                <p>Todos los derechos reservados</p>
220
+                                            </div>
181 221
 
222
+                                        </div>
223
+                                    </div>
182 224
                                 </div>
183
-                            </div>
184
-                        </div>
225
+                            </Form>
226
+                            )}
227
+
228
+                    </Formik>
229
+
185 230
                     </Container>
186 231
                 </div>
187 232
             </div>

+ 3 - 0
psicoadmin/src/Pages/Puestos.jsx

@@ -222,6 +222,9 @@ export function Puestos() {
222 222
         <div className="content-section">
223 223
 
224 224
             <div className="main">
225
+
226
+                <h1>Puestos</h1>
227
+
225 228
                 <Row>
226 229
                     <Col md="2" sm="2" xs="2">
227 230
                         <div className="breadcrumb-header">