|
@@ -46,6 +46,7 @@ export function Cleaver() {
|
|
|
const role = useSelector((state) => state.user.role);
|
|
const role = useSelector((state) => state.user.role);
|
|
|
let navigate = useNavigate()
|
|
let navigate = useNavigate()
|
|
|
|
|
|
|
|
|
|
+ // let step = cleaver ? Object.keys(cleaver).length : 0
|
|
|
const [totalRespondidas, setRespondidas] = React.useState([]);
|
|
const [totalRespondidas, setRespondidas] = React.useState([]);
|
|
|
const [totalPreguntas, setPreguntas] = React.useState([]);
|
|
const [totalPreguntas, setPreguntas] = React.useState([]);
|
|
|
const [current, setCurrent] = React.useState(0);
|
|
const [current, setCurrent] = React.useState(0);
|
|
@@ -53,7 +54,6 @@ export function Cleaver() {
|
|
|
const [open, setOpen] = React.useState(false);
|
|
const [open, setOpen] = React.useState(false);
|
|
|
|
|
|
|
|
const BadQuestion = () => toast.error("Escoge una respuesta en cada columna")
|
|
const BadQuestion = () => toast.error("Escoge una respuesta en cada columna")
|
|
|
- //toast("Escoge una respuesta en cada columna",{ icon : '⚠️' });
|
|
|
|
|
const CalculateProgress = () => {
|
|
const CalculateProgress = () => {
|
|
|
let total_preguntas = totalPreguntas.length + totalRespondidas.length
|
|
let total_preguntas = totalPreguntas.length + totalRespondidas.length
|
|
|
let x = totalRespondidas.length * 100 / (total_preguntas)
|
|
let x = totalRespondidas.length * 100 / (total_preguntas)
|
|
@@ -72,28 +72,32 @@ export function Cleaver() {
|
|
|
}, [id, auth]);
|
|
}, [id, auth]);
|
|
|
|
|
|
|
|
const saveRespones = () => {
|
|
const saveRespones = () => {
|
|
|
-
|
|
|
|
|
setOpen(true)
|
|
setOpen(true)
|
|
|
-
|
|
|
|
|
let { responses: userResp } = cleaver;
|
|
let { responses: userResp } = cleaver;
|
|
|
- let mapResponses = totalRespondidas.map(resp => {
|
|
|
|
|
- let { respuestas: posibles, id } = resp;
|
|
|
|
|
- console.log(resp.id, posibles)
|
|
|
|
|
- let opciones_multiples = posibles.map(quiz => {
|
|
|
|
|
- let body = {
|
|
|
|
|
- "respuestaid": resp.id,
|
|
|
|
|
|
|
+
|
|
|
|
|
+ let body = []
|
|
|
|
|
+
|
|
|
|
|
+ Object.keys(userResp)
|
|
|
|
|
+ .forEach( id => {
|
|
|
|
|
+ let {A, B} = userResp[id]
|
|
|
|
|
+ let more = {
|
|
|
|
|
+ "respuestaid": A,
|
|
|
"asignacionid": role.assingid,
|
|
"asignacionid": role.assingid,
|
|
|
- "anotacion1": parseInt(userResp[id].A) === parseInt(quiz.id) ? 1 : 0, // + = A
|
|
|
|
|
- "anotacion2": parseInt(userResp[id].B) === parseInt(quiz.id) ? 1 : 0, // - = B
|
|
|
|
|
|
|
+ "anotacion1": 1,
|
|
|
|
|
+ "anotacion2": 0,
|
|
|
"anotacion3": 0
|
|
"anotacion3": 0
|
|
|
}
|
|
}
|
|
|
- return body;
|
|
|
|
|
|
|
+ body.push(more)
|
|
|
|
|
+ let less = {
|
|
|
|
|
+ "respuestaid": B,
|
|
|
|
|
+ "asignacionid": role.assingid,
|
|
|
|
|
+ "anotacion1": 0,
|
|
|
|
|
+ "anotacion2": 0,
|
|
|
|
|
+ "anotacion3": 0
|
|
|
|
|
+ }
|
|
|
|
|
+ body.push(less)
|
|
|
|
|
+ return { more,less }
|
|
|
})
|
|
})
|
|
|
- return opciones_multiples;
|
|
|
|
|
- })
|
|
|
|
|
-
|
|
|
|
|
- let body = []
|
|
|
|
|
- mapResponses.forEach(arr => arr.forEach(r => body.push(r)));
|
|
|
|
|
|
|
|
|
|
let rest = new Service('/prueba/addrespuestas/opcionmultiple')
|
|
let rest = new Service('/prueba/addrespuestas/opcionmultiple')
|
|
|
rest.postQuery(body, auth.token)
|
|
rest.postQuery(body, auth.token)
|
|
@@ -104,7 +108,7 @@ export function Cleaver() {
|
|
|
setTimeout(() => navigate("/user/home"), 1000)
|
|
setTimeout(() => navigate("/user/home"), 1000)
|
|
|
|
|
|
|
|
})
|
|
})
|
|
|
- .catch(e => {
|
|
|
|
|
|
|
+ .catch(_e => {
|
|
|
toast.error("Error al guardar el examen")
|
|
toast.error("Error al guardar el examen")
|
|
|
setOpen(false)
|
|
setOpen(false)
|
|
|
})
|
|
})
|