@melt-js/tpl-vue2-admin-ele 0.0.0-stage → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +68 -3
- package/hel_dist/entry.js +37 -0
- package/hel_dist/favicon.ico +0 -0
- package/hel_dist/hel-meta.json +127 -0
- package/hel_dist/hel_userChunk_1.js +1 -0
- package/hel_dist/index.html +1 -0
- package/hel_dist/static/css/chunk-017edab0.c58e968f.css +1 -0
- package/hel_dist/static/css/chunk-5eaa4e8c.fdc15fc9.css +1 -0
- package/hel_dist/static/css/chunk-67ce6001.3f0a3a92.css +1 -0
- package/hel_dist/static/css/chunk-6d379bf5.f23be7e7.css +1 -0
- package/hel_dist/static/css/chunk-718db1ae.6eddafbb.css +1 -0
- package/hel_dist/static/css/chunk-7ba44fd1.85e72a0e.css +1 -0
- package/hel_dist/static/css/chunk-de514d9e.00a6d6a6.css +1 -0
- package/hel_dist/static/css/chunk-elementUI.5646d24e.css +1 -0
- package/hel_dist/static/fonts/element-icons.535877f5.woff +0 -0
- package/hel_dist/static/fonts/element-icons.732389de.ttf +0 -0
- package/hel_dist/static/img/404.a57b6f31.png +0 -0
- package/hel_dist/static/img/404_cloud.0f4bc32b.png +0 -0
- package/hel_dist/static/img/logo.82b9c7a5.png +0 -0
- package/hel_dist/static/js/app.4c22465f.js +1 -0
- package/hel_dist/static/js/chunk-017edab0.362048d2.js +1 -0
- package/hel_dist/static/js/chunk-2d0c8bf7.70b29a00.js +1 -0
- package/hel_dist/static/js/chunk-2d0cfaef.084b1334.js +1 -0
- package/hel_dist/static/js/chunk-2d0d0f79.d7d27267.js +1 -0
- package/hel_dist/static/js/chunk-2d0e4b0c.3835385f.js +1 -0
- package/hel_dist/static/js/chunk-2d0e4e1f.0c68ea9c.js +1 -0
- package/hel_dist/static/js/chunk-2d0e944c.5d7311c9.js +1 -0
- package/hel_dist/static/js/chunk-2d2104c6.b1e1cf15.js +1 -0
- package/hel_dist/static/js/chunk-2d226cab.f4b20d3f.js +1 -0
- package/hel_dist/static/js/chunk-2d229205.b6def72f.js +1 -0
- package/hel_dist/static/js/chunk-5eaa4e8c.62e343d1.js +1 -0
- package/hel_dist/static/js/chunk-67ce6001.c7dec55f.js +1 -0
- package/hel_dist/static/js/chunk-6d379bf5.3d4baab7.js +1 -0
- package/hel_dist/static/js/chunk-718db1ae.a79def1c.js +1 -0
- package/hel_dist/static/js/chunk-7ba44fd1.b80386b8.js +33 -0
- package/hel_dist/static/js/chunk-de514d9e.96bc330f.js +1 -0
- package/hel_dist/static/js/chunk-elementUI.f4fd50f4.js +9 -0
- package/hel_dist/static/js/chunk-libs.8a568f76.js +17 -0
- package/hel_proxy/entry.js +37 -0
- package/hel_proxy_es/entry.js +28 -0
- package/package.json +95 -4
- package/scripts/check.js +13 -0
- package/scripts/meta.js +19 -0
- package/scripts/prepublishOnly.js +26 -0
- package/src/App.vue +11 -0
- package/src/api/table.js +9 -0
- package/src/api/user.js +24 -0
- package/src/assets/404_images/404.png +0 -0
- package/src/assets/404_images/404_cloud.png +0 -0
- package/src/components/Breadcrumb/index.vue +78 -0
- package/src/components/Hamburger/index.vue +44 -0
- package/src/components/SvgIcon/index.vue +62 -0
- package/src/components/index.js +2 -0
- package/src/configs/subApp.js +9 -0
- package/src/entrance/libProperties.js +10 -0
- package/src/entrance/libTypes.ts +24 -0
- package/src/icons/index.js +9 -0
- package/src/icons/svg/dashboard.svg +1 -0
- package/src/icons/svg/example.svg +1 -0
- package/src/icons/svg/eye-open.svg +1 -0
- package/src/icons/svg/eye.svg +1 -0
- package/src/icons/svg/form.svg +1 -0
- package/src/icons/svg/link.svg +1 -0
- package/src/icons/svg/nested.svg +1 -0
- package/src/icons/svg/password.svg +1 -0
- package/src/icons/svg/table.svg +1 -0
- package/src/icons/svg/tree.svg +1 -0
- package/src/icons/svg/user.svg +1 -0
- package/src/icons/svgo.config.js +9 -0
- package/src/layout/components/AppMain.vue +40 -0
- package/src/layout/components/Navbar.vue +139 -0
- package/src/layout/components/Sidebar/FixiOSBug.js +26 -0
- package/src/layout/components/Sidebar/Item.vue +41 -0
- package/src/layout/components/Sidebar/Link.vue +43 -0
- package/src/layout/components/Sidebar/Logo.vue +82 -0
- package/src/layout/components/Sidebar/SidebarItem.vue +95 -0
- package/src/layout/components/Sidebar/index.vue +56 -0
- package/src/layout/components/index.js +3 -0
- package/src/layout/index.vue +93 -0
- package/src/layout/mixin/ResizeHandler.js +45 -0
- package/src/loadApp.js +43 -0
- package/src/main.js +13 -0
- package/src/permission.js +64 -0
- package/src/router/index.js +181 -0
- package/src/settings.js +16 -0
- package/src/store/getters.js +8 -0
- package/src/store/index.js +19 -0
- package/src/store/modules/app.js +48 -0
- package/src/store/modules/settings.js +32 -0
- package/src/store/modules/user.js +97 -0
- package/src/styles/element-ui.scss +49 -0
- package/src/styles/index.scss +65 -0
- package/src/styles/mixin.scss +28 -0
- package/src/styles/sidebar.scss +226 -0
- package/src/styles/transition.scss +48 -0
- package/src/styles/variables.scss +25 -0
- package/src/utils/auth.js +15 -0
- package/src/utils/get-page-title.js +10 -0
- package/src/utils/index.js +117 -0
- package/src/utils/request.js +85 -0
- package/src/utils/validate.js +20 -0
- package/src/views/404.vue +228 -0
- package/src/views/dashboard/index.vue +37 -0
- package/src/views/form/index.vue +85 -0
- package/src/views/login/index.vue +237 -0
- package/src/views/nested/menu1/index.vue +7 -0
- package/src/views/nested/menu1/menu1-1/index.vue +7 -0
- package/src/views/nested/menu1/menu1-2/index.vue +7 -0
- package/src/views/nested/menu1/menu1-2/menu1-2-1/index.vue +5 -0
- package/src/views/nested/menu1/menu1-2/menu1-2-2/index.vue +5 -0
- package/src/views/nested/menu1/menu1-3/index.vue +5 -0
- package/src/views/nested/menu2/index.vue +5 -0
- package/src/views/table/index.vue +79 -0
- package/src/views/tree/index.vue +78 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div style="padding: 0 15px;" @click="toggleClick">
|
|
3
|
+
<svg
|
|
4
|
+
:class="{'is-active':isActive}"
|
|
5
|
+
class="hamburger"
|
|
6
|
+
viewBox="0 0 1024 1024"
|
|
7
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
8
|
+
width="64"
|
|
9
|
+
height="64"
|
|
10
|
+
>
|
|
11
|
+
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z" />
|
|
12
|
+
</svg>
|
|
13
|
+
</div>
|
|
14
|
+
</template>
|
|
15
|
+
|
|
16
|
+
<script>
|
|
17
|
+
export default {
|
|
18
|
+
name: 'Hamburger',
|
|
19
|
+
props: {
|
|
20
|
+
isActive: {
|
|
21
|
+
type: Boolean,
|
|
22
|
+
default: false
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
methods: {
|
|
26
|
+
toggleClick() {
|
|
27
|
+
this.$emit('toggleClick')
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
</script>
|
|
32
|
+
|
|
33
|
+
<style scoped>
|
|
34
|
+
.hamburger {
|
|
35
|
+
display: inline-block;
|
|
36
|
+
vertical-align: middle;
|
|
37
|
+
width: 20px;
|
|
38
|
+
height: 20px;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.hamburger.is-active {
|
|
42
|
+
transform: rotate(180deg);
|
|
43
|
+
}
|
|
44
|
+
</style>
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div v-if="isExternal" :style="styleExternalIcon" class="svg-external-icon svg-icon" v-on="$listeners" />
|
|
3
|
+
<svg v-else :class="svgClass" aria-hidden="true" v-on="$listeners">
|
|
4
|
+
<use :xlink:href="iconName" />
|
|
5
|
+
</svg>
|
|
6
|
+
</template>
|
|
7
|
+
|
|
8
|
+
<script>
|
|
9
|
+
// doc: https://panjiachen.github.io/vue-element-admin-site/feature/component/svg-icon.html#usage
|
|
10
|
+
import { isExternal } from '../../utils/validate'
|
|
11
|
+
|
|
12
|
+
export default {
|
|
13
|
+
name: 'SvgIcon',
|
|
14
|
+
props: {
|
|
15
|
+
iconClass: {
|
|
16
|
+
type: String,
|
|
17
|
+
required: true
|
|
18
|
+
},
|
|
19
|
+
className: {
|
|
20
|
+
type: String,
|
|
21
|
+
default: ''
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
computed: {
|
|
25
|
+
isExternal() {
|
|
26
|
+
return isExternal(this.iconClass)
|
|
27
|
+
},
|
|
28
|
+
iconName() {
|
|
29
|
+
return `#icon-${this.iconClass}`
|
|
30
|
+
},
|
|
31
|
+
svgClass() {
|
|
32
|
+
if (this.className) {
|
|
33
|
+
return 'svg-icon ' + this.className
|
|
34
|
+
} else {
|
|
35
|
+
return 'svg-icon'
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
styleExternalIcon() {
|
|
39
|
+
return {
|
|
40
|
+
mask: `url(${this.iconClass}) no-repeat 50% 50%`,
|
|
41
|
+
'-webkit-mask': `url(${this.iconClass}) no-repeat 50% 50%`
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
</script>
|
|
47
|
+
|
|
48
|
+
<style scoped>
|
|
49
|
+
.svg-icon {
|
|
50
|
+
width: 1em;
|
|
51
|
+
height: 1em;
|
|
52
|
+
vertical-align: -0.15em;
|
|
53
|
+
fill: currentColor;
|
|
54
|
+
overflow: hidden;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.svg-external-icon {
|
|
58
|
+
background-color: currentColor;
|
|
59
|
+
mask-size: cover!important;
|
|
60
|
+
display: inline-block;
|
|
61
|
+
}
|
|
62
|
+
</style>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/*
|
|
2
|
+
|--------------------------------------------------------------------------
|
|
3
|
+
|
|
|
4
|
+
| 组件类型导出文件,同时也作为 rollup 的打包入口文件,因只提供类型,rollup 打包后是一个
|
|
5
|
+
| 仅包含 hel-lib-proxy 的空壳文件,对模块使用方的包体构建大小无影响
|
|
6
|
+
| 模块使用方 通过 npm i xxx-lib 后,只要在头文件处执行过 preFetchLib
|
|
7
|
+
| 则整个项目项使用本地模块一样载入提供方的组件,并可以点击到 node_modules 查看源码
|
|
8
|
+
|
|
|
9
|
+
|--------------------------------------------------------------------------
|
|
10
|
+
*/
|
|
11
|
+
import { exposeLib } from 'hel-lib-proxy'
|
|
12
|
+
import { LIB_NAME } from '../configs/subApp'
|
|
13
|
+
|
|
14
|
+
export type CompTypes = {
|
|
15
|
+
SvgIcon: {},
|
|
16
|
+
Hamburger: {},
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* 将提供给用户的lib暴露出去(同时也暴露了类型)
|
|
21
|
+
*/
|
|
22
|
+
export const dtlib = exposeLib<CompTypes>(LIB_NAME)
|
|
23
|
+
|
|
24
|
+
export default dtlib
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import Vue from 'vue'
|
|
2
|
+
import SvgIcon from '@/components/SvgIcon'// svg component
|
|
3
|
+
|
|
4
|
+
// register globally
|
|
5
|
+
Vue.component('svg-icon', SvgIcon)
|
|
6
|
+
|
|
7
|
+
const req = require.context('./svg', false, /\.svg$/)
|
|
8
|
+
const requireAll = requireContext => requireContext.keys().map(requireContext)
|
|
9
|
+
requireAll(req)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg width="128" height="100" xmlns="http://www.w3.org/2000/svg"><path d="M27.429 63.638c0-2.508-.893-4.65-2.679-6.424-1.786-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.465 2.662-1.785 1.774-2.678 3.916-2.678 6.424 0 2.508.893 4.65 2.678 6.424 1.786 1.775 3.94 2.662 6.465 2.662 2.524 0 4.678-.887 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zm13.714-31.801c0-2.508-.893-4.65-2.679-6.424-1.785-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zM71.714 65.98l7.215-27.116c.285-1.23.107-2.378-.536-3.443-.643-1.064-1.56-1.762-2.75-2.094-1.19-.33-2.333-.177-3.429.462-1.095.639-1.81 1.573-2.143 2.804l-7.214 27.116c-2.857.237-5.405 1.266-7.643 3.088-2.238 1.822-3.738 4.152-4.5 6.992-.952 3.644-.476 7.098 1.429 10.364 1.905 3.265 4.69 5.37 8.357 6.317 3.667.947 7.143.474 10.429-1.42 3.285-1.892 5.404-4.66 6.357-8.305.762-2.84.619-5.607-.429-8.305-1.047-2.697-2.762-4.85-5.143-6.46zm47.143-2.342c0-2.508-.893-4.65-2.678-6.424-1.786-1.775-3.94-2.662-6.465-2.662-2.524 0-4.678.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.786 1.775 3.94 2.662 6.464 2.662 2.524 0 4.679-.887 6.465-2.662 1.785-1.775 2.678-3.916 2.678-6.424zm-45.714-45.43c0-2.509-.893-4.65-2.679-6.425C68.68 10.01 66.524 9.122 64 9.122c-2.524 0-4.679.887-6.464 2.661-1.786 1.775-2.679 3.916-2.679 6.425 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zm32 13.629c0-2.508-.893-4.65-2.679-6.424-1.785-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zM128 63.638c0 12.351-3.357 23.78-10.071 34.286-.905 1.372-2.19 2.058-3.858 2.058H13.93c-1.667 0-2.953-.686-3.858-2.058C3.357 87.465 0 76.037 0 63.638c0-8.613 1.69-16.847 5.071-24.703C8.452 31.08 13 24.312 18.714 18.634c5.715-5.68 12.524-10.199 20.429-13.559C47.048 1.715 55.333.035 64 .035c8.667 0 16.952 1.68 24.857 5.04 7.905 3.36 14.714 7.88 20.429 13.559 5.714 5.678 10.262 12.446 13.643 20.301 3.38 7.856 5.071 16.09 5.071 24.703z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M96.258 57.462h31.421C124.794 27.323 100.426 2.956 70.287.07v31.422a32.856 32.856 0 0 1 25.971 25.97zm-38.796-25.97V.07C27.323 2.956 2.956 27.323.07 57.462h31.422a32.856 32.856 0 0 1 25.97-25.97zm12.825 64.766v31.421c30.46-2.885 54.507-27.253 57.713-57.712H96.579c-2.886 13.466-13.146 23.726-26.292 26.291zM31.492 70.287H.07c2.886 30.46 27.253 54.507 57.713 57.713V96.579c-13.466-2.886-23.726-13.146-26.291-26.292z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="128" height="128"><defs><style/></defs><path d="M512 128q69.675 0 135.51 21.163t115.498 54.997 93.483 74.837 73.685 82.006 51.67 74.837 32.17 54.827L1024 512q-2.347 4.992-6.315 13.483T998.87 560.17t-31.658 51.669-44.331 59.99-56.832 64.34-69.504 60.16-82.347 51.5-94.848 34.687T512 896q-69.675 0-135.51-21.163t-115.498-54.826-93.483-74.326-73.685-81.493-51.67-74.496-32.17-54.997L0 513.707q2.347-4.992 6.315-13.483t18.816-34.816 31.658-51.84 44.331-60.33 56.832-64.683 69.504-60.331 82.347-51.84 94.848-34.816T512 128.085zm0 85.333q-46.677 0-91.648 12.331t-81.152 31.83-70.656 47.146-59.648 54.485-48.853 57.686-37.675 52.821-26.325 43.99q12.33 21.674 26.325 43.52t37.675 52.351 48.853 57.003 59.648 53.845T339.2 767.02t81.152 31.488T512 810.667t91.648-12.331 81.152-31.659 70.656-46.848 59.648-54.186 48.853-57.344 37.675-52.651T927.957 512q-12.33-21.675-26.325-43.648t-37.675-52.65-48.853-57.345-59.648-54.186-70.656-46.848-81.152-31.659T512 213.334zm0 128q70.656 0 120.661 50.006T682.667 512 632.66 632.661 512 682.667 391.339 632.66 341.333 512t50.006-120.661T512 341.333zm0 85.334q-35.328 0-60.33 25.002T426.666 512t25.002 60.33T512 597.334t60.33-25.002T597.334 512t-25.002-60.33T512 426.666z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg width="128" height="64" xmlns="http://www.w3.org/2000/svg"><path d="M127.072 7.994c1.37-2.208.914-5.152-.914-6.87-2.056-1.717-4.797-1.226-6.396.982-.229.245-25.586 32.382-55.74 32.382-29.24 0-55.74-32.382-55.968-32.627-1.6-1.963-4.57-2.208-6.397-.49C-.17 3.086-.399 6.275 1.2 8.238c.457.736 5.94 7.36 14.62 14.72L4.17 35.96c-1.828 1.963-1.6 5.152.228 6.87.457.98 1.6 1.471 2.742 1.471s2.284-.49 3.198-1.472l12.564-13.983c5.94 4.416 13.021 8.587 20.788 11.53l-4.797 17.418c-.685 2.699.686 5.397 3.198 6.133h1.37c2.057 0 3.884-1.472 4.341-3.68L52.6 42.83c3.655.736 7.538 1.227 11.422 1.227 3.883 0 7.767-.49 11.422-1.227l4.797 17.173c.457 2.208 2.513 3.68 4.34 3.68.457 0 .914 0 1.143-.246 2.513-.736 3.883-3.434 3.198-6.133l-4.797-17.172c7.767-2.944 14.848-7.114 20.788-11.53l12.336 13.738c.913.981 2.056 1.472 3.198 1.472s2.284-.49 3.198-1.472c1.828-1.963 1.828-4.906.228-6.87l-11.65-13.001c9.366-7.36 14.849-14.474 14.849-14.474z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M84.068 23.784c-1.02 0-1.877-.32-2.572-.96a8.588 8.588 0 0 1-1.738-2.237 11.524 11.524 0 0 1-1.042-2.621c-.232-.895-.348-1.641-.348-2.238V0h.278c.834 0 1.622.085 2.363.256.742.17 1.645.575 2.711 1.214 1.066.64 2.363 1.535 3.892 2.686 1.53 1.15 3.453 2.664 5.77 4.54 2.502 2.045 4.494 3.771 5.977 5.178 1.483 1.406 2.618 2.6 3.406 3.58.787.98 1.274 1.812 1.46 2.494.185.682.277 1.278.277 1.79v2.046H84.068zM127.3 84.01c.278.682.464 1.535.556 2.558.093 1.023-.37 2.003-1.39 2.94-.463.427-.88.832-1.25 1.215-.372.384-.696.704-.974.96a6.69 6.69 0 0 1-.973.767l-11.816-10.741a44.331 44.331 0 0 0 1.877-1.535 31.028 31.028 0 0 1 1.737-1.406c1.112-.938 2.317-1.343 3.615-1.215 1.297.128 2.363.405 3.197.83.927.427 1.923 1.173 2.989 2.239 1.065 1.065 1.876 2.195 2.432 3.388zM78.23 95.902c2.038 0 3.752-.511 5.143-1.534l-26.969 25.83H18.037c-1.761 0-3.684-.47-5.77-1.407a24.549 24.549 0 0 1-5.838-3.709 21.373 21.373 0 0 1-4.518-5.306c-1.204-2.003-1.807-4.07-1.807-6.202V16.495c0-1.79.44-3.665 1.32-5.626A18.41 18.41 0 0 1 5.04 5.562a21.798 21.798 0 0 1 5.213-3.964C12.198.533 14.237 0 16.37 0h53.24v15.984c0 1.62.278 3.367.834 5.242a16.704 16.704 0 0 0 2.572 5.179c1.159 1.577 2.665 2.898 4.518 3.964 1.853 1.066 4.078 1.598 6.673 1.598h20.295v42.325L85.458 92.45c1.02-1.364 1.529-2.856 1.529-4.476 0-2.216-.857-4.113-2.572-5.69-1.714-1.577-3.776-2.366-6.186-2.366H26.1c-2.409 0-4.448.789-6.116 2.366-1.668 1.577-2.502 3.474-2.502 5.69 0 2.217.834 4.092 2.502 5.626 1.668 1.535 3.707 2.302 6.117 2.302h52.13zM26.1 47.951c-2.41 0-4.449.789-6.117 2.366-1.668 1.577-2.502 3.473-2.502 5.69 0 2.216.834 4.092 2.502 5.626 1.668 1.534 3.707 2.302 6.117 2.302h52.13c2.409 0 4.47-.768 6.185-2.302 1.715-1.534 2.572-3.41 2.572-5.626 0-2.217-.857-4.113-2.572-5.69-1.714-1.577-3.776-2.366-6.186-2.366H26.1zm52.407 64.063l1.807-1.663 3.476-3.196a479.75 479.75 0 0 0 4.587-4.284 500.757 500.757 0 0 1 5.004-4.667c3.985-3.666 8.48-7.758 13.485-12.276l11.677 10.741-13.485 12.404-5.004 4.603-4.587 4.22a179.46 179.46 0 0 0-3.267 3.068c-.88.853-1.367 1.322-1.46 1.407-.463.341-.973.703-1.529 1.087-.556.383-1.112.703-1.668.959-.556.256-1.413.575-2.572.959a83.5 83.5 0 0 1-3.545 1.087 72.2 72.2 0 0 1-3.475.895c-1.112.256-1.946.426-2.502.511-1.112.17-1.854.043-2.224-.383-.371-.426-.464-1.151-.278-2.174.092-.511.278-1.279.556-2.302.278-1.023.602-2.067.973-3.132l1.042-3.005c.325-.938.58-1.577.765-1.918a10.157 10.157 0 0 1 2.224-2.941z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M115.625 127.937H.063V12.375h57.781v12.374H12.438v90.813h90.813V70.156h12.374z"/><path d="M116.426 2.821l8.753 8.753-56.734 56.734-8.753-8.745z"/><path d="M127.893 37.982h-12.375V12.375H88.706V0h39.187z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M.002 9.2c0 5.044 3.58 9.133 7.998 9.133 4.417 0 7.997-4.089 7.997-9.133 0-5.043-3.58-9.132-7.997-9.132S.002 4.157.002 9.2zM31.997.066h95.981V18.33H31.997V.066zm0 45.669c0 5.044 3.58 9.132 7.998 9.132 4.417 0 7.997-4.088 7.997-9.132 0-3.263-1.524-6.278-3.998-7.91-2.475-1.63-5.524-1.63-7.998 0-2.475 1.632-4 4.647-4 7.91zM63.992 36.6h63.986v18.265H63.992V36.6zm-31.995 82.2c0 5.043 3.58 9.132 7.998 9.132 4.417 0 7.997-4.089 7.997-9.132 0-5.044-3.58-9.133-7.997-9.133s-7.998 4.089-7.998 9.133zm31.995-9.131h63.986v18.265H63.992V109.67zm0-27.404c0 5.044 3.58 9.133 7.998 9.133 4.417 0 7.997-4.089 7.997-9.133 0-3.263-1.524-6.277-3.998-7.909-2.475-1.631-5.524-1.631-7.998 0-2.475 1.632-4 4.646-4 7.91zm31.995-9.13h31.991V91.4H95.987V73.135z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M108.8 44.322H89.6v-5.36c0-9.04-3.308-24.163-25.6-24.163-23.145 0-25.6 16.881-25.6 24.162v5.361H19.2v-5.36C19.2 15.281 36.798 0 64 0c27.202 0 44.8 15.281 44.8 38.961v5.361zm-32 39.356c0-5.44-5.763-9.832-12.8-9.832-7.037 0-12.8 4.392-12.8 9.832 0 3.682 2.567 6.808 6.407 8.477v11.205c0 2.718 2.875 4.962 6.4 4.962 3.524 0 6.4-2.244 6.4-4.962V92.155c3.833-1.669 6.393-4.795 6.393-8.477zM128 64v49.201c0 8.158-8.645 14.799-19.2 14.799H19.2C8.651 128 0 121.359 0 113.201V64c0-8.153 8.645-14.799 19.2-14.799h89.6c10.555 0 19.2 6.646 19.2 14.799z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M.006.064h127.988v31.104H.006V.064zm0 38.016h38.396v41.472H.006V38.08zm0 48.384h38.396v41.472H.006V86.464zM44.802 38.08h38.396v41.472H44.802V38.08zm0 48.384h38.396v41.472H44.802V86.464zM89.598 38.08h38.396v41.472H89.598zm0 48.384h38.396v41.472H89.598z"/><path d="M.006.064h127.988v31.104H.006V.064zm0 38.016h38.396v41.472H.006V38.08zm0 48.384h38.396v41.472H.006V86.464zM44.802 38.08h38.396v41.472H44.802V38.08zm0 48.384h38.396v41.472H44.802V86.464zM89.598 38.08h38.396v41.472H89.598zm0 48.384h38.396v41.472H89.598z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M126.713 90.023c.858.985 1.287 2.134 1.287 3.447v29.553c0 1.423-.429 2.6-1.287 3.53-.858.93-1.907 1.395-3.146 1.395H97.824c-1.145 0-2.146-.465-3.004-1.395-.858-.93-1.287-2.107-1.287-3.53V93.47c0-.875.19-1.696.572-2.462.382-.766.906-1.368 1.573-1.806a3.84 3.84 0 0 1 2.146-.657h9.725V69.007a3.84 3.84 0 0 0-.43-1.806 3.569 3.569 0 0 0-1.143-1.313 2.714 2.714 0 0 0-1.573-.492h-36.47v23.149h9.725c1.144 0 2.145.492 3.004 1.478.858.985 1.287 2.134 1.287 3.447v29.553c0 .876-.191 1.696-.573 2.463-.38.766-.905 1.368-1.573 1.806a3.84 3.84 0 0 1-2.145.656H51.915a3.84 3.84 0 0 1-2.145-.656c-.668-.438-1.216-1.04-1.645-1.806a4.96 4.96 0 0 1-.644-2.463V93.47c0-1.313.43-2.462 1.288-3.447.858-.986 1.907-1.478 3.146-1.478h9.582v-23.15h-37.9c-.953 0-1.74.356-2.359 1.068-.62.711-.93 1.56-.93 2.544v19.538h9.726c1.239 0 2.264.492 3.074 1.478.81.985 1.216 2.134 1.216 3.447v29.553c0 1.423-.405 2.6-1.216 3.53-.81.93-1.835 1.395-3.074 1.395H4.29c-.476 0-.93-.082-1.358-.246a4.1 4.1 0 0 1-1.144-.657 4.658 4.658 0 0 1-.93-1.067 5.186 5.186 0 0 1-.643-1.395 5.566 5.566 0 0 1-.215-1.56V93.47c0-.437.048-.875.143-1.313a3.95 3.95 0 0 1 .429-1.15c.19-.328.429-.656.715-.984.286-.329.572-.602.858-.821.286-.22.62-.383 1.001-.493.382-.11.763-.164 1.144-.164h9.726V61.619c0-.985.31-1.833.93-2.544.619-.712 1.358-1.068 2.216-1.068h44.335V39.62h-9.582c-1.24 0-2.288-.492-3.146-1.477a5.09 5.09 0 0 1-1.287-3.448V5.14c0-1.423.429-2.627 1.287-3.612.858-.985 1.907-1.477 3.146-1.477h25.743c.763 0 1.478.246 2.145.739a5.17 5.17 0 0 1 1.573 1.888c.382.766.573 1.587.573 2.462v29.553c0 1.313-.43 2.463-1.287 3.448-.859.985-1.86 1.477-3.004 1.477h-9.725v18.389h42.762c.954 0 1.74.355 2.36 1.067.62.711.93 1.56.93 2.545v26.925h9.582c1.239 0 2.288.492 3.146 1.478z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg width="130" height="130" xmlns="http://www.w3.org/2000/svg"><path d="M63.444 64.996c20.633 0 37.359-14.308 37.359-31.953 0-17.649-16.726-31.952-37.359-31.952-20.631 0-37.36 14.303-37.358 31.952 0 17.645 16.727 31.953 37.359 31.953zM80.57 75.65H49.434c-26.652 0-48.26 18.477-48.26 41.27v2.664c0 9.316 21.608 9.325 48.26 9.325H80.57c26.649 0 48.256-.344 48.256-9.325v-2.663c0-22.794-21.605-41.271-48.256-41.271z" stroke="#979797"/></svg>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<section class="app-main">
|
|
3
|
+
<transition name="fade-transform" mode="out-in">
|
|
4
|
+
<router-view :key="key" />
|
|
5
|
+
</transition>
|
|
6
|
+
</section>
|
|
7
|
+
</template>
|
|
8
|
+
|
|
9
|
+
<script>
|
|
10
|
+
export default {
|
|
11
|
+
name: 'AppMain',
|
|
12
|
+
computed: {
|
|
13
|
+
key() {
|
|
14
|
+
return this.$route.path
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
</script>
|
|
19
|
+
|
|
20
|
+
<style scoped>
|
|
21
|
+
.app-main {
|
|
22
|
+
/*50 = navbar */
|
|
23
|
+
min-height: calc(100vh - 50px);
|
|
24
|
+
width: 100%;
|
|
25
|
+
position: relative;
|
|
26
|
+
overflow: hidden;
|
|
27
|
+
}
|
|
28
|
+
.fixed-header+.app-main {
|
|
29
|
+
padding-top: 50px;
|
|
30
|
+
}
|
|
31
|
+
</style>
|
|
32
|
+
|
|
33
|
+
<style lang="scss">
|
|
34
|
+
// fix css style bug in open el-dialog
|
|
35
|
+
.el-popup-parent--hidden {
|
|
36
|
+
.fixed-header {
|
|
37
|
+
padding-right: 15px;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
</style>
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="navbar">
|
|
3
|
+
<hamburger :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
|
|
4
|
+
|
|
5
|
+
<breadcrumb class="breadcrumb-container" />
|
|
6
|
+
|
|
7
|
+
<div class="right-menu">
|
|
8
|
+
<el-dropdown class="avatar-container" trigger="click">
|
|
9
|
+
<div class="avatar-wrapper">
|
|
10
|
+
<img :src="avatar+'?imageView2/1/w/80/h/80'" class="user-avatar">
|
|
11
|
+
<i class="el-icon-caret-bottom" />
|
|
12
|
+
</div>
|
|
13
|
+
<el-dropdown-menu slot="dropdown" class="user-dropdown">
|
|
14
|
+
<router-link to="/">
|
|
15
|
+
<el-dropdown-item>
|
|
16
|
+
Home
|
|
17
|
+
</el-dropdown-item>
|
|
18
|
+
</router-link>
|
|
19
|
+
<a target="_blank" href="https://github.com/PanJiaChen/vue-admin-template/">
|
|
20
|
+
<el-dropdown-item>Github</el-dropdown-item>
|
|
21
|
+
</a>
|
|
22
|
+
<a target="_blank" href="https://panjiachen.github.io/vue-element-admin-site/#/">
|
|
23
|
+
<el-dropdown-item>Docs</el-dropdown-item>
|
|
24
|
+
</a>
|
|
25
|
+
<el-dropdown-item divided @click.native="logout">
|
|
26
|
+
<span style="display:block;">Log Out</span>
|
|
27
|
+
</el-dropdown-item>
|
|
28
|
+
</el-dropdown-menu>
|
|
29
|
+
</el-dropdown>
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
</template>
|
|
33
|
+
|
|
34
|
+
<script>
|
|
35
|
+
import { mapGetters } from 'vuex'
|
|
36
|
+
import Breadcrumb from '@/components/Breadcrumb'
|
|
37
|
+
import Hamburger from '@/components/Hamburger'
|
|
38
|
+
|
|
39
|
+
export default {
|
|
40
|
+
components: {
|
|
41
|
+
Breadcrumb,
|
|
42
|
+
Hamburger
|
|
43
|
+
},
|
|
44
|
+
computed: {
|
|
45
|
+
...mapGetters([
|
|
46
|
+
'sidebar',
|
|
47
|
+
'avatar'
|
|
48
|
+
])
|
|
49
|
+
},
|
|
50
|
+
methods: {
|
|
51
|
+
toggleSideBar() {
|
|
52
|
+
this.$store.dispatch('app/toggleSideBar')
|
|
53
|
+
},
|
|
54
|
+
async logout() {
|
|
55
|
+
await this.$store.dispatch('user/logout')
|
|
56
|
+
this.$router.push(`/login?redirect=${this.$route.fullPath}`)
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
</script>
|
|
61
|
+
|
|
62
|
+
<style lang="scss" scoped>
|
|
63
|
+
.navbar {
|
|
64
|
+
height: 50px;
|
|
65
|
+
overflow: hidden;
|
|
66
|
+
position: relative;
|
|
67
|
+
background: #fff;
|
|
68
|
+
box-shadow: 0 1px 4px rgba(0,21,41,.08);
|
|
69
|
+
|
|
70
|
+
.hamburger-container {
|
|
71
|
+
line-height: 46px;
|
|
72
|
+
height: 100%;
|
|
73
|
+
float: left;
|
|
74
|
+
cursor: pointer;
|
|
75
|
+
transition: background .3s;
|
|
76
|
+
-webkit-tap-highlight-color:transparent;
|
|
77
|
+
|
|
78
|
+
&:hover {
|
|
79
|
+
background: rgba(0, 0, 0, .025)
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.breadcrumb-container {
|
|
84
|
+
float: left;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.right-menu {
|
|
88
|
+
float: right;
|
|
89
|
+
height: 100%;
|
|
90
|
+
line-height: 50px;
|
|
91
|
+
|
|
92
|
+
&:focus {
|
|
93
|
+
outline: none;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.right-menu-item {
|
|
97
|
+
display: inline-block;
|
|
98
|
+
padding: 0 8px;
|
|
99
|
+
height: 100%;
|
|
100
|
+
font-size: 18px;
|
|
101
|
+
color: #5a5e66;
|
|
102
|
+
vertical-align: text-bottom;
|
|
103
|
+
|
|
104
|
+
&.hover-effect {
|
|
105
|
+
cursor: pointer;
|
|
106
|
+
transition: background .3s;
|
|
107
|
+
|
|
108
|
+
&:hover {
|
|
109
|
+
background: rgba(0, 0, 0, .025)
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.avatar-container {
|
|
115
|
+
margin-right: 30px;
|
|
116
|
+
|
|
117
|
+
.avatar-wrapper {
|
|
118
|
+
margin-top: 5px;
|
|
119
|
+
position: relative;
|
|
120
|
+
|
|
121
|
+
.user-avatar {
|
|
122
|
+
cursor: pointer;
|
|
123
|
+
width: 40px;
|
|
124
|
+
height: 40px;
|
|
125
|
+
border-radius: 10px;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.el-icon-caret-bottom {
|
|
129
|
+
cursor: pointer;
|
|
130
|
+
position: absolute;
|
|
131
|
+
right: -20px;
|
|
132
|
+
top: 25px;
|
|
133
|
+
font-size: 12px;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
</style>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
computed: {
|
|
3
|
+
device() {
|
|
4
|
+
return this.$store.state.app.device
|
|
5
|
+
}
|
|
6
|
+
},
|
|
7
|
+
mounted() {
|
|
8
|
+
// In order to fix the click on menu on the ios device will trigger the mouseleave bug
|
|
9
|
+
// https://github.com/PanJiaChen/vue-element-admin/issues/1135
|
|
10
|
+
this.fixBugIniOS()
|
|
11
|
+
},
|
|
12
|
+
methods: {
|
|
13
|
+
fixBugIniOS() {
|
|
14
|
+
const $subMenu = this.$refs.subMenu
|
|
15
|
+
if ($subMenu) {
|
|
16
|
+
const handleMouseleave = $subMenu.handleMouseleave
|
|
17
|
+
$subMenu.handleMouseleave = (e) => {
|
|
18
|
+
if (this.device === 'mobile') {
|
|
19
|
+
return
|
|
20
|
+
}
|
|
21
|
+
handleMouseleave(e)
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
export default {
|
|
3
|
+
name: 'MenuItem',
|
|
4
|
+
functional: true,
|
|
5
|
+
props: {
|
|
6
|
+
icon: {
|
|
7
|
+
type: String,
|
|
8
|
+
default: ''
|
|
9
|
+
},
|
|
10
|
+
title: {
|
|
11
|
+
type: String,
|
|
12
|
+
default: ''
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
render(h, context) {
|
|
16
|
+
const { icon, title } = context.props
|
|
17
|
+
const vnodes = []
|
|
18
|
+
|
|
19
|
+
if (icon) {
|
|
20
|
+
if (icon.includes('el-icon')) {
|
|
21
|
+
vnodes.push(<i class={[icon, 'sub-el-icon']} />)
|
|
22
|
+
} else {
|
|
23
|
+
vnodes.push(<svg-icon icon-class={icon}/>)
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if (title) {
|
|
28
|
+
vnodes.push(<span slot='title'>{(title)}</span>)
|
|
29
|
+
}
|
|
30
|
+
return vnodes
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
</script>
|
|
34
|
+
|
|
35
|
+
<style scoped>
|
|
36
|
+
.sub-el-icon {
|
|
37
|
+
color: currentColor;
|
|
38
|
+
width: 1em;
|
|
39
|
+
height: 1em;
|
|
40
|
+
}
|
|
41
|
+
</style>
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<component :is="type" v-bind="linkProps(to)">
|
|
3
|
+
<slot />
|
|
4
|
+
</component>
|
|
5
|
+
</template>
|
|
6
|
+
|
|
7
|
+
<script>
|
|
8
|
+
import { isExternal } from '@/utils/validate'
|
|
9
|
+
|
|
10
|
+
export default {
|
|
11
|
+
props: {
|
|
12
|
+
to: {
|
|
13
|
+
type: String,
|
|
14
|
+
required: true
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
computed: {
|
|
18
|
+
isExternal() {
|
|
19
|
+
return isExternal(this.to)
|
|
20
|
+
},
|
|
21
|
+
type() {
|
|
22
|
+
if (this.isExternal) {
|
|
23
|
+
return 'a'
|
|
24
|
+
}
|
|
25
|
+
return 'router-link'
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
methods: {
|
|
29
|
+
linkProps(to) {
|
|
30
|
+
if (this.isExternal) {
|
|
31
|
+
return {
|
|
32
|
+
href: to,
|
|
33
|
+
target: '_blank',
|
|
34
|
+
rel: 'noopener'
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
to: to
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
</script>
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="sidebar-logo-container" :class="{'collapse':collapse}">
|
|
3
|
+
<transition name="sidebarLogoFade">
|
|
4
|
+
<router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/">
|
|
5
|
+
<img v-if="logo" :src="logo" class="sidebar-logo">
|
|
6
|
+
<h1 v-else class="sidebar-title">{{ title }} </h1>
|
|
7
|
+
</router-link>
|
|
8
|
+
<router-link v-else key="expand" class="sidebar-logo-link" to="/">
|
|
9
|
+
<img v-if="logo" :src="logo" class="sidebar-logo">
|
|
10
|
+
<h1 class="sidebar-title">{{ title }} </h1>
|
|
11
|
+
</router-link>
|
|
12
|
+
</transition>
|
|
13
|
+
</div>
|
|
14
|
+
</template>
|
|
15
|
+
|
|
16
|
+
<script>
|
|
17
|
+
export default {
|
|
18
|
+
name: 'SidebarLogo',
|
|
19
|
+
props: {
|
|
20
|
+
collapse: {
|
|
21
|
+
type: Boolean,
|
|
22
|
+
required: true
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
data() {
|
|
26
|
+
return {
|
|
27
|
+
title: 'Vue Admin Template',
|
|
28
|
+
logo: 'https://wpimg.wallstcn.com/69a1c46c-eb1c-4b46-8bd4-e9e686ef5251.png'
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
</script>
|
|
33
|
+
|
|
34
|
+
<style lang="scss" scoped>
|
|
35
|
+
.sidebarLogoFade-enter-active {
|
|
36
|
+
transition: opacity 1.5s;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.sidebarLogoFade-enter,
|
|
40
|
+
.sidebarLogoFade-leave-to {
|
|
41
|
+
opacity: 0;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.sidebar-logo-container {
|
|
45
|
+
position: relative;
|
|
46
|
+
width: 100%;
|
|
47
|
+
height: 50px;
|
|
48
|
+
line-height: 50px;
|
|
49
|
+
background: #2b2f3a;
|
|
50
|
+
text-align: center;
|
|
51
|
+
overflow: hidden;
|
|
52
|
+
|
|
53
|
+
& .sidebar-logo-link {
|
|
54
|
+
height: 100%;
|
|
55
|
+
width: 100%;
|
|
56
|
+
|
|
57
|
+
& .sidebar-logo {
|
|
58
|
+
width: 32px;
|
|
59
|
+
height: 32px;
|
|
60
|
+
vertical-align: middle;
|
|
61
|
+
margin-right: 12px;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
& .sidebar-title {
|
|
65
|
+
display: inline-block;
|
|
66
|
+
margin: 0;
|
|
67
|
+
color: #fff;
|
|
68
|
+
font-weight: 600;
|
|
69
|
+
line-height: 50px;
|
|
70
|
+
font-size: 14px;
|
|
71
|
+
font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif;
|
|
72
|
+
vertical-align: middle;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
&.collapse {
|
|
77
|
+
.sidebar-logo {
|
|
78
|
+
margin-right: 0px;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
</style>
|