mirror of
https://github.com/pure-admin/vue-pure-admin.git
synced 2025-06-09 01:47:20 +08:00
Merge branch 'main' into gitee
This commit is contained in:
commit
6b2b5dee78
@ -193,13 +193,13 @@ function deleteDynamicTag(obj: any, current: any, tag?: string) {
|
|||||||
): void => {
|
): void => {
|
||||||
if (other) {
|
if (other) {
|
||||||
useMultiTagsStoreHook().handleTags("equal", [routerArrays[0], obj]);
|
useMultiTagsStoreHook().handleTags("equal", [routerArrays[0], obj]);
|
||||||
dynamicTagView();
|
|
||||||
} else {
|
} else {
|
||||||
delAliveRouteList = useMultiTagsStoreHook().handleTags("splice", "", {
|
delAliveRouteList = useMultiTagsStoreHook().handleTags("splice", "", {
|
||||||
startIndex,
|
startIndex,
|
||||||
length
|
length
|
||||||
}) as any;
|
}) as any;
|
||||||
}
|
}
|
||||||
|
dynamicTagView();
|
||||||
};
|
};
|
||||||
|
|
||||||
if (tag === "other") {
|
if (tag === "other") {
|
||||||
|
@ -12,10 +12,15 @@ import { tagsViewsType } from "../types";
|
|||||||
import { useEventListener } from "@vueuse/core";
|
import { useEventListener } from "@vueuse/core";
|
||||||
import { useRoute, useRouter } from "vue-router";
|
import { useRoute, useRouter } from "vue-router";
|
||||||
import { transformI18n, $t } from "@/plugins/i18n";
|
import { transformI18n, $t } from "@/plugins/i18n";
|
||||||
import { isEqual, isBoolean } from "@pureadmin/utils";
|
|
||||||
import { useSettingStoreHook } from "@/store/modules/settings";
|
import { useSettingStoreHook } from "@/store/modules/settings";
|
||||||
import { useMultiTagsStoreHook } from "@/store/modules/multiTags";
|
import { useMultiTagsStoreHook } from "@/store/modules/multiTags";
|
||||||
import { storageLocal, toggleClass, hasClass } from "@pureadmin/utils";
|
import {
|
||||||
|
isEqual,
|
||||||
|
isBoolean,
|
||||||
|
storageLocal,
|
||||||
|
toggleClass,
|
||||||
|
hasClass
|
||||||
|
} from "@pureadmin/utils";
|
||||||
|
|
||||||
import Fullscreen from "@iconify-icons/ri/fullscreen-fill";
|
import Fullscreen from "@iconify-icons/ri/fullscreen-fill";
|
||||||
import CloseAllTags from "@iconify-icons/ri/subtract-line";
|
import CloseAllTags from "@iconify-icons/ri/subtract-line";
|
||||||
|
@ -61,7 +61,7 @@ export const remainingPaths = Object.keys(remainingRouter).map(v => {
|
|||||||
|
|
||||||
/** 创建路由实例 */
|
/** 创建路由实例 */
|
||||||
export const router: Router = createRouter({
|
export const router: Router = createRouter({
|
||||||
history: getHistoryMode(),
|
history: getHistoryMode(import.meta.env.VITE_ROUTER_HISTORY),
|
||||||
routes: constantRoutes.concat(...(remainingRouter as any)),
|
routes: constantRoutes.concat(...(remainingRouter as any)),
|
||||||
strict: true,
|
strict: true,
|
||||||
scrollBehavior(to, from, savedPosition) {
|
scrollBehavior(to, from, savedPosition) {
|
||||||
|
@ -322,8 +322,7 @@ function addAsyncRoutes(arrRoutes: Array<RouteRecordRaw>) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** 获取路由历史模式 https://next.router.vuejs.org/zh/guide/essentials/history-mode.html */
|
/** 获取路由历史模式 https://next.router.vuejs.org/zh/guide/essentials/history-mode.html */
|
||||||
function getHistoryMode(): RouterHistory {
|
function getHistoryMode(routerHistory): RouterHistory {
|
||||||
const routerHistory = import.meta.env.VITE_ROUTER_HISTORY;
|
|
||||||
// len为1 代表只有历史模式 为2 代表历史模式中存在base参数 https://next.router.vuejs.org/zh/api/#%E5%8F%82%E6%95%B0-1
|
// len为1 代表只有历史模式 为2 代表历史模式中存在base参数 https://next.router.vuejs.org/zh/api/#%E5%8F%82%E6%95%B0-1
|
||||||
const historyMode = routerHistory.split(",");
|
const historyMode = routerHistory.split(",");
|
||||||
const leftMode = historyMode[0];
|
const leftMode = historyMode[0];
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
import { defineStore } from "pinia";
|
import { defineStore } from "pinia";
|
||||||
import { store } from "@/store";
|
import { store } from "@/store";
|
||||||
import { isEqual } from "@pureadmin/utils";
|
|
||||||
import { routerArrays } from "@/layout/types";
|
import { routerArrays } from "@/layout/types";
|
||||||
import { multiType, positionType } from "./types";
|
import { multiType, positionType } from "./types";
|
||||||
import { isUrl, storageLocal } from "@pureadmin/utils";
|
import { isEqual, isBoolean, isUrl, storageLocal } from "@pureadmin/utils";
|
||||||
|
|
||||||
export const useMultiTagsStore = defineStore({
|
export const useMultiTagsStore = defineStore({
|
||||||
id: "pure-multiTags",
|
id: "pure-multiTags",
|
||||||
@ -54,6 +53,9 @@ export const useMultiTagsStore = defineStore({
|
|||||||
if (isUrl(tagVal?.name)) return;
|
if (isUrl(tagVal?.name)) return;
|
||||||
// 如果title为空拒绝添加空信息到标签页
|
// 如果title为空拒绝添加空信息到标签页
|
||||||
if (tagVal?.meta?.title.length === 0) return;
|
if (tagVal?.meta?.title.length === 0) return;
|
||||||
|
// showLink:false 不添加到标签页
|
||||||
|
if (isBoolean(tagVal?.meta?.showLink) && !tagVal?.meta?.showLink)
|
||||||
|
return;
|
||||||
const tagPath = tagVal.path;
|
const tagPath = tagVal.path;
|
||||||
// 判断tag是否已存在
|
// 判断tag是否已存在
|
||||||
const tagHasExits = this.multiTags.some(tag => {
|
const tagHasExits = this.multiTags.some(tag => {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user