n20-common-lib 2.9.35 → 2.9.36

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.9.35",
3
+ "version": "2.9.36",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve": "vue-cli-service serve",
@@ -257,7 +257,7 @@ export default {
257
257
  }
258
258
  },
259
259
  created() {
260
- getJsonc('/server-config.jsonc').then(({ _layoutData = {}, loginSetting }) => {
260
+ getJsonc('/server-config.jsonc').then(({ _layoutData = {}, loginSetting, langConf = {} }) => {
261
261
  let _loginSetting = loginSetting || _layoutData.loginSetting
262
262
  this.headerLogoUrl = realUrl(_layoutData.headerLogoUrl)
263
263
  this.headerUserUrl = realUrl(_layoutData.headerUserUrl)
@@ -268,7 +268,7 @@ export default {
268
268
  this.headerBgUrl = realUrl(_layoutData.headerBgUrl)
269
269
  this.headerBgColor = _layoutData.headerBgColor
270
270
  this.hideHelpDoc = _layoutData.hideHelpDoc
271
- this.hideLang = _layoutData.hideLang
271
+ this.hideLang = (_layoutData.hideLang || langConf.hideLang) ?? false
272
272
  this.hideDowApp = _layoutData.hideDowApp
273
273
  this.hideTheme = _layoutData.hideTheme
274
274
 
@@ -22,11 +22,11 @@
22
22
  <h3 :class="['header-title ', showNavigation ? 'm-r-s' : 'm-r-auto']">{{ headerTitle | $l }}</h3>
23
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
- <use xlink:href="#n20-icon-caidan"></use>
25
+ <use xlink:href="#n20-icon-caidan" />
26
26
  </svg>
27
27
  <span class="m-l-ss f-s-b color-primary">{{ $lc('导航') }}</span>
28
28
  <svg class="icon m-l-ss f-s-s" aria-hidden="true">
29
- <use xlink:href="#n20-icon-lujing"></use>
29
+ <use xlink:href="#n20-icon-lujing" />
30
30
  </svg>
31
31
  </div>
32
32
 
@@ -493,7 +493,7 @@ export default {
493
493
  }
494
494
  },
495
495
  created() {
496
- getJsonc('/server-config.jsonc').then(({ _layoutData = {}, loginSetting }) => {
496
+ getJsonc('/server-config.jsonc').then(({ _layoutData = {}, loginSetting, langConf = {} }) => {
497
497
  let _loginSetting = loginSetting || _layoutData.loginSetting
498
498
  this.headerLogoUrl = realUrl(_layoutData.headerLogoUrl)
499
499
  this.headerLogoWidth = _layoutData.headerLogoWidth
@@ -503,7 +503,7 @@ export default {
503
503
  this.headerBgUrl = realUrl(_layoutData.headerBgUrl)
504
504
  this.headerBgColor = _layoutData.headerBgColor
505
505
  this.hideHelpDoc = _layoutData.hideHelpDoc
506
- this.hideLang = _layoutData.hideLang
506
+ this.hideLang = (_layoutData.hideLang || langConf.hideLang) ?? false
507
507
  this.langMap = _layoutData.lang
508
508
  this.hideDowApp = _layoutData.hideDowApp
509
509
  this.hideTheme = _layoutData.hideTheme
@@ -7,7 +7,7 @@
7
7
  :login-types="loginTypes"
8
8
  :login-then="loginThen"
9
9
  :async-rela-nos="asyncRelaNos"
10
- :syncRelated="syncRelated"
10
+ :sync-related="syncRelated"
11
11
  :show-forget-btn="showForgetBtn"
12
12
  :extra-form="extraForm"
13
13
  style="display: none"
@@ -82,13 +82,13 @@
82
82
 
83
83
  <loginForm
84
84
  v-if="operateType === 'login'"
85
- class="login-form"
86
85
  ref="simpleLogin"
86
+ class="login-form"
87
87
  :before-login="beforeLogin"
88
88
  :login-types="loginTypes"
89
89
  :login-then="loginThenT"
90
90
  :async-rela-nos="asyncRelaNos"
91
- :syncRelated="syncRelated"
91
+ :sync-related="syncRelated"
92
92
  :extra-form="extraForm"
93
93
  :show-image-code="imgCode"
94
94
  :show-forget-btn="showForgetBtn"
@@ -96,21 +96,21 @@
96
96
  >
97
97
  <div slot="header" class="login-form-header m-b text-c">
98
98
  <el-dropdown
99
- v-if="!jsonData.hideLang && jsonData.lang.length > 1"
99
+ v-if="!langConf.hideLang && langConf.lang && langConf.lang.length > 1"
100
100
  class="m-l-lg login-language-box"
101
101
  @command="setLang"
102
102
  >
103
103
  <span>{{ langMap[langVal] | $lc }}<i class="el-icon-arrow-down el-icon--right"></i></span>
104
104
  <el-dropdown-menu slot="dropdown">
105
- <el-dropdown-item v-if="jsonData.lang.includes('zh-cn')" command="zh-cn">{{
105
+ <el-dropdown-item v-if="langConf.lang.includes('zh-cn')" command="zh-cn">{{
106
106
  '简体中文' | $lc
107
107
  }}</el-dropdown-item>
108
- <el-dropdown-item v-if="jsonData.lang.includes('zh-hk')" command="zh-hk">{{
108
+ <el-dropdown-item v-if="langConf.lang.includes('zh-hk')" command="zh-hk">{{
109
109
  '繁体中文' | $lc
110
110
  }}</el-dropdown-item>
111
- <el-dropdown-item v-if="jsonData.lang.includes('en')" command="en">{{ '英文' | $lc }}</el-dropdown-item>
112
- <el-dropdown-item v-if="jsonData.lang.includes('th')" command="th">{{ '泰文' | $lc }}</el-dropdown-item>
113
- <el-dropdown-item v-if="jsonData.lang.includes('vi')" command="vi">{{ '越南语' | $lc }}</el-dropdown-item>
111
+ <el-dropdown-item v-if="langConf.lang.includes('en')" command="en">{{ '英文' | $lc }}</el-dropdown-item>
112
+ <el-dropdown-item v-if="langConf.lang.includes('th')" command="th">{{ '泰文' | $lc }}</el-dropdown-item>
113
+ <el-dropdown-item v-if="langConf.lang.includes('vi')" command="vi">{{ '越南语' | $lc }}</el-dropdown-item>
114
114
  </el-dropdown-menu>
115
115
  </el-dropdown>
116
116
  <slot name="header">{{ '欢 迎 登 录' | $lc }}</slot>
@@ -240,6 +240,10 @@ export default {
240
240
  hideLang: undefined,
241
241
  lang: []
242
242
  },
243
+ langConf: {
244
+ hideLang: false,
245
+ lang: ['zh-cn', 'zh-hk', 'en']
246
+ },
243
247
  langVal: window.localStorage.getItem('pageLang') || 'zh-cn',
244
248
  operateType: 'login',
245
249
  alV: false,
@@ -456,11 +460,18 @@ export default {
456
460
  this.$refs.simpleLogin.loginAfter(data)
457
461
  },
458
462
  async init() {
459
- const { _layoutData = {}, loginSetting, screenInspect } = await getJsonc('/server-config.jsonc')
463
+ const { _layoutData = {}, langConf = {}, loginSetting, screenInspect } = await getJsonc('/server-config.jsonc')
460
464
  let _loginSetting = loginSetting || _layoutData.loginSetting
461
465
  this.jsonData = _layoutData
462
- if (this.jsonData?.lang?.length) {
463
- window.localStorage.setItem('pageLang', this.jsonData?.lang[0])
466
+ // 兼容旧的配置项 先取_layoutData中的配置没有再取langConf中的配置
467
+ langConf.hideLang = (this.jsonData?.hideLang || langConf?.hideLang) ?? false
468
+ langConf.lang = this.jsonData?.lang || langConf?.lang || ['zh-cn', 'zh-hk', 'en']
469
+ this.langConf = langConf
470
+ if (!langConf.hideLang && langConf?.lang?.length) {
471
+ window.localStorage.setItem('pageLang', langConf.lang[0])
472
+ Cookies.set('language', ['zh-cn', 'zh-hk'].includes(langConf.lang[0]) ? 'zh' : langConf.lang[0], {
473
+ expires: 365
474
+ })
464
475
  }
465
476
  if (_loginSetting !== 'JSON' && this.jsonData.showSystem) {
466
477
  await this.getSysSet()
@@ -1,20 +1,20 @@
1
1
  <template>
2
2
  <Dialog
3
+ v-drag
3
4
  class="p-a-0"
4
5
  :title="'附件预览' | $lc"
5
6
  :visible.sync="visibleP"
6
7
  top="4vh"
7
8
  width="96%"
8
9
  append-to-body
9
- @close="closeSee"
10
- v-drag
11
10
  :close-on-click-modal="false"
11
+ @close="closeSee"
12
12
  >
13
13
  <span class="file-upload-table_preview-pn">
14
14
  <el-button round onlyicon plain size="mini" icon="el-icon-back" @click="$emit('preSee')" />
15
15
  <el-button round onlyicon plain size="mini" icon="el-icon-right" @click="$emit('nextSee')" />
16
16
  </span>
17
- <div class="p-a" v-if="visiblePv" style="height: 82vh">
17
+ <div v-if="visiblePv" class="p-a" style="height: 82vh">
18
18
  <ViewerImg v-if="imgType.test(previewName)" :options="viewerOptions" style="height: 100%">
19
19
  <img :src="previewUrl" :alt="previewName" style="display: none" />
20
20
  </ViewerImg>