48 lines
1.3 KiB
JavaScript
Executable File
48 lines
1.3 KiB
JavaScript
Executable File
const Component = require(`vn-print/core/component`);
|
|
const emailBody = new Component('email-body');
|
|
const attachment = new Component('attachment');
|
|
const db = require('../../../core/database');
|
|
|
|
module.exports = {
|
|
name: 'letter-debtor-nd',
|
|
async serverPrefetch() {
|
|
this.debtor = await db.findOne(`
|
|
SELECT sa.iban, be.name bankName
|
|
FROM supplierAccount sa
|
|
LEFT JOIN bankEntity be ON sa.bankEntityFk = be.id
|
|
LEFT JOIN client c ON c.countryFk = sa.countryFk
|
|
WHERE c.id = ? OR (c.id IS NULL AND c.countryFk = sa.countryFk)`,
|
|
[this.id]);
|
|
},
|
|
data() {
|
|
return {
|
|
attachments: [
|
|
{
|
|
filename: 'letter-debtor.pdf',
|
|
type: 'pdf',
|
|
path: `Clients/${this.id}/letter-debtor-pdf`
|
|
}
|
|
]
|
|
};
|
|
},
|
|
methods: {
|
|
fetchDebtor(id, companyId) {
|
|
return this.findOneFromDef('client', [id, companyId]);
|
|
}
|
|
},
|
|
components: {
|
|
'email-body': emailBody.build(),
|
|
'attachment': attachment.build()
|
|
},
|
|
props: {
|
|
id: {
|
|
type: Number,
|
|
required: true
|
|
},
|
|
companyId: {
|
|
type: Number,
|
|
required: true
|
|
}
|
|
}
|
|
};
|