Files
education/frontend/node_modules/.cache/vue-loader/8230fe7c25621e7f86eacd3c2751730e.json
T

1 line
10 KiB
JSON

{"remainingRequest":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\layout\\index.vue?vue&type=style&index=0&id=13877386&lang=scss&scoped=true","dependencies":[{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\layout\\index.vue","mtime":1787567993828},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\css-loader\\dist\\cjs.js","mtime":1787309792478},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\loaders\\stylePostLoader.js","mtime":1787309794547},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\postcss-loader\\src\\index.js","mtime":1787309793084},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\sass-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js","mtime":1787309793790}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgpAaW1wb3J0ICJ+QC9hc3NldHMvc3R5bGVzL21peGluLnNjc3MiOwpAaW1wb3J0ICJ+QC9hc3NldHMvc3R5bGVzL3ZhcmlhYmxlcy5zY3NzIjsKCi5hcHAtd3JhcHBlciB7CiAgQGluY2x1ZGUgY2xlYXJmaXg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGhlaWdodDogMTAwJTsKICB3aWR0aDogMTAwJTsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KCi8qIOmhtumDqOWFqOWuvSBIZWFkZXIgKi8KLnRvcC1oZWFkZXIgewogIGZsZXgtc2hyaW5rOiAwOwogIGhlaWdodDogNjBweDsKICBkaXNwbGF5OiBmbGV4OwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEwNGRlZywgIzBiNmI1NSAwJSwgIzA5NWI0OSA1OCUsICMwODRjM2YgMTAwJSk7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTk4LCAxNTUsIDYwLCAwLjUpOwogIGJveC1zaGFkb3c6IDAgM3B4IDEycHggcmdiYSg4LCA1MSwgNDIsIDAuMTYpOwogIHBhZGRpbmc6IDAgMjBweDsKICB6LWluZGV4OiAxMDsKCiAgJl9fbGVmdCB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGZsZXgtc2hyaW5rOiAwOwogICAgaGVpZ2h0OiAxMDAlOwogICAgZ2FwOiAxNHB4OwoKICAgIC5tb2JpbGUtaGFtYnVyZ2VyIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGhlaWdodDogMzZweDsKICAgICAgd2lkdGg6IDM2cHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICBjb2xvcjogI2ZmZjsKICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjI1cyBlYXNlOwoKICAgICAgJjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTsKICAgICAgfQogICAgfQoKICAgIC5zeXMtdGl0bGUgewogICAgICBmb250LXNpemU6IDE5cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgIGNvbG9yOiAjZmZmOwogICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7CiAgICAgIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKTsKICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICBib3JkZXItcmFkaXVzOiA1cHg7CiAgICAgIHBhZGRpbmc6IDRweCAxMHB4OwogICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMjVzIGVhc2U7CgogICAgICAmOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpOwogICAgICB9CiAgICB9CiAgfQoKICAmX19jZW50ZXIgewogICAgZmxleDogMTsKICAgIG1pbi13aWR0aDogMDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGhlaWdodDogMTAwJTsKICB9CgogICZfX3JpZ2h0IHsKICAgIGZsZXgtc2hyaW5rOiAwOwogICAgaGVpZ2h0OiAxMDAlOwogIH0KfQoKLyog5LiL5pa55Li75L2TICovCi5sb3dlci1jb250YWluZXIgewogIGZsZXg6IDE7CiAgbWluLWhlaWdodDogMDsKICBkaXNwbGF5OiBmbGV4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLnNpZGViYXItY29udGFpbmVyIHsKICBmbGV4LXNocmluazogMDsKfQoKLm1haW4tY29udGFpbmVyIHsKICBmbGV4OiAxOwogIG1pbi13aWR0aDogMDsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG92ZXJmbG93OiBoaWRkZW47CiAgaGVpZ2h0OiAxMDAlOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWVkdS1jb2xvci1jYW52YXMpOwp9CgouZHJhd2VyLWJnIHsKICBiYWNrZ3JvdW5kOiAjMDAwOwogIG9wYWNpdHk6IDAuMzsKICB3aWR0aDogMTAwJTsKICB0b3A6IDA7CiAgaGVpZ2h0OiAxMDAlOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB6LWluZGV4OiA5OTk7Cn0K"},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+FA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/layout","sourcesContent":["<template>\r\n <div\r\n :class=\"classObj\"\r\n class=\"app-wrapper\"\r\n :style=\"{\r\n '--current-color': '#0B6B55',\r\n '--current-color-light': '#0B6B551a',\r\n '--current-color-dark-bg': '#0B6B5533'\r\n }\"\r\n >\r\n <div v-if=\"device==='mobile'&&sidebar.opened\" class=\"drawer-bg\" @click=\"handleClickOutside\"/>\r\n\r\n <!-- 顶部全宽 Header -->\r\n <div class=\"top-header\">\r\n <div class=\"top-header__left\">\r\n <hamburger\r\n v-if=\"device === 'mobile'\"\r\n id=\"mobile-hamburger\"\r\n :is-active=\"sidebar.opened\"\r\n class=\"mobile-hamburger\"\r\n @toggleClick=\"toggleSideBar\"\r\n />\r\n <span class=\"sys-title\" title=\"关闭所有已打开的页签\" @click=\"handleCloseAllTabs\">教学管理信息系统</span>\r\n </div>\r\n <semester-bar class=\"top-header__center\" />\r\n <navbar class=\"top-header__right\" :header-mode=\"true\" />\r\n </div>\r\n\r\n <!-- 下方:侧边栏 + 主内容 -->\r\n <div class=\"lower-container\" :class=\"{sidebarHide:sidebar.hide}\">\r\n <sidebar v-if=\"!sidebar.hide\" class=\"sidebar-container\"/>\r\n <div :class=\"{hasTagsView:true,sidebarHide:sidebar.hide}\" class=\"main-container\">\r\n <tags-view/>\r\n <app-main/>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { AppMain, Navbar, Sidebar, TagsView } from './components'\r\nimport SemesterBar from './components/SemesterBar'\r\nimport Hamburger from '@/components/Hamburger'\r\nimport ResizeMixin from './mixin/ResizeHandler'\r\nimport { mapState } from 'vuex'\r\nimport variables from '@/assets/styles/variables.scss'\r\n\r\nexport default {\r\n name: 'Layout',\r\n components: {\r\n AppMain,\r\n Navbar,\r\n Sidebar,\r\n TagsView,\r\n SemesterBar,\r\n Hamburger\r\n },\r\n mixins: [ResizeMixin],\r\n computed: {\r\n ...mapState({\r\n sidebar: state => state.app.sidebar,\r\n device: state => state.app.device\r\n }),\r\n classObj() {\r\n return {\r\n hideSidebar: !this.sidebar.opened,\r\n mobile: this.device === 'mobile'\r\n }\r\n },\r\n variables() {\r\n return variables\r\n }\r\n },\r\n methods: {\r\n handleClickOutside() {\r\n this.$store.dispatch('app/closeSideBar', { withoutAnimation: false })\r\n },\r\n toggleSideBar() {\r\n this.$store.dispatch('app/toggleSideBar')\r\n },\r\n handleCloseAllTabs() {\r\n this.$store.dispatch('tagsView/delAllViews').then(({ visitedViews }) => {\r\n const last = visitedViews[visitedViews.length - 1]\r\n if (last) {\r\n this.$router.push(last.fullPath).catch(() => {})\r\n } else {\r\n this.$router.push('/').catch(() => {})\r\n }\r\n })\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n @import \"~@/assets/styles/mixin.scss\";\r\n @import \"~@/assets/styles/variables.scss\";\r\n\r\n .app-wrapper {\r\n @include clearfix;\r\n position: relative;\r\n height: 100%;\r\n width: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n /* 顶部全宽 Header */\r\n .top-header {\r\n flex-shrink: 0;\r\n height: 60px;\r\n display: flex;\r\n align-items: center;\r\n background: linear-gradient(104deg, #0b6b55 0%, #095b49 58%, #084c3f 100%);\r\n border-bottom: 1px solid rgba(198, 155, 60, 0.5);\r\n box-shadow: 0 3px 12px rgba(8, 51, 42, 0.16);\r\n padding: 0 20px;\r\n z-index: 10;\r\n\r\n &__left {\r\n display: flex;\r\n align-items: center;\r\n flex-shrink: 0;\r\n height: 100%;\r\n gap: 14px;\r\n\r\n .mobile-hamburger {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n height: 36px;\r\n width: 36px;\r\n border-radius: 8px;\r\n cursor: pointer;\r\n color: #fff;\r\n transition: background 0.25s ease;\r\n\r\n &:hover {\r\n background: rgba(255, 255, 255, 0.15);\r\n }\r\n }\r\n\r\n .sys-title {\r\n font-size: 19px;\r\n font-weight: 700;\r\n color: #fff;\r\n white-space: nowrap;\r\n letter-spacing: 1.5px;\r\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);\r\n cursor: pointer;\r\n border-radius: 5px;\r\n padding: 4px 10px;\r\n transition: background 0.25s ease;\r\n\r\n &:hover {\r\n background: rgba(255, 255, 255, 0.15);\r\n }\r\n }\r\n }\r\n\r\n &__center {\r\n flex: 1;\r\n min-width: 0;\r\n display: flex;\r\n justify-content: center;\r\n height: 100%;\r\n }\r\n\r\n &__right {\r\n flex-shrink: 0;\r\n height: 100%;\r\n }\r\n }\r\n\r\n /* 下方主体 */\r\n .lower-container {\r\n flex: 1;\r\n min-height: 0;\r\n display: flex;\r\n position: relative;\r\n }\r\n\r\n .sidebar-container {\r\n flex-shrink: 0;\r\n }\r\n\r\n .main-container {\r\n flex: 1;\r\n min-width: 0;\r\n display: flex;\r\n flex-direction: column;\r\n position: relative;\r\n overflow: hidden;\r\n height: 100%;\r\n background-color: var(--edu-color-canvas);\r\n }\r\n\r\n .drawer-bg {\r\n background: #000;\r\n opacity: 0.3;\r\n width: 100%;\r\n top: 0;\r\n height: 100%;\r\n position: absolute;\r\n z-index: 999;\r\n }\r\n</style>\r\n"]}]}