n20-common-lib 1.3.76 → 1.3.78
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/ApprovalButtons/index.vue +44 -25
- package/src/components/ApprovalButtons/setCarboncopyProp.vue +9 -9
- package/src/components/ApprovalCard/index.vue +8 -7
- package/src/components/ApprovalRecord/approvalImgPro/index.vue +8 -7
- package/src/components/ApprovalRecord/flowDialog.vue +2 -2
- package/src/components/ApprovalRecord/index.vue +5 -5
- package/src/components/Button/button-group.vue +18 -17
- package/src/components/ChildRange/index.vue +2 -2
- package/src/components/ContentLoading/index.vue +4 -3
- package/src/components/ContentNull/index.vue +1 -1
- package/src/components/DatePicker/por.vue +12 -11
- package/src/components/Diff/index.vue +2 -1
- package/src/components/EventBubble/demo/a.vue +1 -1
- package/src/components/EventBubble/demo/c.vue +4 -2
- package/src/components/Expandable/index.vue +1 -1
- package/src/components/FileExportAsync/index.vue +12 -11
- package/src/components/FileImport/index.vue +6 -5
- package/src/components/FileUploadTable/index.vue +46 -45
- package/src/components/Filters/form-item-input.vue +1 -1
- package/src/components/Filters/index.vue +7 -5
- package/src/components/Filters/indexO.vue +5 -4
- package/src/components/InputNumber/index.vue +3 -2
- package/src/components/InputSearch/index.vue +1 -0
- package/src/components/Layout/HeaderWrap/changePwd.vue +20 -19
- package/src/components/Layout/HeaderWrap/index.vue +36 -90
- package/src/components/Layout/HeaderWrap/noticePop.vue +16 -15
- package/src/components/Layout/HeaderWrap/switchUser.vue +6 -6
- package/src/components/Layout/TabsNav/index.vue +6 -21
- package/src/components/Layout/index.vue +2 -1
- package/src/components/LoginTemporary/form.vue +34 -33
- package/src/components/LoginTemporary/index.vue +7 -6
- package/src/components/LoginTemporary/qrcode.vue +3 -2
- package/src/components/LoginTemporary/retrievePw.vue +32 -31
- package/src/components/MicroFrame/index.vue +1 -0
- package/src/components/MoreTab/index.vue +9 -4
- package/src/components/NavMenu/index.vue +1 -0
- package/src/components/PageHeader/index.vue +2 -1
- package/src/components/PageLayout/page.vue +1 -0
- package/src/components/Pagination/index.vue +5 -4
- package/src/components/SecondaryTab/index.vue +1 -0
- package/src/components/SelectLazy/index.vue +1 -0
- package/src/components/SelectTree/SelectTreeLazy.vue +1 -0
- package/src/components/SelectTree/index.vue +1 -0
- package/src/components/ShowColumn/index.vue +14 -13
- package/src/components/Sifting/index.vue +5 -4
- package/src/components/Stamp/index.vue +8 -7
- package/src/components/Statis/index.vue +20 -13
- package/src/components/Statis/statisItem.vue +3 -2
- package/src/components/Statis/statisPopover.vue +1 -0
- package/src/components/Step/index.vue +1 -0
- package/src/components/Suspend/index.vue +1 -0
- package/src/components/Table/index.vue +1 -0
- package/src/components/Table/indexO.vue +1 -0
- package/src/components/TableOperateColumn/OperateBtns.vue +1 -0
- package/src/components/TableOperateColumn/index.vue +1 -0
- package/src/components/Task/index.vue +1 -0
- package/src/components/TertiaryTab/index.vue +1 -0
- package/src/components/TimePicker/index.vue +1 -0
- package/src/components/Upload/index.vue +7 -6
- package/src/components/Upload/uploadMsg.vue +9 -8
- package/src/index.js +2 -1
- package/src/utils/axios.js +9 -8
- package/src/utils/i18n/index.js +8 -1
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<el-divider direction="vertical" />
|
|
14
14
|
<!-- eslint-disable-next-line vue/no-v-html -->
|
|
15
15
|
<h3 class="header-title" v-html="headerTitle"></h3>
|
|
16
|
-
<el-tooltip content="帮助文档">
|
|
16
|
+
<el-tooltip :content="'帮助文档' | $lc">
|
|
17
17
|
<span class="set-user-btn n20-icon-xinxitishi" @click="openHelp"></span>
|
|
18
18
|
</el-tooltip>
|
|
19
19
|
|
|
@@ -21,9 +21,15 @@
|
|
|
21
21
|
<span class="set-user-btn el-icon-setting"></span>
|
|
22
22
|
|
|
23
23
|
<el-dropdown-menu slot="dropdown">
|
|
24
|
-
<el-dropdown-item icon="el-icon-document" command="setLang"
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
<el-dropdown-item icon="el-icon-document" command="setLang"
|
|
25
|
+
>{{ $lc('语言切换') | $lc(i18n) }}
|
|
26
|
+
</el-dropdown-item>
|
|
27
|
+
<el-dropdown-item icon="el-icon-document" command="dowApp">{{
|
|
28
|
+
$lc('客户端下载') | $lc(i18n)
|
|
29
|
+
}}</el-dropdown-item>
|
|
30
|
+
<el-dropdown-item icon="el-icon-document" command="setTheme">{{
|
|
31
|
+
$lc('主题设置') | $lc(i18n)
|
|
32
|
+
}}</el-dropdown-item>
|
|
27
33
|
</el-dropdown-menu>
|
|
28
34
|
</el-dropdown>
|
|
29
35
|
|
|
@@ -56,45 +62,45 @@
|
|
|
56
62
|
<div v-for="(item, i) in rolesList" :key="i" class="text-ellipsis m-l color-ccc">
|
|
57
63
|
{{ item.name }}
|
|
58
64
|
</div>
|
|
59
|
-
<el-dropdown-item command="changePassword" divided>{{ '修改密码' | $
|
|
65
|
+
<el-dropdown-item command="changePassword" divided>{{ $lc('修改密码') | $lc(i18n) }}</el-dropdown-item>
|
|
60
66
|
<el-dropdown-item v-if="customOpt.mydeal" command="myDeal" divided>{{
|
|
61
|
-
'我的交易' | $
|
|
67
|
+
$lc('我的交易') | $lc(i18n)
|
|
62
68
|
}}</el-dropdown-item>
|
|
63
69
|
<el-dropdown-item v-if="customOpt.switchuser" command="switchUser" divided>{{
|
|
64
|
-
'切换用户' | $
|
|
70
|
+
$lc('切换用户') | $lc(i18n)
|
|
65
71
|
}}</el-dropdown-item>
|
|
66
72
|
<el-dropdown-item v-if="customOpt.agency" command="myAgency" divided>
|
|
67
73
|
<div class="flex-box flex-v">
|
|
68
|
-
<span>{{ '工作代理' | $
|
|
74
|
+
<span>{{ $lc('工作代理') | $lc(i18n) }}</span>
|
|
69
75
|
<el-badge
|
|
70
76
|
v-if="underway"
|
|
71
77
|
class="m-l-auto font-size-small color-primary"
|
|
72
78
|
is-dot
|
|
73
79
|
type="primary"
|
|
74
80
|
style="line-height: initial"
|
|
75
|
-
|
|
81
|
+
>{{ '进行中' | $lc }}</el-badge
|
|
76
82
|
>
|
|
77
83
|
</div>
|
|
78
84
|
</el-dropdown-item>
|
|
79
85
|
<el-divider class="m-t-s m-b-s" />
|
|
80
86
|
<div class="user-log-time p-l p-r p-b-s">
|
|
81
87
|
<i class="el-icon-s-help m-r-s" style="color: var(--color-success)"></i>
|
|
82
|
-
<span style="color: var(--color-text-placeholder)">{{ '登录时长' | $
|
|
88
|
+
<span style="color: var(--color-text-placeholder)">{{ $lc('登录时长') | $lc(i18n) }} {{ durationTime }}</span>
|
|
83
89
|
</div>
|
|
84
|
-
<el-dropdown-item command="logOut">{{ '退出登录' | $
|
|
90
|
+
<el-dropdown-item command="logOut">{{ $lc('退出登录') | $lc(i18n) }}</el-dropdown-item>
|
|
85
91
|
</el-dropdown-menu>
|
|
86
92
|
</el-dropdown>
|
|
87
93
|
|
|
88
|
-
<dialogWrap :title="'语言切换' | $
|
|
94
|
+
<dialogWrap :title="'语言切换' | $lc(i18n)" :visible.sync="langV" append-to-body width="560px">
|
|
89
95
|
<div style="min-height: 114px">
|
|
90
96
|
<el-radio-group v-model="langVal" @change="setLang">
|
|
91
|
-
<el-radio label="zh-cn" border>{{ '中文简体' | $
|
|
92
|
-
<el-radio label="zh-hk" border>{{ '中文繁体' | $
|
|
93
|
-
<el-radio label="en" border>{{ '英文' | $
|
|
97
|
+
<el-radio label="zh-cn" border>{{ $lc('中文简体') | $lc(i18n) }}</el-radio>
|
|
98
|
+
<el-radio label="zh-hk" border>{{ $lc('中文繁体') | $lc(i18n) }}</el-radio>
|
|
99
|
+
<el-radio label="en" border>{{ $lc('英文') | $lc(i18n) }}</el-radio>
|
|
94
100
|
</el-radio-group>
|
|
95
101
|
</div>
|
|
96
102
|
</dialogWrap>
|
|
97
|
-
<dialogWrap :title="'主题设置' | $
|
|
103
|
+
<dialogWrap :title="'主题设置' | $lc(i18n)" :visible.sync="themeV" append-to-body width="432px">
|
|
98
104
|
<div style="min-height: 114px">
|
|
99
105
|
<span
|
|
100
106
|
v-for="item in themeList"
|
|
@@ -108,20 +114,21 @@
|
|
|
108
114
|
></span>
|
|
109
115
|
</div>
|
|
110
116
|
</dialogWrap>
|
|
111
|
-
<dialogWrap :title="'修改密码' | $
|
|
117
|
+
<dialogWrap :title="'修改密码' | $lc(i18n)" :visible.sync="cpwdV" append-to-body width="400px">
|
|
112
118
|
<changePwd :visible.sync="cpwdV" />
|
|
113
119
|
</dialogWrap>
|
|
114
120
|
<!-- 消息/通知 -->
|
|
115
121
|
<el-popover ref="noticePop" trigger="click" width="400" @after-enter="$refs.noticeContent.show()">
|
|
116
122
|
<noticePop ref="noticeContent" :num.sync="noticeNum" />
|
|
117
123
|
</el-popover>
|
|
118
|
-
<el-dialog :visible.sync="scV" :title="'切换用户' | $
|
|
124
|
+
<el-dialog :visible.sync="scV" :title="'切换用户' | $lc(i18n)" append-to-body width="600px">
|
|
119
125
|
<switchUser :visible.sync="scV" :user-no="userNo" />
|
|
120
126
|
</el-dialog>
|
|
121
127
|
</div>
|
|
122
128
|
</template>
|
|
123
129
|
|
|
124
130
|
<script>
|
|
131
|
+
import { $lc } from '../../../utils/i18n/index'
|
|
125
132
|
import Cookies from 'js-cookie'
|
|
126
133
|
import { themeList } from '../../../utils/theme.config.js'
|
|
127
134
|
|
|
@@ -141,60 +148,6 @@ dayjs.extend(duration)
|
|
|
141
148
|
|
|
142
149
|
const prefix = window.__INJECTED_PUBLIC_PATH_BY_QIANKUN__ || process.env.BASE_URL || '/'
|
|
143
150
|
|
|
144
|
-
const i18n = {
|
|
145
|
-
语言切换: {
|
|
146
|
-
en: 'Language switching'
|
|
147
|
-
},
|
|
148
|
-
客户端下载: {
|
|
149
|
-
en: 'Client download'
|
|
150
|
-
},
|
|
151
|
-
主题设置: {
|
|
152
|
-
en: 'Theme setting'
|
|
153
|
-
},
|
|
154
|
-
修改密码: {
|
|
155
|
-
en: 'Change Password'
|
|
156
|
-
},
|
|
157
|
-
我的交易: {
|
|
158
|
-
en: 'My deal'
|
|
159
|
-
},
|
|
160
|
-
切换用户: {
|
|
161
|
-
en: 'Switch User'
|
|
162
|
-
},
|
|
163
|
-
工作代理: {
|
|
164
|
-
en: 'My agency'
|
|
165
|
-
},
|
|
166
|
-
登录时长: {
|
|
167
|
-
en: 'Login duration'
|
|
168
|
-
},
|
|
169
|
-
退出登录: {
|
|
170
|
-
en: 'LogOut'
|
|
171
|
-
},
|
|
172
|
-
小时: {
|
|
173
|
-
en: ':'
|
|
174
|
-
},
|
|
175
|
-
分: {
|
|
176
|
-
en: ':'
|
|
177
|
-
},
|
|
178
|
-
秒: {
|
|
179
|
-
en: ''
|
|
180
|
-
},
|
|
181
|
-
'确定退出,将清除未提交的临时操作,是否继续?': {
|
|
182
|
-
en: 'Are you sure to exit? Uncommitted temporary operations will be cleared. Do you want to continue?'
|
|
183
|
-
},
|
|
184
|
-
退出提示: {
|
|
185
|
-
en: 'Exit Tips'
|
|
186
|
-
},
|
|
187
|
-
中文简体: {
|
|
188
|
-
en: 'Chinese Simplified'
|
|
189
|
-
},
|
|
190
|
-
中文繁体: {
|
|
191
|
-
en: 'Chinese Traditional'
|
|
192
|
-
},
|
|
193
|
-
英文: {
|
|
194
|
-
en: 'English'
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
|
|
198
151
|
export default {
|
|
199
152
|
components: {
|
|
200
153
|
dialogWrap,
|
|
@@ -224,7 +177,7 @@ export default {
|
|
|
224
177
|
headerUserUrl: undefined,
|
|
225
178
|
userInfo: {},
|
|
226
179
|
userNo: window.sessionStorage.getItem('userNo'),
|
|
227
|
-
durationTime: '00小时00分00秒',
|
|
180
|
+
durationTime: $lc('00小时00分00秒'),
|
|
228
181
|
cpwdV: false,
|
|
229
182
|
langV: false,
|
|
230
183
|
langVal: window.localStorage.getItem('pageLang') || 'zh-cn',
|
|
@@ -234,8 +187,7 @@ export default {
|
|
|
234
187
|
noticeNum: 0,
|
|
235
188
|
rolesList: [],
|
|
236
189
|
scV: false,
|
|
237
|
-
underway: false
|
|
238
|
-
i18n
|
|
190
|
+
underway: false
|
|
239
191
|
}
|
|
240
192
|
},
|
|
241
193
|
created() {
|
|
@@ -287,21 +239,19 @@ export default {
|
|
|
287
239
|
}
|
|
288
240
|
},
|
|
289
241
|
setDurationTime(loginTime) {
|
|
290
|
-
this.durationTime = dayjs
|
|
291
|
-
.duration(Date.now() - loginTime)
|
|
292
|
-
.format(`HH${this.$l('小时', this.i18n)}mm${this.$l('分', this.i18n)}ss${this.$l('秒', this.i18n)}`)
|
|
242
|
+
this.durationTime = dayjs.duration(Date.now() - loginTime).format(`HH${$lc('小时')}mm${$lc('分')}ss${$lc('秒')}`)
|
|
293
243
|
},
|
|
294
244
|
// 打开帮助文档
|
|
295
245
|
openHelp() {
|
|
296
246
|
axios.get(`/bems/1.0/userManual`, {}, { responseType: 'blob' }).then((res) => {
|
|
297
247
|
if (!res.size) {
|
|
298
|
-
this.$message.error('暂无帮助文档,请联系管理员!')
|
|
248
|
+
this.$message.error($lc('暂无帮助文档,请联系管理员!'))
|
|
299
249
|
return
|
|
300
250
|
}
|
|
301
251
|
let url = window.URL.createObjectURL(res)
|
|
302
|
-
let win = window.open(url, '帮助文档')
|
|
252
|
+
let win = window.open(url, $lc('帮助文档'))
|
|
303
253
|
setTimeout(function () {
|
|
304
|
-
win.document.title = '帮助文档'
|
|
254
|
+
win.document.title = $lc('帮助文档')
|
|
305
255
|
}, 1000)
|
|
306
256
|
})
|
|
307
257
|
},
|
|
@@ -370,15 +320,11 @@ export default {
|
|
|
370
320
|
},
|
|
371
321
|
logOut() {
|
|
372
322
|
// alert('退出登录')
|
|
373
|
-
this.$confirm(
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
cancelButtonText: this.$l('取消'),
|
|
379
|
-
type: 'warning'
|
|
380
|
-
}
|
|
381
|
-
).then(() => {
|
|
323
|
+
this.$confirm($lc('退出将清除未保存的临时操作,请确认是否继续?'), $lc('退出提示'), {
|
|
324
|
+
confirmButtonText: $lc('确定'),
|
|
325
|
+
cancelButtonText: $lc('取消'),
|
|
326
|
+
type: 'warning'
|
|
327
|
+
}).then(() => {
|
|
382
328
|
if (this.beforeLogout) {
|
|
383
329
|
let F = this.beforeLogout(this.logoutA)
|
|
384
330
|
F.then && F.then(this.logoutA)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<el-tabs :key="showKey" v-model="tabAc" stretch class="header-notice-tabs">
|
|
3
3
|
<el-tab-pane name="notice">
|
|
4
|
-
<el-badge slot="label" :hidden="noticeNum === 0" :value="noticeNum"> 消息中心 </el-badge>
|
|
4
|
+
<el-badge slot="label" :hidden="noticeNum === 0" :value="noticeNum"> {{ '消息中心' | $lc }} </el-badge>
|
|
5
5
|
|
|
6
6
|
<div v-loading="nLd" class="notice-list p-b-s">
|
|
7
7
|
<div
|
|
@@ -19,17 +19,17 @@
|
|
|
19
19
|
<span>{{ item.createTime }}</span>
|
|
20
20
|
</div>
|
|
21
21
|
<emptyC v-if="!nLd && !noticeList.length" type="empty" :height="160" :width="160">
|
|
22
|
-
<div slot="content"
|
|
22
|
+
<div slot="content">{{ '暂无消息' | $lc }}</div>
|
|
23
23
|
</emptyC>
|
|
24
24
|
</div>
|
|
25
25
|
<div class="flex-box bd-t flex-v">
|
|
26
|
-
<el-button class="flex-item" type="text" @click="readAll"
|
|
26
|
+
<el-button class="flex-item" type="text" @click="readAll">{{ '一键已读' | $lc }}</el-button>
|
|
27
27
|
<span class="bd-l p-t"></span>
|
|
28
|
-
<el-button class="flex-item" type="text" @click="queryMore"
|
|
28
|
+
<el-button class="flex-item" type="text" @click="queryMore">{{ '更多' | $lc }}</el-button>
|
|
29
29
|
</div>
|
|
30
30
|
</el-tab-pane>
|
|
31
31
|
<el-tab-pane name="affiche">
|
|
32
|
-
<el-badge slot="label" :hidden="afficheNum === 0" :value="afficheNum"> 系统公告 </el-badge>
|
|
32
|
+
<el-badge slot="label" :hidden="afficheNum === 0" :value="afficheNum"> {{ '系统公告' | $lc }} </el-badge>
|
|
33
33
|
|
|
34
34
|
<div v-loading="aLd" class="notice-list p-b-s">
|
|
35
35
|
<div
|
|
@@ -43,19 +43,20 @@
|
|
|
43
43
|
<span>{{ item.createDate }}</span>
|
|
44
44
|
</div>
|
|
45
45
|
<emptyC v-if="!aLd && !afficheList.length" type="empty" :height="160" :width="160">
|
|
46
|
-
<div slot="content"
|
|
46
|
+
<div slot="content">{{ '暂无系统公告' | $lc }}</div>
|
|
47
47
|
</emptyC>
|
|
48
48
|
</div>
|
|
49
49
|
<div class="flex-box bd-t flex-v">
|
|
50
|
-
<el-button class="flex-item" type="text" @click="readAllAffiche"
|
|
50
|
+
<el-button class="flex-item" type="text" @click="readAllAffiche">{{ '一键已读' | $lc }}</el-button>
|
|
51
51
|
<span class="bd-l p-t"></span>
|
|
52
|
-
<el-button class="flex-item" type="text" @click="queryMoreAffiche"
|
|
52
|
+
<el-button class="flex-item" type="text" @click="queryMoreAffiche">{{ '更多' | $lc }}</el-button>
|
|
53
53
|
</div>
|
|
54
54
|
</el-tab-pane>
|
|
55
55
|
</el-tabs>
|
|
56
56
|
</template>
|
|
57
57
|
|
|
58
58
|
<script>
|
|
59
|
+
import { $lc } from '../../../utils/i18n/index'
|
|
59
60
|
import axios from '../../../utils/axios'
|
|
60
61
|
import emptyC from '../../Empty/index.vue'
|
|
61
62
|
export default {
|
|
@@ -67,14 +68,14 @@ export default {
|
|
|
67
68
|
let msgT = ''
|
|
68
69
|
switch (item.messageType) {
|
|
69
70
|
case '0':
|
|
70
|
-
msgT = '业务提醒'
|
|
71
|
+
msgT = $lc('业务提醒')
|
|
71
72
|
break
|
|
72
73
|
case '1':
|
|
73
|
-
msgT = '异常提醒'
|
|
74
|
+
msgT = $lc('异常提醒')
|
|
74
75
|
break
|
|
75
76
|
|
|
76
77
|
default:
|
|
77
|
-
msgT = '其他提醒'
|
|
78
|
+
msgT = $lc('其他提醒')
|
|
78
79
|
break
|
|
79
80
|
}
|
|
80
81
|
return `【${msgT}】${item.title}`
|
|
@@ -228,15 +229,15 @@ export default {
|
|
|
228
229
|
},
|
|
229
230
|
readAll() {
|
|
230
231
|
this.$msgboxPor({
|
|
231
|
-
title: '一键已读',
|
|
232
|
-
message: '确定要把所有未读消息标注为已读吗?',
|
|
232
|
+
title: $lc('一键已读'),
|
|
233
|
+
message: $lc('确定要把所有未读消息标注为已读吗?'),
|
|
233
234
|
type: 'warning'
|
|
234
235
|
}).then(() => {
|
|
235
236
|
axios
|
|
236
237
|
.put('/bems/wkb/messageCenter/updateReadStateByUserNo/' + this.username, null, null, { noMsg: true })
|
|
237
238
|
.then(({ msg = '' }) => {
|
|
238
239
|
this.$message({
|
|
239
|
-
message: '消息一键已读成功
|
|
240
|
+
message: $lc('消息一键已读成功') + msg,
|
|
240
241
|
type: 'success'
|
|
241
242
|
})
|
|
242
243
|
this.getNNum()
|
|
@@ -250,7 +251,7 @@ export default {
|
|
|
250
251
|
readAllAffiche() {
|
|
251
252
|
axios.post('/bems/1.0/portalNoticeReadRecord', { data: [] }).then((res) => {
|
|
252
253
|
this.$message({
|
|
253
|
-
message: '系统公告一键已读成功',
|
|
254
|
+
message: $lc('系统公告一键已读成功'),
|
|
254
255
|
type: 'success'
|
|
255
256
|
})
|
|
256
257
|
this.getNNum()
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<el-table :data="userListBanck" style="width: 100%">
|
|
3
|
-
<el-table-column type="index" label="序号" />
|
|
4
|
-
<el-table-column prop="uno" label="账号" width="180" />
|
|
5
|
-
<el-table-column prop="cltName" label="单位" />
|
|
6
|
-
<el-table-column width="100" label="操作">
|
|
3
|
+
<el-table-column type="index" :label="'序号' | $lc" />
|
|
4
|
+
<el-table-column prop="uno" :label="'账号' | $lc" width="180" />
|
|
5
|
+
<el-table-column prop="cltName" :label="'单位' | $lc" />
|
|
6
|
+
<el-table-column width="100" :label="'操作' | $lc">
|
|
7
7
|
<template slot-scope="{ row }">
|
|
8
|
-
<el-button v-if="userNo === row.uno" type="text" disabled
|
|
9
|
-
<el-button v-else type="text" @click="handleChange(row.uno)"
|
|
8
|
+
<el-button v-if="userNo === row.uno" type="text" disabled>{{ '当前用户' | $lc }}</el-button>
|
|
9
|
+
<el-button v-else type="text" @click="handleChange(row.uno)">{{ '切换' | $lc }}</el-button>
|
|
10
10
|
</template>
|
|
11
11
|
</el-table-column>
|
|
12
12
|
</el-table>
|
|
@@ -12,14 +12,14 @@
|
|
|
12
12
|
>
|
|
13
13
|
<el-tab-pane v-for="tab in tabList" :key="tab.uuid" :label="tab | tabLabelF" :name="tab.uuid" :tab-info="tab" />
|
|
14
14
|
<el-dropdown trigger="click" placement="bottom" style="display: none" @command="menuCommand">
|
|
15
|
-
<span
|
|
15
|
+
<span>{{ '右键菜单' | $lc }}</span>
|
|
16
16
|
<el-dropdown-menu ref="contextMenu" v-click-outside="clickOut" class="tab-nav-context-menu">
|
|
17
|
-
<el-dropdown-item command="refresh">{{ '刷新当前标签' | $
|
|
17
|
+
<el-dropdown-item command="refresh">{{ '刷新当前标签' | $lc }}</el-dropdown-item>
|
|
18
18
|
<el-dropdown-item v-if="!menuInTab || !menuInTab.keep" command="close">{{
|
|
19
|
-
'关闭当前标签' | $
|
|
19
|
+
'关闭当前标签' | $lc
|
|
20
20
|
}}</el-dropdown-item>
|
|
21
|
-
<el-dropdown-item command="closeNexts">{{ '关闭右侧标签' | $
|
|
22
|
-
<el-dropdown-item command="closeOthers">{{ '关闭其他标签' | $
|
|
21
|
+
<el-dropdown-item command="closeNexts">{{ '关闭右侧标签' | $lc }}</el-dropdown-item>
|
|
22
|
+
<el-dropdown-item command="closeOthers">{{ '关闭其他标签' | $lc }}</el-dropdown-item>
|
|
23
23
|
</el-dropdown-menu>
|
|
24
24
|
</el-dropdown>
|
|
25
25
|
</el-tabs>
|
|
@@ -27,20 +27,6 @@
|
|
|
27
27
|
|
|
28
28
|
<script>
|
|
29
29
|
import { labelF } from '../utils'
|
|
30
|
-
const i18n = {
|
|
31
|
-
刷新当前标签: {
|
|
32
|
-
en: 'Refresh current label'
|
|
33
|
-
},
|
|
34
|
-
关闭当前标签: {
|
|
35
|
-
en: 'Close current label'
|
|
36
|
-
},
|
|
37
|
-
关闭右侧标签: {
|
|
38
|
-
en: 'Close right label'
|
|
39
|
-
},
|
|
40
|
-
关闭其他标签: {
|
|
41
|
-
en: 'Close other labels'
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
30
|
|
|
45
31
|
export default {
|
|
46
32
|
filters: {
|
|
@@ -59,8 +45,7 @@ export default {
|
|
|
59
45
|
data() {
|
|
60
46
|
return {
|
|
61
47
|
showContextMenu: false,
|
|
62
|
-
menuInTab: undefined
|
|
63
|
-
i18n
|
|
48
|
+
menuInTab: undefined
|
|
64
49
|
}
|
|
65
50
|
},
|
|
66
51
|
methods: {
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
</template>
|
|
23
23
|
|
|
24
24
|
<script>
|
|
25
|
+
import { $lc } from '../../utils/i18n/index'
|
|
25
26
|
const TestProduction = process.env.VUE_APP_TestProduction === 'true'
|
|
26
27
|
const routerBase = process.env.BASE_URL
|
|
27
28
|
const routerBaseRe = new RegExp('^' + routerBase)
|
|
@@ -330,7 +331,7 @@ export default {
|
|
|
330
331
|
this.removeOcache({ path: path })
|
|
331
332
|
}, 100)
|
|
332
333
|
} else {
|
|
333
|
-
console.warn('请求关闭的Tab页签不存在')
|
|
334
|
+
console.warn($lc('请求关闭的Tab页签不存在'))
|
|
334
335
|
}
|
|
335
336
|
},
|
|
336
337
|
tabCloseNexts(uuid) {
|
|
@@ -16,11 +16,11 @@
|
|
|
16
16
|
:hide-required-asterisk="true"
|
|
17
17
|
@submit.native.prevent="submitLogin"
|
|
18
18
|
>
|
|
19
|
-
<el-form-item class="m-b" label="账号" prop="username">
|
|
20
|
-
<el-input v-model="form.username" placeholder="请输入账号" />
|
|
19
|
+
<el-form-item class="m-b" :label="'账号' | $lc" prop="username">
|
|
20
|
+
<el-input v-model="form.username" :placeholder="'请输入账号' | $lc" />
|
|
21
21
|
</el-form-item>
|
|
22
|
-
<el-form-item class="m-b" label="密码" prop="password">
|
|
23
|
-
<el-input v-model="form.password" placeholder="请输入密码" show-password />
|
|
22
|
+
<el-form-item class="m-b" :label="'密码' | $lc" prop="password">
|
|
23
|
+
<el-input v-model="form.password" :placeholder="'请输入密码' | $lc" show-password />
|
|
24
24
|
<!-- 不自动填充密码
|
|
25
25
|
<input
|
|
26
26
|
v-model="fakePwd"
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
/>
|
|
32
32
|
<el-input
|
|
33
33
|
v-model="form.password"
|
|
34
|
-
placeholder="请输入密码"
|
|
34
|
+
:placeholder="'请输入密码' | $lc"
|
|
35
35
|
:class="{ 'login-password': !showPwd }"
|
|
36
36
|
>
|
|
37
37
|
<i
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
</el-input>
|
|
44
44
|
不自动填充密码End -->
|
|
45
45
|
</el-form-item>
|
|
46
|
-
<el-button class="m-t" type="primary" native-type="submit" style="width: 100%"
|
|
46
|
+
<el-button class="m-t" type="primary" native-type="submit" style="width: 100%">{{ '登 录' | $lc }}</el-button>
|
|
47
47
|
</el-form>
|
|
48
48
|
</div>
|
|
49
49
|
<!-- 二维码扫码登录 -->
|
|
@@ -57,23 +57,23 @@
|
|
|
57
57
|
:hide-required-asterisk="true"
|
|
58
58
|
@submit.native.prevent="submitLogin"
|
|
59
59
|
>
|
|
60
|
-
<el-form-item class="m-b" label="手机号" prop="phone">
|
|
61
|
-
<el-input v-model="form.phone" placeholder="请输入手机号" />
|
|
60
|
+
<el-form-item class="m-b" :label="'手机号' | $lc" prop="phone">
|
|
61
|
+
<el-input v-model="form.phone" :placeholder="'请输入手机号' | $lc" />
|
|
62
62
|
</el-form-item>
|
|
63
|
-
<el-form-item class="m-b" label="验证码" prop="code">
|
|
63
|
+
<el-form-item class="m-b" :label="'验证码' | $lc" prop="code">
|
|
64
64
|
<br />
|
|
65
65
|
<div class="flex-box">
|
|
66
|
-
<el-input v-model="form.code" class="flex-item m-r-s" placeholder="请输入验证码" />
|
|
66
|
+
<el-input v-model="form.code" class="flex-item m-r-s" :placeholder="'请输入验证码' | $lc" />
|
|
67
67
|
<el-button
|
|
68
68
|
plain
|
|
69
69
|
style="4em"
|
|
70
|
-
:disabled="!form.phone || codeNum !== '验证码'"
|
|
71
|
-
@click="sendMsg('phone', '手机号')"
|
|
70
|
+
:disabled="!form.phone || codeNum !== $lc('验证码')"
|
|
71
|
+
@click="sendMsg('phone', $lc('手机号'))"
|
|
72
72
|
>{{ codeNum }}</el-button
|
|
73
73
|
>
|
|
74
74
|
</div>
|
|
75
75
|
</el-form-item>
|
|
76
|
-
<el-button class="m-t" type="primary" native-type="submit" style="width: 100%"
|
|
76
|
+
<el-button class="m-t" type="primary" native-type="submit" style="width: 100%">{{ '登 录' | $lc }}</el-button>
|
|
77
77
|
</el-form>
|
|
78
78
|
</div>
|
|
79
79
|
<!-- 账户密码验证码登录 -->
|
|
@@ -85,32 +85,32 @@
|
|
|
85
85
|
:hide-required-asterisk="true"
|
|
86
86
|
@submit.native.prevent="submitLogin"
|
|
87
87
|
>
|
|
88
|
-
<el-form-item class="m-b" label="账号" prop="username">
|
|
89
|
-
<el-input v-model="form.username" placeholder="请输入账号" />
|
|
88
|
+
<el-form-item class="m-b" :label="'账号' | $lc" prop="username">
|
|
89
|
+
<el-input v-model="form.username" :placeholder="'请输入账号' | $lc" />
|
|
90
90
|
</el-form-item>
|
|
91
|
-
<el-form-item class="m-b" label="密码" prop="password">
|
|
92
|
-
<el-input v-model="form.password" placeholder="请输入密码" show-password />
|
|
91
|
+
<el-form-item class="m-b" :label="'密码' | $lc" prop="password">
|
|
92
|
+
<el-input v-model="form.password" :placeholder="'请输入密码' | $lc" show-password />
|
|
93
93
|
</el-form-item>
|
|
94
|
-
<el-form-item class="m-b" label="验证码" prop="code">
|
|
94
|
+
<el-form-item class="m-b" :label="'验证码' | $lc" prop="code">
|
|
95
95
|
<br />
|
|
96
96
|
<div class="flex-box">
|
|
97
|
-
<el-input v-model="form.code" class="flex-item m-r-s" placeholder="请输入验证码" />
|
|
97
|
+
<el-input v-model="form.code" class="flex-item m-r-s" :placeholder="'请输入验证码' | $lc" />
|
|
98
98
|
<el-button
|
|
99
99
|
plain
|
|
100
100
|
style="4em"
|
|
101
|
-
:disabled="!form.username || codeNum !== '验证码'"
|
|
102
|
-
@click="sendMsg('username', '账户')"
|
|
101
|
+
:disabled="!form.username || codeNum !== $lc('验证码')"
|
|
102
|
+
@click="sendMsg('username', $lc('账户'))"
|
|
103
103
|
>{{ codeNum }}</el-button
|
|
104
104
|
>
|
|
105
105
|
</div>
|
|
106
106
|
</el-form-item>
|
|
107
|
-
<el-button class="m-t" type="primary" native-type="submit" style="width: 100%"
|
|
107
|
+
<el-button class="m-t" type="primary" native-type="submit" style="width: 100%">{{ '登 录' | $lc }}</el-button>
|
|
108
108
|
</el-form>
|
|
109
109
|
</div>
|
|
110
110
|
<!-- -->
|
|
111
111
|
<div v-if="theType !== 'qrcode'" class="flex-box flex-lr m-t-s m-b-s">
|
|
112
112
|
<el-dropdown size="mini" placement="bottom-start" @command="changeLoginType">
|
|
113
|
-
<span
|
|
113
|
+
<span>{{ '其他登录方式' | $lc }}</span>
|
|
114
114
|
<el-dropdown-menu slot="dropdown">
|
|
115
115
|
<template v-for="item in loginTypes">
|
|
116
116
|
<el-dropdown-item v-if="item !== theType" :key="item" :command="item">{{
|
|
@@ -120,13 +120,14 @@
|
|
|
120
120
|
</el-dropdown-menu>
|
|
121
121
|
</el-dropdown>
|
|
122
122
|
|
|
123
|
-
<el-link :underline="false" @click="forgetPw"
|
|
123
|
+
<el-link :underline="false" @click="forgetPw">{{ '忘记密码' | $lc }}</el-link>
|
|
124
124
|
</div>
|
|
125
125
|
<slot name="footer"></slot>
|
|
126
126
|
</div>
|
|
127
127
|
</template>
|
|
128
128
|
|
|
129
129
|
<script>
|
|
130
|
+
import { $lc } from '../../utils/i18n/index'
|
|
130
131
|
import axios from '../../utils/axios'
|
|
131
132
|
import auth from '../../utils/auth'
|
|
132
133
|
import qrCode from './qrcode.vue'
|
|
@@ -164,10 +165,10 @@ export default {
|
|
|
164
165
|
fakePwd: 'a1b2c3d4',
|
|
165
166
|
loadingV: false,
|
|
166
167
|
loginTypeMap: {
|
|
167
|
-
account: '账号密码登录',
|
|
168
|
-
pthon: '手机验证码登录',
|
|
169
|
-
qrcode: '二维码扫码登录',
|
|
170
|
-
accountPthon: '账户密码验证码登录'
|
|
168
|
+
account: $lc('账号密码登录'),
|
|
169
|
+
pthon: $lc('手机验证码登录'),
|
|
170
|
+
qrcode: $lc('二维码扫码登录'),
|
|
171
|
+
accountPthon: $lc('账户密码验证码登录')
|
|
171
172
|
},
|
|
172
173
|
theType: this.loginTypes[0],
|
|
173
174
|
userNo: undefined,
|
|
@@ -190,7 +191,7 @@ export default {
|
|
|
190
191
|
}
|
|
191
192
|
]
|
|
192
193
|
},
|
|
193
|
-
codeNum: '验证码',
|
|
194
|
+
codeNum: $lc('验证码'),
|
|
194
195
|
getAzCount: 0
|
|
195
196
|
}
|
|
196
197
|
},
|
|
@@ -224,10 +225,10 @@ export default {
|
|
|
224
225
|
num--
|
|
225
226
|
} else {
|
|
226
227
|
clearTimeout(this.setTimeNum)
|
|
227
|
-
this.codeNum = '验证码'
|
|
228
|
+
this.codeNum = $lc('验证码')
|
|
228
229
|
}
|
|
229
230
|
},
|
|
230
|
-
sendMsg(type = 'phone', typeName = '手机号') {
|
|
231
|
+
sendMsg(type = 'phone', typeName = $lc('手机号')) {
|
|
231
232
|
this.$refs['login-form'].validateField(type, (valid) => {
|
|
232
233
|
if (!valid) {
|
|
233
234
|
this.outTime(60)
|
|
@@ -252,7 +253,7 @@ export default {
|
|
|
252
253
|
})
|
|
253
254
|
.catch(() => {
|
|
254
255
|
clearTimeout(this.setTimeNum)
|
|
255
|
-
this.codeNum = '验证码'
|
|
256
|
+
this.codeNum = $lc('验证码')
|
|
256
257
|
})
|
|
257
258
|
}
|
|
258
259
|
})
|
|
@@ -338,7 +339,7 @@ export default {
|
|
|
338
339
|
// 北京CA
|
|
339
340
|
window.sessionStorage.setItem('signType', 'bjcaSign')
|
|
340
341
|
} else if (supplier === 'Itrus') {
|
|
341
|
-
|
|
342
|
+
// 天威CA
|
|
342
343
|
window.sessionStorage.setItem('signType', 'ItrusSign')
|
|
343
344
|
} else {
|
|
344
345
|
// 信安CA
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<div class="login-logo-box flex-box flex-v">
|
|
13
13
|
<img v-if="loginLogo" :src="loginLogo" :style="{ width: loginLogoWidth, height: loginLogoHeight }" />
|
|
14
14
|
<span v-if="loginLogo && loginLogoText" class="login-logo-hr m-l-s m-r-s"></span>
|
|
15
|
-
<h3 class="login-logo-text">{{ loginLogoText }}</h3>
|
|
15
|
+
<h3 class="login-logo-text">{{ loginLogoText | $l }}</h3>
|
|
16
16
|
</div>
|
|
17
17
|
<!-- eslint-disable-next-line vue/no-v-html -->
|
|
18
18
|
<div doc="登录页标语" v-html="sloganHtml"></div>
|
|
@@ -23,16 +23,17 @@
|
|
|
23
23
|
class="login-form"
|
|
24
24
|
@changType="getChangetype"
|
|
25
25
|
>
|
|
26
|
-
<div slot="header" class="login-form-header m-b text-c"
|
|
26
|
+
<div slot="header" class="login-form-header m-b text-c">{{ '欢 迎 登 录' | $lc }}</div>
|
|
27
27
|
<div slot="footer" class="login-form-footer m-t text-r">
|
|
28
28
|
<slot name="footer">
|
|
29
|
-
|
|
29
|
+
{{ '为达到更好的体验效果,请' | $lc
|
|
30
|
+
}}<a
|
|
30
31
|
class="el-icon-bottom"
|
|
31
32
|
href="https://down.360safe.com/se/360se13.1.5101.0.exe"
|
|
32
33
|
download="启程浏览器.exe"
|
|
33
34
|
style="text-decoration: none; color: var(--color-primary)"
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
>{{ '下载' | $lc }}</a
|
|
36
|
+
>{{ '启程浏览器' | $lc }}
|
|
36
37
|
</slot>
|
|
37
38
|
</div>
|
|
38
39
|
</loginForm>
|
|
@@ -42,7 +43,7 @@
|
|
|
42
43
|
class="login-copyright w-100p text-c color-placeholder"
|
|
43
44
|
style="position: absolute; bottom: 6px; left: 0"
|
|
44
45
|
>
|
|
45
|
-
{{ loginCopyright }}
|
|
46
|
+
{{ loginCopyright | $l }}
|
|
46
47
|
</div>
|
|
47
48
|
</div>
|
|
48
49
|
</template>
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
<div v-loading="loadingV">
|
|
3
3
|
<canvas ref="qr-canvas" style="display: block; width: 212px; height: 212px; margin: 0 auto"></canvas>
|
|
4
4
|
<div class="text-r" style="font-size: 12px; color: #3d4a57; margin-bottom: -8px">
|
|
5
|
-
请使用网银移动端扫码免Ukey
|
|
5
|
+
{{ '请使用网银移动端扫码免Ukey登录' | $lc
|
|
6
|
+
}}<el-button class="m-l-s" type="text" @click="refreshQrCode">
|
|
6
7
|
<i class="el-icon-refresh"></i>
|
|
7
|
-
|
|
8
|
+
{{ '刷新' | $lc }}</el-button
|
|
8
9
|
>
|
|
9
10
|
</div>
|
|
10
11
|
</div>
|