From 5a813f3b28f3cbf1db3a3657ccf83267c6e0d315 Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期四, 24 十月 2024 11:22:02 +0800
Subject: [PATCH] 工艺路线相关优化

---
 src/store/modules/multipleTab.ts |   33 ++++++++++++++++++++++-----------
 1 files changed, 22 insertions(+), 11 deletions(-)

diff --git a/src/store/modules/multipleTab.ts b/src/store/modules/multipleTab.ts
index 0a04c2a..9885459 100644
--- a/src/store/modules/multipleTab.ts
+++ b/src/store/modules/multipleTab.ts
@@ -2,18 +2,19 @@
 
 import { toRaw, unref } from 'vue';
 import { defineStore } from 'pinia';
-import { store } from '/@/store';
+import { store } from '@/store';
 
-import { useGo, useRedo } from '/@/hooks/web/usePage';
-import { Persistent } from '/@/utils/cache/persistent';
+import { useGo, useRedo } from '@/hooks/web/usePage';
+import { Persistent } from '@/utils/cache/persistent';
 
-import { PageEnum } from '/@/enums/pageEnum';
-import { PAGE_NOT_FOUND_ROUTE, REDIRECT_ROUTE } from '/@/router/routes/basic';
-import { getRawRoute } from '/@/utils';
-import { MULTIPLE_TABS_KEY } from '/@/enums/cacheEnum';
+import { PageEnum } from '@/enums/pageEnum';
+import { PAGE_NOT_FOUND_ROUTE, REDIRECT_ROUTE } from '@/router/routes/basic';
+import { getRawRoute } from '@/utils';
+import { MULTIPLE_TABS_KEY } from '@/enums/cacheEnum';
 
-import projectSetting from '/@/settings/projectSetting';
-import { useUserStore } from '/@/store/modules/user';
+import projectSetting from '@/settings/projectSetting';
+import { useUserStore } from '@/store/modules/user';
+import { useProdRouteStore } from './prodRoute';
 
 export interface MultipleTabState {
   cacheTabList: Set<string>;
@@ -85,6 +86,13 @@
       const { currentRoute } = router;
       const route = unref(currentRoute);
       const name = route.name;
+      const useProdRoute = useProdRouteStore();
+      useProdRoute.setChangeToCPPage(false);
+      // 浠巗essionStorage涓鍙栧弬鏁板苟杞崲鍥炲璞�
+      const savedParams = sessionStorage.getItem(`${JSON.parse(decodeURI(route.params.id[0]))['sName']}_params`);
+      const objParams = savedParams ? JSON.parse(decodeURI(savedParams)) : {};
+      useProdRoute.setCurProdRotTree({ name: objParams['CODE'], treeInfo: [] });
+      useProdRoute.setCurSelectedNodes({ name: objParams['CODE'], SelectedNodes: [] });
 
       const findTab = this.getCachedTabList.find((item) => item === name);
       if (findTab) {
@@ -134,7 +142,9 @@
       // Existing pages, do not add tabs repeatedly
       const tabHasExits = this.tabList.some((tab, index) => {
         updateIndex = index;
-        return (tab.fullPath || tab.path) === (fullPath || path);
+        return (
+          decodeURIComponent(tab.fullPath || tab.path) === decodeURIComponent(fullPath || path)
+        );
       });
 
       // If the tab already exists, perform the update operation
@@ -308,7 +318,7 @@
 
       for (const path of closePathList) {
         if (path !== route.fullPath) {
-          const closeItem = this.tabList.find((item) => item.path === path);
+          const closeItem = this.tabList.find((item) => item.fullPath === path);
           if (!closeItem) {
             continue;
           }
@@ -320,6 +330,7 @@
       }
       this.bulkCloseTabs(pathList);
       this.updateCacheTab();
+      Persistent.setLocal(MULTIPLE_TABS_KEY, this.tabList, true);
       handleGotoPage(router);
     },
 

--
Gitblit v1.9.3