salix/modules/client/front/credit-insurance/index/index.js

77 lines
1.9 KiB
JavaScript
Raw Normal View History

2018-05-23 12:26:51 +00:00
import ngModule from '../../module';
2019-10-01 14:17:57 +00:00
import './style.scss';
class Controller {
constructor($http, $scope) {
this.$http = $http;
this.$scope = $scope;
}
$onChanges() {
if (this.client && this.client.id)
this._getClassifications(this.client.id);
}
_getClassifications(clientId) {
let filter = {
2018-03-28 13:07:48 +00:00
order: 'finished ASC, started DESC',
include: [
{
relation: 'insurances',
scope: {
fields: ['id', 'credit', 'created', 'grade'],
order: 'created DESC',
limit: 2
}
}
],
where: {client: clientId}
};
filter = encodeURIComponent(JSON.stringify(filter));
let query = `/client/api/CreditClassifications?filter=${filter}`;
this.$http.get(query).then(res => {
if (res.data)
this.classifications = res.data;
});
}
canCreateNew() {
if (!this.classifications)
return false;
let items = this.classifications;
for (let i = 0; i < items.length; i++) {
if (!items[i].finished)
return false;
}
return true;
}
closeContract(classification) {
2018-03-28 13:07:48 +00:00
this.classificationId = classification.id;
this.$scope.closeContract.show();
}
returnDialog(response) {
if (response === 'ACCEPT') {
let params = {finished: Date.now()};
this.$http.patch(`/client/api/CreditClassifications/${this.classificationId}`, params).then(() => {
this._getClassifications(this.client.id);
});
}
}
}
Controller.$inject = ['$http', '$scope'];
2018-05-23 12:26:51 +00:00
ngModule.component('vnClientCreditInsuranceIndex', {
template: require('./index.html'),
controller: Controller,
bindings: {
client: '<'
}
});