fuyongxin
2026-06-03 00e0dbbf98347b1e47a7e0aedd41baa61f7567ed
ruoyi-ui/src/layout/components/Settings/index.vue
@@ -61,13 +61,26 @@
        <h3 class="drawer-title">系统布局配置</h3>
        <div class="drawer-item">
          <span>开启 Tags-Views</span>
          <span>开启页签</span>
          <el-switch v-model="tagsView" class="drawer-switch" />
        </div>
        <div class="drawer-item">
          <span>持久化标签页</span>
          <el-switch v-model="tagsViewPersist" :disabled="!tagsView" class="drawer-switch" />
        </div>
        <div class="drawer-item">
          <span>显示页签图标</span>
          <el-switch v-model="tagsIcon" :disabled="!tagsView" class="drawer-switch" />
        </div>
        <div class="drawer-item">
          <span>标签页样式</span>
          <el-radio-group v-model="tagsViewStyle" :disabled="!tagsView" size="mini" class="drawer-switch">
            <el-radio-button label="card">卡片</el-radio-button>
            <el-radio-button label="chrome">谷歌</el-radio-button>
          </el-radio-group>
        </div>
        <div class="drawer-item">
@@ -125,6 +138,17 @@
        })
      }
    },
    tagsViewPersist: {
      get() {
        return this.$store.state.settings.tagsViewPersist
      },
      set(val) {
        this.$store.dispatch('settings/changeSetting', {
          key: 'tagsViewPersist',
          value: val
        })
      }
    },
    tagsView: {
      get() {
        return this.$store.state.settings.tagsView
@@ -143,6 +167,17 @@
      set(val) {
        this.$store.dispatch('settings/changeSetting', {
          key: 'tagsIcon',
          value: val
        })
      }
    },
    tagsViewStyle: {
      get() {
        return this.$store.state.settings.tagsViewStyle
      },
      set(val) {
        this.$store.dispatch('settings/changeSetting', {
          key: 'tagsViewStyle',
          value: val
        })
      }
@@ -231,12 +266,17 @@
    },
    saveSetting() {
      this.$modal.loading("正在保存到本地,请稍候...")
      if (!this.tagsViewPersist) {
        this.$cache.local.remove('tags-view-visited')
      }
      this.$cache.local.set(
        "layout-setting",
        `{
            "navType":${this.navType},
            "tagsView":${this.tagsView},
            "tagsIcon":${this.tagsIcon},
            "tagsViewStyle":"${this.tagsViewStyle}",
            "tagsViewPersist":${this.tagsViewPersist},
            "fixedHeader":${this.fixedHeader},
            "sidebarLogo":${this.sidebarLogo},
            "dynamicTitle":${this.dynamicTitle},
@@ -249,6 +289,7 @@
    },
    resetSetting() {
      this.$modal.loading("正在清除设置缓存并刷新,请稍候...")
      this.$cache.local.remove('tags-view-visited')
      this.$cache.local.remove("layout-setting")
      setTimeout("window.location.reload()", 1000)
    }