Browse Source

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

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

9
src/router/index.js

@ -109,8 +109,15 @@ function fnAddDynamicMenuRoutes (menuList = [], routes = []) {
// eslint-disable-next-line // eslint-disable-next-line
let URL = (menuList[i].url || '').replace(/{{([^}}]+)?}}/g, (s1, s2) => eval(s2)) // URL支持{{ window.xxx }}占位符变量 let URL = (menuList[i].url || '').replace(/{{([^}}]+)?}}/g, (s1, s2) => eval(s2)) // URL支持{{ window.xxx }}占位符变量
if (isURL(URL)) { if (isURL(URL)) {
route['path'] = route['name'] = `i-${menuList[i].id}` 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 route['meta']['iframeURL'] = URL
} else { } else {
URL = URL.replace(/^\//, '').replace(/_/g, '-') URL = URL.replace(/^\//, '').replace(/_/g, '-')
route['path'] = route['name'] = URL.replace(/\//g, '-') route['path'] = route['name'] = URL.replace(/\//g, '-')

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

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

Loading…
Cancel
Save