|
@@ -1,9 +1,13 @@
|
|
|
<template>
|
|
|
<div :class="classObj" class="app-wrapper">
|
|
|
- <div v-if="device==='mobile'&&sidebar.opened" class="drawer-bg" @click="handleClickOutside" />
|
|
|
+ <!-- <div
|
|
|
+ v-if="device === 'mobile' && sidebar.opened"
|
|
|
+ class="drawer-bg"
|
|
|
+ @click="handleClickOutside"
|
|
|
+ /> -->
|
|
|
<sidebar class="sidebar-container" />
|
|
|
<div class="main-container">
|
|
|
- <div :class="{'fixed-header':fixedHeader}">
|
|
|
+ <div :class="{ 'fixed-header': fixedHeader }">
|
|
|
<navbar />
|
|
|
</div>
|
|
|
<app-main />
|
|
@@ -12,11 +16,11 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { Navbar, Sidebar, AppMain } from './components'
|
|
|
-import ResizeMixin from './mixin/ResizeHandler'
|
|
|
+import { Navbar, Sidebar, AppMain } from "./components";
|
|
|
+import ResizeMixin from "./mixin/ResizeHandler";
|
|
|
|
|
|
export default {
|
|
|
- name: 'Layout',
|
|
|
+ name: "Layout",
|
|
|
components: {
|
|
|
Navbar,
|
|
|
Sidebar,
|
|
@@ -25,69 +29,69 @@ export default {
|
|
|
mixins: [ResizeMixin],
|
|
|
computed: {
|
|
|
sidebar() {
|
|
|
- return this.$store.state.app.sidebar
|
|
|
+ return this.$store.state.app.sidebar;
|
|
|
},
|
|
|
device() {
|
|
|
- return this.$store.state.app.device
|
|
|
+ return this.$store.state.app.device;
|
|
|
},
|
|
|
fixedHeader() {
|
|
|
- return this.$store.state.settings.fixedHeader
|
|
|
+ return this.$store.state.settings.fixedHeader;
|
|
|
},
|
|
|
classObj() {
|
|
|
return {
|
|
|
hideSidebar: !this.sidebar.opened,
|
|
|
openSidebar: this.sidebar.opened,
|
|
|
withoutAnimation: this.sidebar.withoutAnimation,
|
|
|
- mobile: this.device === 'mobile'
|
|
|
- }
|
|
|
+ mobile: this.device === "mobile"
|
|
|
+ };
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
handleClickOutside() {
|
|
|
- this.$store.dispatch('app/closeSideBar', { withoutAnimation: false })
|
|
|
+ this.$store.dispatch("app/closeSideBar", { withoutAnimation: false });
|
|
|
}
|
|
|
}
|
|
|
-}
|
|
|
+};
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
- @import "~@/styles/mixin.scss";
|
|
|
- @import "~@/styles/variables.scss";
|
|
|
+@import "~@/styles/mixin.scss";
|
|
|
+@import "~@/styles/variables.scss";
|
|
|
|
|
|
- .app-wrapper {
|
|
|
- @include clearfix;
|
|
|
- position: relative;
|
|
|
- height: 100%;
|
|
|
- width: 100%;
|
|
|
- &.mobile.openSidebar{
|
|
|
- position: fixed;
|
|
|
- top: 0;
|
|
|
- }
|
|
|
- }
|
|
|
- .drawer-bg {
|
|
|
- background: #000;
|
|
|
- opacity: 0.3;
|
|
|
- width: 100%;
|
|
|
- top: 0;
|
|
|
- height: 100%;
|
|
|
- position: absolute;
|
|
|
- z-index: 999;
|
|
|
- }
|
|
|
-
|
|
|
- .fixed-header {
|
|
|
+.app-wrapper {
|
|
|
+ @include clearfix;
|
|
|
+ position: relative;
|
|
|
+ height: 100%;
|
|
|
+ width: 100%;
|
|
|
+ &.mobile.openSidebar {
|
|
|
position: fixed;
|
|
|
top: 0;
|
|
|
- right: 0;
|
|
|
- z-index: 9;
|
|
|
- width: calc(100% - #{$sideBarWidth});
|
|
|
- transition: width 0.28s;
|
|
|
}
|
|
|
+}
|
|
|
+.drawer-bg {
|
|
|
+ background: #000;
|
|
|
+ opacity: 0.3;
|
|
|
+ width: 100%;
|
|
|
+ top: 0;
|
|
|
+ height: 100%;
|
|
|
+ position: absolute;
|
|
|
+ z-index: 999;
|
|
|
+}
|
|
|
|
|
|
- .hideSidebar .fixed-header {
|
|
|
- width: calc(100% - 54px)
|
|
|
- }
|
|
|
+.fixed-header {
|
|
|
+ position: fixed;
|
|
|
+ top: 0;
|
|
|
+ right: 0;
|
|
|
+ z-index: 9;
|
|
|
+ width: calc(100% - #{$sideBarWidth});
|
|
|
+ transition: width 0.28s;
|
|
|
+}
|
|
|
|
|
|
- .mobile .fixed-header {
|
|
|
- width: 100%;
|
|
|
- }
|
|
|
+.hideSidebar .fixed-header {
|
|
|
+ width: calc(100% - 54px);
|
|
|
+}
|
|
|
+
|
|
|
+.mobile .fixed-header {
|
|
|
+ width: 100%;
|
|
|
+}
|
|
|
</style>
|