import { Printable } from './printable'; import { Nota } from '../nota'; import { Empresa } from '../empresa'; import { ItemVenda } from '../itemVenda'; import { Caixa } from '../caixa'; export class VendaReciboPrintable implements Printable { protected caixa: Caixa; constructor(public model: Nota, public empresa: Empresa) { this.caixa = model.venda.caixa; } getTemplateName(): string { return 'recibo'; } /** * [Função chamada para transformar os dados em imprimíveis] * @return {object} [Retorna um objeto para ser impresso ] */ getBody(): Object { return { empresa: this.empresa, codigo: this.model.codigo, terminal: this.model.venda.caixa.terminal.nome, itens: this.model.itens.map((item: ItemVenda) => ( { indice: this.model.itens.indexOf(item) + 1, quantidade: item.quantidade, extra_properties: item.extra_properties, descricao: item.descricao, preco: item.valor_final, subtotal: item.valor_final } )), data_emissao: this.model.data_emissao, total: this.model.valorTotal().toFixed(2) }; } }