marca y modelo

This commit is contained in:
Andres2908 2022-07-22 19:55:56 -05:00
parent 3900146028
commit 4967949d59
4 changed files with 148 additions and 60 deletions

View File

@ -18,11 +18,11 @@
<p class="subtitle is-4">Carrito</p>
<CrearModelo :admin="admin" :updateIsLoading="updateIsLoading" />
<CrearMarcaModeloC :admin="admin" :updateIsLoading="updateIsLoading" />
<p class="subtitle is-4">Equipo</p>
<CrearModeloEquipo :admin="admin" :updateIsLoading="updateIsLoading" />
<CrearMarcaModeloE :admin="admin" :updateIsLoading="updateIsLoading" />
<p class="subtitle is-4">Crear tipo de usuario</p>
@ -35,8 +35,8 @@ import CrearInfraccion from '@/components/admin/CrearInfraccion'
import CrearInstiPrograma from '@/components/admin/CrearInstiProgra'
import CrearTipoEntrada from '@/components/admin/CrearTipoEntrada'
import CrearTipoCarrito from '@/components/admin/CrearTipoCarrito'
import CrearModelo from '@/components/admin/CrearModelo'
import CrearModeloEquipo from '@/components/admin/CrearModeloEquipo'
import CrearMarcaModeloC from '@/components/admin/CrearMarcaModeloC'
import CrearMarcaModeloE from '@/components/admin/CrearMarcaModeloE'
import CrearTipoUsuario from '@/components/admin/CrearTipoUsuario'
export default {
@ -45,9 +45,9 @@ export default {
CrearTipoEntrada,
CrearInstiPrograma,
CrearTipoCarrito,
CrearModelo,
CrearMarcaModeloC,
CrearTipoUsuario,
CrearModeloEquipo,
CrearMarcaModeloE,
},
props: {
admin: { type: Object, require: true },

View File

@ -5,60 +5,59 @@
<b-input
type="text"
placeholder="Marca del carrito"
v-model="modelo"
v-model="marca"
rounded
@keyup.enter.native="
$alertsGenericos.imprimirWarning(
$buefy,
'¿Está segur@ de querer crear este marca de carrito?',
crearModelo
crearMarca
)
"
/>
</b-field>
<b-button
type="is-info"
class="column is-4"
label="Crear"
type="is-info"
@click="
$alertsGenericos.imprimirWarning(
$buefy,
'¿Esta segur@ de querer crear este marca de carrito?',
crearModelo
crearMarca
)
"
:disabled="!modelo"
:disabled="!marca"
expanded
rounded
>
Crear
</b-button>
/>
</dir>
<b-collapse
aria-id="contentIdForA11y3"
class="card"
animation="slide"
v-model="active"
v-model="activeMarca"
>
<template #trigger>
<div
class="card-header"
role="button"
aria-controls="contentIdForA11y3"
:aria-expanded="active"
:aria-expanded="activeMarca"
>
<p class="card-header-title">Tabla de marcas de carritos</p>
<a class="card-header-icon">
<b-icon :icon="active ? 'menu-down' : 'menu-up'"> </b-icon>
<b-icon :icon="activeMarca ? 'menu-down' : 'menu-up'"> </b-icon>
</a>
</div>
</template>
<TablaOpcionesCreadas
v-if="active"
:data="modelos"
:columnaModelo="true"
v-if="activeMarca"
:data="marcas"
:columnaMarcaC="true"
/>
</b-collapse>
@ -80,8 +79,9 @@
</b-field>
<b-button
type="is-info"
class="column is-4"
label="Crear"
type="is-info"
@click="
$alertsGenericos.imprimirWarning(
$buefy,
@ -92,35 +92,33 @@
:disabled="!modelo"
expanded
rounded
>
Crear
</b-button>
/>
</dir>
<b-collapse
aria-id="contentIdForA11y3"
class="card"
animation="slide"
v-model="active"
v-model="activeModelo"
>
<template #trigger>
<div
class="card-header"
role="button"
aria-controls="contentIdForA11y3"
:aria-expanded="active"
:aria-expanded="activeModelo"
>
<p class="card-header-title">Tabla de modelos de carritos</p>
<a class="card-header-icon">
<b-icon :icon="active ? 'menu-down' : 'menu-up'"> </b-icon>
<b-icon :icon="activeModelo ? 'menu-down' : 'menu-up'"> </b-icon>
</a>
</div>
</template>
<TablaOpcionesCreadas
v-if="active"
v-if="activeModelo"
:data="modelos"
:columnaModelo="true"
:columnaModeloC="true"
/>
</b-collapse>
</div>
@ -140,12 +138,25 @@ export default {
},
data() {
return {
active: false,
activeMarca: false,
marcas: [],
marca: '',
activeModelo: false,
modelos: [],
modelo: '',
}
},
methods: {
obtenerCatalogoMarca() {
axios
.get(`${process.env.api}/marca?tipo=c`, this.$getToken.token())
.then((res) => {
this.marcas = res.data
})
.catch((err) => {
this.$alertsGenericos.imprimirError(this.$buefy, err.response.data)
})
},
obtenerCatalogoModelo() {
axios
.get(`${process.env.api}/modelo?tipo=c`, this.$getToken.token())
@ -156,9 +167,29 @@ export default {
this.$alertsGenericos.imprimirError(this.$buefy, err.response.data)
})
},
crearMarca() {
const data = {
marca: this.marca,
tipo: 'c',
}
this.updateIsLoading(true)
axios
.post(`${process.env.api}/marca/`, data, this.$getToken.token())
.then((res) => {
this.updateIsLoading(false)
this.$alertsGenericos.imprimirMensaje(this.$buefy, res.data.message)
this.obtenerCatalogoMarca()
this.marca = ''
})
.catch((err) => {
this.updateIsLoading(false)
this.$alertsGenericos.imprimirError(this.$buefy, err.response.data)
})
},
crearModelo() {
const data = {
modelo: this.modelo,
tipo: 'c',
}
this.updateIsLoading(true)
axios
@ -176,6 +207,7 @@ export default {
},
},
created() {
this.obtenerCatalogoMarca()
this.obtenerCatalogoModelo()
},
}

View File

@ -1,64 +1,63 @@
<template>
<div class="box">
<dir class="columns is-align-items-flex-end pl-0 pb-4">
<dir class="columns is-align-items-flex-end pl-0 pb-4 mt-4">
<b-field class="column mb-0 pb-0" label="Marca">
<b-input
type="text"
placeholder="Marca del equipo"
v-model="modelo"
v-model="marca"
rounded
@keyup.enter.native="
$alertsGenericos.imprimirWarning(
$buefy,
'¿Está segur@ de querer crear este marca de equipo?',
crearModelo
crearMarca
)
"
/>
</b-field>
<b-button
type="is-info"
class="column is-4"
label="Crear"
type="is-info"
@click="
$alertsGenericos.imprimirWarning(
$buefy,
'¿Esta segur@ de querer crear este marca de equipo?',
crearModelo
crearMarca
)
"
:disabled="!modelo"
:disabled="!marca"
expanded
rounded
>
Crear
</b-button>
/>
</dir>
<b-collapse
aria-id="contentIdForA11y3"
class="card"
animation="slide"
v-model="active"
v-model="activeMarca"
>
<template #trigger>
<div
class="card-header"
role="button"
aria-controls="contentIdForA11y3"
:aria-expanded="active"
:aria-expanded="activeMarca"
>
<p class="card-header-title">Tabla de marcas de equipos</p>
<p class="card-header-title">Tabla de marcas de carritos</p>
<a class="card-header-icon">
<b-icon :icon="active ? 'menu-down' : 'menu-up'"> </b-icon>
<b-icon :icon="activeMarca ? 'menu-down' : 'menu-up'"> </b-icon>
</a>
</div>
</template>
<TablaOpcionesCreadas
v-if="active"
:data="modelos"
:columnaModelo="true"
v-if="activeMarca"
:data="marcas"
:columnaMarcaE="true"
/>
</b-collapse>
@ -80,8 +79,9 @@
</b-field>
<b-button
type="is-info"
class="column is-4"
label="Crear"
type="is-info"
@click="
$alertsGenericos.imprimirWarning(
$buefy,
@ -92,35 +92,33 @@
:disabled="!modelo"
expanded
rounded
>
Crear
</b-button>
/>
</dir>
<b-collapse
aria-id="contentIdForA11y3"
class="card"
animation="slide"
v-model="active"
v-model="activeModelo"
>
<template #trigger>
<div
class="card-header"
role="button"
aria-controls="contentIdForA11y3"
:aria-expanded="active"
:aria-expanded="activeModelo"
>
<p class="card-header-title">Tabla de modelos de equipos</p>
<p class="card-header-title">Tabla de modelos de carritos</p>
<a class="card-header-icon">
<b-icon :icon="active ? 'menu-down' : 'menu-up'"> </b-icon>
<b-icon :icon="activeModelo ? 'menu-down' : 'menu-up'"> </b-icon>
</a>
</div>
</template>
<TablaOpcionesCreadas
v-if="active"
v-if="activeModelo"
:data="modelos"
:columnaModelo="true"
:columnaModeloE="true"
/>
</b-collapse>
</div>
@ -140,15 +138,28 @@ export default {
},
data() {
return {
active: false,
activeMarca: false,
marcas: [],
marca: '',
activeModelo: false,
modelos: [],
modelo: '',
}
},
methods: {
obtenerCatalogoMarca() {
axios
.get(`${process.env.api}/marca?tipo=e`, this.$getToken.token())
.then((res) => {
this.marcas = res.data
})
.catch((err) => {
this.$alertsGenericos.imprimirError(this.$buefy, err.response.data)
})
},
obtenerCatalogoModelo() {
axios
.get(`${process.env.api}/modelo?tipo=c`, this.$getToken.token())
.get(`${process.env.api}/modelo?tipo=e`, this.$getToken.token())
.then((res) => {
this.modelos = res.data
})
@ -156,9 +167,29 @@ export default {
this.$alertsGenericos.imprimirError(this.$buefy, err.response.data)
})
},
crearMarca() {
const data = {
marca: this.marca,
tipo: 'e',
}
this.updateIsLoading(true)
axios
.post(`${process.env.api}/marca/`, data, this.$getToken.token())
.then((res) => {
this.updateIsLoading(false)
this.$alertsGenericos.imprimirMensaje(this.$buefy, res.data.message)
this.obtenerCatalogoMarca()
this.marca = ''
})
.catch((err) => {
this.updateIsLoading(false)
this.$alertsGenericos.imprimirError(this.$buefy, err.response.data)
})
},
crearModelo() {
const data = {
modelo: this.modelo,
tipo: 'e',
}
this.updateIsLoading(true)
axios
@ -176,6 +207,7 @@ export default {
},
},
created() {
this.obtenerCatalogoMarca()
this.obtenerCatalogoModelo()
},
}

View File

@ -35,10 +35,31 @@
centered
>{{ props.row.letra }}</b-table-column
>
<b-table-column
label="Marca"
v-slot="props"
v-if="columnaMarcaC"
centered
>{{ props.row.marca }}</b-table-column
>
<b-table-column
label="Módelo"
v-slot="props"
v-if="columnaModelo"
v-if="columnaModeloC"
centered
>{{ props.row.modelo }}</b-table-column
>
<b-table-column
label="Marca"
v-slot="props"
v-if="columnaMarcaE"
centered
>{{ props.row.marca }}</b-table-column
>
<b-table-column
label="Módelo"
v-slot="props"
v-if="columnaModeloE"
centered
>{{ props.row.modelo }}</b-table-column
>
@ -61,7 +82,10 @@ export default {
columnaTipoEntrada: { typeof: Boolean, required: false, default: false },
columnaTipoCarrito: { typeof: Boolean, required: false, default: false },
columnaLetra: { typeof: Boolean, required: false, default: false },
columnaModelo: { typeof: Boolean, required: false, default: false },
columnaMarcaC: { typeof: Boolean, required: false, default: false },
columnaModeloC: { typeof: Boolean, required: false, default: false },
columnaMarcaE: { typeof: Boolean, required: false, default: false },
columnaModeloE: { typeof: Boolean, required: false, default: false },
columnaTipoUsuario: { typeof: Boolean, required: false, default: false },
},
data() {