按钮展示逻辑优化

This commit is contained in:
季圣华
2021-08-22 17:56:34 +08:00
parent 88f86c5932
commit 47b5d2d800
4 changed files with 13 additions and 9 deletions

View File

@@ -36,6 +36,7 @@
import Contextmenu from '@/components/menu/Contextmenu' import Contextmenu from '@/components/menu/Contextmenu'
import { mixin, mixinDevice } from '@/utils/mixin.js' import { mixin, mixinDevice } from '@/utils/mixin.js'
import { triggerWindowResizeEvent } from '@/utils/util' import { triggerWindowResizeEvent } from '@/utils/util'
import Vue from 'vue'
const indexKey = '/dashboard/analysis' const indexKey = '/dashboard/analysis'
@@ -121,6 +122,8 @@
let oldIndex = this.linkList.indexOf(newRoute.fullPath) let oldIndex = this.linkList.indexOf(newRoute.fullPath)
let oldPositionRoute = this.pageList[oldIndex] let oldPositionRoute = this.pageList[oldIndex]
this.pageList.splice(oldIndex, 1, Object.assign({},newRoute,{meta:oldPositionRoute.meta})) this.pageList.splice(oldIndex, 1, Object.assign({},newRoute,{meta:oldPositionRoute.meta}))
//给菜单id赋值用于调用之后控制按钮的显示
Vue.ls.set('funId', oldPositionRoute.meta.id, 7 * 24 * 60 * 60 * 1000)
//每次切换都刷新 //每次切换都刷新
this.routeReload() this.routeReload()
} }
@@ -196,12 +199,9 @@
this.$message.warning('这是最后一页,不能再关闭了啦') this.$message.warning('这是最后一页,不能再关闭了啦')
return return
} }
console.log("this.pageList ",this.pageList);
this.pageList = this.pageList.filter(item => item.fullPath !== key) this.pageList = this.pageList.filter(item => item.fullPath !== key)
console.log("this.pageList ",this.pageList);
let index = this.linkList.indexOf(key) let index = this.linkList.indexOf(key)
this.linkList = this.linkList.filter(item => item !== key) this.linkList = this.linkList.filter(item => item !== key)
console.log("this.linkList ",this.linkList);
index = index >= this.linkList.length ? this.linkList.length - 1 : index index = index >= this.linkList.length ? this.linkList.length - 1 : index
this.activePage = this.linkList[index] this.activePage = this.linkList[index]
}, },
@@ -284,7 +284,7 @@
} }
}, },
//update-begin-author:taoyan date:20190430 for:动态路由title显示配置的菜单title而不是其对应路由的title //update-begin-author:taoyan date:20190430 for:动态路由title显示配置的菜单title而不是其对应路由的title
dynamicRouterShow(key,title){ dynamicRouterShow(key, id, title){
let keyIndex = this.linkList.indexOf(key) let keyIndex = this.linkList.indexOf(key)
if(keyIndex>=0){ if(keyIndex>=0){
//切换历史页签 //切换历史页签
@@ -302,6 +302,7 @@
path: key, path: key,
fullPath: key, fullPath: key,
meta: { meta: {
id: id,
icon: key, icon: key,
title: title title: title
} }

View File

@@ -154,11 +154,10 @@
myMenuSelect(value){ myMenuSelect(value){
//此处触发动态路由被点击事件 //此处触发动态路由被点击事件
this.findMenuBykey(this.menus,value.key) this.findMenuBykey(this.menus,value.key)
this.$emit("dynamicRouterShow",value.key,this.activeMenu.text) this.$emit("dynamicRouterShow",value.key, this.activeMenu.id, this.activeMenu.text)
// update-begin-author:sunjianlei date:20191223 for: 修复刷新后菜单Tab名字显示异常 // update-begin-author:sunjianlei date:20191223 for: 修复刷新后菜单Tab名字显示异常
let storeKey = 'route:title:' + this.activeMenu.url let storeKey = 'route:title:' + this.activeMenu.url
this.$ls.set(storeKey, this.activeMenu.text) this.$ls.set(storeKey, this.activeMenu.text)
Vue.ls.set('funId', this.activeMenu.id, 7 * 24 * 60 * 60 * 1000);
// update-end-author:sunjianlei date:20191223 for: 修复刷新后菜单Tab名字显示异常 // update-end-author:sunjianlei date:20191223 for: 修复刷新后菜单Tab名字显示异常
}, },
findMenuBykey(menus,key){ findMenuBykey(menus,key){

View File

@@ -32,9 +32,12 @@
</a> </a>
</span> </span>
<span class="action"> <span class="action">
<a target="_blank" :href="systemUrl"> <a-tooltip>
<a-icon type="bank" style="font-size: 16px;" /> <template slot="title">官方网站</template>
</a> <a target="_blank" :href="systemUrl">
<a-icon type="bank" style="font-size: 16px;" />
</a>
</a-tooltip>
</span> </span>
<header-notice class="action"/> <header-notice class="action"/>
<a-dropdown> <a-dropdown>

View File

@@ -118,6 +118,7 @@ function generateChildRouters (data) {
name: item.text, name: item.text,
component: componentPath, component: componentPath,
meta: { meta: {
id: item.id,
title: item.text, title: item.text,
icon: item.icon, icon: item.icon,
url: item.url, url: item.url,