Galera, criei um sisteminha de pedidos online para hamburgueria, uma landpage com o cardapio e opção de enviar o pedido pelo whatsapp. Ocorre que eu gostaria tambem de imprimir cada pedido feito. Para mandar o pedido pelo whatsapp eu criei um metodo que percorre o carrinho de compras e cria um template conforme os itens do pedido, jogo tudo numa variavel, depois transformo numa url. Ja tentei de tantas as formas mandar mesmo conteudo para uma mini impressora termica, usando o window.print. Tive a ideia de abrir uma pagina em branco e jogar o conteudo da variavel texto, mas ficou tudo meios desajustado, junto, numa linha só. vejam meu metodo:
finalizarPedido: () => {
if (meu_Carrinho.length >0 && meu_Endereco != null) {
var texto = 'Olá, eu gostaria de fazer um pedido,';
texto += `\n*Itens do Pedido:*\n\n\${itens}`;
texto += '\n*Endereço de Entrega:*';
texto += `\n${meu_Endereco.endereco}, ${meu_Endereco.numero}, ${meu_Endereco.bairro}`;
texto += `\n${meu_Endereco.cidade} - ${meu_Endereco.Uf} / ${meu_Endereco.cep} ${meu_Endereco.complemento}`;
texto += `\n\n*Total (com entrega): R$ ${(valor_Carrinho + valor_Entrega).toFixed(2).replace('.', ',')}*`;
var itens = '';
$.each(meu_Carrinho, (i, e ) => {
itens += `*${e.quantidade}x* ${e.name}........R$ ${e.price.toFixed(2).replace('.', ',')} \n`;
// verificando se o each chegou ao ultimo item
if ((i + 1) == meu_Carrinho.length) {
texto = texto.replace(/\${itens}/g, itens);
// encodificando a variavel texto para URL do whatsapp
let encode = encodeURI(texto);
// criando a URL
// let URL = `https://wa.me/5598970220128?text=${encode}`;
let URL = `https://wa.me/${celular_Empresa}?text=${encode}`;
// atrubuindo o endereço URL ao href do Botao Enviar Pedido
$("#btnEtapaResumo").attr('href', URL);
}
});
}
},
O método está enviando todo o conteudo certinho em forma de mensagem para o whatsapp, ocorre que eu gostaria de mandar esse conteudo direto para impressora que fica na cozinha. Alguem sabe me dizer como eu posso fazer isso ?
Ja tentei da seguinte forma: criando uma nova janela e jogando o conteudo da variavel texo dentro da janela,
const win = window.open(' ', ' ', 'heigtht=600, width=600');
win.document.write(texto);
Acontece que dessa forma ai chega tudo sem formatação na janela e eu precisaria tambem de um botão nesta janela para imprimir e depois enviar para uma mini impressora termica. Mas não sei como fazer isso. Penso que a forma mais adequada seria enviar o pedido gerado diretamente para a impressora, sem a necessidade de criar essa tela. Mas como fazer ? Alguem pode me ajudar ?