From c4921f777d81b9b27cbf7bdb8738daf635e0866a Mon Sep 17 00:00:00 2001
From: yaowanxin <3588231647@qq.com>
Date: 星期二, 21 十月 2025 09:52:14 +0800
Subject: [PATCH] Merge branch 'ywx' into dev
---
src/plugins/tab.js | 38 ++++++++++++++++++++++----------------
1 files changed, 22 insertions(+), 16 deletions(-)
diff --git a/src/plugins/tab.js b/src/plugins/tab.js
index fd3d286..16755f0 100644
--- a/src/plugins/tab.js
+++ b/src/plugins/tab.js
@@ -4,15 +4,15 @@
export default {
// 鍒锋柊褰撳墠tab椤电
refreshPage(obj) {
- const { path, query, matched } = router.currentRoute.value;
+ const { path, query, matched } = router.currentRoute.value
if (obj === undefined) {
matched.forEach((m) => {
if (m.components && m.components.default && m.components.default.name) {
if (!['Layout', 'ParentView'].includes(m.components.default.name)) {
- obj = { name: m.components.default.name, path: path, query: query };
+ obj = { name: m.components.default.name, path: path, query: query }
}
}
- });
+ })
}
return useTagsViewStore().delCachedView(obj).then(() => {
const { path, query } = obj
@@ -24,42 +24,48 @@
},
// 鍏抽棴褰撳墠tab椤电锛屾墦寮�鏂伴〉绛�
closeOpenPage(obj) {
- useTagsViewStore().delView(router.currentRoute.value);
+ useTagsViewStore().delView(router.currentRoute.value)
if (obj !== undefined) {
- return router.push(obj);
+ return router.push(obj)
}
},
// 鍏抽棴鎸囧畾tab椤电
closePage(obj) {
if (obj === undefined) {
- return useTagsViewStore().delView(router.currentRoute.value).then(({ lastPath }) => {
- return router.push(lastPath || '/index');
- });
+ return useTagsViewStore().delView(router.currentRoute.value).then(({ visitedViews }) => {
+ const latestView = visitedViews.slice(-1)[0]
+ if (latestView) {
+ return router.push(latestView.fullPath)
+ }
+ return router.push('/')
+ })
}
- return useTagsViewStore().delView(obj);
+ return useTagsViewStore().delView(obj)
},
// 鍏抽棴鎵�鏈塼ab椤电
closeAllPage() {
- return useTagsViewStore().delAllViews();
+ return useTagsViewStore().delAllViews()
},
// 鍏抽棴宸︿晶tab椤电
closeLeftPage(obj) {
- return useTagsViewStore().delLeftTags(obj || router.currentRoute.value);
+ return useTagsViewStore().delLeftTags(obj || router.currentRoute.value)
},
// 鍏抽棴鍙充晶tab椤电
closeRightPage(obj) {
- return useTagsViewStore().delRightTags(obj || router.currentRoute.value);
+ return useTagsViewStore().delRightTags(obj || router.currentRoute.value)
},
// 鍏抽棴鍏朵粬tab椤电
closeOtherPage(obj) {
- return useTagsViewStore().delOthersViews(obj || router.currentRoute.value);
+ return useTagsViewStore().delOthersViews(obj || router.currentRoute.value)
},
// 鎵撳紑tab椤电
- openPage(url) {
- return router.push(url);
+ openPage(title, url, params) {
+ const obj = { path: url, meta: { title: title } }
+ useTagsViewStore().addView(obj)
+ return router.push({ path: url, query: params })
},
// 淇敼tab椤电
updatePage(obj) {
- return useTagsViewStore().updateVisitedView(obj);
+ return useTagsViewStore().updateVisitedView(obj)
}
}
--
Gitblit v1.9.3