const Component = require(`${appPath}/core/component`); const reportHeader = new Component('report-header'); const reportFooter = new Component('report-footer'); module.exports = { name: 'entry-order', async serverPrefetch() { this.supplier = await this.fetchSupplier(this.entryId); this.entry = await this.fetchEntry(this.entryId); this.buys = await this.fetchBuys(this.entryId); if (!this.entry) throw new Error('Something went wrong'); }, data() { return {totalBalance: 0.00}; }, methods: { fetchSupplier(entryId) { return this.findOneFromDef('supplier', [entryId]); }, fetchEntry(entryId) { return this.findOneFromDef('entry', [entryId]); }, fetchBuys(entryId) { return this.rawSqlFromDef('buys', [entryId]); }, getTotal() { let total = 0.00; this.buys.forEach(buy => { total += buy.quantity * buy.buyingValue; }); return total; } }, components: { 'report-header': reportHeader.build(), 'report-footer': reportFooter.build() }, props: { entryId: { type: [Number, String], required: true } } };