Diversen nav opmerkingen
This commit is contained in:
@@ -33,4 +33,9 @@ class vatController extends MY_Controller {
|
||||
|
||||
$this->json($vats);
|
||||
}
|
||||
|
||||
public function addVat()
|
||||
{
|
||||
Vat::create([]);
|
||||
}
|
||||
}
|
||||
@@ -23,7 +23,6 @@ class Qinvoiceoverview {
|
||||
CONCAT(firstname, ' ', middlename, ' ', lastname) AS fullname,
|
||||
( SELECT vatrate FROM vats WHERE archive = 'F' LIMIT 1 ) AS vatrate,
|
||||
COALESCE(reserved, 0 ) AS reserved,
|
||||
COALESCE(reservedpayed, 0 ) AS reservedpayed,
|
||||
COALESCE(currentforecast, 0) AS currentforecast,
|
||||
COALESCE(otherforecast, 0) AS otherforecast
|
||||
FROM invoices INV
|
||||
@@ -47,8 +46,7 @@ class Qinvoiceoverview {
|
||||
ON INV.id = Q1.invoice_id
|
||||
LEFT JOIN (
|
||||
SELECT project_id,
|
||||
SUM(IF(payed='UNPAYED', reservationamount, 0)) reserved,
|
||||
SUM(IF(payed='PAYED', reservationamount, 0)) reservedpayed
|
||||
SUM( reservationamount) reserved
|
||||
FROM reservations
|
||||
GROUP BY project_id
|
||||
) AS Q2
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<div class="panel-body panel-body-project">
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<th class="table-cyanish-header" width="35%">
|
||||
<th class="table-cyanish-header" width="32%">
|
||||
medewerker
|
||||
</th>
|
||||
<th class="table-cyanish-header" width="15%">
|
||||
@@ -16,7 +16,7 @@
|
||||
<th class="table-cyanish-header" width="15%">
|
||||
declarabel
|
||||
</th>
|
||||
<th class="table-cyanish-header align-right" width="12%">
|
||||
<th class="table-cyanish-header align-right" width="15%">
|
||||
uren
|
||||
</th>
|
||||
<th class="table-cyanish-header align-right" width="15%">
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
uitgaande facturen
|
||||
</h3>
|
||||
</div>
|
||||
<div class="panel-body panel-body-project">
|
||||
<div class="panel-body panel-body-project" style="overflow-y:scroll;">
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<th class="table-cyanish-header"> </th>
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
<div class="VAT">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<table class="table table-condensed">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>percentage</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody data-bind="foreach:vats">
|
||||
<tr>
|
||||
<td>
|
||||
<input type="text" data-bind="text:vatrate" />
|
||||
</td>
|
||||
<td width="60px">
|
||||
<i class="icon fa-sellsy"></i>
|
||||
<i class="icon fa-edit" data-bind="click:$root.toggleEdit"></i>
|
||||
<i class="icon fa-trash redish" data-bind="$root.removeVat"></i>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th colspan="2">
|
||||
<button class="btn btn-primary" data-bind="click:addVat">voeg btw toe</button>
|
||||
</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -28,6 +28,7 @@
|
||||
<script src="js/lib/modules/beheer/usersModule.js?version=<?= $this->version ?>"></script>
|
||||
<script src="js/lib/modules/beheer/customersModule.js?version=<?= $this->version ?>"></script>
|
||||
<script src="js/lib/modules/beheer/externalsModule.js?version=<?= $this->version ?>"></script>
|
||||
<script src="js/lib/modules/beheer/vatModule.js?version=<?= $this->version ?>"></script>
|
||||
<script src="js/lib/modules/projects/offersModule.js?version=<?= $this->version ?>"></script>
|
||||
<script src="js/lib/modules/projects/projectsModule.js?version=<?= $this->version ?>"></script>
|
||||
<script src="js/lib/modules/projects/employeehoursModule.js?version=<?= $this->version ?>"></script>
|
||||
|
||||
@@ -4,10 +4,10 @@
|
||||
<th class="rotate">
|
||||
<div><span>project</span></div>
|
||||
</th>
|
||||
<th class="rotate">
|
||||
<th class="rotate" width="150px">
|
||||
<div><span>klant</span></div>
|
||||
</th>
|
||||
<th class="rotate">
|
||||
<th class="rotate" width="100px">
|
||||
<div><span>status afgehandeld</span></div>
|
||||
</th>
|
||||
<!-- <th class="rotate">-->
|
||||
@@ -43,17 +43,17 @@
|
||||
</th>
|
||||
<!-- /ko -->
|
||||
<!-- ko if:$root.invoiceTab() == 'forecast' -->
|
||||
<th class="rotate">
|
||||
<th class="rotate" width="100px">
|
||||
<div><span>nog te factureren (incl.btw)</span></div>
|
||||
</th>
|
||||
<th class="rotate">
|
||||
<th class="rotate" width="100px">
|
||||
<div><span>nog te factureren lopend jaar</span></div>
|
||||
</th>
|
||||
<th class="rotate">
|
||||
<th class="rotate" width="100px">
|
||||
<div><span>nog te factureren na lopend jaar</span></div>
|
||||
</th>
|
||||
<th class="rotate">
|
||||
<div><span>verschil prognose - werkelijk</span></div>
|
||||
<th class="rotate" width="100px">
|
||||
<div><span>nog te prognotiseren</span></div>
|
||||
</th>
|
||||
<!-- /ko -->
|
||||
<!-- ko if:$root.invoiceTab() == 'monthforecast' -->
|
||||
@@ -133,7 +133,7 @@
|
||||
<i class="icon fa-euro"></i>
|
||||
<span data-bind="text:otherforecast"></span>
|
||||
</td>
|
||||
<th class="align-right">
|
||||
<th class="align-right focus-green">
|
||||
<i class="icon fa-euro"></i>
|
||||
<span data-bind="text:missingForecast"></span>
|
||||
</th>
|
||||
@@ -171,6 +171,24 @@
|
||||
<th colspan="3" class="align-right">
|
||||
totaal
|
||||
</th>
|
||||
<!-- ko if:$root.invoiceTab() == 'forecast' -->
|
||||
<th class="align-right">
|
||||
<i class="icon fa-euro"></i>
|
||||
<span data-bind="text:totalToInvoice"></span>
|
||||
</th>
|
||||
<th class="align-right">
|
||||
<i class="icon fa-euro"></i>
|
||||
<span data-bind="text:totalCurrentforecast"></span>
|
||||
</th>
|
||||
<th class="align-right">
|
||||
<i class="icon fa-euro"></i>
|
||||
<span data-bind="text:totalOtherforecast"></span>
|
||||
</th>
|
||||
<th class="align-right focus-green">
|
||||
<i class="icon fa-euro"></i>
|
||||
<span data-bind="text:totalMissingForecast"></span>
|
||||
</th>
|
||||
<!-- /ko -->
|
||||
<!-- ko if:$root.invoiceTab() == 'monthforecast' -->
|
||||
<th class="align-right">
|
||||
<i class="icon fa-euro"></i>
|
||||
|
||||
@@ -12,6 +12,13 @@ dbo.vatDataService = {
|
||||
.done( function ( data ) {
|
||||
callback( data );
|
||||
} );
|
||||
},
|
||||
|
||||
addVat: function ( callback ) {
|
||||
$.get( 'index.php/beheer/vatController/addVat' )
|
||||
.done( function () {
|
||||
callback();
|
||||
} );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
/**
|
||||
* Created by Pensare Software.
|
||||
* User: Theo Weijmer
|
||||
* Date: 05/05/2018
|
||||
* Time: 20:15
|
||||
*/
|
||||
|
||||
|
||||
dbo.vatInit = function () {
|
||||
|
||||
if ( dbo.vatModel !== undefined ) {
|
||||
|
||||
} else {
|
||||
|
||||
dbo.vatModel = {
|
||||
|
||||
vats: ko.observableArray( [] ),
|
||||
|
||||
init: function () {
|
||||
var vm = dbo.vatModel;
|
||||
|
||||
vm.refreshVat();
|
||||
},
|
||||
|
||||
addVat: function () {
|
||||
var vm = dbo.vatModel;
|
||||
dbo.vatDataService.addVat( function () {
|
||||
vm.refreshVat();
|
||||
} );
|
||||
},
|
||||
|
||||
refreshVat: function () {
|
||||
var vm = dbo.vatModel;
|
||||
dbo.vatDataService.getVats( 'F', function ( data ) {
|
||||
vm.vats.removeAll();
|
||||
|
||||
_.each( data, function ( p ) {
|
||||
vm.vats( new vm.Vat( p ) );
|
||||
} )
|
||||
} );
|
||||
},
|
||||
|
||||
toggleEdit: function () {
|
||||
this.inEdit( !this.inEdit() );
|
||||
},
|
||||
|
||||
Vat: function ( data, inEdit = false ) {
|
||||
this.id = data.id;
|
||||
this.vatrate = ko.observable( data.vatrate );
|
||||
this.inEdit = ko.observable( inEdit );
|
||||
},
|
||||
|
||||
removeVat : function(){
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
dbo.vatModel.init();
|
||||
|
||||
ko.applyBindings( dbo.vatModel, document.getElementById( 'VAT' ) );
|
||||
}
|
||||
};
|
||||
@@ -25,13 +25,17 @@ dbo.outgoinginvoicesInit = function () {
|
||||
totalToInvoiceFuture: ko.observable(),
|
||||
initialize : null,
|
||||
validYear : ko.observable(),
|
||||
totalToInvoice : ko.observable(),
|
||||
totalCurrentforecast: ko.observable(),
|
||||
totalOtherforecast : ko.observable(),
|
||||
totalMissingForecast: ko.observable(),
|
||||
|
||||
init: function () {
|
||||
var vm = dbo.outgoinginvoicesModel;
|
||||
|
||||
vm.selectedYear( (new Date()).getFullYear() );
|
||||
vm.selectedMonthID( 0 );
|
||||
vm.validYear(true);
|
||||
vm.validYear( true );
|
||||
|
||||
vm.initModule();
|
||||
},
|
||||
@@ -72,6 +76,9 @@ dbo.outgoinginvoicesInit = function () {
|
||||
} );
|
||||
vm.totalToInvoice( dbo.helpers.numberWithPoints( Math.round( vm.totalToInvoice() ) ) );
|
||||
vm.totalToInvoiceFuture( dbo.helpers.numberWithPoints( Math.round( vm.totalToInvoiceFuture() ) ) );
|
||||
vm.totalCurrentforecast( dbo.helpers.numberWithPoints( Math.round( vm.totalCurrentforecast() ) ) );
|
||||
vm.totalOtherforecast( dbo.helpers.numberWithPoints( Math.round( vm.totalOtherforecast() ) ) );
|
||||
vm.totalMissingForecast( dbo.helpers.numberWithPoints( Math.round( vm.totalMissingForecast() ) ) );
|
||||
} );
|
||||
},
|
||||
|
||||
@@ -79,6 +86,9 @@ dbo.outgoinginvoicesInit = function () {
|
||||
var vm = dbo.outgoinginvoicesModel;
|
||||
vm.totalToInvoice( 0 );
|
||||
vm.totalToInvoiceFuture( 0 );
|
||||
vm.totalCurrentforecast( 0 );
|
||||
vm.totalOtherforecast( 0 );
|
||||
vm.totalMissingForecast( 0 );
|
||||
},
|
||||
|
||||
Project: function ( data ) {
|
||||
@@ -109,8 +119,9 @@ dbo.outgoinginvoicesInit = function () {
|
||||
self.toInvoiceFuture = dbo.helpers.numberWithPoints( Math.round( totalInvoice - totalInvoiced - Number( data.currentforecast ) ) );
|
||||
self.currentforecast = dbo.helpers.numberWithPoints( Math.round( data.currentforecast ) );
|
||||
self.otherforecast = dbo.helpers.numberWithPoints( Math.round( data.otherforecast ) );
|
||||
self.missingForecast =
|
||||
dbo.helpers.numberWithPoints( totalInvoice - totalInvoiced - data.otherforecast );
|
||||
var missingForcast = Math.round( totalInvoice - totalInvoiced - data.otherforecast - data.currentforecast );
|
||||
console.log( missingForcast );
|
||||
self.missingForecast = dbo.helpers.numberWithPoints( missingForcast );
|
||||
|
||||
self.months = ko.observableArray( [] );
|
||||
_.each( data.months, function ( p ) {
|
||||
@@ -123,8 +134,12 @@ dbo.outgoinginvoicesInit = function () {
|
||||
vm['payment' + p.month]( Number( vm['payment' + p.month]() ) + Number( p.paymentamount ) );
|
||||
} );
|
||||
|
||||
|
||||
vm.totalToInvoice( vm.totalToInvoice() + (totalInvoice - totalInvoiced) );
|
||||
vm.totalToInvoiceFuture( vm.totalToInvoiceFuture() + (totalInvoice - totalInvoiced - Number( data.currentforecast )) );
|
||||
vm.totalCurrentforecast( Number( vm.totalCurrentforecast() ) + Number( data.currentforecast ) );
|
||||
vm.totalOtherforecast( Number( vm.totalOtherforecast() ) + Number( data.otherforecast ) );
|
||||
vm.totalMissingForecast( Number( vm.totalMissingForecast() ) + Number( missingForcast ) );
|
||||
},
|
||||
|
||||
Month: function ( data ) {
|
||||
|
||||
Reference in New Issue
Block a user