| | <!DOCTYPE html> |
| | <html lang="pt-BR"> |
| | <head> |
| | <meta charset="UTF-8"> |
| | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| | <title>LegalData Manager - Gestão de Processos Jurídicos</title> |
| | <script src="https://cdn.tailwindcss.com"></script> |
| | <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> |
| | <script src="https://cdn.jsdelivr.net/npm/chart.js"></script> |
| | <script src="https://cdnjs.cloudflare.com/ajax/libs/PapaParse/5.3.0/papaparse.min.js"></script> |
| | <script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.18.5/xlsx.full.min.js"></script> |
| | <style> |
| | .sidebar { |
| | transition: all 0.3s ease; |
| | } |
| | .data-card:hover { |
| | transform: translateY(-5px); |
| | box-shadow: 0 10px 20px rgba(0,0,0,0.1); |
| | } |
| | .process-detail { |
| | max-height: 0; |
| | overflow: hidden; |
| | transition: max-height 0.5s ease-out; |
| | } |
| | .process-detail.active { |
| | max-height: 1000px; |
| | } |
| | .tab-content { |
| | display: none; |
| | } |
| | .tab-content.active { |
| | display: block; |
| | animation: fadeIn 0.5s; |
| | } |
| | @keyframes fadeIn { |
| | from { opacity: 0; } |
| | to { opacity: 1; } |
| | } |
| | </style> |
| | </head> |
| | <body class="bg-gray-50 font-sans"> |
| | <div class="flex h-screen overflow-hidden"> |
| | |
| | <div class="sidebar bg-indigo-900 text-white w-64 flex-shrink-0"> |
| | <div class="p-4 flex items-center space-x-3 border-b border-indigo-800"> |
| | <i class="fas fa-balance-scale text-2xl text-indigo-300"></i> |
| | <h1 class="text-xl font-bold">LegalData Manager</h1> |
| | </div> |
| | <nav class="p-4"> |
| | <div class="mb-6"> |
| | <h3 class="text-xs uppercase text-indigo-400 font-semibold mb-3">Menu Principal</h3> |
| | <ul> |
| | <li class="mb-2"> |
| | <a href="#" class="flex items-center p-2 rounded hover:bg-indigo-800 transition" onclick="showTab('dashboard')"> |
| | <i class="fas fa-tachometer-alt mr-3"></i> |
| | Dashboard |
| | </a> |
| | </li> |
| | <li class="mb-2"> |
| | <a href="#" class="flex items-center p-2 rounded hover:bg-indigo-800 transition" onclick="showTab('processos')"> |
| | <i class="fas fa-folder-open mr-3"></i> |
| | Processos |
| | </a> |
| | </li> |
| | <li class="mb-2"> |
| | <a href="#" class="flex items-center p-2 rounded hover:bg-indigo-800 transition" onclick="showTab('clientes')"> |
| | <i class="fas fa-users mr-3"></i> |
| | Clientes |
| | </a> |
| | </li> |
| | <li class="mb-2"> |
| | <a href="#" class="flex items-center p-2 rounded hover:bg-indigo-800 transition" onclick="showTab('import')"> |
| | <i class="fas fa-file-import mr-3"></i> |
| | Importar Dados |
| | </a> |
| | </li> |
| | </ul> |
| | </div> |
| | <div class="mb-6"> |
| | <h3 class="text-xs uppercase text-indigo-400 font-semibold mb-3">Administração</h3> |
| | <ul> |
| | <li class="mb-2"> |
| | <a href="#" class="flex items-center p-2 rounded hover:bg-indigo-800 transition" onclick="showTab('config')"> |
| | <i class="fas fa-cog mr-3"></i> |
| | Configurações |
| | </a> |
| | </li> |
| | <li class="mb-2"> |
| | <a href="#" class="flex items-center p-2 rounded hover:bg-indigo-800 transition" onclick="showTab('sanitize')"> |
| | <i class="fas fa-broom mr-3"></i> |
| | Sanitização |
| | </a> |
| | </li> |
| | <li class="mb-2"> |
| | <a href="#" class="flex items-center p-2 rounded hover:bg-indigo-800 transition" onclick="showTab('integrations')"> |
| | <i class="fas fa-plug mr-3"></i> |
| | Integrações |
| | </a> |
| | </li> |
| | </ul> |
| | </div> |
| | <div class="mt-8 pt-4 border-t border-indigo-800"> |
| | <div class="flex items-center space-x-3"> |
| | <div class="w-10 h-10 rounded-full bg-indigo-700 flex items-center justify-center"> |
| | <i class="fas fa-user"></i> |
| | </div> |
| | <div> |
| | <p class="font-medium">Admin</p> |
| | <p class="text-xs text-indigo-300">admin@legaldata.com</p> |
| | </div> |
| | </div> |
| | </div> |
| | </nav> |
| | </div> |
| |
|
| | |
| | <div class="flex-1 overflow-auto"> |
| | |
| | <header class="bg-white shadow-sm"> |
| | <div class="flex justify-between items-center p-4"> |
| | <div class="flex items-center space-x-4"> |
| | <button class="text-gray-500 md:hidden"> |
| | <i class="fas fa-bars"></i> |
| | </button> |
| | <h2 class="text-xl font-semibold text-gray-800" id="current-tab-title">Dashboard</h2> |
| | </div> |
| | <div class="flex items-center space-x-4"> |
| | <div class="relative"> |
| | <input type="text" placeholder="Buscar..." class="pl-10 pr-4 py-2 rounded-lg border border-gray-300 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent"> |
| | <i class="fas fa-search absolute left-3 top-3 text-gray-400"></i> |
| | </div> |
| | <button class="p-2 rounded-full bg-gray-100 text-gray-600 hover:bg-gray-200"> |
| | <i class="fas fa-bell"></i> |
| | </button> |
| | </div> |
| | </div> |
| | </header> |
| |
|
| | |
| | <main class="p-6"> |
| | |
| | <div id="dashboard" class="tab-content active"> |
| | <div class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-6"> |
| | <div class="data-card bg-white p-6 rounded-xl shadow"> |
| | <div class="flex justify-between items-start"> |
| | <div> |
| | <p class="text-gray-500">Processos Ativos</p> |
| | <h3 class="text-3xl font-bold mt-2">124</h3> |
| | </div> |
| | <div class="p-3 rounded-lg bg-indigo-100 text-indigo-600"> |
| | <i class="fas fa-folder-open text-xl"></i> |
| | </div> |
| | </div> |
| | <div class="mt-4 pt-4 border-t border-gray-100"> |
| | <p class="text-sm text-green-500 flex items-center"> |
| | <i class="fas fa-arrow-up mr-1"></i> 12% desde o último mês |
| | </p> |
| | </div> |
| | </div> |
| | <div class="data-card bg-white p-6 rounded-xl shadow"> |
| | <div class="flex justify-between items-start"> |
| | <div> |
| | <p class="text-gray-500">Clientes Ativos</p> |
| | <h3 class="text-3xl font-bold mt-2">42</h3> |
| | </div> |
| | <div class="p-3 rounded-lg bg-green-100 text-green-600"> |
| | <i class="fas fa-users text-xl"></i> |
| | </div> |
| | </div> |
| | <div class="mt-4 pt-4 border-t border-gray-100"> |
| | <p class="text-sm text-green-500 flex items-center"> |
| | <i class="fas fa-arrow-up mr-1"></i> 5% desde o último mês |
| | </p> |
| | </div> |
| | </div> |
| | <div class="data-card bg-white p-6 rounded-xl shadow"> |
| | <div class="flex justify-between items-start"> |
| | <div> |
| | <p class="text-gray-500">Intimações Pendentes</p> |
| | <h3 class="text-3xl font-bold mt-2">18</h3> |
| | </div> |
| | <div class="p-3 rounded-lg bg-red-100 text-red-600"> |
| | <i class="fas fa-exclamation-triangle text-xl"></i> |
| | </div> |
| | </div> |
| | <div class="mt-4 pt-4 border-t border-gray-100"> |
| | <p class="text-sm text-red-500 flex items-center"> |
| | <i class="fas fa-arrow-up mr-1"></i> 3 novas hoje |
| | </p> |
| | </div> |
| | </div> |
| | </div> |
| |
|
| | <div class="grid grid-cols-1 lg:grid-cols-2 gap-6 mb-6"> |
| | <div class="bg-white p-6 rounded-xl shadow"> |
| | <div class="flex justify-between items-center mb-4"> |
| | <h3 class="font-semibold text-lg">Distribuição de Processos</h3> |
| | <select class="border border-gray-300 rounded px-3 py-1 text-sm"> |
| | <option>Últimos 30 dias</option> |
| | <option>Últimos 90 dias</option> |
| | <option>Este ano</option> |
| | </select> |
| | </div> |
| | <div class="h-64"> |
| | <canvas id="processChart"></canvas> |
| | </div> |
| | </div> |
| | <div class="bg-white p-6 rounded-xl shadow"> |
| | <div class="flex justify-between items-center mb-4"> |
| | <h3 class="font-semibold text-lg">Atividades Recentes</h3> |
| | <button class="text-indigo-600 text-sm font-medium">Ver todas</button> |
| | </div> |
| | <div class="space-y-4"> |
| | <div class="flex items-start"> |
| | <div class="p-2 bg-indigo-100 rounded-lg mr-3 text-indigo-600"> |
| | <i class="fas fa-file-alt"></i> |
| | </div> |
| | <div> |
| | <p class="font-medium">Novo processo cadastrado</p> |
| | <p class="text-sm text-gray-500">Processo #2023-0456 para João Silva</p> |
| | <p class="text-xs text-gray-400">há 15 minutos</p> |
| | </div> |
| | </div> |
| | <div class="flex items-start"> |
| | <div class="p-2 bg-green-100 rounded-lg mr-3 text-green-600"> |
| | <i class="fas fa-check-circle"></i> |
| | </div> |
| | <div> |
| | <p class="font-medium">Intimação respondida</p> |
| | <p class="text-sm text-gray-500">Processo #2023-0321 - TRF1</p> |
| | <p class="text-xs text-gray-400">há 2 horas</p> |
| | </div> |
| | </div> |
| | <div class="flex items-start"> |
| | <div class="p-2 bg-blue-100 rounded-lg mr-3 text-blue-600"> |
| | <i class="fas fa-sync-alt"></i> |
| | </div> |
| | <div> |
| | <p class="font-medium">Dados atualizados via APS</p> |
| | <p class="text-sm text-gray-500">5 processos atualizados do TJSP</p> |
| | <p class="text-xs text-gray-400">hoje às 08:45</p> |
| | </div> |
| | </div> |
| | </div> |
| | </div> |
| | </div> |
| |
|
| | <div class="bg-white p-6 rounded-xl shadow"> |
| | <div class="flex justify-between items-center mb-4"> |
| | <h3 class="font-semibold text-lg">Processos com Prazos Próximos</h3> |
| | <button class="text-indigo-600 text-sm font-medium">Ver todos</button> |
| | </div> |
| | <div class="overflow-x-auto"> |
| | <table class="min-w-full divide-y divide-gray-200"> |
| | <thead class="bg-gray-50"> |
| | <tr> |
| | <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Processo</th> |
| | <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Cliente</th> |
| | <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Tribunal</th> |
| | <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Prazo</th> |
| | <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Status</th> |
| | <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Ações</th> |
| | </tr> |
| | </thead> |
| | <tbody class="bg-white divide-y divide-gray-200"> |
| | <tr> |
| | <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">#2023-0456</td> |
| | <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">João Silva</td> |
| | <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">TJSP</td> |
| | <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">15/07/2023</td> |
| | <td class="px-6 py-4 whitespace-nowrap"> |
| | <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-yellow-100 text-yellow-800">Pendente</span> |
| | </td> |
| | <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500"> |
| | <button class="text-indigo-600 hover:text-indigo-900 mr-3"><i class="fas fa-eye"></i></button> |
| | <button class="text-green-600 hover:text-green-900"><i class="fas fa-edit"></i></button> |
| | </td> |
| | </tr> |
| | <tr> |
| | <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">#2023-0389</td> |
| | <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Maria Souza</td> |
| | <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">TRF4</td> |
| | <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">18/07/2023</td> |
| | <td class="px-6 py-4 whitespace-nowrap"> |
| | <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-red-100 text-red-800">Urgente</span> |
| | </td> |
| | <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500"> |
| | <button class="text-indigo-600 hover:text-indigo-900 mr-3"><i class="fas fa-eye"></i></button> |
| | <button class="text-green-600 hover:text-green-900"><i class="fas fa-edit"></i></button> |
| | </td> |
| | </tr> |
| | <tr> |
| | <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">#2023-0412</td> |
| | <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Empresa XYZ Ltda</td> |
| | <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">TJMG</td> |
| | <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">20/07/2023</td> |
| | <td class="px-6 py-4 whitespace-nowrap"> |
| | <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-yellow-100 text-yellow-800">Pendente</span> |
| | </td> |
| | <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500"> |
| | <button class="text-indigo-600 hover:text-indigo-900 mr-3"><i class="fas fa-eye"></i></button> |
| | <button class="text-green-600 hover:text-green-900"><i class="fas fa-edit"></i></button> |
| | </td> |
| | </tr> |
| | </tbody> |
| | </table> |
| | </div> |
| | </div> |
| | </div> |
| |
|
| | |
| | <div id="processos" class="tab-content"> |
| | <div class="flex justify-between items-center mb-6"> |
| | <h2 class="text-2xl font-bold text-gray-800">Gestão de Processos</h2> |
| | <button onclick="showModal('new-process')" class="bg-indigo-600 text-white px-4 py-2 rounded-lg hover:bg-indigo-700 transition flex items-center"> |
| | <i class="fas fa-plus mr-2"></i> Novo Processo |
| | </button> |
| | </div> |
| |
|
| | <div class="bg-white rounded-xl shadow overflow-hidden mb-6"> |
| | <div class="p-4 border-b border-gray-200 flex justify-between items-center"> |
| | <div class="flex items-center space-x-4"> |
| | <div class="relative"> |
| | <input type="text" placeholder="Filtrar processos..." class="pl-10 pr-4 py-2 rounded-lg border border-gray-300 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent"> |
| | <i class="fas fa-search absolute left-3 top-3 text-gray-400"></i> |
| | </div> |
| | <select class="border border-gray-300 rounded px-3 py-2 text-sm"> |
| | <option>Todos os tribunais</option> |
| | <option>TJSP</option> |
| | <option>TJMG</option> |
| | <option>TRF1</option> |
| | <option>TRF2</option> |
| | <option>TRF3</option> |
| | <option>TRF4</option> |
| | <option>TRF5</option> |
| | </select> |
| | </div> |
| | <div class="flex items-center space-x-2"> |
| | <button class="p-2 rounded-lg border border-gray-300 hover:bg-gray-50"> |
| | <i class="fas fa-download text-gray-600"></i> |
| | </button> |
| | <button class="p-2 rounded-lg border border-gray-300 hover:bg-gray-50"> |
| | <i class="fas fa-print text-gray-600"></i> |
| | </button> |
| | </div> |
| | </div> |
| | <div class="overflow-x-auto"> |
| | <table class="min-w-full divide-y divide-gray-200"> |
| | <thead class="bg-gray-50"> |
| | <tr> |
| | <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Número</th> |
| | <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Cliente</th> |
| | <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Tribunal</th> |
| | <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Data Abertura</th> |
| | <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Status</th> |
| | <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Ações</th> |
| | </tr> |
| | </thead> |
| | <tbody class="bg-white divide-y divide-gray-200" id="processos-table-body"> |
| | |
| | </tbody> |
| | </table> |
| | </div> |
| | <div class="p-4 border-t border-gray-200 flex justify-between items-center"> |
| | <div class="text-sm text-gray-500"> |
| | Mostrando <span class="font-medium">1</span> a <span class="font-medium">10</span> de <span class="font-medium">124</span> resultados |
| | </div> |
| | <div class="flex space-x-1"> |
| | <button class="px-3 py-1 rounded border border-gray-300 bg-gray-50 text-gray-700"> |
| | <i class="fas fa-angle-left"></i> |
| | </button> |
| | <button class="px-3 py-1 rounded border border-indigo-500 bg-indigo-50 text-indigo-600">1</button> |
| | <button class="px-3 py-1 rounded border border-gray-300 hover:bg-gray-50">2</button> |
| | <button class="px-3 py-1 rounded border border-gray-300 hover:bg-gray-50">3</button> |
| | <button class="px-3 py-1 rounded border border-gray-300 hover:bg-gray-50">4</button> |
| | <button class="px-3 py-1 rounded border border-gray-300 hover:bg-gray-50">5</button> |
| | <button class="px-3 py-1 rounded border border-gray-300 hover:bg-gray-50"> |
| | <i class="fas fa-angle-right"></i> |
| | </button> |
| | </div> |
| | </div> |
| | </div> |
| | </div> |
| |
|
| | |
| | <div id="clientes" class="tab-content"> |
| | <div class="flex justify-between items-center mb-6"> |
| | <h2 class="text-2xl font-bold text-gray-800">Gestão de Clientes</h2> |
| | <button onclick="showModal('new-client')" class="bg-indigo-600 text-white px-4 py-2 rounded-lg hover:bg-indigo-700 transition flex items-center"> |
| | <i class="fas fa-plus mr-2"></i> Novo Cliente |
| | </button> |
| | </div> |
| |
|
| | <div class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-6"> |
| | <div class="bg-white p-6 rounded-xl shadow"> |
| | <div class="flex items-center space-x-4"> |
| | <div class="p-3 bg-indigo-100 rounded-lg text-indigo-600"> |
| | <i class="fas fa-user-tie text-2xl"></i> |
| | </div> |
| | <div> |
| | <p class="text-gray-500">Clientes Ativos</p> |
| | <h3 class="text-2xl font-bold">42</h3> |
| | </div> |
| | </div> |
| | </div> |
| | <div class="bg-white p-6 rounded-xl shadow"> |
| | <div class="flex items-center space-x-4"> |
| | <div class="p-3 bg-green-100 rounded-lg text-green-600"> |
| | <i class="fas fa-briefcase text-2xl"></i> |
| | </div> |
| | <div> |
| | <p class="text-gray-500">Pessoa Jurídica</p> |
| | <h3 class="text-2xl font-bold">18</h3> |
| | </div> |
| | </div> |
| | </div> |
| | <div class="bg-white p-6 rounded-xl shadow"> |
| | <div class="flex items-center space-x-4"> |
| | <div class="p-3 bg-blue-100 rounded-lg text-blue-600"> |
| | <i class="fas fa-user text-2xl"></i> |
| | </div> |
| | <div> |
| | <p class="text-gray-500">Pessoa Física</p> |
| | <h3 class="text-2xl font-bold">24</h3> |
| | </div> |
| | </div> |
| | </div> |
| | </div> |
| |
|
| | <div class="bg-white rounded-xl shadow overflow-hidden"> |
| | <div class="p-4 border-b border-gray-200 flex justify-between items-center"> |
| | <div class="relative w-64"> |
| | <input type="text" placeholder="Buscar cliente..." class="pl-10 pr-4 py-2 rounded-lg border border-gray-300 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent w-full"> |
| | <i class="fas fa-search absolute left-3 top-3 text-gray-400"></i> |
| | </div> |
| | <div class="flex items-center space-x-2"> |
| | <button class="p-2 rounded-lg border border-gray-300 hover:bg-gray-50"> |
| | <i class="fas fa-filter text-gray-600"></i> |
| | </button> |
| | <button class="p-2 rounded-lg border border-gray-300 hover:bg-gray-50"> |
| | <i class="fas fa-download text-gray-600"></i> |
| | </button> |
| | </div> |
| | </div> |
| | <div class="overflow-x-auto"> |
| | <table class="min-w-full divide-y divide-gray-200"> |
| | <thead class="bg-gray-50"> |
| | <tr> |
| | <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Nome</th> |
| | <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">CPF/CNPJ</th> |
| | <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">E-mail</th> |
| | <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Telefone</th> |
| | <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Processos</th> |
| | <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Ações</th> |
| | </tr> |
| | </thead> |
| | <tbody class="bg-white divide-y divide-gray-200" id="clientes-table-body"> |
| | |
| | </tbody> |
| | </table> |
| | </div> |
| | <div class="p-4 border-t border-gray-200 flex justify-between items-center"> |
| | <div class="text-sm text-gray-500"> |
| | Mostrando <span class="font-medium">1</span> a <span class="font-medium">10</span> de <span class="font-medium">42</span> resultados |
| | </div> |
| | <div class="flex space-x-1"> |
| | <button class="px-3 py-1 rounded border border-gray-300 bg-gray-50 text-gray-700"> |
| | <i class="fas fa-angle-left"></i> |
| | </button> |
| | <button class="px-3 py-1 rounded border border-indigo-500 bg-indigo-50 text-indigo-600">1</button> |
| | <button class="px-3 py-1 rounded border border-gray-300 hover:bg-gray-50">2</button> |
| | <button class="px-3 py-1 rounded border border-gray-300 hover:bg-gray-50">3</button> |
| | <button class="px-3 py-1 rounded border border-gray-300 hover:bg-gray-50">4</button> |
| | <button class="px-3 py-1 rounded border border-gray-300 hover:bg-gray-50">5</button> |
| | <button class="px-3 py-1 rounded border border-gray-300 hover:bg-gray-50"> |
| | <i class="fas fa-angle-right"></i> |
| | </button> |
| | </div> |
| | </div> |
| | </div> |
| | </div> |
| |
|
| | |
| | <div id="import" class="tab-content"> |
| | <div class="mb-6"> |
| | <h2 class="text-2xl font-bold text-gray-800">Importar Dados</h2> |
| | <p class="text-gray-600">Conecte-se a planilhas externas ou importe arquivos para atualizar sua base de dados</p> |
| | </div> |
| |
|
| | <div class="grid grid-cols-1 lg:grid-cols-3 gap-6 mb-6"> |
| | <div class="bg-white p-6 rounded-xl shadow"> |
| | <div class="flex items-center justify-between mb-4"> |
| | <h3 class="font-semibold text-lg">Google Sheets</h3> |
| | <div class="p-2 bg-blue-100 rounded-lg text-blue-600"> |
| | <i class="fab fa-google"></i> |
| | </div> |
| | </div> |
| | <p class="text-gray-600 mb-4">Conecte-se diretamente ao Google Sheets para sincronizar seus dados</p> |
| | <button class="w-full bg-blue-600 text-white py-2 rounded-lg hover:bg-blue-700 transition flex items-center justify-center"> |
| | <i class="fab fa-google mr-2"></i> Conectar ao Google |
| | </button> |
| | </div> |
| | <div class="bg-white p-6 rounded-xl shadow"> |
| | <div class="flex items-center justify-between mb-4"> |
| | <h3 class="font-semibold text-lg">Excel/CSV</h3> |
| | <div class="p-2 bg-green-100 rounded-lg text-green-600"> |
| | <i class="fas fa-file-excel"></i> |
| | </div> |
| | </div> |
| | <p class="text-gray-600 mb-4">Importe arquivos Excel (.xlsx, .xls) ou CSV para atualizar seus dados</p> |
| | <div class="flex space-x-2"> |
| | <button onclick="document.getElementById('file-input').click()" class="flex-1 bg-green-600 text-white py-2 rounded-lg hover:bg-green-700 transition flex items-center justify-center"> |
| | <i class="fas fa-upload mr-2"></i> Selecionar Arquivo |
| | </button> |
| | <input type="file" id="file-input" class="hidden" accept=".xlsx,.xls,.csv"> |
| | <button class="px-3 bg-gray-100 text-gray-700 rounded-lg hover:bg-gray-200"> |
| | <i class="fas fa-question"></i> |
| | </button> |
| | </div> |
| | </div> |
| | <div class="bg-white p-6 rounded-xl shadow"> |
| | <div class="flex items-center justify-between mb-4"> |
| | <h3 class="font-semibold text-lg">JSON/API</h3> |
| | <div class="p-2 bg-purple-100 rounded-lg text-purple-600"> |
| | <i class="fas fa-code"></i> |
| | </div> |
| | </div> |
| | <p class="text-gray-600 mb-4">Importe dados em formato JSON ou conecte-se a APIs externas</p> |
| | <button class="w-full bg-purple-600 text-white py-2 rounded-lg hover:bg-purple-700 transition flex items-center justify-center"> |
| | <i class="fas fa-plug mr-2"></i> Configurar API |
| | </button> |
| | </div> |
| | </div> |
| |
|
| | <div class="bg-white rounded-xl shadow overflow-hidden"> |
| | <div class="p-4 border-b border-gray-200"> |
| | <h3 class="font-semibold text-lg">Mapeamento de Campos</h3> |
| | <p class="text-gray-600">Defina como os campos do arquivo importado serão mapeados para o sistema</p> |
| | </div> |
| | <div class="p-4"> |
| | <div class="overflow-x-auto"> |
| | <table class="min-w-full divide-y divide-gray-200"> |
| | <thead class="bg-gray-50"> |
| | <tr> |
| | <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Campo no Arquivo</th> |
| | <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Mapear para</th> |
| | <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Tipo de Dado</th> |
| | <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Ações</th> |
| | </tr> |
| | </thead> |
| | < |
| | </html> |