pcpuma_unam_operador/components/tablas/TablaCarrerasProgramas.vue

74 lines
2.0 KiB
Vue
Raw Normal View History

2022-07-25 12:49:16 +00:00
<template>
<b-table
2022-07-29 01:04:17 +00:00
class="pb-6"
2022-07-26 21:06:12 +00:00
:data="carrerasProgramas"
2022-07-25 12:49:16 +00:00
:loading="isLoadingTable"
:per-page="25"
:total="total"
hoverable
paginated
striped
>
<b-table-column field="carrera" label="Carrera" v-slot="props" centered>
2022-07-25 22:59:36 +00:00
<p>{{ props.row.institucionCarrera.carrera.carrera }}</p>
2022-07-25 12:49:16 +00:00
</b-table-column>
<b-table-column field="programa" label="Programa" v-slot="props" centered>
2022-07-25 22:59:36 +00:00
<p>{{ props.row.programa.programa }}</p>
2022-07-25 12:49:16 +00:00
</b-table-column>
<b-table-column field="eliminar" label="Eliminar" v-slot="props" centered>
2022-07-25 22:59:36 +00:00
<BotonEliminar
:eliminar="eliminarCarreraPrograma"
:row="props.row"
:msjWarning="`¿Estás segur@ de querer eliminar esta asignación de software?`"
/>
2022-07-25 12:49:16 +00:00
</b-table-column>
</b-table>
</template>
<script>
2022-07-26 21:06:12 +00:00
import axios from 'axios'
2022-07-25 12:49:16 +00:00
import BotonEliminar from '@/components/botones/BotonEliminar'
export default {
components: { BotonEliminar },
props: {
2022-07-26 21:06:12 +00:00
carrerasProgramas: { type: Array, required: true, default: () => [] },
2022-07-25 12:49:16 +00:00
isLoadingTable: { type: Boolean, required: true, default: false },
obtenerCarrerasProgramas: {
type: Function,
required: true,
default: () => {},
},
updateIsLoading: { type: Function, required: true, default: () => {} },
total: { type: Number, required: true, default: 0 },
},
methods: {
eliminarCarreraPrograma(carreraPrograma) {
this.updateIsLoading(true)
axios
.delete(
`${process.env.api}/carrera-programa`,
this.$getToken.tokenDelete({
id_carrera_programa: carreraPrograma.id_carrera_programa,
})
)
.then((res) => {
this.obtenerCarrerasProgramas()
this.updateIsLoading(false)
2022-07-25 22:59:36 +00:00
this.$alertsGenericos.imprimirMensaje(this.$buefy, res.data.message)
2022-07-25 12:49:16 +00:00
})
.catch((err) => {
this.updateIsLoading(false)
2022-08-05 23:41:37 +00:00
this.$alertsGenericos.imprimirError(
this.$buefy,
this.$router,
err.response.data
)
2022-07-25 12:49:16 +00:00
})
},
},
}
</script>