loulijun2021
2023-01-03 318e9516c17d36a3bb5fbaa015c4f25222fee514
src/layout/components/Settings/index.vue
@@ -26,9 +26,41 @@
          style="display: block"
          :active-color="$store.state.settings.theme"
          inactive-color="#ccc"
          active-text="横屏"
          inactive-text="竖屏"
          active-text="横向"
          inactive-text="竖向"
          @change="sidebar.opened=true"
        />
      </div>
      <div class="drawer-item" style="display: flex;justify-content: space-between">
        <span>左侧颜色</span>
        <el-switch
          v-model="$store.state.settings.leftBackgroundColorValue"
          style="display: block"
          active-color="#304156"
          :disabled="$store.state.settings.menuIsHorizontal"
          inactive-color="#ccc"
          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"
          @change="animationTypeChange"
        >
          <el-option
            v-for="item in animationTypeArr"
            :key="item.value"
            :label="item.label"
            :value="item.value"
          />
        </el-select>
      </div>
      <!--      此三个功能暂时不用-->
@@ -53,13 +85,28 @@
<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' }
      ]
    }
  },
  computed: {
    ...mapGetters([
      'sidebar'
    ]),
    fixedHeader: {
      get() {
        return this.$store.state.settings.fixedHeader
@@ -94,18 +141,26 @@
      }
    }
  },
  methods: {
    themeChange(val) {
      this.$store.dispatch('settings/changeSetting', {
        key: 'theme',
        value: val
      })
    },
    animationTypeChange(val) {
      console.log(val, 1)
    }
  }
}
</script>
<style lang="scss" scoped>
::v-deep .animationTypePopperClass {
  left: auto !important;
}
.drawer-container {
  padding: 24px;
  font-size: 14px;