From 9a895763d55e147be355a2198ecfd33f66c2e746 Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期二, 23 八月 2022 20:59:26 +0800
Subject: [PATCH] 优化页面内嵌iframe切换tab不刷新数据
---
ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java | 5 +++++
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java | 4 ++--
ruoyi-ui/src/store/modules/tagsView.js | 23 ++++++++++++++---------
3 files changed, 21 insertions(+), 11 deletions(-)
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java b/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
index 2dbdbe6..87fa40f 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
@@ -20,6 +20,11 @@
public static final String GBK = "GBK";
/**
+ * www涓诲煙
+ */
+ public static final String WWW = "www.";
+
+ /**
* http璇锋眰
*/
public static final String HTTP = "http://";
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
index 604d60e..481a9ec 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
@@ -529,7 +529,7 @@
*/
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[] { "", "", "", "/" });
}
}
diff --git a/ruoyi-ui/src/store/modules/tagsView.js b/ruoyi-ui/src/store/modules/tagsView.js
index 39c70cb..9a88c2b 100644
--- a/ruoyi-ui/src/store/modules/tagsView.js
+++ b/ruoyi-ui/src/store/modules/tagsView.js
@@ -6,11 +6,12 @@
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 @@
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 @@
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)
}
}
--
Gitblit v1.9.3