D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
html
/
crsys_ant
/
Filename :
descricao11.php
back
Copy
<form id="form_exemplo"> <div class="row"> <input type="number" id="qtde_pecas" placeholder="Qtde" min="1" /> <select id="calc_produto"> <option value="">Selecione um produto</option> <option value="1">Aparador</option> <option value="2">Espelho</option> <option value="3">Lareira</option> </select> <input type="number" id="calc_larg" placeholder="Largura (cm)" /> <input type="number" id="calc_alt" placeholder="Altura (cm)" /> </div> <div class="row"> <label><input type="checkbox" id="em_curva" /> Em Curva</label> <label><input type="checkbox" id="com_colocacao" /> Com Colocação</label> </div> <div class="row"> <label><input type="checkbox" id="calc_fronSup" /> Frontão Sup</label> <label><input type="checkbox" id="calc_fronInf" /> Frontão Inf</label> <label><input type="checkbox" id="calc_fronDir" /> Frontão Dir</label> <label><input type="checkbox" id="calc_fronEsq" /> Frontão Esq</label> <input type="number" id="alt_fron" placeholder="Altura Frontão (cm)" /> <label><input type="checkbox" id="acab_topo_frontao" /> Acab Topo Frontão</label> acab_topo_frontao </div> <div class="row"> <label><input type="checkbox" id="calc_saiaSup" /> Saia Sup</label> <label><input type="checkbox" id="calc_saiaInf" /> Saia Inf</label> <label><input type="checkbox" id="calc_saiaDir" /> Saia Dir</label> <label><input type="checkbox" id="calc_saiaEsq" /> Saia Esq</label> <input type="number" id="alt_saia" placeholder="Altura Saia (cm)" /> </div> <div class="row"> <select id="calc_acabamento"> <option value="">Selecione Acabamento</option> <option value="1">Acabamento Reto</option> <option value="2">Acabamento Boleado</option> <option value="3">Acabamento Boleado Duplo</option> </select> <label><input type="checkbox" id="calc_esquad" /> Montagem 1/2 esquadria</label> <label><input type="checkbox" id="polir_duplo" /> Polir 2 Lados</label> </div> <div class="row"> <select id="calc_servico"> <option value="">Selecione Serviço</option> <option value="1">Estadia Dia</option> <option value="2">Corte Fogão</option> <option value="3">Furo Cuba</option> </select> <label><input type="checkbox" id="conjunto" />Conjunto</label> </div> <br><br> <textarea id="item_descricao" name="item_descricao" rows="6" cols="40"></textarea> </form> <table border="1" id="tabela_produtos" style="margin-top: 20px; border-collapse: collapse; display: none;"> <thead> <tr> <th>ID</th> <th>Produto</th> <th>M²</th> </tr> </thead> <tbody> <tr id="linha-produto"> <td>1</td> <td></td> <td></td> </tr> </tbody> </table> <script> document.addEventListener('DOMContentLoaded', () => { const campos = { qtde: document.getElementById('qtde_pecas'), nome: document.getElementById('calc_produto'), largura: document.getElementById('calc_larg'), altura: document.getElementById('calc_alt'), emCurva: document.getElementById('em_curva'), colocacao: document.getElementById('com_colocacao'), fronSup: document.getElementById('calc_fronSup'), fronInf: document.getElementById('calc_fronInf'), fronDir: document.getElementById('calc_fronDir'), fronEsq: document.getElementById('calc_fronEsq'), altFron: document.getElementById('alt_fron'), saiaSup: document.getElementById('calc_saiaSup'), saiaInf: document.getElementById('calc_saiaInf'), saiaDir: document.getElementById('calc_saiaDir'), saiaEsq: document.getElementById('calc_saiaEsq'), altSaia: document.getElementById('alt_saia'), acabamento: document.getElementById('calc_acabamento'), meiaEsquad: document.getElementById('calc_esquad'), acabRetofrontao: document.getElementById('acab_topo_frontao'), polirDuplo: document.getElementById('polir_duplo'), servico: document.getElementById('calc_servico') }; const campoDescricao = document.getElementById('item_descricao'); const tabelaProdutos = document.getElementById('tabela_produtos'); const linhaProduto = document.getElementById('linha-produto'); const checkboxConjunto = document.getElementById('conjunto'); let descricaoOriginal = null; let nomeSegundoProduto = null; let descricaoSegundo = null; let nomePrimeiroProduto = null; function montarDescricaoSimples() { let desc = ''; const qtdeRaw = parseInt(campos.qtde.value) || 0; const nomeSel = campos.nome.options[campos.nome.selectedIndex]?.text.trim() || ''; const larguraRaw = parseFloat((campos.largura.value || '').replace(',', '.')) || 0; const alturaRaw = parseFloat((campos.altura.value || '').replace(',', '.')) || 0; const largura = larguraRaw.toLocaleString('pt-BR', { minimumFractionDigits: 2, maximumFractionDigits: 2 }); const altura = alturaRaw.toLocaleString('pt-BR', { minimumFractionDigits: 2, maximumFractionDigits: 2 }); if (qtdeRaw > 1) desc += `${qtdeRaw} `; if (nomeSel && nomeSel !== 'Selecione um produto') desc += nomeSel; if (campos.emCurva.checked) desc += ` em curva`; if (larguraRaw && alturaRaw) desc += ` medindo ${largura} x ${altura} m`; const algumFron = campos.fronSup.checked || campos.fronInf.checked || campos.fronDir.checked || campos.fronEsq.checked; const altFronRaw = parseFloat((campos.altFron.value || '').replace(',', '.')) || 0; if (algumFron && altFronRaw > 0) { const altFron = altFronRaw.toLocaleString('pt-BR', { minimumFractionDigits: 2, maximumFractionDigits: 2 }); desc += ` - Frontão h: ${altFron} m`; } const algumaSaia = campos.saiaSup.checked || campos.saiaInf.checked || campos.saiaDir.checked || campos.saiaEsq.checked; const altSaiaRaw = parseFloat((campos.altSaia.value || '').replace(',', '.')) || 0; if (algumaSaia && altSaiaRaw > 0) { const altSaia = altSaiaRaw.toLocaleString('pt-BR', { minimumFractionDigits: 2, maximumFractionDigits: 2 }); desc += ` - Saia h: ${altSaia} m`; } const acabamentoTexto = campos.acabamento.options[campos.acabamento.selectedIndex]?.text.trim() || ''; if (acabamentoTexto && acabamentoTexto !== 'Selecione Acabamento') { desc += ` - ${acabamentoTexto}`; } let adicionais = []; if (campos.meiaEsquad.checked) adicionais.push('Acabamento em 1/2 esquadria'); if (campos.acabRetofrontao.checked) adicionais.push('Acb. reto no Frontão'); if (campos.polirDuplo.checked) adicionais.push('Polimento em dois Lados'); const servicoTexto = campos.servico.options[campos.servico.selectedIndex]?.text.trim() || ''; if (servicoTexto && servicoTexto !== 'Selecione Serviço') { adicionais.push(servicoTexto); } if (adicionais.length > 0) desc += ` - ${adicionais.join(' - ')}`; if (campos.colocacao.checked) { desc += `, com colocação`; } else { desc += `, sem colocação`; } return desc; } function atualizarDescricao() { if (!checkboxConjunto.checked || descricaoOriginal == null || nomeSegundoProduto == null) { const d = montarDescricaoSimples(); campoDescricao.value = d; if (!checkboxConjunto.checked) { descricaoOriginal = null; nomePrimeiroProduto = null; } return; } const novaSegunda = montarDescricaoSimples(); descricaoSegundo = novaSegunda; campoDescricao.value = `Conjunto de ${nomeSegundoProduto} contendo: ${descricaoOriginal}. mais, ${descricaoSegundo}`; } Object.values(campos).forEach(el => { el.addEventListener('input', atualizarDescricao); el.addEventListener('change', atualizarDescricao); }); checkboxConjunto.addEventListener('change', () => { if (checkboxConjunto.checked) { descricaoOriginal = campoDescricao.value.replace(/, com colocação|, sem colocação/g, '').trim(); nomePrimeiroProduto = campos.nome.options[campos.nome.selectedIndex]?.text.trim() || ''; nomeSegundoProduto = null; descricaoSegundo = null; campos.nome.focus(); } else { descricaoOriginal = null; nomePrimeiroProduto = null; nomeSegundoProduto = null; descricaoSegundo = null; } }); campos.nome.addEventListener('change', () => { if (checkboxConjunto.checked && descricaoOriginal != null) { nomeSegundoProduto = campos.nome.options[campos.nome.selectedIndex]?.text.trim() || ''; descricaoSegundo = montarDescricaoSimples(); campoDescricao.value = `Conjunto de ${nomeSegundoProduto} contendo: ${descricaoOriginal}. mais, ${descricaoSegundo}`; } else { atualizarDescricao(); } }); atualizarDescricao(); }); </script>