n20-common-lib 2.1.26 → 2.1.28

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.
Files changed (54) hide show
  1. package/package.json +2 -2
  2. package/src/assets/css/cl-statis.scss +0 -13
  3. package/src/assets/css/el-table.scss +13 -0
  4. package/src/assets/iconFont/demo_index.html +1190 -1321
  5. package/src/assets/iconFont/iconfont.css +11 -3
  6. package/src/assets/iconFont/iconfont.js +1 -1
  7. package/src/assets/iconFont/iconfont.json +14 -0
  8. package/src/assets/iconFont/iconfont.ttf +0 -0
  9. package/src/assets/iconFont/iconfont.woff +0 -0
  10. package/src/assets/iconFont/iconfont.woff2 +0 -0
  11. package/src/components/ApprovalButtons/index.vue +22 -6
  12. package/src/components/Expandable/index.vue +3 -46
  13. package/src/components/Layout/HeaderWrap/indexN.vue +2 -7
  14. package/src/components/LoginSetting/img-none.png +0 -0
  15. package/src/components/LoginSetting/indexN.vue +1 -1
  16. package/src/components/LoginSetting/setItem.vue +196 -131
  17. package/src/components/LoginTemporary/button-next.png +0 -0
  18. package/src/components/LoginTemporary/button-prev.png +0 -0
  19. package/src/components/LoginTemporary/form.vue +16 -3
  20. package/src/components/LoginTemporary/indexN.vue +92 -37
  21. package/src/components/LoginTemporary/item1-active.png +0 -0
  22. package/src/components/LoginTemporary/item1-light-active.png +0 -0
  23. package/src/components/LoginTemporary/item2-active.png +0 -0
  24. package/src/components/LoginTemporary/item2-light-active.png +0 -0
  25. package/src/components/LoginTemporary/item2-light.png +0 -0
  26. package/src/components/LoginTemporary/item2.png +0 -0
  27. package/src/components/Statis/statisPopover.vue +17 -1
  28. package/src/components/Upload/uploadMsg.vue +77 -68
  29. package/src/index.js +2 -0
  30. package/src/utils/axios.js +3 -3
  31. package/src/utils/imgLoad.js +47 -0
  32. package/src/utils/tableheaderFilterpanel.vue +4 -5
  33. package/src/utils/urlToGo.js +1 -1
  34. package/style/fonts/iconfont.e6bdbf43.woff2 +0 -0
  35. package/style/fonts/iconfont.f1777a50.woff +0 -0
  36. package/{theme/fonts/iconfont.a9febaa2.ttf → style/fonts/iconfont.fbdd69b3.ttf} +0 -0
  37. package/style/index.css +3 -3
  38. package/style/index.css.map +1 -1
  39. package/theme/blue.css +3 -3
  40. package/theme/cctcRed.css +3 -3
  41. package/theme/fonts/iconfont.e6bdbf43.woff2 +0 -0
  42. package/theme/fonts/iconfont.f1777a50.woff +0 -0
  43. package/{style/fonts/iconfont.a9febaa2.ttf → theme/fonts/iconfont.fbdd69b3.ttf} +0 -0
  44. package/theme/green.css +3 -3
  45. package/theme/lightBlue.css +3 -3
  46. package/theme/orange.css +3 -3
  47. package/theme/purple.css +3 -3
  48. package/theme/red.css +3 -3
  49. package/theme/yellow.css +3 -3
  50. package/style/fonts/iconfont.022f36c4.woff2 +0 -0
  51. package/style/fonts/iconfont.4a1b2c93.woff +0 -0
  52. package/theme/fonts/iconfont.022f36c4.woff2 +0 -0
  53. package/theme/fonts/iconfont.4a1b2c93.woff +0 -0
  54. package/theme/fonts/iconfont.fa132ccf.ttf +0 -0
@@ -1,142 +1,196 @@
1
1
  <!-- eslint-disable no-empty -->
2
2
  <template>
