| | |
| | | <div :class="{'has-logo':showLogo}"> |
| | | |
| | | <logo v-if="showLogo" :collapse="isCollapse" /> |
| | | <el-scrollbar wrap-class="scrollbar-wrapper" style="margin-top:56px"> |
| | | <el-scrollbar wrap-class="scrollbar-wrapper" style="margin-top:56px;height: 85%"> |
| | | <el-menu |
| | | :default-active="activeMenu" |
| | | :collapse="isCollapse" |
| | |
| | | |
| | | </el-menu> |
| | | </el-scrollbar> |
| | | <div style="position: absolute;bottom: 10px;left: 30px;"> |
| | | <div><el-button type="text">新凯迪制造V1.0.01</el-button></div> |
| | | <div style="position: absolute;bottom: 20px;left: 30px;"> |
| | | <div> |
| | | <el-button type="text">新凯迪制造V1.0.01</el-button> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | |
| | | } |
| | | }, |
| | | async created() { |
| | | // const arr = [ |
| | | // { |
| | | // name: '系统首页' |
| | | // }, |
| | | // { |
| | | // name: '基础设置', |
| | | // children: [ |
| | | // { name: '组织架构' }, |
| | | // { name: '角色清单' }, |
| | | // { name: '用户清单' } |
| | | // ] |
| | | // }, |
| | | // { |
| | | // name: '制造模型', |
| | | // children: [ |
| | | // { name: '公益路线' }, |
| | | // { name: '节拍工价' }, |
| | | // { name: '存货档案' } |
| | | // ] |
| | | // } |
| | | // ] |
| | | // this.routers = arr |
| | | const res = await LoginMenu() |
| | | console.log(res, 999) |
| | | const { data: res } = await LoginMenu() |
| | | this.routers = res |
| | | this.routers.unshift({ code: '1000', name: '系统设置' }) |
| | | }, |
| | | computed: { |
| | | ...mapGetters([ |
| | |
| | | 'sidebar' |
| | | ]), |
| | | routes() { |
| | | // console.log(this.$router.options.routes, 111) |
| | | // this.$router.options.routes.forEach((item, index) => { |
| | | // if (item.name === 'jcsz') { |
| | | // this.$router.options.routes.slice(index, 1) |
| | | // } |
| | | // }) |
| | | |
| | | // return this.$router.options.routes.filter(item => { |
| | | // console.log(item) |
| | | // return item.name === 'jcsz' |
| | | // }) |
| | | console.log(this.routers, 99) |
| | | console.log(this.$router.options.routes, 11) |
| | | |
| | | const newArr = [] |
| | | // 接口中的返回值 进行格式化 |
| | | const newCodeArr = [] |
| | | const newCodeNameArr = [] |
| | | this.routers.forEach(item => { |
| | | if (item.name) { |
| | | newArr.push(item.name) |
| | | if (item.code) { |
| | | newCodeArr.push(item.code) |
| | | newCodeNameArr.push({ code: item.code, title: item.name }) |
| | | if (item.children) { |
| | | item.children.forEach(it => { |
| | | if (it.name) { |
| | | newArr.push(it.name) |
| | | if (it.code) { |
| | | newCodeArr.push(it.code) |
| | | newCodeNameArr.push({ code: it.code, title: it.name }) |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | }) |
| | | console.log(newArr, 333) |
| | | |
| | | // 本地路由与 接口中的返回值进行匹配,有相同code的值进行push |
| | | const arr = this.$router.options.routes |
| | | const arr2 = [] |
| | | arr.forEach((item, index) => { |
| | | console.log(newArr.includes(item.name), 222) |
| | | |
| | | if (newArr.includes(item.name) && item.children.length === 1) { |
| | | if (newCodeArr.includes(item.code) && item.children.length === 1) { |
| | | arr2.push(item) |
| | | } else if (newArr.includes(item.name) && item.children.length > 1) { |
| | | } 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((it, ind) => { |
| | | if (newArr.includes(it.name)) { |
| | | a.push(it) |
| | | 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 arr |
| | | }, |
| | | activeMenu() { |
| | | const route = this.$route |
| | |
| | | } |
| | | </script> |
| | | <style lang="scss"> |
| | | $main_color :#42b983; |
| | | .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 ; |
| | | $main_color: #42b983; |
| | | .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; |
| | | } |
| | | |
| | | #app .sidebar-container .el-submenu .el-menu-item.is-active{ |
| | | #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:hover{ |
| | | |
| | | #app .sidebar-container .el-submenu .el-menu-item:hover { |
| | | background: $main_color !important; |
| | | //color: #fff !important; |
| | | } |
| | | |
| | | .el-submenu__title{ |
| | | .el-submenu__title { |
| | | font-weight: bolder; |
| | | } |
| | | |
| | | .sub-el-icon::before{ |
| | | .sub-el-icon::before { |
| | | color: $main_color; |
| | | } |
| | | .svg-icon{ |
| | | |
| | | .svg-icon { |
| | | color: $main_color; |
| | | } |
| | | .submenu-title-noDropdown{ |
| | | |
| | | .submenu-title-noDropdown { |
| | | font-weight: bolder; |
| | | } |
| | | .router-link-exact-active>.submenu-title-noDropdown{ |
| | | |
| | | .router-link-exact-active > .submenu-title-noDropdown { |
| | | color: $main_color !important; |
| | | } |
| | | |
| | | .el-menu-item.is-active{ |
| | | .el-menu-item.is-active { |
| | | color: $main_color !important; |
| | | } |
| | | |
| | | .el-button--text:hover{ |
| | | .el-button--text:hover { |
| | | color: #ffffff; |
| | | cursor: default; |
| | | } |