Tipos de Contrato
Pré-requisitos de acesso
- Permissão (módulo):
manageContracts - Licença/Feature: Nenhuma.
- Contêiner do menu: GERAL → grupo Contratos
O que é / quando usar
Cadastro dos tipos (categorias) de contrato usados ao criar um contrato. Cada tipo é apenas um rótulo nomeado (ex.: "Assinatura", "Mensalidade", "Empréstimo") que organiza e classifica os contratos e alimenta o seletor Tipo de contrato do formulário de Criar/Editar contrato e o filtro por tipo da Lista de contratos. Use antes de criar contratos, para que haja categorias disponíveis.
Pré-condições
- Permissão:
manageContractscadastrado para a role (permissão dupla — enum CPM no backend + módulo dinâmico no DB). - Licença/Feature: Nenhuma.
- Dependências de outras telas: nenhuma — esta é, normalmente, a primeira tela de configuração do domínio de contratos.
Passo a passo
- Acesse o menu Contratos → Tipos de contratos.
- Use a busca por nome para localizar um tipo.
- Clique em Novo para cadastrar um tipo: informe o nome no modal e salve.
- Para renomear, clique em editar (lápis) na linha → o modal abre com o nome atual.
- Para remover, clique em excluir (lixeira) e confirme no bottom-sheet.
Campos
| Campo | O que é | Obrigatório? | Efeito no sistema/backend |
|---|---|---|---|
| Nome | Rótulo do tipo de contrato | Sim | Grava name na entidade ContractsType. É o texto exibido no seletor de tipo do formulário de contrato e no filtro por tipo da listagem. |
Ações e modais
- Novo: abre o
ContractTypeModalComponent(modo criação). Ao salvar, chamacreateContractType(name); sucesso → snackbar e a lista recarrega. - Editar (lápis): abre o mesmo modal preenchido com o nome atual; salva via
updateContractType(id, name). - Excluir (lixeira): abre bottom-sheet de confirmação; ao confirmar, chama
deleteContractType(id).
Regras de negócio / cuidados
Atenção
- Excluir um tipo em uso: o tipo está referenciado por contratos (
contractTypeId). Remover um tipo que já está atribuído a contratos pode deixar esses registros sem categoria válida — prefira renomear a excluir tipos em uso, e só exclua tipos não utilizados. - O nome é o identificador funcional no filtro da listagem (o filtro usa o nome, não o id). Nomes duplicados confundem a classificação — mantenha-os únicos e descritivos.
- Valores financeiros: esta tela não trata valores.