fix: 增加搜索表达式错误提示,修复历史记录sql问题
This commit is contained in:
@@ -70,4 +70,5 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -27,6 +27,10 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
/*.search-tip--error {
|
||||
font-size: 14px;
|
||||
color: #F56C6C;
|
||||
}*/
|
||||
}
|
||||
.advanced-search--show-list .CodeMirror, .advanced-search--show-list .tag-search {
|
||||
border: none;
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
@changeMode="changeMode"
|
||||
@search="search"
|
||||
></tag-mode>
|
||||
<!-- <div class="search-tip--error">something error...</div>-->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -29,7 +30,8 @@ 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 SqlParser from '@/components/advancedSearch/meta/sql-parser'
|
||||
import { ElMessage } from 'element-plus'
|
||||
export default {
|
||||
name: 'Index',
|
||||
components: {
|
||||
@@ -85,6 +87,8 @@ export default {
|
||||
if (this.$_.isEmpty(errorList)) {
|
||||
const { metaList } = parser.formatSql()
|
||||
this.metaList = metaList
|
||||
} else {
|
||||
ElMessage.error(this.$t('tip.invalidExpression'))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import SqlParser, { stringInQuot } from '@/components/advancedSearch/meta/sql-pa
|
||||
import CodeMirror from 'codemirror'
|
||||
import { toRaw } from 'vue'
|
||||
import { columnType } from '@/components/advancedSearch/meta/meta'
|
||||
import { ElMessage } from 'element-plus'
|
||||
|
||||
export default {
|
||||
name: 'TextMode',
|
||||
@@ -51,7 +52,6 @@ export default {
|
||||
},
|
||||
search () {
|
||||
let originalSql = this.codeMirror.getValue()
|
||||
console.info(originalSql)
|
||||
if (originalSql) {
|
||||
originalSql = originalSql.replace(/"/g, '')
|
||||
const parser = new SqlParser(originalSql, this.columnList)
|
||||
@@ -61,7 +61,7 @@ export default {
|
||||
toRaw(this.codeMirror).setValue(formatSql)
|
||||
this.$emit('search', metaList, formatSql)
|
||||
} else {
|
||||
console.info(errorList)
|
||||
ElMessage.error(this.$t('tip.invalidExpression'))
|
||||
}
|
||||
} else {
|
||||
this.$emit('search')
|
||||
|
||||
@@ -198,17 +198,6 @@ export default {
|
||||
methods: {
|
||||
search (metaList, formatSql) {
|
||||
let sql = formatSql
|
||||
if (metaList && this.$_.isArray(metaList)) {
|
||||
// 全文搜索处理
|
||||
const hasFullText = metaList.some(meta => {
|
||||
return meta.column && meta.column.type === columnType.fullText
|
||||
})
|
||||
if (hasFullText) {
|
||||
const parser = new SqlParser(metaList, this.columnList)
|
||||
sql = parser.parseMetaToSql(metaList, true)
|
||||
}
|
||||
}
|
||||
this.$emit('search', metaList, sql)
|
||||
// 加入搜索记录,将记录数量控制在30以内
|
||||
if (sql) {
|
||||
const oldHistory = localStorage.getItem(storageKey.entitySearchHistory)
|
||||
@@ -226,6 +215,17 @@ export default {
|
||||
}
|
||||
localStorage.setItem(storageKey.entitySearchHistory, JSON.stringify(arr))
|
||||
}
|
||||
if (metaList && this.$_.isArray(metaList)) {
|
||||
// 全文搜索处理
|
||||
const hasFullText = metaList.some(meta => {
|
||||
return meta.column && meta.column.type === columnType.fullText
|
||||
})
|
||||
if (hasFullText) {
|
||||
const parser = new SqlParser(metaList, this.columnList)
|
||||
sql = parser.parseMetaToSql(metaList, true)
|
||||
}
|
||||
}
|
||||
this.$emit('search', metaList, sql)
|
||||
},
|
||||
addParams (params) {
|
||||
this.$refs.search.addParams(params)
|
||||
|
||||
Reference in New Issue
Block a user