|
@@ -46,6 +46,7 @@ export function Cleaver() {
|
46
|
46
|
const role = useSelector((state) => state.user.role);
|
47
|
47
|
let navigate = useNavigate()
|
48
|
48
|
|
|
49
|
+ // let step = cleaver ? Object.keys(cleaver).length : 0
|
49
|
50
|
const [totalRespondidas, setRespondidas] = React.useState([]);
|
50
|
51
|
const [totalPreguntas, setPreguntas] = React.useState([]);
|
51
|
52
|
const [current, setCurrent] = React.useState(0);
|
|
@@ -53,7 +54,6 @@ export function Cleaver() {
|
53
|
54
|
const [open, setOpen] = React.useState(false);
|
54
|
55
|
|
55
|
56
|
const BadQuestion = () => toast.error("Escoge una respuesta en cada columna")
|
56
|
|
- //toast("Escoge una respuesta en cada columna",{ icon : '⚠️' });
|
57
|
57
|
const CalculateProgress = () => {
|
58
|
58
|
let total_preguntas = totalPreguntas.length + totalRespondidas.length
|
59
|
59
|
let x = totalRespondidas.length * 100 / (total_preguntas)
|
|
@@ -72,28 +72,32 @@ export function Cleaver() {
|
72
|
72
|
}, [id, auth]);
|
73
|
73
|
|
74
|
74
|
const saveRespones = () => {
|
75
|
|
-
|
76
|
75
|
setOpen(true)
|
77
|
|
-
|
78
|
76
|
let { responses: userResp } = cleaver;
|
79
|
|
- let mapResponses = totalRespondidas.map(resp => {
|
80
|
|
- let { respuestas: posibles, id } = resp;
|
81
|
|
- console.log(resp.id, posibles)
|
82
|
|
- let opciones_multiples = posibles.map(quiz => {
|
83
|
|
- let body = {
|
84
|
|
- "respuestaid": resp.id,
|
|
77
|
+
|
|
78
|
+ let body = []
|
|
79
|
+
|
|
80
|
+ Object.keys(userResp)
|
|
81
|
+ .forEach( id => {
|
|
82
|
+ let {A, B} = userResp[id]
|
|
83
|
+ let more = {
|
|
84
|
+ "respuestaid": A,
|
85
|
85
|
"asignacionid": role.assingid,
|
86
|
|
- "anotacion1": parseInt(userResp[id].A) === parseInt(quiz.id) ? 1 : 0, // + = A
|
87
|
|
- "anotacion2": parseInt(userResp[id].B) === parseInt(quiz.id) ? 1 : 0, // - = B
|
|
86
|
+ "anotacion1": 1,
|
|
87
|
+ "anotacion2": 0,
|
88
|
88
|
"anotacion3": 0
|
89
|
89
|
}
|
90
|
|
- return body;
|
|
90
|
+ body.push(more)
|
|
91
|
+ let less = {
|
|
92
|
+ "respuestaid": B,
|
|
93
|
+ "asignacionid": role.assingid,
|
|
94
|
+ "anotacion1": 0,
|
|
95
|
+ "anotacion2": 0,
|
|
96
|
+ "anotacion3": 0
|
|
97
|
+ }
|
|
98
|
+ body.push(less)
|
|
99
|
+ return { more,less }
|
91
|
100
|
})
|
92
|
|
- return opciones_multiples;
|
93
|
|
- })
|
94
|
|
-
|
95
|
|
- let body = []
|
96
|
|
- mapResponses.forEach(arr => arr.forEach(r => body.push(r)));
|
97
|
101
|
|
98
|
102
|
let rest = new Service('/prueba/addrespuestas/opcionmultiple')
|
99
|
103
|
rest.postQuery(body, auth.token)
|
|
@@ -104,7 +108,7 @@ export function Cleaver() {
|
104
|
108
|
setTimeout(() => navigate("/user/home"), 1000)
|
105
|
109
|
|
106
|
110
|
})
|
107
|
|
- .catch(e => {
|
|
111
|
+ .catch(_e => {
|
108
|
112
|
toast.error("Error al guardar el examen")
|
109
|
113
|
setOpen(false)
|
110
|
114
|
})
|