Files
education/frontend/node_modules/.cache/babel-loader/ad37b3ee15a679adb3450ed0a575a808.json
T

1 line
19 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"remainingRequest":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\babel-loader\\lib\\index.js!C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\layout\\components\\Navbar.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\layout\\components\\Navbar.vue","mtime":1787567993805},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\babel.config.js","mtime":1787567871334},{"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\\babel-loader\\lib\\index.js","mtime":1787309793142},{"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:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKCJDOi9Vc2Vycy9BZG1pbi9EZXNrdG9wL2VkdWNhdGlvbi9mcm9udGVuZC9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHQuanMiKS5kZWZhdWx0OwpPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgIl9fZXNNb2R1bGUiLCB7CiAgdmFsdWU6IHRydWUKfSk7CmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnB1c2guanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC5leGVjLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcucmVwbGFjZS5qcyIpOwp2YXIgX29iamVjdFNwcmVhZDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoIkM6L1VzZXJzL0FkbWluL0Rlc2t0b3AvZWR1Y2F0aW9uL2Zyb250ZW5kL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFNwcmVhZDIuanMiKSk7CnZhciBfdnVleCA9IHJlcXVpcmUoInZ1ZXgiKTsKdmFyIF9CcmVhZGNydW1iID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCJAL2NvbXBvbmVudHMvQnJlYWRjcnVtYiIpKTsKdmFyIF9IYW1idXJnZXIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoIkAvY29tcG9uZW50cy9IYW1idXJnZXIiKSk7CnZhciBfU2NyZWVuZnVsbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZSgiQC9jb21wb25lbnRzL1NjcmVlbmZ1bGwiKSk7CnZhciBfSGVhZGVyU2VhcmNoID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCJAL2NvbXBvbmVudHMvSGVhZGVyU2VhcmNoIikpOwp2YXIgX0hlYWRlck5vdGljZSA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZSgiLi9IZWFkZXJOb3RpY2UiKSk7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCnZhciBfZGVmYXVsdCA9IGV4cG9ydHMuZGVmYXVsdCA9IHsKICBjb21wb25lbnRzOiB7CiAgICBCcmVhZGNydW1iOiBfQnJlYWRjcnVtYi5kZWZhdWx0LAogICAgSGFtYnVyZ2VyOiBfSGFtYnVyZ2VyLmRlZmF1bHQsCiAgICBTY3JlZW5mdWxsOiBfU2NyZWVuZnVsbC5kZWZhdWx0LAogICAgU2VhcmNoOiBfSGVhZGVyU2VhcmNoLmRlZmF1bHQsCiAgICBIZWFkZXJOb3RpY2U6IF9IZWFkZXJOb3RpY2UuZGVmYXVsdAogIH0sCiAgcHJvcHM6IHsKICAgIC8vIGhlYWRlck1vZGU9dHJ1ZSDml7bvvIxOYXZiYXIg5L2c5Li66aG26YOo5YWo5a69IEhlYWRlciDlj7Pkvqflip/og73ljLrvvIzku4XmuLLmn5MgcmlnaHQtbWVudQogICAgaGVhZGVyTW9kZTogewogICAgICB0eXBlOiBCb29sZWFuLAogICAgICBkZWZhdWx0OiBmYWxzZQogICAgfQogIH0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7fTsKICB9LAogIGNvbXB1dGVkOiAoMCwgX29iamVjdFNwcmVhZDIuZGVmYXVsdCkoKDAsIF9vYmplY3RTcHJlYWQyLmRlZmF1bHQpKHt9LCAoMCwgX3Z1ZXgubWFwR2V0dGVycykoWydzaWRlYmFyJywgJ2F2YXRhcicsICdkZXZpY2UnLCAnbmlja05hbWUnLCAncm9sZXMnXSkpLCB7fSwgewogICAgLy8g55So5oi36KeS6Imy5qCH562+77ya5qC55o2uIHJvbGVzIOaVsOe7hOaZuuiDveaYoOWwhOS4uuWPi+WlveaWh+acrAogICAgdXNlclJvbGVMYWJlbDogZnVuY3Rpb24gdXNlclJvbGVMYWJlbCgpIHsKICAgICAgdmFyIHJvbGVNYXAgPSB7CiAgICAgICAgYWRtaW46ICfns7vnu5/nrqHnkIblkZgnLAogICAgICAgIHRlYWNoZXI6ICfmlZnluIjnlKjmiLcnLAogICAgICAgIHN0dWRlbnQ6ICflrabnlJ/nlKjmiLcnLAogICAgICAgIFJPTEVfREVGQVVMVDogJ+aZrumAmueUqOaItycKICAgICAgfTsKICAgICAgdmFyIHIgPSB0aGlzLnJvbGVzICYmIHRoaXMucm9sZXNbMF0gfHwgJyc7CiAgICAgIC8vIOebtOaOpeWMuemFjeaIluWOu+mZpCBST0xFXyDliY3nvIDlkI7lho3ljLnphY0KICAgICAgcmV0dXJuIHJvbGVNYXBbcl0gfHwgcm9sZU1hcFtTdHJpbmcocikucmVwbGFjZSgvXlJPTEVfLywgJycpXSB8fCAn5pWZ5a2m566h55CG57O757ufJzsKICAgIH0KICB9KSwKICBtZXRob2RzOiB7CiAgICB0b2dnbGVTaWRlQmFyOiBmdW5jdGlvbiB0b2dnbGVTaWRlQmFyKCkgewogICAgICB0aGlzLiRzdG9yZS5kaXNwYXRjaCgnYXBwL3RvZ2dsZVNpZGVCYXInKTsKICAgIH0sCiAgICBoYW5kbGVDb21tYW5kOiBmdW5jdGlvbiBoYW5kbGVDb21tYW5kKGNvbW1hbmQpIHsKICAgICAgLy8g6aKE55WZ77ya5LiL5ouJ6I+c5Y2VIGNvbW1hbmQg5LqL5Lu25YWl5Y+jCiAgICB9LAogICAgb3BlblNlYXJjaDogZnVuY3Rpb24gb3BlblNlYXJjaCgpIHsKICAgICAgaWYgKHRoaXMuJHJlZnMuc2VhcmNoUmVmICYmIHR5cGVvZiB0aGlzLiRyZWZzLnNlYXJjaFJlZi5jbGljayA9PT0gJ2Z1bmN0aW9uJykgewogICAgICAgIHRoaXMuJHJlZnMuc2VhcmNoUmVmLmNsaWNrKCk7CiAgICAgIH0KICAgIH0sCiAgICBsb2NrU2NyZWVuOiBmdW5jdGlvbiBsb2NrU2NyZWVuKCkgewogICAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgICB2YXIgY3VycmVudFBhdGggPSB0aGlzLiRyb3V0ZS5mdWxsUGF0aDsKICAgICAgdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ2xvY2svbG9ja1NjcmVlbicsIGN1cnJlbnRQYXRoKS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICBfdGhpcy4kcm91dGVyLnB1c2goJy9sb2NrJyk7CiAgICAgIH0pOwogICAgfSwKICAgIGxvZ291dDogZnVuY3Rpb24gbG9nb3V0KCkgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKICAgICAgdGhpcy4kY29uZmlybSgn56Gu5a6a5rOo6ZSA5bm26YCA5Ye657O757uf5ZCX77yfJywgJ+aPkOekuicsIHsKICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogJ+ehruWumicsCiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ+WPlua2iCcsCiAgICAgICAgdHlwZTogJ3dhcm5pbmcnCiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIF90aGlzMi4kc3RvcmUuZGlzcGF0Y2goJ0xvZ091dCcpLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgbG9jYXRpb24uaHJlZiA9ICcvaW5kZXgnOwogICAgICAgIH0pOwogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7fSk7CiAgICB9CiAgfQp9Ow=="},{"version":3,"names":["_vuex","require","_Breadcrumb","_interopRequireDefault","_Hamburger","_Screenfull","_HeaderSearch","_HeaderNotice","components","Breadcrumb","Hamburger","Screenfull","Search","HeaderNotice","props","headerMode","type","Boolean","default","data","computed","_objectSpread2","mapGetters","userRoleLabel","roleMap","admin","teacher","student","ROLE_DEFAULT","r","roles","String","replace","methods","toggleSideBar","$store","dispatch","handleCommand","command","openSearch","$refs","searchRef","click","lockScreen","_this","currentPath","$route","fullPath","then","$router","push","logout","_this2","$confirm","confirmButtonText","cancelButtonText","location","href","catch"],"sources":["src/layout/components/Navbar.vue"],"sourcesContent":["<template>\r\n <div class=\"navbar\" :class=\"[{ 'header-mode': headerMode }]\">\r\n <hamburger v-if=\"!headerMode\" id=\"hamburger-container\" :is-active=\"sidebar.opened\" class=\"hamburger-container\" @toggleClick=\"toggleSideBar\" />\r\n\r\n <breadcrumb v-if=\"!headerMode\" id=\"breadcrumb-container\" class=\"breadcrumb-container\" />\r\n <div class=\"right-menu\">\r\n <template v-if=\"device!=='mobile'\">\r\n <el-tooltip content=\"菜单搜索\" effect=\"dark\" placement=\"bottom\">\r\n <div id=\"header-search\" class=\"right-menu-item icon-btn\" @click=\"openSearch\">\r\n <search ref=\"searchRef\" />\r\n </div>\r\n </el-tooltip>\r\n\r\n <el-tooltip content=\"消息通知\" effect=\"dark\" placement=\"bottom\">\r\n <header-notice id=\"header-notice\" class=\"right-menu-item icon-btn\" />\r\n </el-tooltip>\r\n\r\n </template>\r\n\r\n <el-dropdown class=\"avatar-container right-menu-item\" trigger=\"click\" @command=\"handleCommand\">\r\n <div class=\"avatar-wrapper\">\r\n <div class=\"avatar-box\">\r\n <img :src=\"avatar\" class=\"user-avatar\">\r\n <span class=\"online-dot\" title=\"在线\"></span>\r\n </div>\r\n <div class=\"user-info\">\r\n <span class=\"user-nickname\">{{ nickName }}</span>\r\n <span class=\"user-role\">{{ userRoleLabel }}</span>\r\n </div>\r\n <i class=\"el-icon-arrow-down user-caret\"></i>\r\n </div>\r\n <el-dropdown-menu slot=\"dropdown\" class=\"user-dropdown-menu\">\r\n <router-link to=\"/user/profile\">\r\n <el-dropdown-item icon=\"el-icon-user\">个人中心</el-dropdown-item>\r\n </router-link>\r\n <el-dropdown-item icon=\"el-icon-lock\" @click.native=\"lockScreen\">\r\n <span>锁定屏幕</span>\r\n </el-dropdown-item>\r\n <el-dropdown-item divided icon=\"el-icon-switch-button\" @click.native=\"logout\">\r\n <span>退出登录</span>\r\n </el-dropdown-item>\r\n </el-dropdown-menu>\r\n </el-dropdown>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { mapGetters } from 'vuex'\r\nimport Breadcrumb from '@/components/Breadcrumb'\r\nimport Hamburger from '@/components/Hamburger'\r\nimport Screenfull from '@/components/Screenfull'\r\nimport Search from '@/components/HeaderSearch'\r\nimport HeaderNotice from './HeaderNotice'\r\n\r\nexport default {\r\n components: {\r\n Breadcrumb,\r\n Hamburger,\r\n Screenfull,\r\n Search,\r\n HeaderNotice\r\n },\r\n props: {\r\n // headerMode=true 时,Navbar 作为顶部全宽 Header 右侧功能区,仅渲染 right-menu\r\n headerMode: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n data() {\r\n return {}\r\n },\r\n computed: {\r\n ...mapGetters([\r\n 'sidebar',\r\n 'avatar',\r\n 'device',\r\n 'nickName',\r\n 'roles'\r\n ]),\r\n // 用户角色标签:根据 roles 数组智能映射为友好文本\r\n userRoleLabel() {\r\n const roleMap = {\r\n admin: '系统管理员',\r\n teacher: '教师用户',\r\n student: '学生用户',\r\n ROLE_DEFAULT: '普通用户'\r\n }\r\n const r = (this.roles && this.roles[0]) || ''\r\n // 直接匹配或去除 ROLE_ 前缀后再匹配\r\n return roleMap[r] || roleMap[String(r).replace(/^ROLE_/, '')] || '教学管理系统'\r\n }\r\n },\r\n methods: {\r\n toggleSideBar() {\r\n this.$store.dispatch('app/toggleSideBar')\r\n },\r\n handleCommand(command) {\r\n // 预留:下拉菜单 command 事件入口\r\n },\r\n openSearch() {\r\n if (this.$refs.searchRef && typeof this.$refs.searchRef.click === 'function') {\r\n this.$refs.searchRef.click()\r\n }\r\n },\r\n lockScreen() {\r\n const currentPath = this.$route.fullPath\r\n this.$store.dispatch('lock/lockScreen', currentPath).then(() => {\r\n this.$router.push('/lock')\r\n })\r\n },\r\n logout() {\r\n this.$confirm('确定注销并退出系统吗?', '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning'\r\n }).then(() => {\r\n this.$store.dispatch('LogOut').then(() => {\r\n location.href = '/index'\r\n })\r\n }).catch(() => {})\r\n },\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.navbar.nav3 {\r\n .hamburger-container {\r\n display: none !important;\r\n }\r\n}\r\n\r\n.navbar {\r\n height: 50px;\r\n overflow: hidden;\r\n position: relative;\r\n background: #fff;\r\n box-shadow: 0 1px 4px rgba(0,21,41,.08);\r\n display: flex;\r\n align-items: center;\r\n // padding: 0 8px;\r\n box-sizing: border-box;\r\n\r\n &.header-mode {\r\n height: 100%;\r\n background: transparent;\r\n box-shadow: none;\r\n padding-right: 8px;\r\n\r\n /* 深色顶栏下右侧功能区图标与文字改为白色 */\r\n .right-menu-item {\r\n color: rgba(255, 255, 255, 0.95);\r\n\r\n &.icon-btn {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 38px;\r\n height: 38px;\r\n border-radius: 7px;\r\n background: rgba(255, 255, 255, 0.07);\r\n border: 1px solid rgba(255, 255, 255, 0.10);\r\n transition: background-color 0.18s ease, border-color 0.18s ease;\r\n cursor: pointer;\r\n\r\n &:hover {\r\n background: rgba(255, 255, 255, 0.15);\r\n border-color: rgba(255, 255, 255, 0.28);\r\n }\r\n\r\n &:active {\r\n background: rgba(255, 255, 255, 0.21);\r\n }\r\n\r\n .svg-icon {\r\n width: 18px;\r\n height: 18px;\r\n }\r\n }\r\n\r\n .el-dropdown-link {\r\n color: rgba(255, 255, 255, 0.95);\r\n }\r\n }\r\n\r\n /* 通过深选择器让 .icon-btn 样式同时穿透到子组件(如 HeaderNotice)的根元素 */\r\n ::v-deep .icon-btn {\r\n display: inline-flex !important;\r\n align-items: center;\r\n justify-content: center;\r\n width: 38px;\r\n height: 38px;\r\n border-radius: 7px;\r\n background: rgba(255, 255, 255, 0.07);\r\n border: 1px solid rgba(255, 255, 255, 0.10);\r\n transition: background-color 0.18s ease, border-color 0.18s ease;\r\n cursor: pointer;\r\n\r\n &:hover {\r\n background: rgba(255, 255, 255, 0.15);\r\n border-color: rgba(255, 255, 255, 0.28);\r\n }\r\n\r\n &:active {\r\n background: rgba(255, 255, 255, 0.21);\r\n }\r\n\r\n .svg-icon {\r\n width: 18px;\r\n height: 18px;\r\n color: #fff;\r\n }\r\n }\r\n\r\n .avatar-container .avatar-wrapper .user-nickname {\r\n color: #fff;\r\n }\r\n }\r\n\r\n .hamburger-container {\r\n line-height: 46px;\r\n height: 100%;\r\n cursor: pointer;\r\n transition: background .3s;\r\n -webkit-tap-highlight-color:transparent;\r\n display: flex;\r\n align-items: center;\r\n flex-shrink: 0;\r\n margin-right: 8px;\r\n\r\n &:hover {\r\n background: rgba(0, 0, 0, .025)\r\n }\r\n }\r\n\r\n .breadcrumb-container {\r\n flex-shrink: 0;\r\n }\r\n\r\n .topmenu-container {\r\n position: absolute;\r\n left: 50px;\r\n }\r\n\r\n .right-menu {\r\n height: 100%;\r\n line-height: 50px;\r\n display: flex;\r\n align-items: center;\r\n margin-left: auto;\r\n gap: 6px;\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n\r\n .right-menu-item {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n height: 100%;\r\n font-size: 18px;\r\n color: #5a5e66;\r\n vertical-align: text-bottom;\r\n padding: 0;\r\n line-height: normal;\r\n\r\n &.icon-btn {\r\n position: relative;\r\n }\r\n\r\n .el-dropdown-link {\r\n font-size: 14px;\r\n color: #5a5e66;\r\n cursor: pointer;\r\n }\r\n }\r\n\r\n .avatar-container {\r\n margin-right: 0;\r\n padding: 0 6px 0 10px;\r\n height: 100%;\r\n border-radius: 8px;\r\n cursor: pointer;\r\n\r\n &.is-active .user-caret {\r\n transform: rotate(180deg);\r\n }\r\n\r\n .avatar-wrapper {\r\n display: flex;\r\n align-items: center;\r\n position: relative;\r\n gap: 10px;\r\n\r\n .avatar-box {\r\n position: relative;\r\n width: 36px;\r\n height: 36px;\r\n border-radius: 8px;\r\n padding: 2px;\r\n background: rgba(255, 255, 255, 0.92);\r\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);\r\n flex-shrink: 0;\r\n }\r\n\r\n .user-avatar {\r\n cursor: pointer;\r\n width: 100%;\r\n height: 100%;\r\n border-radius: 6px;\r\n object-fit: cover;\r\n background: var(--edu-green-light);\r\n display: block;\r\n }\r\n\r\n .online-dot {\r\n position: absolute;\r\n right: 0;\r\n bottom: 0;\r\n width: 10px;\r\n height: 10px;\r\n border-radius: 50%;\r\n background: #2ecc71;\r\n border: 2px solid #fff;\r\n box-shadow: 0 0 0 0 rgba(46, 204, 113, 0.6);\r\n animation: onlinePulse 2s infinite;\r\n }\r\n\r\n @keyframes onlinePulse {\r\n 0% { box-shadow: 0 0 0 0 rgba(46, 204, 113, 0.55); }\r\n 70% { box-shadow: 0 0 0 6px rgba(46, 204, 113, 0); }\r\n 100% { box-shadow: 0 0 0 0 rgba(46, 204, 113, 0); }\r\n }\r\n\r\n .user-info {\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n line-height: 1.15;\r\n min-width: 0;\r\n }\r\n\r\n .user-nickname {\r\n font-size: 14px;\r\n font-weight: 600;\r\n color: #fff;\r\n max-width: 120px;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n letter-spacing: 0.3px;\r\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);\r\n }\r\n\r\n .user-role {\r\n font-size: 11px;\r\n color: rgba(255, 255, 255, 0.7);\r\n margin-top: 2px;\r\n letter-spacing: 0.2px;\r\n }\r\n\r\n .user-caret {\r\n font-size: 12px;\r\n color: rgba(255, 255, 255, 0.85);\r\n margin-left: 2px;\r\n transition: transform 0.2s ease;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n/* 用户下拉菜单 - 提升视觉品质(非 scoped,因为 el-dropdown-menu 渲染到 body */\r\n.user-dropdown-menu {\r\n border-radius: 10px !important;\r\n border: 1px solid #ebeef5 !important;\r\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 2px 6px rgba(0, 0, 0, 0.06) !important;\r\n padding: 6px !important;\r\n overflow: hidden;\r\n\r\n .el-dropdown-menu__item {\r\n border-radius: 6px;\r\n font-size: 13px;\r\n color: #303133;\r\n line-height: 36px;\r\n padding: 0 14px;\r\n transition: background 0.2s, color 0.2s;\r\n\r\n i {\r\n font-size: 14px;\r\n color: var(--edu-green-primary);\r\n margin-right: 8px;\r\n }\r\n\r\n &:not(.is-disabled):hover,\r\n &:not(.is-disabled):focus {\r\n background: var(--edu-green-light);\r\n color: var(--edu-green-primary);\r\n outline: none;\r\n }\r\n }\r\n}\r\n</style>\r\n"],"mappings":";;;;;;;;;;;AAgDA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,UAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,WAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,aAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,aAAA,GAAAJ,sBAAA,CAAAF,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAEA;EACAO,UAAA;IACAC,UAAA,EAAAA,mBAAA;IACAC,SAAA,EAAAA,kBAAA;IACAC,UAAA,EAAAA,mBAAA;IACAC,MAAA,EAAAA,qBAAA;IACAC,YAAA,EAAAA;EACA;EACAC,KAAA;IACA;IACAC,UAAA;MACAC,IAAA,EAAAC,OAAA;MACAC,OAAA;IACA;EACA;EACAC,IAAA,WAAAA,KAAA;IACA;EACA;EACAC,QAAA,MAAAC,cAAA,CAAAH,OAAA,MAAAG,cAAA,CAAAH,OAAA,MACA,IAAAI,gBAAA,GACA,WACA,UACA,UACA,YACA,QACA;IACA;IACAC,aAAA,WAAAA,cAAA;MACA,IAAAC,OAAA;QACAC,KAAA;QACAC,OAAA;QACAC,OAAA;QACAC,YAAA;MACA;MACA,IAAAC,CAAA,QAAAC,KAAA,SAAAA,KAAA;MACA;MACA,OAAAN,OAAA,CAAAK,CAAA,KAAAL,OAAA,CAAAO,MAAA,CAAAF,CAAA,EAAAG,OAAA;IACA;EAAA,EACA;EACAC,OAAA;IACAC,aAAA,WAAAA,cAAA;MACA,KAAAC,MAAA,CAAAC,QAAA;IACA;IACAC,aAAA,WAAAA,cAAAC,OAAA;MACA;IAAA,CACA;IACAC,UAAA,WAAAA,WAAA;MACA,SAAAC,KAAA,CAAAC,SAAA,gBAAAD,KAAA,CAAAC,SAAA,CAAAC,KAAA;QACA,KAAAF,KAAA,CAAAC,SAAA,CAAAC,KAAA;MACA;IACA;IACAC,UAAA,WAAAA,WAAA;MAAA,IAAAC,KAAA;MACA,IAAAC,WAAA,QAAAC,MAAA,CAAAC,QAAA;MACA,KAAAZ,MAAA,CAAAC,QAAA,oBAAAS,WAAA,EAAAG,IAAA;QACAJ,KAAA,CAAAK,OAAA,CAAAC,IAAA;MACA;IACA;IACAC,MAAA,WAAAA,OAAA;MAAA,IAAAC,MAAA;MACA,KAAAC,QAAA;QACAC,iBAAA;QACAC,gBAAA;QACAvC,IAAA;MACA,GAAAgC,IAAA;QACAI,MAAA,CAAAjB,MAAA,CAAAC,QAAA,WAAAY,IAAA;UACAQ,QAAA,CAAAC,IAAA;QACA;MACA,GAAAC,KAAA;IACA;EACA;AACA","ignoreList":[]}]}