Conversie codeigniter 4
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
<div class="modal modal-fade-in-scale-up modal-primary" tabindex="-1" id="comment-modal">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">toevoegen / wijzigen commentaar</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<div class="col-xl-12">
|
||||
<textarea data-bind="froala:comment, froalaOptions:options"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button"
|
||||
class="btn btn-success"
|
||||
data-bind="click:saveComment">opslaan
|
||||
</button>
|
||||
<button type="button" class="btn btn-warning" data-dismiss="modal">annuleren</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,159 @@
|
||||
<div class="modal modal-fade-in-scale-up modal-primary" tabindex="-1" id="customer-modal">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">toevoegen / wijzigen opdrachtgever
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</h5>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div role="form" class="form-horizontal">
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 form-control-label">
|
||||
naam
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-institution"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="naam"
|
||||
class="form-control"
|
||||
data-bind="textInput:name,
|
||||
css:{'is-invalid':nameInvalid}">
|
||||
</div>
|
||||
<small class="invalid-feedback"
|
||||
data-bind="style:{display: nameInvalid() ? 'block' : 'none'}">
|
||||
voer een naam in
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 form-control-label">
|
||||
adres
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-address-book-o"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="adres"
|
||||
class="form-control"
|
||||
data-bind="textInput:address">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 form-control-label">
|
||||
postcode
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-address-book-o"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="postcode"
|
||||
class="form-control"
|
||||
data-bind="textInput:postcode">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 form-control-label">
|
||||
plaats
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-address-book-o"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="plaats"
|
||||
class="form-control"
|
||||
data-bind="textInput:place">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 form-control-label">
|
||||
contactpersoon
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-user"></i>
|
||||
</span>
|
||||
<input type="email"
|
||||
placeholder="contactpersoon"
|
||||
class="form-control"
|
||||
data-bind="textInput:contactperson">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 form-control-label">
|
||||
email
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-envelope"></i>
|
||||
</span>
|
||||
<input type="email"
|
||||
placeholder="email"
|
||||
class="form-control"
|
||||
data-bind="textInput:email,
|
||||
css:{'is-invalid':emailInvalid}">
|
||||
</div>
|
||||
<small class="invalid-feedback"
|
||||
data-bind="style:{display: emailInvalid() ? 'block' : 'none'}">
|
||||
email ongeldig<span data-bind="text:emailInvalid"></span>
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 form-control-label">
|
||||
website
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-link"></i>
|
||||
</span>
|
||||
<input type="email"
|
||||
placeholder="email"
|
||||
class="form-control"
|
||||
data-bind="textInput:website">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 form-control-label">
|
||||
opmerkingen
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
<textarea class="form-control" data-bind="textInput:remarks"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button"
|
||||
class="btn btn-success"
|
||||
data-bind="visible:formValid(), click:saveCustomer">opslaan
|
||||
</button>
|
||||
<button type="button" class="btn btn-warning" data-dismiss="modal">annuleren</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,115 @@
|
||||
<div class="modal modal-fade-in-scale-up modal-primary" tabindex="-1" id="employee-target-modal">
|
||||
<div class="modal-dialog" role="document" style="width:700px;">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">toevoegen / wijzigen medewerker uren
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</h5>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<table class="table table-condensed">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="2">start</th>
|
||||
<th colspan="2">eind</th>
|
||||
<th colspan="2"> </th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th width="25%">maand</th>
|
||||
<th width="17%">jaar</th>
|
||||
<th width="25%">maand</th>
|
||||
<th width="17%">jaar</th>
|
||||
<th width="16%" title="target per maand">target p/m</th>
|
||||
<th> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- ko foreach:employeeTargets -->
|
||||
<tr>
|
||||
<td data-bind="css:{'red-line': ! saved()}">
|
||||
<select data-bind="options:$root.months,
|
||||
optionsText:'month',
|
||||
optionsValue:'monthID',
|
||||
value:startmonth,
|
||||
disable: ! changeable(),
|
||||
event:{change:$root.setUnsaved}"
|
||||
class="form-control">
|
||||
</select>
|
||||
</td>
|
||||
<td data-bind="css:{'red-line': ! saved()}">
|
||||
<select data-bind="options:$root.years,
|
||||
optionsText:'year',
|
||||
optionsValue:'year',
|
||||
value:startyear,
|
||||
disable: ! changeable(),
|
||||
event:{change:$root.setUnsaved}"
|
||||
class="form-control">
|
||||
</select>
|
||||
</td>
|
||||
<td data-bind="css:{'red-line': ! saved()}">
|
||||
<select data-bind="options:$root.months,
|
||||
optionsText:'month',
|
||||
optionsValue:'monthID',
|
||||
value:endmonth,
|
||||
disable: ! changeable(),
|
||||
optionsCaption:'selecteer...',
|
||||
event:{change:$root.setUnsaved}"
|
||||
class="form-control">
|
||||
</select>
|
||||
</td>
|
||||
<td data-bind="css:{'red-line': ! saved()}">
|
||||
<select data-bind="options:$root.years,
|
||||
optionsText:'year',
|
||||
optionsValue:'year',
|
||||
value:endyear,
|
||||
disable: ! changeable(),
|
||||
optionsCaption:'selecteer...',
|
||||
event:{change:$root.setUnsaved}"
|
||||
class="form-control">
|
||||
</select>
|
||||
</td>
|
||||
<td data-bind="css:{'red-line': ! saved()}">
|
||||
<input type="text"
|
||||
class="form-control"
|
||||
data-bind="textInput:target,
|
||||
disable: ! changeable(),
|
||||
event:{keyup:$root.checkNumeric},
|
||||
event:{change:$root.setUnsaved}">
|
||||
</td>
|
||||
<td data-bind="css:{'red-line': ! saved()}">
|
||||
<button class="btn btn-success"
|
||||
data-bind="disable: ! validTarget(),
|
||||
click:$root.saveEmployeeTarget,
|
||||
visible: changeable()">
|
||||
opslaan
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- /ko -->
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th colspan="6">
|
||||
<i class="icon fa-plus-square-o pull-right pointer"
|
||||
data-bind="click:addEmployeeTarget, visible:newTarget()"></i>
|
||||
</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button"
|
||||
class="btn btn-warning"
|
||||
data-dismiss="modal">
|
||||
sluiten
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,207 @@
|
||||
<div class="modal modal-fade-in-scale-up modal-primary" tabindex="-1" id="external-modal">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">toevoegen / wijzigen onderaannemer
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</h5>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div role="form" class="form-horizontal">
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 form-control-label">
|
||||
naam
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-user"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="contactperson"
|
||||
class="form-control"
|
||||
data-bind="textInput:contactperson,
|
||||
css:{'is-invalid':contactpersonInvalid}">
|
||||
</div>
|
||||
<small class="invalid-feedback"
|
||||
data-bind="style:{display: contactpersonInvalid() ? 'block' : 'none'}">
|
||||
voer een naam in
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 form-control-label">
|
||||
bedrijfsnaam
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-institution"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="bedrijfsnaam"
|
||||
class="form-control"
|
||||
data-bind="textInput:name">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 form-control-label">
|
||||
adres
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-address-book-o"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="adres"
|
||||
class="form-control"
|
||||
data-bind="textInput:address">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 form-control-label">
|
||||
postcode
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-address-book-o"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="postcode"
|
||||
class="form-control"
|
||||
data-bind="textInput:postcode">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 form-control-label">
|
||||
plaats
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-address-book-o"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="plaats"
|
||||
class="form-control"
|
||||
data-bind="textInput:place">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 form-control-label">
|
||||
email
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-envelope"></i>
|
||||
</span>
|
||||
<input type="email"
|
||||
placeholder="email"
|
||||
class="form-control"
|
||||
data-bind="textInput:email,
|
||||
css:{'is-invalid':emailInvalid}">
|
||||
</div>
|
||||
<small class="invalid-feedback"
|
||||
data-bind="style:{display: emailInvalid() ? 'block' : 'none'}">
|
||||
email ongeldig<span data-bind="text:emailInvalid"></span>
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 form-control-label">
|
||||
website
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-link"></i>
|
||||
</span>
|
||||
<input type="email"
|
||||
placeholder="email"
|
||||
class="form-control"
|
||||
data-bind="textInput:website">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 form-control-label">
|
||||
kvk - nummer
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-institution"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="kvk nummer"
|
||||
class="form-control"
|
||||
data-bind="textInput:kvk_number">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 form-control-label">
|
||||
IBAN
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-institution"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="IBAN"
|
||||
class="form-control"
|
||||
data-bind="textInput:iban">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 form-control-label">
|
||||
tarief (per uur)
|
||||
</label>
|
||||
<div class="col-md-4">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-euro"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="tarief"
|
||||
class="form-control align-right"
|
||||
data-bind="textInput:rate, event:{keyup:validateNumber}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 form-control-label">
|
||||
opmerkingen
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
<textarea class="form-control" data-bind="textInput:remarks"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button"
|
||||
class="btn btn-success"
|
||||
data-bind="visible:formValid(), click:saveExternal">opslaan
|
||||
</button>
|
||||
<button type="button" class="btn btn-warning" data-dismiss="modal">annuleren</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,288 @@
|
||||
<div class="modal modal-primary" tabindex="-1" id="offer-modal">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">toevoegen / wijzigen offerte
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</h5>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div role="form" class="form-horizontal">
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 control-label">
|
||||
offerte nummer
|
||||
</label>
|
||||
<div class="col-md-5">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-asterisk"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="offerte nummer"
|
||||
class="form-control"
|
||||
data-bind="textInput:offernumber">
|
||||
</div>
|
||||
<small class="invalid-feedback"
|
||||
data-bind="style:{display: ! offernumber() ? 'block' : 'none'}">
|
||||
voer een offerte nummer in
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 control-label">
|
||||
offerte naam
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-bookmark"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="offerte naam"
|
||||
class="form-control"
|
||||
data-bind="textInput:offername">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 control-label">
|
||||
offerte leider
|
||||
</label>
|
||||
<div class="col-md-8">
|
||||
<div class="input-group input-group-icon">
|
||||
<select class="form-control"
|
||||
data-bind="options:users,
|
||||
optionsValue:'id',
|
||||
optionsText:'fullname',
|
||||
value:offerleader_id,
|
||||
optionsCaption:'selecteer offerteleider'">
|
||||
</select>
|
||||
</div>
|
||||
<small class="invalid-feedback"
|
||||
data-bind="style:{display: ! offerleader_id() ? 'block' : 'none'}">
|
||||
selecteer een offerteleider
|
||||
</small>
|
||||
</div>
|
||||
<div class="col-md-1">
|
||||
<i class="icon fa-plus-square greenish pointer" data-bind="click:addUser"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 control-label">
|
||||
klant
|
||||
</label>
|
||||
<div class="col-md-8">
|
||||
<div class="input-group input-group-icon">
|
||||
<select class="form-control"
|
||||
data-bind="options:customers,
|
||||
optionsValue:'id',
|
||||
optionsText:'name',
|
||||
value:customer_id,
|
||||
optionsCaption:'selecteer klant',
|
||||
event:{change:getCustomerProjects}"></select>
|
||||
</div>
|
||||
<small class="invalid-feedback"
|
||||
data-bind="style:{display: ! customer_id() ? 'block' : 'none'}">
|
||||
selecteer een klant
|
||||
</small>
|
||||
</div>
|
||||
<div class="col-md-1">
|
||||
<i class="icon fa-plus-square greenish pointer" data-bind="click:addCustomer"></i>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="form-group row">-->
|
||||
<!-- <label class="col-md-3 control-label">-->
|
||||
<!-- project-->
|
||||
<!-- </label>-->
|
||||
<!-- <div class="col-md-8">-->
|
||||
<!-- <select class="form-control"-->
|
||||
<!-- data-bind="options:projects,-->
|
||||
<!-- optionsValue: 'id',-->
|
||||
<!-- optionsText:'projectnumber',-->
|
||||
<!-- disable: ! customer_id(),-->
|
||||
<!-- value:project_id"></select>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<div class="form-group row">
|
||||
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 control-label">
|
||||
datum offerte
|
||||
</label>
|
||||
<div class="col-md-5">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-calendar"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="datum offerte"
|
||||
class="form-control"
|
||||
readonly
|
||||
data-bind="datepicker:{dateFormat: 'dd-mm-yy' }, value:startdate, css:{'is-invalid': ! offerDateValid()}">
|
||||
</div>
|
||||
<small class="invalid-feedback"
|
||||
data-bind="style:{display: ! offerDateValid() ? 'block' : 'none'}">
|
||||
voer een offerte datum in
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 control-label">
|
||||
kans
|
||||
</label>
|
||||
<div class="col-md-4">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-percent"></i>
|
||||
</span>
|
||||
<div>
|
||||
<input type="text"
|
||||
placeholder="kans"
|
||||
class="form-control percentage-input"
|
||||
data-bind="textInput:acceptance_chance,
|
||||
event:{keyup:validateNumber}">
|
||||
<span class="percentage-sign">%</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 control-label">
|
||||
omzet
|
||||
</label>
|
||||
<div class="col-md-4">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-euro"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="eigen omzet"
|
||||
class="form-control align-right"
|
||||
data-bind="textInput:own_revenue,
|
||||
event:{keyup:validateNumber}">
|
||||
</div>
|
||||
<small>
|
||||
Eigen tarief omzet (excl btw)
|
||||
</small>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-euro"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="overige omzet"
|
||||
class="form-control align-right"
|
||||
data-bind="textInput:other_revenue,
|
||||
event:{keyup:validateNumber}">
|
||||
</div>
|
||||
<small>
|
||||
Overige kosten (excl btw)
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 control-label">
|
||||
 
