n20-common-lib 2.7.0-beta → 2.7.0-beta.1
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/package.json +1 -1
- package/src/assets/css/cl-layout-header.scss +16 -6
- package/src/assets/css/normalize.scss +6 -0
- package/src/components/Layout/HeaderWrap/indexN.vue +3 -36
- package/src/components/Layout/HeaderWrap/menuDrawer.vue +65 -15
- package/style/index.css +1 -1
- package/theme/blue.css +1 -1
- package/theme/cctcRed.css +1 -1
- package/theme/green.css +1 -1
- package/theme/lightBlue.css +1 -1
- package/theme/orange.css +1 -1
- package/theme/purple.css +1 -1
- package/theme/red.css +1 -1
- package/theme/yellow.css +1 -1
package/package.json
CHANGED
|
@@ -284,13 +284,23 @@ $--header-color: #3d4a57;
|
|
|
284
284
|
top: 48px;
|
|
285
285
|
left: 190px;
|
|
286
286
|
width: calc(100% - 190px);
|
|
287
|
+
padding-left: 105px;
|
|
287
288
|
|
|
288
|
-
.
|
|
289
|
-
|
|
290
|
-
|
|
289
|
+
.menu {
|
|
290
|
+
&-system-item {
|
|
291
|
+
flex: 0 0 33.33%;
|
|
292
|
+
padding-top: 32px;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
&-system-child {
|
|
296
|
+
padding-top: 16px;
|
|
297
|
+
padding-left: 32px;
|
|
298
|
+
}
|
|
291
299
|
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
300
|
+
&-first-item {
|
|
301
|
+
flex: 0 0 33.33%;
|
|
302
|
+
margin-bottom: 16px;
|
|
303
|
+
}
|
|
295
304
|
}
|
|
305
|
+
|
|
296
306
|
}
|
|
@@ -29,30 +29,7 @@
|
|
|
29
29
|
<use xlink:href="#n20-icon-lujing"></use>
|
|
30
30
|
</svg>
|
|
31
31
|
</div>
|
|
32
|
-
<menuDrawer
|
|
33
|
-
<div class="pointer flex-box flex-wrap header_menu_box">
|
|
34
|
-
<div v-for="(item, i) in headerSystem" :key="i" class="flex-column flex-s flex-v header_flex-base">
|
|
35
|
-
<div class="flex-box flex-v" @click="clickSystem(item)">
|
|
36
|
-
<svg
|
|
37
|
-
style="width: 2em; height: 2em; vertical-align: -0.15em; fill: currentColor; overflow: hidden"
|
|
38
|
-
aria-hidden="true"
|
|
39
|
-
>
|
|
40
|
-
<use :xlink:href="item.icon"></use>
|
|
41
|
-
</svg>
|
|
42
|
-
<span class="m-l-s">{{ item.NAME }}</span>
|
|
43
|
-
</div>
|
|
44
|
-
<div
|
|
45
|
-
class="flex-box flex-wrap flex-v"
|
|
46
|
-
style="padding-left: 36px; padding-bottom: 32px"
|
|
47
|
-
v-if="item.menuTree.length"
|
|
48
|
-
>
|
|
49
|
-
<div class="header_flex-base p-b-ss" v-for="(row, i) in item.menuTree" :key="i" @click="clickMenu(row)">
|
|
50
|
-
{{ row.title }}
|
|
51
|
-
</div>
|
|
52
|
-
</div>
|
|
53
|
-
</div>
|
|
54
|
-
</div>
|
|
55
|
-
</menuDrawer>
|
|
32
|
+
<menuDrawer :visible.sync="menuDrawer" :menus="headerSystem" :callback="getTreeList"></menuDrawer>
|
|
56
33
|
|
|
57
34
|
<span v-if="byLabel && !inBack" class="header-uif-by">{{ byLabel }}</span>
|
|
58
35
|
<!-- YSCW -->
|
|
@@ -465,6 +442,7 @@ export default {
|
|
|
465
442
|
methods: {
|
|
466
443
|
handleChangeSystem() {
|
|
467
444
|
this.menuDrawer = true
|
|
445
|
+
this.getTreeList({}, null)
|
|
468
446
|
let system_list = JSON.parse(localStorage.getItem('SYSTEM_LIST'))
|
|
469
447
|
let menuTree = JSON.parse(sessionStorage.getItem('menuTree'))
|
|
470
448
|
let length = system_list.length
|
|
@@ -498,7 +476,7 @@ export default {
|
|
|
498
476
|
}
|
|
499
477
|
system_list[i].menuTree = []
|
|
500
478
|
for (let j = 0; j < menuTree.length; j++) {
|
|
501
|
-
if (system_list[i].NO === menuTree[j].systemNo) {
|
|
479
|
+
if (system_list[i].NO === menuTree[j].systemNo && menuTree[j].isBackmenu === '1') {
|
|
502
480
|
system_list[i].menuTree.push(menuTree[j])
|
|
503
481
|
}
|
|
504
482
|
}
|
|
@@ -530,17 +508,6 @@ export default {
|
|
|
530
508
|
let layoutMenus = siteTree2menus(data || [])
|
|
531
509
|
sessionStorage.setItem('menuTree', JSON.stringify(layoutMenus))
|
|
532
510
|
},
|
|
533
|
-
async clickSystem(item) {
|
|
534
|
-
await this.getTreeList(item)
|
|
535
|
-
// localStorage.setItem('pageInType', 'toFront')
|
|
536
|
-
window.localStorage.setItem('pageInSystemNo', item.NO)
|
|
537
|
-
// 切换系统的时候清除缓存的页签
|
|
538
|
-
window.sessionStorage.removeItem('tab-list')
|
|
539
|
-
let { base = '/' } = this.$router.options
|
|
540
|
-
if (!/\/$/.test(base)) base += '/'
|
|
541
|
-
|
|
542
|
-
window.location.href = window.location.origin + base + 'dashboard/workplace'
|
|
543
|
-
},
|
|
544
511
|
|
|
545
512
|
handleUser() {
|
|
546
513
|
this.$refs.userDropMenu.offset = 1000
|
|
@@ -1,27 +1,77 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<el-drawer
|
|
3
|
+
:visible.sync="drawer"
|
|
4
|
+
custom-class="header-menu-drawer"
|
|
5
|
+
:with-header="false"
|
|
6
|
+
:appendToBody="true"
|
|
7
|
+
direction="ttb"
|
|
8
|
+
size="45%"
|
|
9
|
+
>
|
|
10
|
+
<div class="pointer flex-box flex-wrap">
|
|
11
|
+
<div v-for="(item, i) in menus" :key="i" class="menu-system-item">
|
|
12
|
+
<div class="flex-box flex-v" @click="clickSystem(item)">
|
|
13
|
+
<svg
|
|
14
|
+
style="width: 2em; height: 2em; vertical-align: -0.15em; fill: currentColor; overflow: hidden"
|
|
15
|
+
aria-hidden="true"
|
|
16
|
+
>
|
|
17
|
+
<use :xlink:href="item.icon"></use>
|
|
18
|
+
</svg>
|
|
19
|
+
<span class="m-l-s">{{ item.NAME }}</span>
|
|
20
|
+
</div>
|
|
21
|
+
<div v-if="item.menuTree.length" class="flex-box flex-wrap menu-system-child">
|
|
22
|
+
<div v-for="(row, i) in item.menuTree" :key="i" class="menu-first-item" @click="clickMenu(row)">
|
|
23
|
+
{{ row.title }}
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
</el-drawer>
|
|
29
|
+
</template>
|
|
30
|
+
|
|
1
31
|
<script>
|
|
2
|
-
import { Drawer } from 'element-ui'
|
|
3
32
|
export default {
|
|
4
33
|
name: 'MenuDrawer',
|
|
5
|
-
extends: Drawer,
|
|
6
34
|
props: {
|
|
7
|
-
|
|
35
|
+
menus: {
|
|
36
|
+
type: Array,
|
|
37
|
+
default: () => []
|
|
38
|
+
},
|
|
39
|
+
visible: {
|
|
8
40
|
type: Boolean,
|
|
9
41
|
default: false
|
|
10
42
|
},
|
|
11
|
-
|
|
12
|
-
type:
|
|
13
|
-
default:
|
|
14
|
-
|
|
15
|
-
|
|
43
|
+
callback: {
|
|
44
|
+
type: Function,
|
|
45
|
+
default: () => {}
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
computed: {
|
|
49
|
+
drawer: {
|
|
50
|
+
get() {
|
|
51
|
+
return this.visible
|
|
52
|
+
},
|
|
53
|
+
set(val) {
|
|
54
|
+
this.$emit('update:visible', val)
|
|
16
55
|
}
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
methods: {
|
|
59
|
+
async clickSystem(item) {
|
|
60
|
+
// localStorage.setItem('pageInType', 'toFront')
|
|
61
|
+
window.localStorage.setItem('pageInSystemNo', item.NO)
|
|
62
|
+
// 切换系统的时候清除缓存的页签
|
|
63
|
+
window.sessionStorage.removeItem('tab-list')
|
|
64
|
+
let { base = '/' } = this.$router.options
|
|
65
|
+
if (!/\/$/.test(base)) base += '/'
|
|
66
|
+
|
|
67
|
+
window.location.href = window.location.origin + base + 'dashboard/workplace'
|
|
17
68
|
},
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
default: '40%'
|
|
69
|
+
clickMenu(row) {
|
|
70
|
+
if (row?.children?.length) {
|
|
71
|
+
this.$router.push(row.children[0].route)
|
|
72
|
+
} else {
|
|
73
|
+
this.$router.push(row.route)
|
|
74
|
+
}
|
|
25
75
|
}
|
|
26
76
|
}
|
|
27
77
|
}
|