3
- <div class="p-l-lg" style="overflow: auto">
4
- <el-form ref="form" :model="form" class="m-l-lg" label-position="top">
5
- <el-form-item
6
- :label="'登录页URL' | $lc"
7
- prop="LOGIN_URL"
8
- :rules="{ required: true, message: $lc('登录页URL不能为空'), trigger: 'change' }"
9
- >
10
- <el-input v-model="form.LOGIN_URL" class="input-w-u" clearable />
11
- </el-form-item>
12
- <el-form-item
13
- :label="'集团名称设置' | $lc"
14
- prop="GROUP_NAME"
15
- :rules="{ required: true, message: $lc('集团名称不能为空'), trigger: 'change' }"
16
- >
17
- <el-input v-model="form.GROUP_NAME" class="input-w-u" clearable />
18
- </el-form-item>
19
- <el-form-item :label="'登录首页文字显示信息' | $lc">
20
- <el-input v-model="form.LOGIN_SLOGAN" type="textarea" class="input-w-u" rows="1" />
21
- </el-form-item>
22
- <el-form-item
23
- :label="'登录背景图片设置' | $lc"
24
- prop="LOGIN_BG"
25
- :rules="{ required: true, message: $lc('登录背景图片不能为空'), trigger: 'change' }"
26
- >
27
- <div class="login-form-bg-box">
28
- <img :key="key_1" class="login-preview" :src="form.LOGIN_BG" />
29
- <div>
30
- <div class="flex-box">
31
- <span class="m-r">{{ '上传图片' | $lc }}</span>
32
- <cl-upload
33
- :action="`/bems/1.0/upload/${idNo}_bg`"
34
- :file-url.sync="form.LOGIN_BG"
35
- accept="image/*"
36
- msg-type="message"
37
- :placeholder="'选择附件' | $lc"
38
- :on-success="() => (key_1 = key_1 + 1)"
3
+ <div style="overflow: auto">
4
+ <el-form ref="form" :model="form" label-position="top">
5
+ <cl-expandable-pane class="base-set" :title="'基本页面设置' | $lc" title-class="m-t-0">
6
+ <div style="padding-left: 48px; padding-right: 38px">
7
+ <el-form-item
8
+ :label="'登录页URL' | $lc"
9
+ prop="LOGIN_URL"
10
+ :rules="{ required: true, message: $lc('登录页URL不能为空'), trigger: 'change' }"
11
+ >
12
+ <el-input v-model="form.LOGIN_URL" class="input-w-u" clearable />
13
+ </el-form-item>
14
+ <el-form-item
15
+ :label="'集团名称设置' | $lc"
16
+ prop="GROUP_NAME"
17
+ :rules="{ required: true, message: $lc('集团名称不能为空'), trigger: 'change' }"
18
+ >
19
+ <el-input v-model="form.GROUP_NAME" class="input-w-u" clearable />
20
+ </el-form-item>
21
+ <el-form-item :label="'登录首页文字显示信息' | $lc" style="display: none">
22
+ <el-input v-model="form.LOGIN_SLOGAN" type="textarea" class="input-w-u" rows="1" />
23
+ </el-form-item>
24
+ <el-form-item
25
+ :label="'登录背景图片设置' | $lc"
26
+ prop="LOGIN_BG"
27
+ :rules="{ required: true, message: $lc('登录背景图片不能为空'), trigger: 'change' }"
28
+ >
29
+ <div class="login-form-bg-box">
30
+ <img
31
+ v-if="form.LOGIN_BG"
32
+ :key="key_1"
33
+ :src="form.LOGIN_BG"
34
+ class="login-preview"
35
+ onerror="imgLoad(this)"
39
36
  />
