2022-07-29 14:16:12 +00:00
|
|
|
<template>
|
|
|
|
<section class="mb-6">
|
|
|
|
<h3 class="is-size-4 mb-3">Crear carrito</h3>
|
|
|
|
|
|
|
|
<div class="box">
|
|
|
|
<div class="columns is-align-items-flex-end pl-0 pb-4">
|
|
|
|
<SelectModulo
|
2022-08-03 20:24:54 +00:00
|
|
|
columnSize="is-2"
|
2022-07-29 14:16:12 +00:00
|
|
|
:idInstitucion="idInstitucion"
|
2022-08-03 20:24:54 +00:00
|
|
|
:idModuloPadre="idModulo"
|
|
|
|
@modulo-seleccionado="(nuevoModulo) => (idModulo = nuevoModulo)"
|
2022-07-29 14:16:12 +00:00
|
|
|
/>
|
|
|
|
|
|
|
|
<SelectTipoCarrito
|
|
|
|
tipo="c"
|
2022-08-03 22:55:17 +00:00
|
|
|
:idTipoCarritoPadre="idTipoCarrito"
|
2022-07-29 14:16:12 +00:00
|
|
|
@tipo-carrito-seleccionado="
|
2022-08-03 22:55:17 +00:00
|
|
|
(nuevoTipoCarrito) => (idTipoCarrito = nuevoTipoCarrito)
|
2022-07-29 14:16:12 +00:00
|
|
|
"
|
|
|
|
/>
|
|
|
|
|
|
|
|
<SelectMarca
|
|
|
|
tipo="c"
|
2022-08-03 20:56:45 +00:00
|
|
|
:idMarcaPadre="idMarca"
|
|
|
|
@marca-seleccionada="(nuevaMarca) => (idMarca = nuevaMarca)"
|
2022-07-29 14:16:12 +00:00
|
|
|
/>
|
|
|
|
|
|
|
|
<SelectModelo
|
|
|
|
tipo="c"
|
2022-08-03 21:02:36 +00:00
|
|
|
:idModeloPadre="idModelo"
|
|
|
|
@modelo-seleccionado="(nuevoModelo) => (idModelo = nuevoModelo)"
|
2022-07-29 14:16:12 +00:00
|
|
|
/>
|
|
|
|
|
|
|
|
<BotonCrear
|
|
|
|
columnSize="is-3"
|
2022-08-03 22:55:17 +00:00
|
|
|
:disabled="!idMarca || !idModelo || !idModulo || !idTipoCarrito"
|
2022-07-29 14:16:12 +00:00
|
|
|
:crear="warning"
|
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</section>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import axios from 'axios'
|
|
|
|
import BotonCrear from '@/components/botones/BotonCrear'
|
|
|
|
import SelectMarca from '@/components/selects/SelectMarca'
|
|
|
|
import SelectModelo from '@/components/selects/SelectModelo'
|
2022-08-04 16:18:13 +00:00
|
|
|
import SelectModulo from '@/components/selects/SelectModulo'
|
2022-07-29 14:16:12 +00:00
|
|
|
import SelectTipoCarrito from '@/components/selects/SelectTipoCarrito'
|
|
|
|
|
|
|
|
export default {
|
|
|
|
components: {
|
|
|
|
BotonCrear,
|
|
|
|
SelectMarca,
|
|
|
|
SelectModelo,
|
|
|
|
SelectModulo,
|
|
|
|
SelectTipoCarrito,
|
|
|
|
},
|
|
|
|
props: {
|
|
|
|
updateActualizarTabla: { type: Function, required: true },
|
|
|
|
updateIsLoading: { type: Function, required: true },
|
|
|
|
idInstitucion: { type: Number, required: true, default: 0 },
|
|
|
|
},
|
|
|
|
data() {
|
|
|
|
return {
|
2022-08-03 20:56:45 +00:00
|
|
|
idMarca: 0,
|
2022-08-03 21:02:36 +00:00
|
|
|
idModelo: 0,
|
2022-08-03 20:24:54 +00:00
|
|
|
idModulo: 0,
|
2022-08-03 22:55:17 +00:00
|
|
|
idTipoCarrito: 0,
|
2022-07-29 14:16:12 +00:00
|
|
|
}
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
crearCarrito() {
|
|
|
|
const data = {
|
2022-08-05 12:29:37 +00:00
|
|
|
id_marca: this.idMarca,
|
|
|
|
id_modelo: this.idModelo,
|
2022-08-03 20:24:54 +00:00
|
|
|
id_modulo: this.idModulo,
|
2022-08-03 22:55:17 +00:00
|
|
|
id_tipo_carrito: this.idTipoCarrito,
|
2022-07-29 14:16:12 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
this.updateIsLoading(true)
|
|
|
|
axios
|
|
|
|
.post(`${process.env.api}/carrito`, data, this.$getToken.token())
|
|
|
|
.then((res) => {
|
2022-08-03 20:56:45 +00:00
|
|
|
this.idMarca = 0
|
2022-08-03 21:02:36 +00:00
|
|
|
this.idModelo = 0
|
2022-08-03 22:55:17 +00:00
|
|
|
this.idModulo = 0
|
|
|
|
this.idTipoCarrito = 0
|
2022-07-29 14:16:12 +00:00
|
|
|
this.updateActualizarTabla(true)
|
|
|
|
this.updateIsLoading(false)
|
|
|
|
this.$alertsGenericos.imprimirMensaje(this.$buefy, res.data.message)
|
|
|
|
})
|
|
|
|
.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-29 14:16:12 +00:00
|
|
|
})
|
|
|
|
},
|
|
|
|
warning() {
|
2022-08-03 22:55:17 +00:00
|
|
|
if (this.idMarca || this.idModelo || this.idModulo || this.idTipoCarrito)
|
2022-07-29 14:16:12 +00:00
|
|
|
this.$alertsGenericos.imprimirWarning(
|
|
|
|
this.$buefy,
|
|
|
|
'¿Esta segur@ de querer crear este carrito?',
|
|
|
|
this.crearCarrito
|
|
|
|
)
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
</script>
|