diff --git a/src/components/advancedSearch/TagMode.vue b/src/components/advancedSearch/TagMode.vue index d3b9ba0f..365e911f 100644 --- a/src/components/advancedSearch/TagMode.vue +++ b/src/components/advancedSearch/TagMode.vue @@ -107,7 +107,6 @@ export default { // 新增条件 addCondition (meta) { this.metaList.forEach(m => { - console.info(m) m.cancelEditing() }) // 先判断上一个condition是否已填写完整,没有则删除;之后将当前所有meta的内容的isEditing置为false @@ -155,6 +154,8 @@ export default { if (this.isCustomized(value)) { meta.column.type = columnType.fullText meta.column.label = value + meta.resetOperator() + meta.resetValue() } else { const selectedColumn = this.columnList.find(column => { return column.name === value diff --git a/src/components/advancedSearch/TextMode.vue b/src/components/advancedSearch/TextMode.vue index 23b65fd9..e33c7e01 100644 --- a/src/components/advancedSearch/TextMode.vue +++ b/src/components/advancedSearch/TextMode.vue @@ -88,7 +88,7 @@ export default { return column.name === key }) let current = this.codeMirror.getValue() - current = `${key}=${(column.type === columnType.string ? stringInQuot(params[key]) : params[key])} ${current ? 'AND' : ''} ${current}` + current = `${current ? current + 'AND ' : ''}${key}=${(column.type === columnType.string ? stringInQuot(params[key]) : params[key])}` toRaw(this.codeMirror).setValue(current) }) } diff --git a/src/components/advancedSearch/meta/meta.js b/src/components/advancedSearch/meta/meta.js index 21a44fe7..986ae1cb 100644 --- a/src/components/advancedSearch/meta/meta.js +++ b/src/components/advancedSearch/meta/meta.js @@ -87,6 +87,23 @@ export default class Meta { this.isEditing = false } } + + resetOperator () { + this.operator = { + value: '', + isEditing: false, + show: false + } + } + + resetValue () { + this.value = { + value: '', + label: '', + isEditing: false, + show: false + } + } } export function cloneMeta (source) { diff --git a/src/components/advancedSearch/meta/sql-parser.js b/src/components/advancedSearch/meta/sql-parser.js index 12efd1ea..8800dabd 100644 --- a/src/components/advancedSearch/meta/sql-parser.js +++ b/src/components/advancedSearch/meta/sql-parser.js @@ -122,18 +122,19 @@ export default class SqlParser extends SqlParserVisitor { } // 如果column.name为空,则参数值是column,否则是value if (!this.tempMeta.column.name) { - // 在columnList中的,按columnList;不在则先设为空串,由之后value值来自动判断 + // 在columnList中的,按columnList;不在则为全文检索 const column = this.columnList.find(column => { return column.name === value }) this.tempMeta.column.name = value this.tempMeta.column.label = column ? column.label : value - this.tempMeta.column.type = column ? column.type : '' - } else { - // 若column的type为空,则根据value自动判断赋值 - if (!this.tempMeta.column.type) { - this.tempMeta.column.type = handleType(value) + this.tempMeta.column.type = column ? column.type : columnType.fullText + if (this.tempMeta.column.type === columnType.fullText) { + this.tempMeta.value.show = false + this.tempMeta.operator.show = false + this.metaList.push(cloneMeta(this.tempMeta)) } + } else { if (this.tempMeta.column.type === columnType.string) { if (_.isArray(value)) { this.tempMeta.value.value = value.map(v => { diff --git a/src/views/entityExplorer/EntityExplorer.vue b/src/views/entityExplorer/EntityExplorer.vue index 3fb6649e..4bd639e5 100644 --- a/src/views/entityExplorer/EntityExplorer.vue +++ b/src/views/entityExplorer/EntityExplorer.vue @@ -256,6 +256,7 @@ export default { ], listData: [], q: '', + metaList: [], limitFilterType: true, // 是否限定了filter的类型 listLoading: false/*, listData: JSON.parse(`[ @@ -439,8 +440,10 @@ export default { search (metaList, formatSql) { if (formatSql) { this.q = formatSql + this.metaList = metaList } else { this.q = '' + this.metaList = [] } if (!this.showList) { @@ -489,11 +492,11 @@ export default { }, pageSize (val) { this.pageObj.pageSize = val - this.search() + this.search(this.metaList, this.q) }, pageNo (val) { this.pageObj.pageNo = val - this.search() + this.search(this.metaList, this.q) }, // 点击上一页箭头 prev () { @@ -671,7 +674,7 @@ export default { }, watch: { timeFilter (n) { - this.search() + this.search(this.metaList, this.q) } }, setup () { diff --git a/src/views/entityExplorer/search/ExplorerSearch.vue b/src/views/entityExplorer/search/ExplorerSearch.vue index c44fd540..d4828f1d 100644 --- a/src/views/entityExplorer/search/ExplorerSearch.vue +++ b/src/views/entityExplorer/search/ExplorerSearch.vue @@ -16,7 +16,7 @@
-
+
{{$t('search.searchHistory')}} @@ -27,7 +27,7 @@ {{$t('overall.help')}}
-
+
{{h.date}}