pcpuma_unam_operador/components/botones/BotonMulta.vue
2022-09-08 17:58:08 -05:00

108 lines
2.5 KiB
Vue

<template>
<b-field>
<b-button
type="is-danger"
:disabled="disabled"
@click="
$alertsGenericos.imprimirWarning(
$buefy,
'¿Estas segur@ de querer quitar la multa a este usuario?',
quitarMulta
)
"
v-if="institucionUsuario.multa"
expanded
>
Quitar multa
</b-button>
<!-- <b-button
type="is-link"
:disabled="disabled"
@click="
$alertsGenericos.imprimirWarning(
$buefy,
'¿Estas segur@ de querer multar a este usuario?',
multa
)
"
v-else
expanded
>
Multar
</b-button> -->
<!-- <b-button
v-if="
operador.tipoUsuario.id_tipo_usuario === 3 &&
!institucion.multa &&
usuario.instituciones[0]
"
class="my-5"
label="Multar usuario"
type="is-danger"
@click="multa()"
:disabled="!usuario.id_usuario"
expanded
/> -->
</b-field>
</template>
<script>
import axios from 'axios'
import MultaModalAdmin from '@/components/operador/MultaModalAdmin'
export default {
components: { MultaModalAdmin },
props: {
disabled: { type: Boolean, required: false, default: false },
buscar: { type: Function, required: true, default: () => {} },
updateIsLoading: { type: Function, required: true, default: () => {} },
institucionUsuario: { type: Object, required: true, default: () => ({}) },
},
methods: {
multa() {
const modalProps = {
operador: this.operador,
usuario: this.usuario,
updateIsLoading: this.updateIsLoading,
buscar: this.buscar,
}
this.$buefy.modal.open({
props: modalProps,
parent: this,
component: MultaModalAdmin,
hasModalCard: true,
customClass: 'custom-class custom-class-2',
trapFocus: true,
})
},
quitarMulta() {
const data = {
id_institucion_usuario: this.institucionUsuario.id_institucion_usuario,
}
this.updateIsLoading(true)
axios
.put(`${process.env.api}/multa`, data, this.$getToken.token())
.then((res) => {
this.buscar()
this.updateIsLoading(false)
this.$alertsGenericos.imprimirMensaje(this.$buefy, res.data.message)
})
.catch((err) => {
this.updateIsLoading(false)
this.$alertsGenericos.imprimirError(
this.$buefy,
this.$router,
err.response.data
)
})
},
},
}
</script>
<style></style>