n20-common-lib 1.3.75 → 1.3.76

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": "1.3.75",
3
+ "version": "1.3.76",
4
4
  "private": false,
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -15,6 +15,16 @@
15
15
  </div>
16
16
  <div v-if="authList.includes('isAddtask')" class="flex-1">
17
17
  <el-form-item label="加签" class="m-b">
18
+ <label slot="label">
19
+ <span>加签</span>
20
+ <el-tooltip placement="top">
21
+ <span class="n20-icon-xinxitishi m-l-ss" style="position: static"></span>
22
+ <div slot="content" style="width: 16em; line-height: 1.6">
23
+ 会签并行:增加一个会签节点,全部审批人同意才可通过审批<br />
24
+ 普通串行:按照加签人数增加节点,每个节点审批通过才可完成当前加签流程
25
+ </div>
26
+ </el-tooltip>
27
+ </label>
18
28
  <div class="flex-box">
19
29
  <el-select v-model="addTaskType" placeholder="请选择审批方式" style="width: 10em">
20
30
  <!-- <el-option label="普通节点" value="1" /> -->
@@ -214,10 +224,9 @@ export default {
214
224
  beforeFn(bFn, callFn) {
215
225
  if (!bFn) {
216
226
  callFn()
217
- } else if (bFn instanceof Promise) {
218
- bFn().then(callFn)
219
- } else if (bFn instanceof Function) {
220
- bFn(callFn)
227
+ } else {
228
+ let F = bFn(callFn)
229
+ F.then && F.then(callFn)
221
230
  }
222
231
  },
223
232
  // 驳回
@@ -202,6 +202,12 @@ export default {
202
202
  noticePop,
203
203
  switchUser
204
204
  },
205
+ props: {
206
+ beforeLogout: {
207
+ type: Function,
208
+ default: undefined
209
+ }
210
+ },
205
211
  inject: {
206
212
  customOpt: {
207
213
  type: Object,
@@ -373,9 +379,17 @@ export default {
373
379
  type: 'warning'
374
380
  }
375
381
  ).then(() => {
376
- axios.delete('/bems/prod_1.0/uas/api/authorization/logout').then(() => {
377
- auth.removeToken()
378
- })
382
+ if (this.beforeLogout) {
383
+ let F = this.beforeLogout(this.logoutA)
384
+ F.then && F.then(this.logoutA)
385
+ } else {
386
+ this.logoutA()
387
+ }
388
+ })
389
+ },
390
+ logoutA() {
391
+ axios.delete('/bems/prod_1.0/uas/api/authorization/logout').then(() => {
392
+ auth.removeToken()
379
393
  })
380
394
  },
381
395
  // 检查是否代理中
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div class="layout-wrap">
3
- <headerWrap class="header-wrap" @custom-event="(par) => $emit('custom-event', par)" />
3
+ <headerWrap class="header-wrap" :before-logout="beforeLogout" @custom-event="(par) => $emit('custom-event', par)" />
4
4
  <asideNav :menus="menusC" :active-nav="activeNavC" :collapse.sync="collapse" @menu-click="menuClick" />
5
5
  <tabsNav
6
6
  class="tabs-nav-wrap"
@@ -52,6 +52,10 @@ export default {
52
52
  isTest: {
53
53
  type: Boolean,
54
54
  default: false
55
+ },
56
+ beforeLogout: {
57
+ type: Function,
58
+ default: undefined
55
59
  }
56
60
  },
57
61
  data() {
@@ -2,7 +2,7 @@
2
2
  <el-upload
3
3
  ref="upload"
4
4
  :action="action"
5
- :headers="headers"
5
+ :headers="headers | headersF"
6
6
  :accept="accept"
7
7
  :multiple="multiple"
8
8
  :file-list="fileList"
@@ -44,9 +44,15 @@
44
44
  </template>
45
45
 
46
46
  <script>
47
+ import auth from '../../utils/auth'
47
48
  import uploadMsg from './uploadMsg.vue'
48
49
  export default {
49
50
  name: 'Upload',
51
+ filters: {
52
+ headersF(headers) {
53
+ return auth.setHeaders(headers)
54
+ }
55
+ },
50
56
  components: {
51
57
  uploadMsg
52
58
  },
@@ -83,13 +89,7 @@ export default {
83
89
  },
84
90
  headers: {
85
91
  type: Object,
86
- default: () => ({
87
- token: 'Bearer ' + window.sessionStorage.getItem('token') || 'main-token',
88
- Authorization: 'Bearer ' + window.sessionStorage.getItem('token') || 'main-token',
89
- OperationDesc: 'default',
90
- timestamp: Date.now(),
91
- requestKey: Date.now()
92
- })
92
+ default: () => ({})
93
93
  },
94
94
  size: {
95
95
  type: [String, Number],
package/src/utils/auth.js CHANGED
@@ -4,6 +4,10 @@ import Cookies from 'js-cookie'
4
4
  const STORAGE = window.sessionStorage
5
5
  let ownLoginPath = '/login'
6
6
 
7
+ let langMap = { 'zh-cn': 'zh_CN', en: 'en_US', 'zh-hk': 'zh_TW' }
8
+ let langKey = window.localStorage.getItem('pageLang') || 'zh-cn'
9
+ let reqLang = langMap[langKey]
10
+
7
11
  const auth = {
8
12
  stokenKey: 'token',
9
13
  cokenKey: 'token',
@@ -29,7 +33,6 @@ const auth = {
29
33
  STORAGE.removeItem(this.stokenKey)
30
34
  auth.toLogin()
31
35
  },
32
-
33
36
  setLoginPath(router) {
34
37
  let { base = '/', mode = 'history' } = router.options
35
38
  ;/\/$/.test(base) || (base += '/')
@@ -50,7 +53,18 @@ const auth = {
50
53
  window.location.href = loginHref
51
54
  }
52
55
  },
56
+ setHeaders(headers, desc) {
57
+ let token = auth.getToken()
58
+ let defaultHd = {
59
+ Authorization: token ? 'Bearer ' + token : 'Basic TlNUQzpWVkIxVG1sVlVURlNMemxyTkhoc2VtNXdObFJaUVQwOQ==',
60
+ OperationDesc: desc ? encodeURI(desc) : 'default',
61
+ timestamp: Date.now(),
62
+ requestKey: Date.now(),
63
+ lang: reqLang
64
+ }
53
65
 
66
+ return Object.assign(defaultHd, headers)
67
+ },
54
68
  // 自定义跳转路径
55
69
  customURL(url) {
56
70
  sessionStorage.setItem('customLoginUrl', url)
@@ -58,15 +58,7 @@ const config = {
58
58
  const axios = _axios.create(config)
59
59
 
60
60
  axios.interceptors.request.use((opt) => {
61
- let token = auth.getToken()
62
- let headers = {
63
- Authorization: token ? 'Bearer ' + token : 'Basic TlNUQzpWVkIxVG1sVlVURlNMemxyTkhoc2VtNXdObFJaUVQwOQ==',
64
- OperationDesc: opt.OperationDesc ? encodeURI(opt.OperationDesc) : 'default',
65
- timestamp: Date.now(),
66
- requestKey: Date.now()
67
- }
68
- opt.headers = Object.assign(headers, opt.headers)
69
-
61
+ opt.headers = auth.setHeaders(opt.headers, opt.OperationDesc)
70
62
  return opt
71
63
  })
72
64