Ir para conteúdo
Fórum Script Brasil
  • 0

A impressora


Frank K Hosaka

Pergunta

O meu irmão não se deu bem com a impressora térmica para emitir orçamento, ele disse que a impressora só é boa para emitir nota fiscal ao consumidor eletrônica (NFCe).

Ele decidiu comprar uma impressora a laser, o HP 107 w. Levei uma hora para configurar a impressora, eu fiz a besteira de conectar o cabo de dados da impressora com o notebook. Hoje tudo é diferente, não é mais necessário o cabo de dados, mas enfim consegui conectar a impressora na rede WiFi.

O pesadelo foi na hora de adaptar o código PHP para a nova impressora. Eu e o Copilot gastamos oito horas para fazer o serviço de impressão funcionar.

Depois de muita tentativa e erro, pedi para o Copilot começar do zero, tentar imprimir "Olá mundo" pelo Android, e deu certo. Esse foi o núcleo do trabalho, e pouco a pouco fui acrescentando o resto do serviço. O problema foi na hora de usar o comando JavaScript window.onafterprint(), é justamente esse comando é que estava detonando todo o serviço. O Copilot teve a genial ideia de criar o botão "Concluir" para substituir o serviço do afterprint. Outro serviço que não deu certo foi window.scrollTo.

Resumindo, não deu para automatizar tudo, o que o JavaScript não conseguiu fazer, eu joguei nas costas do usuário:

<?php include('menuView.php'); ?>
<style>
@media print {.no-print { display: none; }}
       .print-area {text-align: center;margin: 20px;}
</style>
    <div class="print-area">
    	<table style="margin-left:420px">
<tr class=fw-semibold><td colspan=7>Quitanda do Frank - Praça Castelo Branco 123
<tr class=fw-semibold><td colspan=7>Pedido <?=$ped?> de <?=dbr($itens[0]->dia)?>
<?php foreach($itens as $item): ?>
    <tr><td colspan=7><?=$item->prod?>
    <tr><td class=text-end><?=$item->qt?>
        <td class=text-end><?=$item->un?>
        <td>x<td class=text-end><?=dec($item->unitario)?>
        <td>=<td class=text-end><?=dec($item->subtotal)?>
<?php endforeach; ?>
<tr class=fw-semibold><td>Total<td><td><td><td><td class=text-end><?=dec($itens[0]->total)?>
    
    </div>
    <div class="no-print">
        <button onclick="imprimir()">Imprimir</button>
        <button onclick="concluir()">Concluir</button>
    </div>
    <script>
        document.addEventListener("DOMContentLoaded", function() {
            // Adiciona a classe no-print ao elemento cabecalho
            var cabecalho = document.querySelector('#cabecalho');
            if (cabecalho) {
                cabecalho.classList.add('no-print');
            }
        });

        function imprimir() {
            setTimeout(function() {
                window.print();
            }, 500);
        }

        function concluir() {
            location.replace("?Orcamento.inicio.<?=$ped?>");
        }
    </script>
</body>
</html>

 

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...