#7936 improve InvoiceIn #1004

Merged
jorgep merged 55 commits from 7936-improveInvoiceIn into dev 2024-12-18 09:22:09 +00:00
3 changed files with 4 additions and 5 deletions
Showing only changes of commit cc7432b253 - Show all commits

View File

@ -1,11 +1,10 @@
import { toCurrency } from 'src/filters';
export function getTotal(rows, key, opts = {}) {
const { currency, cb, decimalPlaces, int } = opts;
const { currency, cb, decimalPlaces } = opts;
jorgep marked this conversation as resolved Outdated
Outdated
Review

int?

int?
const total = rows.reduce((acc, row) => acc + +(cb ? cb(row) : row[key] || 0), 0);
const decimals = int ? 0 : decimalPlaces ?? 2;
return currency
? toCurrency(total, currency == 'default' ? undefined : currency)
: parseFloat(total).toFixed(decimals);
: parseFloat(total).toFixed(decimalPlaces ?? 2);
}

View File

@ -146,7 +146,7 @@ const columns = computed(() => [
{{ getTotal(rows, 'net') }}
</QTd>
<QTd>
{{ getTotal(rows, 'stems', { int: true }) }}
{{ getTotal(rows, 'stems', { decimalPlaces: 0 }) }}
</QTd>
<QTd />
</QTr>

View File

@ -33,7 +33,7 @@ describe('getTotal()', () => {
});
it('should calculate the total with integer formatting', () => {
const total = getTotal(rows, 'amount', { int: true });
const total = getTotal(rows, 'amount', { decimalPlaces: 0 });
expect(total).toBe('62');
});