-
-
-
+
+
+
+
+
-
Processos Licitatórios
-
-
Cadastro e acompanhamento de licitações
-
-
-
-
-
-
-
Cadastro e gestão de fornecedores
-
-
-
-
-
-
-
Gestão de documentos e editais
+
Documentação
+
+ Em breve: gestão de documentos e editais.
+
diff --git a/apps/web/src/routes/(dashboard)/licitacoes/empresas/+page.svelte b/apps/web/src/routes/(dashboard)/licitacoes/empresas/+page.svelte
new file mode 100644
index 0000000..6ed1c60
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/licitacoes/empresas/+page.svelte
@@ -0,0 +1,626 @@
+
+
+
+
+
+
+
+
+
+
+
+
Empresas
+
+ Cadastro, listagem e contatos de empresas fornecedoras.
+
+
+
+
+
+
+
+
+ {#if empresasQuery.isLoading}
+
+
+
+ {:else if empresasQuery.error}
+
+ Erro ao carregar empresas.
+
+ {:else if empresasQuery.data && empresasQuery.data.length === 0}
+
+
Nenhuma empresa cadastrada ainda.
+
+
+ {:else if empresasQuery.data}
+
+
+
+
+ | Nome |
+ CNPJ |
+ Telefone |
+ E-mail |
+ |
+
+
+
+ {#each empresasQuery.data as empresa (empresa._id)}
+
+ | {empresa.nome} |
+ {empresa.cnpj} |
+
+
+ {empresa.telefone}
+ |
+
+
+
+ {empresa.email}
+
+ |
+
+
+
+
+
+ |
+
+ {/each}
+
+
+
+ {/if}
+
+
+
+ {#if modalAberto}
+
+
+
+
+
+ {empresaForm.id ? "Editar empresa" : "Nova empresa"}
+
+
+ Preencha os dados da empresa e cadastre contatos associados.
+
+
+
+
+
+ {#if erroFormulario}
+
+ {erroFormulario}
+
+ {/if}
+
+
+
+
Contatos da empresa
+
+
+
+
+ Contatos cadastrados
+
+
+
+
+ {#if empresaForm.contatos.filter((c) => !c._deleted).length === 0}
+
+ Nenhum contato cadastrado. Clique em "Adicionar contato" para incluir.
+
+ {:else}
+
+
+
+
+ | Nome |
+ Função |
+ E-mail |
+ Telefone |
+ |
+
+
+
+ {#each empresaForm.contatos as contato, index (contato._id ?? `${contato.email}-${index}`)}
+ {#if !contato._deleted}
+
+ | {contato.nome} |
+ {contato.funcao} |
+ {contato.email} |
+ {contato.telefone} |
+
+
+
+
+
+ |
+
+ {/if}
+ {/each}
+
+
+
+ {/if}
+
+ {#if contatoEmEdicao}
+
+
+ {contatoIndiceEdicao === null ? "Novo contato" : "Editar contato"}
+
+
+
+
+
+
+
+ {/if}
+
+
+
+
+
+
+
+ {/if}
+
+ {#if contatosModalAberto}
+
+
+
+
+
Contatos da empresa
+
+ {empresaContatosNome}
+
+
+
+
+
+ {#if !contatosDaEmpresa.length}
+
+ Nenhum contato cadastrado para esta empresa.
+
+ {:else}
+
+
+
+
+ | Nome |
+ Função |
+ E-mail |
+ Telefone |
+ Descrição |
+
+
+
+ {#each contatosDaEmpresa as contato (contato._id ?? `${contato.email}`)}
+
+ | {contato.nome} |
+ {contato.funcao} |
+ {contato.email} |
+ {contato.telefone} |
+ {contato.descricao} |
+
+ {/each}
+
+
+
+ {/if}
+
+
+
+
+
+
+ {/if}
+
+
diff --git a/apps/web/src/routes/(dashboard)/programas-esportivos/+page.svelte b/apps/web/src/routes/(dashboard)/programas-esportivos/+page.svelte
index 60340ef..3a502c4 100644
--- a/apps/web/src/routes/(dashboard)/programas-esportivos/+page.svelte
+++ b/apps/web/src/routes/(dashboard)/programas-esportivos/+page.svelte
@@ -1,5 +1,5 @@
@@ -23,22 +23,36 @@