Spaces:
Running
Running
| <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"> | |
| <!-- Sidebar --> | |
| <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> | |
| <!-- Main Content --> | |
| <div class="flex-1 overflow-auto"> | |
| <!-- Top Navigation --> | |
| <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> | |
| <!-- Tab Contents --> | |
| <main class="p-6"> | |
| <!-- Dashboard Tab --> | |
| <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> | |
| <!-- Processos Tab --> | |
| <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"> | |
| <!-- Process rows will be added here by JavaScript --> | |
| </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> | |
| <!-- Clientes Tab --> | |
| <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"> | |
| <!-- Client rows will be added here by JavaScript --> | |
| </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> | |
| <!-- Import Data Tab --> | |
| <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> |