From ff14fa5e4efaf4e3e6a307473e9bd2881da265c1 Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期五, 18 四月 2025 12:55:34 +0800
Subject: [PATCH] 支持文件&图片组件自定义地址&参数

---
 src/plugins/tab.js |   26 +++++++++++++++-----------
 1 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/src/plugins/tab.js b/src/plugins/tab.js
index d9fd580..004aa86 100644
--- a/src/plugins/tab.js
+++ b/src/plugins/tab.js
@@ -1,4 +1,4 @@
-import store from '@/store'
+import useTagsViewStore from '@/store/modules/tagsView'
 import router from '@/router'
 
 export default {
@@ -14,7 +14,7 @@
         }
       });
     }
-    return store.dispatch('tagsView/delCachedView', obj).then(() => {
+    return useTagsViewStore().delCachedView(obj).then(() => {
       const { path, query } = obj
       router.replace({
         path: '/redirect' + path,
@@ -24,7 +24,7 @@
   },
   // 鍏抽棴褰撳墠tab椤电锛屾墦寮�鏂伴〉绛�
   closeOpenPage(obj) {
-    store.dispatch("tagsView/delView", router.currentRoute.value);
+    useTagsViewStore().delView(router.currentRoute.value);
     if (obj !== undefined) {
       return router.push(obj);
     }
@@ -32,27 +32,31 @@
   // 鍏抽棴鎸囧畾tab椤电
   closePage(obj) {
     if (obj === undefined) {
-      return store.dispatch('tagsView/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 store.dispatch('tagsView/delView', obj);
+    return useTagsViewStore().delView(obj);
   },
   // 鍏抽棴鎵�鏈塼ab椤电
   closeAllPage() {
-    return store.dispatch('tagsView/delAllViews');
+    return useTagsViewStore().delAllViews();
   },
   // 鍏抽棴宸︿晶tab椤电
   closeLeftPage(obj) {
-    return store.dispatch('tagsView/delLeftTags', obj || router.currentRoute.value);
+    return useTagsViewStore().delLeftTags(obj || router.currentRoute.value);
   },
   // 鍏抽棴鍙充晶tab椤电
   closeRightPage(obj) {
-    return store.dispatch('tagsView/delRightTags', obj || router.currentRoute.value);
+    return useTagsViewStore().delRightTags(obj || router.currentRoute.value);
   },
   // 鍏抽棴鍏朵粬tab椤电
   closeOtherPage(obj) {
-    return store.dispatch('tagsView/delOthersViews', obj || router.currentRoute.value);
+    return useTagsViewStore().delOthersViews(obj || router.currentRoute.value);
   },
   // 鎵撳紑tab椤电
   openPage(url) {
@@ -60,6 +64,6 @@
   },
   // 淇敼tab椤电
   updatePage(obj) {
-    return store.dispatch('tagsView/updateVisitedView', obj);
+    return useTagsViewStore().updateVisitedView(obj);
   }
 }

--
Gitblit v1.9.3