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
|
|
});
|