loulijun2021
2023-05-20 d1c1f6b4edcb4fc33314802cc66e72e2743c0eed
src/layout/components/Settings/index.vue
@@ -1,7 +1,7 @@
<template>
  <div class="drawer-container">
    <div>
      <h3 class="drawer-title">项目配置</h3>
      <h3 class="drawer-title">系统配置</h3>
      <div class="drawer-item">
        <span>主题颜色</span>
@@ -28,6 +28,7 @@
          inactive-color="#ccc"
          active-text="横向"
          inactive-text="竖向"
          @change="sidebar.opened=true"
        />
      </div>
      <div class="drawer-item" style="display: flex;justify-content: space-between">
@@ -41,6 +42,24 @@
          active-text="深色"
          inactive-text="浅色"
        />
      </div>
      <div class="drawer-item" style="display: flex;justify-content: space-between">
        <span>动画类型</span>
        <el-select
          v-model="$store.state.settings.animationType"
          :popper-append-to-body="false"
          popper-class="animationTypePopperClass"
          style="width: 120px;"
          placeholder="请选择"
          size="mini"
        >
          <el-option
            v-for="item in animationTypeArr"
            :key="item.value"
            :label="item.label"
            :value="item.value"
          />
        </el-select>
      </div>
      <!--      此三个功能暂时不用-->
@@ -65,13 +84,33 @@
<script>
import ThemePicker from '@/components/ThemePicker'
import { mapGetters } from 'vuex'
export default {
  components: { ThemePicker },
  data() {
    return {}
    return {
      animationTypeArr: [
        { label: '默认类型', value: 'fade-transform' },
        { label: '淡入', value: 'el-fade-in-linear' },
        { label: '淡出', value: 'el-fade-in' },
        { label: '中间缩放', value: 'el-zoom-in-center' },
        { label: '顶部缩放', value: 'el-zoom-in-top' },
        { label: '底部缩放', value: 'el-zoom-in-bottom' },
        { label: '展开折叠', value: 'el-collapse-transition' },
        { label: '无动画', value: 'none' }
      ]
    }
  },
  mounted() {
    if (this.$store.state.settings.menuIsHorizontal) {
      this.sidebar.opened = true
    }
  },
  computed: {
    ...mapGetters([
      'sidebar'
    ]),
    fixedHeader: {
      get() {
        return this.$store.state.settings.fixedHeader
@@ -106,6 +145,7 @@
      }
    }
  },
  methods: {
    themeChange(val) {
      this.$store.dispatch('settings/changeSetting', {
@@ -118,6 +158,10 @@
</script>
<style lang="scss" scoped>
::v-deep .animationTypePopperClass {
  left: auto !important;
}
.drawer-container {
  padding: 24px;
  font-size: 14px;