37
+ <img v-else src="./img-none.png" class="login-preview" />
38
+ <div>
39
+ <div class="flex-box">
40
+ <span class="m-r">{{ '上传图片' | $lc }}</span>
41
+ <cl-upload
42
+ :action="`/bems/1.0/upload/${idNo}_bg`"
43
+ :file-url.sync="form.LOGIN_BG"
44
+ accept="image/*"
45
+ :placeholder="'选择附件' | $lc"
46
+ :on-success="
47
+ () => {
48
+ key_1 = key_1 + 1
49
+ form.LOGIN_BG_TYPE = ''
50
+ }
51
+ "
52
+ />
53
+ <el-button
54
+ class="m-l"
55
+ type="primary"
56
+ @click="
57
+ () => {
58
+ form.LOGIN_BG = '/portal/server-assets/loginBg.jpg'
59
+ form.LOGIN_BG_TYPE = 'dark'
60
+ }
61
+ "
62
+ >恢复默认</el-button
63
+ >
64
+ </div>
65
+ <div class="color-placeholder f-s-s">
66
+ {{ '建议图片尺寸' | $lc }}:1920*1080,{{ '支持图片格式' | $lc }}:png、jpg、bmp、svg。
67
+ </div>
68
+ <div>
69
+ <el-form-item
70
+ class="bg-type m-b-0"
71
+ prop="LOGIN_BG_TYPE"
72
+ :rules="{ required: true, message: $lc('背景模式不能为空'), trigger: 'change' }"
73
+ >
74
+ <label class="m-r"><span class="m-r-ss" style="color: var(--color-danger)">*</span>背景模式</label>
75
+ <el-radio-group v-model="form.LOGIN_BG_TYPE">
76
+ <el-radio label="dark">深色背景</el-radio>
77
+ <el-radio label="light">浅色背景</el-radio>
78
+ </el-radio-group>
79
+ </el-form-item>
80
+ </div>
81
+ </div>
40
82
  </div>
41
- <div class="color-placeholder f-s-s">
42
- {{ '建议图片尺寸' | $lc }}:1920*1080,{{ '支持图片格式' | $lc }}:png、jpg、bmp、svg。
43
- </div>
44
- </div>
45
- </div>
46
- </el-form-item>
47
- <el-form-item
48
- :label="'公司LOGO图片设置' | $lc"
49
- prop="LOGIN_LOGO"
50
- :rules="{ required: true, message: $lc('公司LOGO图片不能为空'), trigger: 'change' }"
51
- >
52
- <div class="login-form-bg-box">
53
- <img :key="key_1" class="login-preview" :src="form.LOGIN_LOGO" />
54
- <div>
55
- <div class="flex-box">
56
- <span class="m-r">{{ '上传图片' | $lc }}</span>
57
- <cl-upload
58
- :action="`/bems/1.0/upload/${idNo}_logo`"
59
- :file-url.sync="form.LOGIN_LOGO"
60
- accept="image/*"
61
- msg-type="message"
62
- :placeholder="'选择附件' | $lc"
63
- :on-success="() => (key_2 = key_2 + 1)"
83
+ </el-form-item>
84
+ <el-form-item
85
+ :label="'公司LOGO图片设置' | $lc"
86
+ prop="LOGIN_LOGO"
87
+ :rules="{ required: true, message: $lc('公司LOGO图片不能为空'), trigger: 'change' }"
88
+ >
89
+ <div class="login-form-bg-box">
90
+ <img
91
+ v-if="form.LOGIN_LOGO"
92
+ :key="key_1"
93
+ class="login-preview"
94
+ :src="form.LOGIN_LOGO"
95
+ onerror="imgLoad(this)"
64
96
  />
97
+ <img v-else src="./img-none.png" class="login-preview" />
98
+ <div>
99
+ <div class="flex-box">
100
+ <span class="m-r">{{ '上传图片' | $lc }}</span>
101
+ <cl-upload
102
+ :action="`/bems/1.0/upload/${idNo}_logo`"
103
+ :file-url.sync="form.LOGIN_LOGO"
104
+ accept=".png,.svg"
105
+ :placeholder="'选择附件' | $lc"
106
+ :on-success="() => (key_2 = key_2 + 1)"
107
+ />
108
+ </div>
109
+ <div class="color-placeholder f-s-s">
110
+ {{ '建议图片尺寸' | $lc }}:100*100,{{ '支持图片格式' | $lc }}:png、svg。
111
+ </div>
112
+ </div>
65
113
  </div>
