Vue.component('HistoricTicket', { //language=Vue template: ` `, data() { return { window: window, selectedTicketNumber: null, selectedTicketData: null, globalSearch: '', globalSearchModal: false, globalSearchModalTableConfig: { headers: [{text: 'Ticket Number', key: 'ticket_number', filter: false, sortable: false}, {text: 'Erstellt', key: 'ctime', filter: false, sortable: false}, {text: 'Subject', key: 'ticket_subject', filter: false, sortable: false}, {text: 'Message', key: 'ticket_message', filter: false, sortable: false},], tableHeader: 'Suchergebnisse', key: 'HistoricTicketGlobalSearch', }, historicTicketTableConfig: { headers: [{text: 'Ticket Number', key: 'ticket_number', filter: 'search'}, {text: 'Erstellt', key: 'ctime', filter: false}, {text: 'Subject', key: 'subject', filter: 'search', sortable: false}, { text: 'Type', key: 'type', filter: 'select', filterOptions: [{value: 'BACKOFFICE', text: 'BACKOFFICE'}, {value: 'KUNDENANFRAGEN', text: 'KUNDENANFRAGEN'}, {value: 'STÖRUNGEN', text: 'STÖRUNGEN'}, {value: 'ALLGEMEINES', text: 'ALLGEMEINES'}, {value: 'TERMIN VEREINBART', text: 'TERMIN VEREINBART'}, {value: 'VERRECHNEN AB DATUM', text: 'VERRECHNEN AB DATUM'}, {value: 'ONLINE-TICKETS', text: 'ONLINE-TICKETS'}, {value: 'KÜNDIGUNG', text: 'KÜNDIGUNG'}, {value: 'BESTELLUNGEN', text: 'BESTELLUNGEN'}, {value: 'PORTIERUNG', text: 'PORTIERUNG'}, {value: 'KABEL-TV', text: 'KABEL-TV'}, {value: 'TIEFBAU', text: 'TIEFBAU'}, {value: 'ENERGIE STEIERMARK', text: 'ENERGIE STEIERMARK'}, {value: 'INTERN', text: 'INTERN'}, {value: 'FELIX', text: 'FELIX'}, {value: '0', text: '0'}, {value: 'JETTEN', text: 'JETTEN'},] }, { text: 'Status', key: 'status', filter: 'select', filterOptions: [{value: 'Geschlossen', text: 'Geschlossen'}, {value: 'In Evidenz', text: 'In Evidenz'}, {value: 'In Bearbeitung', text: 'In Bearbeitung'}, {value: 'Business In Bearbeitung', text: 'Business In Bearbeitung'}, {value: 'Business Angebot gelegt', text: 'Business Angebot gelegt'},] }, {text: 'Name', key: 'first_name', filter: 'search', sortable: false}, {text: 'Email', key: 'email', filter: 'search', sortable: false}, {text: 'Phone', key: 'phone', filter: 'search', sortable: false},], defaultPageSize: 25, tableHeader: 'Historische Tickets', key: 'HistoricTicket', } } }, methods: { async doGlobalSearch() { if (this.globalSearch.length > 0) { this.globalSearchModal = true; this.$nextTick(() => { this.$refs.globalSearchModal.focus(); }); } }, async clickTicketNumber(ticketNumber) { this.globalSearchModal = false; this.selectedTicketData = null; this.selectedTicketNumber = ticketNumber; const response = await axios.post(`${window['TT_CONFIG']['HISTORIC_TICKET_API_URL']}?do=getHistoricTicketMessages`, {ticketNumber}); this.selectedTicketData = response.data; this.$nextTick(() => { this.$refs.selectedTicketModal.focus(); }); } } })