Ben Lin
2024-11-12 a42c6f16bbb177dfcc754d53d925afddead38eba
src/store/modules/multipleTab.ts
@@ -14,6 +14,8 @@
import projectSetting from '@/settings/projectSetting';
import { useUserStore } from '@/store/modules/user';
import { useProdRouteStore } from './prodRoute';
import { isNullOrUnDef } from '/@/utils/is';
export interface MultipleTabState {
  cacheTabList: Set<string>;
@@ -85,6 +87,17 @@
      const { currentRoute } = router;
      const route = unref(currentRoute);
      const name = route.name;
      const useProdRoute = useProdRouteStore();
      useProdRoute.setChangeToCPPage(false);
      if (!isNullOrUnDef(route.params.id)) {
        // 从sessionStorage中读取参数并转换回对象
        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 +147,9 @@
      // Existing pages, do not add tabs repeatedly
      const tabHasExits = this.tabList.some((tab, index) => {
        updateIndex = index;
        return decodeURIComponent(tab.fullPath || tab.path) === decodeURIComponent(fullPath || path);
        return (
          decodeURIComponent(tab.fullPath || tab.path) === decodeURIComponent(fullPath || path)
        );
      });
      // If the tab already exists, perform the update operation