66
- <div class="color-placeholder f-s-s">
67
- {{ '建议图片尺寸' | $lc }}:108*30,{{ '支持图片格式' | $lc }}:png、jpg、bmp、svg。
68
- </div>
114
+ </el-form-item>
115
+ <el-form-item :label="'系统启用设置' | $lc" required class="m-b-0" />
116
+ <div class="bd-l bd-t bd-r m-b">
117
+ <el-table :data="form.SYSTEM_LIST">
118
+ <el-table-column label="序号" align="center" width="100">
119
+ <span slot-scope="scope">{{ '0' + (scope.$index + 1) }}</span>
120
+ </el-table-column>
121
+ <el-table-column :label="'系统名称' | $lc" prop="NAME">
122
+ <el-input v-model="row.NAME" slot-scope="{ row }" clearable maxlength="64" />
123
+ </el-table-column>
124
+ <el-table-column :label="'是否启用' | $lc" align="center" width="120">
125
+ <el-switch v-model="row.OPEN" slot-scope="{ row }" />
126
+ </el-table-column>
127
+ <el-table-column :label="'操作' | $lc" align="center" width="120">
128
+ <el-button slot-scope="{ row }" type="text" size="mini" @click="resetSys(row)">{{
129
+ '重置' | $lc
130
+ }}</el-button>
131
+ </el-table-column>
132
+ </el-table>
69
133
  </div>
134
+ <el-form-item
135
+ :label="'页面展示方式' | $lc"
136
+ prop="LOGIN_TYPE"
137
+ :rules="{ required: true, message: $lc('页面展示方式不能为空'), trigger: 'change' }"
138
+ >
139
+ <el-select v-model="form.LOGIN_TYPE" class="input-w-u">
140
+ <el-option :label="'左右切换' | $lc" value="T1" />
141
+ <el-option :label="'平铺展示' | $lc" value="T2" />
142
+ </el-select>
143
+ </el-form-item>
70
144
  </div>
71
- </el-form-item>
145
+ </cl-expandable-pane>
72
146
 
73
- <div class="bd-l bd-t bd-r m-t-lg m-b">
74
- <el-table :data="form.SYSTEM_LIST">
75
- <el-table-column :label="'系统名称' | $lc" prop="NAME" />
76
- <el-table-column :label="'是否在登录页显示' | $lc" align="center">
77
- <template slot-scope="{ row }">
78
- <el-switch v-model="row.OPEN" />
79
- </template>
80
- </el-table-column>
81
- </el-table>
82
- </div>
83
- <el-form-item
84
- :label="'页面展示方式' | $lc"
85
- :rules="{ required: true, message: $lc('页面展示方式不能为空'), trigger: 'change' }"
86
- >
87
- <el-select v-model="form.LOGIN_TYPE" class="input-w-u">
88
- <el-option :label="'左右切换' | $lc" value="T1" />
89
- <el-option :label="'平铺展示' | $lc" value="T2" />
90
- </el-select>
91
- </el-form-item>
92
147
  <cl-expandable-pane :title="'系统详情设置' | $lc" title-class="m-t-0">
93
- <template v-for="(systemItem, i) in form.SYSTEM_LIST">
94
- <div v-if="systemItem.OPEN" :key="i">
95
- <el-form-item
96
- :label="'系统名称设置' | $lc"
97
- :prop="`SYSTEM_LIST.${i}.NAME`"
98
- :rules="{ required: true, message: $lc('系统名称不能为空'), trigger: 'change' }"
99
- >
100
- <el-input ref="sys-name" v-model="systemItem.NAME" class="input-w-u" clearable />
101
- </el-form-item>
102
- <el-form-item :label="'系统标识图片设置' | $lc" class="is-required">
103
- <div class="login-form-bg-box">
104
- <img :key="keyS[i]" class="login-preview" :src="systemItem | realUrl" />
105
- <div>
106
- <div class="flex-box">
107
- <span class="m-r">{{ '上传图片' | $lc }}</span>
108
- <cl-upload
109
- :action="`/bems/1.0/upload/${idNo}_${systemItem.NO}_icon`"
110
- :file-url.sync="systemItem.ICON"
111
- accept="image/*"
112
- msg-type="message"
113
- :placeholder="'选择附件' | $lc"
114
- :on-success="() => (keyS[i] = keyS[i] + 1)"
115
- />
116
- </div>
117
- <div class="color-placeholder f-s-s">
118
- {{ '建议图片尺寸' | $lc }}:80*80,{{ '支持图片格式' | $lc }}:png、jpg、bmp、svg。
148
+ <div style="padding-left: 48px; padding-right: 38px">
149
+ <template v-for="(systemItem, i) in form.SYSTEM_LIST">
150
+ <div v-if="systemItem.OPEN" :key="i">
151
+ <div class="p-l m-b-m" style="line-height: 28px; background: rgba(0, 122, 255, 0.1)">
152
+ {{ '0' + (i + 1) }} {{ systemItem.NAME }}
153
+ </div>
154
+ <div style="padding-left: 48px">
155
+ <el-form-item :label="'系统标识图片设置' | $lc" class="is-required">
156
+ <div class="login-form-bg-box">
157
+ <img :key="keyS[i]" class="login-preview" :src="systemItem | realUrl" onerror="imgLoad(this)" />
158
+ <div>
159
+ <div class="flex-box">
160
+ <span class="m-r">{{ '上传图片' | $lc }}</span>
161
+ <cl-upload
162
+ :action="`/bems/1.0/upload/${idNo}_${systemItem.NO}_icon`"
163
+ :file-url.sync="systemItem.ICON"
164
+ accept=".png,.svg"
165
+ :placeholder="'选择附件' | $lc"
166
+ :on-success="() => (keyS[i] = keyS[i] + 1)"
167
+ />
168
+ </div>
169
+ <div class="color-placeholder f-s-s">
170
+ {{ '建议图片尺寸' | $lc }}:180*120,{{ '支持图片格式' | $lc }}:png、svg。
171
+ </div>
172
+ </div>
119
173
  </div>
