diff --git a/assets/login_image.png b/assets/login_image.png new file mode 100644 index 0000000..3590a95 Binary files /dev/null and b/assets/login_image.png differ diff --git a/components/Login.vue b/components/Login.vue index 9315d94..813625c 100644 --- a/components/Login.vue +++ b/components/Login.vue @@ -1,94 +1,42 @@ @@ -104,72 +52,16 @@ export default { }, data() { return { - loginType: 1, - usuario: '', - password: '', noTrabajador: '', - adscripcion: null, - adscripciones: [], error: '', } }, methods: { login() { - if (this.usuario && this.password && !this.error || this.noTrabajador && this.adscripcion && !this.error) { - if(this.loginType == 1){ - const data = { - usuario: this.usuario, - password: this.password, - } - this.updateIsLoading(true) - axios - .post(`${process.env.api}/usuario/loginAdmin`, data) - .then((res) => { - const info = res.data - localStorage.setItem('token', info.token) - localStorage.setItem('usuario', info.Usuario.usuario) - localStorage.setItem('tipoUsuario', info.Usuario.idTipoUsuario) - localStorage.setItem('idUsuario', info.Usuario.idUsuario) - this.updateIsLoading(false) - this.$router.push(`/${'admin'}`) - }) - .catch((err) => { - this.error = 'is-danger' - this.updateIsLoading(false) - this.imprimirError(err.response.data) - }) + if (this.noTrabajador && !this.error) { + const data = { + numeroTrabajador: this.noTrabajador, } - - if(this.loginType == 2){ - const data = { - usuario: this.usuario, - password: this.password, - } - this.updateIsLoading(true) - axios - .post(`${process.env.api}/usuario/loginOperador`, data) - .then((res) => { - const info = res.data - - localStorage.setItem('token', info.token) - localStorage.setItem('tipoUsuario', info.Usuario.tipoUsuario) - localStorage.setItem('usuario', info.Usuario.usuario) - localStorage.setItem('idUsuario', info.Usuario.idUsuario) - this.updateIsLoading(false) - this.$router.push(`/${'operador'}`) - }) - .catch((err) => { - this.error = 'is-danger' - this.updateIsLoading(false) - this.imprimirError(err.response.data) - }) - } - - if(this.loginType == 3){ - const data = { - numeroTrabajador: this.noTrabajador, - adscripcion: this.adscripcion, - } this.updateIsLoading(true) axios .post(`${process.env.api}/profesor/login`, data) @@ -180,7 +72,10 @@ export default { localStorage.setItem('idProfesor', info.Profesor.idProfesor) localStorage.setItem('nombre', info.Profesor.nombre) localStorage.setItem('adscripcion', info.Profesor.adscripcion) - localStorage.setItem('numeroTrabajador', info.Profesor.numeroTrabajador) + localStorage.setItem( + 'numeroTrabajador', + info.Profesor.numeroTrabajador + ) this.updateIsLoading(false) this.$router.push(`/${'profesor'}`) }) @@ -189,8 +84,6 @@ export default { this.updateIsLoading(false) this.imprimirError(err.response.data) }) - } - } }, }, @@ -201,30 +94,21 @@ export default { usuario() { if (this.error) this.error = '' }, - loginType(){ - this.usuario = '' - this.password = '' + loginType() { this.noTrabajador = '' - this.adscripcion = '' - } - }, - created() { - axios.get(`${process.env.api}/profesor/adscripciones`).then((res) => { - if (res) { - res.data.forEach((item, index) => { - this.adscripciones[index] = item.adscripcion - }) - } - }) + }, }, } diff --git a/components/layouts/Logout.vue b/components/layouts/Logout.vue index 40941e5..723a3f6 100644 --- a/components/layouts/Logout.vue +++ b/components/layouts/Logout.vue @@ -29,7 +29,7 @@ export default { methods: { cerrarSesion() { localStorage.clear() - this.$router.push('/') + this.$router.push('/loginOperador') }, }, created() { diff --git a/components/operador/Scanner.vue b/components/operador/Scanner.vue index 62daf67..a110f6c 100644 --- a/components/operador/Scanner.vue +++ b/components/operador/Scanner.vue @@ -13,6 +13,7 @@ export default { data() { return { idProfesor: '', + idPremiacion: '', leyendo: false, isLoading: false, } @@ -20,13 +21,16 @@ export default { methods: { onDecode(decodedString) { try { - this.idProfesor = JSON.parse(decodedString).idProfesor + const data = JSON.parse(decodedString) + this.idProfesor = data.idProfesor + this.idPremiacion = data.idPremiacion } catch (err) { this.idProfesor = '' + this.idPremiacion = '' this.errorMessage() } - if (this.idProfesor) { - this.enviar(this.idProfesor) + if (this.idProfesor && this.idPremiacion) { + this.enviar(this.idProfesor, this.idPremiacion) } }, errorMessage() { diff --git a/pages/LoginOperador/index.vue b/pages/LoginOperador/index.vue new file mode 100644 index 0000000..ac542bd --- /dev/null +++ b/pages/LoginOperador/index.vue @@ -0,0 +1,103 @@ + + + + + diff --git a/pages/Operador/index.vue b/pages/Operador/index.vue index eac57d6..c522c3f 100644 --- a/pages/Operador/index.vue +++ b/pages/Operador/index.vue @@ -27,10 +27,10 @@ export default { } }, methods: { - enviar(idProfesor) { + enviar(idProfesor, idPremiacion) { this.isLoading = true this.isReading = false - const data = { idProfesor: idProfesor } + const data = { idProfesor, idPremiacion } axios .post(`${process.env.api}/profesor/entradaInvitado`, data) .then((res) => { diff --git a/pages/Profesor/index.vue b/pages/Profesor/index.vue index 9dc16e9..b6cf773 100644 --- a/pages/Profesor/index.vue +++ b/pages/Profesor/index.vue @@ -4,16 +4,36 @@

REGISTRO DE PROFESORES PARA LA OBTENCIÓN DE MEDALLA

+

+ A continuación, le pedimos el registro de sus invitados, recuerde que + pueden ser hasta 3 personas. Por ser una ceremonia solemne, se solicita + no asistir con niños menores de 12 años. A su correo PCPUMA, llegará la + confirmación del registro y un código QR, por lo que le rogamos + mantenerse pendiente de recibirlo, si no lo visualiza, revisar en SPAM. +

-
+

Nombre: {{ `${Profesor.nombre}` }}

-

- Número de trabajador: {{ `${Profesor.numeroTrabajador}` }} -

-

- Adscripción: {{ `${Profesor.adscripcion}` }} -

+

¡Gracias por su registro!

+ +
+

Premiacion:

+ + + +
+

Cantidad de invitados:

{ item.nombreCompleto = `${item.nombre} ${item.apellido}` }) const data = { idProfesor: this.Profesor.idProfesor, + idPremiacion: this.premiacion, invitados: this.invitados, } + console.log(data) axios .post(`${process.env.api}/invitado/infoInvitados`, data) .then((res) => { @@ -117,7 +142,7 @@ export default { }) .catch((err) => { this.isLoading = false - this.errorToast() + this.errorToast(err.response.data.message) console.log(err) }) }, @@ -127,9 +152,10 @@ export default { type: 'is-success', }) }, - errorToast(){ + errorToast(err) { this.$buefy.toast.open({ - message: 'Ha ocurrido un error al enviar los datos, intente de nuevo más tarde.', + duration: 8000, + message: err, type: 'is-danger', }) }, @@ -146,12 +172,28 @@ export default { } return false }, + fetchPremiaciones() { + this.isLoading = true + axios + .get( + `${process.env.api}/profesor/premiaciones?idProfesor=${this.Profesor.idProfesor}` + ) + .then((res) => { + this.isLoading = false + if(res) this.premiaciones = res.data + }) + .catch((err) => { + this.isLoading = false + console.log(err) + }) + }, }, created() { this.Profesor.idProfesor = localStorage.getItem('idProfesor') this.Profesor.nombre = localStorage.getItem('nombre') this.Profesor.adscripcion = localStorage.getItem('adscripcion') this.Profesor.numeroTrabajador = localStorage.getItem('numeroTrabajador') + this.fetchPremiaciones() }, watch: { numeroInvitados() { @@ -171,4 +213,7 @@ export default { .full-h { min-height: 75vh; } +.cont { + width: 80%; +} diff --git a/pages/index.vue b/pages/index.vue index c7ae64f..1430e22 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -79,22 +79,6 @@ export default { onCancel: () => onCancel(), }) }, - // getLocalhostInfo() { - // this.admin.idUsuario = Number(localStorage.getItem('idUsuario')) - // this.admin.idTipoUsuario = Number(localStorage.getItem('idTipoUsuario')) - // this.admin.tipoUsuario = localStorage.getItem('tipoUsuario') - // this.admin.token = { - // headers: { - // token: localStorage.getItem('token'), - // }, - // } - // }, - }, - created() { - // this.getLocalhostInfo() - // if (this.admin.idTipoUsuario === 2) this.$router.push('/responsable') - // if (this.admin.idTipoUsuario === 3) this.$router.push('/alumno') - // if (this.admin.idTipoUsuario === 4) this.$router.push('/casoEspecial') }, layout: 'login', }