diff --git a/src/components/Table/TagSearch/index.vue b/src/components/Table/TagSearch/index.vue index 570ec9648..e1c5b613b 100644 --- a/src/components/Table/TagSearch/index.vue +++ b/src/components/Table/TagSearch/index.vue @@ -126,6 +126,7 @@ export default { filterTags: { handler() { this.$emit('tag-search', this.filterMaps) + this.$eventBus.$emit('TagSearch', this.filterMaps) }, deep: true }, diff --git a/src/views/tickets/BaseTicketList.vue b/src/views/tickets/BaseTicketList.vue index 9bee748de..f9cca50b5 100644 --- a/src/views/tickets/BaseTicketList.vue +++ b/src/views/tickets/BaseTicketList.vue @@ -201,6 +201,9 @@ export default { return Object.assign({}, this.defaultTicketActions, this.extraTicketAction) } }, + created() { + this.$eventBus.$on('TagSearch', this.handleTagSearchEvent) + }, mounted() { setTimeout(() => { this.loading = false @@ -209,6 +212,14 @@ export default { methods: { reloadTable() { this.$refs.ListPage.$refs.ListTable.$refs.ListTable.reloadTable() + }, + handleTagSearchEvent(tags) { + if (tags.hasOwnProperty('state')) { + const delimiter = this.url.indexOf('?') === -1 ? '?' : '&' + this.ticketTableConfig.url = `${this.url}${delimiter}state=${tags.state}` + } else { + this.ticketTableConfig.url = this.url + } } } }