120
- </div>
174
+ </el-form-item>
175
+ <el-form-item
176
+ :label="'登录方式设置' | $lc"
177
+ :prop="`SYSTEM_LIST.${i}.LOGIN_MODE`"
178
+ :rules="{ type: 'array', required: true, message: $lc('至少选择一种登录方式'), trigger: 'change' }"
179
+ >
180
+ <span slot="label"
181
+ ><span>{{ '登录方式设置' | $lc }}</span
182
+ ><span class="color-danger m-l-s f-s-s">({{ $lc('至少选择一种登录方式') | $lc }})</span></span
183
+ >
184
+ <el-checkbox-group v-model="systemItem.LOGIN_MODE">
185
+ <el-checkbox v-for="item in plainOptions" :key="item.value" :label="item.value">{{
186
+ item.label
187
+ }}</el-checkbox>
188
+ </el-checkbox-group>
189
+ </el-form-item>
121
190
  </div>
122
- </el-form-item>
123
- <el-form-item
124
- :label="'登录方式设置' | $lc"
125
- :prop="`SYSTEM_LIST.${i}.LOGIN_MODE`"
126
- :rules="{ type: 'array', required: true, message: $lc('至少选择一种登录方式'), trigger: 'change' }"
127
- >
128
- <span slot="label"
129
- ><span>{{ '登录方式设置' | $lc }}</span
130
- ><span class="color-danger m-l-s f-s-s">({{ $lc('至少选择一种登录方式') | $lc }})</span></span
131
- >
132
- <el-checkbox-group v-model="systemItem.LOGIN_MODE">
133
- <el-checkbox v-for="item in plainOptions" :key="item.value" :label="item.value">{{
134
- item.label
135
- }}</el-checkbox>
136
- </el-checkbox-group>
137
- </el-form-item>
138
- </div>
139
- </template>
191
+ </div>
192
+ </template>
193
+ </div>
140
194
  </cl-expandable-pane>
141
195
  </el-form>
142
196
  <div class="fixed-button-shadow flex-box flex-c flex-v">
@@ -150,6 +204,8 @@
150
204
  import { $lc } from '../../utils/i18n/index'
151
205
  import realUrl from '../../assets/realUrl'
152
206
  import IconMap from '../LoginTemporary/systemIconMap'
207
+ import imgLoad from '../../utils/imgLoad'
208
+ window.imgLoad = imgLoad
153
209
 
