From c8df1f5e1f1ba33caad650cbbbd4045e8f5948a3 Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期二, 13 四月 2021 09:47:28 +0800
Subject: [PATCH] 布局设置支持保存&重置配置

---
 ruoyi-ui/src/layout/components/Settings/index.vue |   43 +++++++++++++++++++++++++++++++++++++++----
 1 files changed, 39 insertions(+), 4 deletions(-)

diff --git a/ruoyi-ui/src/layout/components/Settings/index.vue b/ruoyi-ui/src/layout/components/Settings/index.vue
index 7e36d48..eba8139 100644
--- a/ruoyi-ui/src/layout/components/Settings/index.vue
+++ b/ruoyi-ui/src/layout/components/Settings/index.vue
@@ -62,6 +62,10 @@
         <el-switch v-model="sidebarLogo" class="drawer-switch" />
       </div>
 
+      <el-divider/>
+
+      <el-button size="small" type="primary" plain icon="el-icon-document-add" @click="saveSetting">保存配置</el-button>
+      <el-button size="small" plain icon="el-icon-refresh" @click="resetSetting">重置配置</el-button>
     </div>
   </div>
 </template>
@@ -72,14 +76,13 @@
 export default {
   components: { ThemePicker },
   data() {
-    return {}
+    return {
+      sideTheme: this.$store.state.settings.sideTheme
+    };
   },
   computed: {
     theme() {
       return this.$store.state.settings.theme
-    },
-    sideTheme() {
-      return this.$store.state.settings.sideTheme
     },
     fixedHeader: {
       get() {
@@ -141,6 +144,38 @@
         key: 'sideTheme',
         value: val
       })
+      this.sideTheme = val;
+    },
+    saveSetting() {
+      const loading = this.$loading({
+        lock: true,
+        fullscreen: false,
+        text: "正在保存到本地,请稍后...",
+        spinner: "el-icon-loading",
+        background: "rgba(0, 0, 0, 0.7)"
+      });
+      localStorage.setItem(
+        "layout-setting",
+        `{
+            "topNav":${this.topNav},
+            "tagsView":${this.tagsView},
+            "fixedHeader":${this.fixedHeader},
+            "sidebarLogo":${this.sidebarLogo},
+            "sideTheme":"${this.sideTheme}"
+          }`
+      );
+      setTimeout(loading.close(), 1000)
+    },
+    resetSetting() {
+      this.$loading({
+        lock: true,
+        fullscreen: false,
+        text: "正在清除设置缓存并刷新,请稍后...",
+        spinner: "el-icon-loading",
+        background: "rgba(0, 0, 0, 0.7)"
+      });
+      localStorage.removeItem("layout-setting")
+      setTimeout("window.location.reload()", 1000)
     }
   }
 }

--
Gitblit v1.9.2