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