154
210
  export default {
155
211
  filters: {
@@ -176,6 +232,7 @@ export default {
176
232
  GROUP_NAME: '',
177
233
  LOGIN_SLOGAN: '',
178
234
  LOGIN_BG: '',
235
+ LOGIN_BG_TYPE: 'dark',
179
236
  LOGIN_LOGO: '',
180
237
  LOGIN_TYPE: 'T1',
181
238
  SYSTEM_LIST: [
@@ -250,6 +307,7 @@ export default {
250
307
  }
251
308
  },
252
309
  created() {
310
+ this.SYSTEM_LIST_O = JSON.parse(JSON.stringify(this.form.SYSTEM_LIST))
253
311
  this.Init()
254
312
  },
255
313
  activated() {
@@ -296,7 +354,9 @@ export default {
296
354
  sltRow(row) {
297
355
  this.systemItem = row
298
356
  },
299
-
357
+ resetSys(row) {
358
+ row.NAME = this.SYSTEM_LIST_O.find((c) => (c.NO = row.NO))?.NAME || ''
359
+ },
300
360
  async save() {
301
361
  let vPro = this.$refs['form'].validate()
302
362
  vPro.catch(() => {
@@ -354,8 +414,12 @@ export default {
354
414
  </script>
355
415
 
356
416
  <style scoped>
357
- .el-form ::v-deep .el-form-item__label {
417
+ .base-set ::v-deep .el-form-item__label {
358
418
  font-size: 16px;
419
+ font-weight: 500;
420
+ }
421
+ .bg-type ::v-deep .el-form-item__label {
422
+ padding-bottom: 0;
359
423
  }
360
424
  .input-w-u {
361
425
  width: 430px;
@@ -365,9 +429,10 @@ export default {
365
429
  align-items: flex-end;
366
430
  }
367
431
  .login-preview {
368
- width: 125px;
369
- height: 125px;
432
+ width: 120px;
433
+ height: 120px;
370
434
  margin-right: 16px;
435
+ border-radius: 4px;
371
436
  }
372
437
  .login-preview:hover {
373
438
  background: rgba(0, 0, 0, 0.1);
@@ -257,6 +257,7 @@ export default {
257
257
  },
258
258
  getImgCode() {
259
259
  if (this.theType === 'account') {
260
+ this.$set(this.form, 'imageCode', '')
260
261
  this.imageUrl && URL.revokeObjectURL(this.imageUrl)
261
262
  axios.get('/bems/prod_1.0/uas/api/authorization/captcha/image', null, { responseType: 'blob' }).then((blob) => {
262
263
  this.imageUrl = URL.createObjectURL(blob)
@@ -373,7 +374,7 @@ export default {
373
374
  await this.authorizationCode(username, password, code)
374
375
  // 请求该账号要不要强制验证码登录
375
376
  this.loadingAdd()
376
- let cL = await axios.post(
377
+ let cLPro = axios.post(
377
378
  '/bems/prod_1.0/uas/api/authorization/checkLogin',
378
379
  {
379
380
  grantType: 'password',
@@ -387,6 +388,9 @@ export default {
387
388
  }
388
389
  )
389
390
 
391
+ cLPro.catch(this.getImgCode)
392
+ let cL = await cLPro
393
+
390
394
  // 输入验证码
391
395
  if (cL.data === true) {
392
396
  this.theType = 'accountPthon'
@@ -396,9 +400,13 @@ export default {
396
400
  } else if (cL.data === false /* 签名验签 */) {
397
401
  // 获取线上签名uDn
398
402
  this.loadingAdd()
399
- let uDn = await axios.get(`/bems/prod_1.0/dssc/sign/getUserDn/${username}/password`, null, {
403
+ let uDnPro = axios.get(`/bems/prod_1.0/dssc/sign/getUserDn/${username}/password`, null, {
400
404
  loading: this.loadingSub
401
405
  })
406
+
407
+ uDnPro.catch(this.getImgCode)
408
+ let uDn = await uDnPro
409
+
402
410
  let { checkCert, userDn, supplier } = uDn.data
403
411
  // 走本地签名
404
412
  let sign = undefined
@@ -410,7 +418,11 @@ export default {
410
418
  if (checkCert) {
411
419
  this.loadingAdd()
412
420
  let { getSign } = await import('../../plugins/Sign')
413
- sign = await getSign(username + userDn, userDn)
421
+ let signPro = getSign(username + userDn, userDn)
422
+
423
+ uDnPro.catch(this.getImgCode)
424
+ sign = await signPro
425
+
414
426
  this.loadingSub()
415
427
  certDn = userDn
416
428
  }
@@ -438,6 +450,7 @@ export default {
438
450
  .then((res) => {
439
451
  this.loginAfter(res.data)
440
452
  })
453
+ .catch(this.getImgCode)
441
454
 
442
455
  return
443
456
  }