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 {
|
.advanced-search--show-list .CodeMirror, .advanced-search--show-list .tag-search {
|
||||||
border: none;
|
border: none;
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
@changeMode="changeMode"
|
@changeMode="changeMode"
|
||||||
@search="search"
|
@search="search"
|
||||||
></tag-mode>
|
></tag-mode>
|
||||||
|
<!-- <div class="search-tip--error">something error...</div>-->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -29,7 +30,8 @@ import TextMode from '@/components/advancedSearch/TextMode'
|
|||||||
import { defaultOperatorList, defaultConnectionList } from '@/components/advancedSearch/meta/meta'
|
import { defaultOperatorList, defaultConnectionList } from '@/components/advancedSearch/meta/meta'
|
||||||
import _ from 'lodash'
|
import _ from 'lodash'
|
||||||
import { ref } from 'vue'
|
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 {
|
export default {
|
||||||
name: 'Index',
|
name: 'Index',
|
||||||
components: {
|
components: {
|
||||||
@@ -85,6 +87,8 @@ export default {
|
|||||||
if (this.$_.isEmpty(errorList)) {
|
if (this.$_.isEmpty(errorList)) {
|
||||||
const { metaList } = parser.formatSql()
|
const { metaList } = parser.formatSql()
|
||||||
this.metaList = metaList
|
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 CodeMirror from 'codemirror'
|
||||||
import { toRaw } from 'vue'
|
import { toRaw } from 'vue'
|
||||||
import { columnType } from '@/components/advancedSearch/meta/meta'
|
import { columnType } from '@/components/advancedSearch/meta/meta'
|
||||||
|
import { ElMessage } from 'element-plus'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'TextMode',
|
name: 'TextMode',
|
||||||
@@ -51,7 +52,6 @@ export default {
|
|||||||
},
|
},
|
||||||
search () {
|
search () {
|
||||||
let originalSql = this.codeMirror.getValue()
|
let originalSql = this.codeMirror.getValue()
|
||||||
console.info(originalSql)
|
|
||||||
if (originalSql) {
|
if (originalSql) {
|
||||||
originalSql = originalSql.replace(/"/g, '')
|
originalSql = originalSql.replace(/"/g, '')
|
||||||
const parser = new SqlParser(originalSql, this.columnList)
|
const parser = new SqlParser(originalSql, this.columnList)
|
||||||
@@ -61,7 +61,7 @@ export default {
|
|||||||
toRaw(this.codeMirror).setValue(formatSql)
|
toRaw(this.codeMirror).setValue(formatSql)
|
||||||
this.$emit('search', metaList, formatSql)
|
this.$emit('search', metaList, formatSql)
|
||||||
} else {
|
} else {
|
||||||
console.info(errorList)
|
ElMessage.error(this.$t('tip.invalidExpression'))
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
this.$emit('search')
|
this.$emit('search')
|
||||||
|
|||||||
@@ -198,17 +198,6 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
search (metaList, formatSql) {
|
search (metaList, formatSql) {
|
||||||
let sql = 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以内
|
// 加入搜索记录,将记录数量控制在30以内
|
||||||
if (sql) {
|
if (sql) {
|
||||||
const oldHistory = localStorage.getItem(storageKey.entitySearchHistory)
|
const oldHistory = localStorage.getItem(storageKey.entitySearchHistory)
|
||||||
@@ -226,6 +215,17 @@ export default {
|
|||||||
}
|
}
|
||||||
localStorage.setItem(storageKey.entitySearchHistory, JSON.stringify(arr))
|
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) {
|
addParams (params) {
|
||||||
this.$refs.search.addParams(params)
|
this.$refs.search.addParams(params)
|
||||||
|
|||||||
Reference in New Issue
Block a user