doum
2025-09-26 9057e04efad1b7d61c77a72e5c37a504d0aee935
admin/src/layouts/AppLayout.vue
@@ -1,52 +1,31 @@
<template>
  <div>
    <CommonHeader />
    <!-- <div style="height:10px; background: #fff"></div> -->
    <el-container class="app-layout">
      <el-aside :class="{collapse:menuData.collapse}">
        <Menu/>
      </el-aside>
      <el-main>
        <header style="background-color: #ffffff;">
          <AppHeader/>
        </header>
        <main ref="containerS">
          <transition name="fade">
<!--            <keep-alive>-->
              <router-view></router-view>
<!--            </keep-alive>-->
          </transition>
        </main>
      </el-main>
    </el-container>
  </div>
  <el-container class="app-layout">
    <el-aside :class="{collapse:menuData.collapse}">
      <Menu/>
    </el-aside>
    <el-main>
      <header>
        <AppHeader/>
      </header>
      <main>
        <transition name="fade">
          <router-view></router-view>
        </transition>
      </main>
    </el-main>
  </el-container>
</template>
<script>
import { mapState } from 'vuex'
import Header from '@/components/common/Header'
import CommonHeader from '@/components/common/CommonHeader'
import Menu from '@/components/common/Menu'
export default {
  name: 'DefaultLayout',
  components: { AppHeader: Header, Menu, CommonHeader },
  data() {
    return {
      isFinishData: false,
        orgBackground: ''
    }
  },
  components: { AppHeader: Header, Menu },
  computed: {
    ...mapState(['menuData', 'userInfo'])
  },
    mounted() {
    },
    methods: {
  },
    ...mapState(['menuData'])
  }
}
</script>
@@ -55,27 +34,17 @@
.el-container {
  background: #F7F8F9;
  height: 100%;
  display: flex;
  // overflow: hidden;
  /*overflow: scroll;*/
  overflow: hidden;
  // 左边菜单
  .el-aside {
    width: $menu-width !important;
    flex-shrink: 0;
    // height: 100%;
    // height: 900px;
    height: calc(100vh - 80px);
    overflow-y: scroll;
    overflow-x: hidden;
    background: #fff;
    color: #333333;
    height: 100%;
    overflow-y: auto;
    background: $primary-color;
    color: #fff;
    transition: width ease .3s;
    scrollbar-width: none; /* firefox */
    -ms-overflow-style: none; /* IE 10+ */
    &::-webkit-scrollbar {
      display: none; /* Chrome Safari */
    }
    &.collapse {
      width: 64px !important;
    }
@@ -83,27 +52,20 @@
  // 右边内容
  .el-main {
    width: 100%;
    // height: 100%;
    height: calc(100vh - 90px);
    height: 100%;
    padding: 0;
    position: relative;
    display: flex;
    flex-direction: column;
    overflow-y: scroll;
    overflow-x: hidden;
    scrollbar-width: none; /* firefox */
    -ms-overflow-style: none; /* IE 10+ */
    &::-webkit-scrollbar {
      display: none; /* Chrome Safari */
    }
    overflow: hidden;
    overflow-y: hidden !important;
    & > header {
      height: 48px;
      height: $header-height;
      flex-shrink: 0;
    }
    & > main {
      height: 100%;
        box-sizing: border-box;
      overflow-y: auto;
    /*  overflow-y: auto;*/
    }
  }
}
@@ -119,34 +81,5 @@
  opacity: 0;
  transition: all .5s;
  position: absolute;
}
.comfirm {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 1000;
  .container {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    background-color: #fff;
    width: 500px;
    height: 120px;
    padding: 30px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    .complete {
      display: flex;
      flex-direction: row-reverse;
    }
  }
}
</style>