diff --git a/package-lock.json b/package-lock.json index 9bd7be525..9166094eb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -650,18 +650,18 @@ "integrity": "sha1-INIt0Np9NYuyHBf5vehigVJkLHc=" }, "@vueuse/core": { - "version": "4.8.2", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-4.8.2.tgz", - "integrity": "sha512-d6SX9YSWC8svdCEZvlKH3zmstPqNS1h1RHgZUbkxAC/zoNIYP88Ivl1pF3SYm0Iksl6D4Zu/oImKXWCBW21r6g==", + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-4.9.0.tgz", + "integrity": "sha512-vkGB6T9IgsdvbEyEVLaNu+JlMXonqx/mUX5El1u252ZTOa9khsVIAWWEMfxFyXz245V2hJi+O+TZv6rwyHbOLg==", "requires": { - "@vueuse/shared": "4.8.2", + "@vueuse/shared": "4.9.0", "vue-demi": "^0.7.5" } }, "@vueuse/shared": { - "version": "4.8.2", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-4.8.2.tgz", - "integrity": "sha512-Bjy15IHyqUpRbg9cRE9afFwD0gLtGI0tJW7fITWGCwYmSWpBoD+EnGBBGvnoP9pOtxkri9Wte/uKwcVnDos7QA==", + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-4.9.0.tgz", + "integrity": "sha512-u5bSe39llw2DjGerZjFK/jv04sF3G1BX5t4aRat1s+9hzm8mEB55uorqA3VxCgTFMNyc0sactZhj6YIzYdG0dg==", "requires": { "vue-demi": "^0.7.5" } @@ -1478,6 +1478,11 @@ "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.21.tgz", "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=" }, + "lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, "lodash.camelcase": { "version": "4.3.0", "resolved": "https://registry.npm.taobao.org/lodash.camelcase/download/lodash.camelcase-4.3.0.tgz", @@ -2079,9 +2084,9 @@ "dev": true }, "vite": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-2.2.1.tgz", - "integrity": "sha512-KIqK90EoJJpuqE86Y9DSkZjFNGgsyZX/4I1xENIitLRd3hgRtOlIGCJYrNnBD9/eqipz0OroAiIj9/R1JcOdFA==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-2.2.2.tgz", + "integrity": "sha512-Y0IMdu+YuKsisJPk6NaEwEQC7FFfLQSN97ZTE4gvrELrk8dGjTFslhNCG8wkdzMSLCzfOdpCMT8cPXAhqzkPfg==", "dev": true, "requires": { "esbuild": "^0.9.3", @@ -2266,9 +2271,9 @@ "integrity": "sha1-rId6p2qcRTaMl5Rx5GG1INOObPU=" }, "vxe-table": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/vxe-table/-/vxe-table-4.0.12.tgz", - "integrity": "sha512-S//Q2BCTe8dojA+mi6cGX7ONO/2ZrVLPyld0UqclcYf4rMHjYZkGb/CXj475XzBgN4DmXxw8KVsWVMNzGXKnzg==" + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/vxe-table/-/vxe-table-4.0.14.tgz", + "integrity": "sha512-0fwddIk7X+NPneZuucvy6BbTmZ9oRfTxP02ZfWOu5c4KegVSFTIxMWlGkDOhtwf67HcA6gh9UwWkyoPiKhvvCQ==" }, "wangeditor": { "version": "4.6.14", diff --git a/package.json b/package.json index 2f34f74ea..e77066fce 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "@amap/amap-jsapi-loader": "^1.0.1", "@logicflow/core": "^0.3.4", "@logicflow/extension": "^0.3.4", - "@vueuse/core": "^4.8.2", + "@vueuse/core": "^4.9.0", "await-to-js": "^2.1.1", "axios": "^0.21.1", "cropperjs": "^1.5.11", @@ -22,6 +22,7 @@ "echarts": "^5.1.0", "element-plus": "^1.0.2-beta.40", "font-awesome": "^4.7.0", + "lodash-es": "^4.17.21", "mitt": "^2.1.0", "mockjs": "^1.1.0", "nprogress": "^0.2.0", @@ -35,7 +36,7 @@ "vue-types": "^3.0.2", "vuedraggable": "^4.0.1", "vuex": "^4.0.0", - "vxe-table": "^4.0.12", + "vxe-table": "^4.0.14", "wangeditor": "^4.0.3", "xe-ajax": "^4.0.5", "xe-utils": "^3.1.12", @@ -56,7 +57,7 @@ "sass": "^1.32.8", "sass-loader": "^11.0.1", "typescript": "^4.2.4", - "vite": "^2.2.1", + "vite": "^2.2.2", "vite-plugin-mock": "^2.5.0", "vite-plugin-style-import": "^0.9.2" } diff --git a/src/layout/components/sidebar/index.vue b/src/layout/components/sidebar/index.vue index 207a751a6..3830743a5 100644 --- a/src/layout/components/sidebar/index.vue +++ b/src/layout/components/sidebar/index.vue @@ -3,10 +3,10 @@ = [ }, }, { - path: "/user", - name: "user", + path: "/system", + name: "system", component: Layout, - redirect: "/user/base", + redirect: "/system/base", children: [ { - path: "/user/base", + path: "/system/base", component: () => - import(/* webpackChunkName: "user" */ "../views/user.vue"), + import(/* webpackChunkName: "system" */ "../views/system/user.vue"), meta: { - // icon: 'el-icon-user', + // icon: '', title: "message.hsBaseinfo", showLink: false, savedPosition: true, }, }, + { + path: "/system/dict", + component: () => + import(/* webpackChunkName: "system" */ "../views/system/dict.vue"), + meta: { + // icon: '', + title: "message.hsDict", + showLink: false, + savedPosition: true, + }, + }, ], meta: { - icon: "el-icon-user", - title: "message.hsuserManagement", + icon: "el-icon-setting", + title: "message.hssysManagement", showLink: true, savedPosition: true, }, diff --git a/src/style/sidebar.scss b/src/style/sidebar.scss index eeb23c50b..22ef3793f 100644 --- a/src/style/sidebar.scss +++ b/src/style/sidebar.scss @@ -1,8 +1,7 @@ #app { - .main-container { min-height: 100%; - transition: margin-left .28s; + transition: margin-left 0.28s; margin-left: $sideBarWidth; position: relative; } @@ -22,7 +21,8 @@ // reset element-plus css .horizontal-collapse-transition { - transition: 0s width ease-in-out, 0s padding-left ease-in-out, 0s padding-right ease-in-out; + transition: 0s width ease-in-out, 0s padding-left ease-in-out, + 0s padding-right ease-in-out; } .scrollbar-wrapper { @@ -56,6 +56,7 @@ .el-menu { border: none; height: 100%; + // background-color: $menuBg !important; // width: 100% !important; } @@ -67,11 +68,12 @@ } } - .is-active>.el-submenu__title { + .is-active > .el-submenu__title, + .is-active > .el-submenu__title i { color: $subMenuActiveText !important; } - & .nest-menu .el-submenu>.el-submenu__title, + & .nest-menu .el-submenu > .el-submenu__title, & .el-submenu .el-menu-item { min-width: $sideBarWidth !important; background-color: $subMenuBg !important; @@ -83,7 +85,6 @@ } .hideSidebar { - .sidebar-container { width: 54px !important; } @@ -98,14 +99,12 @@ .el-tooltip { padding: 0 !important; - } } .el-submenu { overflow: hidden; - &>.el-submenu__title { - + & > .el-submenu__title { .el-submenu__icon-arrow { display: none; } @@ -115,8 +114,8 @@ .el-menu--collapse { margin-left: -5px; //需优化的地方 .el-submenu { - &>.el-submenu__title { - &>span { + & > .el-submenu__title { + & > span { height: 0; width: 0; overflow: hidden; @@ -139,7 +138,7 @@ } .sidebar-container { - transition: transform .28s; + transition: transform 0.28s; width: $sideBarWidth !important; } @@ -153,7 +152,6 @@ } .withoutAnimation { - .main-container, .sidebar-container { transition: none; @@ -163,13 +161,13 @@ // when menu collapsed .el-menu--vertical { - &>.el-menu { + & > .el-menu { i { margin-right: 16px; } } - .nest-menu .el-submenu>.el-submenu__title, + .nest-menu .el-submenu > .el-submenu__title, .el-menu-item { &:hover { // you can use $subMenuHover @@ -178,7 +176,7 @@ } // the scroll bar appears when the subMenu is too long - >.el-menu--popup { + > .el-menu--popup { max-height: 100vh; overflow-y: auto; @@ -195,7 +193,9 @@ border-radius: 20px; } } - } -.el-scrollbar__wrap { overflow: auto; height: 100%; } \ No newline at end of file +.el-scrollbar__wrap { + overflow: auto; + height: 100%; +} diff --git a/src/style/variables.scss b/src/style/variables.scss index 018d512b5..17a531e59 100644 --- a/src/style/variables.scss +++ b/src/style/variables.scss @@ -1,11 +1,16 @@ // sidebar -$menuText: #bfcbd9; -$menuActiveText: #409eff; +$menuText: #7a80b4; +$menuActiveText: #7a80b4; $subMenuActiveText: #f4f4f5; -$menuBg: #304156; -$menuHover: #263445; +//菜单背景 +$menuBg: #1b2a47; +// 鼠标覆盖菜单时的背景 +$menuHover: #2a395b; + +// 子菜单背景 $subMenuBg: #1f2d3d; +// 鼠标覆盖子菜单时的背景 $subMenuHover: #001528; $sideBarWidth: 210px; diff --git a/src/views/system/dict.vue b/src/views/system/dict.vue new file mode 100644 index 000000000..78449607e --- /dev/null +++ b/src/views/system/dict.vue @@ -0,0 +1,210 @@ + + + \ No newline at end of file diff --git a/src/views/user.vue b/src/views/system/user.vue similarity index 100% rename from src/views/user.vue rename to src/views/system/user.vue