Files
dbois/public/js/lib/modules/dashboard/dashboardModule.js
T
2020-01-17 12:04:29 +01:00

101 lines
3.4 KiB
JavaScript

/**
* Created by Pensare Software.
* User: Theo Weijmer
* Date: 31/10/2019
* Time: 14:31
*/
dbo.dashboardInit = function () {
if (dbo.dashboardModel !== undefined) {
dbo.dashboardModel.init()
} else {
dbo.dashboardModel = {
owpThisYear : ko.observable(null),
owpNextYear : ko.observable(null),
owpTotal : ko.observable(null),
revenuesNextyear : ko.observable(null),
totalRevenues : ko.observable(null),
outstanding : ko.observable(null),
toInvoice : ko.observable(null),
openCosts : ko.observable(null),
revenues : ko.observable(null),
revenues : ko.observable(null),
revenueCurrentYear : ko.observable(null),
revenuesThisYear : ko.observable(null),
billingOverview : ko.observableArray([]),
showInvoiceOverview: ko.observable(false),
openInvoices : ko.observable(null),
init: function () {
var self = dbo.dashboardModel
dbo.dashboardDataservice.getOwhp(function (data) {
var outstandings = self.getOutstandingTotal(data.outstandings)
var revCurYear = Number(data.currentFinancialYear) + Number(data.totalOwp)
self.owpThisYear(dbo.helpers.thousandSeparator(data.currentFinancialYear))
self.owpNextYear(dbo.helpers.thousandSeparator(data.owpNextyear))
self.owpTotal(dbo.helpers.thousandSeparator(data.totalOwp))
self.revenuesNextyear(dbo.helpers.thousandSeparator(data.revenuesNextyear))
self.totalRevenues(dbo.helpers.thousandSeparator(data.totalRevenues))
self.openInvoices(dbo.helpers.thousandSeparator(outstandings.openInvoices))
self.toInvoice(dbo.helpers.thousandSeparator(outstandings.toInvoice))
self.revenues(dbo.helpers.thousandSeparator(outstandings.revenues))
self.revenueCurrentYear(dbo.helpers.thousandSeparator(revCurYear))
self.revenuesThisYear(dbo.helpers.thousandSeparator(data.revenuesThisYear))
})
dbo.reservationsDataservice.getReservations(function(data){
var openCosts = 0
$.each(data, function(i,p){
openCosts += Number(p.other_revenue) - Number(p.payed);
})
self.openCosts(dbo.helpers.thousandSeparator(openCosts))
})
},
getOutstandingTotal: function (data) {
var self = dbo.dashboardModel
var openInvoices = 0
var toInvoice = 0
var costs = 0
var openCosts = 0
_.each(data, function (p) {
openInvoices += Number(p.invoiceToPay.replace('.', ''))
toInvoice += Number(p.needInvoice.replace('.', ''))
})
var revenues = (Number(open) + Number(toInvoice) - Number(openCosts)) / 1.21
return {
openInvoices: openInvoices,
toInvoice : toInvoice,
costs : costs,
revenues : Math.round(revenues),
openCosts : openCosts
}
},
invoiceOverview : function () {
var self = dbo.dashboardModel
self.showInvoiceOverview(!self.showInvoiceOverview())
},
Billing : function (data) {
console.log(data)
self.project = data.projectnumber + ' ' + data.projectname
self.invoiced = dbo.helpers.thousandSeparator(data.invoiced)
self.payedcosts = dbo.helpers.thousandSeparator(data.payedcosts)
self.openCosts = dbo.helpers.thousandSeparator(Number(data.invoiced) - Number(data.payedcosts))
self.archive = data.archive
}
}
dbo.dashboardModel.init()
ko.applyBindings(dbo.dashboardModel, document.getElementById('DASHBOARD'))
}
}