Files
MIESYSTEM/MieSystem/Views/Expedientes/_CreateOrEdit.cshtml
2025-12-26 22:27:20 -06:00

167 lines
7.3 KiB
Plaintext

@using MieSystem.Models
@using MieSystem.Models.ViewModels
@model ExpedienteViewModel
@{
bool isEdit = ViewData["IsEdit"] != null && (bool)ViewData["IsEdit"];
}
<form id="@(isEdit ? "editForm" : "createForm")"
method="post"
enctype="multipart/form-data">
@* SOLO EN EDIT SE ENVÍA EL ID *@
@if (isEdit)
{
<input type="hidden" asp-for="Id" />
}
@* Campo oculto para la URL de la imagen *@
<input type="hidden" asp-for="FotoUrl" value="@(Model?.FotoUrl ?? "/images/default-avatar.png")" />
<div class="row">
<!-- ================= COLUMNA IZQUIERDA ================= -->
<div class="col-md-6">
<div class="card mb-3">
<div class="card-header bg-light">
<h6 class="mb-0">Datos Personales</h6>
</div>
<div class="card-body">
<!-- FOTO -->
<div class="mb-3 text-center">
<img id="@(isEdit ? "fotoPreviewEdit" : "fotoPreview")"
src="@(Model?.FotoUrl ?? "/images/default-avatar.png")"
class="rounded-circle border mb-2"
style="width:120px;height:120px;object-fit:cover;" />
<div class="d-flex justify-content-center gap-2">
<label class="btn btn-sm btn-outline-primary">
<i class="bi bi-camera me-1"></i> Seleccionar Foto
<input type="file"
asp-for="Foto"
id="@(isEdit ? "FotoEdit" : "Foto")"
class="d-none"
accept="image/*" />
</label>
<button type="button"
id="@(isEdit ? "deleteFotoEdit" : "deleteFoto")"
class="btn btn-sm btn-outline-danger"
style="display:@(Model?.FotoUrl != null && Model.FotoUrl != "/images/default-avatar.png" ? "block" : "none")">
<i class="bi bi-trash me-1"></i> Eliminar
</button>
</div>
<span asp-validation-for="Foto" class="text-danger"></span>
</div>
<!-- NOMBRE -->
<div class="mb-3">
<label asp-for="Nombre" class="form-label">Nombre *</label>
<input asp-for="Nombre" class="form-control" />
<span asp-validation-for="Nombre" class="text-danger"></span>
</div>
<!-- APELLIDOS -->
<div class="mb-3">
<label asp-for="Apellidos" class="form-label">Apellidos *</label>
<input asp-for="Apellidos" class="form-control" />
<span asp-validation-for="Apellidos" class="text-danger"></span>
</div>
<!-- FECHA NACIMIENTO -->
<div class="mb-3">
<label asp-for="FechaNacimiento" class="form-label">Fecha de Nacimiento *</label>
<input asp-for="FechaNacimiento" type="date" class="form-control" />
<span asp-validation-for="FechaNacimiento" class="text-danger"></span>
</div>
<!-- SEXO -->
<div class="mb-3">
<label class="form-label">Sexo *</label><br />
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" asp-for="Sexo" value="M" />
<label class="form-check-label">Masculino</label>
</div>
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" asp-for="Sexo" value="F" />
<label class="form-check-label">Femenino</label>
</div>
<span asp-validation-for="Sexo" class="text-danger"></span>
</div>
</div>
</div>
</div>
<!-- ================= COLUMNA DERECHA ================= -->
<div class="col-md-6">
<div class="card mb-3">
<div class="card-header bg-light">
<h6 class="mb-0">Datos Familiares</h6>
</div>
<div class="card-body">
<div class="mb-3">
<label asp-for="NombrePadre" class="form-label">Nombre del Padre</label>
<input asp-for="NombrePadre" class="form-control" />
</div>
<div class="mb-3">
<label asp-for="NombreMadre" class="form-label">Nombre de la Madre</label>
<input asp-for="NombreMadre" class="form-control" />
</div>
<div class="mb-3">
<label asp-for="NombreResponsable" class="form-label">Nombre del Responsable *</label>
<input asp-for="NombreResponsable" class="form-control" />
<span asp-validation-for="NombreResponsable" class="text-danger"></span>
</div>
<div class="mb-3">
<label asp-for="ParentescoResponsable" class="form-label">Parentesco</label>
<select asp-for="ParentescoResponsable" class="form-select">
<option value="">Seleccione</option>
<option>Padre</option>
<option>Madre</option>
<option>Abuelo</option>
<option>Abuela</option>
<option>Tío</option>
<option>Tía</option>
<option>Otro</option>
</select>
</div>
</div>
</div>
<div class="card">
<div class="card-header bg-light">
<h6 class="mb-0">Dirección y Contacto</h6>
</div>
<div class="card-body">
<div class="mb-3">
<label asp-for="Direccion" class="form-label">Dirección *</label>
<textarea asp-for="Direccion" class="form-control"></textarea>
<span asp-validation-for="Direccion" class="text-danger"></span>
</div>
<div class="mb-3">
<label asp-for="Telefono" class="form-label">Teléfono</label>
<input asp-for="Telefono" class="form-control" />
</div>
<div class="mb-3">
<label asp-for="Observaciones" class="form-label">Observaciones</label>
<textarea asp-for="Observaciones" class="form-control"></textarea>
</div>
</div>
</div>
</div>
</div>
</form>