63 lines
1.6 KiB
JavaScript
63 lines
1.6 KiB
JavaScript
|
import ngModule from '../module';
|
||
|
import Section from 'salix/components/section';
|
||
|
import UserError from 'core/lib/user-error';
|
||
|
|
||
|
export default class Controller extends Section {
|
||
|
constructor($element, $) {
|
||
|
super($element, $);
|
||
|
this.defaulter = {};
|
||
|
}
|
||
|
|
||
|
get balanceDueTotal() {
|
||
|
let balanceDueTotal = 0;
|
||
|
|
||
|
if (this.checked.length > 0) {
|
||
|
for (let defaulter of this.checked)
|
||
|
balanceDueTotal += defaulter.amount;
|
||
|
|
||
|
return balanceDueTotal;
|
||
|
}
|
||
|
|
||
|
return balanceDueTotal;
|
||
|
}
|
||
|
|
||
|
get checked() {
|
||
|
const clients = this.$.model.data || [];
|
||
|
const checkedLines = [];
|
||
|
for (let defaulter of clients) {
|
||
|
if (defaulter.checked)
|
||
|
checkedLines.push(defaulter);
|
||
|
}
|
||
|
|
||
|
return checkedLines;
|
||
|
}
|
||
|
|
||
|
onResponse() {
|
||
|
if (!this.defaulter.observation)
|
||
|
throw new UserError(`The message can't be empty`);
|
||
|
|
||
|
for (let defaulter of this.checked) {
|
||
|
const params = {
|
||
|
text: this.defaulter.observation,
|
||
|
clientFk: defaulter.clientFk
|
||
|
};
|
||
|
this.$http.post(`ClientObservations`, params);
|
||
|
}
|
||
|
this.vnApp.showMessage(this.$t('Observation saved!'));
|
||
|
this.$state.reload();
|
||
|
}
|
||
|
|
||
|
exprBuilder(param, value) {
|
||
|
switch (param) {
|
||
|
case 'clientName':
|
||
|
case 'salesPersonFk':
|
||
|
return {[`d.${param}`]: value};
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
ngModule.vnComponent('vnClientDefaulterIndex', {
|
||
|
template: require('./index.html'),
|
||
|
controller: Controller
|
||
|
});
|