Vue.component('pipework-history', { //language=Vue template: `
{{ checkParameters }}
`, data() { return { window: window, address: '', dateRange: { from: window.moment().subtract(4, 'weeks').unix(), to: window.moment().unix() }, selectedNetwork: null, pipeworkHistory: [], pipeworkHistoryLoading: true, pipeworkHistoryError: false, pipeworkHistoryTableIndex: 0, pipeworkHistoryTableConfig: { key: 'PipeworkHistoryTable', tableHeader: 'Tiefbau Historie', defaultPageSize: 50, headers: [ {text: 'Straße', key: 'building_street'}, {text: 'Ort', key: 'building_city'}, {text: 'Feld', key: 'item_label'}, {text: 'Wert', key: 'item_type'}, {text: 'Editiert', key: 'last_edited_at'}, {text: 'Von', key: 'last_edited_by_user_id'}, {text: 'Actions', key: 'item_id'}, ], } } }, computed: { checkParameters() { if (!this.selectedNetwork) { return 'Bitte Netzgebiet auswählen'; } else if (this.dateRange.from && this.dateRange.to) { const from = window.moment.unix(this.dateRange.from); const to = window.moment.unix(this.dateRange.to); const diff = to.diff(from, 'days'); if (diff > 28) { return 'Bitte Zeitraum von maximal 4 Wochen auswählen'; } } return true; } }, methods: { async getPipeworkHistory() { this.pipeworkHistoryLoading = true; this.pipeworkHistoryError = false; try { const response = await axios.get(`${window.TT_CONFIG.BASE_PATH}/Pipework/HistoryAPI`, { params: { network_id: this.selectedNetwork, street_filter: this.address, from: this.dateRange.from, to: this.dateRange.to } }) this.pipeworkHistory = response.data.data; this.pipeworkHistoryLoading = false; this.pipeworkHistoryTableIndex++; } catch (error) { console.error(error); this.pipeworkHistoryLoading = false; this.pipeworkHistoryError = true; this.window.notify('error', 'Fehler beim Abrufen der Daten'); } }, openPipework(row) { const networkId = this.selectedNetwork; const street = row.building_street; this.window.open(`${window.TT_CONFIG.BASE_PATH}/Pipework?filter[network_id]=${networkId}&filter[street]=${street}&filter[status_id]=`, '_blank'); } } })