diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..c176ece
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,24 @@
+# Entornos y dependencias
+node_modules/
+__pycache__/
+*.pyc
+*.pyo
+.venv/
+env/
+
+# Logs
+*.log
+
+# Sistema operativo
+.DS_Store
+Thumbs.db
+
+# Archivos de entorno (variables sensibles)
+.env
+.env.local
+
+# VS Code (configuración local del usuario)
+.vscode/
+
+# Docker
+*.pid
diff --git a/data/datos.db b/data/datos.db
index 113e80e..e1ed5e7 100644
Binary files a/data/datos.db and b/data/datos.db differ
diff --git a/data/historial.db b/data/historial.db
new file mode 100644
index 0000000..8f67e8f
Binary files /dev/null and b/data/historial.db differ
diff --git a/frontend/css/styles.css b/frontend/css/styles.css
index 77117d2..4d92c5d 100644
--- a/frontend/css/styles.css
+++ b/frontend/css/styles.css
@@ -297,6 +297,16 @@ body {
cursor: not-allowed;
}
+.form-group input[type="number"]::-webkit-outer-spin-button,
+.form-group input[type="number"]::-webkit-inner-spin-button {
+ -webkit-appearance: none;
+ margin: 0;
+}
+
+.form-group input[type="number"] {
+ -moz-appearance: textfield;
+}
+
.form-group input,
.form-group select {
padding: 0.65rem 0.75rem;
diff --git a/frontend/index.html b/frontend/index.html
index c49493f..d06914c 100644
--- a/frontend/index.html
+++ b/frontend/index.html
@@ -175,7 +175,7 @@
-
+
@@ -189,6 +189,10 @@
+
+
+
+
diff --git a/frontend/js/app.js b/frontend/js/app.js
index 6a1fb4f..6bf5a15 100644
--- a/frontend/js/app.js
+++ b/frontend/js/app.js
@@ -51,6 +51,7 @@ document.addEventListener('DOMContentLoaded', function () {
horas_mensuales: '',
dia_inicio_mes: '',
dia_fin_mes: '',
+ tiempo_almuerzo: '',
valor_hora_ordinaria: '',
valor_hora_extra: '',
valor_hora_extra_nocturna: ''
@@ -214,6 +215,9 @@ document.addEventListener('DOMContentLoaded', function () {
const inputHorasSemanales = document.getElementById('cfg-horas-semanales');
const inputHorasMensuales = document.getElementById('cfg-horas-mensuales');
+ const inputDiaInicio = document.getElementById('cfg-dia-inicio');
+ const inputDiaFin = document.getElementById('cfg-dia-fin');
+ const inputTiempoAlmuerzo = document.getElementById('cfg-tiempo-almuerzo');
const inputHoraOrdinaria = document.getElementById('cfg-hora-ordinaria');
const inputHoraExtra = document.getElementById('cfg-hora-extra');
const inputHoraExtraNocturna = document.getElementById('cfg-hora-extra-nocturna');
@@ -249,6 +253,7 @@ document.addEventListener('DOMContentLoaded', function () {
document.getElementById('cfg-horas-mensuales').value = configuracionGlobal.horas_mensuales;
document.getElementById('cfg-dia-inicio').value = configuracionGlobal.dia_inicio_mes;
document.getElementById('cfg-dia-fin').value = configuracionGlobal.dia_fin_mes;
+ document.getElementById('cfg-tiempo-almuerzo').value = configuracionGlobal.tiempo_almuerzo;
document.getElementById('cfg-hora-ordinaria').value = configuracionGlobal.valor_hora_ordinaria ? formatearPesosSinDecimales(configuracionGlobal.valor_hora_ordinaria) : '';
calcularCamposDependientes();
}
@@ -262,9 +267,10 @@ document.addEventListener('DOMContentLoaded', function () {
salario_minimo: limpiarFormatoPesos(document.getElementById('cfg-salario-minimo').value),
auxilio_transporte: limpiarFormatoPesos(document.getElementById('cfg-auxilio-transporte').value),
horas_semanales: document.getElementById('cfg-horas-semanales').value,
- horas_mensuales: document.getElementById('cfg-horas-mensuales').value,
+ horas_mensuales: limpiarFormatoPesos(document.getElementById('cfg-horas-mensuales').value),
dia_inicio_mes: document.getElementById('cfg-dia-inicio').value,
dia_fin_mes: document.getElementById('cfg-dia-fin').value,
+ tiempo_almuerzo: document.getElementById('cfg-tiempo-almuerzo').value,
valor_hora_ordinaria: limpiarFormatoPesos(document.getElementById('cfg-hora-ordinaria').value),
valor_hora_extra: limpiarFormatoPesos(document.getElementById('cfg-hora-extra').value),
valor_hora_extra_nocturna: limpiarFormatoPesos(document.getElementById('cfg-hora-extra-nocturna').value)