n20-common-lib 2.1.32 → 2.1.34
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/components/Filters/index.vue +5 -0
- package/src/components/Layout/HeaderWrap/index.vue +17 -14
- package/src/components/Layout/HeaderWrap/indexN.vue +26 -19
- package/src/components/Layout/index.vue +4 -1
- package/src/components/Layout/indexN.vue +4 -1
- package/src/components/LoginTemporary/indexN.vue +41 -49
package/package.json
CHANGED
|
@@ -67,6 +67,7 @@
|
|
|
67
67
|
:is-filter="true"
|
|
68
68
|
:auto-save="true"
|
|
69
69
|
:page-id="pageId"
|
|
70
|
+
:width="remoteWidth"
|
|
70
71
|
@setColumns="setRemoteChange"
|
|
71
72
|
/>
|
|
72
73
|
</template>
|
|
@@ -121,6 +122,10 @@ export default {
|
|
|
121
122
|
isGroup: {
|
|
122
123
|
type: Boolean,
|
|
123
124
|
default: false
|
|
125
|
+
},
|
|
126
|
+
remoteWidth: {
|
|
127
|
+
type: String,
|
|
128
|
+
default: undefined
|
|
124
129
|
}
|
|
125
130
|
},
|
|
126
131
|
data() {
|
|
@@ -22,20 +22,22 @@
|
|
|
22
22
|
<!-- eslint-disable-next-line vue/no-v-html -->
|
|
23
23
|
<h3 class="header-title m-r-auto" v-html="headerTitle"></h3>
|
|
24
24
|
<!-- YSCW -->
|
|
25
|
-
<
|
|
26
|
-
<
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
rolesList.map((el) => el.name)
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
25
|
+
<slot name="header-ectad">
|
|
26
|
+
<sapn v-if="ectad" class="f-s-s">
|
|
27
|
+
<span class="m-r-ss">
|
|
28
|
+
{{ '用户' | $lc }}: <span class="color-666">{{ userInfo.userName }}</span>
|
|
29
|
+
</span>
|
|
30
|
+
<span class="m-r-ss b-center">
|
|
31
|
+
{{ '角色' | $lc }}:
|
|
32
|
+
<span v-title:br="rolesList.map((el) => el.name)" class="text-ellipsis color-666" style="max-width: 150px">{{
|
|
33
|
+
rolesList.map((el) => el.name).join(',')
|
|
34
|
+
}}</span>
|
|
35
|
+
</span>
|
|
36
|
+
<span>
|
|
37
|
+
{{ '单位' | $lc }}: <span class="color-666">{{ userInfo.companyName }}</span>
|
|
38
|
+
</span>
|
|
39
|
+
</sapn>
|
|
40
|
+
</slot>
|
|
39
41
|
<!-- YSCW-end -->
|
|
40
42
|
<el-tooltip v-if="!hideHelpDoc" :content="'帮助文档' | $lc">
|
|
41
43
|
<span class="set-user-btn n20-icon-xinxitishi header-color m-l-m" @click="openHelp"></span>
|
|
@@ -113,6 +115,7 @@
|
|
|
113
115
|
>
|
|
114
116
|
</div>
|
|
115
117
|
</el-dropdown-item>
|
|
118
|
+
<slot name="header-dropdown"></slot>
|
|
116
119
|
<el-divider class="m-t-s m-b-s" />
|
|
117
120
|
<div class="user-log-time p-l p-r p-b-s">
|
|
118
121
|
<i class="el-icon-s-help m-r-s" style="color: var(--color-success)"></i>
|
|
@@ -21,22 +21,24 @@
|
|
|
21
21
|
<div class="m-l-m"></div>
|
|
22
22
|
<!-- eslint-disable-next-line vue/no-v-html -->
|
|
23
23
|
<h3 class="header-title m-r-auto" v-html="headerTitle"></h3>
|
|
24
|
+
<span v-if="byLabel && !inBack" class="header-uif-by">{{ byLabel }}</span>
|
|
24
25
|
<!-- YSCW -->
|
|
25
|
-
<
|
|
26
|
-
<
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
rolesList.map((el) => el.name)
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
26
|
+
<slot name="header-ectad">
|
|
27
|
+
<sapn v-if="ectad" class="f-s-s">
|
|
28
|
+
<span class="m-r-ss">
|
|
29
|
+
{{ '用户' | $lc }}: <span class="color-666">{{ userInfo.userName }}</span>
|
|
30
|
+
</span>
|
|
31
|
+
<span class="m-r-ss b-center">
|
|
32
|
+
{{ '角色' | $lc }}:
|
|
33
|
+
<span v-title:br="rolesList.map((el) => el.name)" class="text-ellipsis color-666" style="max-width: 150px">{{
|
|
34
|
+
rolesList.map((el) => el.name).join(',')
|
|
35
|
+
}}</span>
|
|
36
|
+
</span>
|
|
37
|
+
<span>
|
|
38
|
+
{{ '单位' | $lc }}: <span class="color-666">{{ userInfo.companyName }}</span>
|
|
39
|
+
</span>
|
|
40
|
+
</sapn>
|
|
41
|
+
</slot>
|
|
40
42
|
<el-button v-if="inBack" class="header-hdyy f-s-s" plain round size="mini" @click="toSystem">{{
|
|
41
43
|
'回到应用' | $lc
|
|
42
44
|
}}</el-button>
|
|
@@ -183,6 +185,7 @@
|
|
|
183
185
|
<i class="el-icon-caret-right m-l-auto m-r-0"></i>
|
|
184
186
|
</div>
|
|
185
187
|
</el-dropdown-item>
|
|
188
|
+
<slot name="header-dropdown"></slot>
|
|
186
189
|
<el-dropdown-item command="logOut">
|
|
187
190
|
<div class="flex-box flex-v">
|
|
188
191
|
<span>{{ '退出' | $lc }}</span>
|
|
@@ -342,10 +345,14 @@ export default {
|
|
|
342
345
|
})
|
|
343
346
|
|
|
344
347
|
this.getByLabel().then(() => {
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
this.byV =
|
|
348
|
-
|
|
348
|
+
let notFirstShowBy = sessionStorage.getItem('notFirstShowBy')
|
|
349
|
+
if (!notFirstShowBy) {
|
|
350
|
+
this.byV = true
|
|
351
|
+
setTimeout(() => {
|
|
352
|
+
this.byV = false
|
|
353
|
+
}, 6000)
|
|
354
|
+
sessionStorage.setItem('notFirstShowBy', true)
|
|
355
|
+
}
|
|
349
356
|
})
|
|
350
357
|
})
|
|
351
358
|
|
|
@@ -6,7 +6,10 @@
|
|
|
6
6
|
:before-logout="beforeLogout"
|
|
7
7
|
:after-logout="afterLogout"
|
|
8
8
|
@custom-event="(par) => $emit('custom-event', par)"
|
|
9
|
-
|
|
9
|
+
>
|
|
10
|
+
<slot slot="header-ectad" name="header-ectad"></slot>
|
|
11
|
+
<slot slot="header-dropdown" name="header-dropdown"></slot>
|
|
12
|
+
</headerWrap>
|
|
10
13
|
<asideNav :menus="menusC" :active-nav="activeNavC" :collapse.sync="collapse" @menu-click="menuClick" />
|
|
11
14
|
<tabsNav
|
|
12
15
|
class="tabs-nav-wrap"
|
|
@@ -6,7 +6,10 @@
|
|
|
6
6
|
:before-logout="beforeLogout"
|
|
7
7
|
:after-logout="afterLogout"
|
|
8
8
|
@custom-event="(par) => $emit('custom-event', par)"
|
|
9
|
-
|
|
9
|
+
>
|
|
10
|
+
<slot slot="header-ectad" name="header-ectad"></slot>
|
|
11
|
+
<slot slot="header-dropdown" name="header-dropdown"></slot>
|
|
12
|
+
</headerWrap>
|
|
10
13
|
<asideNav :menus="menusC" :active-nav="activeNavC" :collapse.sync="collapse" @menu-click="menuClick" />
|
|
11
14
|
<tabsNav
|
|
12
15
|
class="tabs-nav-wrap"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
2
|
+
<div style="width: 100vw; height: 100vh; overflow: hidden">
|
|
3
3
|
<div v-if="alV" v-loading="alV" class="login-wrap">
|
|
4
4
|
<loginForm
|
|
5
5
|
ref="login-form"
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
:login-types="loginTypes"
|
|
8
8
|
:login-then="loginThen"
|
|
9
9
|
:async-rela-nos="asyncRelaNos"
|
|
10
|
+
:extra-form="extraForm"
|
|
10
11
|
style="display: none"
|
|
11
12
|
/>
|
|
12
13
|
</div>
|
|
@@ -80,12 +81,12 @@
|
|
|
80
81
|
|
|
81
82
|
<loginForm
|
|
82
83
|
v-if="operateType === 'login'"
|
|
84
|
+
class="login-form"
|
|
83
85
|
:before-login="beforeLogin"
|
|
84
86
|
:login-types="loginTypes"
|
|
85
87
|
:login-then="loginThenT"
|
|
86
88
|
:async-rela-nos="asyncRelaNos"
|
|
87
89
|
:extra-form="extraForm"
|
|
88
|
-
class="login-form"
|
|
89
90
|
@changType="getChangetype"
|
|
90
91
|
>
|
|
91
92
|
<div slot="header" class="login-form-header m-b text-c">{{ '欢 迎 登 录' | $lc }}</div>
|
|
@@ -93,11 +94,7 @@
|
|
|
93
94
|
<slot name="others"></slot>
|
|
94
95
|
</el-dropdown-item>
|
|
95
96
|
<div slot="footer" class="login-form-footer m-t text-r">
|
|
96
|
-
<slot name="footer">
|
|
97
|
-
<!-- <span>{{ '为达到更好的体验效果,请' | $lc }}</span>
|
|
98
|
-
<a class="login-form-download el-icon-bottom" href="/portal/server-assets/qicheng-browser.exe" download="browser.exe" >{{ '下载' | $lc }}</a >
|
|
99
|
-
<span>{{ '启程浏览器' | $lc }}</span> -->
|
|
100
|
-
</slot>
|
|
97
|
+
<slot name="footer"></slot>
|
|
101
98
|
</div>
|
|
102
99
|
</loginForm>
|
|
103
100
|
<retrievePw v-if="operateType === 'retrievePw'" class="login-form" @changType="getChangetype" />
|
|
@@ -122,7 +119,6 @@
|
|
|
122
119
|
@to-login="inspectionV = false"
|
|
123
120
|
/>
|
|
124
121
|
</div>
|
|
125
|
-
<OLogin v-else />
|
|
126
122
|
</template>
|
|
127
123
|
|
|
128
124
|
<script>
|
|
@@ -137,7 +133,6 @@ import loginForm from './form.vue'
|
|
|
137
133
|
import retrievePw from './retrievePw.vue'
|
|
138
134
|
import Inspection from './inspection/index.vue'
|
|
139
135
|
import IconMap from './systemIconMap'
|
|
140
|
-
import OLogin from './index.vue'
|
|
141
136
|
|
|
142
137
|
import imgLoad from '../../utils/imgLoad'
|
|
143
138
|
window.imgLoad = imgLoad
|
|
@@ -145,7 +140,6 @@ window.imgLoad = imgLoad
|
|
|
145
140
|
export default {
|
|
146
141
|
name: 'Login',
|
|
147
142
|
components: {
|
|
148
|
-
OLogin,
|
|
149
143
|
loginForm,
|
|
150
144
|
retrievePw,
|
|
151
145
|
Inspection
|
|
@@ -186,7 +180,6 @@ export default {
|
|
|
186
180
|
let { protocol, host, pathname } = window.location
|
|
187
181
|
return {
|
|
188
182
|
wrapStyle: '',
|
|
189
|
-
OL: false, // 切换到旧的登录页
|
|
190
183
|
logUrl: `${protocol}//${host}${pathname}`,
|
|
191
184
|
jsonData: {
|
|
192
185
|
loginTypes: ['account'],
|
|
@@ -383,40 +376,7 @@ export default {
|
|
|
383
376
|
const { _layoutData = {}, loginSetting } = await getJsonc('/server-config.jsonc')
|
|
384
377
|
let _loginSetting = loginSetting || _layoutData.loginSetting
|
|
385
378
|
if (_loginSetting !== 'JSON') {
|
|
386
|
-
|
|
387
|
-
'/bems/portal/portalSysLoginCon/getCuurSysSetting',
|
|
388
|
-
{ logUrl: this.logUrl },
|
|
389
|
-
{ noMsg: true }
|
|
390
|
-
)
|
|
391
|
-
por.catch((err) => {
|
|
392
|
-
this.watchOLogin()
|
|
393
|
-
})
|
|
394
|
-
let res = await por
|
|
395
|
-
let list = res.data || []
|
|
396
|
-
|
|
397
|
-
for (let k in this.form) {
|
|
398
|
-
if (k !== 'SYSTEM_LIST') {
|
|
399
|
-
let obj = list.find((d) => d.pmName === k)
|
|
400
|
-
if (obj) {
|
|
401
|
-
try {
|
|
402
|
-
this.form[k] = k === 'LOGIN_URL' ? obj.pmValue : JSON.parse(obj.pmValue)
|
|
403
|
-
} catch (error) {
|
|
404
|
-
console.error(k + '解析错误')
|
|
405
|
-
}
|
|
406
|
-
}
|
|
407
|
-
} else {
|
|
408
|
-
this.form.SYSTEM_LIST.forEach((item, i) => {
|
|
409
|
-
let obj = list.find((d) => d.pmName === `SYSTEM_LIST_${item.NO}`)
|
|
410
|
-
if (obj) {
|
|
411
|
-
try {
|
|
412
|
-
this.$set(this.form.SYSTEM_LIST, i, JSON.parse(obj.pmValue))
|
|
413
|
-
} catch (error) {
|
|
414
|
-
console.error('SYSTEM_LIST[' + item.NO + ']解析错误')
|
|
415
|
-
}
|
|
416
|
-
}
|
|
417
|
-
})
|
|
418
|
-
}
|
|
419
|
-
}
|
|
379
|
+
await this.getSysSet()
|
|
420
380
|
}
|
|
421
381
|
this.jsonData = _layoutData
|
|
422
382
|
|
|
@@ -441,6 +401,42 @@ export default {
|
|
|
441
401
|
}
|
|
442
402
|
})
|
|
443
403
|
},
|
|
404
|
+
getSysSet() {
|
|
405
|
+
return new Promise((resolve) => {
|
|
406
|
+
this.$axios
|
|
407
|
+
.post('/bems/portal/portalSysLoginCon/getCuurSysSetting', { logUrl: this.logUrl }, { noMsg: true })
|
|
408
|
+
.then((res) => {
|
|
409
|
+
let list = res.data || []
|
|
410
|
+
|
|
411
|
+
for (let k in this.form) {
|
|
412
|
+
if (k !== 'SYSTEM_LIST') {
|
|
413
|
+
let obj = list.find((d) => d.pmName === k)
|
|
414
|
+
if (obj) {
|
|
415
|
+
try {
|
|
416
|
+
this.form[k] = k === 'LOGIN_URL' ? obj.pmValue : JSON.parse(obj.pmValue)
|
|
417
|
+
} catch (error) {
|
|
418
|
+
console.error(k + '解析错误')
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
} else {
|
|
422
|
+
this.form.SYSTEM_LIST.forEach((item, i) => {
|
|
423
|
+
let obj = list.find((d) => d.pmName === `SYSTEM_LIST_${item.NO}`)
|
|
424
|
+
if (obj) {
|
|
425
|
+
try {
|
|
426
|
+
this.$set(this.form.SYSTEM_LIST, i, JSON.parse(obj.pmValue))
|
|
427
|
+
} catch (error) {
|
|
428
|
+
console.error('SYSTEM_LIST[' + item.NO + ']解析错误')
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
})
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
})
|
|
435
|
+
.finally(() => {
|
|
436
|
+
resolve()
|
|
437
|
+
})
|
|
438
|
+
})
|
|
439
|
+
},
|
|
444
440
|
async getImg(url) {
|
|
445
441
|
try {
|
|
446
442
|
let blob = await axios.get(url, null, { responseType: 'blob', loading: false, noMsg: true })
|
|
@@ -510,10 +506,6 @@ export default {
|
|
|
510
506
|
},
|
|
511
507
|
selSystem(item) {
|
|
512
508
|
this.sltSys = item
|
|
513
|
-
},
|
|
514
|
-
// 切换到旧的登录页
|
|
515
|
-
watchOLogin() {
|
|
516
|
-
this.OL = true
|
|
517
509
|
}
|
|
518
510
|
}
|
|
519
511
|
}
|