| 1 |
- {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\layout\\component\\aside.vue?vue&type=style&index=0&id=6711794c&lang=scss&scoped=true","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\layout\\component\\aside.vue","mtime":1761614938996},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\css-loader\\index.js","mtime":1761614929364},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\loaders\\stylePostLoader.js","mtime":1761614937403},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\postcss-loader\\src\\index.js","mtime":1761614935133},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\sass-loader\\dist\\cjs.js","mtime":1761614936391},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js","mtime":1761614937402}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:DQouY2F0LW5hbWUgew0KICBkaXNwbGF5OiBmbGV4Ow0KICBhbGlnbi1pdGVtczogY2VudGVyOw0KICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgaGVpZ2h0OiA1MHB4Ow0KICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcHJldi1ib3JkZXItY29sb3ItbGlnaHRlcik7DQogIGZvbnQtd2VpZ2h0OiA1MDA7DQogIGZvbnQtc2l6ZTogMTVweDsNCn0NCg=="},{"version":3,"sources":["aside.vue"],"names":[],"mappings":";AAwIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"aside.vue","sourceRoot":"src/layout/component","sourcesContent":["<template>\r\n <el-aside class=\"layout-aside\" :class=\"setCollapseWidth\" v-if=\"clientWidth > 1000\">\r\n <Logo v-if=\"setShowLogo && menuList.length && getThemeConfig.layout !== 'columns'\" />\r\n <div v-if=\"menuList.length && getThemeConfig.layout == 'columns'\" class=\"cat-name\">\r\n {{ adminTitle || catName }}\r\n </div>\r\n <el-scrollbar class=\"flex-auto\" ref=\"layoutAsideRef\">\r\n <Vertical :menuList=\"menuList\" :class=\"setCollapseWidth\" />\r\n </el-scrollbar>\r\n </el-aside>\r\n <el-drawer :visible.sync=\"getThemeConfig.isCollapse\" :with-header=\"false\" direction=\"ltr\" size=\"180px\" v-else>\r\n <el-aside class=\"layout-aside w100 h100\">\r\n <Logo v-if=\"setShowLogo && menuList.length\" />\r\n <el-scrollbar class=\"flex-auto\" ref=\"layoutAsideRef\">\r\n <Vertical :menuList=\"menuList\" />\r\n </el-scrollbar>\r\n </el-aside>\r\n </el-drawer>\r\n</template>\r\n\r\n<script>\r\nimport Vertical from '@/layout/navMenu/vertical.vue';\r\nimport Logo from '@/layout/logo/index.vue';\r\nexport default {\r\n name: 'layoutAside',\r\n components: { Vertical, Logo },\r\n data() {\r\n return {\r\n // menuList: [],\r\n clientWidth: '',\r\n catName: '',\r\n };\r\n },\r\n computed: {\r\n adminTitle() {\r\n return this.$store.state.app.adminTitle || '';\r\n },\r\n // 设置左侧菜单的具体宽度\r\n menuList() {\r\n this.$store.state.menus.childMenuList.length > 0\r\n ? (this.$store.state.themeConfig.themeConfig.isCollapse = false)\r\n : (this.$store.state.themeConfig.themeConfig.isCollapse = true);\r\n return this.$store.state.menus.childMenuList;\r\n },\r\n setCollapseWidth() {\r\n let { layout, isCollapse } = this.$store.state.themeConfig.themeConfig;\r\n let asideBrColor = '';\r\n layout === 'classic' || layout === 'columns' ? (asideBrColor = 'layout-el-aside-br-color') : '';\r\n\r\n if (layout === 'columns') {\r\n // 分栏布局,菜单收起时宽度给 1px / 暂为0px\r\n if (isCollapse) {\r\n return ['layout-aside-width1', asideBrColor];\r\n } else {\r\n return ['layout-aside-width-default', asideBrColor];\r\n }\r\n } else {\r\n // 其它布局给 64px\r\n if (isCollapse) {\r\n return ['layout-aside-width1', asideBrColor];\r\n } else {\r\n return ['layout-aside-width-default', asideBrColor, layout === 'classic' ? 'pt8' : ''];\r\n }\r\n }\r\n },\r\n // 设置 logo 是否显示\r\n setShowLogo() {\r\n let { layout, isShowLogo } = this.$store.state.themeConfig.themeConfig;\r\n return (isShowLogo && layout === 'defaults') || (isShowLogo && layout === 'columns');\r\n },\r\n // 获取布局配置信息\r\n getThemeConfig() {\r\n return this.$store.state.themeConfig.themeConfig;\r\n },\r\n },\r\n created() {\r\n this.initMenuFixed(document.body.clientWidth);\r\n this.setFilterRoutes();\r\n // this.bus.$on('setSendColumnsChildren', (res) => {\r\n // this.menuList = res || [];\r\n // this.menuList.length > 0\r\n // ? (this.$store.state.themeConfig.themeConfig.isCollapse = false)\r\n // : (this.$store.state.themeConfig.themeConfig.isCollapse = true);\r\n // });\r\n this.bus.$on('layoutMobileResize', (res) => {\r\n this.initMenuFixed(res.clientWidth);\r\n });\r\n this.bus.$on('oneCatName', (name) => {\r\n this.catName = name;\r\n });\r\n // 菜单滚动条监听\r\n this.bus.$on('updateElScrollBar', () => {\r\n setTimeout(() => {\r\n this.$refs.layoutAsideRef.update();\r\n }, 300);\r\n });\r\n if (this.$store.state.themeConfig.themeConfig.layout !== 'columns') {\r\n this.bus.$on('routesListChange', () => {\r\n this.setFilterRoutes();\r\n });\r\n }\r\n },\r\n beforeDestroy() {\r\n this.bus.$off('routesListChange');\r\n },\r\n methods: {\r\n // 设置/过滤路由(非静态路由/是否显示在菜单中)\r\n setFilterRoutes() {\r\n if (this.$store.state.themeConfig.themeConfig.layout === 'columns') return false;\r\n this.$store.commit('menus/childMenuList', this.filterRoutesFun(this.$store.state.routesList.routesList));\r\n // this.menuList = this.filterRoutesFun(this.$store.state.routesList.routesList);\r\n },\r\n // 设置/过滤路由 递归函数\r\n filterRoutesFun(arr) {\r\n return arr\r\n .filter((item) => item.path)\r\n .map((item) => {\r\n item = Object.assign({}, item);\r\n if (item.children) item.children = this.filterRoutesFun(item.children);\r\n return item;\r\n });\r\n },\r\n // 设置菜单导航是否固定(移动端)\r\n initMenuFixed(clientWidth) {\r\n this.clientWidth = clientWidth;\r\n this.$emit('routesListChange');\r\n },\r\n },\r\n // 页面销毁时\r\n destroyed() {\r\n // 取消菜单滚动条监听\r\n this.bus.$off('updateElScrollBar', () => {});\r\n },\r\n};\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.cat-name {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n height: 50px;\r\n border-bottom: 1px solid var(--prev-border-color-lighter);\r\n font-weight: 500;\r\n font-size: 15px;\r\n}\r\n</style>\r\n"]}]}
|