projecten
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
dbo.offerDataService = {
|
||||
|
||||
getAllOffers: function ( projectID, archive = 'F', callback ) {
|
||||
$.getJSON( 'index.php/projects/offersController/getAllOffers/' + archive )
|
||||
$.getJSON( 'index.php/projects/offersController/getAllOffers/' + projectID + '/' + archive )
|
||||
.done( function ( data ) {
|
||||
callback( data );
|
||||
} );
|
||||
@@ -29,15 +29,15 @@ dbo.offerDataService = {
|
||||
} );
|
||||
},
|
||||
|
||||
archiveOffer: function ( userID, status, callback ) {
|
||||
$.get( 'index.php/projects/offersController/archiveOffer/' + userID + '/' + status )
|
||||
archiveOffer: function ( offerID, status, callback ) {
|
||||
$.get( 'index.php/projects/offersController/archiveOffer/' + offerID + '/' + status )
|
||||
.done( function () {
|
||||
callback();
|
||||
} );
|
||||
},
|
||||
|
||||
removeOffer: function ( userID, callback ) {
|
||||
$.getJSON( 'index.php/projects/offersController/removeOffer/' + userID )
|
||||
removeOffer: function ( offerID, callback ) {
|
||||
$.getJSON( 'index.php/projects/offersController/removeOffer/' + offerID )
|
||||
.done( function ( data ) {
|
||||
callback( data );
|
||||
} );
|
||||
|
||||
@@ -21,6 +21,13 @@ dbo.projectDataService = {
|
||||
} );
|
||||
},
|
||||
|
||||
getpayMents: function ( projectID, callback ) {
|
||||
$.getJSON( 'index.php/projects/projectsController/getP ayments/' + projectID )
|
||||
.done( function ( data ) {
|
||||
callback( data );
|
||||
} );
|
||||
},
|
||||
|
||||
addProject: function ( callback ) {
|
||||
$.getJSON( 'index.php/projects/projectsController/addProject', function ( data ) {
|
||||
callback( data );
|
||||
@@ -33,15 +40,32 @@ dbo.projectDataService = {
|
||||
} );
|
||||
},
|
||||
|
||||
addProjectEmployee: function ( projectID, callback ) {
|
||||
$.getJSON( 'index.php/projects/projectsController/addProjectemployee/' + projectID, function ( data ) {
|
||||
callback( data );
|
||||
addProjectemployee: function ( projectID, callback ) {
|
||||
$.get( 'index.php/projects/projectsController/addProjectemployee/' + projectID, function () {
|
||||
callback();
|
||||
} );
|
||||
},
|
||||
|
||||
saveProject: function ( submitDATA, callback ) {
|
||||
$.post( 'index.php/projects/projectsController/saveProject', submitDATA, function () {
|
||||
}, 'json' )
|
||||
saveProject: function ( projectID, submitDATA, callback ) {
|
||||
$.post( 'index.php/projects/projectsController/saveProject', submitDATA, 'json' )
|
||||
.done( function ( data ) {
|
||||
callback( data );
|
||||
} );
|
||||
},
|
||||
|
||||
saveProjectemployee: function ( submitDATA ) {
|
||||
$.post( 'index.php/projects/projectsController/saveProjectemployee', submitDATA );
|
||||
},
|
||||
|
||||
savePayment: function ( submitDATA, callback ) {
|
||||
$.post( 'index.php/projects/projectsController/savePayment', submitDATA )
|
||||
.done( function ( data ) {
|
||||
callback( data );
|
||||
} );
|
||||
},
|
||||
|
||||
saveProjecthour: function ( submitDATA, callback ) {
|
||||
$.post( 'index.php/projects/projectsController/saveProjecthour', submitDATA )
|
||||
.done( function ( data ) {
|
||||
callback( data );
|
||||
} );
|
||||
@@ -54,8 +78,29 @@ dbo.projectDataService = {
|
||||
} );
|
||||
},
|
||||
|
||||
removeProject: function ( userID, callback ) {
|
||||
$.getJSON( 'index.php/projects/projectsController/removeProject/' + userID )
|
||||
removeProject: function ( projectID, callback ) {
|
||||
$.getJSON( 'index.php/projects/projectsController/removeProject/' + projectID )
|
||||
.done( function ( data ) {
|
||||
callback( data );
|
||||
} );
|
||||
},
|
||||
|
||||
removeProjectemployee: function ( projectemployeeID, callback ) {
|
||||
$.getJSON( 'index.php/projects/projectsController/removeProjectemployee/' + projectemployeeID )
|
||||
.done( function ( data ) {
|
||||
callback( data );
|
||||
} );
|
||||
},
|
||||
|
||||
removePayment: function ( paymentID, callback ) {
|
||||
$.getJSON( 'index.php/projects/projectsController/removePayment/' + paymentID )
|
||||
.done( function ( data ) {
|
||||
callback( data );
|
||||
} );
|
||||
},
|
||||
|
||||
removeProjecthour: function ( projecthourID, callback ) {
|
||||
$.getJSON( 'index.php/projects/projectsController/removeProjecthour/' + projecthourID )
|
||||
.done( function ( data ) {
|
||||
callback( data );
|
||||
} );
|
||||
|
||||
@@ -18,9 +18,9 @@ dbo.helpers = {
|
||||
|
||||
// convert to comma or point number
|
||||
if ( point ) {
|
||||
input = input.replace( ',', '' );
|
||||
input = input.toString().replace( ',', '' );
|
||||
} else {
|
||||
input = input.replace( '.', '' );
|
||||
input = input.toString().replace( '.', '' );
|
||||
}
|
||||
|
||||
//remain only last comma or point and remove all non numbers
|
||||
@@ -58,6 +58,7 @@ dbo.helpers = {
|
||||
},
|
||||
|
||||
mysql2date : function(date){
|
||||
if( ! date ) return null;
|
||||
if( date.length != 10 ) return null;
|
||||
|
||||
var dateParts = date.split("-");
|
||||
|
||||
@@ -76,7 +76,7 @@ $( function () {
|
||||
message : errorMessage,
|
||||
modalClass: 'modal-danger'
|
||||
} );
|
||||
} );
|
||||
} );8
|
||||
},
|
||||
|
||||
setCustomer: function ( customer ) {
|
||||
|
||||
@@ -21,22 +21,21 @@ $( function () {
|
||||
offerleader_id : ko.observable(),
|
||||
own_revenue : ko.observable(),
|
||||
other_revenue : ko.observable(),
|
||||
hasProject : ko.observable(),
|
||||
|
||||
init: function () {
|
||||
var vm = dbo.editOfferModal;
|
||||
|
||||
dbo.editOfferModal.refreshCustomers();
|
||||
|
||||
dbo.editOfferModal.refreshUsers();
|
||||
},
|
||||
|
||||
newEditOffer: function ( offer, callback ) {
|
||||
newEditOffer: function ( offer, projectID = false, customerID = false, hasProject = false, callback ) {
|
||||
var vm = dbo.editOfferModal;
|
||||
vm.callback = typeof(callback) == 'function' ? callback : null;
|
||||
|
||||
vm.showOfferModal();
|
||||
|
||||
vm.setOffer( offer );
|
||||
vm.setOffer( offer, projectID, customerID, hasProject );
|
||||
},
|
||||
|
||||
getCustomerProjects: function () {
|
||||
@@ -92,12 +91,20 @@ $( function () {
|
||||
} );
|
||||
},
|
||||
|
||||
setOffer: function ( offer ) {
|
||||
setOffer: function ( offer, projectID, customerID, hasProject ) {
|
||||
var vm = dbo.editOfferModal;
|
||||
|
||||
vm.hasProject( hasProject );
|
||||
|
||||
vm.id = offer.id || 0;
|
||||
vm.customer_id( offer.customer_id || null );
|
||||
vm.project_id( offer.project_id || null );
|
||||
|
||||
if ( projectID ) {
|
||||
vm.project_id( projectID );
|
||||
vm.customer_id( customerID );
|
||||
} else {
|
||||
vm.project_id( offer.project_id || null );
|
||||
vm.customer_id( offer.customer_id || null );
|
||||
}
|
||||
vm.offerleader_id( offer.offerleader_id || null );
|
||||
vm.offernumber( offer.offernumber || null );
|
||||
vm.startdate( offer.startdate || null );
|
||||
@@ -128,7 +135,7 @@ $( function () {
|
||||
} );
|
||||
},
|
||||
|
||||
addUser:function(){
|
||||
addUser: function () {
|
||||
var vm = dbo.editOfferModal;
|
||||
dbo.editUserModal.newEditUser( false, function () {
|
||||
vm.refreshUsers();
|
||||
|
||||
@@ -6,29 +6,120 @@
|
||||
*/
|
||||
|
||||
$( function () {
|
||||
var timeout;
|
||||
dbo.editProjectModal = {
|
||||
|
||||
offers : ko.observableArray( [] ),
|
||||
projectEmployees: ko.observableArray( [] ),
|
||||
customers : ko.observableArray( [] ),
|
||||
users : ko.observableArray( [] ),
|
||||
payments : ko.observableArray( [] ),
|
||||
projecthours : ko.observableArray( [] ),
|
||||
offerFiles : ko.observableArray( [] ),
|
||||
offerComments : ko.observableArray( [] ),
|
||||
projectFiles : ko.observableArray( [] ),
|
||||
projectComments : ko.observableArray( [] ),
|
||||
showProject : ko.observable( false ),
|
||||
projectID : null,
|
||||
callback : null,
|
||||
customerID : ko.observable( null ),
|
||||
projectleaderID : ko.observable(),
|
||||
archive : ko.observable( false ),
|
||||
startdate : ko.observable( null ),
|
||||
enddate : ko.observable( null ),
|
||||
busy : false,
|
||||
|
||||
init: function () {
|
||||
var vm = dbo.editProjectModal;
|
||||
|
||||
vm.refreshProject();
|
||||
|
||||
dbo.customerDataService.getAllCustomers( 'F', function ( data ) {
|
||||
vm.customers( data );
|
||||
dbo.userDataService.getAllUsers( 'F', function ( data ) {
|
||||
vm.users( data );
|
||||
vm.refreshProject();
|
||||
} );
|
||||
} );
|
||||
},
|
||||
|
||||
editProjectemployee: function () {
|
||||
var self = this;
|
||||
var vm = dbo.editProjectModal;
|
||||
$.each( vm.projectEmployees(), function ( i, p ) {
|
||||
if ( p.id == self.id ) {
|
||||
p.inEdit( !p.inEdit() );
|
||||
} else {
|
||||
p.inEdit( false );
|
||||
}
|
||||
} );
|
||||
},
|
||||
|
||||
editPayment: function () {
|
||||
var self = this;
|
||||
var vm = dbo.editProjectModal;
|
||||
$.each( vm.payments(), function ( i, p ) {
|
||||
if ( p.id == self.id ) {
|
||||
p.inEdit( !p.inEdit() );
|
||||
} else {
|
||||
p.inEdit( false );
|
||||
}
|
||||
} );
|
||||
},
|
||||
|
||||
editProjecthour: function () {
|
||||
var self = this;
|
||||
var vm = dbo.editProjectModal;
|
||||
$.each( vm.projecthours(), function ( i, p ) {
|
||||
if ( p.id == self.id ) {
|
||||
p.inEdit( !p.inEdit() );
|
||||
} else {
|
||||
p.inEdit( false );
|
||||
}
|
||||
} );
|
||||
},
|
||||
|
||||
newOffer: function () {
|
||||
var vm = dbo.editProjectModal;
|
||||
var service = dbo.offersService;
|
||||
service.vm = dbo.editProjectModal;
|
||||
|
||||
service.newOffer( vm.projectID, vm.customerID() );
|
||||
},
|
||||
|
||||
newPayment: function () {
|
||||
var vm = dbo.editProjectModal;
|
||||
|
||||
var payment = {
|
||||
id : 0,
|
||||
offernumber : '',
|
||||
paymentdate : null,
|
||||
paymentamount: 0,
|
||||
inEdit : true
|
||||
};
|
||||
|
||||
vm.payments.push( new vm.Payment( payment ) );
|
||||
},
|
||||
|
||||
newProjecthour: function () {
|
||||
var vm = dbo.editProjectModal;
|
||||
|
||||
var projecthour = {
|
||||
id : 0,
|
||||
projectemployee_id: null,
|
||||
hourdate : null,
|
||||
hours : 0,
|
||||
inEdit : true
|
||||
};
|
||||
|
||||
vm.projecthours.push( new vm.Projecthour( projecthour ) );
|
||||
},
|
||||
|
||||
editOffer: function () {
|
||||
var service = dbo.offersService;
|
||||
service.vm = dbo.editProjectModal;
|
||||
|
||||
service.editOffer( this, false, false, true );
|
||||
},
|
||||
|
||||
addProject: function ( callback ) {
|
||||
var vm = dbo.editProjectModal;
|
||||
|
||||
@@ -43,45 +134,289 @@ $( function () {
|
||||
} );
|
||||
},
|
||||
|
||||
addProjectEmployee: function () {
|
||||
addProjectemployee: function () {
|
||||
var vm = dbo.editProjectModal;
|
||||
dbo.projectDataService.addProjectemployee( function ( projectID ) {
|
||||
vm.projectID = projectID;
|
||||
|
||||
dbo.projectDataService.addProjectemployee( vm.projectID, function () {
|
||||
vm.refreshProject();
|
||||
} );
|
||||
},
|
||||
|
||||
saveCustomerID: function () {
|
||||
editProject: function ( projectID, callback ) {
|
||||
var vm = dbo.editProjectModal;
|
||||
|
||||
vm.callback = callback;
|
||||
vm.projectID = projectID;
|
||||
|
||||
vm.showProject( true );
|
||||
|
||||
vm.init();
|
||||
},
|
||||
|
||||
saveProject: function () {
|
||||
var vm = dbo.editProjectModal;
|
||||
|
||||
if ( vm.busy ) return;
|
||||
|
||||
var submitDATA = {
|
||||
id : vm.projectID,
|
||||
customer_id : vm.customerID(),
|
||||
projectleader_id: vm.projectleaderID(),
|
||||
startdate : vm.startdate(),
|
||||
enddate : vm.enddate()
|
||||
}
|
||||
|
||||
dbo.projectDataService.saveProject( vm.projectID, submitDATA, function ( data ) {
|
||||
vm.projectID = data;
|
||||
} );
|
||||
},
|
||||
|
||||
saveProjectemployee: function () {
|
||||
var vm = dbo.editProjectModal;
|
||||
var self = this;
|
||||
|
||||
$.each( vm.users(), function ( i, p ) {
|
||||
if ( self.employeeID == p.id ) self.fullname( p.fullname );
|
||||
} );
|
||||
|
||||
if ( timeout ) {
|
||||
clearTimeout( timeout );
|
||||
timeout = null;
|
||||
}
|
||||
timeout = setTimeout( function () {
|
||||
var submitDATA = {
|
||||
id : self.id,
|
||||
user_id : self.employeeID(),
|
||||
tarif : self.tarif() ? self.tarif().toString().replace( ',', '.' ) : 0,
|
||||
budget : self.budget() ? self.budget().toString().replace( ',', '.' ) : 0,
|
||||
startdate: self.startdate()
|
||||
}
|
||||
|
||||
dbo.projectDataService.saveProjectemployee( submitDATA );
|
||||
}, 400 );
|
||||
},
|
||||
|
||||
savePayment: function () {
|
||||
var self = this;
|
||||
|
||||
if ( !self.offer_id() ) return;
|
||||
|
||||
var submitDATA = {
|
||||
id : self.id,
|
||||
offer_id : self.offer_id(),
|
||||
paymentdate : self.paymentdate(),
|
||||
paymentamount: self.paymentamount()
|
||||
};
|
||||
|
||||
dbo.projectDataService.savePayment( submitDATA, function ( data ) {
|
||||
if ( data.success ) self.id = data.paymentID;
|
||||
} );
|
||||
},
|
||||
|
||||
saveProjecthour: function () {
|
||||
var self = this;
|
||||
|
||||
if ( !self.projectemployee_id() ) return;
|
||||
|
||||
var submitDATA = {
|
||||
id : self.id,
|
||||
projectemployee_id: self.projectemployee_id(),
|
||||
hourdate : self.hourdate(),
|
||||
hours : self.hours()
|
||||
};
|
||||
|
||||
dbo.projectDataService.saveProjecthour( submitDATA, function ( data ) {
|
||||
console.log( data );
|
||||
if ( data.success ) self.id = data.projecthourID;
|
||||
} );
|
||||
},
|
||||
|
||||
removeProjectemployee: function () {
|
||||
var vm = dbo.editProjectModal;
|
||||
var self = this;
|
||||
|
||||
tellMe( {
|
||||
title : 'verwijderen projectmedewerker',
|
||||
message : 'weet u zeker dat u de projectmedewerker wilt verwijderen, dit kan niet ongedaan worden gemaakt',
|
||||
notify : true,
|
||||
noText : 'nee verwijder de projectmedewerker niet',
|
||||
yesText : 'ja verwijder de projectmedewerker',
|
||||
modalClass: 'modal-warning'
|
||||
}, function ( response ) {
|
||||
console.log( response );
|
||||
if ( response ) {
|
||||
dbo.projectDataService.removeProjectemployee( self.id, function ( data ) {
|
||||
if ( data.result ) {
|
||||
tellMe( {
|
||||
title : 'projectmedewerker verwijderd',
|
||||
message : 'de projectmedewerker is succesvol verwijderd',
|
||||
modalClass: 'modal-success'
|
||||
}, function () {
|
||||
vm.refreshProject();
|
||||
} );
|
||||
} else {
|
||||
tellMe( {
|
||||
title : 'fout bij verwijderen projectmedewerker',
|
||||
message : 'de projectmedewerker kan niet worden verwijderd',
|
||||
modalClass: 'modal-danger'
|
||||
} );
|
||||
}
|
||||
} );
|
||||
}
|
||||
} );
|
||||
},
|
||||
|
||||
removeOffer: function () {
|
||||
var vm = dbo.editProjectModal;
|
||||
var self = this;
|
||||
|
||||
tellMe( {
|
||||
title : 'verwijderen offerte',
|
||||
message : 'weet u zeker dat u de offerte wilt verwijderen, dit kan niet ongedaan worden gemaakt',
|
||||
notify : true,
|
||||
noText : 'nee verwijder de offerte niet',
|
||||
yesText : 'ja verwijder de offerte',
|
||||
modalClass: 'modal-warning'
|
||||
}, function ( response ) {
|
||||
console.log( response );
|
||||
if ( response ) {
|
||||
dbo.offerDataService.removeOffer( self.id, function ( data ) {
|
||||
if ( data.result ) {
|
||||
tellMe( {
|
||||
title : 'offerte verwijderd',
|
||||
message : 'de offerte is succesvol verwijderd',
|
||||
modalClass: 'modal-success'
|
||||
}, function () {
|
||||
vm.refreshProject();
|
||||
} );
|
||||
} else {
|
||||
tellMe( {
|
||||
title : 'fout bij verwijderen offerte',
|
||||
message : 'de offerte kan niet worden verwijderd',
|
||||
modalClass: 'modal-danger'
|
||||
} );
|
||||
}
|
||||
} );
|
||||
}
|
||||
} );
|
||||
},
|
||||
|
||||
removePayment: function () {
|
||||
var vm = dbo.editProjectModal;
|
||||
var self = this;
|
||||
|
||||
tellMe( {
|
||||
title : 'verwijderen betaling',
|
||||
message : 'weet u zeker dat u de betaling wilt verwijderen, dit kan niet ongedaan worden gemaakt',
|
||||
notify : true,
|
||||
noText : 'nee verwijder de betaling niet',
|
||||
yesText : 'ja verwijder de betaling',
|
||||
modalClass: 'modal-warning'
|
||||
}, function ( response ) {
|
||||
console.log( response );
|
||||
if ( response ) {
|
||||
dbo.projectDataService.removePayment( self.id, function ( data ) {
|
||||
if ( data.result ) {
|
||||
tellMe( {
|
||||
title : 'betaling verwijderd',
|
||||
message : 'de betaling is succesvol verwijderd',
|
||||
modalClass: 'modal-success'
|
||||
}, function () {
|
||||
vm.refreshProject();
|
||||
} );
|
||||
} else {
|
||||
tellMe( {
|
||||
title : 'fout bij verwijderen betaling',
|
||||
message : 'de betaling kan niet worden verwijderd',
|
||||
modalClass: 'modal-danger'
|
||||
} );
|
||||
}
|
||||
} );
|
||||
}
|
||||
} );
|
||||
},
|
||||
|
||||
removeProjecthour: function () {
|
||||
var vm = dbo.editProjectModal;
|
||||
var self = this;
|
||||
|
||||
tellMe( {
|
||||
title : 'verwijderen projectuur',
|
||||
message : 'weet u zeker dat u de projectuur wilt verwijderen, dit kan niet ongedaan worden gemaakt',
|
||||
notify : true,
|
||||
noText : 'nee verwijder de projectuur niet',
|
||||
yesText : 'ja verwijder de projectuur',
|
||||
modalClass: 'modal-warning'
|
||||
}, function ( response ) {
|
||||
console.log( response );
|
||||
if ( response ) {
|
||||
dbo.projectDataService.removeProjecthour( self.id, function ( data ) {
|
||||
if ( data.result ) {
|
||||
tellMe( {
|
||||
title : 'projectuur verwijderd',
|
||||
message : 'de projectuur is succesvol verwijderd',
|
||||
modalClass: 'modal-success'
|
||||
}, function () {
|
||||
vm.refreshProject();
|
||||
} );
|
||||
} else {
|
||||
tellMe( {
|
||||
title : 'fout bij verwijderen projectuur',
|
||||
message : 'de projectuur kan niet worden verwijderd',
|
||||
modalClass: 'modal-danger'
|
||||
} );
|
||||
}
|
||||
} );
|
||||
}
|
||||
} );
|
||||
},
|
||||
|
||||
closeProject: function () {
|
||||
var vm = dbo.editProjectModal;
|
||||
|
||||
vm.showProject( false );
|
||||
|
||||
vm.callback();
|
||||
},
|
||||
|
||||
validateNumber: function ( field ) {
|
||||
this[field]( dbo.helpers.validateNumber( this[field](), false ) );
|
||||
},
|
||||
|
||||
refreshProject: function () {
|
||||
var vm = dbo.editProjectModal;
|
||||
vm.busy = true;
|
||||
|
||||
dbo.projectDataService.getProject( vm.projectID, function ( data ) {
|
||||
vm.Project( data );
|
||||
} );
|
||||
},
|
||||
vm.id = data.id
|
||||
vm.projectleaderID( data.projectleader_id );
|
||||
vm.customerID( data.customer_id );
|
||||
vm.startdate( dbo.helpers.mysql2date( data.startdate ) );
|
||||
vm.enddate( dbo.helpers.mysql2date( data.enddate ) );
|
||||
|
||||
Project: function ( data ) {
|
||||
var vm = dbo.editProjectModal;
|
||||
var self = this;
|
||||
vm.projectEmployees.removeAll();
|
||||
vm.projecthours.removeAll();
|
||||
$.each( data.projectemployees, function ( i, p ) {
|
||||
vm.projectEmployees.push( new vm.Projectemployee( p ) );
|
||||
} );
|
||||
|
||||
vm.id = data.id;
|
||||
vm.customerID( data.customer_id );
|
||||
vm.startdate( data.startdate );
|
||||
vm.enddate( data.enddate );
|
||||
$.each( data.projectemployees, function ( i, p ) {
|
||||
var fullname = p.user ? p.user.fullname : '#NB';
|
||||
$.each( p.projecthours, function ( b, q ) {
|
||||
vm.projecthours.push( new vm.Projecthour( q, fullname ) );
|
||||
} );
|
||||
} );
|
||||
|
||||
self.projectEmployees = ko.observableArray( [] );
|
||||
$.each( data.employees, function ( i, p ) {
|
||||
self.projectEmployees.push( new vm.Projectemployee( p ) );
|
||||
vm.offers.removeAll();
|
||||
vm.payments.removeAll();
|
||||
$.each( data.offers, function ( i, p ) {
|
||||
vm.offers.push( new dbo.offersService.Offer( p ) );
|
||||
|
||||
$.each( p.payments, function ( z, q ) {
|
||||
vm.payments.push( new vm.Payment( q, p ) );
|
||||
} );
|
||||
} );
|
||||
|
||||
vm.busy = false;
|
||||
} );
|
||||
},
|
||||
|
||||
@@ -89,12 +424,36 @@ $( function () {
|
||||
var self = this;
|
||||
|
||||
self.id = data.id;
|
||||
self.employee_id = data.employee_id;
|
||||
self.fullname = data.user ? data.user.fullname : '#NB';
|
||||
self.tarif = data.tarif;
|
||||
self.budget = data.budget;
|
||||
self.startdate = dbo.helpers.mysql2date( data.startdate );
|
||||
self.enddate = dbo.helpers.mysql2date( data.enddate );
|
||||
self.employeeID = ko.observable( data.user_id );
|
||||
self.fullname = ko.observable( data.user ? data.user.fullname : '#NB' );
|
||||
self.tarif = ko.observable( data.tarif ? data.tarif.toString().replace( '.', ',' ) : 0 );
|
||||
self.budget = ko.observable( data.budget ? data.budget.toString().replace( '.', ',' ) : 0 );
|
||||
self.startdate = ko.observable( dbo.helpers.mysql2date( data.startdate ) );
|
||||
self.inEdit = ko.observable( sessionStorage.editEmployee == data.id );
|
||||
},
|
||||
|
||||
Payment: function ( data, offer = false ) {
|
||||
var inEdit = sessionStorage.editPayment == data.id;
|
||||
if ( !inEdit ) inEdit = data.inEdit || false;
|
||||
|
||||
this.id = data.id;
|
||||
this.offer_id = ko.observable( data.offer_id );
|
||||
this.offernumber = ko.observable( offer ? offer.offernumber : null );
|
||||
this.paymentdate = ko.observable( dbo.helpers.mysql2date( data.paymentdate ) );
|
||||
this.paymentamount = ko.observable( data.paymentamount );
|
||||
this.inEdit = ko.observable( inEdit );
|
||||
},
|
||||
|
||||
Projecthour: function ( data, fullname ) {
|
||||
var inEdit = sessionStorage.editPayment == data.id;
|
||||
if ( !inEdit ) inEdit = data.inEdit || false;
|
||||
|
||||
this.id = data.id;
|
||||
this.fullname = ko.observable( fullname );
|
||||
this.projectemployee_id = ko.observable( data.projectemployee_id );
|
||||
this.hourdate = ko.observable( dbo.helpers.mysql2date( data.hourdate ) );
|
||||
this.hours = ko.observable( data.hours );
|
||||
this.inEdit = ko.observable( inEdit );
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ dbo.offersInit = function () {
|
||||
comments : ko.observableArray( [] ),
|
||||
documents : ko.observableArray( [] ),
|
||||
selectedRowID: ko.observable(),
|
||||
projectID : 0,
|
||||
|
||||
init: function () {
|
||||
var service = dbo.offersService;
|
||||
@@ -46,7 +47,7 @@ dbo.offersInit = function () {
|
||||
var service = dbo.offersService;
|
||||
service.vm = dbo.offersModel;
|
||||
|
||||
service.editOffer();
|
||||
service.editOffer( this );
|
||||
},
|
||||
|
||||
archiveOffer: function () {
|
||||
|
||||
@@ -17,6 +17,7 @@ dbo.projectsInit = function () {
|
||||
project : ko.observable(),
|
||||
archive : ko.observable( false ),
|
||||
selectedRowID: ko.observable(),
|
||||
busy : false,
|
||||
|
||||
init: function () {
|
||||
var vm = dbo.projectsModel;
|
||||
@@ -26,7 +27,7 @@ dbo.projectsInit = function () {
|
||||
|
||||
newProject: function () {
|
||||
var vm = dbo.projectsModel;
|
||||
dbo.editProjectModal.addProject( false, function () {
|
||||
dbo.editProjectModal.addProject( function () {
|
||||
vm.refreshProjects();
|
||||
} );
|
||||
},
|
||||
@@ -43,7 +44,7 @@ dbo.projectsInit = function () {
|
||||
var project = this;
|
||||
var vm = dbo.projectsModel;
|
||||
|
||||
dbo.editProjectModal.newEditProject( project, function () {
|
||||
dbo.editProjectModal.editProject( project.id, function () {
|
||||
vm.refreshProjects();
|
||||
} );
|
||||
},
|
||||
@@ -125,41 +126,41 @@ dbo.projectsInit = function () {
|
||||
|
||||
self.totalOwnrevenue = 0;
|
||||
self.totalOtherrevenue = 0;
|
||||
self.revenues = ko.observableArray([]);
|
||||
$.each(data.offers, function(i,p){
|
||||
if( p.accepteddate ){
|
||||
self.revenues = ko.observableArray( [] );
|
||||
$.each( data.offers, function ( i, p ) {
|
||||
if ( p.accepteddate ) {
|
||||
self.totalOwnrevenue += p.totalOwnrevenue;
|
||||
self.totalOtherrevenue += p.totalOtherrevenue;
|
||||
}
|
||||
self.revenues.push( new vm.Revenue(p));
|
||||
});
|
||||
self.revenues.push( new vm.Revenue( p ) );
|
||||
} );
|
||||
},
|
||||
|
||||
Revenue : function(data){
|
||||
Revenue: function ( data ) {
|
||||
var vm = dbo.projectsModel;
|
||||
var self = this;
|
||||
|
||||
self.id = data.id;
|
||||
self.offernumber = data.offernumber;
|
||||
self.startdate = dbo.helpers.mysql2date(self.startdate);
|
||||
self.accepteddate = dbo.helpers.mysql2date(self.accepteddate);
|
||||
self.rejectdate = dbo.helpers.mysql2date(self.rejectdate);
|
||||
self.startdate = dbo.helpers.mysql2date( self.startdate );
|
||||
self.accepteddate = dbo.helpers.mysql2date( self.accepteddate );
|
||||
self.rejectdate = dbo.helpers.mysql2date( self.rejectdate );
|
||||
self.own_revenue = data.own_revenue;
|
||||
self.other_revenue = data.other_revenue;
|
||||
self.acceptance_chance = data.acceptance_chance;
|
||||
|
||||
self.payed = 0;
|
||||
self.payments = ko.observableArray([]);
|
||||
$.each(data.payments, function(i, p){
|
||||
self.payed =+ p.paymentamount;
|
||||
self.payments = ko.observableArray( [] );
|
||||
$.each( data.payments, function ( i, p ) {
|
||||
self.payed = +p.paymentamount;
|
||||
|
||||
self.payments.push( new vm.Payment(p));
|
||||
});
|
||||
self.payments.push( new vm.Payment( p ) );
|
||||
} );
|
||||
},
|
||||
|
||||
Payment : function(data){
|
||||
Payment: function ( data ) {
|
||||
self.id = data.id;
|
||||
self.paymentdate = dbo.helpers.mysql2date(self.paymentdate);
|
||||
self.paymentdate = dbo.helpers.mysql2date( self.paymentdate );
|
||||
self.paymentamount = data.paymentamount;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -10,16 +10,10 @@ dbo.offersService = {
|
||||
|
||||
vm: null,
|
||||
|
||||
init: function () {
|
||||
newOffer: function (projectID=false, customerID=false) {
|
||||
var service = dbo.offersService;
|
||||
|
||||
service.refreshOffers();
|
||||
},
|
||||
|
||||
newOffer: function () {
|
||||
var service = dbo.offersService;
|
||||
|
||||
dbo.editOfferModal.newEditOffer( false, function () {
|
||||
dbo.editOfferModal.newEditOffer( false, projectID, customerID, function () {
|
||||
service.refreshOffers();
|
||||
} );
|
||||
},
|
||||
@@ -33,10 +27,10 @@ dbo.offersService = {
|
||||
service.refreshOffers();
|
||||
},
|
||||
|
||||
editOffer: function ( that ) {
|
||||
editOffer: function ( that, projectID=false, custormerID=false, hasProject=false ) {
|
||||
var offer = that;
|
||||
|
||||
dbo.editOfferModal.newEditOffer( offer, function () {
|
||||
dbo.editOfferModal.newEditOffer( offer, projectID, custormerID, hasProject, function () {
|
||||
dbo.offersService.refreshOffers();
|
||||
} );
|
||||
},
|
||||
@@ -84,21 +78,23 @@ dbo.offersService = {
|
||||
} );
|
||||
},
|
||||
|
||||
refreshOffers: function (projectID = false) {
|
||||
refreshOffers: function () {
|
||||
var vm = dbo.offersService.vm;
|
||||
var self = dbo.offersService;
|
||||
|
||||
dbo.offerDataService.getAllOffers( projectID, vm.archive() ? 'T' : 'F', function ( data ) {
|
||||
dbo.offerDataService.getAllOffers( vm.projectID , vm.archive() ? 'T' : 'F', function ( data ) {
|
||||
vm.offers.removeAll();
|
||||
$.each( data, function ( i, p ) {
|
||||
vm.offers.push( new self.Offer( p ) );
|
||||
} )
|
||||
} );
|
||||
} );
|
||||
},
|
||||
|
||||
Offer: function ( data ) {
|
||||
this.id = data.id;
|
||||
this.offernumber = data.offernumber;
|
||||
this.offerleader_id = data.offerleader_id;
|
||||
this.project_id = data.project_id;
|
||||
this.acceptance_chance = data.acceptance_chance;
|
||||
this.projectNumber = data.project ? data.project.projectnumber : null;
|
||||
this.customerName = data.customer ? data.customer.name : null;
|
||||
@@ -107,6 +103,8 @@ dbo.offersService = {
|
||||
this.rejectdate = data.rejectdate ? dbo.helpers.mysql2date( data.rejectdate ) : null;
|
||||
this.accepteddate = data.accepteddate ? dbo.helpers.mysql2date( data.accepteddate ) : null;
|
||||
this.acceptance_chance = data.acceptance_chance ? data.acceptance_chance : 0;
|
||||
this.own_revenue = data.own_revenue;
|
||||
this.other_revenue = data.other_revenue;
|
||||
this.archive = data.archive;
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user