b8b71040aeca497474ad9cd53e7776d2.json 8.6 KB

1
  1. {"remainingRequest":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/vue-loader/lib/index.js??vue-loader-options!/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/src/views/common/layout/HeaderNav.vue?vue&type=script&lang=js&","dependencies":[{"path":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/src/views/common/layout/HeaderNav.vue","mtime":1616225464000},{"path":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/babel-loader/lib/index.js","mtime":499162500000},{"path":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQge21hcEdldHRlcnN9IGZyb20gJ3Z1ZXgnDQppbXBvcnQgRWxlU2lkZWJhckl0ZW0gZnJvbSAnLi9TaWRlYmFySXRlbScNCmltcG9ydCBOUHJvZ3Jlc3MgZnJvbSAibnByb2dyZXNzIg0KDQpleHBvcnQgZGVmYXVsdCB7DQogIG5hbWU6ICJFbGVIZWFkZXJOYXYiLA0KICBjb21wb25lbnRzOiB7RWxlU2lkZWJhckl0ZW19LA0KICBkYXRhKCkgew0KICAgIHJldHVybiB7DQogICAgICBzY3JvbGw6IGZhbHNlLCAgLy8g55So5LqO6byg5qCH5rua6L2u5LqL5Lu26IqC5rWBDQogICAgICBhY3RpdmVObzogZmFsc2UgIC8vIOeUqOS6juinpuWPkWFjdGl2ZeabtOaWsA0KICAgIH0NCiAgfSwNCiAgY29tcHV0ZWQ6IHsNCiAgICAvKiDoj5zljZXmlbDmja4gKi8NCiAgICBtZW51cygpIHsNCiAgICAgIGlmICh0aGlzLnRoZW1lLmxheW91dFN0eWxlID09PSAwIHx8IHRoaXMudGhlbWUuc2NyZWVuV2lkdGggPCA3NjgpIHJldHVybiBbXTsgIC8vIOWwj+Wxj+W5leW8uuWItuW3puS+p+iPnOWNleaooeW8jw0KICAgICAgbGV0IHVzZU1lbnUgPSB0aGlzLnVzZXIubWVudXMgJiYgdGhpcy51c2VyLm1lbnVzLmxlbmd0aDsNCiAgICAgIGxldCBtZW51cyA9IHVzZU1lbnUgPyB0aGlzLnVzZXIubWVudXMgOiB0aGlzLiRyb3V0ZXIub3B0aW9ucy5yb3V0ZXMuZmlsdGVyKGQgPT4gIWQubWV0YSB8fCAhZC5tZXRhLmhpZGUpOw0KICAgICAgaWYgKHRoaXMudGhlbWUubGF5b3V0U3R5bGUgPT09IDEpIHJldHVybiBtZW51czsNCiAgICAgIGVsc2UgaWYgKHRoaXMudGhlbWUubGF5b3V0U3R5bGUgPT09IDIpIHJldHVybiBtZW51cy5tYXAoZCA9PiBPYmplY3QuYXNzaWduKHt9LCBkLCB7DQogICAgICAgIC8qcGF0aDogbnVsbCwgKi9jaGlsZHJlbjogbnVsbA0KICAgICAgfSkpOw0KICAgICAgZWxzZSByZXR1cm4gW107DQogICAgfSwNCiAgICAvKiDlvZPliY3pgInkuK3pobkgKi8NCiAgICBhY3RpdmUoKSB7DQogICAgICBpZiAodGhpcy5hY3RpdmVObykgcmV0dXJuICcnOw0KICAgICAgaWYgKHRoaXMudGhlbWUubGF5b3V0U3R5bGUgPT09IDEpIHJldHVybiB0aGlzLiRyb3V0ZS5wYXRoOw0KICAgICAgcmV0dXJuIFN0cmluZyh0aGlzLnRoZW1lLm5hdkFjdGl2ZSk7DQogICAgfSwNCiAgICAuLi5tYXBHZXR0ZXJzKFsndGhlbWUnLCAndXNlciddKQ0KICB9LA0KICBtb3VudGVkKCkgew0KICAgIGlmICh0aGlzLnRoZW1lLmxheW91dFN0eWxlID09PSAyKSB0aGlzLm9uTWVudVNlbGVjdCgwKTsNCiAgfSwNCiAgbWV0aG9kczogew0KICAgIC8qIOiPnOWNleeCueWHu+S6i+S7tiAqLw0KICAgIG9uTWVudVNlbGVjdChpbmRleCkgew0KICAgICAgaWYgKGlzTmFOKGluZGV4KSkgew0KICAgICAgICBpZiAoIWluZGV4KSByZXR1cm47DQogICAgICAgIGlmIChpbmRleC5zdGFydHNXaXRoKCdodHRwOi8vJykgfHwgaW5kZXguc3RhcnRzV2l0aCgnaHR0cHM6Ly8nKSB8fCBpbmRleC5zdGFydHNXaXRoKCcvLycpKSB7DQogICAgICAgICAgd2luZG93Lm9wZW4oaW5kZXgpOw0KICAgICAgICAgIHRoaXMuYWN0aXZlTm8gPSB0cnVlOw0KICAgICAgICAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHsNCiAgICAgICAgICAgIHRoaXMuYWN0aXZlTm8gPSBmYWxzZTsNCiAgICAgICAgICB9KTsNCiAgICAgICAgfSBlbHNlIGlmICh0aGlzLiRyb3V0ZS5mdWxsUGF0aCA9PT0gaW5kZXgpIHsNCiAgICAgICAgICB0aGlzLnJlZnJlc2goKTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICB0aGlzLiRyb3V0ZXIucHVzaChpbmRleCk7DQogICAgICAgIH0NCiAgICAgIH0gZWxzZSBpZiAodGhpcy50aGVtZS5sYXlvdXRTdHlsZSA9PT0gMikgew0KICAgICAgICB0aGlzLiRzdG9yZS5kaXNwYXRjaCgndGhlbWUvc2V0TmF2QWN0aXZlJywgaW5kZXgpOw0KICAgICAgfQ0KICAgIH0sDQogICAgLyog5Yi35pawICovDQogICAgcmVmcmVzaCgpIHsNCiAgICAgIE5Qcm9ncmVzcy5zdGFydCgpOw0KICAgICAgaWYgKHRoaXMudGhlbWUucmVsb2FkKSByZXR1cm47DQogICAgICB0aGlzLiRzdG9yZS5kaXNwYXRjaCgndGhlbWUvdG9nZ2xlJywgJ3JlbG9hZCcpOw0KICAgICAgdGhpcy4kbmV4dFRpY2soKCkgPT4gew0KICAgICAgICB0aGlzLiRzdG9yZS5kaXNwYXRjaCgndGhlbWUvdG9nZ2xlJywgJ3JlbG9hZCcpOw0KICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsNCiAgICAgICAgICBOUHJvZ3Jlc3MuZG9uZSgpOw0KICAgICAgICB9LCAxNTApOw0KICAgICAgfSk7DQogICAgfSwNCiAgICAvKiDpvKDmoIfmu5rova7kuovku7YgKi8NCiAgICBvbk1vdXNld2hlZWwoZSkgew0KICAgICAgbGV0IGVsZW0gPSBlLmN1cnJlbnRUYXJnZXQ7DQogICAgICBpZiAoIXRoaXMuc2Nyb2xsKSB7ICAvLyDliqDmoIfor4boioLmtYENCiAgICAgICAgdGhpcy5zY3JvbGwgPSB0cnVlOw0KICAgICAgICBsZXQgZGVsdGEgPSBlLndoZWVsRGVsdGEgfHwgZS5kZXRhaWw7DQogICAgICAgIGlmIChkZWx0YSA+IDApIGVsZW0uc2Nyb2xsTGVmdCAtPSBlbGVtLmNsaWVudFdpZHRoOw0KICAgICAgICBlbHNlIGlmIChkZWx0YSA8IDApIGVsZW0uc2Nyb2xsTGVmdCArPSBlbGVtLmNsaWVudFdpZHRoOw0KICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsNCiAgICAgICAgICB0aGlzLnNjcm9sbCA9IGZhbHNlOw0KICAgICAgICB9LCAzMDApOw0KICAgICAgfQ0KICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsNCiAgICAgIGUucHJldmVudERlZmF1bHQoKTsNCiAgICB9DQogIH0NCn0NCg=="},{"version":3,"sources":["HeaderNav.vue"],"names":[],"mappings":";;;;;;;;;;;;AAYA;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","file":"HeaderNav.vue","sourceRoot":"src/views/common/layout","sourcesContent":["<!-- 顶栏导航部分 -->\r\n<template>\r\n <el-menu :default-active=\"active\" mode=\"horizontal\" @select=\"onMenuSelect\" @mousewheel.native=\"onMousewheel\"\r\n :class=\"['ele-header-nav ele-scrollbar-hide',{'ele-menu-dark':theme.headStyle!==0}]\">\r\n <template v-for=\"(menu,index) in menus\">\r\n <ele-sidebar-item v-if=\"!menu.meta||!menu.meta.hide\" :item=\"menu\"\r\n :path=\"menu.path||index\" :key=\"menu.path||index\"/>\r\n </template>\r\n </el-menu>\r\n</template>\r\n\r\n<script>\r\nimport {mapGetters} from 'vuex'\r\nimport EleSidebarItem from './SidebarItem'\r\nimport NProgress from \"nprogress\"\r\n\r\nexport default {\r\n name: \"EleHeaderNav\",\r\n components: {EleSidebarItem},\r\n data() {\r\n return {\r\n scroll: false, // 用于鼠标滚轮事件节流\r\n activeNo: false // 用于触发active更新\r\n }\r\n },\r\n computed: {\r\n /* 菜单数据 */\r\n menus() {\r\n if (this.theme.layoutStyle === 0 || this.theme.screenWidth < 768) return []; // 小屏幕强制左侧菜单模式\r\n let useMenu = this.user.menus && this.user.menus.length;\r\n let menus = useMenu ? this.user.menus : this.$router.options.routes.filter(d => !d.meta || !d.meta.hide);\r\n if (this.theme.layoutStyle === 1) return menus;\r\n else if (this.theme.layoutStyle === 2) return menus.map(d => Object.assign({}, d, {\r\n /*path: null, */children: null\r\n }));\r\n else return [];\r\n },\r\n /* 当前选中项 */\r\n active() {\r\n if (this.activeNo) return '';\r\n if (this.theme.layoutStyle === 1) return this.$route.path;\r\n return String(this.theme.navActive);\r\n },\r\n ...mapGetters(['theme', 'user'])\r\n },\r\n mounted() {\r\n if (this.theme.layoutStyle === 2) this.onMenuSelect(0);\r\n },\r\n methods: {\r\n /* 菜单点击事件 */\r\n onMenuSelect(index) {\r\n if (isNaN(index)) {\r\n if (!index) return;\r\n if (index.startsWith('http://') || index.startsWith('https://') || index.startsWith('//')) {\r\n window.open(index);\r\n this.activeNo = true;\r\n this.$nextTick(() => {\r\n this.activeNo = false;\r\n });\r\n } else if (this.$route.fullPath === index) {\r\n this.refresh();\r\n } else {\r\n this.$router.push(index);\r\n }\r\n } else if (this.theme.layoutStyle === 2) {\r\n this.$store.dispatch('theme/setNavActive', index);\r\n }\r\n },\r\n /* 刷新 */\r\n refresh() {\r\n NProgress.start();\r\n if (this.theme.reload) return;\r\n this.$store.dispatch('theme/toggle', 'reload');\r\n this.$nextTick(() => {\r\n this.$store.dispatch('theme/toggle', 'reload');\r\n setTimeout(() => {\r\n NProgress.done();\r\n }, 150);\r\n });\r\n },\r\n /* 鼠标滚轮事件 */\r\n onMousewheel(e) {\r\n let elem = e.currentTarget;\r\n if (!this.scroll) { // 加标识节流\r\n this.scroll = true;\r\n let delta = e.wheelDelta || e.detail;\r\n if (delta > 0) elem.scrollLeft -= elem.clientWidth;\r\n else if (delta < 0) elem.scrollLeft += elem.clientWidth;\r\n setTimeout(() => {\r\n this.scroll = false;\r\n }, 300);\r\n }\r\n e.stopPropagation();\r\n e.preventDefault();\r\n }\r\n }\r\n}\r\n</script>\r\n"]}]}