// WorkorderCommon.js // A simple component to display a status light based on a deadline. Vue.component('traffic-light', { props: ['deadline', 'status'], computed: { lightInfo() { const deadlineDate = moment.unix(this.deadline); const daysLeft = deadlineDate.diff(moment(), 'days'); if (['completed', 'new', 'cancelled'].includes(this.status)) return { color: '#cccccc', title: 'Status irrelevant für Dringlichkeit' }; if (!deadlineDate.isValid()) return { color: '#cccccc', title: 'Keine Deadline gesetzt' }; if (deadlineDate.isBefore(moment())) return { color: '#dc3545', title: 'Deadline überschritten' }; if (daysLeft <= 7) return { color: '#dc3545', title: 'Dringend: Weniger als 1 Woche' }; if (daysLeft <= 21) return { color: '#ffc107', title: 'Mittel: Weniger als 3 Wochen' }; return { color: '#28a745', title: 'Im Plan: Mehr als 3 Wochen' }; } }, template: `●` }); // A manager for civil engineering tasks, used when a workorder requires it. Vue.component('civil-engineering-manager', { props: ['workorderId', 'isAdmin'], template: `
Schließen Sie den Tiefbau-Auftrag ab. Laden Sie Dokumente hoch, falls erforderlich.
Prüfen Sie, ob alle erforderlichen Dokumente vorhanden und korrekt sind.
Diese Daten werden für den Abschluss benötigt.
Die ausgewählten Dokumente werden als fehlerhaft markiert. Bitte geben Sie einen Grund an.
Falls ein Problem auftritt, das ein Eingreifen erfordert, melden Sie es hier.