// WorkorderMphBase.js - Shared components for WorkorderMph module // Traffic light component (reused from WorkorderBase) Vue.component('traffic-light-mph', { 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: `●` }); // Wohneinheit Status Manager Component Vue.component('wohneinheit-status-manager', { props: { workorderMphId: { type: Number, required: true }, isAdmin: { type: Boolean, default: false } }, template: `
Dokumentieren Sie alle Wohneinheiten und laden Sie die erforderlichen Dokumente hoch.
Prüfen Sie die hochgeladenen Dokumente: