feat: migrate to new tsclass schema
This commit is contained in:
@@ -41,7 +41,7 @@ export class DeContentInvoice extends DeesElement {
|
||||
type: Object,
|
||||
reflect: true,
|
||||
})
|
||||
public letterData: plugins.tsclass.business.ILetter;
|
||||
public letterData: plugins.tsclass.finance.TInvoice;
|
||||
|
||||
@property({
|
||||
type: Object,
|
||||
@@ -178,7 +178,7 @@ export class DeContentInvoice extends DeesElement {
|
||||
return totalNet;
|
||||
}
|
||||
|
||||
for (const item of this.letterData.content.invoiceData.items) {
|
||||
for (const item of this.letterData.items) {
|
||||
totalNet += item.unitNetPrice * item.unitQuantity;
|
||||
}
|
||||
return totalNet;
|
||||
@@ -200,7 +200,7 @@ export class DeContentInvoice extends DeesElement {
|
||||
public getVatGroups = () => {
|
||||
const vatGroups: {
|
||||
vatPercentage: number;
|
||||
items: plugins.tsclass.finance.IInvoice["items"];
|
||||
items: plugins.tsclass.finance.TInvoice["items"];
|
||||
vatAmountSum: number;
|
||||
}[] = [];
|
||||
|
||||
@@ -209,14 +209,14 @@ export class DeContentInvoice extends DeesElement {
|
||||
}
|
||||
|
||||
const taxAmounts: number[] = [];
|
||||
for (const item of this.letterData.content.invoiceData.items) {
|
||||
for (const item of this.letterData.items) {
|
||||
taxAmounts.includes(item.vatPercentage)
|
||||
? null
|
||||
: taxAmounts.push(item.vatPercentage);
|
||||
}
|
||||
|
||||
for (const taxAmount of taxAmounts) {
|
||||
const matchingItems = this.letterData.content.invoiceData.items.filter(
|
||||
const matchingItems = this.letterData.items.filter(
|
||||
(itemArg) => itemArg.vatPercentage === taxAmount
|
||||
);
|
||||
let sum = 0;
|
||||
@@ -324,7 +324,7 @@ export class DeContentInvoice extends DeesElement {
|
||||
}).format(
|
||||
new Date(this.letterData.date).setDate(
|
||||
new Date(this.letterData.date).getDate() +
|
||||
this.letterData?.content.invoiceData.dueInDays
|
||||
this.letterData?.dueInDays
|
||||
)
|
||||
)}
|
||||
</span>
|
||||
@@ -334,14 +334,12 @@ export class DeContentInvoice extends DeesElement {
|
||||
}
|
||||
|
||||
private renderPaymentInfo(): TemplateResult {
|
||||
const bic =
|
||||
this.letterData?.content.invoiceData.billedBy.sepaConnection.bic;
|
||||
const name = this.letterData?.content.invoiceData.billedBy.name;
|
||||
const iban =
|
||||
this.letterData?.content.invoiceData.billedBy.sepaConnection.iban;
|
||||
const currency = this.letterData?.content.invoiceData.currency;
|
||||
const bic = this.letterData?.from.sepaConnection.bic;
|
||||
const name = this.letterData?.from.name;
|
||||
const iban = this.letterData?.from.sepaConnection.iban;
|
||||
const currency = this.letterData?.currency;
|
||||
const totalGross = this.getTotalGross();
|
||||
const reference = this.letterData?.content.invoiceData.id;
|
||||
const reference = this.letterData?.id;
|
||||
|
||||
return html`<div class="infoBox">
|
||||
<div>
|
||||
@@ -362,22 +360,23 @@ export class DeContentInvoice extends DeesElement {
|
||||
}
|
||||
|
||||
private renderReferencedContract(): TemplateResult {
|
||||
return this.documentSettings.enableInvoiceContractRefSection &&
|
||||
this.letterData?.content?.contractData?.contractDate
|
||||
? html`
|
||||
<div class="infoBox">
|
||||
<div class="label">
|
||||
${this.translateKey("invoice@@referencedContract")}
|
||||
</div>
|
||||
${this.translateKey("invoice@@referencedContract.text")}
|
||||
${new Intl.DateTimeFormat(this.documentSettings.languageCode, {
|
||||
dateStyle: this.documentSettings.dateStyle,
|
||||
}).format(
|
||||
new Date(this.letterData?.content.contractData.contractDate)
|
||||
)}.
|
||||
</div>
|
||||
`
|
||||
: null;
|
||||
return null;
|
||||
// return this.documentSettings.enableInvoiceContractRefSection &&
|
||||
// this.invoiceData?.content?.contractData?.contractDate
|
||||
// ? html`
|
||||
// <div class="infoBox">
|
||||
// <div class="label">
|
||||
// ${this.translateKey("invoice@@referencedContract")}
|
||||
// </div>
|
||||
// ${this.translateKey("invoice@@referencedContract.text")}
|
||||
// ${new Intl.DateTimeFormat(this.documentSettings.languageCode, {
|
||||
// dateStyle: this.documentSettings.dateStyle,
|
||||
// }).format(
|
||||
// new Date(this.invoiceData?.content.contractData.contractDate)
|
||||
// )}.
|
||||
// </div>
|
||||
// `
|
||||
// : null;
|
||||
}
|
||||
|
||||
public async attachInvoiceDom() {
|
||||
@@ -406,7 +405,7 @@ export class DeContentInvoice extends DeesElement {
|
||||
${this.translateKey("invoice@@price.total.net")}
|
||||
</div>
|
||||
</div>
|
||||
${this.letterData?.content.invoiceData?.items?.map(
|
||||
${this.letterData?.items?.map(
|
||||
(invoiceItem, index) => html`
|
||||
<div class="grid needsDataHeader">
|
||||
<div class="lineItem rightAlign">${index + 1}</div>
|
||||
@@ -438,10 +437,7 @@ export class DeContentInvoice extends DeesElement {
|
||||
</div>
|
||||
${this.getVatGroups().map((vatGroupArg) => {
|
||||
let itemNumbers = vatGroupArg.items
|
||||
.map(
|
||||
(item) =>
|
||||
this.letterData.content.invoiceData.items.indexOf(item) + 1
|
||||
)
|
||||
.map((item) => this.letterData.items.indexOf(item) + 1)
|
||||
.join(", ");
|
||||
return html`
|
||||
<div class="sumline">
|
||||
@@ -472,7 +468,7 @@ export class DeContentInvoice extends DeesElement {
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
|
||||
${this.letterData?.content.invoiceData.reverseCharge
|
||||
${this.letterData?.reverseCharge
|
||||
? html`<div class="taxNote">
|
||||
${this.translateKey("invoice@@vat.reverseCharge.note")}
|
||||
</div>`
|
||||
|
Reference in New Issue
Block a user