6017a7a8e6f364a9e6b72a02ab72a88c.json 14 KB

1
  1. {"remainingRequest":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\src\\components\\TopNav\\index.vue?vue&type=style&index=0&id=35f3a2c1&lang=scss&scoped=true&","dependencies":[{"path":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\src\\components\\TopNav\\index.vue","mtime":1688953590748},{"path":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\node_modules\\css-loader\\dist\\cjs.js","mtime":1688725399018},{"path":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\node_modules\\vue-loader\\lib\\loaders\\stylePostLoader.js","mtime":1688725423149},{"path":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\node_modules\\postcss-loader\\src\\index.js","mtime":1688725407590},{"path":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\node_modules\\sass-loader\\dist\\cjs.js","mtime":1688725390930},{"path":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1688725391035},{"path":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":1688725415411}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCg0KI2FwcCAuc2lkZWJhci1jb250YWluZXIgLnRoZW1lLWRhcmsgLmlzLWFjdGl2ZSA+IC5lbC1zdWJtZW51X190aXRsZSB7DQogICAgY29sb3I6ICNhNmIyZDkgIWltcG9ydGFudDsNCn0NCiNhcHAgLnNpZGViYXItY29udGFpbmVyIC50aGVtZS1kYXJrIC5pcy1hY3RpdmUgPiAuZWwtc3VibWVudV9fdGl0bGU6aG92ZXJ7DQogIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7DQp9DQoudG9wbWVudS1jb250YWluZXIuZWwtbWVudS0taG9yaXpvbnRhbCA+IC5lbC1tZW51LWl0ZW0gew0KICBmbG9hdDogbGVmdDsNCiAgaGVpZ2h0OiA1MHB4ICFpbXBvcnRhbnQ7DQogIGxpbmUtaGVpZ2h0OiA1MHB4ICFpbXBvcnRhbnQ7DQogIGNvbG9yOiAjZGYwZDUzICFpbXBvcnRhbnQ7DQogIHBhZGRpbmc6IDAgNXB4ICFpbXBvcnRhbnQ7DQogIG1hcmdpbjogMCAxMHB4ICFpbXBvcnRhbnQ7DQp9DQoNCi50b3BtZW51LWNvbnRhaW5lci5lbC1tZW51LS1ob3Jpem9udGFsID4gLmVsLW1lbnUtaXRlbS5pcy1hY3RpdmUsIC5lbC1tZW51LS1ob3Jpem9udGFsID4gLmVsLXN1Ym1lbnUuaXMtYWN0aXZlIC5lbC1zdWJtZW51X190aXRsZSB7DQogIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjeyd2YXIoLS10aGVtZSknfSAhaW1wb3J0YW50Ow0KICBjb2xvcjogIzMwMzEzMzsNCn0NCg0KLyogc3VibWVudSBpdGVtICovDQoudG9wbWVudS1jb250YWluZXIuZWwtbWVudS0taG9yaXpvbnRhbCA+IC5lbC1zdWJtZW51IC5lbC1zdWJtZW51X190aXRsZSB7DQogIGZsb2F0OiBsZWZ0Ow0KICBoZWlnaHQ6IDUwcHggIWltcG9ydGFudDsNCiAgbGluZS1oZWlnaHQ6IDUwcHggIWltcG9ydGFudDsNCiAgY29sb3I6ICM5OTkwOTMgIWltcG9ydGFudDsNCiAgcGFkZGluZzogMCA5NnB4ICFpbXBvcnRhbnQ7DQogIG1hcmdpbjogMCAxMHB4ICFpbXBvcnRhbnQ7DQp9DQouc2lkZWJhci1sb2dvLWNvbnRhaW5lcltkYXRhLXYtNjQ5NDgwNGJdIHsNCiAgICBoZWlnaHQ6IDBweCAhaW1wb3J0YW50Ow0KfQ0KDQojYXBwIC5zaWRlYmFyLWNvbnRhaW5lciAuZWwtbWVudS1pdGVtOmhvdmVyLCAjYXBwIC5zaWRlYmFyLWNvbnRhaW5lciAuZWwtc3VibWVudV9fdGl0bGU6aG92ZXJ7DQogIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7DQp9DQovKiDlnKjov5nph4zkv67mlLnkvaDnmoTmoLflvI/lsLHooYwgKi8NCg0KLmVsLXN1Ym1lbnVfX3RpdGxlew0KICBoZWlnaHQ6IDQ1cHggIWltcG9ydGFudDsNCiAgbWFyZ2luOjBweCAxNXB4IDBweCAxNXB4ICFpbXBvcnRhbnQ7DQogIGJvcmRlci1yYWRpdXM6IDEwcHg7DQogIC8qIGJhY2tncm91bmQ6ICAgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMmIzZmVkLCAjMmE4MWU0KSAhaW1wb3J0YW50OyAqLw0KICBsaW5lLWhlaWdodDo0NXB4Ow0KICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICBib3gtc2l6aW5nOmluaGVyaXQ7DQogIGNvbG9yOiNhNmIyZDkgIWltcG9ydGFudDsNCn0NCi5lbC1zdWJtZW51X190aXRsZTpob3ZlciB7DQogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzJiM2ZlZCwgIzJhODFlNCkgIWltcG9ydGFudDsNCiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsNCn0NCg0KDQovKiAuZWwtc3VibWVudS5pcy1hY3RpdmUgLmVsLXN1Ym1lbnVfX3RpdGxlIHsNCiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMmIzZmVkLCAjMmE4MWU0KSAhaW1wb3J0YW50Ow0KfSAqLw0KLmVsLXN1Ym1lbnUgLmVsLW1lbnUtaXRlbSB7DQogIG1hcmdpbjowcHggMjBweCAwcHggMjBweCAgIWltcG9ydGFudDsNCn0NCg0KI2FwcCAuc2lkZWJhci1jb250YWluZXIgLm5lc3QtbWVudSAuZWwtc3VibWVudSA+IC5lbC1zdWJtZW51X190aXRsZSwgI2FwcCAuc2lkZWJhci1jb250YWluZXIgLmVsLXN1Ym1lbnUgLmVsLW1lbnUtaXRlbSB7DQogICAgIG1pbi13aWR0aDogMTBweCAhaW1wb3J0YW50Ow0KICAgDQogICAgDQp9DQouZWwtbWVudS1pdGVtew0KICBjb2xvcjogI2E2YjJkOSAhaW1wb3J0YW50Ow0KfQ0KDQoNCi5lbC1zdWJtZW51OmZpcnN0LWNoaWxkIHsNCmJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMHB4ICFpbXBvcnRhbnQ7DQpib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMHB4ICFpbXBvcnRhbnQ7DQp9DQoNCmVsZW1lbnQuc3R5bGUgew0KICAgIGNvbG9yOiAjYTZiMmQ5ICFpbXBvcnRhbnQ7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDM0LCAzOCwgODMpOw0KfQ0KDQouc3VibWVudS10aXRsZS1ub0Ryb3Bkb3duIHsNCiAgICBwYWRkaW5nLWxlZnQ6IDQwcHggIWltcG9ydGFudDsNCn0NCg0KDQoNCg0KDQo="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA","file":"index.vue","sourceRoot":"src/components/TopNav","sourcesContent":["<template>\r\n <el-menu\r\n :default-active=\"activeMenu\"\r\n mode=\"horizontal\"\r\n @select=\"handleSelect\"\r\n @open=\"handleOpen\"\r\n >\r\n <template v-for=\"(item, index) in topMenus\">\r\n <el-menu-item :style=\"{'--theme': theme}\" :index=\"item.path\" :key=\"index\" v-if=\"index < visibleNumber\"\r\n ><svg-icon :icon-class=\"item.meta.icon\" />\r\n {{ item.meta.title }}</el-menu-item\r\n >\r\n </template>\r\n\r\n <!-- 顶部菜单超出数量折叠 -->\r\n <el-submenu :style=\"{'--theme': theme}\" index=\"more\" v-if=\"topMenus.length > visibleNumber\">\r\n <template slot=\"title\">更多菜单</template>\r\n <template v-for=\"(item, index) in topMenus\">\r\n <el-menu-item\r\n :index=\"item.path\"\r\n :key=\"index\"\r\n v-if=\"index >= visibleNumber\"\r\n ><svg-icon :icon-class=\"item.meta.icon\" />\r\n {{ item.meta.title }}</el-menu-item\r\n >\r\n </template>\r\n </el-submenu>\r\n </el-menu>\r\n</template>\r\n\r\n<script>\r\nimport { constantRoutes } from \"@/router\";\r\n\r\n// 隐藏侧边栏路由\r\nconst hideList = ['/index', '/user/profile'];\r\n\r\nexport default {\r\n data() {\r\n return {\r\n // 顶部栏初始数\r\n visibleNumber: 5,\r\n // 当前激活菜单的 index\r\n currentIndex: undefined\r\n };\r\n },\r\n computed: {\r\n theme() {\r\n return this.$store.state.settings.theme;\r\n },\r\n // 顶部显示菜单\r\n topMenus() {\r\n let topMenus = [];\r\n this.routers.map((menu) => {\r\n if (menu.hidden !== true) {\r\n // 兼容顶部栏一级菜单内部跳转\r\n if (menu.path === \"/\") {\r\n topMenus.push(menu.children[0]);\r\n } else {\r\n topMenus.push(menu);\r\n }\r\n }\r\n });\r\n console.log(topMenus)\r\n return topMenus;\r\n },\r\n // 所有的路由信息\r\n routers() {\r\n return this.$store.state.permission.topbarRouters;\r\n },\r\n // 设置子路由\r\n childrenMenus() {\r\n var childrenMenus = [];\r\n this.routers.map((router) => {\r\n for (var item in router.children) {\r\n if (router.children[item].parentPath === undefined) {\r\n if(router.path === \"/\") {\r\n router.children[item].path = \"/\" + router.children[item].path;\r\n } else {\r\n if(!this.ishttp(router.children[item].path)) {\r\n router.children[item].path = router.path + \"/\" + router.children[item].path;\r\n }\r\n }\r\n router.children[item].parentPath = router.path;\r\n }\r\n childrenMenus.push(router.children[item]);\r\n }\r\n });\r\n return constantRoutes.concat(childrenMenus);\r\n },\r\n // 默认激活的菜单\r\n activeMenu() {\r\n const path = this.$route.path;\r\n let activePath = path;\r\n if (path !== undefined && path.lastIndexOf(\"/\") > 0 && hideList.indexOf(path) === -1) {\r\n const tmpPath = path.substring(1, path.length);\r\n activePath = \"/\" + tmpPath.substring(0, tmpPath.indexOf(\"/\"));\r\n if (!this.$route.meta.link) {\r\n this.$store.dispatch('app/toggleSideBarHide', false);\r\n }\r\n } else if(!this.$route.children) {\r\n activePath = path;\r\n this.$store.dispatch('app/toggleSideBarHide', true);\r\n }\r\n this.activeRoutes(activePath);\r\n return activePath;\r\n },\r\n },\r\n beforeMount() {\r\n window.addEventListener('resize', this.setVisibleNumber)\r\n },\r\n beforeDestroy() {\r\n window.removeEventListener('resize', this.setVisibleNumber)\r\n },\r\n mounted() {\r\n this.setVisibleNumber();\r\n },\r\n methods: {\r\n // 根据宽度计算设置显示栏数\r\n setVisibleNumber() {\r\n const width = document.body.getBoundingClientRect().width / 3;\r\n this.visibleNumber = parseInt(width / 85);\r\n },\r\n // 菜单选择事件\r\n handleSelect(key, keyPath) {\r\n this.currentIndex = key;\r\n console.log(key)\r\n const route = this.routers.find(item => item.path === key);\r\n if (this.ishttp(key)) {\r\n // http(s):// 路径新窗口打开\r\n window.open(key, \"_blank\");\r\n } else if (!route || !route.children) {\r\n // 没有子路由路径内部打开\r\n const routeMenu = this.childrenMenus.find(item => item.path === key);\r\n if (routeMenu && routeMenu.query) {\r\n let query = JSON.parse(routeMenu.query);\r\n this.$router.push({ path: key, query: query });\r\n } else {\r\n this.$router.push({ path: key });\r\n }\r\n this.$store.dispatch('app/toggleSideBarHide', true);\r\n } else {\r\n // 显示左侧联动菜单\r\n this.activeRoutes(key);\r\n this.$store.dispatch('app/toggleSideBarHide', false);\r\n }\r\n },\r\n // 当前激活的路由\r\n activeRoutes(key) {\r\n var routes = [];\r\n if (this.childrenMenus && this.childrenMenus.length > 0) {\r\n this.childrenMenus.map((item) => {\r\n if (key == item.parentPath || (key == \"index\" && \"\" == item.path)) {\r\n routes.push(item);\r\n }\r\n });\r\n }\r\n if(routes.length > 0) {\r\n this.$store.commit(\"SET_SIDEBAR_ROUTERS\", routes);\r\n } else {\r\n this.$store.dispatch('app/toggleSideBarHide', true);\r\n }\r\n },\r\n ishttp(url) {\r\n return url.indexOf('http://') !== -1 || url.indexOf('https://') !== -1\r\n },\r\n handleOpen(){\r\n console.log(123)\r\n }\r\n },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n#app .sidebar-container .theme-dark .is-active > .el-submenu__title {\r\n color: #a6b2d9 !important;\r\n}\r\n#app .sidebar-container .theme-dark .is-active > .el-submenu__title:hover{\r\n color: #fff !important;\r\n}\r\n.topmenu-container.el-menu--horizontal > .el-menu-item {\r\n float: left;\r\n height: 50px !important;\r\n line-height: 50px !important;\r\n color: #df0d53 !important;\r\n padding: 0 5px !important;\r\n margin: 0 10px !important;\r\n}\r\n\r\n.topmenu-container.el-menu--horizontal > .el-menu-item.is-active, .el-menu--horizontal > .el-submenu.is-active .el-submenu__title {\r\n border-bottom: 2px solid #{'var(--theme)'} !important;\r\n color: #303133;\r\n}\r\n\r\n/* submenu item */\r\n.topmenu-container.el-menu--horizontal > .el-submenu .el-submenu__title {\r\n float: left;\r\n height: 50px !important;\r\n line-height: 50px !important;\r\n color: #999093 !important;\r\n padding: 0 96px !important;\r\n margin: 0 10px !important;\r\n}\r\n.sidebar-logo-container[data-v-6494804b] {\r\n height: 0px !important;\r\n}\r\n\r\n#app .sidebar-container .el-menu-item:hover, #app .sidebar-container .el-submenu__title:hover{\r\n color: #fff !important;\r\n}\r\n/* 在这里修改你的样式就行 */\r\n\r\n.el-submenu__title{\r\n height: 45px !important;\r\n margin:0px 15px 0px 15px !important;\r\n border-radius: 10px;\r\n /* background: linear-gradient(to right, #2b3fed, #2a81e4) !important; */\r\n line-height:45px;\r\n text-align: left;\r\n box-sizing:inherit;\r\n color:#a6b2d9 !important;\r\n}\r\n.el-submenu__title:hover {\r\n background: linear-gradient(to right, #2b3fed, #2a81e4) !important;\r\n color: #fff !important;\r\n}\r\n\r\n\r\n/* .el-submenu.is-active .el-submenu__title {\r\n background: linear-gradient(to right, #2b3fed, #2a81e4) !important;\r\n} */\r\n.el-submenu .el-menu-item {\r\n margin:0px 20px 0px 20px !important;\r\n}\r\n\r\n#app .sidebar-container .nest-menu .el-submenu > .el-submenu__title, #app .sidebar-container .el-submenu .el-menu-item {\r\n min-width: 10px !important;\r\n \r\n \r\n}\r\n.el-menu-item{\r\n color: #a6b2d9 !important;\r\n}\r\n\r\n\r\n.el-submenu:first-child {\r\nborder-top-right-radius: 10px !important;\r\nborder-top-left-radius: 10px !important;\r\n}\r\n\r\nelement.style {\r\n color: #a6b2d9 !important;\r\n background-color: rgb(34, 38, 83);\r\n}\r\n\r\n.submenu-title-noDropdown {\r\n padding-left: 40px !important;\r\n}\r\n\r\n\r\n\r\n\r\n\r\n</style>\r\n"]}]}