| 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=script&lang=js","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\layout\\component\\aside.vue","mtime":1761614938996},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\babel-loader\\lib\\index.js","mtime":1761614927320},{"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:DQppbXBvcnQgVmVydGljYWwgZnJvbSAnQC9sYXlvdXQvbmF2TWVudS92ZXJ0aWNhbC52dWUnOw0KaW1wb3J0IExvZ28gZnJvbSAnQC9sYXlvdXQvbG9nby9pbmRleC52dWUnOw0KZXhwb3J0IGRlZmF1bHQgew0KICBuYW1lOiAnbGF5b3V0QXNpZGUnLA0KICBjb21wb25lbnRzOiB7IFZlcnRpY2FsLCBMb2dvIH0sDQogIGRhdGEoKSB7DQogICAgcmV0dXJuIHsNCiAgICAgIC8vIG1lbnVMaXN0OiBbXSwNCiAgICAgIGNsaWVudFdpZHRoOiAnJywNCiAgICAgIGNhdE5hbWU6ICcnLA0KICAgIH07DQogIH0sDQogIGNvbXB1dGVkOiB7DQogICAgYWRtaW5UaXRsZSgpIHsNCiAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS5hcHAuYWRtaW5UaXRsZSB8fCAnJzsNCiAgICB9LA0KICAgIC8vIOiuvue9ruW3puS+p+iPnOWNleeahOWFt+S9k+WuveW6pg0KICAgIG1lbnVMaXN0KCkgew0KICAgICAgdGhpcy4kc3RvcmUuc3RhdGUubWVudXMuY2hpbGRNZW51TGlzdC5sZW5ndGggPiAwDQogICAgICAgID8gKHRoaXMuJHN0b3JlLnN0YXRlLnRoZW1lQ29uZmlnLnRoZW1lQ29uZmlnLmlzQ29sbGFwc2UgPSBmYWxzZSkNCiAgICAgICAgOiAodGhpcy4kc3RvcmUuc3RhdGUudGhlbWVDb25maWcudGhlbWVDb25maWcuaXNDb2xsYXBzZSA9IHRydWUpOw0KICAgICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLm1lbnVzLmNoaWxkTWVudUxpc3Q7DQogICAgfSwNCiAgICBzZXRDb2xsYXBzZVdpZHRoKCkgew0KICAgICAgbGV0IHsgbGF5b3V0LCBpc0NvbGxhcHNlIH0gPSB0aGlzLiRzdG9yZS5zdGF0ZS50aGVtZUNvbmZpZy50aGVtZUNvbmZpZzsNCiAgICAgIGxldCBhc2lkZUJyQ29sb3IgPSAnJzsNCiAgICAgIGxheW91dCA9PT0gJ2NsYXNzaWMnIHx8IGxheW91dCA9PT0gJ2NvbHVtbnMnID8gKGFzaWRlQnJDb2xvciA9ICdsYXlvdXQtZWwtYXNpZGUtYnItY29sb3InKSA6ICcnOw0KDQogICAgICBpZiAobGF5b3V0ID09PSAnY29sdW1ucycpIHsNCiAgICAgICAgLy8g5YiG5qCP5biD5bGA77yM6I+c5Y2V5pS26LW35pe25a695bqm57uZIDFweCAvIOaaguS4ujBweA0KICAgICAgICBpZiAoaXNDb2xsYXBzZSkgew0KICAgICAgICAgIHJldHVybiBbJ2xheW91dC1hc2lkZS13aWR0aDEnLCBhc2lkZUJyQ29sb3JdOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgIHJldHVybiBbJ2xheW91dC1hc2lkZS13aWR0aC1kZWZhdWx0JywgYXNpZGVCckNvbG9yXTsNCiAgICAgICAgfQ0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgLy8g5YW25a6D5biD5bGA57uZIDY0cHgNCiAgICAgICAgaWYgKGlzQ29sbGFwc2UpIHsNCiAgICAgICAgICByZXR1cm4gWydsYXlvdXQtYXNpZGUtd2lkdGgxJywgYXNpZGVCckNvbG9yXTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICByZXR1cm4gWydsYXlvdXQtYXNpZGUtd2lkdGgtZGVmYXVsdCcsIGFzaWRlQnJDb2xvciwgbGF5b3V0ID09PSAnY2xhc3NpYycgPyAncHQ4JyA6ICcnXTsNCiAgICAgICAgfQ0KICAgICAgfQ0KICAgIH0sDQogICAgLy8g6K6+572uIGxvZ28g5piv5ZCm5pi+56S6DQogICAgc2V0U2hvd0xvZ28oKSB7DQogICAgICBsZXQgeyBsYXlvdXQsIGlzU2hvd0xvZ28gfSA9IHRoaXMuJHN0b3JlLnN0YXRlLnRoZW1lQ29uZmlnLnRoZW1lQ29uZmlnOw0KICAgICAgcmV0dXJuIChpc1Nob3dMb2dvICYmIGxheW91dCA9PT0gJ2RlZmF1bHRzJykgfHwgKGlzU2hvd0xvZ28gJiYgbGF5b3V0ID09PSAnY29sdW1ucycpOw0KICAgIH0sDQogICAgLy8g6I635Y+W5biD5bGA6YWN572u5L+h5oGvDQogICAgZ2V0VGhlbWVDb25maWcoKSB7DQogICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUudGhlbWVDb25maWcudGhlbWVDb25maWc7DQogICAgfSwNCiAgfSwNCiAgY3JlYXRlZCgpIHsNCiAgICB0aGlzLmluaXRNZW51Rml4ZWQoZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aCk7DQogICAgdGhpcy5zZXRGaWx0ZXJSb3V0ZXMoKTsNCiAgICAvLyB0aGlzLmJ1cy4kb24oJ3NldFNlbmRDb2x1bW5zQ2hpbGRyZW4nLCAocmVzKSA9PiB7DQogICAgLy8gICB0aGlzLm1lbnVMaXN0ID0gcmVzIHx8IFtdOw0KICAgIC8vICAgdGhpcy5tZW51TGlzdC5sZW5ndGggPiAwDQogICAgLy8gICAgID8gKHRoaXMuJHN0b3JlLnN0YXRlLnRoZW1lQ29uZmlnLnRoZW1lQ29uZmlnLmlzQ29sbGFwc2UgPSBmYWxzZSkNCiAgICAvLyAgICAgOiAodGhpcy4kc3RvcmUuc3RhdGUudGhlbWVDb25maWcudGhlbWVDb25maWcuaXNDb2xsYXBzZSA9IHRydWUpOw0KICAgIC8vIH0pOw0KICAgIHRoaXMuYnVzLiRvbignbGF5b3V0TW9iaWxlUmVzaXplJywgKHJlcykgPT4gew0KICAgICAgdGhpcy5pbml0TWVudUZpeGVkKHJlcy5jbGllbnRXaWR0aCk7DQogICAgfSk7DQogICAgdGhpcy5idXMuJG9uKCdvbmVDYXROYW1lJywgKG5hbWUpID0+IHsNCiAgICAgIHRoaXMuY2F0TmFtZSA9IG5hbWU7DQogICAgfSk7DQogICAgLy8g6I+c5Y2V5rua5Yqo5p2h55uR5ZCsDQogICAgdGhpcy5idXMuJG9uKCd1cGRhdGVFbFNjcm9sbEJhcicsICgpID0+IHsNCiAgICAgIHNldFRpbWVvdXQoKCkgPT4gew0KICAgICAgICB0aGlzLiRyZWZzLmxheW91dEFzaWRlUmVmLnVwZGF0ZSgpOw0KICAgICAgfSwgMzAwKTsNCiAgICB9KTsNCiAgICBpZiAodGhpcy4kc3RvcmUuc3RhdGUudGhlbWVDb25maWcudGhlbWVDb25maWcubGF5b3V0ICE9PSAnY29sdW1ucycpIHsNCiAgICAgIHRoaXMuYnVzLiRvbigncm91dGVzTGlzdENoYW5nZScsICgpID0+IHsNCiAgICAgICAgdGhpcy5zZXRGaWx0ZXJSb3V0ZXMoKTsNCiAgICAgIH0pOw0KICAgIH0NCiAgfSwNCiAgYmVmb3JlRGVzdHJveSgpIHsNCiAgICB0aGlzLmJ1cy4kb2ZmKCdyb3V0ZXNMaXN0Q2hhbmdlJyk7DQogIH0sDQogIG1ldGhvZHM6IHsNCiAgICAvLyDorr7nva4v6L+H5ruk6Lev55Sx77yI6Z2e6Z2Z5oCB6Lev55SxL+aYr+WQpuaYvuekuuWcqOiPnOWNleS4re+8iQ0KICAgIHNldEZpbHRlclJvdXRlcygpIHsNCiAgICAgIGlmICh0aGlzLiRzdG9yZS5zdGF0ZS50aGVtZUNvbmZpZy50aGVtZUNvbmZpZy5sYXlvdXQgPT09ICdjb2x1bW5zJykgcmV0dXJuIGZhbHNlOw0KICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCdtZW51cy9jaGlsZE1lbnVMaXN0JywgdGhpcy5maWx0ZXJSb3V0ZXNGdW4odGhpcy4kc3RvcmUuc3RhdGUucm91dGVzTGlzdC5yb3V0ZXNMaXN0KSk7DQogICAgICAvLyB0aGlzLm1lbnVMaXN0ID0gdGhpcy5maWx0ZXJSb3V0ZXNGdW4odGhpcy4kc3RvcmUuc3RhdGUucm91dGVzTGlzdC5yb3V0ZXNMaXN0KTsNCiAgICB9LA0KICAgIC8vIOiuvue9ri/ov4fmu6Tot6/nlLEg6YCS5b2S5Ye95pWwDQogICAgZmlsdGVyUm91dGVzRnVuKGFycikgew0KICAgICAgcmV0dXJuIGFycg0KICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnBhdGgpDQogICAgICAgIC5tYXAoKGl0ZW0pID0+IHsNCiAgICAgICAgICBpdGVtID0gT2JqZWN0LmFzc2lnbih7fSwgaXRlbSk7DQogICAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4pIGl0ZW0uY2hpbGRyZW4gPSB0aGlzLmZpbHRlclJvdXRlc0Z1bihpdGVtLmNoaWxkcmVuKTsNCiAgICAgICAgICByZXR1cm4gaXRlbTsNCiAgICAgICAgfSk7DQogICAgfSwNCiAgICAvLyDorr7nva7oj5zljZXlr7zoiKrmmK/lkKblm7rlrprvvIjnp7vliqjnq6/vvIkNCiAgICBpbml0TWVudUZpeGVkKGNsaWVudFdpZHRoKSB7DQogICAgICB0aGlzLmNsaWVudFdpZHRoID0gY2xpZW50V2lkdGg7DQogICAgICB0aGlzLiRlbWl0KCdyb3V0ZXNMaXN0Q2hhbmdlJyk7DQogICAgfSwNCiAgfSwNCiAgLy8g6aG16Z2i6ZSA5q+B5pe2DQogIGRlc3Ryb3llZCgpIHsNCiAgICAvLyDlj5bmtojoj5zljZXmu5rliqjmnaHnm5HlkKwNCiAgICB0aGlzLmJ1cy4kb2ZmKCd1cGRhdGVFbFNjcm9sbEJhcicsICgpID0+IHt9KTsNCiAgfSwNCn07DQo="},{"version":3,"sources":["aside.vue"],"names":[],"mappings":";AAqBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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"]}]}
|