feat: implement route planning dashboard including KPIs, user workload tracking, and route assignment management features

This commit is contained in:
2026-08-29 11:55:03 -04:00
parent a0ea3fea48
commit cd5c57c5ee
41 changed files with 3811 additions and 151 deletions
@@ -19,14 +19,29 @@
<td class="text-left">{{ row.minimo_horas_semana }}</td>
<td class="text-left">{{ row.latitud }}</td>
<td class="text-left">{{ row.longitud }}</td>
<td class="text-left">{{ row.motivo }}</td>
<td class="text-left">{{ row.motivo }}</td>
<td class="assignment-actions">
<select [(ngModel)]="assignmentUser[row.pdv_id]" class="inline-select">
<option value="">Usuario</option>
<option *ngFor="let user of userOptions" [value]="user.id">{{ user.name }}</option>
</select>
<select [(ngModel)]="assignmentDay[row.pdv_id]" class="inline-select">
<option value="">Día</option>
<option *ngFor="let day of dayOptions" [value]="day">{{ day }}</option>
</select>
<button type="button" class="btn-icon" (click)="assignRoute(row)" [disabled]="assigningId === row.pdv_id" title="Asignar y calcular ruta">
<span *ngIf="assigningId === row.pdv_id" class="spinner-inline"></span>
<i *ngIf="assigningId !== row.pdv_id" class="pi pi-plus"></i>
</button>
</td>
</tr>
</ng-template>
<ng-template pTemplate="emptymessage">
<tr>
<td colspan="8" class="text-center">
<td colspan="7" class="text-center">
No hay registros asignados
</td>
</tr>
</ng-template>
</p-table>
</p-table>
<div class="table-error" *ngIf="actionError"><i class="pi pi-exclamation-triangle"></i> {{ actionError }}</div>