Browse Source

新增,配置外部链接,打开新标签页

master
YUJT 3 years ago
parent
commit
df78ac0383
  1. 7
      src/router/index.js
  2. 5
      src/views/main-sidebar-sub-menu.vue

7
src/router/index.js

@ -109,8 +109,15 @@ function fnAddDynamicMenuRoutes (menuList = [], routes = []) {
// eslint-disable-next-line
let URL = (menuList[i].url || '').replace(/{{([^}}]+)?}}/g, (s1, s2) => eval(s2)) // URL支持{{ window.xxx }}占位符变量
if (isURL(URL)) {
if (menuList[i].menuCode.indexOf('newTab-') === 0) {
// 新建标签页打开链接
route['path'] = menuList[i].url
route['name'] = `i-${menuList[i].id}`
} else {
route['path'] = route['name'] = `i-${menuList[i].id}`
}
route['meta']['iframeURL'] = URL
} else {
URL = URL.replace(/^\//, '').replace(/_/g, '-')
route['path'] = route['name'] = URL.replace(/\//g, '-')

5
src/views/main-sidebar-sub-menu.vue

@ -16,6 +16,7 @@
<script>
import SubMenu from './main-sidebar-sub-menu'
import { isURL } from '@/utils/validate'
export default {
name: 'sub-menu',
props: {
@ -32,10 +33,14 @@ export default {
gotoRouteHandle (menuId) {
var route = window.SITE_CONFIG['dynamicMenuRoutes'].filter(item => item.meta.menuId === menuId)[0]
if (route) {
if (isURL(route.path)) {
window.open(route.path, '_blank')
} else {
this.$router.push({ name: route.name })
}
}
}
}
}
</script>

Loading…
Cancel
Save