From bf7eaf4ae632269610f10631dd18d453a3571b99 Mon Sep 17 00:00:00 2001
From: wang_fan_w <2547096351@qq.com>
Date: Sat, 4 May 2024 23:36:38 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E4=B8=BB=E9=A2=98=E8=AE=BE=E7=BD=AE?=
=?UTF-8?q?=E9=A1=B5=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/system-settings/index.vue | 36 ++--
.../components/theme-settings/index.vue | 176 ++++++++++++++++++
src/layout/components/Header/index.vue | 10 +-
src/layout/components/Main/index.vue | 45 +++--
src/layout/components/Menu/index.vue | 5 +-
src/layout/index.vue | 15 +-
src/layout/layout-head/index.vue | 7 +
src/router/route.ts | 2 +-
src/store/modules/theme-config.ts | 30 ++-
9 files changed, 288 insertions(+), 38 deletions(-)
create mode 100644 src/layout/components/Header/components/theme-settings/index.vue
create mode 100644 src/layout/layout-head/index.vue
diff --git a/src/layout/components/Header/components/system-settings/index.vue b/src/layout/components/Header/components/system-settings/index.vue
index f659c72..dbbbcdd 100644
--- a/src/layout/components/Header/components/system-settings/index.vue
+++ b/src/layout/components/Header/components/system-settings/index.vue
@@ -1,5 +1,5 @@
-
+
系统设置
+
面包屑
@@ -25,23 +29,23 @@
水印设置
@@ -55,7 +59,8 @@ import { useThemeConfig } from "@/store/modules/theme-config";
import { currentlyRoute } from "@/router/route-output";
const themeStore = useThemeConfig();
const routerStore = useRoutesListStore();
-const { collapsed, isBreadcrumb, isTabs, isFooter } = storeToRefs(themeStore);
+const { collapsed, isAccordion, isBreadcrumb, isTabs, isFooter, watermark, watermarkStyle, watermarkRotate, watermarkGap } =
+ storeToRefs(themeStore);
const { tabsList, cacheRoutes } = storeToRefs(routerStore);
const route = useRoute();
const props = defineProps({
@@ -64,9 +69,17 @@ const props = defineProps({
default: false
}
});
-// 是否关闭tabs栏
-// 如果关闭,那么所有tabs全部取消、所有页面缓存全部取消
-// 如果开启,那么添加当前路由到tabs
+
+const gapInfo = ref(watermarkGap.value);
+const onWatermarkGap = (e: number) => {
+ watermarkGap.value = watermarkGap.value.map(() => e);
+};
+
+/*
+ 是否关闭tabs栏
+ 如果关闭,那么所有tabs全部取消、所有页面缓存全部取消
+ 如果开启,那么添加当前路由到tabs
+*/
const tabsChange = (e: Boolean) => {
if (!e) {
tabsList.value = [];
@@ -76,9 +89,6 @@ const tabsChange = (e: Boolean) => {
}
};
const emits = defineEmits(["systemCancel"]);
-const handleOk = () => {
- emits("systemCancel");
-};
const handleCancel = () => {
emits("systemCancel");
};
diff --git a/src/layout/components/Header/components/theme-settings/index.vue b/src/layout/components/Header/components/theme-settings/index.vue
new file mode 100644
index 0000000..15c41a5
--- /dev/null
+++ b/src/layout/components/Header/components/theme-settings/index.vue
@@ -0,0 +1,176 @@
+
+
+ 主题设置
+
+
+
+
+
+
+
diff --git a/src/layout/components/Header/index.vue b/src/layout/components/Header/index.vue
index a470c9c..70cea70 100644
--- a/src/layout/components/Header/index.vue
+++ b/src/layout/components/Header/index.vue
@@ -63,7 +63,7 @@
-
+
@@ -112,12 +112,14 @@
+
diff --git a/src/router/route.ts b/src/router/route.ts
index 5b477dd..0135b74 100644
--- a/src/router/route.ts
+++ b/src/router/route.ts
@@ -215,7 +215,7 @@ export const dynamicRoutes: RouteRecordRaw[] = [
title: "about-project",
hide: false,
keepAlive: true,
- affix: true,
+ affix: false,
link: "",
iframe: false,
roles: ["admin", "common"],
diff --git a/src/store/modules/theme-config.ts b/src/store/modules/theme-config.ts
index 31b5926..ac94d21 100644
--- a/src/store/modules/theme-config.ts
+++ b/src/store/modules/theme-config.ts
@@ -1,5 +1,22 @@
import { defineStore } from "pinia";
import persistedstateConfig from "@/store/config/index";
+
+interface ThemeConfig {
+ collapsed: Boolean;
+ refreshPage: Boolean;
+ language: string;
+ darkMode: Boolean;
+ isAccordion: Boolean;
+ isBreadcrumb: Boolean;
+ isTabs: Boolean;
+ isFooter: Boolean;
+ watermark: string;
+ watermarkStyle: any;
+ watermarkRotate: number;
+ watermarkGap: Array;
+ layoutType: string;
+}
+
/**
* 全局配置
* @methods setCollapsed 设置菜单折叠
@@ -7,14 +24,23 @@ import persistedstateConfig from "@/store/config/index";
* @methods setLanguage 设置语言
*/
export const useThemeConfig = defineStore("theme-config", {
- state: (): any => ({
+ state: (): ThemeConfig => ({
collapsed: false, // 是否折叠菜单
refreshPage: true, // 刷新页面
language: "zh-CN", // 系统语言
darkMode: false, // 黑暗模式
+ isAccordion: true, // 菜单手风琴
isBreadcrumb: true, // 面包屑渲染
isTabs: true, // 标签栏渲染
- isFooter: true // 页脚渲染
+ isFooter: true, // 页脚渲染
+ watermark: "dc admin", // 水印
+ watermarkStyle: {
+ fontSize: 12,
+ color: "rgba(0, 0, 0, 0.15)"
+ }, // 水印风格
+ watermarkRotate: 330, // 水印角度
+ watermarkGap: [100, 100], // 水印间隙
+ layoutType: "layoutDefaults" // 布局模式:layoutDefaults、layoutHead、layoutMixing
}),
actions: {
// 折叠菜单