From e569d7cdfa40df35d3d7d1834ef04741cb2ca41e Mon Sep 17 00:00:00 2001 From: arturo guerrero Date: Wed, 4 Sep 2019 12:55:24 -0500 Subject: [PATCH] forzar y borrar huella --- src/components/usuario/Devolucion.vue | 56 ++++++++------------------- src/layout/Header.vue | 12 ++---- src/layout/Usuario.vue | 29 ++++++++++++-- src/store.js | 4 +- 4 files changed, 49 insertions(+), 52 deletions(-) diff --git a/src/components/usuario/Devolucion.vue b/src/components/usuario/Devolucion.vue index dd7c708..3b3db29 100644 --- a/src/components/usuario/Devolucion.vue +++ b/src/components/usuario/Devolucion.vue @@ -2,9 +2,9 @@ section .columns .column.is-12 - p.is-size-3 Devolución + p.is-size-3 Devolución label.checkbox - input(v-model="multa" type="checkbox") + input(v-model="multa" type="checkbox" v-if="permiso") span Multar br br @@ -15,18 +15,18 @@ th Equipo th Tipo th No Inventario - th Multa - th Regresar + th(v-if="permiso") Multa + th(v-if="permiso") Regresar tbody tr(v-for="p in prestamo") - td {{p.detalles[0].equipo.carrito.nombre}} - td {{p.detalles[0].equipo.equipo_carrito}} - td {{p.equipo}} - td {{p.detalles[0].equipo.no_inventario}} - td + td {{p.Equipo.Carrito.alias}} + td {{p.Equipo.equipo_carrito}} + td {{p.Equipo.Tipo.nombre}} + td {{p.Equipo.no_inventario}} + td(v-if="permiso") datepicker(v-model="dateBan") - td - a.button.is-link.is-outlined(v-on:click="regresar(p.idUsuario,p.id)") + td(v-if="permiso") + a.button.is-link.is-outlined(v-on:click="regresar(p.idPrestamo)" v-if="permiso") span.icon.is-small font-awesome-icon(icon="undo") @@ -37,62 +37,40 @@ import Datepicker from 'vuejs-datepicker' const axios = require('axios') export default { components: { Datepicker }, - props: ['usuario'], + // eslint-disable-next-line vue/require-prop-types + props: ['usuario', 'prestamo', 'permiso'], data () { return { - prestamo: {}, dateBan: new Date(), multa: false } }, - mounted () { - axios.get(api.url + '/prestamo/' + this.usuario, { - headers: { - 'token': window.sessionStorage.pcpumaT - } - }) - .then(response => { - console.log(response) - this.prestamo = response.data.data - }) - .catch(error => { - swal('Error', error.response.data.err, 'error') - }) - }, watch: { usuario: function () { this.date = new Date() } }, methods: { - regresar: function (usr, pre) { + regresar: function (pre) { axios({ method: 'put', url: api.url + '/forzarDevolucion', data: { - idUsuario: usr, - id: pre, + idPrestamo: pre, multa: this.multa, dateBan: this.dateBan }, headers: { - 'token': window.sessionStorage.pcpumaT + 'token': this.$store.getters.token } }) .then(res => { swal('Exito', 'Peticion exitosa ', 'success') }) .catch(err => { - swal('Error', err.response.data.err, 'error') + swal('Error', 'Error al devolver', 'error') }) } - }, - computed: { - niceDate () { - if (this.date) { - return this.date.toLocaleDateString() - } - } } } diff --git a/src/layout/Header.vue b/src/layout/Header.vue index 3841a62..c203723 100644 --- a/src/layout/Header.vue +++ b/src/layout/Header.vue @@ -11,6 +11,7 @@ router-link.navbar-item(to="/multa") Multas .navbar-end .navbar-item + p {{`Bienvenido : ${this.usuario}`}} span.tag.is-danger.is-medium(v-if=" env === 'development' ") Localhost span.tag.is-danger.is-medium(v-else-if=" env === 'TEST' ") Test .navbar-item @@ -21,7 +22,8 @@ export default { data () { return { - env: process.env.NODE_ENV + env: process.env.NODE_ENV, + usuario: this.$store.getters.operador } }, methods: { @@ -29,14 +31,6 @@ export default { this.$store.commit('close') this.$router.push('login') } - }, - computed: { - login: function () { - if (window.sessionStorage.pcpumaT) { - return true - } - return false - } } } diff --git a/src/layout/Usuario.vue b/src/layout/Usuario.vue index b0c1822..efab8b8 100644 --- a/src/layout/Usuario.vue +++ b/src/layout/Usuario.vue @@ -28,11 +28,13 @@ .field input#switch.switch.is-info(type="checkbox" v-model="data.ban" v-on:click="ban()") label(for="switch") Baneado + .field + button.button.is-danger( v-if="permiso" v-on:click="huella()") Borrar Huella .column.is-7 div(v-if="prest.length == 0") prestamo(v-bind:usuario="buscar") div(v-else) - devolucion(v-bind:usuario="buscar") + devolucion(v-bind:usuario="buscar" v-bind:prestamo="prest" v-bind:permiso="permiso") @@ -50,7 +52,8 @@ export default { return { buscar: '', data: {}, - prest: '' + prest: '', + permiso: this.$store.getters.permiso } }, methods: { @@ -64,7 +67,7 @@ export default { .then(res1 => { // console.log(response) this.data = res1.data - return axios.get(api.url + '/prestamo/' + this.buscar, { + return axios.get(api.url + '/prestamo?usuario=' + this.buscar, { headers: { 'token': this.$store.getters.token } @@ -104,6 +107,26 @@ export default { .catch(error => { console.log(error) }) + }, + huella: function () { + axios({ + method: 'put', + url: api.url + '/usuario/' + this.data.idUsuario, + data: { + huella: 1 + }, + headers: { + 'token': this.$store.getters.token + } + }) + .then(res => { + console.log(res) + this.data = res.data + swal('Exito','Huella borrada' , 'success') + }) + .catch(error => { + console.log(error) + }) } } } diff --git a/src/store.js b/src/store.js index 89aacfc..ac46621 100644 --- a/src/store.js +++ b/src/store.js @@ -12,7 +12,9 @@ const store = new Vuex.Store({ isLoggedIn: state => !!state.session.token, token: state => state.session.token, kiosko: state => state.kiosko, - operador : state => state.session.idOperador + operador : state => state.session.idOperador, + permiso : state => state.session.permiso, + operador : state => state.session.usuario }, mutations: { login (state, payload = {}) {