?? Tela: Listagem de Turmas

Rota: /Turmas ou /Turmas/Index

Tipo: Tela de listagem com tabela paginada

Permissão necessária: Administrador ou Gerente

?? Visão Geral da Tela

A tela de listagem de turmas é a tela principal do módulo. Apresenta uma tabela completa com todas as turmas cadastradas, permitindo visualização, busca, filtros e ações em lote.

?? Elementos da Interface

1. Cabeçalho da Página

  • Título: "Gestão de Turmas"
  • Breadcrumb: Home ? Turmas
  • Botões de Ação:
    • ? Nova Turma - Abre formulário de cadastro manual
    • ?? Assistente - Inicia wizard de criação passo a passo
    • ?? Importar - Permite importação em lote via Excel
    • ?? Exportar - Exporta lista atual para Excel

2. Cards de Estatísticas (Dashboard)

No topo da tela, 4 cards exibem métricas em tempo real:

Card Métrica Descrição
?? Total de Turmas Número absoluto Total de turmas cadastradas no sistema
? Turmas Ativas Número + % Turmas com status ativo (em andamento)
? Turmas Inativas Número + % Turmas encerradas ou pausadas
?? Total Formandos Somatório Soma de formandos de todas as turmas

3. Barra de Filtros e Busca

  • Campo de Busca:
    • Placeholder: "Buscar por nome, código, curso ou instituição..."
    • Busca em tempo real (debounce de 300ms)
    • Campos pesquisados: nome_turma, codigo, curso, instituicao
    • Ícone: ??
  • Filtro por Status:
    • Dropdown: "Todos", "Ativas", "Inativas"
    • Aplica filtro instantâneo na tabela
  • Filtro por Ano:
    • Dropdown com lista de anos disponíveis
    • Gerado dinamicamente dos dados existentes
  • Botão Limpar Filtros:
    • Remove todos os filtros aplicados
    • Reseta busca para estado inicial

4. Tabela de Dados

Tabela responsiva com as seguintes colunas:

Coluna Largura Conteúdo Ordenável
Código 80px Código único da turma (ex: TUR2025001) ? Sim
Nome da Turma auto Nome completo (ex: "Direito 2025.1 Matutino") ? Sim
Curso 150px Nome do curso ? Sim
Instituição 180px Nome da instituição de ensino ? Sim
Ano 60px Ano de formatura (ex: 2025) ? Sim
Formandos 100px Quantidade cadastrados / Total vagas
(ex: "45 / 60")
? Sim
Status 90px Badge: Ativa ou Inativa ? Sim
Ações 120px Botões de ação (ver abaixo) ? Não

5. Botões de Ação por Linha

Cada linha da tabela possui os seguintes botões:

  • ??? Visualizar: Abre tela de detalhes da turma
  • ?? Editar: Abre formulário de edição
  • ??? Excluir: Remove turma (com modal de confirmação)
  • ?? Relatório: Gera relatório da turma (PDF)

? Funcionalidades Interativas

Ordenação de Colunas

  • Clique no cabeçalho de qualquer coluna para ordenar
  • Primeiro clique: ordem crescente (?)
  • Segundo clique: ordem decrescente (?)
  • Terceiro clique: remove ordenação

?? Notificações e Feedback

  • Sucesso ao excluir: Toast verde "Turma excluída com sucesso"
  • Erro ao excluir: Toast vermelho com mensagem de erro
  • Exportação iniciada: Toast azul "Gerando arquivo..."

?? Regras de Negócio

  • Apenas turmas do tenant logado são exibidas (multi-tenancy)
  • Turmas com formandos não podem ser excluídas diretamente
  • Ordenação padrão: data_criacao DESC (mais recentes primeiro)
  • Cache de 5 minutos para otimizar performance

?? Atalhos de Teclado

  • Ctrl + N - Nova turma
  • Ctrl + I - Importar
  • Ctrl + E - Exportar
  • Ctrl + F - Focar no campo de busca

?? Responsividade

Desktop (> 1200px): Todas as colunas visíveis

Tablet (768px - 1200px): Oculta coluna "Código"

Mobile (< 768px): Exibe cards no lugar da tabela

?? Navegação

  • Ao clicar no nome da turma: Abre tela de detalhes
  • Ao clicar em "Nova Turma": Vai para /Turmas/Create
  • Ao clicar em "Assistente": Vai para /Turmas/Wizard
  • Ao clicar em "Importar": Vai para /Turmas/Import