gaoluyang
2026-05-18 da57fbd8e7fa021614fb32502fb1520ea4e34e1e
src/layout/components/Settings/index.vue
@@ -71,6 +71,24 @@
        />
      </span>
    </div>
    <div class="drawer-item">
      <span>显示模式</span>
      <span class="comp-style">
        <el-select
          v-model="settingsStore.darkMode"
          placeholder="请选择"
          style="width: 130px"
          @change="darkModeChange"
        >
          <el-option
            v-for="item in darkModeOptions"
            :key="item.value"
            :label="item.label"
            :value="item.value"
          />
        </el-select>
      </span>
    </div>
    <el-divider />
    <h3 class="drawer-title">系统布局配置</h3>
@@ -139,7 +157,6 @@
const permissionStore = usePermissionStore();
const showSettings = ref(false);
const theme = ref(settingsStore.theme);
const sideTheme = ref(settingsStore.sideTheme);
const storeSettings = computed(() => settingsStore);
const predefineColors = ref([
  "#002fa7",
@@ -151,6 +168,11 @@
  "#003153",
  "#8F4B28",
  "#4C0009",
]);
const darkModeOptions = ref([
  { label: "跟随系统", value: "auto" },
  { label: "浅色", value: "light" },
  { label: "深色", value: "dark" },
]);
/** 是否需要topnav */
@@ -166,10 +188,11 @@
  handleThemeStyle(val);
}
function handleTheme(val) {
  settingsStore.sideTheme = val;
  sideTheme.value = val;
function darkModeChange(val) {
  settingsStore.setDarkMode(val);
}
function saveSetting() {
  proxy.$modal.loading("正在保存到本地,请稍候...");
@@ -179,8 +202,8 @@
    fixedHeader: storeSettings.value.fixedHeader,
    sidebarLogo: storeSettings.value.sidebarLogo,
    dynamicTitle: storeSettings.value.dynamicTitle,
    sideTheme: storeSettings.value.sideTheme,
    theme: storeSettings.value.theme,
    darkMode: storeSettings.value.darkMode,
  };
  localStorage.setItem("layout-setting", JSON.stringify(layoutSetting));
  setTimeout(proxy.$modal.closeLoading(), 1000);