|
@@ -78,6 +78,7 @@
|
|
<script>
|
|
<script>
|
|
|
|
|
|
import { mapMutations, mapState, mapActions, mapGetters } from 'vuex'
|
|
import { mapMutations, mapState, mapActions, mapGetters } from 'vuex'
|
|
|
|
+import { replaceKeyword, flatTabsMenu } from '../../../utils/utils'
|
|
import SearchList from './list.vue'
|
|
import SearchList from './list.vue'
|
|
|
|
|
|
export default {
|
|
export default {
|
|
@@ -104,6 +105,10 @@ export default {
|
|
'input',
|
|
'input',
|
|
'EVENT_NAME'
|
|
'EVENT_NAME'
|
|
]),
|
|
]),
|
|
|
|
+ ...mapState('work-bench/menu', [
|
|
|
|
+ 'flatMenus',
|
|
|
|
+ 'menus'
|
|
|
|
+ ]),
|
|
...mapGetters('work-bench/menu', [
|
|
...mapGetters('work-bench/menu', [
|
|
'canFilter'
|
|
'canFilter'
|
|
]),
|
|
]),
|
|
@@ -266,13 +271,41 @@ export default {
|
|
onChangeInput (value, from) {
|
|
onChangeInput (value, from) {
|
|
if (value) {
|
|
if (value) {
|
|
// 标讯搜索纯展示,不依赖请求,直接展示输入结果
|
|
// 标讯搜索纯展示,不依赖请求,直接展示输入结果
|
|
|
|
+ const flatMenus = JSON.parse(JSON.stringify(this.menus))
|
|
|
|
+ let menuList = []
|
|
|
|
+ if (Array.isArray(flatMenus)) {
|
|
|
|
+ const filterList = []
|
|
|
|
+ const level3List = []
|
|
|
|
+ flatMenus.forEach(item => {
|
|
|
|
+ const obj = { ...item, children: flatTabsMenu(item.child) }
|
|
|
|
+ filterList.push(obj)
|
|
|
|
+ })
|
|
|
|
+ const newList = filterList.filter(v => v.children && v.children.length > 0)
|
|
|
|
+ newList.forEach(s => {
|
|
|
|
+ level3List.push(...s.children)
|
|
|
|
+ })
|
|
|
|
+ const filterLevel3List = level3List.map(v => {
|
|
|
|
+ return {
|
|
|
|
+ ...v,
|
|
|
|
+ title: v.name.replace(/<br\s*\/?>/g, ''),
|
|
|
|
+ value: replaceKeyword(v.name.replace(/<br\s*\/?>/g, ''), value),
|
|
|
|
+ label: v._compute?._label.replace(/<br\s*\/?>/g, '').replace(/-/g, ' > '),
|
|
|
|
+ url: v.url
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ menuList = filterLevel3List.filter(v => {
|
|
|
|
+ return v.name.indexOf(value) > -1
|
|
|
|
+ })
|
|
|
|
+ } else {
|
|
|
|
+ menuList = []
|
|
|
|
+ }
|
|
this.changeSearchInfo({
|
|
this.changeSearchInfo({
|
|
bidding: {
|
|
bidding: {
|
|
title: `查看<span class="highlight-text">“${value}”</span>的标讯搜索结果`
|
|
title: `查看<span class="highlight-text">“${value}”</span>的标讯搜索结果`
|
|
},
|
|
},
|
|
ent: { list: [] },
|
|
ent: { list: [] },
|
|
buyer: { list: [] },
|
|
buyer: { list: [] },
|
|
- menu: { list: [] }
|
|
|
|
|
|
+ menu: { list: menuList }
|
|
})
|
|
})
|
|
this.navbarConvergeSearch({
|
|
this.navbarConvergeSearch({
|
|
searchCode: value
|
|
searchCode: value
|