Tela: Listagem de Turmas (/Turmas)
?? 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 turmaCtrl + I- ImportarCtrl + E- ExportarCtrl + 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