Vue.component('PreorderCustom300', { template: ` `, data() { return { window: window, preorderTableConfig: { key: 'PreorderCustom300Table', tableHeader: 'Kundenspezifische Vorbestellungen (Typ 300)', defaultPageSize: 10, headers: [ {text: 'Bestellcode', key: 'ucode', sortable: true, class: 'text-nowrap', filter: 'search'}, {text: 'Preorder E-Mail', key: 'preorder_email', sortable: true, class: 'text-nowrap', filter: 'search'}, {text: 'Kampagnenname', key: 'campaign_name', sortable: true, class: 'text-nowrap', filter: 'search'}, { text: 'Aktueller Status', key: 'current_status_name', sortable: true, class: 'text-center', filter: 'select', // Assuming current_status_code values correspond to different statuses filterOptions: [ {value: 'Waiting for Service', text: 'Warten auf Service'}, {value: 'Ready for Service', text: 'Bereit für Service'}, {value: 'Finished', text: 'Abgeschlossen'}, ] }, {text: 'Log E-Mail', key: 'notification_logged_email', sortable: true, class: 'text-nowrap', filter: 'search'}, {text: 'Log Typ', key: 'notification_type_logged', sortable: true, class: 'text-nowrap', filter: 'search'}, {text: 'Log Zeitstempel', key: 'notification_log_timestamp', sortable: true, class: 'text-center', filter: 'date'}, {text: 'Aktionen', key: 'actions', class: 'text-center', sortable: false, filter: false}, ], }, }; }, methods: { // You might need to adjust this based on actual 'current_status_code' values getStatusClass(statusCode) { switch (statusCode) { case 'new': return 'badge badge-primary'; case 'pending': return 'badge badge-warning'; case 'completed': return 'badge badge-success'; case 'cancelled': return 'badge badge-danger'; default: return 'badge badge-secondary'; } } } });