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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n20-common-lib",
3
- "version": "2.7.0-beta",
3
+ "version": "2.7.0-beta.1",
4
4
  "private": false,
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -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
- .header_flex-base {
289
- flex-basis: 33.33%;
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
- .header_menu_box {
293
- padding-top: 48px;
294
- padding-left: 105px;
300
+ &-first-item {
301
+ flex: 0 0 33.33%;
302
+ margin-bottom: 16px;
303
+ }
295
304
  }
305
+
296
306
  }
@@ -379,6 +379,12 @@ iframe {
379
379
  }
380
380
  }
381
381
 
382
+
383
+
384
+
385
+
386
+
387
+
382
388
  /* 旋转图标90度
383
389
  -------------- */
384
390
  .rotate90 {
@@ -29,30 +29,7 @@
29
29
  <use xlink:href="#n20-icon-lujing"></use>
30
30
  </svg>
31
31
  </div>
32
- <menuDrawer custom-class="header-menu-drawer" :visible.sync="menuDrawer" :with-header="false">
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
- modal: {
35
+ menus: {
36
+ type: Array,
37
+ default: () => []
38
+ },
39
+ visible: {
8
40
  type: Boolean,
9
41
  default: false
10
42
  },
11
- direction: {
12
- type: String,
13
- default: 'ttb',
14
- validator(val) {
15
- return ['ltr', 'rtl', 'ttb', 'btt'].indexOf(val) !== -1
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
- appendToBody: {
19
- type: Boolean,
20
- default: true
21
- },
22
- size: {
23
- type: [Number, String],
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
  }