# Guía de Tablas APU (Análisis de Precios Unitarios)
## Descripción
Las tablas APU son el contenido principal del sitio **Análisis de Precios Unitarios**. Este módulo proporciona estilos profesionales específicos para la industria de la construcción, incluyendo:
- **Sin bordes**: Diseño limpio y moderno
- **Zebra striping**: Filas alternadas para mejor legibilidad
- **Headers sticky**: Encabezados fijos al hacer scroll
- **4 tipos de filas especiales**:
- `thead`: Encabezado con degradado azul
- `.section-header`: Secciones (Material, Mano de Obra, Herramienta, Equipo)
- `.subtotal-row`: Subtotales con fondo azul claro
- `.total-row`: Costo Directo final con degradado azul
- **Responsive**: Scroll horizontal en móviles
- **Print styles**: Optimizado para impresión
---
## Métodos de Uso
### Método 1: Atributo data-apu (Automático)
La forma más simple. Solo agrega el atributo `data-apu` a tu tabla y el sistema la procesará automáticamente:
```html
`):
- **`section-header`**: Encabezado de sección
- Fondo gris (#e9ecef)
- Texto en mayúsculas
- Color azul oscuro (#1e3a5f)
- **`subtotal-row`**: Fila de subtotal
- Fondo azul claro (#d1e7fd)
- Texto en negrita
- Color azul (#0d47a1)
- **`total-row`**: Fila de total final
- Degradado azul (#1e3a5f → #2c5282)
- Texto blanco en negrita
- Texto en mayúsculas
### Para celdas (``):
- **`c3`**: Columna 3 (Unidad) - centrada, gris
- **`c4`**: Columna 4 (Cantidad) - derecha, monospace
- **`c5`**: Columna 5 (Costo) - derecha, monospace
- **`c6`**: Columna 6 (Importe) - derecha, monospace
---
## Estructura de Columnas
Las tablas APU siguen esta estructura estándar:
| # | Columna | Ancho | Alineación | Fuente |
|---|---------|-------|------------|--------|
| 1 | Clave | 150px | Izquierda | Normal |
| 2 | Descripción | Auto (min 300px) | Izquierda | Normal |
| 3 | Unidad | 80px | Centro | Normal |
| 4 | Cantidad | 110px | Derecha | Monospace |
| 5 | Costo | 120px | Derecha | Monospace |
| 6 | Importe | 120px | Derecha | Monospace |
---
## Secciones Típicas
Las tablas APU generalmente incluyen estas secciones:
1. **Material**: Insumos y materiales de construcción
2. **Mano de Obra**: Personal y cuadrillas
3. **Herramienta**: Herramientas pequeñas
4. **Equipo**: Maquinaria y equipo pesado
Cada sección debe tener:
- Un encabezado de sección (`.section-header`)
- Filas de datos normales
- Un subtotal (`.subtotal-row`)
Al final, una fila de **Costo Directo** (`.total-row`) suma todos los subtotales.
---
## Ejemplo Completo
```html
| Clave |
Descripción |
Unidad |
Cantidad |
Costo |
Importe |
| AGRE-016 |
Agua potable |
m3 |
0.237500 |
$19.14 |
$4.55 |
| AGRE-001 |
Arena en camión de 6 m3 |
m3 |
0.541500 |
$1,750.00 |
$947.63 |
| CEME-001 |
Cemento CPC 30R gris de 50 kg |
ton |
0.392000 |
$5,100.00 |
$1,999.20 |
|
Suma de Material |
|
|
|
$2,956.51 |
| MOCU-027 |
Cuadrilla No 27 (1 Albañil + 5 Peones) |
jor |
0.100000 |
$2,257.04 |
$225.70 |
|
Suma de Mano de Obra |
|
|
|
$225.70 |
| HERR-001 |
Herramienta menor (5% M.O.) |
% |
5.000000 |
$225.70 |
$11.29 |
|
Suma de Herramienta |
|
|
|
$11.29 |
| EQUI-015 |
Revolvedora gasolina 1 saco (9 p3) |
hr |
0.800000 |
$125.00 |
$100.00 |
|
Suma de Equipo |
|
|
|
$100.00 |
|
Costo Directo |
|
|
|
$3,293.50 |
```
---
## Responsive
Las tablas se adaptan automáticamente a diferentes tamaños de pantalla:
- **Desktop (>992px)**: Vista completa con todos los anchos
- **Tablet (768px-991px)**: Reducción de padding y tamaños de fuente
- **Móvil (<768px)**: Scroll horizontal con ajustes de tamaño
El contenedor `.analisis` tiene `overflow-x: auto` para permitir scroll horizontal en pantallas pequeñas.
---
## Impresión
Los estilos están optimizados para impresión:
- Colores forzados con `print-color-adjust: exact`
- Sin efectos hover
- Prevención de saltos de página dentro de tablas
- Borde agregado para mejor definición en papel
---
## Función Helper PHP
Para generar tablas APU programáticamente desde templates:
```php
array('Clave', 'Descripción', 'Unidad', 'Cantidad', 'Costo', 'Importe'),
'sections' => array(
array(
'title' => 'Material',
'rows' => array(
array('AGRE-016', 'Agua potable', 'm3', '0.237500', '$19.14', '$4.55'),
array('AGRE-001', 'Arena en camión', 'm3', '0.541500', '$1,750.00', '$947.63'),
),
'subtotal' => '$2,956.51'
),
array(
'title' => 'Mano de Obra',
'rows' => array(
array('MOCU-027', 'Cuadrilla No 27', 'jor', '0.100000', '$2,257.04', '$225.70'),
),
'subtotal' => '$225.70'
),
),
'total' => '$3,293.50'
);
echo apus_generate_apu_table($data);
?>
```
---
## Accesibilidad
- Headers con `scope="col"` para lectores de pantalla
- Buen contraste de colores (WCAG AA)
- Focus visible para navegación por teclado
- Textos legibles en todos los fondos
---
## Compatibilidad
- ✅ Compatible con Bootstrap 5
- ✅ No requiere JavaScript
- ✅ Funciona en todos los navegadores modernos
- ✅ Optimizado para WordPress Block Editor
- ✅ Compatible con HTML clásico
---
## Archivos del Módulo
- **CSS**: `wp-content/themes/apus-theme/assets/css/tables-apu.css`
- **PHP**: `wp-content/themes/apus-theme/inc/apu-tables.php`
- **Enqueue**: `wp-content/themes/apus-theme/inc/enqueue-scripts.php` (líneas 297-311)
- **Carga**: `wp-content/themes/apus-theme/functions.php` (líneas 243-246)
---
## Notas de Diseño
1. **Sin bordes**: Diseño moderno sin bordes visibles
2. **Zebra striping**: Solo en filas normales, no en especiales
3. **Fuente monospace**: Courier New para columnas monetarias
4. **Colores profesionales**: Paleta azul corporativa
5. **Hover interactivo**: Fondo amarillo claro (#fff3cd)
---
## Soporte
Para más información sobre el desarrollo del tema, consulta:
- `README.md`
- `TEMPLATES.md`
- `docs/THEME-DOCUMENTATION.md`
---
Creado por [Claude Code](https://claude.com/claude-code) - Issue #30
|