diff --git a/APP/nuxt.config.js b/APP/nuxt.config.js index 8f08af1..3d6d3fe 100644 --- a/APP/nuxt.config.js +++ b/APP/nuxt.config.js @@ -53,6 +53,7 @@ export default { '@nuxtjs/pwa', '@nuxtjs/axios', 'nuxt-highcharts', + ], @@ -60,8 +61,8 @@ export default { // Axios module configuration (https://go.nuxtjs.dev/config-axios) axios: { //baseURL: "http://192.168.1.111:4000/api" - // baseURL:"http://localhost:4000/api" - baseURL:"https://finanzasm.herokuapp.com/api" + baseURL:"http://localhost:4000/api" + //baseURL:"https://finanzasm.herokuapp.com/api" }, /* diff --git a/APP/pages/creditos.vue b/APP/pages/creditos.vue index 3cac153..214eea6 100644 --- a/APP/pages/creditos.vue +++ b/APP/pages/creditos.vue @@ -82,7 +82,7 @@ - + @@ -193,6 +193,9 @@ export default { }; }, methods: { + cell(row, column, cellValue, index) { + return this.formatMoneda(cellValue); + }, saveCredito() { const axiosHeader = { headers: { diff --git a/APP/pages/presupuesto.vue b/APP/pages/presupuesto.vue index 452b0f9..d70b709 100644 --- a/APP/pages/presupuesto.vue +++ b/APP/pages/presupuesto.vue @@ -53,7 +53,7 @@ - + @@ -153,6 +153,9 @@ export default { }; }, methods: { + cell(row, column, cellValue, index) { + return this.formatMoneda(cellValue); + }, savePresupuesto() { const axiosHeader = { headers: { diff --git a/APP/pages/resumen.vue b/APP/pages/resumen.vue index 05b949f..4b4325d 100644 --- a/APP/pages/resumen.vue +++ b/APP/pages/resumen.vue @@ -1,14 +1,167 @@ - \ No newline at end of file diff --git a/index.js b/index.js index a35deae..c862664 100644 --- a/index.js +++ b/index.js @@ -24,6 +24,7 @@ app.set('port',process.env.PORT || 4000); app.use(cors()); app.use(express.static('public')) //Rutas +app.use('/api',require('./routes/resumen')); app.use('/api',require('./routes/users')); app.use('/api',require('./routes/compras')) app.use('/api',require('./routes/ingresos')) @@ -31,6 +32,7 @@ app.use('/api',require('./routes/presupuesto')) app.use('/api',require('./routes/creditos')) app.use('/api',require('./routes/categorias')) app.use('/api',require('./routes/metodos_pago')) + app.use("*",(req,res)=>{res.redirect("/")}) app.disable('x-powered-by'); module.exports = app; diff --git a/routes/resumen.js b/routes/resumen.js new file mode 100644 index 0000000..dd66ad7 --- /dev/null +++ b/routes/resumen.js @@ -0,0 +1,77 @@ +const router=require('express').Router(); +const ingresos = require('../models/ingresos'); +const Compras = require('../models/compras'); +const { checkAuth } = require("../middlewares/authentication"); + + +router.get("/resumen_compras", checkAuth, async (req, res) => { + var compras_; + var totalCompras=0; + let miFiltro = req.get('filtro'); + const filtros = { + fecha: { $regex: miFiltro, $options: "i" }, + }; + + compras_ = await Compras.find({$and:[{ user: req.userData._id },filtros]}).sort({ + fecha: "desc", + }); + totalCompras = compras_.reduce((acx,x)=> acx=acx+x.valor,0); + + return res.send( + { + status:"ok", + data:totalCompras + + } + ) + }); + + router.get("/resumen_ingresos", checkAuth, async (req, res) => { + var ingresos_; + var totalIngresos=0; + let miFiltro = req.get('filtro'); + const filtros = { + fecha: { $regex: miFiltro, $options: "i" }, + }; + + ingresos_ = await ingresos.find({$and:[{ user: req.userData._id },filtros]}).sort({ + fecha: "desc", + }); + totalIngresos = ingresos_.reduce((acx,x)=> acx=acx+x.valor,0); + + return res.send( + { + status:"ok", + data:totalIngresos + + } + ) + }); + + + + router.get('/resumen_categorias',checkAuth,async (req,res)=>{ + + var compras_; + var labels =[]; + var datos =[]; + let miFiltro = req.get('filtro'); + const filtros = { + fecha: { $regex: miFiltro, $options: "i" }, + }; + compras_ = await Compras.aggregate([ + {$match: { $and: [{ user:req.userData._id}, filtros] }}, + {$group:{_id:{categoria:"$categoria"},total:{$sum:"$valor"}}} + ]); + compras_.forEach(element => { + //console.log(element.total) + labels.push(element._id.categoria) + datos.push(element.total) + }); + + res.json({"labels":labels,"datos":datos}); +}); + + + +module.exports = router; \ No newline at end of file