69 lines
1.9 KiB
Vue
69 lines
1.9 KiB
Vue
|
<script>
|
||
|
import axios from "axios";
|
||
|
|
||
|
export default {
|
||
|
name: "PedidosAdminFilaCaracteristica",
|
||
|
props: {
|
||
|
caracteristica: Object
|
||
|
},
|
||
|
data: {
|
||
|
gdc: undefined
|
||
|
},
|
||
|
watch: {
|
||
|
'$root.gdc' : {
|
||
|
handler(newValue) {
|
||
|
if (newValue) {
|
||
|
this.gdc = newValue;
|
||
|
this.obtenerValor();
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
},
|
||
|
methods: {
|
||
|
toggleActivacion() {
|
||
|
const id = this.caracteristica.id;
|
||
|
axios.post(`/api/grupos-de-compra/${this.gdc}/${id}`)
|
||
|
.then(response => {
|
||
|
this.caracteristica.habilitada = response.data[id];
|
||
|
this.$root[id] = response.data[id];
|
||
|
});
|
||
|
},
|
||
|
obtenerValor() {
|
||
|
const id = this.caracteristica.id;
|
||
|
axios.get(`/api/grupos-de-compra/${this.gdc}/${id}`)
|
||
|
.then(response => {
|
||
|
this.caracteristica.habilitada = response.data[id];
|
||
|
this.$root[id] = response.data[id];
|
||
|
});
|
||
|
},
|
||
|
},
|
||
|
mounted() {
|
||
|
if (this.$root.gdc) {
|
||
|
this.gdc = this.$root.gdc;
|
||
|
this.obtenerValor(this);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
</script>
|
||
|
|
||
|
<template>
|
||
|
<tr>
|
||
|
<td>{{ caracteristica.nombre }}</td>
|
||
|
<td>
|
||
|
<div class="field">
|
||
|
<input type="checkbox" class="switch is-rounded is-success"
|
||
|
:id="'switch-'+caracteristica.id"
|
||
|
:checked="caracteristica.habilitada"
|
||
|
@change="toggleActivacion(caracteristica)">
|
||
|
<label :for="'switch-'+caracteristica.id">
|
||
|
<span class="is-hidden-mobile">{{ caracteristica.habilitada ? 'Habilitada' : 'Deshabilitada' }}</span>
|
||
|
</label>
|
||
|
</div>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</template>
|
||
|
|
||
|
<style scoped>
|
||
|
|
||
|
</style>
|