322 lines
19 KiB
HTML
322 lines
19 KiB
HTML
<!-- Modal de Editar Militante -->
|
|
<div class="modal fade" id="modalEditarMilitante" tabindex="-1">
|
|
<div class="modal-dialog modal-lg modal-dialog-centered">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title">
|
|
<i class="fas fa-user-edit me-2"></i>Editar Militante
|
|
</h5>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
|
|
</div>
|
|
<form id="formEditarMilitante" method="POST">
|
|
<input type="hidden" id="edit_militante_id" name="militante_id" value="">
|
|
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
|
|
|
|
<div class="modal-body">
|
|
<!-- Nav tabs -->
|
|
<ul class="nav nav-tabs mb-3" role="tablist">
|
|
<li class="nav-item" role="presentation">
|
|
<button class="nav-link active" data-bs-toggle="tab" data-bs-target="#edit-dados-basicos" type="button">
|
|
<i class="fas fa-user me-2"></i>Dados Básicos
|
|
</button>
|
|
</li>
|
|
<li class="nav-item" role="presentation">
|
|
<button class="nav-link" data-bs-toggle="tab" data-bs-target="#edit-contato" type="button">
|
|
<i class="fas fa-address-book me-2"></i>Contato
|
|
</button>
|
|
</li>
|
|
<li class="nav-item" role="presentation">
|
|
<button class="nav-link" data-bs-toggle="tab" data-bs-target="#edit-profissional" type="button">
|
|
<i class="fas fa-briefcase me-2"></i>Profissional
|
|
</button>
|
|
</li>
|
|
<li class="nav-item" role="presentation">
|
|
<button class="nav-link" data-bs-toggle="tab" data-bs-target="#edit-organizacao" type="button">
|
|
<i class="fas fa-sitemap me-2"></i>Organização
|
|
</button>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="tab-content">
|
|
<!-- Dados Básicos -->
|
|
<div class="tab-pane fade show active" id="edit-dados-basicos">
|
|
<div class="row">
|
|
<div class="col-md-6 mb-3">
|
|
<label for="edit_nome" class="form-label">Nome</label>
|
|
<input type="text" class="form-control" id="edit_nome" name="nome" required>
|
|
<div class="invalid-feedback">
|
|
Por favor, insira o nome do militante.
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6 mb-3">
|
|
<label for="edit_cpf" class="form-label">CPF</label>
|
|
<input type="text" class="form-control" id="edit_cpf" name="cpf" required>
|
|
<div class="invalid-feedback">
|
|
Por favor, insira um CPF válido.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-6 mb-3">
|
|
<label for="edit_titulo_eleitoral" class="form-label">Título Eleitoral</label>
|
|
<input type="text" class="form-control" id="edit_titulo_eleitoral" name="titulo_eleitoral">
|
|
</div>
|
|
<div class="col-md-6 mb-3">
|
|
<label for="edit_data_nascimento" class="form-label">Data de Nascimento</label>
|
|
<input type="text" class="form-control date-mask" id="edit_data_nascimento" name="data_nascimento"
|
|
placeholder="DD/MM/AAAA" maxlength="10">
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-6 mb-3">
|
|
<label for="edit_data_entrada" class="form-label">Data de Entrada na OCI</label>
|
|
<input type="text" class="form-control date-mask" id="edit_data_entrada_oci" name="data_entrada_oci"
|
|
placeholder="DD/MM/AAAA">
|
|
</div>
|
|
<div class="col-md-6 mb-3">
|
|
<label for="edit_data_efetivacao" class="form-label">Data de Efetivação na OCI</label>
|
|
<input type="text" class="form-control date-mask" id="edit_data_efetivacao_oci" name="data_efetivacao_oci"
|
|
placeholder="DD/MM/AAAA">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Contato -->
|
|
<div class="tab-pane fade" id="edit-contato">
|
|
<div class="row">
|
|
<div class="col-md-6 mb-3">
|
|
<label for="edit_telefone1" class="form-label">Telefone Principal</label>
|
|
<input type="text" class="form-control" id="edit_telefone1" name="telefone1">
|
|
</div>
|
|
<div class="col-md-6 mb-3">
|
|
<label for="edit_telefone2" class="form-label">Telefone Alternativo</label>
|
|
<input type="text" class="form-control" id="edit_telefone2" name="telefone2">
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Email Principal -->
|
|
<div class="mb-3">
|
|
<label for="edit_email" class="form-label">Email Principal</label>
|
|
<input type="email"
|
|
class="form-control"
|
|
id="edit_email"
|
|
name="email"
|
|
required>
|
|
<div class="invalid-feedback">
|
|
Por favor, insira um email válido.
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Endereço -->
|
|
<div class="endereco-container">
|
|
<div class="row">
|
|
<div class="col-md-4 mb-3">
|
|
<label for="edit_cep" class="form-label">CEP</label>
|
|
<input type="text" class="form-control" id="edit_cep" name="cep">
|
|
</div>
|
|
<div class="col-md-4 mb-3">
|
|
<label for="edit_estado" class="form-label">Estado</label>
|
|
<select class="form-select" id="edit_estado" name="estado">
|
|
<option value="">Selecione...</option>
|
|
<!-- Estados serão carregados via JavaScript -->
|
|
</select>
|
|
</div>
|
|
<div class="col-md-4 mb-3">
|
|
<label for="edit_cidade" class="form-label">Cidade</label>
|
|
<input type="text" class="form-control" id="edit_cidade" name="cidade">
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-4 mb-3">
|
|
<label for="edit_bairro" class="form-label">Bairro</label>
|
|
<input type="text" class="form-control" id="edit_bairro" name="bairro">
|
|
</div>
|
|
<div class="col-md-6 mb-3">
|
|
<label for="edit_rua" class="form-label">Rua</label>
|
|
<input type="text" class="form-control" id="edit_rua" name="rua">
|
|
</div>
|
|
<div class="col-md-2 mb-3">
|
|
<label for="edit_numero" class="form-label">Número</label>
|
|
<input type="text" class="form-control" id="edit_numero" name="numero">
|
|
</div>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="edit_complemento" class="form-label">Complemento</label>
|
|
<input type="text" class="form-control" id="edit_complemento" name="complemento">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Profissional -->
|
|
<div class="tab-pane fade" id="edit-profissional">
|
|
<div class="row">
|
|
<div class="col-md-6 mb-3">
|
|
<label for="edit_empresa" class="form-label">Empresa</label>
|
|
<input type="text" class="form-control" id="edit_empresa" name="empresa">
|
|
</div>
|
|
<div class="col-md-6 mb-3">
|
|
<label for="edit_contratante" class="form-label">Contratante</label>
|
|
<input type="text" class="form-control" id="edit_contratante" name="contratante">
|
|
<small class="text-muted">Para terceirizados</small>
|
|
</div>
|
|
</div>
|
|
<hr>
|
|
<!-- Dados Acadêmicos -->
|
|
<div class="row">
|
|
<div class="col-md-8 mb-3">
|
|
<label for="edit_instituicao_ensino" class="form-label">Instituição de Ensino</label>
|
|
<input type="text" class="form-control" id="edit_instituicao_ensino" name="instituicao_ensino">
|
|
</div>
|
|
<div class="col-md-4 mb-3">
|
|
<label for="edit_tipo_instituicao" class="form-label">Tipo</label>
|
|
<select class="form-select" id="edit_tipo_instituicao" name="tipo_instituicao">
|
|
<option value="">Selecione...</option>
|
|
<option value="Federal">Federal</option>
|
|
<option value="Estadual">Estadual</option>
|
|
<option value="Municipal">Municipal</option>
|
|
<option value="Privada">Privada</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Organização -->
|
|
<div class="tab-pane fade" id="edit-organizacao">
|
|
<!-- Dados Sindicais -->
|
|
<div class="row">
|
|
<div class="col-md-6 mb-3">
|
|
<label for="edit_sindicato" class="form-label">Sindicato</label>
|
|
<input type="text" class="form-control" id="edit_sindicato" name="sindicato">
|
|
</div>
|
|
<div class="col-md-6 mb-3">
|
|
<label for="edit_cargo_sindical" class="form-label">Cargo Sindical</label>
|
|
<input type="text" class="form-control" id="edit_cargo_sindical" name="cargo_sindical">
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-6 mb-3">
|
|
<label for="edit_central_sindical" class="form-label">Central Sindical</label>
|
|
<input type="text" class="form-control" id="edit_central_sindical" name="central_sindical">
|
|
</div>
|
|
<div class="col-md-6 mb-3 d-flex align-items-center">
|
|
<div class="form-check">
|
|
<input type="checkbox" class="form-check-input" id="edit_dirigente_sindical" name="dirigente_sindical">
|
|
<label class="form-check-label" for="edit_dirigente_sindical">Dirigente Sindical</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<hr>
|
|
<!-- Estado na Organização -->
|
|
<div class="row">
|
|
<div class="col-md-6 mb-3">
|
|
<label for="edit_estado_militante" class="form-label">Estado</label>
|
|
<select class="form-select" id="edit_estado_militante" name="estado">
|
|
<option value="ATIVO">Ativo</option>
|
|
<option value="LICENCIADO">Licenciado</option>
|
|
<option value="SUSPENSO">Suspenso</option>
|
|
<option value="DESLIGADO">Desligado</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-md-6 mb-3">
|
|
<label for="edit_celula" class="form-label">Célula</label>
|
|
<select class="form-select" id="edit_celula" name="celula_id">
|
|
<option value="">Selecione...</option>
|
|
{% for celula in celulas %}
|
|
<option value="{{ celula.id }}">{{ celula.nome }}</option>
|
|
{% endfor %}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<!-- Responsabilidades -->
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<label class="form-label">Responsabilidades</label>
|
|
<div class="d-flex flex-wrap gap-2">
|
|
<span class="badge badge-clickable bg-secondary" data-value="{{ Militante.SECRETARIO }}" data-original-class="bg-secondary" title="Secretário">SEC</span>
|
|
<span class="badge badge-clickable bg-warning" data-value="{{ Militante.TESOUREIRO }}" data-original-class="bg-warning" title="Tesoureiro">TES</span>
|
|
<span class="badge badge-clickable bg-danger" data-value="{{ Militante.IMPRENSA }}" data-original-class="bg-danger" title="Imprensa">IMP</span>
|
|
<span class="badge badge-clickable bg-purple" data-value="{{ Militante.MNS }}" data-original-class="bg-purple" title="MNS">MNS</span>
|
|
<span class="badge badge-clickable bg-teal" data-value="{{ Militante.MPS }}" data-original-class="bg-teal" title="MPS">MPS</span>
|
|
<span class="badge badge-clickable bg-orange" data-value="{{ Militante.JUVENTUDE }}" data-original-class="bg-orange" title="Juventude">JUV</span>
|
|
<span class="badge badge-clickable bg-success" data-value="{{ Militante.QUADRO_ORIENTADOR }}" data-original-class="bg-success" title="Quadro-Orientador">QOR</span>
|
|
<span class="badge badge-clickable bg-primary" data-value="{{ Militante.RESPONSAVEL_FINANCAS }}" data-original-class="bg-primary" title="Responsável de Finanças">RFI</span>
|
|
<span class="badge badge-clickable bg-info" data-value="{{ Militante.RESPONSAVEL_IMPRENSA }}" data-original-class="bg-info" title="Responsável de Imprensa">RIM</span>
|
|
<span class="badge badge-clickable bg-dark" data-value="{{ Militante.ASPIRANTE }}" data-original-class="bg-dark" title="Aspirante">ASP</span>
|
|
</div>
|
|
<input type="hidden" id="responsabilidades_values" name="responsabilidades_valor" value="0">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancelar</button>
|
|
<button type="submit" class="btn btn-primary">
|
|
<i class="fas fa-save me-2"></i>Salvar
|
|
</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<style>
|
|
/* Estilo para badges clicáveis */
|
|
.badge-clickable {
|
|
cursor: pointer;
|
|
transition: all 0.2s ease-in-out;
|
|
opacity: 0.7;
|
|
font-size: 0.8rem;
|
|
padding: 0.5rem 0.75rem;
|
|
min-width: 50px;
|
|
text-align: center;
|
|
}
|
|
|
|
.badge-clickable:hover {
|
|
opacity: 1;
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
.badge-clickable.active {
|
|
opacity: 1;
|
|
transform: translateY(-1px);
|
|
box-shadow: 0 2px 4px rgba(0,0,0,0.2);
|
|
}
|
|
|
|
/* Cores personalizadas para badges */
|
|
.bg-purple {
|
|
background-color: #6f42c1;
|
|
}
|
|
|
|
.bg-teal {
|
|
background-color: #20c997;
|
|
}
|
|
|
|
.bg-orange {
|
|
background-color: #fd7e14;
|
|
}
|
|
|
|
.responsabilidades-container {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 0.5rem;
|
|
padding: 1rem;
|
|
border: 1px solid #dee2e6;
|
|
border-radius: 0.375rem;
|
|
background-color: #f8f9fa;
|
|
}
|
|
|
|
/* Cores personalizadas para badges */
|
|
.bg-purple { background-color: #6f42c1 !important; color: white !important; }
|
|
.bg-teal { background-color: #20c997 !important; color: white !important; }
|
|
.bg-orange { background-color: #fd7e14 !important; color: white !important; }
|
|
.bg-indigo { background-color: #6610f2 !important; color: white !important; }
|
|
.bg-pink { background-color: #d63384 !important; color: white !important; }
|
|
|
|
/* Cores do Bootstrap que vamos usar */
|
|
.active.bg-primary { background-color: #0d6efd !important; color: white !important; }
|
|
.active.bg-success { background-color: #198754 !important; color: white !important; }
|
|
.active.bg-info { background-color: #0dcaf0 !important; color: white !important; }
|
|
.active.bg-danger { background-color: #dc3545 !important; color: white !important; }
|
|
.active.bg-dark { background-color: #212529 !important; color: white !important; }
|
|
</style> |