Compare commits

..

9 Commits

13 changed files with 256 additions and 25 deletions
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1 +1 @@
<!DOCTYPE html><html lang=en><head><link href=css/app.4e535138.css rel=preload as=style><link href=css/chunk-vendors.cbc2a074.css rel=preload as=style><link href=js/app.ee6afc8b.js rel=preload as=script><link href=js/chunk-vendors.5b53642e.js rel=preload as=script><link href=css/chunk-vendors.cbc2a074.css rel=stylesheet><link href=css/app.4e535138.css rel=stylesheet></head><head><meta name=viewport content="width=device-width,initial-scale=1"><meta charset=utf-8><link rel=stylesheet href=https://unpkg.com/purecss@1.0.0/build/pure-min.css integrity=sha384-nn4HPE8lTHyVtfCBi5yW9d20FjT8BJwUXyWZT9InLYax14RDjBj46LmSztkmNP9w crossorigin=anonymous><link rel=stylesheet href=https://unpkg.com/purecss@1.0.0/build/grids-responsive-min.css><link rel=stylesheet href=https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css><link rel=stylesheet type=text/css href=style.css media=screen><link rel=stylesheet href=https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css integrity=sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB crossorigin=anonymous><title>HACKATHON REGISTRO</title><link rel="shortcut icon" href=img/icono.png><body><noscript><strong>We're sorry but hack_unam doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=js/chunk-vendors.5b53642e.js></script><script src=js/app.ee6afc8b.js></script></body></head></html>
<!DOCTYPE html><html lang=en><head><link href=css/app.60762d50.css rel=preload as=style><link href=css/chunk-vendors.cbc2a074.css rel=preload as=style><link href=js/app.38561c17.js rel=preload as=script><link href=js/chunk-vendors.921f3df1.js rel=preload as=script><link href=css/chunk-vendors.cbc2a074.css rel=stylesheet><link href=css/app.60762d50.css rel=stylesheet></head><head><meta name=viewport content="width=device-width,initial-scale=1"><meta charset=utf-8><link rel=stylesheet href=https://unpkg.com/purecss@1.0.0/build/pure-min.css integrity=sha384-nn4HPE8lTHyVtfCBi5yW9d20FjT8BJwUXyWZT9InLYax14RDjBj46LmSztkmNP9w crossorigin=anonymous><link rel=stylesheet href=https://unpkg.com/purecss@1.0.0/build/grids-responsive-min.css><link rel=stylesheet href=https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css><link rel=stylesheet type=text/css href=style.css media=screen><link rel=stylesheet href=https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css integrity=sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB crossorigin=anonymous><title>HACKATHON REGISTRO</title><link rel="shortcut icon" href=img/icono.png><body><noscript><strong>We're sorry but hack_unam doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=js/chunk-vendors.921f3df1.js></script><script src=js/app.38561c17.js></script></body></head></html>
File diff suppressed because one or more lines are too long
+1
View File
File diff suppressed because one or more lines are too long
-1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+8 -8
View File
@@ -53,7 +53,7 @@ import Header from "./../view/headerAdmin.vue";
export default {
components: {
//HelloWorld
Header,
Header
},
data() {
return {
@@ -61,7 +61,7 @@ export default {
password: "",
error: false,
mal: null,
resp: null,
resp: null
};
},
methods: {
@@ -75,33 +75,33 @@ export default {
entrar() {
const data = {
usuario: this.usuario,
password: this.password,
password: this.password
};
axios
.post(`${config.api}/login`, data)
.then(async (respose) => {
.then(async respose => {
this.resp = respose.data;
if (respose.data.err == false) {
await swal(`Bienvenido ${this.usuario}`, "", "success");
window.localStorage.setItem("id_usuario", respose.data.id_usuario);
this.$router.push("/");
this.$router.push("/Registros");
} else {
this.error = true;
await swal(" Usuario o Contraseña incorrecta.", "", "error");
}
})
.catch((err) => {
.catch(err => {
swal(" Usuario o Contraseña incorrecta.", "", "error");
this.resp = err;
this.error = true;
});
},
}
},
beforeCreate() {
localStorage.clear();
},
}
};
</script>
+221
View File
@@ -0,0 +1,221 @@
<template>
<section class="admin-login">
<!--Importar componente de header para login -->
<Header />
<div>
<h1>Hackaton UNAM-AWS</h1>
</div>
<div class="container">
<div class="row">
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<button
class="navbar-toggler"
type="button"
data-toggle="collapse"
data-target="#navbarTogglerDemo01"
aria-controls="navbarTogglerDemo01"
aria-expanded="false"
aria-label="Toggle navigation"
>
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarTogglerDemo01">
<ul class="navbar-nav mr-auto mt-2 mt-lg-0">
<li class="nav-item ">
<a class="navbar-brand" @click="numPanel=1">Equipos </a
>
</li>
<li class="nav-item">
<a class="navbar-brand" @click="numPanel=2">Participantes</a>
</li>
</ul>
</div>
</nav>
</div>
</div>
<div class="container" v-if="numPanel==1">
<div class="row">
<table class="table">
<thead class="thead-dark">
<tr class="titulo">
<th scope="col">#</th>
<th scope="col">Nombre del Equipo</th>
<th scope="col">Numero de Integrantes</th>
<th scope="col">Nombre del Lider</th>
<th scope="col">Correo</th>
<th scope="col">Carrera</th>
<th scope="col">Campus</th>
<th scope="col">Fecha de Registro</th>
</tr>
</thead>
<tbody>
<tr v-for="item in registros" :key="item.idEquipo">
<th scope="row">{{ item.idEquipo }}</th>
<td>{{ item.nombreEquipo }}</td>
<td>{{ item.numeroIntegrantes }}</td>
<td>{{ item.nombre }}</td>
<td>{{ item.correo }}</td>
<td>{{ item.carrera }}</td>
<td>{{ item.campus }}</td>
<td>{{ item.fecha }}</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="container" v-if="numPanel==2">
<div class="row">
<table class="table">
<thead class="thead-dark">
<tr class="titulo">
<th scope="col">#</th>
<th scope="col">Nombre </th>
<th scope="col">Apellido Paterno</th>
<th scope="col">Apellido Materno</th>
<th scope="col">Correo</th>
<th scope="col">Nombre del Aquipo</th>
<th scope="col">Campus</th>
<th scope="col">Carrera</th>
</tr>
</thead>
<tbody>
<tr v-for="item in persona" :key="item.idPersona">
<th scope="row">{{ item.idPersona }}</th>
<td>{{ item.nombre }}</td>
<td>{{ item.apellidoP }}</td>
<td>{{ item.apellidoM }}</td>
<td>{{ item.correo }}</td>
<td>{{ item.nombreEquipo }}</td>
<td>{{ item.campus }}</td>
<td>{{ item.carrera }}</td>
</tr>
</tbody>
</table>
</div>
</div>
</section>
</template>
<script>
import axios from "axios";
import config from "../config/config.js";
import Header from "./../view/headerAdmin.vue";
export default {
components: {
//HelloWorld
Header,
},
data() {
return {
registros: [],
numPanel: 1,
persona: []
};
},
methods: {
},
async created() {
let equipos = await axios.get(`${config.api}/getRegistro`);
equipos = equipos.data.data;
for (let i = 0; i < equipos.length; i++) {
if (equipos[i].fechaRegistro !== null) {
let time = new Date(equipos[i].fechaRegistro);
equipos[i].fechaRegistro = new Date(equipos[i].fechaRegistro)
.toISOString()
.slice(0, 19)
.split("T");
time = time.toLocaleTimeString();
equipos[i].fechaRegistro = `${equipos[i].fechaRegistro[0]} / ${time}`;
}
this.registros.push({
idEquipo: i + 1,
nombreEquipo: equipos[i].nombreEquipo,
numeroIntegrantes: equipos[i].numeroIntegrantes,
nombre: equipos[i].nombre,
correo: equipos[i].correo,
carrera: equipos[i].carrera,
campus: equipos[i].campus,
fecha: equipos[i].fechaRegistro,
});
}
let personaQuery = await axios.get(`${config.api}/getPersona`);
personaQuery = personaQuery.data.data;
for (let i = 0; i < personaQuery.length; i++) {
this.persona.push({
idPersona: i + 1,
nombre: personaQuery[i].nombre,
apellidoP: personaQuery[i].apellidoP,
apellidoM: personaQuery[i].apellidoM,
correo: personaQuery[i].correo,
nombreEquipo: personaQuery[i].nombreEquipo,
campus: personaQuery[i].campus,
carrera: personaQuery[i].carrera
});
}
},
beforeCreate() {
if (!window.localStorage.getItem("id_usuario")) this.$router.push("/");
else this.id = window.localStorage.getItem("id_usuario");
},
};
</script>
<style scoped>
h1 {
margin-top: 2.5rem;
margin-bottom: 3.5rem;
font-size: 1.5rem;
}
.titulo {
font-size: 0.8rem;
}
td {
font-size: 0.8rem;
}
@media screen and (min-width: 1024px) {
h1 {
margin-top: 3rem;
margin-bottom: 4rem;
font-size: 2.5rem;
}
}
.nav-item{
-webkit-transition-duration: 0.4s; /* Safari */
transition-duration: 0.4s;
text-align: center;
}
.nav-item:hover{
background-color: #343a40;
color: white;
}
.navbar-brand{
color: white;
}
</style>
+2 -2
View File
@@ -16,8 +16,8 @@ export default {
//HelloWorld
Header,
Form,
Footer,
},
Footer
}
};
</script>
+9 -1
View File
@@ -1,5 +1,13 @@
const config = {
//api: "http://localhost:3001"
//Local
//api: "http://localhost:3000"
//Pruebas
//api: "https://venus.acatlan.unam.mx/hackaton"
//Produccion
api: "https://venus.acatlan.unam.mx/indiana_hackaton"
};
module.exports = config;
+2
View File
@@ -1,6 +1,8 @@
import Form from "./components/usuario.vue";
import Login from "./components/login.vue";
import Panel from "./components/panelAdmin.vue";
export const routes = [
{ path: "/", component: Form, name: "form" },
{ path: "/panelAdmin", component: Login, name: "Login" },
{ path: "/Registros", component: Panel, name: "Panel" }
];