2018-10-24 12:10:48 +00:00
|
|
|
import ngModule from '../../module';
|
2020-03-30 15:30:03 +00:00
|
|
|
import Dialog from 'core/components/dialog';
|
|
|
|
|
|
|
|
class Controller extends Dialog {
|
|
|
|
constructor($element, $, $transclude) {
|
|
|
|
super($element, $, $transclude);
|
2018-10-24 12:10:48 +00:00
|
|
|
|
|
|
|
this.receipt = {
|
|
|
|
payed: new Date(),
|
2020-03-18 07:35:59 +00:00
|
|
|
clientFk: this.$params.id,
|
|
|
|
companyFk: this.vnConfig.companyFk,
|
|
|
|
bankFk: this.vnConfig.bankFk
|
2018-10-24 12:10:48 +00:00
|
|
|
};
|
2019-02-05 15:46:02 +00:00
|
|
|
}
|
2018-10-24 12:10:48 +00:00
|
|
|
|
2019-02-05 15:46:02 +00:00
|
|
|
set payed(value) {
|
|
|
|
this.receipt.payed = value;
|
|
|
|
}
|
2018-10-24 12:10:48 +00:00
|
|
|
|
2019-02-05 15:46:02 +00:00
|
|
|
set bankFk(value) {
|
|
|
|
this.receipt.bankFk = value;
|
|
|
|
}
|
2018-10-24 12:10:48 +00:00
|
|
|
|
2019-02-05 15:46:02 +00:00
|
|
|
set amountPaid(value) {
|
|
|
|
this.receipt.amountPaid = value;
|
|
|
|
}
|
2018-10-24 12:10:48 +00:00
|
|
|
|
2019-04-25 05:57:26 +00:00
|
|
|
get amountPaid() {
|
|
|
|
return this.receipt.amountPaid;
|
|
|
|
}
|
|
|
|
|
|
|
|
set clientFk(value) {
|
|
|
|
this.receipt.clientFk = value;
|
|
|
|
}
|
|
|
|
|
|
|
|
get clientFk() {
|
|
|
|
return this.receipt.clientFk;
|
|
|
|
}
|
|
|
|
|
2019-02-05 15:46:02 +00:00
|
|
|
set companyFk(value) {
|
|
|
|
this.receipt.companyFk = value;
|
|
|
|
this.getAmountPaid();
|
2018-10-24 12:10:48 +00:00
|
|
|
}
|
|
|
|
|
2019-04-25 05:57:26 +00:00
|
|
|
set description(value) {
|
|
|
|
this.receipt.description = value;
|
|
|
|
}
|
|
|
|
|
|
|
|
get description() {
|
|
|
|
return this.receipt.description;
|
|
|
|
}
|
|
|
|
|
2020-08-27 06:24:21 +00:00
|
|
|
get bankSelection() {
|
|
|
|
return this._bankSelection;
|
|
|
|
}
|
|
|
|
|
|
|
|
set bankSelection(value) {
|
|
|
|
this._bankSelection = value;
|
|
|
|
|
|
|
|
if (value) {
|
|
|
|
const accountingType = value.accountingType;
|
|
|
|
this.receipt.description = accountingType && accountingType.receiptDescription;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-12-16 07:33:08 +00:00
|
|
|
set deliveredAmount(value) {
|
|
|
|
this._deliveredAmount = value;
|
|
|
|
this.amountToReturn = value - this.receipt.amountPaid;
|
|
|
|
}
|
|
|
|
|
|
|
|
get deliveredAmount() {
|
|
|
|
return this._deliveredAmount;
|
|
|
|
}
|
|
|
|
|
|
|
|
accountShortToStandard(value) {
|
|
|
|
this.receipt.compensationAccount = value.replace('.', '0'.repeat(11 - value.length));
|
|
|
|
}
|
|
|
|
|
2019-02-05 15:46:02 +00:00
|
|
|
getAmountPaid() {
|
2020-03-30 15:30:03 +00:00
|
|
|
const filter = {
|
2018-10-24 12:10:48 +00:00
|
|
|
where: {
|
2020-03-18 07:35:59 +00:00
|
|
|
clientFk: this.$params.id,
|
2018-10-24 12:10:48 +00:00
|
|
|
companyFk: this.receipt.companyFk
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2020-03-30 15:30:03 +00:00
|
|
|
this.$http.get(`ClientRisks`, {filter}).then(res => {
|
2018-10-24 12:10:48 +00:00
|
|
|
this.receipt.amountPaid = (res.data.length && res.data[0].amount) || null;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2020-03-30 15:30:03 +00:00
|
|
|
responseHandler(response) {
|
|
|
|
if (response !== 'accept')
|
|
|
|
return super.responseHandler(response);
|
2018-10-24 12:10:48 +00:00
|
|
|
|
2020-12-16 07:33:08 +00:00
|
|
|
return this.$http.post(`Receipts/${this.$params.id}/createReceipt`, this.receipt)
|
2020-03-31 08:19:01 +00:00
|
|
|
.then(() => super.responseHandler(response))
|
|
|
|
.then(() => this.vnApp.showSuccess(this.$t('Data saved!')));
|
2018-10-24 12:10:48 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-03-30 15:30:03 +00:00
|
|
|
ngModule.vnComponent('vnClientBalanceCreate', {
|
2020-04-25 09:50:04 +00:00
|
|
|
slotTemplate: require('./index.html'),
|
2019-02-05 15:46:02 +00:00
|
|
|
controller: Controller,
|
|
|
|
bindings: {
|
|
|
|
payed: '<?',
|
|
|
|
bankFk: '<?',
|
|
|
|
amountPaid: '<?',
|
2019-04-25 05:57:26 +00:00
|
|
|
companyFk: '<?',
|
|
|
|
description: '<?',
|
|
|
|
clientFk: '<?'
|
2019-02-05 15:46:02 +00:00
|
|
|
}
|
2018-10-24 12:10:48 +00:00
|
|
|
});
|