From 3a521043130335b438c59ba925b835afc286d377 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期四, 01 六月 2023 17:31:16 +0800
Subject: [PATCH] 1.生产入库实现65%
---
src/layout/components/Sidebar/index.vue | 191 +++++++++++++++++++++++++++--------------------
1 files changed, 109 insertions(+), 82 deletions(-)
diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue
index 6674620..99e2f7e 100644
--- a/src/layout/components/Sidebar/index.vue
+++ b/src/layout/components/Sidebar/index.vue
@@ -2,31 +2,49 @@
<div :class="{'has-logo':showLogo}">
<logo v-if="showLogo" :collapse="isCollapse" />
- <el-scrollbar wrap-class="scrollbar-wrapper" style="margin-top:56px;height: 85%">
+
+ <div
+ v-if="$store.state.app.sidebar.opened&&!$store.state.settings.menuIsHorizontal"
+ :class="{'leftBackgroundColorValue':!$store.state.settings.leftBackgroundColorValue,
+ 'leftBackgroundLogo':!$store.state.settings.leftBackgroundColorValue}"
+ class="layoutLogo"
+ />
+
+ <el-scrollbar wrap-class="scrollbar-wrapper" class="scrollbarWrapperClass">
<el-menu
+ v-if="!$store.state.settings.menuIsHorizontal"
:default-active="activeMenu"
:collapse="isCollapse"
- :background-color="variables.menuBg"
- :text-color="variables.menuText"
- :unique-opened="false"
+ :background-color="!$store.state.settings.leftBackgroundColorValue?'#f8f8fa':variables.menuBg"
+ :text-color="!$store.state.settings.leftBackgroundColorValue?`rgb(48, 65, 86,0.8)`:variables.menuText"
:active-text-color="variables.menuActiveText"
:collapse-transition="false"
+ :unique-opened="false"
mode="vertical"
>
+ <!-- <sidebar-item-->
+ <!-- v-for="route in routes"-->
+ <!-- :key="route.path"-->
+ <!-- class="el-scrollbar-menu"-->
+ <!-- :item="route"-->
+ <!-- :base-path="route.path"-->
+ <!-- />-->
+
<sidebar-item
- v-for="route in routes"
+ v-for="route in permission_routes"
:key="route.path"
- class="el-scrollbar-menu"
:item="route"
:base-path="route.path"
/>
- <!-- <sidebar-item v-for="route in permission_routes" :key="route.path" :item="route" :base-path="route.path" />-->
</el-menu>
</el-scrollbar>
- <div style="position: absolute;bottom: 20px;left: 30px;">
+ <div v-if="!$store.state.settings.menuIsHorizontal" style="position: absolute;bottom: 20px;left: 30px;">
<div>
- <el-button type="text">鏂板嚡杩埗閫燰1.0.01</el-button>
+ <el-button v-if="$store.state.app.sidebar.opened" type="text" style="font-size: 14px;cursor: pointer">
+ 鏂板嚡杩埗閫燰1.5.31
+ </el-button>
+ <!-- <el-button type="text"><a href="http://www.ykxkd.com/" target="_blank">鏂板嚡杩埗閫燰1.0.01</a></el-button>-->
</div>
</div>
@@ -39,6 +57,7 @@
import SidebarItem from './SidebarItem'
import variables from '@/styles/variables.scss'
import { LoginMenu } from '@/api/user'
+import { removeCookie, setCookie } from '@/utils/auth'
export default {
components: { SidebarItem, Logo },
@@ -47,74 +66,49 @@
routers: []
}
},
- async created() {
- const { data: res } = await LoginMenu()
- this.routers = res
- this.routers.unshift({ code: '1000', name: '绯荤粺璁剧疆' })
- },
computed: {
...mapGetters([
'permission_routes',
'sidebar'
]),
routes() {
- const newCodeArr = []
- const newCodeNameArr = []
- this.routers.forEach(item => {
- if (item.code) {
- newCodeArr.push(item.code)
- newCodeNameArr.push({ code: item.code, title: item.name })
- if (item.children) {
- item.children.forEach(it => {
- if (it.code) {
- newCodeArr.push(it.code)
- newCodeNameArr.push({ code: it.code, title: it.name })
- }
- })
- }
- }
- })
- const arr = this.$router.options.routes
- const arr2 = []
- arr.forEach((item, index) => {
- if (newCodeArr.includes(item.code) && item.children.length === 1) {
- arr2.push(item)
- } else if (newCodeArr.includes(item.code) && item.children.length > 1) {
- newCodeNameArr.forEach(it1 => { // 鏇挎崲鎺ュ彛涓殑name涓鸿彍鍗曞悕绉�
- if (it1.code === item.code) {
- item.meta.title = it1.title
- }
- })
- const a = []
- item.children.forEach((it2, ind) => { // 閬嶅巻
- if (newCodeArr.includes(it2.code)) {
- newCodeNameArr.forEach(it1 => { // 鏇挎崲鎺ュ彛涓殑name涓鸿彍鍗曞悕绉�
- if (it2.code === it1.code) {
- it2.meta.title = it1.title
- }
- })
- a.push(it2)
- }
- })
- item.children = a
- arr2.push(item)
- }
- })
- return arr2
+ return this.$router.options.routes
},
activeMenu() {
const route = this.$route
const { meta, path } = route
// if set path, the sidebar will highlight the path you set
+ removeCookie('ruleCode')
+ setCookie('ruleCode', meta.code)// 灏嗙紪鐮佽鍒檆ode瀛樺埌cookie閲岄潰
if (meta.activeMenu) {
return meta.activeMenu
}
+
+ if (path.indexOf('kanbanManager') !== -1) { // 褰撶偣鍑绘櫤鎱х湅鏉跨殑鏃跺��
+ const url = this.$router.resolve({
+ path
+ // query: { id: 123 }
+ })
+
+ const t = url.href.split('/')
+ // console.log(t, 't')
+ window.open('#/' + t[2], '_blank')
+ }
+
return path
},
showLogo() {
return this.$store.state.settings.sidebarLogo
},
variables() {
+ // console.log(variables, 2333)
+ // 鍏堣緭鍑鸿繖涓獀ariables鍊� 鐒跺悗淇敼鍏跺睘鎬у��
+ variables.menuActiveText = this.$store.state.settings.theme
+ // console.log(!this.$store.state.settings.menuIsHorizontal && !this.$store.state.settings.leftBackgroundColorValue, 1)
+ if ((!this.$store.state.settings.menuIsHorizontal && !this.$store.state.settings.leftBackgroundColorValue)) {
+ variables.menuHover = '#eee'
+ }
+
return variables
},
isCollapse() {
@@ -124,52 +118,85 @@
}
</script>
<style lang="scss">
-$main_color: #42b983;
+//$main_color: #42b983;
+
+.layoutLogo {
+ position: absolute;
+ top: 5px;
+ z-index: 10;
+ left: 5px;
+ width: 200px;
+ height: 90px;
+ background: url("../../../assets/images/layout_3.png") no-repeat;
+}
+
+.leftBackgroundLogo {
+ background: url("../../../assets/images/layout_2.png") no-repeat;
+}
+
+.leftBackgroundColorValue {
+ background-color: #f8f8fa;
+}
+
+.scrollbarWrapperClass {
+ margin-top: 90px;
+ height: calc(85% - 45px) !important;
+}
+
.el-button--text, .el-button--text.is-disabled, .el-button--text.is-disabled:focus, .el-button--text.is-disabled:hover, .el-button--text:active {
color: white;
font-size: 18px;
}
-#app .sidebar-container .el-submenu .el-menu-item {
- background-color: transparent !important;
+.el-button--text:focus {
+ color: white;
}
-#app .sidebar-container .el-submenu .el-menu-item.is-active {
- background: $main_color !important;
- color: #fff !important;
-}
+//#app .sidebar-container .el-submenu .el-menu-item {
+// background-color: transparent !important;
+//}
-#app .sidebar-container .el-submenu .el-menu-item:hover {
- background: $main_color !important;
- //color: #fff !important;
-}
+//#app .sidebar-container .el-submenu .el-menu-item.is-active {
+//background: $main_color !important;
+//color: #fff !important;
+//font-weight: bolder !important;
+//}
+//
+//#app .sidebar-container .el-submenu .el-menu-item:hover {
+// background: $main_color !important;
+// //color: #fff !important;
+//}
.el-submenu__title {
font-weight: bolder;
}
-.sub-el-icon::before {
- color: $main_color;
-}
-
-.svg-icon {
- color: $main_color;
-}
+//.sub-el-icon::before {
+// color: $main_color;
+//}
+//
+//.svg-icon {
+// color: $main_color;
+//}
.submenu-title-noDropdown {
font-weight: bolder;
}
-.router-link-exact-active > .submenu-title-noDropdown {
- color: $main_color !important;
-}
-
-.el-menu-item.is-active {
- color: $main_color !important;
-}
+//.router-link-exact-active > .submenu-title-noDropdown {
+// color: $main_color !important;
+//}
+//
+//.el-menu-item.is-active {
+// color: $main_color !important;
+//}
.el-button--text:hover {
color: #ffffff;
cursor: default;
}
+
+//.el-menu {
+// background-color: #213145 !important;
+//}
</style>
--
Gitblit v1.9.3