|
||||
</label>
|
||||
<div class="col-md-4">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-euro"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="eigen omzet"
|
||||
class="form-control align-right"
|
||||
data-bind="textInput:costs,
|
||||
event:{keyup:validateNumber}">
|
||||
</div>
|
||||
<small>
|
||||
kosten derden (excl btw)
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 control-label">
|
||||
deadline
|
||||
</label>
|
||||
<div class="col-md-5">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-calendar"></i>
|
||||
</span>
|
||||
<input type="email"
|
||||
placeholder="deadline"
|
||||
class="form-control"
|
||||
readonly
|
||||
data-bind="datepicker:{dateFormat: 'dd-mm-yy' }, value:deadline, disable:accepteddate()">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-1">
|
||||
<span class="icon fa-remove redish pointer"
|
||||
data-bind="visible:rejectdate(), click:resetDate.bind($data, 'rejectdate')"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 control-label">
|
||||
acceptatie datum
|
||||
</label>
|
||||
<div class="col-md-5">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-calendar"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="acceptatie datum"
|
||||
class="form-control"
|
||||
readonly
|
||||
data-bind="datepicker:{dateFormat: 'dd-mm-yy' },
|
||||
value:accepteddate, disable:rejectdate()">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-1">
|
||||
<span class="icon fa-remove redish pointer"
|
||||
data-bind="visible:accepteddate(), click:resetDate.bind($data, 'accepteddate')"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 control-label">
|
||||
afwijsdatum
|
||||
</label>
|
||||
<div class="col-md-5">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-calendar"></i>
|
||||
</span>
|
||||
<input type="email"
|
||||
placeholder="afwijsdatum"
|
||||
class="form-control"
|
||||
readonly
|
||||
data-bind="datepicker:{dateFormat: 'dd-mm-yy' }, value:rejectdate, disable:accepteddate()">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-1">
|
||||
<span class="icon fa-remove redish pointer"
|
||||
data-bind="visible:rejectdate(), click:resetDate.bind($data, 'rejectdate')"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button"
|
||||
class="btn btn-success"
|
||||
data-bind="visible:formValid(), click:saveOffer">opslaan
|
||||
</button>
|
||||
<button type="button" class="btn btn-warning" data-dismiss="modal">annuleren</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,5 @@
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane animation-slide-top active" id="dashboard">
|
||||
<?= view('modals/partials/_projectdashboard') ?>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,19 @@
|
||||
<div class="row" data-bind="fadeVisible:customerID()">
|
||||
<!-- <div class="col-md-5">-->
|
||||
<!-- --><?php //$this->load->view( 'modals/partials/_projectoffers' ); ?>
|
||||
<!-- </div>-->
|
||||
<div class="col-md-8">
|
||||
<?= view('modals/partials/_projectcosts') ?>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<?= view('modals/partials/_reservations') ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<?= view('modals/partials/_invoices') ?>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<?= view('modals/partials/_forecasts') ?>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,104 @@
|
||||
<div class="panel panel-bordered panel-primary panel-line">
|
||||
<div class="panel-heading panel-heading-project">
|
||||
<h3 class="">
|
||||
prognoses (incl.btw)
|
||||
</h3>
|
||||
</div>
|
||||
<div class="panel-body panel-body-project">
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<th class="table-cyanish-header" width="25%">
|
||||
jaar
|
||||
</th>
|
||||
<th class="table-cyanish-header" width="25%">
|
||||
maand
|
||||
</th>
|
||||
<th class="table-cyanish-header align-right" width="35%">
|
||||
bedrag
|
||||
</th>
|
||||
<th class="table-cyanish-header" width="15%"> </th>
|
||||
</thead>
|
||||
<tbody data-bind="foreach:forecasts">
|
||||
<tr>
|
||||
<td>
|
||||
<span data-bind="text:dbo.helpers.findArrayElement('year', 'year', year(), $root.years()),
|
||||
visible:! inEdit()"></span>
|
||||
<select class="form-control form-control-sm"
|
||||
data-bind="options:$root.years,
|
||||
optionsText:'year',
|
||||
optionsValue:'year',
|
||||
value:year,
|
||||
optionsCaption:'voer jaar in',
|
||||
visible: inEdit(),
|
||||
event:{change:$root.saveForecast}">
|
||||
</select>
|
||||
</td>
|
||||
<td>
|
||||
<span data-bind="text:dbo.helpers.findArrayElement('monthID', 'month', month_id(), $root.months()),
|
||||
visible:! inEdit()"></span>
|
||||
<select class="form-control form-control-sm"
|
||||
data-bind="options:$root.months,
|
||||
optionsText:'month',
|
||||
optionsValue:'monthID',
|
||||
value:month_id,
|
||||
optionsCaption:'voer maand in',
|
||||
visible: inEdit(),
|
||||
event:{change:$root.saveForecast}">
|
||||
</select>
|
||||
</td>
|
||||
<td class="align-right">
|
||||
<span data-bind="visible:!inEdit()">
|
||||
<i class="icon fa-euro"></i>
|
||||
<span data-bind="text:dbo.helpers.numberWithPoints(forecastamount())"></span>
|
||||
</span>
|
||||
<input type="text"
|
||||
class="form-control form-control-sm align-right"
|
||||
paceholder="bedrag"
|
||||
data-bind="textInput:forecastamount, visible:inEdit,
|
||||
event:{change:$root.saveForecast,keyup:$root.validateNumber.bind($data, 'forecastamount')}"/>
|
||||
</td>
|
||||
<td>
|
||||
<i class="icon fa-edit pointer" title="wijzig" data-bind="click:$root.editForecast"></i>
|
||||
<i class="icon fa-trash redish pointer" title="verwijder"
|
||||
data-bind="click:$root.removeForecast"></i>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th colspan="4">
|
||||
<button class="btn btn-primary btn-round btn-sm" data-bind="click:addForecast">
|
||||
nieuwe prognose
|
||||
</button>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="4">
|
||||
<table class="table table-condensed">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>te factureren</th>
|
||||
<th>geprognosticeerd</th>
|
||||
<th>nog te prognosticeren</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<span data-bind="text:outstanding"></span>
|
||||
</td>
|
||||
<td>
|
||||
<span data-bind="text:totalForecast"></span>
|
||||
</td>
|
||||
<td>
|
||||
<span data-bind="text:toForecast"></span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,57 @@
|
||||
<div class="panel panel-bordered panel-primary panel-line">
|
||||
<div class="panel-heading panel-heading-project">
|
||||
<h3 class="">
|
||||
projecturen
|
||||
</h3>
|
||||
</div>
|
||||
<div class="panel-body panel-body-project">
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<th class="table-cyanish-header" width="40%">
|
||||
medewerker
|
||||
</th>
|
||||
<th class="table-cyanish-header align-right" width="20%">
|
||||
niet declarabel
|
||||
</th>
|
||||
<th class="table-cyanish-header align-right" width="20%">
|
||||
declarabel
|
||||
</th>
|
||||
<th class="table-cyanish-header align-right" width="20%">
|
||||
omzet
|
||||
</th>
|
||||
</thead>
|
||||
<tbody data-bind="foreach:hourTotals">
|
||||
<tr>
|
||||
<td>
|
||||
<span data-bind="text:fullname"></span>
|
||||
</td>
|
||||
<td class="align-right">
|
||||
<span data-bind="text:nondeclarable"></span> uur
|
||||
</td>
|
||||
<td class="align-right">
|
||||
<span data-bind="text:declarable"></span> uur
|
||||
</td>
|
||||
<td class="align-right">
|
||||
<span data-bind="text:revenues"></span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th class="table-cyanish-header">
|
||||
totaal
|
||||
</th>
|
||||
<th class="align-right table-cyanish-header">
|
||||
<span data-bind="text:totalNonDeclarable"></span> uur
|
||||
</th>
|
||||
<th class="align-right table-cyanish-header">
|
||||
<span data-bind="text:totalDeclarable"></span> uur
|
||||
</th>
|
||||
<th class="align-right table-cyanish-header">
|
||||
<span data-bind="text:totalRevenueHours"></span>
|
||||
</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,102 @@
|
||||
<div class="panel panel-bordered panel-primary panel-line">
|
||||
<div class="panel-heading panel-heading-project">
|
||||
<h3 class="">
|
||||
projecturen
|
||||
</h3>
|
||||
</div>
|
||||
<div class="panel-body panel-body-project">
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<th class="table-cyanish-header" width="40%">
|
||||
medewerker
|
||||
</th>
|
||||
<th class="table-cyanish-header" width="15%">
|
||||
datum
|
||||
</th>
|
||||
<th class="table-cyanish-header" width="15%">
|
||||
declarabel
|
||||
</th>
|
||||
<th class="table-cyanish-header align-right" width="15%">
|
||||
uren
|
||||
</th>
|
||||
<th class="table-cyanish-header align-right" width="15%">
|
||||
omzet
|
||||
</th>
|
||||
<!-- <th class="table-cyanish-header" width="8%">-->
|
||||
<!-- -->
|
||||
<!-- </th>-->
|
||||
</thead>
|
||||
<tbody data-bind="foreach:projecthours">
|
||||
<tr>
|
||||
<td>
|
||||
<span data-bind="text:dbo.helpers.findArrayElement('id', 'fullname', projectemployee_id(), $root.projectEmployees()),
|
||||
visible:! inEdit()"></span>
|
||||
<select class="form-control form-control-sm"
|
||||
data-bind="options:$root.projectEmployees,
|
||||
optionsText:'fullname',
|
||||
optionsValue:'id',
|
||||
value:projectemployee_id,
|
||||
optionsCaption:'medewerker',
|
||||
visible: inEdit(),
|
||||
event:{change:$root.saveProjecthour}">
|
||||
</select>
|
||||
</td>
|
||||
<td>
|
||||
<span data-bind="text:hourdate, visible:! inEdit()"></span>
|
||||
<input type="text"
|
||||
class="form-control form-control-sm"
|
||||
placeholder="datum"
|
||||
data-bind="datepicker:{dateFormat: 'dd-mm-yy' },
|
||||
value:hourdate, visible:inEdit,
|
||||
event:{change:$root.saveProjecthour}"/>
|
||||
</td>
|
||||
<td class="align-center">
|
||||
<i class="icon fa-check" data-bind="visible:hourtype_id() == 1, click:$root.setHourtype.bind($data,2)"></i>
|
||||
<i class="icon fa-square-o" data-bind="visible:hourtype_id() != 1, click:$root.setHourtype.bind($data, 1)"></i>
|
||||
</td>
|
||||
<td class="align-right">
|
||||
<span data-bind=" visible: ! inEdit()">
|
||||
<span data-bind="text:hours"></span>
|
||||
uur
|
||||
</span>
|
||||
<input type="text"
|
||||
class="form-control form-control-sm align-right"
|
||||
paceholder="uren"
|
||||
data-bind="textInput:hours, visible:inEdit,
|
||||
event:{change:$root.saveProjecthour,keyup:$root.validateNumber.bind($data, 'hours')}"/>
|
||||
</td>
|
||||
<td class="align-right">
|
||||
<i class="icon fa-euro"></i>
|
||||
<span data-bind="text:dbo.helpers.numberWithPoints(revenue())"></span>
|
||||
</td>
|
||||
<!-- <td>-->
|
||||
<!-- <i class="icon fa-edit pointer" title="wijzig" data-bind="click:$root.editProjecthour"></i>-->
|
||||
<!-- <i class="icon fa-trash redish pointer" title="verwijder"-->
|
||||
<!-- data-bind="click:$root.removeProjecthour"></i>-->
|
||||
<!-- </td>-->
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th class="table-cyanish-header" colspan="2">Totaal</th>
|
||||
<th class="table-cyanish-header"> </th>
|
||||
<th class="table-cyanish-header align-right">
|
||||
<span data-bind="text:totalHours"></span> uur
|
||||
</th>
|
||||
<th class="table-cyanish-header align-right">
|
||||
<i class="icon fa-euro"></i>
|
||||
<span data-bind="text:dbo.helpers.numberWithPoints(totalRevenue())"></span>
|
||||
</th>
|
||||
<!-- <th class="table-cyanish-header"> </th>-->
|
||||
</tr>
|
||||
<!-- <tr>-->
|
||||
<!-- <td colspan="5">-->
|
||||
<!-- <button class="btn btn-primary btn-round btn-sm" data-bind="click:newProjecthour">-->
|
||||
<!-- nieuwe uren-->
|
||||
<!-- </button>-->
|
||||
<!-- </td>-->
|
||||
<!-- </tr>-->
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,197 @@
|
||||
<div class="panel panel-bordered panel-primary panel-line">
|
||||
<div class="panel-heading panel-heading-project">
|
||||
<h3 class="">
|
||||
uitgaande facturen (incl btw)
|
||||
</h3>
|
||||
</div>
|
||||
<div class="panel-body panel-body-project" style="overflow-y:scroll;">
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<th class="table-cyanish-header"> </th>
|
||||
<th class="table-cyanish-header">
|
||||
factuurnummer
|
||||
</th>
|
||||
<th class="table-cyanish-header">
|
||||
factuurdatum
|
||||
</th>
|
||||
<th class="table-cyanish-header align-right">
|
||||
bedrag (excl btw)
|
||||
</th>
|
||||
<th class="table-cyanish-header align-right">
|
||||
bedrag (incl btw)
|
||||
</th>
|
||||
<th class="table-cyanish-header align-right">
|
||||
openstaand( incl btw)
|
||||
</th>
|
||||
<th class="table-cyanish-header align-right">
|
||||
btw tarief
|
||||
</th>
|
||||
<th class="table-cyanish-header" width="45px">
|
||||
|
||||
</th>
|
||||
</thead>
|
||||
<tbody data-bind="foreach:invoices">
|
||||
<tr>
|
||||
<td>
|
||||
<i class="icon fa-chevron-right" data-bind="visible: ! showPayments(), click:$root.togglePayments"></i>
|
||||
<i class="icon fa-chevron-down" data-bind="visible:showPayments(), click:$root.togglePayments"></i>
|
||||
</td>
|
||||
<td>
|
||||
<span data-bind="text:invoicenumber, visible:! inEdit()"></span>
|
||||
<input type="text"
|
||||
class="form-control form-control-sm"
|
||||
placeholder="factuurnummer"
|
||||
data-bind="textInput:invoicenumber, visible:inEdit,
|
||||
event:{change:$root.saveInvoice}"/>
|
||||
</td>
|
||||
<td>
|
||||
<span data-bind="text:invoicedate, visible:! inEdit()"></span>
|
||||
<input type="text"
|
||||
class="form-control form-control-sm"
|
||||
placeholder="datum"
|
||||
data-bind="datepicker:{dateFormat: 'dd-mm-yy' },
|
||||
value:invoicedate, visible:inEdit,
|
||||
event:{change:$root.saveInvoice}"/>
|
||||
</td>
|
||||
<td class="align-right">
|
||||
<span data-bind=" visible: ! inEdit()">
|
||||
<i class="icon fa-euro"></i>
|
||||
<span data-bind="text:dbo.helpers.numberWithPoints(invoiceamount())"></span>
|
||||
</span>
|
||||
<input type="text"
|
||||
class="form-control form-control-sm align-right"
|
||||
paceholder="bedrag"
|
||||
data-bind="textInput:invoiceamount, visible:inEdit,
|
||||
event:{change:$root.saveInvoice,keyup:$root.validateNumber.bind($data, 'invoiceamount')}"/>
|
||||
</td>
|
||||
<td class="align-right">
|
||||
<i class="icon fa-euro"></i>
|
||||
<span data-bind="text:dbo.helpers.numberWithPoints(inclBtw())"></span>
|
||||
</td>
|
||||
<td class="align-right">
|
||||
<i class="icon fa-euro"></i>
|
||||
<span data-bind="text:dbo.helpers.numberWithPoints(outstanding())"></span>
|
||||
</td>
|
||||
<!-- <td class="align-right">-->
|
||||
<!-- <span data-bind=" visible: ! inEdit()">-->
|
||||
<!-- <i class="icon fa-euro"></i>-->
|
||||
<!-- <span data-bind="text:dbo.helpers.numberWithPoints(forecastamount())"></span>-->
|
||||
<!-- </span>-->
|
||||
<!-- <input type="text"-->
|
||||
<!-- class="form-control form-control-sm align-right"-->
|
||||
<!-- paceholder="bedrag"-->
|
||||
<!-- data-bind="textInput:forecastamount, visible:inEdit,-->
|
||||
<!-- event:{change:$root.saveInvoice,keyup:$root.validateNumber.bind($data, 'forecastamount')}"/>-->
|
||||
<!-- </td>-->
|
||||
<!-- <td class="align-right">-->
|
||||
<!-- <span data-bind="text:forecastdate, visible:! inEdit()"></span>-->
|
||||
<!-- <input type="text"-->
|
||||
<!-- class="form-control form-control-sm"-->
|
||||
<!-- placeholder="datum"-->
|
||||
<!-- data-bind="datepicker:{dateFormat: 'dd-mm-yy' },-->
|
||||
<!-- value:forecastdate, visible:inEdit,-->
|
||||
<!-- event:{change:$root.saveInvoice}"/>-->
|
||||
<!-- </td>-->
|
||||
<td class="align-right">
|
||||
<span data-bind="visible:! inEdit()">
|
||||
<span data-bind="text:dbo.helpers.findArrayElement('id', 'vatrate', vat_id(), $root.vats())"></span>
|
||||
%
|
||||
</span>
|
||||
<select class="form-control form-control-sm"
|
||||
data-bind="options:$root.vats,
|
||||
optionsText:'vatrate',
|
||||
optionsValue:'id',
|
||||
value:vat_id,
|
||||
optionsCaption:'btw',
|
||||
visible:inEdit(),
|
||||
event:{change:$root.saveInvoice}">
|
||||
</select>
|
||||
</td>
|
||||
<td>
|
||||
<i class="icon fa-edit pointer" title="wijzig" data-bind="click:$root.editInvoice"></i>
|
||||
<i class="icon fa-trash redish pointer" title="verwijder"
|
||||
data-bind="click:$root.removeInvoice"></i>
|
||||
</td>
|
||||
</tr>
|
||||
<tr data-bind="visible:showPayments()">
|
||||
<td colspan="8">
|
||||
<table class="table table-condensed">
|
||||
<thead>
|
||||
<th> </th>
|
||||
<th class="table-cyanish-header-light">
|
||||
datum
|
||||
</th>
|
||||
<th class="table-cyanish-header-light">
|
||||
bedrag
|
||||
</th>
|
||||
<th class="table-cyanish-header-light">
|
||||
</th>
|
||||
</thead>
|
||||
<tbody data-bind="foreach:payments">
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>
|
||||
<span data-bind="text:paymentdate, visible:! inEdit()"></span>
|
||||
<input type="text"
|
||||
class="form-control form-control-sm"
|
||||
placeholder="datum"
|
||||
data-bind="datepicker:{dateFormat: 'dd-mm-yy' },
|
||||
value:paymentdate, visible:inEdit,
|
||||
event:{change:$root.savePayment}"/>
|
||||
</td>
|
||||
<td>
|
||||
<span data-bind=" visible: ! inEdit()">
|
||||
<i class="icon fa-euro"></i>
|
||||
<span data-bind="text:dbo.helpers.numberWithPoints(paymentamount())"></span>
|
||||
</span>
|
||||
<input type="text"
|
||||
class="form-control form-control-sm align-right"
|
||||
paceholder="bedrag"
|
||||
data-bind="textInput:paymentamount, visible:inEdit,
|
||||
event:{change:$root.savePayment,
|
||||
keyup:$root.validateNumber.bind($data, 'paymentamount')}"/>
|
||||
</td>
|
||||
<td>
|
||||
<i class="icon fa-edit pointer" title="wijzig" data-bind="click:$root.editPayment.bind($data, $parents[0])"></i>
|
||||
<i class="icon fa-trash redish pointer" title="verwijder"
|
||||
data-bind="click:$root.removePayment"></i>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<td></td>
|
||||
<td colspan="3">
|
||||
<a href="#" data-bind="click:$root.newPayment">
|
||||
nieuwe betaling
|
||||
</a>
|
||||
</td>
|
||||
</tfoot>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th colspan="3" class="table-cyanish-header"></th>
|
||||
<th class="align-right table-cyanish-header">
|
||||
<span data-bind="text:dbo.helpers.numberWithPoints(totalInvoiceamount())"></span>
|
||||
</th>
|
||||
<th class="align-right table-cyanish-header">
|
||||
<span data-bind="text:dbo.helpers.numberWithPoints(totalInclBtw())"></span>
|
||||
</th>
|
||||
<th class="align-right table-cyanish-header">
|
||||
<span data-bind="text:dbo.helpers.numberWithPoints(totalOutstanding())"></span>
|
||||
</th>
|
||||
<th colspan="2" class="table-cyanish-header"></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5">
|
||||
<button class="btn btn-primary btn-round btn-sm" data-bind="click:newInvoice">
|
||||
nieuwe factuur
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,43 @@
|
||||
<div class="panel panel-bordered panel-primary panel-line">
|
||||
<div class="panel-heading panel-heading-project">
|
||||
<h3 class="">
|
||||
opmerkingen
|
||||
</h3>
|
||||
</div>
|
||||
<div class="panel-body panel-body-project">
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<td colspan="2" class="table-cyanish-header">
|
||||
offerte opmerkingen
|
||||
</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody data-bind="foreach:projectFiles">
|
||||
<td>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<i class="icon fa-edit pointer" title="wijzig" data-bind="click:$root.editPayment"></i>
|
||||
<i class="icon fa-trash redish pointer" title="verwijder"
|
||||
data-bind="click:$root.removePayment"></i>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="2" class="table-cyanish-header">
|
||||
project opmerkingen
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,137 @@
|
||||
<div class="panel panel-bordered panel-primary panel-line">
|
||||
<div class="panel-heading panel-heading-project">
|
||||
<h3 class="">
|
||||
inkomende facturen (bedragen incl btw)
|
||||
</h3>
|
||||
</div>
|
||||
<div class="panel-body panel-body-project">
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<th class="table-cyanish-header">
|
||||
onderaannemer
|
||||
</th>
|
||||
<th class="table-cyanish-header">
|
||||
omschrijving
|
||||
</th>
|
||||
<th class="table-cyanish-header">
|
||||
datum
|
||||
</th>
|
||||
<th class="table-cyanish-header align-right">
|
||||
bedrag
|
||||
</th>
|
||||
<th class="table-cyanish-header align-right">
|
||||
betaald
|
||||
</th>
|
||||
<th class="table-cyanish-header align-right">
|
||||
via<br />reservering
|
||||
</th>
|
||||
<th class="table-cyanish-header align-right">
|
||||
te betalen
|
||||
</th>
|
||||
<th class="table-cyanish-header align-right"> </th>
|
||||
</thead>
|
||||
<tbody data-bind="foreach:projectcosts">
|
||||
<tr>
|
||||
<td>
|
||||
<span data-bind="text:dbo.helpers.findArrayElement('id', 'contactperson', external_id(), $root.externals()),
|
||||
visible:! inEdit()"></span>
|
||||
<select class="form-control form-control-sm"
|
||||
data-bind="options:$root.externals,
|
||||
optionsText:'contactperson',
|
||||
optionsValue:'id',
|
||||
value:external_id,
|
||||
optionsCaption:'extern',
|
||||
visible: inEdit(),
|
||||
event:{change:$root.saveProjectcosts}">
|
||||
</select>
|
||||
</td>
|
||||
<td>
|
||||
<span data-bind=" visible: ! inEdit()">
|
||||
<span data-bind="text:description"></span>
|
||||
</span>
|
||||
<input type="text"
|
||||
class="form-control form-control-sm align-right"
|
||||
paceholder="omschrijving"
|
||||
data-bind="textInput:description, visible:inEdit,
|
||||
event:{change:$root.saveProjectcosts}"/>
|
||||
</td>
|
||||
<td>
|
||||
<span data-bind="text:date, visible:! inEdit()"></span>
|
||||
<input type="text"
|
||||
class="form-control form-control-sm"
|
||||
placeholder="start"
|
||||
data-bind="datepicker:{dateFormat: 'dd-mm-yy' },
|
||||
value:date, visible:inEdit,
|
||||
event:{change:$root.saveProjectcosts}"/>
|
||||
</td>
|
||||
<td class="align-right">
|
||||
<span data-bind=" visible: ! inEdit()">
|
||||
<i class="icon fa-euro"></i>
|
||||
<span data-bind="text:dbo.helpers.numberWithPoints(costs())"></span>
|
||||
</span>
|
||||
<input type="text"
|
||||
class="form-control form-control-sm align-right"
|
||||
paceholder="bedrag"
|
||||
data-bind="textInput:costs, visible:inEdit,
|
||||
event:{change:$root.saveProjectcosts,keyup:$root.validateNumber.bind($data, 'costs')}"/>
|
||||
</td>
|
||||
<td class="align-right">
|
||||
<span data-bind=" visible: ! inEdit()">
|
||||
<i class="icon fa-euro"></i>
|
||||
<span data-bind="text:dbo.helpers.numberWithPoints(payed())"></span>
|
||||
</span>
|
||||
<input type="text"
|
||||
class="form-control form-control-sm align-right"
|
||||
paceholder="bedrag"
|
||||
data-bind="textInput:payed, visible:inEdit,
|
||||
event:{change:$root.saveProjectcosts,keyup:$root.validateNumber.bind($data, 'payed')}"/>
|
||||
</td>
|
||||
<td class="align-center">
|
||||
<!-- ko if:fromReservation() -->
|
||||
<i class="icon fa-check pointer"
|
||||
data-bind="click:$root.toggleFromReservation"></i>
|
||||
<!-- /ko -->
|
||||
<!-- ko if: ! fromReservation() -->
|
||||
<i class="icon fa-square-o pointer"
|
||||
data-bind="click:$root.toggleFromReservation"></i>
|
||||
<!-- /ko -->
|
||||
</td>
|
||||
<td class="align-right">
|
||||
<span>
|
||||
<i class="icon fa-euro"></i>
|
||||
<span data-bind="text:dbo.helpers.numberWithPoints(toPay())"></span>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<i class="icon fa-edit pointer" title="wijzig" data-bind="click:$root.editProjectcosts"></i>
|
||||
<i class="icon fa-trash redish pointer" title="verwijder"
|
||||
data-bind="click:$root.removeProjectcosts"></i>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th colspan="3" class="table-cyanish-header"></th>
|
||||
<th class="align-right table-cyanish-header">
|
||||
<span data-bind="text:dbo.helpers.numberWithPoints(totalCosts())"></span>
|
||||
</th>
|
||||
<th class="align-right table-cyanish-header">
|
||||
<span data-bind="text:dbo.helpers.numberWithPoints(totalPayed())"></span>
|
||||
</th>
|
||||
<th class="table-cyanish-header"></th>
|
||||
<th class="align-right table-cyanish-header">
|
||||
<span data-bind="text:dbo.helpers.numberWithPoints(totalToPay())"></span>
|
||||
</th>
|
||||
<th class="table-cyanish-header"></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="8">
|
||||
<button class="btn btn-primary btn-round btn-sm" data-bind="click:newProjectcost">
|
||||
nieuwe projectkosten
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,159 @@
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-bordered panel-primary panel-line">
|
||||
<div class="panel-heading panel-heading-project">
|
||||
<h3 class="">
|
||||
Projectgegevens
|
||||
</h3>
|
||||
</div>
|
||||
<div class="panel-body panel-body-project">
|
||||
<div class="row">
|
||||
<label class="col-md-4 col-form-label">omschrijving</label>
|
||||
<div class="col-md-8">
|
||||
<input type="text" class="form-control form-control-sm"
|
||||
data-bind="textInput:projectname, event:{keyup:saveProjectname}"/>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<label class="col-md-4 col-form-label">klant</label>
|
||||
<div class="col-md-8">
|
||||
<select class="form-control form-control-sm"
|
||||
data-bind="options:customers,
|
||||
optionsText:'name',
|
||||
optionsValue: 'id',
|
||||
value:customerID,
|
||||
disable:offers().length > 0,
|
||||
optionsCaption:'selecteer klant',
|
||||
event:{change:saveProject},
|
||||
css:{'is-invalid': ! customerID()}"></select>
|
||||
<small class="invalid-feedback"
|
||||
data-bind="style:{display: ! customerID() ? 'block' : 'none'}">
|
||||
selecteer een klant
|
||||
</small>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<label class="col-md-4 col-form-label">projectleider</label>
|
||||
<div class="col-md-8">
|
||||
<select class="form-control form-control-sm"
|
||||
data-bind="options:users,
|
||||
optionsText:'fullname',
|
||||
optionsValue:'id',
|
||||
value:projectleaderID,
|
||||
optionsCaption:'projectleider',
|
||||
event:{change:saveProject}">
|
||||
</select>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<label class="col-md-4 col-form-label">begin project</label>
|
||||
<div class="col-md-8">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-calendar"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="start project"
|
||||
class="form-control form-control-sm"
|
||||
readonly
|
||||
data-bind="datepicker:{dateFormat: 'dd-mm-yy' },
|
||||
value:startdate,
|
||||
event:{change:saveProject}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<label class="col-md-4 col-form-label">eind project</label>
|
||||
<div class="col-md-8">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-calendar"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="eind project"
|
||||
class="form-control form-control-sm"
|
||||
readonly
|
||||
data-bind="datepicker:{dateFormat: 'dd-mm-yy' },
|
||||
value:enddate,
|
||||
event:{change:saveProject}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<label class="col-md-4 col-form-label">BTW percentage</label>
|
||||
<div class="col-md-3">
|
||||
<select class="form-control form-control-sm"
|
||||
data-bind="options:vats,
|
||||
optionsText:'vatrate',
|
||||
optionsValue:'id',
|
||||
value:vat_id,
|
||||
event:{change:$root.saveProject},
|
||||
optionsCaption:'selecteer btw ...'"></select>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<label class="col-md-4 col-form-label">te besteden uren</label>
|
||||
<div class="col-md-8">
|
||||
<h4><span data-bind="text:(totalBudget() - totalHours())"></span></h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-bordered panel-primary panel-line">
|
||||
<div class="panel-heading panel-heading-project">
|
||||
<h3 class="">
|
||||
Financieel
|
||||
</h3>
|
||||
</div>
|
||||
<div class="panel-body panel-body-project">
|
||||
<label class="col-md-6 col-form-label">Eigen tarief omzet(excl.btw)</label>
|
||||
<div class="col-md-6">
|
||||
<h4 class="form-control-label">
|
||||
<i class="icon fa-euro"> </i><span class="euro-amount" data-bind="text:ownRevenue"></span>
|
||||
</h4>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<label class="col-md-6 col-form-label">Overige kosten(excl.btw)</label>
|
||||
<div class="col-md-6">
|
||||
<h4 class="form-control-label">
|
||||
<i class="icon fa-euro"> </i><span class="euro-amount" data-bind="text:otherRevenue"></span>
|
||||
</h4>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<label class="col-md-6 col-form-label">Kosten derden(excl.btw)</label>
|
||||
<div class="col-md-6">
|
||||
<h4 class="form-control-label">
|
||||
<i class="icon fa-euro"> </i><span class="euro-amount" data-bind="text:costs"></span>
|
||||
</h4>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<label class="col-md-6 col-form-label">Totaal omzet(excl.btw)</label>
|
||||
<div class="col-md-6">
|
||||
<h4><i class="icon fa-euro"> </i><span class="euro-amount" data-bind="text:totalRevenues"></span></h4>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<label class="col-md-6 col-form-label">Totaal omzet(incl.btw)</label>
|
||||
<div class="col-md-6">
|
||||
<h4><i class="icon fa-euro"> </i><span class="euro-amount" data-bind="text:totalRevenuesIncl"></span></h4>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<label class="col-md-6 col-form-label">Totaal gefactureerd</label>
|
||||
<div class="col-md-6">
|
||||
<h4><i class="icon fa-euro"> </i><span class="euro-amount" data-bind="text:totalInvoiced"></span></h4>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<label class="col-md-6 col-form-label">Nog te factureren</label>
|
||||
<div class="col-md-6">
|
||||
<h4><i class="icon fa-euro"> </i><span class="euro-amount" data-bind="text:outstanding"></span></h4>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<label class="col-md-6 col-form-label">Totaal betaald</label>
|
||||
<div class="col-md-6">
|
||||
<h4><i class="icon fa-euro"> </i><span class="euro-amount" data-bind="text:payed"></span></h4>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<label class="col-md-6 col-form-label">Gefactureerd niet betaald</label>
|
||||
<div class="col-md-6">
|
||||
<h4><i class="icon fa-euro"> </i><span class="euro-amount" data-bind="text:outstandingInvoices"></span></h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,82 @@
|
||||
<div class="panel panel-bordered panel-primary panel-line">
|
||||
<div class="panel-heading panel-heading-project">
|
||||
<h3 class="">
|
||||
project medewerkers
|
||||
</h3>
|
||||
</div>
|
||||
<div class="panel-body panel-body-project">
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<th class="table-cyanish-header" width="40%">
|
||||
naam
|
||||
</th>
|
||||
<th class="table-cyanish-header align-right" width="20%">
|
||||
tarief
|
||||
</th>
|
||||
<th class="table-cyanish-header align-right" width="25%">
|
||||
budget
|
||||
</th>
|
||||
<th class="table-cyanish-header" width="15%">
|
||||
|
||||
</th>
|
||||
</thead>
|
||||
<tbody data-bind="foreach:projectEmployees">
|
||||
<tr>
|
||||
<td>
|
||||
<span data-bind="text:dbo.helpers.findArrayElement('id', 'fullname', employeeID(), $root.users()),
|
||||
visible: ! inEdit()"></span>
|
||||
<select class="form-control form-control-sm"
|
||||
data-bind="
|
||||
options:$root.users,
|
||||
optionsText:'fullname',
|
||||
optionsValue:'id',
|
||||
value:employeeID,
|
||||
optionsCaption:'naam',
|
||||
event:{change:$root.changeProjectemployee},
|
||||
visible:inEdit"></select>
|
||||
</td>
|
||||
<td class="align-right">
|
||||
<span data-bind=" visible: ! inEdit()">
|
||||
<i class="icon fa-euro"></i>
|
||||
<span data-bind="text:tarif"></span>
|
||||
</span class="align-right">
|
||||
<input type="text"
|
||||
class="form-control form-control-sm"
|
||||
paceholder="tarief"
|
||||
data-bind="textInput:tarif, visible:inEdit,
|
||||
event:{change:$root.saveProjectemployee,keyup:$root.validateNumber.bind($data, 'tarif')}"/>
|
||||
</td>
|
||||
<td class="align-right">
|
||||
<span data-bind="visible: ! inEdit()"><span data-bind="text:budget"></span> uur</span>
|
||||
<input type="text"
|
||||
class="form-control form-control-sm"
|
||||
placeholder="budget"
|
||||
data-bind="textInput:budget, visible:inEdit,
|
||||
event:{change:$root.saveProjectemployee,keyup:$root.validateNumber.bind($data, 'budget')}"/>
|
||||
</td>
|
||||
<td>
|
||||
<i class="icon fa-edit pointer" title="wijzig" data-bind="click:$root.editProjectemployee"></i>
|
||||
<i class="icon fa-trash redish pointer" title="verwijder"
|
||||
data-bind="click:$root.removeProjectemployee"></i>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th class="table-cyanish-header align-right" colspan="2"> </th>
|
||||
<th class="table-cyanish-header align-right">
|
||||
<span data-bind="text:totalBudget"></span> uur
|
||||
</th>
|
||||
<th class="table-cyanish-header align-right"></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<button class="btn btn-primary btn-round btn-sm" data-bind="click:addProjectemployee">
|
||||
nieuwe project medewerker
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,37 @@
|
||||
<div class="col-md-8">
|
||||
<table class="table table-condensed">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>door</th>
|
||||
<th>datum</th>
|
||||
<th>bestandsnaam</th>
|
||||
<th> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody data-bind="foreach:documents">
|
||||
<tr>
|
||||
<td>
|
||||
<span data-bind="text:fullname"></span>
|
||||
</td>
|
||||
<td>
|
||||
<span data-bind="text:uploaddate"></span>
|
||||
</td>
|
||||
<td>
|
||||
<span data-bind="text:originalname"></span>
|
||||
</td>
|
||||
<td>
|
||||
<i class="icon fa-download pointer" data-bind="click:$root.downloadDocument"></i>
|
||||
<i class="icon fa-trash redish pointer" data-bind="click:$root.removeFile"></i>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr></tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
<div class="upload-btn-wrapper" data-bind="">
|
||||
<button class="upload-btn">voeg bestand toe</button>
|
||||
<input type="file" name="userfile" data-bind="event:{change:addDocument}" id="fileinput"/>
|
||||
</div>
|
||||
<hr/>
|
||||
</div>
|
||||
@@ -0,0 +1,49 @@
|
||||
<div class="panel panel-bordered panel-primary panel-line">
|
||||
<div class="panel-heading panel-heading-project">
|
||||
<h3 class="">
|
||||
offerte
|
||||
</h3>
|
||||
</div>
|
||||
<div class="panel-body panel-body-project">
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<th class="table-cyanish-header">
|
||||
nummer
|
||||
</th>
|
||||
<th class="table-cyanish-header">
|
||||
start
|
||||
</th>
|
||||
<th class="table-cyanish-header align-right">
|
||||
eigen omzet (excl btw)
|
||||
</th>
|
||||
<th class="table-cyanish-header align-right">
|
||||
overig omzet (excl btw)
|
||||
</th>
|
||||
<th class="table-cyanish-header">
|
||||
|
||||
</th>
|
||||
</thead>
|
||||
<tbody data-bind="foreach:offers">
|
||||
<tr>
|
||||
<td>
|
||||
<span data-bind="text:offernumber"></span>
|
||||
</td>
|
||||
<td>
|
||||
<span data-bind="text:startdate"></span>
|
||||
</td>
|
||||
<td class="align-right">
|
||||
<span data-bind="text:dbo.helpers.numberWithPoints(own_revenue.toFixed(0))"></span>
|
||||
</td>
|
||||
<td class="align-right">
|
||||
<span data-bind="text:dbo.helpers.numberWithPoints(other_revenue.toFixed(0))"></span>
|
||||
</td>
|
||||
<!-- <td>-->
|
||||
<!-- <i class="icon fa-edit pointer" title="wijzig" data-bind="click:$root.editOffer"></i>-->
|
||||
<!-- <i class="icon fa-trash redish pointer" title="verwijder"-->
|
||||
<!-- data-bind="click:$root.removeOffer"></i>-->
|
||||
<!-- </td>-->
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,68 @@
|
||||
<div class="panel panel-bordered panel-primary panel-line">
|
||||
<div class="panel-heading panel-heading-project">
|
||||
<h3 class="">
|
||||
gereserveerd op spaarrekening (incl. btw)
|
||||
</h3>
|
||||
</div>
|
||||
<div class="panel-body panel-body-project">
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<th class="table-cyanish-header align-right" width="40%">
|
||||
bedrag
|
||||
</th>
|
||||
<th class="table-cyanish-header" width="40%">
|
||||
klant
|
||||
</th>
|
||||
<th class="table-cyanish-header" width="20%"> </th>
|
||||
</thead>
|
||||
<tbody data-bind="foreach:reservations">
|
||||
<tr>
|
||||
<td class="align-right" data-bind="css:{'red-line':invalidReservation()}">
|
||||
<span data-bind="visible:!inEdit()">
|
||||
<i class="icon fa-euro"></i>
|
||||
<span data-bind="text:dbo.helpers.numberWithPoints(reservationamount())"></span>
|
||||
</span>
|
||||
<input type="text"
|
||||
class="form-control form-control-sm align-right"
|
||||
paceholder="bedrag"
|
||||
data-bind="textInput:reservationamount, visible:inEdit,
|
||||
event:{change:$root.saveReservation,keyup:$root.validateNumber.bind($data, 'reservationamount')}"/>
|
||||
</td>
|
||||
<td data-bind="css:{'red-line':invalidReservation()}">
|
||||
<span data-bind="text:dbo.helpers.findArrayElement('id', 'contactperson', external_id(), $root.externals()),
|
||||
visible:! inEdit()"></span>
|
||||
<select class="form-control"
|
||||
data-bind="
|
||||
options:$root.externals,
|
||||
optionsText:'contactperson',
|
||||
optionsValue:'id',
|
||||
value:external_id,
|
||||
optionsCaption:'selecteer...',
|
||||
visible: inEdit(),
|
||||
event:{change:$root.saveReservation}"
|
||||
</td>
|
||||
<td data-bind="css:{'red-line':invalidReservation()}">
|
||||
<i class="icon fa-edit pointer" title="wijzig" data-bind="click:$root.editReservation"></i>
|
||||
<i class="icon fa-trash redish pointer" title="verwijder"
|
||||
data-bind="click:$root.removeReservation"></i>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th class="align-right table-cyanish-header">
|
||||
<span data-bind="text:dbo.helpers.numberWithPoints(totalReservationamount())"></span>
|
||||
</th>
|
||||
<th class="table-cyanish-header" colspan="2"></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="4">
|
||||
<button class="btn btn-primary btn-round btn-sm" data-bind="click:addReservation">
|
||||
nieuwe reservering
|
||||
</button>
|
||||
</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,84 @@
|
||||
<div class="project-page" id="project-modal" data-bind="fadeVisible:showProject()">
|
||||
|
||||
<div class="container" style="margin-top:15px;padding-top:15px;">
|
||||
<div class="nav-tabs-horizontal nav-tabs-animate nav-tab-reverse">
|
||||
<ul class="nav nav-tabs nav-tabs-solid">
|
||||
<li class="nav-item"
|
||||
role="presentation"
|
||||
data-bind="css:{'active':activeTab()=='DASHBOARD'},
|
||||
click:setActiveTab.bind($data,'DASHBOARD')">
|
||||
<a>
|
||||
<i class="icon fa-hacker-news"></i>
|
||||
algemeen</a>
|
||||
</li>
|
||||
<li class="nav-item"
|
||||
role="presentation"
|
||||
data-bind="css:{'active':activeTab()=='FINANCIAL'},
|
||||
click:setActiveTab.bind($data,'FINANCIAL')">
|
||||
<a>
|
||||
<i class="icon fa-euro"></i>
|
||||
financieel</a>
|
||||
</li>
|
||||
<li class="nav-item"
|
||||
role="presentation"
|
||||
data-bind="css:{'active':activeTab()=='EMPLOYEES'},
|
||||
click:setActiveTab.bind($data,'EMPLOYEES')">
|
||||
<a>
|
||||
<i class="icon fa-user-circle"></i>
|
||||
medewerkers</a>
|
||||
</li>
|
||||
<li class="nav-item"
|
||||
role="presentation"
|
||||
data-bind="css:{'active':activeTab()=='FILES'},
|
||||
click:setActiveTab.bind($data,'FILES')">
|
||||
<a>
|
||||
<i class="icon fa-files"></i>
|
||||
bestanden en opmerkingen</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div style="position:relative; float:right;">
|
||||
<h3 style="position:absolute;top:-65px; right:30px; width:350px;">
|
||||
Projectnummer: <span data-bind="text:projectnumber"></span>
|
||||
<i class="icon fa-refresh pointer blueish" title="ververs" data-bind="click:refreshProject"></i>
|
||||
</h3>
|
||||
<button class="btn btn-danger" data-bind="click:closeProject"
|
||||
style="position:absolute;right:0px;top:-50px">
|
||||
sluit
|
||||
</button>
|
||||
</div>
|
||||
<div id="project-scroller">
|
||||
<div class="tab-pane animation-slide-top"
|
||||
id="dashboard"
|
||||
data-bind="visible:activeTab()=='DASHBOARD'">
|
||||
<?= view('modals/partials/_dashboard') ?>
|
||||
</div>
|
||||
<div class="tab-pane animation-slide-top"
|
||||
id="financial"
|
||||
data-bind="visible:activeTab()=='FINANCIAL'">
|
||||
<?= view('modals/partials/_financials') ?>
|
||||
</div>
|
||||
<div class="tab-pane animation-slide-top"
|
||||
id="employees"
|
||||
data-bind="visible:activeTab()=='EMPLOYEES'">
|
||||
<div class="row" data-bind="fadeVisible:customerID()">
|
||||
<div class="col-md-5" data-bind="fadeVisible:customerID()">
|
||||
<?= view('modals/partials/_projectemployees') ?>
|
||||
</div>
|
||||
<div class="col-md-7">
|
||||
<?= view('modals/partials/_hourTotals') ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane animation-slide-top"
|
||||
id="files"
|
||||
data-bind="visible:activeTab()=='FILES'">
|
||||
<div class="row" data-bind="fadeVisible:customerID()">
|
||||
<?= view('modals/partials/_projectfiles') ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,159 @@
|
||||
<div class="modal modal-fade-in-scale-up modal-primary" tabindex="-1" id="user-modal">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">toevoegen / wijzigen medewerker
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</h5>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div role="form" class="form-horizontal">
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 form-control-label">
|
||||
voornaam
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-user"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="voornaam"
|
||||
class="form-control"
|
||||
data-bind="textInput:firstname,
|
||||
css:{'is-invalid':firstnameInvalid}">
|
||||
</div>
|
||||
<small class="invalid-feedback"
|
||||
data-bind="style:{display: firstnameInvalid() ? 'block' : 'none'}">
|
||||
voer een voornaam in<span data-bind="text:firstnameInvalid"></span>
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 form-control-label">
|
||||
tussenvoegsel
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-user"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="tussenvoegsel"
|
||||
class="form-control"
|
||||
data-bind="textInput:middlename">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 form-control-label">
|
||||
achternaam
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-user"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="achternaam"
|
||||
class="form-control"
|
||||
data-bind="textInput:lastname,
|
||||
css:{'is-invalid':lastnameInvalid}">
|
||||
</div>
|
||||
<small class="invalid-feedback"
|
||||
data-bind="style:{display: lastnameInvalid() ? 'block' : 'none'}">
|
||||
voer een achternaam in<span data-bind="text:lastnameInvalid"></span>
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 form-control-label">
|
||||
gebruikersnaam
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-user"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="gebruikersnaam"
|
||||
class="form-control"
|
||||
data-bind="textInput:username,
|
||||
css:{'is-invalid':usernameInvalid}">
|
||||
</div>
|
||||
<small class="invalid-feedback"
|
||||
data-bind="style:{display: usernameInvalid() ? 'block' : 'none'}">
|
||||
voer een gebruikernaam in<span data-bind="text:username"></span>
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 form-control-label">
|
||||
email
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-envelope"></i>
|
||||
</span>
|
||||
<input type="email"
|
||||
placeholder="email"
|
||||
class="form-control"
|
||||
data-bind="textInput:email,
|
||||
css:{'is-invalid':emailInvalid}">
|
||||
</div>
|
||||
<small class="invalid-feedback"
|
||||
data-bind="style:{display: emailInvalid() ? 'block' : 'none'}">
|
||||
email ongeldig<span data-bind="text:emailInvalid"></span>
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-3 form-control-label">
|
||||
uurtarief
|
||||
</label>
|
||||
<div class="col-md-4">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-euro"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="uurtarief"
|
||||
class="form-control align-right"
|
||||
data-bind="textInput:hourlyRate,
|
||||
event:{keyup:validateNumber.bind($data, 'hourlyRate')}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<div class="col-md-3"> </div>
|
||||
<!-- ko foreach:roles -->
|
||||
<div class="radio-inline">
|
||||
<i class="icon fa-circle-o blueish"
|
||||
style="cursor:pointer;"
|
||||
data-bind="visible:$root.role() != rolelevel,
|
||||
click:$root.setRole"></i>
|
||||
<i class="icon fa-check-circle-o greenish"
|
||||
data-bind="visible:$root.role() == rolelevel"></i>
|
||||
<label data-bind="text:rolename">
|
||||
</label>
|
||||
</div>
|
||||
<!-- /ko -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button"
|
||||
class="btn btn-success"
|
||||
data-bind="visible:formValid(), click:saveUser">opslaan</button>
|
||||
<button type="button" class="btn btn-warning" data-dismiss="modal">annuleren</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user