<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>
