|
@@ -11,7 +11,7 @@ import { storageLocal, isAllEmpty } from "@pureadmin/utils";
|
|
import { findRouteByPath, getParentPaths } from "@/router/utils";
|
|
import { findRouteByPath, getParentPaths } from "@/router/utils";
|
|
import { usePermissionStoreHook } from "@/store/modules/permission";
|
|
import { usePermissionStoreHook } from "@/store/modules/permission";
|
|
import { ref, computed, watch, onMounted, onBeforeUnmount } from "vue";
|
|
import { ref, computed, watch, onMounted, onBeforeUnmount } from "vue";
|
|
-
|
|
+import bg from "@/assets/login/one/bg.png";
|
|
const route = useRoute();
|
|
const route = useRoute();
|
|
const isShow = ref(false);
|
|
const isShow = ref(false);
|
|
const showLogo = ref(
|
|
const showLogo = ref(
|
|
@@ -86,56 +86,80 @@ onBeforeUnmount(() => {
|
|
</script>
|
|
</script>
|
|
|
|
|
|
<template>
|
|
<template>
|
|
- <div
|
|
+ <div>
|
|
- v-loading="loading"
|
|
+ <div
|
|
- :class="['sidebar-container', showLogo ? 'has-logo' : 'no-logo']"
|
|
+ v-loading="loading"
|
|
- @mouseenter.prevent="isShow = true"
|
|
+ :class="['sidebar-container', showLogo ? 'has-logo' : 'no-logo']"
|
|
- @mouseleave.prevent="isShow = false"
|
|
+ @mouseenter.prevent="isShow = true"
|
|
- >
|
|
+ @mouseleave.prevent="isShow = false"
|
|
- <Logo v-if="showLogo" :collapse="isCollapse" />
|
|
|
|
- <el-scrollbar
|
|
|
|
- wrap-class="scrollbar-wrapper"
|
|
|
|
- :class="[device === 'mobile' ? 'mobile' : 'pc']"
|
|
|
|
- style="background-color: #d5e8fb"
|
|
|
|
>
|
|
>
|
|
- <el-menu
|
|
+ <Logo v-if="showLogo" :collapse="isCollapse" />
|
|
- router
|
|
+ <el-scrollbar
|
|
- unique-opened
|
|
+ wrap-class="scrollbar-wrapper"
|
|
- mode="vertical"
|
|
+ :class="[device === 'mobile' ? 'mobile' : 'pc']"
|
|
- popper-class="pure-scrollbar"
|
|
+ class="bottomRR"
|
|
- class="outer-most select-none"
|
|
+ style="background-color: #d5e8fb"
|
|
- :collapse="isCollapse"
|
|
|
|
- :collapse-transition="false"
|
|
|
|
- :popper-effect="tooltipEffect"
|
|
|
|
- :default-active="defaultActive"
|
|
|
|
>
|
|
>
|
|
- <sidebar-item
|
|
+ <el-menu
|
|
- v-for="routes in menuData"
|
|
+ router
|
|
- :key="routes.path"
|
|
+ unique-opened
|
|
- :item="routes"
|
|
+ mode="vertical"
|
|
- :base-path="routes.path"
|
|
+ popper-class="pure-scrollbar"
|
|
class="outer-most select-none"
|
|
class="outer-most select-none"
|
|
|
|
+ :collapse="isCollapse"
|
|
|
|
+ :collapse-transition="false"
|
|
|
|
+ :popper-effect="tooltipEffect"
|
|
|
|
+ :default-active="defaultActive"
|
|
|
|
+ >
|
|
|
|
+ <sidebar-item
|
|
|
|
+ v-for="routes in menuData"
|
|
|
|
+ :key="routes.path"
|
|
|
|
+ :item="routes"
|
|
|
|
+ :base-path="routes.path"
|
|
|
|
+ class="outer-most select-none"
|
|
|
|
+ />
|
|
|
|
+ </el-menu>
|
|
|
|
+ </el-scrollbar>
|
|
|
|
+ <div v-if="route.name != 'Welcome' && route.name != 'evaluateNewAdd'">
|
|
|
|
+ <CenterCollapse
|
|
|
|
+ v-if="device !== 'mobile' && (isShow || isCollapse)"
|
|
|
|
+ :is-active="pureApp.sidebar.opened"
|
|
|
|
+ @toggleClick="toggleSideBar"
|
|
/>
|
|
/>
|
|
- </el-menu>
|
|
+ </div>
|
|
- </el-scrollbar>
|
|
+
|
|
- <div v-if="route.name != 'Welcome' && route.name != 'evaluateNewAdd'">
|
|
+ <LeftCollapse
|
|
- <CenterCollapse
|
|
+ v-if="device !== 'mobile'"
|
|
- v-if="device !== 'mobile' && (isShow || isCollapse)"
|
|
|
|
:is-active="pureApp.sidebar.opened"
|
|
:is-active="pureApp.sidebar.opened"
|
|
|
|
+ style="background-color: #d5e8fb"
|
|
@toggleClick="toggleSideBar"
|
|
@toggleClick="toggleSideBar"
|
|
/>
|
|
/>
|
|
</div>
|
|
</div>
|
|
- <LeftCollapse
|
|
+ <img
|
|
- v-if="device !== 'mobile'"
|
|
+ v-if="route.name == 'Welcome'"
|
|
- :is-active="pureApp.sidebar.opened"
|
|
+ class="bg absolute bottom-0 right-0"
|
|
- style="background-color: #d5e8fb"
|
|
+ :src="bg"
|
|
- @toggleClick="toggleSideBar"
|
|
+ alt=""
|
|
/>
|
|
/>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<style scoped>
|
|
<style scoped>
|
|
|
|
+.bg {
|
|
|
|
+ /* border: 1px solid red; */
|
|
|
|
+ left: 0;
|
|
|
|
+ z-index: 9999;
|
|
|
|
+ width: 500px !important;
|
|
|
|
+ height: 500px;
|
|
|
|
+}
|
|
|
|
+
|
|
:deep(.el-loading-mask) {
|
|
:deep(.el-loading-mask) {
|
|
opacity: 0.45;
|
|
opacity: 0.45;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+.bottomRR {
|
|
|
|
+ border-top-left-radius: 15px !important;
|
|
|
|
+
|
|
|
|
+ /* border: 1px solid red; */
|
|
|
|
+}
|
|
</style>
|
|
</style>
|