n20-common-lib 2.7.0-beta.16 → 2.7.0-beta.18

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.16",
3
+ "version": "2.7.0-beta.18",
4
4
  "private": false,
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -345,6 +345,18 @@ $--header-color: #3d4a57;
345
345
 
346
346
  }
347
347
 
348
+ .wrapper-mask {
349
+ position: fixed;
350
+ left: 0;
351
+ top: 0;
352
+ bottom: 0;
353
+ right: 0;
354
+ width: 100vw;
355
+ height: 100vh;
356
+ background: hsla(0, 0%, 100%, 0);
357
+ z-index: 900;
358
+ }
359
+
348
360
  .menu.show_drawer {
349
361
  max-height: calc(90vh - 50px);
350
362
  min-height: 350px;
@@ -3,10 +3,10 @@ import getWidth from '../../utils/asciiWidth.js'
3
3
  const prefixClass = 'n20-advanced-filter-item'
4
4
 
5
5
  export default {
6
- name: "FormItem",
6
+ name: 'FormItem',
7
7
  props: {
8
8
  label: {
9
- type:String,
9
+ type: String,
10
10
  default: ''
11
11
  }
12
12
  },
@@ -16,8 +16,8 @@ export default {
16
16
  }
17
17
  },
18
18
  computed: {
19
- width(){
20
- return this._lang === 'zh'? this.label.length: getWidth(this.label)
19
+ width() {
20
+ return this._lang === 'zh' ? this.label.length : getWidth(this.label)
21
21
  }
22
22
  }
23
23
  }
@@ -25,17 +25,10 @@ export default {
25
25
 
26
26
  <template>
27
27
  <div :class="prefixClass">
28
- <div :class="prefixClass +'__name'">{{label}}</div>
29
- <div :class="[prefixClass+ '__value']">
28
+ <div :class="prefixClass + '__name'">{{ label }}</div>
29
+ <div :class="[prefixClass + '__value']">
30
30
  <slot></slot>
31
31
  </div>
32
32
  <i class="filter_remove n20-icon-yichu"></i>
33
33
  </div>
34
34
  </template>
35
-
36
-
37
- <style lang="scss">
38
- .n20-advanced-filter-item {
39
-
40
- }
41
- </style>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="inline_block ">
2
+ <div class="inline_block">
3
3
  <el-select v-model="showValue" select collapse-tags clearable multiple disabled v-title="showValue.toString()">
4
4
  <el-option v-for="item in showValue" :key="item" :label="item" :value="item" />
5
5
  </el-select>
@@ -78,7 +78,7 @@
78
78
  <div class="flex-box flex-lr">
79
79
  <span>
80
80
  <span>{{
81
- options.find(item2 => {
81
+ options.find((item2) => {
82
82
  return item2.value === item.type
83
83
  }).label
84
84
  }}</span>
@@ -190,15 +190,15 @@ export default {
190
190
  created() {},
191
191
  mounted() {
192
192
  console.log(this.optionsSelect)
193
- this.filterOptions = JSON.parse(JSON.stringify(this.options)).filter(item => {
193
+ this.filterOptions = JSON.parse(JSON.stringify(this.options)).filter((item) => {
194
194
  return this.optionsSelect.includes(item.label)
195
195
  })
196
196
  this.setView()
197
197
  },
198
198
  methods: {
199
199
  setView() {
200
- this.showValue = this.value.map(item => {
201
- const type = this.options.find(item2 => {
200
+ this.showValue = this.value.map((item) => {
201
+ const type = this.options.find((item2) => {
202
202
  return item2.value === item.type
203
203
  }).label
204
204
  let week = ''
@@ -268,11 +268,9 @@ export default {
268
268
  }
269
269
  }
270
270
  </script>
271
- <style lang="scss" scoped>
272
- .list {
273
- li {
271
+ <stylescoped>
272
+ .list li {
274
273
  height: 24px;
275
274
  line-height: 24px;
276
275
  }
277
- }
278
- </style>
276
+ </stylescoped>
@@ -19,8 +19,8 @@
19
19
  />
20
20
  <!-- <el-divider class="header-wrap-logo-hr" direction="vertical" /> -->
21
21
  <div class="m-l-m"></div>
22
- <h3 class="header-title m-r-s">{{ headerTitle | $l }}</h3>
23
- <div class="m-r-auto p-a-ss pointer header_change_system_box" @click="handleChangeSystem">
22
+ <h3 :class="['header-title ', showNavigation ? 'm-r-s' : 'm-r-auto']">{{ headerTitle | $l }}</h3>
23
+ <div v-if="showNavigation" class="m-r-auto p-a-ss pointer header_change_system_box" @click="handleChangeSystem">
24
24
  <svg class="icon" aria-hidden="true">
25
25
  <use xlink:href="#n20-icon-caidan"></use>
26
26
  </svg>
@@ -224,6 +224,20 @@
224
224
  <i class="el-icon-caret-right m-l-auto m-r-0"></i>
225
225
  </div>
226
226
  </el-dropdown-item>
227
+ <!-- 系统切换 -->
228
+ <el-dropdown-item v-if="systemChange && systemList && systemList.length">
229
+ <el-dropdown trigger="hover" size="medium" placement="left-start" style="width: 100%">
230
+ <div class="flex-box flex-v">
231
+ <span>{{ '系统切换' | $lc }}</span>
232
+ <i class="el-icon-caret-right m-l-auto m-r-0"></i>
233
+ </div>
234
+ <el-dropdown-menu slot="dropdown">
235
+ <el-dropdown-item v-for="(item, i) in systemList" :key="i" @click.native="clickSystemChange(item)">
236
+ <span>{{ item.NAME }}</span>
237
+ </el-dropdown-item>
238
+ </el-dropdown-menu>
239
+ </el-dropdown>
240
+ </el-dropdown-item>
227
241
  <slot name="header-dropdown"></slot>
228
242
  <el-dropdown-item command="logOut">
229
243
  <div class="flex-box flex-v">
@@ -289,7 +303,72 @@ dayjs.extend(duration)
289
303
  import { siteTree2menus } from '../../LoginTemporary/utils'
290
304
 
291
305
  const prefix = window.__INJECTED_PUBLIC_PATH_BY_QIANKUN__ || process.env.BASE_URL || '/'
292
-
306
+ const SYSTEM_LIST = [
307
+ {
308
+ NO: 'CSZHYW',
309
+ NAME: '财司综合业务系统',
310
+ ICON: '',
311
+ LOGIN_MODE: ['account'],
312
+ LOGIN_FORGET_MODE: ['phoneCode'],
313
+ OPEN: true
314
+ },
315
+ {
316
+ NO: 'CSYWGL',
317
+ NAME: '财司业务管理系统',
318
+ ICON: '',
319
+ LOGIN_MODE: ['account'],
320
+ LOGIN_FORGET_MODE: [],
321
+ OPEN: true
322
+ },
323
+ {
324
+ NO: 'CSFZJC',
325
+ NAME: '财司辅助决策系统',
326
+ ICON: '',
327
+ LOGIN_MODE: ['pthon'],
328
+ LOGIN_FORGET_MODE: ['ukCode'],
329
+ OPEN: true
330
+ },
331
+ {
332
+ NO: 'CSWY',
333
+ NAME: '财司网银系统',
334
+ ICON: '',
335
+ LOGIN_MODE: ['qrcode', 'account'],
336
+ LOGIN_FORGET_MODE: ['phoneCode'],
337
+ OPEN: true
338
+ },
339
+ {
340
+ NO: 'JTZL',
341
+ NAME: '财司直连平台系统',
342
+ ICON: '',
343
+ LOGIN_MODE: ['accountPthon'],
344
+ LOGIN_FORGET_MODE: ['phoneCode'],
345
+ OPEN: true
346
+ },
347
+ {
348
+ NO: 'JRWG',
349
+ NAME: '金融网关系统',
350
+ ICON: '',
351
+ LOGIN_MODE: ['account'],
352
+ LOGIN_FORGET_MODE: ['ukCode'],
353
+ OPEN: true
354
+ },
355
+ {
356
+ NO: 'JTSKYWGK',
357
+ NAME: '集团司库业务管控系统',
358
+ ICON: '',
359
+ LOGIN_FORGET_MODE: ['phoneCode'],
360
+ LOGIN_MODE: ['pthon', 'account'],
361
+ OPEN: true
362
+ },
363
+ {
364
+ NO: 'JTSKSJFX',
365
+ NAME: '集团数据分析系统',
366
+ ICON: '',
367
+ LOGIN_FORGET_MODE: ['phoneCode'],
368
+ LOGIN_MODE: ['account'],
369
+ OPEN: true
370
+ }
371
+ ]
293
372
  export default {
294
373
  components: {
295
374
  dialogWrap,
@@ -303,7 +382,7 @@ export default {
303
382
  type: Function,
304
383
  default: undefined
305
384
  },
306
- systemChange: {
385
+ drawerVisible: {
307
386
  type: Boolean,
308
387
  default: false
309
388
  },
@@ -344,6 +423,8 @@ export default {
344
423
  hideTheme: undefined,
345
424
  userInfo: {},
346
425
  userMd: undefined,
426
+ showNavigation: false,
427
+ systemChange: false,
347
428
  userNo: window.sessionStorage.getItem('userNo'),
348
429
  durationTime: $lc('00小时00分00秒'),
349
430
  cpwdV: false,
@@ -356,7 +437,6 @@ export default {
356
437
  afficheNum: 0,
357
438
  rolesList: [],
358
439
  headerSystem: [],
359
- showDrawerBox: false,
360
440
  scV: false,
361
441
  underway: false,
362
442
  /* */
@@ -386,10 +466,15 @@ export default {
386
466
  this.hideLang = _layoutData.hideLang
387
467
  this.hideDowApp = _layoutData.hideDowApp
388
468
  this.hideTheme = _layoutData.hideTheme
469
+ this.showNavigation = _layoutData.showNavigation
470
+ this.systemChange = _layoutData.systemChange
389
471
 
390
472
  if (_loginSetting !== 'JSON') {
391
473
  this.headerTitle = sessionStorage.getItem('headerTitle') || this.headerTitle
392
474
  }
475
+ if (this.systemChange) {
476
+ this.systemList = JSON.parse(localStorage.getItem('SYSTEM_LIST')) || SYSTEM_LIST
477
+ }
393
478
  this.show = true
394
479
 
395
480
  this.getUserImg().catch(() => {
@@ -428,19 +513,12 @@ export default {
428
513
  methods: {
429
514
  async handleChangeSystem() {
430
515
  let menuTree = JSON.parse(sessionStorage.getItem('allMenuTree'))
431
- if (!menuTree) {
432
- this.getTreeList().finally(async () => {
433
- let tree = JSON.parse(sessionStorage.getItem('allMenuTree'))
434
- this.setMenuData(tree)
435
- })
436
- } else {
437
- this.setMenuData(menuTree)
438
- }
516
+ console.log(menuTree)
517
+ this.setMenuData(menuTree)
439
518
  },
440
519
  setMenuData(menuTree) {
441
- let system_list = JSON.parse(localStorage.getItem('SYSTEM_LIST'))
442
- this.headerSystem = system_list
443
- .map((system) => {
520
+ try {
521
+ this.headerSystem = SYSTEM_LIST.map((system) => {
444
522
  const icon =
445
523
  {
446
524
  CSZHYW: '#n20-icon-zhcsyw',
@@ -454,35 +532,56 @@ export default {
454
532
  }[system.NO] || ''
455
533
 
456
534
  system.icon = icon
457
- system.menuTree = menuTree
458
- ?.filter((menu) => menu.systemNo === system.NO && menu.isBackmenu === '0' && menu.children?.length > 0)
459
- .map((menu) => ({
460
- ...menu,
461
- icon:
462
- {
463
- CSZHYW: '#n20-icon-zhcsyw',
464
- CSYWGL: '#n20-icon-bianzu',
465
- CSFZJC: '#n20-icon-a-bianzu70',
466
- CSWY: '#n20-icon-a-bianzu69',
467
- JTZL: '#n20-icon-a-bianzu3',
468
- JRWG: '#n20-icon-a-bianzu1',
469
- JTSKYWGK: '#n20-icon-a-bianzu701',
470
- JTSKSJFX: '#n20-icon-a-bianzu2'
471
- }[menu.NO] || ''
472
- }))
473
-
535
+ system.menuTree = menuTree?.filter(
536
+ (menu) => menu.systemNo === system.NO && menu.isBackmenu === '0' && menu.children?.length > 0
537
+ )
538
+ // .map((menu) => ({
539
+ // ...menu,
540
+ // icon:
541
+ // {
542
+ // CSZHYW: '#n20-icon-zhcsyw',
543
+ // CSYWGL: '#n20-icon-bianzu',
544
+ // CSFZJC: '#n20-icon-a-bianzu70',
545
+ // CSWY: '#n20-icon-a-bianzu69',
546
+ // JTZL: '#n20-icon-a-bianzu3',
547
+ // JRWG: '#n20-icon-a-bianzu1',
548
+ // JTSKYWGK: '#n20-icon-a-bianzu701',
549
+ // JTSKSJFX: '#n20-icon-a-bianzu2'
550
+ // }[menu.NO] || ''
551
+ // }))
552
+ console.log(system)
474
553
  return system
475
- })
476
- .filter((item) => item.menuTree?.length > 0)
477
- this.showDrawerBox = !this.showDrawerBox
478
- console.log(this.headerSystem)
479
- this.$emit('clickSystem', this.headerSystem, this.showDrawerBox)
554
+ }).filter((item) => item.menuTree?.length > 0)
555
+ console.log(this.headerSystem)
556
+ } catch (error) {
557
+ console.log(error)
558
+ }
559
+
560
+ this.$emit('update:drawerVisible', !this.drawerVisible)
561
+ this.$emit('clickSystem', this.headerSystem)
480
562
  },
563
+ async clickSystemChange(item) {
564
+ await this.getTreeList(item)
565
+ // localStorage.setItem('pageInType', 'toFront')
566
+ window.localStorage.setItem('pageInSystemNo', item.NO)
567
+ // 切换系统的时候清除缓存的页签
568
+ window.sessionStorage.removeItem('tab-list')
569
+ let { base = '/' } = this.$router.options
570
+ if (!/\/$/.test(base)) base += '/'
481
571
 
482
- async getTreeList(item = {}) {
483
- let { data } = await axios.get(`/bems/1.0/menuTree/tree?t=${Date.now()}`, item, { loading: false })
572
+ window.location.href = window.location.origin + base + 'dashboard/workplace'
573
+ },
574
+ async getTreeList(item) {
575
+ let { data } = await axios.get(
576
+ `/bems/1.0/menuTree/tree?t=${Date.now()}`,
577
+ {
578
+ resType: 1,
579
+ systemNo: item.NO
580
+ },
581
+ { loading: false }
582
+ )
484
583
  let layoutMenus = siteTree2menus(data || [])
485
- sessionStorage.setItem('allMenuTree', JSON.stringify(layoutMenus))
584
+ sessionStorage.setItem('menuTree', JSON.stringify(layoutMenus))
486
585
  },
487
586
 
488
587
  handleUser() {
@@ -7,12 +7,14 @@
7
7
  :operation-status="operationStatus"
8
8
  :before-logout="beforeLogout"
9
9
  :after-logout="afterLogout"
10
+ :drawerVisible.sync="showDrawerBox"
10
11
  @clickSystem="clickSystem"
11
12
  @custom-event="(par) => $emit('custom-event', par)"
12
13
  >
13
14
  <slot slot="header-ectad" name="header-ectad"></slot>
14
15
  <slot slot="header-dropdown" name="header-dropdown"></slot>
15
16
  </headerWrap>
17
+ <div v-if="showDrawerBox" class="wrapper-mask" @click="showDrawerBox = false"></div>
16
18
  <menuDrawer
17
19
  :class="showDrawerBox ? 'show_drawer' : ''"
18
20
  :menus="systemMenu"
@@ -199,8 +201,7 @@ export default {
199
201
  refreshTab && this.tabRefresh(refreshTab)
200
202
  }
201
203
  },
202
- clickSystem(menu, drawerVisible) {
203
- this.showDrawerBox = drawerVisible
204
+ clickSystem(menu) {
204
205
  this.systemMenu = menu
205
206
  },
206
207
  getCollapse() {
@@ -23,8 +23,6 @@
23
23
  }"
24
24
  :style="{ backgroundImage: loginBg }"
25
25
  >
26
- <component :is="'style'">{{ wrapStyle }}</component>
27
-
28
26
  <div class="login-logo-box flex-box flex-v">
29
27
  <img
30
28
  v-if="loginLogo"
@@ -35,37 +33,9 @@
35
33
  <h3 class="login-logo-text">{{ loginLogoText | $l }}</h3>
36
34
  </div>
37
35
 
38
- <!-- <el-dropdown
39
- v-if="!jsonData.hideLang"
40
- class="login-language-box m-l-lg"
41
- :style="{ right: _lang == 'en' ? '260px' : '200px' }"
42
- @command="setLang"
43
- >
44
- <span
45
- class="set-user-btn iconfont header-color"
46
- :class="{
47
- 'icon-zhongwen': langVal === 'zh-cn',
48
- 'icon-fanti': langVal === 'zh-hk',
49
- 'icon-yuyanqiehuan': langVal === 'en'
50
- }"
51
- ></span>
52
-
53
- <el-dropdown-menu slot="dropdown">
54
- <el-dropdown-item command="zh-cn"
55
- ><i class="iconfont icon-zhongwen f-s-icon"></i>{{ '简体中文' | $lc }}</el-dropdown-item
56
- >
57
- <el-dropdown-item command="zh-hk"
58
- ><i class="iconfont icon-fanti f-s-icon"></i>{{ '繁体中文' | $lc }}</el-dropdown-item
59
- >
60
- <el-dropdown-item command="en"
61
- ><i class="iconfont icon-yuyanqiehuan f-s-icon"></i>{{ '英文' | $lc }}</el-dropdown-item
62
- >
63
- </el-dropdown-menu>
64
- </el-dropdown> -->
65
-
66
36
  <div v-if="inspectionCenter" class="login-verify-box" @click="inspectionV = true">{{ '查验中心' | $lc }} ></div>
67
37
 
68
- <template v-if="form.LOGIN_TYPE === 'T1'">
38
+ <template v-if="form.LOGIN_TYPE === 'T1' && showSystem">
69
39
  <div class="sys-title">{{ '系统选择区' | $lc }}</div>
70
40
  <div class="sys-carousel">
71
41
  <div class="swiper-wrapper">
@@ -85,7 +55,7 @@
85
55
  <div class="swiper-button-prev" @click="slidePrev"></div>
86
56
  <div class="swiper-button-next" @click="slideNext"></div>
87
57
  </template>
88
- <template v-if="form.LOGIN_TYPE === 'T2'">
58
+ <template v-if="form.LOGIN_TYPE === 'T2' && showSystem">
89
59
  <div class="sys-title">{{ '系统选择区' | $lc }}</div>
90
60
  <div class="sys-carousel overflow-clear">
91
61
  <div
@@ -251,6 +221,7 @@ export default {
251
221
  langVal: window.localStorage.getItem('pageLang') || 'zh-cn',
252
222
  operateType: 'login',
253
223
  alV: false,
224
+ showSystem: false,
254
225
  form: {
255
226
  LOGIN_URL: '',
256
227
  LOGIN_MODE: [],
@@ -404,17 +375,11 @@ export default {
404
375
  if (window.sessionStorage.getItem('_auto_login_ing_')) return this.autoLoginSS()
405
376
  this.removeStorage()
406
377
 
407
- // this.setWrapSty()
408
- // window.addEventListener('resize', this.setWrapSty)
409
-
410
378
  this.init()
411
379
  this.getIsImgCode()
412
380
  localStorage.removeItem('pageInType')
413
- localStorage.setItem('pageInSystemNo', this.form.SYSTEM_LIST[0].NO)
414
- },
415
- beforeDestroy() {
416
- // window.removeEventListener('resize', this.setWrapSty)
417
381
  },
382
+ beforeDestroy() {},
418
383
  methods: {
419
384
  getIsImgCode() {
420
385
  axios
@@ -433,23 +398,6 @@ export default {
433
398
  await this.loginThen()
434
399
  }
435
400
  },
436
- // setWrapSty() {
437
- // let winW = document.documentElement.clientWidth
438
- // let winH = document.documentElement.clientHeight
439
- // let ratioO = winW / winH
440
- // let W = 1440
441
- // let H = 900
442
- // let ratio = W / H
443
- // if (winW >= W && winH >= H) {
444
- // this.wrapStyle = ''
445
- // return false
446
- // }
447
- // if (ratioO > ratio) {
448
- // this.wrapStyle = `.login-wrap{width:${Math.floor(H * ratioO)}px; height:${H}px; transform: scale(${winH / H});}`
449
- // } else {
450
- // this.wrapStyle = `.login-wrap{width:${W}px; height:${Math.floor(W / ratioO)}px; transform: scale(${winW / W});}`
451
- // }
452
- // },
453
401
  // 系统分辨率是否缩放
454
402
  getScreenSetting() {
455
403
  var ratio = 0
@@ -482,9 +430,10 @@ export default {
482
430
  },
483
431
 
484
432
  async init() {
485
- const { _layoutData = {}, loginSetting, screenInspect } = await getJsonc('/server-config.jsonc')
433
+ const { _layoutData = {}, loginSetting, screenInspect, showSystem } = await getJsonc('/server-config.jsonc')
486
434
  let _loginSetting = loginSetting || _layoutData.loginSetting
487
- if (_loginSetting !== 'JSON') {
435
+ this.showSystem = showSystem
436
+ if (_loginSetting !== 'JSON' && showSystem) {
488
437
  await this.getSysSet()
489
438
  }
490
439
  screenInspect && this.getScreenSetting()
package/src/index.js CHANGED
@@ -64,10 +64,10 @@ import Upload from './components/Upload/index.vue'
64
64
  import WornPagination from './components/WornPagination/index.vue'
65
65
 
66
66
  import AdvancedFilter from './components/AdvancedFilter/index.vue'
67
+ import DateChoose from './components/DateChoose/index.vue'
67
68
  import ElectronicArchive from './components/ElectronicArchive/index.vue'
68
69
  import SelectTreePro from './components/SelectTree/pro.vue'
69
70
  import Tree from './components/Tree/index.vue'
70
- // import DateChoose from './components/DateChoose/index.vue'
71
71
 
72
72
  // 新版日期选择框
73
73
  import BusiDatePicker from './components/DateSelect/busiDate.vue'
@@ -204,7 +204,7 @@ const components = [
204
204
  WorkCard,
205
205
  UploadMsg,
206
206
  Tree,
207
- // DateChoose,
207
+ DateChoose,
208
208
  SelectTreePro,
209
209
  AdvancedFilter,
210
210
  ElectronicArchive,
@@ -280,6 +280,7 @@ export {
280
280
  // 组件
281
281
  ContentLoading,
282
282
  ContentNull,
283
+ DateChoose,
283
284
  DatePicker,
284
285
  DatePickerPor,
285
286
  Descriptions,
@@ -334,7 +335,6 @@ export {
334
335
  TertiaryTab,
335
336
  TimePicker,
336
337
  Tree,
337
- // DateChoose,
338
338
  Upload,
339
339
  UploadMsg,
340
340
  WorkCard,