/** * TEMPLATES PARA CATÁLOGO DE PERFIS * Sistema automatizado para gerar conteúdo de todos os perfis */ // Configuração de cada tipo de perfil const PERFIS_CONFIG = { 'barras-redondas': { nome: 'Barras Redondas', icone: '⚫', descricao: 'Barras de aço redondas laminadas a quente', quantidade: 25, csv: 'BD/perfis/barras_brasil_completo.csv', colunas: ['id', 'nome', 'diametro_mm', 'peso_kg_m', 'area_cm2', 'tipo'], colunasTabel: [ { key: 'nome', label: 'Designação' }, { key: 'diametro_mm', label: 'Diâmetro (mm)' }, { key: 'peso_kg_m', label: 'Peso (kg/m)', decimals: 2 }, { key: 'area_cm2', label: 'Área (cm²)', decimals: 2 }, { key: 'tipo', label: 'Categoria', badge: true } ], filtros: [ { id: 'tamanho', label: 'Tamanho', type: 'select', options: [ { value: '', label: 'Todos' }, { value: 'Pequeno', label: 'Pequeno (Ø6-Ø16)' }, { value: 'Médio', label: 'Médio (Ø20-Ø32)' }, { value: 'Grande', label: 'Grande (Ø38-Ø50)' }, { value: 'Extra-Grande', label: 'Extra-Grande (Ø63+)' } ]}, { id: 'peso-max', label: 'Peso Máximo (kg/m)', type: 'number', placeholder: 'Ex: 20' }, { id: 'busca', label: 'Buscar por Nome', type: 'text', placeholder: 'Ex: Ø25' } ] }, 'tubos-circulares': { nome: 'Tubos Circulares', icone: '⭕', descricao: 'Tubos de aço circulares sem costura e com costura', quantidade: 30, csv: 'BD/perfis/tubos_circulares_brasil_completo.csv', colunas: ['id', 'nome', 'diametro_externo_mm', 'espessura_mm', 'peso_kg_m', 'area_cm2', 'tipo'], colunasTabel: [ { key: 'nome', label: 'Designação' }, { key: 'diametro_externo_mm', label: 'Ø Externo (mm)' }, { key: 'espessura_mm', label: 'Espessura (mm)' }, { key: 'peso_kg_m', label: 'Peso (kg/m)', decimals: 2 }, { key: 'area_cm2', label: 'Área (cm²)', decimals: 2 }, { key: 'tipo', label: 'Categoria', badge: true } ], filtros: [ { id: 'tamanho', label: 'Diâmetro', type: 'select', options: [ { value: '', label: 'Todos' }, { value: 'Pequeno', label: 'Pequeno (Ø21-Ø60)' }, { value: 'Médio', label: 'Médio (Ø73-Ø114)' }, { value: 'Grande', label: 'Grande (Ø141-Ø219)' }, { value: 'Extra-Grande', label: 'Extra-Grande (Ø273+)' } ]}, { id: 'peso-max', label: 'Peso Máximo (kg/m)', type: 'number', placeholder: 'Ex: 50' }, { id: 'busca', label: 'Buscar por Nome', type: 'text', placeholder: 'Ex: Ø114' } ] }, 'perfis-i': { nome: 'Perfis I (IPE)', icone: '🏗️', descricao: 'Perfis I laminados a quente - Série IPE', quantidade: 20, csv: 'BD/perfis/perfis_i_brasil_completo.csv', colunas: ['id', 'nome', 'altura_mm', 'largura_mm', 'espessura_alma_mm', 'espessura_mesa_mm', 'peso_kg_m', 'area_cm2', 'tipo'], colunasTabel: [ { key: 'nome', label: 'Designação' }, { key: 'altura_mm', label: 'Altura (mm)' }, { key: 'largura_mm', label: 'Largura (mm)' }, { key: 'peso_kg_m', label: 'Peso (kg/m)', decimals: 2 }, { key: 'area_cm2', label: 'Área (cm²)', decimals: 2 }, { key: 'tipo', label: 'Categoria', badge: true } ], filtros: [ { id: 'tamanho', label: 'Tamanho', type: 'select', options: [ { value: '', label: 'Todos' }, { value: 'Pequeno', label: 'Pequeno (IPE80-IPE160)' }, { value: 'Médio', label: 'Médio (IPE180-IPE270)' }, { value: 'Grande', label: 'Grande (IPE300-IPE400)' }, { value: 'Extra-Grande', label: 'Extra-Grande (IPE450+)' } ]}, { id: 'peso-max', label: 'Peso Máximo (kg/m)', type: 'number', placeholder: 'Ex: 100' }, { id: 'busca', label: 'Buscar por Nome', type: 'text', placeholder: 'Ex: IPE200' } ] }, 'perfis-w': { nome: 'Perfis W', icone: '🏛️', descricao: 'Perfis W laminados a quente - Série americana', quantidade: 25, csv: 'BD/perfis/perfis_w_brasil_completo.csv', colunas: ['id', 'nome', 'altura_mm', 'largura_mm', 'espessura_alma_mm', 'espessura_mesa_mm', 'peso_kg_m', 'area_cm2', 'tipo'], colunasTabel: [ { key: 'nome', label: 'Designação' }, { key: 'altura_mm', label: 'Altura (mm)' }, { key: 'largura_mm', label: 'Largura (mm)' }, { key: 'peso_kg_m', label: 'Peso (kg/m)', decimals: 2 }, { key: 'area_cm2', label: 'Área (cm²)', decimals: 2 }, { key: 'tipo', label: 'Categoria', badge: true } ], filtros: [ { id: 'tamanho', label: 'Tamanho', type: 'select', options: [ { value: '', label: 'Todos' }, { value: 'Pequeno', label: 'Pequeno (W150-W250)' }, { value: 'Médio', label: 'Médio (W310-W410)' }, { value: 'Grande', label: 'Grande (W460-W610)' }, { value: 'Extra-Grande', label: 'Extra-Grande (W690+)' } ]}, { id: 'peso-max', label: 'Peso Máximo (kg/m)', type: 'number', placeholder: 'Ex: 150' }, { id: 'busca', label: 'Buscar por Nome', type: 'text', placeholder: 'Ex: W310' } ] }, 'tubos-rhs': { nome: 'Tubos RHS', icone: '▭', descricao: 'Tubos retangulares e quadrados estruturais', quantidade: 35, csv: 'BD/perfis/tubos_rhs_brasil_completo.csv', colunas: ['id', 'nome', 'largura_mm', 'altura_mm', 'espessura_mm', 'peso_kg_m', 'area_cm2', 'tipo'], colunasTabel: [ { key: 'nome', label: 'Designação' }, { key: 'largura_mm', label: 'Largura (mm)' }, { key: 'altura_mm', label: 'Altura (mm)' }, { key: 'espessura_mm', label: 'Espessura (mm)' }, { key: 'peso_kg_m', label: 'Peso (kg/m)', decimals: 2 }, { key: 'area_cm2', label: 'Área (cm²)', decimals: 2 }, { key: 'tipo', label: 'Categoria', badge: true } ], filtros: [ { id: 'tamanho', label: 'Tamanho', type: 'select', options: [ { value: '', label: 'Todos' }, { value: 'Pequeno', label: 'Pequeno (até 50x50)' }, { value: 'Médio', label: 'Médio (60x40 a 100x100)' }, { value: 'Grande', label: 'Grande (120x80 a 200x100)' }, { value: 'Extra-Grande', label: 'Extra-Grande (200x200+)' } ]}, { id: 'peso-max', label: 'Peso Máximo (kg/m)', type: 'number', placeholder: 'Ex: 80' }, { id: 'busca', label: 'Buscar por Nome', type: 'text', placeholder: 'Ex: 100x100' } ] }, 'chapas': { nome: 'Chapas', icone: '📄', descricao: 'Chapas de aço laminadas a quente e a frio', quantidade: 15, csv: 'BD/perfis/chapas_brasil_completo.csv', colunas: ['id', 'nome', 'espessura_mm', 'peso_kg_m2', 'tipo'], colunasTabel: [ { key: 'nome', label: 'Designação' }, { key: 'espessura_mm', label: 'Espessura (mm)' }, { key: 'peso_kg_m2', label: 'Peso (kg/m²)', decimals: 2 }, { key: 'tipo', label: 'Categoria', badge: true } ], filtros: [ { id: 'tamanho', label: 'Espessura', type: 'select', options: [ { value: '', label: 'Todas' }, { value: 'Fina', label: 'Fina (até 6mm)' }, { value: 'Média', label: 'Média (8-16mm)' }, { value: 'Grossa', label: 'Grossa (19-32mm)' }, { value: 'Extra-Grossa', label: 'Extra-Grossa (38mm+)' } ]}, { id: 'peso-max', label: 'Peso Máximo (kg/m²)', type: 'number', placeholder: 'Ex: 100' }, { id: 'busca', label: 'Buscar por Nome', type: 'text', placeholder: 'Ex: 12.5mm' } ] }, 'perfis-hp': { nome: 'Perfis HP', icone: '🏗️', descricao: 'Perfis HP para estacas e pilares', quantidade: 12, csv: 'BD/perfis/perfis_hp_brasil_completo.csv', colunas: ['id', 'nome', 'altura_mm', 'largura_mm', 'espessura_alma_mm', 'espessura_mesa_mm', 'peso_kg_m', 'area_cm2', 'tipo'], colunasTabel: [ { key: 'nome', label: 'Designação' }, { key: 'altura_mm', label: 'Altura (mm)' }, { key: 'largura_mm', label: 'Largura (mm)' }, { key: 'peso_kg_m', label: 'Peso (kg/m)', decimals: 2 }, { key: 'area_cm2', label: 'Área (cm²)', decimals: 2 }, { key: 'tipo', label: 'Categoria', badge: true } ], filtros: [ { id: 'tamanho', label: 'Tamanho', type: 'select', options: [ { value: '', label: 'Todos' }, { value: 'Pequeno', label: 'Pequeno (HP200-HP250)' }, { value: 'Médio', label: 'Médio (HP310-HP360)' }, { value: 'Grande', label: 'Grande (HP400+)' } ]}, { id: 'peso-max', label: 'Peso Máximo (kg/m)', type: 'number', placeholder: 'Ex: 150' }, { id: 'busca', label: 'Buscar por Nome', type: 'text', placeholder: 'Ex: HP310' } ] }, 'barras-roscadas': { nome: 'Barras Roscadas', icone: '🔩', descricao: 'Barras roscadas de aço para fixação', quantidade: 18, csv: 'BD/perfis/barras_roscadas_brasil_completo.csv', colunas: ['id', 'nome', 'diametro_mm', 'passo_mm', 'peso_kg_m', 'area_cm2', 'tipo'], colunasTabel: [ { key: 'nome', label: 'Designação' }, { key: 'diametro_mm', label: 'Diâmetro (mm)' }, { key: 'passo_mm', label: 'Passo (mm)' }, { key: 'peso_kg_m', label: 'Peso (kg/m)', decimals: 2 }, { key: 'area_cm2', label: 'Área (cm²)', decimals: 2 }, { key: 'tipo', label: 'Categoria', badge: true } ], filtros: [ { id: 'tamanho', label: 'Diâmetro', type: 'select', options: [ { value: '', label: 'Todos' }, { value: 'Pequeno', label: 'Pequeno (M6-M12)' }, { value: 'Médio', label: 'Médio (M16-M24)' }, { value: 'Grande', label: 'Grande (M30-M36)' }, { value: 'Extra-Grande', label: 'Extra-Grande (M42+)' } ]}, { id: 'peso-max', label: 'Peso Máximo (kg/m)', type: 'number', placeholder: 'Ex: 10' }, { id: 'busca', label: 'Buscar por Nome', type: 'text', placeholder: 'Ex: M20' } ] }, 'barras-chatas': { nome: 'Barras Chatas', icone: '▬', descricao: 'Barras chatas de aço laminadas a quente', quantidade: 22, csv: 'BD/perfis/barras_chatas_brasil_completo.csv', colunas: ['id', 'nome', 'largura_mm', 'espessura_mm', 'peso_kg_m', 'area_cm2', 'tipo'], colunasTabel: [ { key: 'nome', label: 'Designação' }, { key: 'largura_mm', label: 'Largura (mm)' }, { key: 'espessura_mm', label: 'Espessura (mm)' }, { key: 'peso_kg_m', label: 'Peso (kg/m)', decimals: 2 }, { key: 'area_cm2', label: 'Área (cm²)', decimals: 2 }, { key: 'tipo', label: 'Categoria', badge: true } ], filtros: [ { id: 'tamanho', label: 'Tamanho', type: 'select', options: [ { value: '', label: 'Todas' }, { value: 'Pequena', label: 'Pequena (até 25mm)' }, { value: 'Média', label: 'Média (32-50mm)' }, { value: 'Grande', label: 'Grande (63-100mm)' }, { value: 'Extra-Grande', label: 'Extra-Grande (125mm+)' } ]}, { id: 'peso-max', label: 'Peso Máximo (kg/m)', type: 'number', placeholder: 'Ex: 30' }, { id: 'busca', label: 'Buscar por Nome', type: 'text', placeholder: 'Ex: 50x6' } ] } }; /** * Gera o HTML completo para um tipo de perfil */ function gerarConteudoPerfil(tipo) { const config = PERFIS_CONFIG[tipo]; if (!config) { console.error(`Configuração não encontrada para: ${tipo}`); return '
Erro: Tipo de perfil não configurado
'; } const tipoId = tipo.replace(/-/g, '_'); return `| ${col.label} | `).join('')}Ações |
|---|
${config.descricao}
Perfis estruturais amplamente utilizados em construção civil, naval e industrial.
Principais fabricantes nacionais disponíveis.
Informações de preços atualizadas para ${new Date().getFullYear()}.
Aplicações típicas e recomendações de uso.