panel admin

This commit is contained in:
2020-09-28 00:14:24 -05:00
parent 1de3a6aeb8
commit 712f9eca52
5 changed files with 544 additions and 375 deletions
+272 -236
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -14,6 +14,7 @@
"bootstrap-vue": "^2.16.0",
"core-js": "^3.6.5",
"i": "^0.3.6",
"mdbvue": "^6.7.1",
"npm": "^6.14.8",
"sweetalert2": "^10.1.0",
"vue": "^2.6.12",
+1 -1
View File
@@ -95,7 +95,7 @@ export default {
localStorage.clear();
window.localStorage.setItem("idPersona", response.data.idPersona);
this.$router.push("/usuario");
return;
}
else{
+31 -11
View File
@@ -34,7 +34,7 @@
<td>{{item.apellidoMaterno}}</td>
<td>{{item.correo}}</td>
<td>{{item.comunidad}}</td>
<td>{{item.totalPagar}}</td>
<td>"{{item.totalPagar}}.00</td>
<td ><button type="button" @click="correoEnviar = item.correo, idPersona=item.idPersona, nombreEscogido=`${item.nombre} ${item.apellidoPaterno} ${item.apellidoMaterno}`, cantidadPagar=item.totalPagar" class="btn btn-outline-success" v-b-modal.fichaDeposito >Enviar ficha</button></td>
</tr>
</tbody>
@@ -67,7 +67,7 @@
<td>{{item.apellidoMaterno}}</td>
<td>{{item.correo}}</td>
<td>{{item.comunidad}}</td>
<td>{{item.totalPagar}}</td>
<td>${{item.totalPagar}}.00</td>
</tr>
</tbody>
</table>
@@ -88,19 +88,36 @@
<th scope="col">Correo</th>
<th scope="col">Comunidad</th>
<th scope="col">Pago total</th>
<th scope="col">Banco de procedencia</th>
<th scope="col">Fecha de Operacion</th>
<th scope="col">Clave de rastreo</th>
<th scope="col">Cuenta retiro</th>
<th scope="col">Importe</th>
<th scope="col">Cuenta de Deposito</th>
<th scope="col">Abrir pago</th>
<th scope="col">Aprobar pago</th>
<th scope="col">Rechazar pago</th>
</tr>
</thead>
<tbody>
<tr v-for="item in revisar" v-bind:key="item.idPersona">
<th scope="row">{{item.number}}</th>
<td>{{item.nombre}}</td>
<td>{{item.apellidoP}}</td>
<td>{{item.apellidoM}}</td>
<td>{{item.apellidoPaterno}}</td>
<td>{{item.apellidoMaterno}}</td>
<td>{{item.correo}}</td>
<td>{{item.comunidad}}</td>
<td>{{item.pago}}</td>
<td ><button type="button" class="btn btn-outline-success" v-b-modal.mostrarPago >Mostrar pago</button></td>
<td>${{item.totalPagar}}.00</td>
<td>{{item.comprobante.bancoProcedencia}}</td>
<td>{{item.comprobante.fechaOperacion}}</td>
<td>{{item.comprobante.claveRastreo}}</td>
<td>{{item.comprobante.cuentaRetiro}}</td>
<td>{{item.comprobante.importe}}</td>
<td>{{item.comprobante.cuentaDeposito}}</td>
<td ><b-button variant="primary">Descargar</b-button></td>
<td ><b-button variant="outline-success">Aceptar</b-button></td>
<td ><b-button variant="outline-danger" >Rechazar</b-button></td>
</tr>
</tbody>
</table>
@@ -210,8 +227,8 @@
<b-modal id="mostrarPago" centered title="Pago de Daniel Adrian">
<p class="my-4">Pago </p>
<b-modal id="mostrarPago" centered >
<p class="my-4">Pago de {{nombreEscogido}} </p>
</b-modal>
<b-modal id="DatosPago" centered title="Datos de: " hide-footer>
@@ -244,8 +261,7 @@ export default {
return {
enviar: [],
pendientes: [],
revisar: [{number: 1,idPersona: 1, nombre: "Ejemplo", apellidoP: "Ejemplo ape",apellidoM: "Ejemplo ape", correo: "mail@mail.com", comunidad:"UNAM", pago: "$900.00"},
{number: 2,idPersona: 2, nombre: "Ejemplo", apellidoP: "Ejemplo ape",apellidoM: "Ejemplo ape", correo: "mail@mail.com", comunidad:"UNAM", pago: "$900.00"}],
revisar: [],
pagados: [{number: 1,idPersona: 1, nombre: "Ejemplo", apellidoP: "Ejemplo ape",apellidoM: "Ejemplo ape", correo: "mail@mail.com", comunidad:"UNAM", pago: "$900.00"},
{number: 1,idPersona: 2, nombre: "Ejemplo", apellidoP: "Ejemplo ape",apellidoM: "Ejemplo ape", correo: "mail@mail.com", comunidad:"UNAM", pago: "$900.00"}],
factura: [{number: 1,idPersona: 1, nombre: "Ejemplo", apellidoP: "Ejemplo ape",apellidoM: "Ejemplo ape", correo: "mail@mail.com", comunidad:"UNAM", pago: "$900.00"},
@@ -319,7 +335,11 @@ export default {
`${config.api}/getPersonasPendientes`
);
this.pendientes = this.pendientes.data.datos;
this.revisar = await axios.get(
`${config.api}/getPersonasRecibo`
);
this.revisar = this.revisar.data.datos;
}
+239 -127
View File
@@ -8,13 +8,13 @@
<!-- Tabs Titles -->
<!-- Icon -->
<div class="fadeIn first">
<h1>Bienvenido</h1>
</div>
<div class="fadeIn first">
<h1>Bienvenido</h1>
</div>
<form>
<div class="row">
<h2>Nombre:{{nombre}}</h2>
<h2>Nombre: {{nombre}}</h2>
</div>
<div class="row">
<h2>Curp: {{curp}}</h2>
@@ -22,12 +22,10 @@
<div class="row">
<h2>Total a pagar: ${{pago}}.00</h2>
</div>
<div class="row">
<h2>En breve se recibiras tu referencia bancaria</h2>
</div>
<div class="row">
<div class="col">
<table class="table" style="margin-top: 3rem; margin-bottom: 3rem;">
<thead class="thead-dark">
<tr>
@@ -39,9 +37,9 @@
<tr v-for="item in eventos" v-bind:key="item.idEvento">
<td class="alingLeft" v->{{item.nombreEvento}}</td>
<td >{{item.nombreEvento}}</td>
<td v->{{item.tipoEvento}}</td>
<td >{{item.tipoEvento}}</td>
</tr>
@@ -50,126 +48,158 @@
</table>
</div>
</div>
<div class="row" v-if="!fichaEnviada">
<h2>En breve se recibiras tu referencia bancaria</h2>
</div>
<form>
<div class=" wrapperRow row">
<h2>Datos del comprobante de pago</h2>
</div>
<div class="row" v-if="pagoEnviado">
<h2>Gracias por enviar tu ficha de pago estamos valdiando tu pago </h2>
</div>
<div v-if="fichaEnviada && !pagoEnviado">
<form>
<div class=" wrapperRow row">
<h2>Datos del comprobante de pago</h2>
</div>
<div class="row">
<div class="col">
<input type="text" class="fadeIn second" placeholder="Banco de procedencia" v-model="bancoProcedencia">
</div>
</div>
<div class="row">
<div class="col">
<div class="row">
<p>Fecha de la operación</p>
</div>
<div class="row">
<div class="col-md-4">
<input type="number" class="fadeIn second " placeholder="dia" v-model="dia">
</div>
<div class="col-md-4">
<input type="number" class="fadeIn second " placeholder="mes" v-model="mes">
</div>
<div class="col-md-4">
<input type="number" class="fadeIn second " placeholder="año" v-model="year">
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<input type="text" class="fadeIn second" placeholder="Clave de rastreo" v-model="claveRastreo">
</div>
</div>
<div class="row">
<div class="col-md-4">
<input type="text" class="fadeIn second" placeholder="Cuenta de retiro" v-model="cuentaRetiro">
</div>
<div class="col-md-4">
<input type="text" class="fadeIn second" placeholder="Cuenta de depósito " v-model="cuentaDeposito">
</div>
<div class="col-md-4">
<input type="text" class="fadeIn second" placeholder="Importe" v-model="importe">
</div>
</div>
</form>
<div class="row">
<div class="col-md-4">
<input type="text" class="fadeIn second" placeholder="Banco de procedencia" v-model="bancoProcedencia">
</div>
<div class="col-md-4">
<input type="text" class="fadeIn second" placeholder="Fecha de la operación" v-model="fechaOperacion">
</div>
<div class="col-md-4">
<input type="text" class="fadeIn second" placeholder="Clave de rastreo" v-model="claveRastreo">
</div>
<p>Por favor adjunta tu comprobante de pago</p>
</div>
<div class="row">
<div class="col-md-6">
<input type="text" class="fadeIn second" placeholder="Cuenta de retiro" v-model="cuentaRetiro">
</div>
<div class="col-md-6">
<input type="text" class="fadeIn second" placeholder="Cuenta de depósito e importe" v-model="importe">
</div>
<div>
<b-form-file
v-model="file1"
id="file1"
:state="Boolean(file1)"
placeholder="Escoge la ficha de deposito"
drop-placeholder="Carga la ficha de deposito aqui"
accept=".pdf"
browseText= "Cargar"
></b-form-file>
</div>
<div class="row mar">
<b-form-checkbox
id="pedirFactura"
v-model="pedirFactura"
name="pedirFactura"
value= true
unchecked-value= false
>
Quiero Factura
</b-form-checkbox>
</div>
</form>
<div class="row">
<p>Por favor adjunta tu comprobante de pago</p>
</div>
<div class="row">
<div class="form-group">
<input accept=".pdf,.png, .jpg" type="file" class="form-control-file mar" id="exampleFormControlFile1">
<div v-if="pedirFactura==='true'">
<div class="row">
<div class="col-md-4">
<input type="text" class="fadeIn second" placeholder="Nombre" v-model="nombrePersona">
</div>
<div class="col-md-4">
<input type="text" class="fadeIn second" placeholder="Apellido paterno" v-model="apellidoPaterno">
</div>
<div class="col-md-4">
<input type="text" class="fadeIn second" placeholder="Apellido Materno" v-model="apellidoMaterno">
</div>
</div>
<div class="row">
<div class="col">
<input type="text" class="fadeIn second" placeholder="RFC" v-model="rfc">
</div>
</div>
<div class="row">
<div class="col-md-8">
<input type="text" class="fadeIn second" placeholder="Correo" v-model="correoPersona">
</div>
<div class="col-md-4">
<input type="text" class="fadeIn second" placeholder="Telefono" v-model="telefono">
</div>
</div>
<div class="row">
<div class="col-md-4">
<input type="text" class="fadeIn second" placeholder="Calle" v-model="calle">
</div>
<div class="col-md-2">
<input type="text" class="fadeIn second" placeholder="No. Interior" v-model="noInterior">
</div>
<div class="col-md-2">
<input type="text" class="fadeIn second" placeholder="No. Exterior" v-model="noExterior">
</div>
<div class="col-md-4">
<input type="text" class="fadeIn second" placeholder="Colonia" v-model="colonia">
</div>
</div>
<div class="row">
<div class="col-md-4">
<input type="text" class="fadeIn second" placeholder="Municipio" v-model="municipio">
</div>
<div class="col-md-4">
<input type="text" class="fadeIn second" placeholder="Estado" v-model="estado">
</div>
<div class="col-md-4">
<input type="text" class="fadeIn second" placeholder="Codigo Postal" v-model="codigoPostal">
</div>
</div>
</div>
</div>
<div class="row mar">
<b-form-checkbox
id="pedirFactura"
v-model="pedirFactura"
name="pedirFactura"
value= true
unchecked-value= false
>
Quiero Factura
</b-form-checkbox>
</div>
<div v-if="pedirFactura==='true'">
<div class="row">
<div class="col-md-4">
<input type="text" class="fadeIn second" name="login" placeholder="Nombre" v-model="nombrePersona">
</div>
<div class="col-md-4">
<input type="text" class="fadeIn second" name="login" placeholder="Apellido paterno" v-model="apellidoPaterno">
</div>
<div class="col-md-4">
<input type="text" class="fadeIn second" name="login" placeholder="Apellido Materno" v-model="apellidoMaterno">
</div>
</div>
<div class="row">
<div class="col">
<input type="text" class="fadeIn second" name="login" placeholder="RFC" v-model="rfc">
</div>
</div>
<div class="row">
<div class="col-md-8">
<input type="text" class="fadeIn second" name="login" placeholder="Correo" v-model="correoPersona">
</div>
<div class="col-md-4">
<input type="text" class="fadeIn second" name="login" placeholder="Telefono" v-model="telefono">
</div>
</div>
<div class="row">
<div class="col-md-4">
<input type="text" class="fadeIn second" name="login" placeholder="Calle" v-model="calle">
</div>
<div class="col-md-2">
<input type="text" class="fadeIn second" name="login" placeholder="No. Interior" v-model="noInterior">
</div>
<div class="col-md-2">
<input type="text" class="fadeIn second" name="login" placeholder="No. Exterior" v-model="noExterior">
</div>
<div class="col-md-4">
<input type="text" class="fadeIn second" name="login" placeholder="Colonia" v-model="colonia">
</div>
</div>
<div class="row">
<div class="col-md-4">
<input type="text" class="fadeIn second" name="login" placeholder="Municipio" v-model="municipio">
</div>
<div class="col-md-4">
<input type="text" class="fadeIn second" name="login" placeholder="Estado" v-model="estado">
</div>
<div class="col-md-4">
<input type="text" class="fadeIn second" name="login" placeholder="Codigo Postal" v-model="codigoPostal">
</div>
</div>
</div>
</div>
<router-link to="/">
<input type="button" class="fadeIn fourth " value="Salir" style="margin-top: 3rem; background-color: #A60101;">
</router-link>
<input type="button" class="fadeIn fourth" value="Enviar" style=" background-color: #47A601;" @click="enviarArchivo()">
<input type="button" class="fadeIn fourth" value="Enviar" style=" background-color: #47A601;" @click="enviarArchivo()" v-if="fichaEnviada && !pagoEnviado">
</form>
<!-- Remind Passowrd -->
<div id="formFooter">
<a class="underlineHover" href="https://arquitectura.unam.mx/asinea-2020.html">Mas información</a> <br/>
@@ -177,7 +207,7 @@
</div>
</div>
</div>
</div>
</div>
</div>
</template>
@@ -186,18 +216,19 @@
import axios from "axios";
import config from "../config/config.js";
import Swal from "sweetalert2";
export default {
name: 'Login',
data() {
return {
idPersona: "",
fichaEnviada: false,
idPersona: 12,
nombre: "",
curp: "",
eventos: [],
pago: "",
file1: "",
file1: null,
file2: null,
correo: "",
@@ -213,7 +244,11 @@ export default {
fechaOperacion: "",
claveRastreo: "",
cuentaRetiro:"",
cuentaDeposito: "",
importe:"",
dia:"",
mes:"",
year:"",
@@ -232,6 +267,9 @@ export default {
codigoPostal: "",
pagoEnviado: false
@@ -256,6 +294,17 @@ export default {
if(this.importe === "") return this.menssajeWar('Falta llenar el importe');
const data = {
bancoProcedencia: this.bancoProcedencia,
fechaOperacion: `${this.dia}-${this.mes}-${this.year}`,
claveRastreo: this.claveRastreo,
cuentaRetiro: this.cuentaRetiro,
importe: this.importe,
idPersona: this.idPersona,
cuentaDeposito: this.cuentaDeposito
}
if( `${this.pedirFactura}` === `true` ){
if(this.nombrePersona === "") return this.menssajeWar('Falta llenar el nombre de la persona a quien se le hara la factura');
@@ -272,7 +321,65 @@ export default {
if(this.estado === "") return this.menssajeWar('Falta llenar el estado de la persona a quien se le hara la factura');
if(this.codigoPostal === "") return this.menssajeWar('Falta llenar el codigo postal de la persona a quien se le hara la factura');
data.factura = true;
data.nombrePersona = this.nombrePersona;
data.apellidoPaterno = this.apellidoPaterno;
data.apellidoMaterno = this.apellidoMaterno;
data.rfc = this.rfc;
data.correoPersona = this.correoPersona;
data.telefono = this.telefono;
data.calle = this.calle;
data.noInterior = this.noInterior;
data.noExterior = this.noExterior;
data.colonia = this.colonia;
data.municipio = this.municipio;
data.estado = this.estado;
data.codigoPostal = this.codigoPostal;
}
try{
this.enviando = true;
var formData = new FormData();
var fichaDeposito = document.querySelector('#file1');
console.log('esta es la ficha', fichaDeposito);
formData.append("reciboPago", fichaDeposito.files[0]);
for( let item in data )
formData.append(`${item}`, data[item]);
console.log(formData);
await axios.post(
`${config.api}/enviarFicha`, formData ,{
headers: {
'Content-Type': 'multipart/form-data'
}
}
);
this.enviando = false;
await Swal.fire({
title: "Exito",
text: 'Exito al enviar la factura',
icon: "success"
});
location.reload();
}
catch(error){
this.enviando = false;
console.log(error.response);
await Swal.fire({
title: "Error",
text: error.response.data.msj || 'Ocurrio un problema',
icon: "error"
});
location.reload();
}
@@ -280,17 +387,18 @@ export default {
},
async beforeCreate() {
if (!window.localStorage.getItem("idPersona")) this.$router.push("/");
else this.idPersona = window.localStorage.getItem("idPersona");
if (!window.localStorage.getItem("idPersona")) this.$router.push("/");
this.idPersona = window.localStorage.getItem("idPersona");
let response = await axios.get(
`${config.api}/getPersona?idPersona=${this.idPersona}`
);
//alert(response);
console.log(response);
this.nombre = `${response.data.datos.nombre} ${response.data.datos.apellidoPaterno} ${response.data.datos.apellidoMaterno}`;
this.curp = response.data.datos.curp;
@@ -298,14 +406,18 @@ export default {
this.pago = response.data.datos.totalPagar;
this.fichaEnviada = response.data.datos.referenciaEnviada;
this.idPersona = window.localStorage.getItem("idPersona");
this.pagoEnviado = response.data.datos.envioComprobante;
}
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
.mar{
margin-left: 40px ;
margin-bottom: 12px;
@@ -459,7 +571,7 @@ input[type=button]:active, input[type=submit]:active, input[type=reset]:active
transform: scale(0.95);
}
input[type=text], input[type=password]{
input[type=text], input[type=number], input[type=password]{
background-color: #f6f6f6;
border: none;
color: #0d0d0d;
@@ -506,12 +618,12 @@ input[type=text], input[type=password]{
border-radius: 5px 5px 5px 5px;
}
input[type=text]:focus {
input[type=text]:focus, input[type=number]:focus {
background-color: #fff;
border-bottom: 2px solid #5fbae9;
}
input[type=text]:placeholder {
input[type=text]:placeholder,input[type=number]:placeholder {
color: #cccccc;
}