|
|
<!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> |