presupuestos
This commit is contained in:
@@ -30,6 +30,7 @@
|
||||
<Fpresupuesto
|
||||
:newPresupuesto="newPresupuesto"
|
||||
:savePresupuesto="savePresupuesto"
|
||||
:isOpen="isOpen"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -40,7 +41,7 @@
|
||||
v-if="selectedPresupuesto.nombrePresupuesto !== ''"
|
||||
>
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<div class="col-8">
|
||||
<el-table
|
||||
:data="selectedPresupuesto.datos"
|
||||
border
|
||||
@@ -65,7 +66,7 @@
|
||||
icon
|
||||
size="sm"
|
||||
class="btn-link"
|
||||
@click="deleteIngreso(row._id)"
|
||||
@click="deleteItem(row._id)"
|
||||
>
|
||||
<i class="el-icon-delete-solid"></i>
|
||||
</base-button>
|
||||
@@ -75,7 +76,7 @@
|
||||
</el-table>
|
||||
</div>
|
||||
|
||||
<div class="col-6">
|
||||
<div class="col-4">
|
||||
<base-input v-model="newItem.detalle" label="Descripción">
|
||||
</base-input>
|
||||
<base-input v-model="newItem.valor" type="Number"> </base-input>
|
||||
@@ -127,6 +128,8 @@ export default {
|
||||
middleware: "authenticated",
|
||||
data() {
|
||||
return {
|
||||
isOpen: false,
|
||||
|
||||
newPresupuesto: {
|
||||
nombrePresupuesto: "",
|
||||
},
|
||||
@@ -158,20 +161,28 @@ export default {
|
||||
};
|
||||
this.newPresupuesto.nombrePresupuesto = this.newPresupuesto.nombrePresupuesto.trim();
|
||||
const toSend = this.newPresupuesto;
|
||||
console.log(axiosHeader.data);
|
||||
this.$axios
|
||||
.post("/presupuesto", toSend, axiosHeader)
|
||||
.then((res) => {
|
||||
console.log(res.data.status);
|
||||
this.$notify({
|
||||
type: "success",
|
||||
icon: "tim-icons icon-check-2",
|
||||
message: "Presupuesto Creado",
|
||||
});
|
||||
this.isOpen = false;
|
||||
this.getPresupuesto();
|
||||
})
|
||||
.catch((e) => console.log(e));
|
||||
.catch((e) => {
|
||||
this.$notify({
|
||||
type: "danger",
|
||||
icon: "tim-icons icon-alert-circle-exc",
|
||||
message: "El presupuesto ya existe :(",
|
||||
});
|
||||
return;
|
||||
});
|
||||
},
|
||||
addItem() {
|
||||
//this.selectedPresupuesto.datos.push(JSON.parse(JSON.stringify(this.newItem)))
|
||||
console.log(this.newItem._id);
|
||||
var nameSelected = this.selectedPresupuestoName;
|
||||
console.log(nameSelected);
|
||||
|
||||
const axiosHeader = {
|
||||
headers: {
|
||||
token: this.$store.state.auth.token,
|
||||
@@ -182,18 +193,45 @@ export default {
|
||||
.put("/presupuesto", toSend, axiosHeader)
|
||||
.then((res) => {
|
||||
console.log(res.data.status);
|
||||
this.getPresupuesto();
|
||||
this.selectedPresupuestoName = nameSelected;
|
||||
console.log(this.selectedPresupuestoName);
|
||||
this.selectedPresupuesto = this.presupuestos.find(
|
||||
(x) => x.nombrePresupuesto === this.selectedPresupuestoName
|
||||
);
|
||||
this.newItem._id = this.selectedPresupuesto._id;
|
||||
this.getItems();
|
||||
})
|
||||
.catch((e) => console.log(e));
|
||||
|
||||
this.sumItems();
|
||||
},
|
||||
deleteItem(item_id) {
|
||||
const axiosHeader = {
|
||||
headers: {
|
||||
token: this.$store.state.auth.token,
|
||||
},
|
||||
params: {
|
||||
idPresupuesto: this.selectedPresupuesto._id,
|
||||
iditem: item_id,
|
||||
},
|
||||
};
|
||||
this.$axios
|
||||
.delete("/presupuestoitem", axiosHeader)
|
||||
.then((res) => {
|
||||
this.getItems();
|
||||
})
|
||||
.catch((e) => console.log(e));
|
||||
},
|
||||
getItems() {
|
||||
const axiosHeader = {
|
||||
headers: {
|
||||
token: this.$store.state.auth.token,
|
||||
},
|
||||
params: {
|
||||
presupuesto_id: this.selectedPresupuesto._id,
|
||||
},
|
||||
};
|
||||
this.$axios
|
||||
.get("/presupuesto_items", axiosHeader)
|
||||
.then((res) => {
|
||||
this.selectedPresupuesto.datos = res.data.data;
|
||||
this.sumItems();
|
||||
})
|
||||
.catch((e) => console.log(e));
|
||||
},
|
||||
|
||||
sumItems() {
|
||||
this.totalIngresos = this.selectedPresupuesto.datos.reduce(
|
||||
(acc, x) => (x.tipo === "Ingreso" ? acc + Number(x.valor) : acc),
|
||||
@@ -226,11 +264,10 @@ export default {
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
this.$axios
|
||||
.get("/presupuesto", axiosHeader)
|
||||
.then((res) => {
|
||||
this.presupuestos=[]
|
||||
this.presupuestos = [];
|
||||
if (res.data.data.length) {
|
||||
this.presupuestos = res.data.data;
|
||||
this.selectedPresupuesto = this.presupuestos[0];
|
||||
@@ -263,22 +300,19 @@ export default {
|
||||
.delete("/presupuesto", axiosHeader)
|
||||
.then((res) => {
|
||||
console.log(res.data);
|
||||
|
||||
|
||||
this.selectedPresupuesto = {
|
||||
_id: "",
|
||||
nombrePresupuesto: "",
|
||||
datos: [],
|
||||
}
|
||||
this.selectedPresupuestoName=""
|
||||
this.getPresupuesto();
|
||||
|
||||
};
|
||||
this.selectedPresupuestoName = "";
|
||||
this.getPresupuesto();
|
||||
})
|
||||
.catch((e) => console.log(e));
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
// this.newPresupuesto.fecha = this.$store.state.fecha;
|
||||
|
||||
this.getPresupuesto();
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user