Bläddra i källkod

calificacion cleaver

amenpunk 3 år sedan
förälder
incheckning
b0d0cb3e77
2 ändrade filer med 40 tillägg och 10 borttagningar
  1. 39 9
      src/Components/Home/Candidato.jsx
  2. 1 1
      src/Components/Routes.js

+ 39 - 9
src/Components/Home/Candidato.jsx

@@ -2,7 +2,7 @@ import React from 'react'
 import {
   Skeleton, Box, IconButton, TableCell, TableContainer,
   Table, TableRow, Paper, TableBody,
-  Tooltip,Button
+  Tooltip, Button
 } from '@mui/material';
 import {
   CheckBox as CheckBoxIcon,
@@ -11,15 +11,46 @@ import {
   Error as ErrorIcon,
   AssignmentTurnedIn as AssignmentTurnedInIcon
 } from '@mui/icons-material'
-// import { useNavigate } from 'react-router-dom'
+import { useNavigate } from 'react-router-dom'
 
 import { Col, Row } from 'react-bootstrap'
+import { useSelector } from 'react-redux';
+import { Service } from '../../Utils/HTTP';
 const big_as = 70
 
+
 function IconStatus(props) {
+
+  let navigate = useNavigate()
+  let auth = useSelector((state) => state.token)
+
+  console.log(props)
+  const calificar = () => {
+    console.log('TOKEN: ',auth.token)
+    let rest = new Service(`/prueba/calificacion/cleaver/report/${props.pwd}`);
+
+    rest
+      .getQuery(auth.token)
+      .then(r => {
+        console.log("SUCCESS:", r)
+        navigate('/dashboard/resultados/' + props.pwd)
+      })
+      .catch(e => {
+        console.log("ERROR:", e.message)
+        // navigate('/dashboard/resultados/' + props.pwd)
+      })
+  }
+
+
   return (
     <Tooltip title={props.message}>
       <IconButton
+        onClick={() => {
+          if (parseInt(props.estado) === 100) {
+            calificar()
+            // navigate('/dashboard/resultados/' + props.pwd)
+          }
+        }}
         style={{ color: '#0bd641' }}
         components="label">
         {<props.icon />}
@@ -29,7 +60,7 @@ function IconStatus(props) {
   )
 }
 
-function getOperation(estado) {
+function getOperation(estado, SuperPWD) {
   // Patrik: 100 -> Significa que el examen esta completo
   // Patrik: 99 -> Que el candidato lo esta haciendo (como "doing test" del otro servicio)
   // Patrik: 97 ->  Que hay un error y que hay mas respuestas de las que deberian
@@ -42,16 +73,15 @@ function getOperation(estado) {
     case 99: // el candidato se encuentra realizndolo
       return <IconStatus icon={AssignmentTurnedInIcon} message="El candidato se encuentra realizando la prueba" />
     case 100: // finalizado
-      return <IconStatus icon={CheckBoxIcon} message="Calificar el examen" />
+      return <IconStatus estado={100} icon={CheckBoxIcon} message="Calificar el examen" pwd={SuperPWD} />
     default: return null
   }
 }
 
 function Asignaciones(props) {
 
-  // let navigate = useNavigate()
   let { estado, cattest, calificacionescleaver: test_result, id: SuperPWD } = props.asign;
-  console.log(props,test_result,SuperPWD)
+  console.log(props, test_result, SuperPWD)
 
   return (
     <tr>
@@ -72,7 +102,7 @@ function Asignaciones(props) {
             ) : null
       */}
         {
-          getOperation(estado)
+          getOperation(estado, SuperPWD)
         }
       </td>
     </tr>
@@ -124,9 +154,9 @@ export function Candidato(props) {
     <div className="data_candidato">
       <Row>
 
-        <Col className="pwd_info"pwd_name_candi onClick={props.onClick}  md="3" sm="12">
+        <Col className="pwd_info pwd_name_candi" onClick={props.onClick} md="3" sm="12">
           <Button className="btn_pwd" variant="contained">
-            <u><p><b style={{color:'white'}}>{password?.toUpperCase()}</b></p></u>
+            <u><p><b style={{ color: 'white' }}>{password?.toUpperCase()}</b></p></u>
           </Button>
         </Col>
 

+ 1 - 1
src/Components/Routes.js

@@ -65,7 +65,7 @@ export default function MyRoutes() {
         <Route path="expedientes" element={<Expedientes />} />
 
         <Route path="resultados" >
-          <Route path="id" element={<Resultados />} />
+          <Route path=":id" element={<Resultados />} />
           <Route path="" element={<Resultados />} />
         </Route>