vista hisorial trabajador para android y detalle ajustado

This commit is contained in:
2026-03-21 22:31:05 -03:00
parent 14d8baa251
commit a24d7fde2e
2 changed files with 96 additions and 85 deletions

View File

@@ -158,7 +158,8 @@
<div class="card shadow-sm h-100">
<div class="card-header bg-secondary text-white">Productos Vendidos</div>
<div class="card-body p-0">
<table class="table table-striped mb-0">
<div class="table-responsive">
<table class="table table-striped mb-0 text-nowrap">
<thead class="table-dark">
<tr>
<th>Producto</th>
@@ -171,7 +172,7 @@
<tbody>
{% for item in items %}
<tr>
<td>{{ item[0] }}</td>
<td class="text-wrap" style="min-width: 180px;">{{ item[0] }}</td>
<td class="text-center fw-bold">{{ item[1] }}</td>
<td class="text-end text-muted">${{ "{:,.0f}".format(item[2]).replace(',', '.') }}</td>
<td class="text-end fw-bold">${{ "{:,.0f}".format(item[4]).replace(',', '.') }}</td>
@@ -179,21 +180,22 @@
</tr>
{% else %}
<tr>
<td colspan="5" class="text-center py-3">No se registraron productos en esta rendición.</td>
<td colspan="5" class="text-center py-3 text-wrap">No se registraron productos en esta rendición.</td>
</tr>
{% endfor %}
</tbody>
<tfoot class="table-group-divider">
<tr>
<td colspan="3" class="text-end fw-bold">Total Calculado por Sistema:</td>
<td class="text-end fw-bold fs-5">${{ "{:,.0f}".format(total_calculado or 0).replace(',', '.') }}</td>
<td class="text-end fw-bold text-success">${{ "{:,.0f}".format(comision_total or 0).replace(',', '.') }}</td>
<td class="text-end fw-bold fs-6">${{ "{:,.0f}".format(total_calculado or 0).replace(',', '.') }}</td>
<td class="text-end fw-bold text-success fs-6">${{ "{:,.0f}".format(comision_total or 0).replace(',', '.') }}</td>
</tr>
</tfoot>
</table>
</div>
</div>
</div>
</div>
<div class="col-md-4 mb-4">
<div class="card shadow-sm mb-4 border-info">
@@ -243,7 +245,7 @@
</div>
{% if total_declarado != total_calculado %}
<div class="alert alert-warning mt-3 mb-0 py-2">
<div class="alert alert-warning mt-3 mb-0 py-2 text-wrap text-break">
<small>Discrepancia: El total declarado (${{ "{:,.0f}".format(total_declarado).replace(',', '.') }}) no coincide con la suma de los productos vendidos (${{ "{:,.0f}".format(total_calculado).replace(',', '.') }}).</small>
</div>
{% endif %}
@@ -259,7 +261,7 @@
</div>
<div>
<span class="text-muted d-block mb-1">Observaciones:</span>
<p class="mb-0 bg-dark p-2 rounded border border-secondary" style="font-size: 0.9em;">
<p class="mb-0 bg-dark p-2 rounded border border-secondary text-wrap text-break" style="font-size: 0.9em;">
{{ rendicion[9] if rendicion[9] else "Sin observaciones." }}
</p>
</div>

View File

@@ -4,9 +4,9 @@
{% block title %}Mis Rendiciones{% endblock %}
{% block content %}
<div class="d-flex justify-content-between align-items-center mb-4">
<h2>Mis Rendiciones</h2>
<a href="{{ url_for('new_rendicion') }}" class="btn btn-success shadow-sm">
<div class="d-flex flex-column flex-md-row justify-content-between align-items-md-center mb-4 gap-3">
<h2 class="mb-0">Mis Rendiciones</h2>
<a href="{{ url_for('new_rendicion') }}" class="btn btn-success shadow-sm align-self-start align-self-md-auto">
<i class="bi bi-plus-circle me-2"></i>Nueva Rendición
</a>
</div>
@@ -21,47 +21,55 @@
<div class="card shadow-sm border-0">
<div class="card-body p-0">
<table class="table table-striped table-hover mb-0">
<div class="table-responsive">
<table class="table table-striped table-hover table-sm mb-0 text-nowrap" style="font-size: 0.9rem;">
<thead class="table-dark">
<tr>
<th>Fecha</th>
<th>Mi Rol</th>
<th>Módulo</th>
<th>Total Declarado</th>
<th>Gastos</th>
<th class="text-end">Acciones</th>
<th class="py-2">Fecha</th>
<th class="py-2">Módulo</th>
<th class="py-2 d-none d-sm-table-cell">Mi Rol</th>
<th class="py-2 d-none d-md-table-cell">Gastos</th>
<th class="py-2 d-none d-lg-table-cell">Observaciones</th>
<th class="py-2">Total</th>
<th class="text-end py-2"></th>
</tr>
</thead>
<tbody>
{% for r in rendiciones %}
<tr>
<td class="align-middle">{{ r[1] }}</td>
<td class="align-middle">
<td class="align-middle"><span class="badge bg-info text-dark">{{ r[3] }}</span></td>
<td class="align-middle d-none d-sm-table-cell">
{% if r[17] == 'Titular' %}
<span class="badge bg-primary">Titular</span>
{% else %}
<span class="badge bg-secondary">Acompañante</span>
{% endif %}
</td>
<td class="align-middle"><span class="badge bg-info text-dark">{{ r[3] }}</span></td>
<td class="align-middle d-none d-md-table-cell text-danger">
${{ "{:,.0f}".format(r[8] or 0).replace(',', '.') }}
</td>
<td class="align-middle d-none d-lg-table-cell text-muted text-truncate" style="max-width: 150px;">
{{ r[9] if r[9] else '-' }}
</td>
<td class="align-middle fw-bold text-success">
${{ "{:,.0f}".format((r[4] or 0) + (r[5] or 0) + (r[6] or 0) + (r[7] or 0)).replace(',', '.') }}
</td>
<td class="align-middle text-danger">
${{ "{:,.0f}".format(r[8] or 0).replace(',', '.') }}
</td>
<td class="text-end">
<button type="button" class="btn btn-sm btn-info text-white" data-bs-toggle="modal" data-bs-target="#viewRendicion{{ r[0] }}" title="Ver Detalle">
<i class="bi bi-eye"></i> Ver Detalle
</button>
<td class="text-end align-middle">
<button type="button" class="btn btn-sm btn-info text-white" data-bs-toggle="modal" data-bs-target="#viewRendicion{{ r[0] }}" title="Ver Detalle">
<i class="bi bi-eye"></i>
</button>
{{ rendicion_detail_modal(r, r[14], r[15], r[16]) }}
</td>
</tr>
{% else %}
<tr>
<td colspan="6" class="text-center py-5 text-muted">
<td colspan="7" class="text-center py-5 text-muted text-wrap">
<i class="bi bi-inbox fs-2 d-block mb-2"></i>
Aún no tienes rendiciones registradas.
</td>
@@ -71,4 +79,5 @@
</table>
</div>
</div>
</div>
{% endblock %}