feat: dodaj display_code polje za putne naloge (MT070626 format)
- Dodano polje 'display_code' na WorkOrder model (format: 2 inicijala + ddmmyy) - Migracije za kreiranje polja i backfill postojećih naloga - Ažuriran WorkOrderSerializer za validaciju i serijalizaciju display_code - Backend tasks za auto-generiranje display_code pri kreiranju - Frontend komponente ažurirane za prikaz display_code umjesto UUID: * FleetDashboardShell tablica putnih naloga * WorkOrderDetailModal * TaskCreateModal * Sve PDF stranice - displayIds.js utility za formatiranjeDisplay ID-eva - Admin interface prikazuje display_code
This commit is contained in:
@@ -12,6 +12,24 @@ export function formatEntityCode(prefix, id, size = 8) {
|
||||
return `${prefix}-${short}`;
|
||||
}
|
||||
|
||||
export function generateWorkOrderDisplayCode(firstName, lastName, dateValue = new Date()) {
|
||||
const firstInitial = String(firstName || '').trim().charAt(0).toUpperCase();
|
||||
const lastInitial = String(lastName || '').trim().charAt(0).toUpperCase();
|
||||
if (!firstInitial || !lastInitial) return '';
|
||||
const parsedDate = dateValue instanceof Date ? dateValue : new Date(dateValue);
|
||||
if (Number.isNaN(parsedDate.getTime())) return '';
|
||||
const day = String(parsedDate.getDate()).padStart(2, '0');
|
||||
const month = String(parsedDate.getMonth() + 1).padStart(2, '0');
|
||||
const year = String(parsedDate.getFullYear()).slice(-2);
|
||||
return `${firstInitial}${lastInitial}${day}${month}${year}`;
|
||||
}
|
||||
|
||||
export function formatWorkOrderDisplayCode(workOrder) {
|
||||
const displayCode = String(workOrder?.display_code || '').trim().toUpperCase();
|
||||
if (displayCode) return displayCode;
|
||||
return '-';
|
||||
}
|
||||
|
||||
export function formatPurposeLabel(value) {
|
||||
const normalized = String(value || '').trim().toLowerCase();
|
||||
if (!normalized) return '';
|
||||
|
||||
Reference in New Issue
Block a user