diff --git a/src/components/advancedSearch/Index.vue b/src/components/advancedSearch/Index.vue
index 72b42154..12d27f13 100644
--- a/src/components/advancedSearch/Index.vue
+++ b/src/components/advancedSearch/Index.vue
@@ -6,7 +6,7 @@
v-if="searchMode === 'text'"
ref="textMode"
:column-list="columnList"
- :sql="sql"
+ :str="str"
@changeMode="changeMode"
@search="search"
>
@@ -29,8 +29,7 @@ import TextMode from '@/components/advancedSearch/TextMode'
import { defaultOperatorList, defaultConnectionList } from '@/components/advancedSearch/meta/meta'
import _ from 'lodash'
import { ref } from 'vue'
-import SqlParser from '@/components/advancedSearch/meta/sql-parser'
-import { ElMessage } from 'element-plus'
+import Parser from '@/components/advancedSearch/meta/parser'
export default {
name: 'Index',
components: {
@@ -39,7 +38,7 @@ export default {
},
data () {
return {
- sql: null,
+ str: null,
metaList: null
}
},
@@ -62,15 +61,15 @@ export default {
connectionList: Array
},
methods: {
- search (metaList, formatSql) {
- this.$emit('search', metaList, formatSql)
+ search (parseData) {
+ this.$emit('search', parseData)
},
- changeMode (mode, data) {
+ changeMode (mode, { str, metaList }) {
this.searchMode = mode
if (mode === 'text') {
- this.sql = data
+ this.str = str
} else if (mode === 'tag') {
- this.metaList = data
+ this.metaList = metaList
}
},
// params: [{column, operator, value}, ...]
@@ -88,17 +87,15 @@ export default {
this.$refs.tagMode && this.$refs.tagMode.changeParams(params)
this.$refs.textMode && this.$refs.textMode.changeParams(params)
},
- setSql (sql) {
+ setStr (str) {
if (this.searchMode === 'text') {
- this.sql = sql
+ this.str = str
} else if (this.searchMode === 'tag') {
- const parser = new SqlParser(sql, this.columnList)
- const errorList = parser.validate()
- if (this.$_.isEmpty(errorList)) {
- const { metaList } = parser.formatSql()
+ const parser = new Parser(this.columnList)
+ const errorList = parser.validateStr(str)
+ if (_.isEmpty(errorList)) {
+ const { metaList } = parser.parseStr(str)
this.metaList = metaList
- } else {
- ElMessage.error(this.$t('tip.invalidExpression'))
}
}
},
diff --git a/src/components/advancedSearch/TagMode.vue b/src/components/advancedSearch/TagMode.vue
index 0be32174..fdcf2060 100644
--- a/src/components/advancedSearch/TagMode.vue
+++ b/src/components/advancedSearch/TagMode.vue
@@ -87,7 +87,7 @@
diff --git a/src/views/detections/DetectionSearch.vue b/src/views/detections/DetectionSearch.vue
index 05c85803..c1b49ca4 100644
--- a/src/views/detections/DetectionSearch.vue
+++ b/src/views/detections/DetectionSearch.vue
@@ -22,8 +22,6 @@