优化页面内嵌iframe切换tab不刷新数据

master
RuoYi 2 years ago
parent 7347cbaedf
commit 9a895763d5
  1. 5
      ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
  2. 4
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
  3. 23
      ruoyi-ui/src/store/modules/tagsView.js

@ -19,6 +19,11 @@ public class Constants
*/
public static final String GBK = "GBK";
/**
* www主域
*/
public static final String WWW = "www.";
/**
* http请求
*/

@ -529,7 +529,7 @@ public class SysMenuServiceImpl implements ISysMenuService
*/
public String innerLinkReplaceEach(String path)
{
return StringUtils.replaceEach(path, new String[] { Constants.HTTP, Constants.HTTPS },
new String[] { "", "" });
return StringUtils.replaceEach(path, new String[] { Constants.HTTP, Constants.HTTPS, Constants.WWW, "." },
new String[] { "", "", "", "/" });
}
}

@ -6,11 +6,12 @@ const state = {
const mutations = {
ADD_IFRAME_VIEW: (state, view) => {
if (state.iframeViews.some(v => v.path === view.path)) {
return
} else {
state.iframeViews.push(view)
}
if (state.iframeViews.some(v => v.path === view.path)) return
state.iframeViews.push(
Object.assign({}, view, {
title: view.meta.title || 'no-name'
})
)
},
ADD_VISITED_VIEW: (state, view) => {
if (state.visitedViews.some(v => v.path === view.path)) return
@ -87,10 +88,12 @@ const mutations = {
if (i > -1) {
state.cachedViews.splice(i, 1)
}
if(item.meta.link) {
const fi = state.iframeViews.findIndex(v => v.path === item.path)
state.iframeViews.splice(fi, 1)
}
return false
})
const iframeIndex = state.iframeViews.findIndex(v => v.path === view.path)
state.iframeViews = state.iframeViews.filter((item, idx) => idx <= iframeIndex)
},
DEL_LEFT_VIEWS: (state, view) => {
const index = state.visitedViews.findIndex(v => v.path === view.path)
@ -105,10 +108,12 @@ const mutations = {
if (i > -1) {
state.cachedViews.splice(i, 1)
}
if(item.meta.link) {
const fi = state.iframeViews.findIndex(v => v.path === item.path)
state.iframeViews.splice(fi, 1)
}
return false
})
const iframeIndex = state.iframeViews.findIndex(v => v.path === view.path)
state.iframeViews = state.iframeViews.filter((item, idx) => idx >= iframeIndex)
}
}

Loading…
Cancel
Save