feat: 搜索框(全文搜索,缺搜索历史)

This commit is contained in:
chenjinsong
2022-01-25 22:58:23 +08:00
parent a1e3d88b96
commit 1169d8a2cc
5 changed files with 62 additions and 23 deletions

View File

@@ -448,8 +448,9 @@ export default {
}
// 带参数时只查询对应类型的entity不带参数时3种entity都查
if (formatSql) {
// entity_type处理不查其他两种entity_type对应的左侧筛选
const entityTypeMeta = metaList.find(meta => {
return meta.column && meta.column === 'entity_type'
return meta.column && meta.column.name === 'entity_type'
})
if (entityTypeMeta) {
let entityType = ''

View File

@@ -22,7 +22,7 @@
<span>{{$t('search.searchHistory')}}</span>
</div>
<div class="foot__item">
<span @click="search({})">{{$t('overall.explore')}}</span>
<span @click="search">{{$t('overall.explore')}}</span>
<el-divider direction="vertical"></el-divider>
<span>{{$t('overall.help')}}</span>
</div>
@@ -33,6 +33,8 @@
<script>
import AdvancedSearch from '@/components/advancedSearch/Index'
import { columnType } from '@/components/advancedSearch/meta/meta'
import SqlParser from '@/components/advancedSearch/meta/sql-parser'
export default {
name: 'CnSearch',
components: {
@@ -178,7 +180,18 @@ export default {
},
methods: {
search (metaList, formatSql) {
this.$emit('search', metaList, formatSql)
let sql = formatSql
if (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)