n20-common-lib 1.2.43 → 1.2.44

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 (201) hide show
  1. package/README.md +2 -2
  2. package/package.json +88 -88
  3. package/src/_qiankun/index.js +113 -113
  4. package/src/_qiankun/postMessage.js +48 -48
  5. package/src/assets/css/_coreLib.scss +35 -35
  6. package/src/assets/css/cl-anchor.scss +23 -23
  7. package/src/assets/css/cl-approve-card.scss +58 -58
  8. package/src/assets/css/cl-dialog.scss +99 -99
  9. package/src/assets/css/cl-drag-list.scss +22 -22
  10. package/src/assets/css/cl-empty.scss +10 -10
  11. package/src/assets/css/cl-expandable-pane.scss +26 -26
  12. package/src/assets/css/cl-expandable.scss +24 -24
  13. package/src/assets/css/cl-file-upload-table.scss +11 -11
  14. package/src/assets/css/cl-filter.scss +4 -4
  15. package/src/assets/css/cl-flow-step.scss +185 -185
  16. package/src/assets/css/cl-footer-box.scss +10 -10
  17. package/src/assets/css/cl-form-item.scss +612 -612
  18. package/src/assets/css/cl-general-card.scss +11 -11
  19. package/src/assets/css/cl-layout-aside.scss +92 -92
  20. package/src/assets/css/cl-layout-content.scss +16 -16
  21. package/src/assets/css/cl-layout-header.scss +73 -73
  22. package/src/assets/css/cl-layout-tabs.scss +87 -87
  23. package/src/assets/css/cl-layout.scss +97 -97
  24. package/src/assets/css/cl-login-temporary.scss +37 -37
  25. package/src/assets/css/cl-message.scss +75 -75
  26. package/src/assets/css/cl-more-tab.scss +98 -98
  27. package/src/assets/css/cl-nav-menu.scss +5 -5
  28. package/src/assets/css/cl-pagination.scss +128 -128
  29. package/src/assets/css/cl-secondary-tab.scss +53 -53
  30. package/src/assets/css/cl-showcolumn.scss +23 -23
  31. package/src/assets/css/cl-sifting.scss +51 -51
  32. package/src/assets/css/cl-statis.scss +42 -42
  33. package/src/assets/css/cl-step.scss +73 -73
  34. package/src/assets/css/cl-suspend.scss +19 -19
  35. package/src/assets/css/cl-tertiary-tab.scss +54 -54
  36. package/src/assets/css/cl-upload.scss +41 -41
  37. package/src/assets/css/cl-worn-pagination.scss +50 -50
  38. package/src/assets/css/el-button.scss +173 -173
  39. package/src/assets/css/el-table.scss +79 -79
  40. package/src/assets/css/element-variables.scss +1061 -1061
  41. package/src/assets/css/element.dev.scss +21 -21
  42. package/src/assets/css/font-icon.scss +27 -27
  43. package/src/assets/css/index.dev.scss +4 -4
  44. package/src/assets/css/index.scss +11 -11
  45. package/src/assets/css/normalize.scss +726 -726
  46. package/src/assets/css/rootvar.scss +139 -139
  47. package/src/assets/css/select.scss +25 -25
  48. package/src/assets/css/title-pop.scss +4 -4
  49. package/src/assets/getJsonc.js +50 -50
  50. package/src/assets/realUrl.js +12 -12
  51. package/src/components/.DS_Store +0 -0
  52. package/src/components/Anchor/AnchorItem.vue +29 -29
  53. package/src/components/Anchor/index.vue +185 -185
  54. package/src/components/ApprovalButtons/index.vue +233 -233
  55. package/src/components/ApprovalCard/index.vue +128 -128
  56. package/src/components/ApprovalRecord/approvalImg.vue +44 -44
  57. package/src/components/ApprovalRecord/flowDialog.vue +45 -45
  58. package/src/components/ApprovalRecord/index.vue +59 -59
  59. package/src/components/Button/button-group.vue +150 -150
  60. package/src/components/Button/icon-group-button.vue +61 -61
  61. package/src/components/Button/index.vue +56 -56
  62. package/src/components/CascaderArea/index.vue +103 -103
  63. package/src/components/ContentLoading/index.vue +41 -41
  64. package/src/components/ContentNull/index.vue +19 -19
  65. package/src/components/DatePicker/index.vue +27 -27
  66. package/src/components/DatePicker/por.vue +169 -169
  67. package/src/components/Dialog/index.vue +26 -26
  68. package/src/components/Dialog/indexO.vue +116 -116
  69. package/src/components/DragList/index.vue +75 -75
  70. package/src/components/Empty/.DS_Store +0 -0
  71. package/src/components/Empty/img/.DS_Store +0 -0
  72. package/src/components/Empty/img/abnormal.svg +108 -108
  73. package/src/components/Empty/img/dispose.svg +71 -71
  74. package/src/components/Empty/img/empty.svg +57 -57
  75. package/src/components/Empty/img/general.svg +58 -58
  76. package/src/components/Empty/img/lock.svg +57 -57
  77. package/src/components/Empty/img/network.svg +59 -59
  78. package/src/components/Empty/img/relevant.svg +68 -68
  79. package/src/components/Empty/img/search.svg +72 -72
  80. package/src/components/Empty/index.vue +92 -92
  81. package/src/components/Expandable/index.vue +49 -49
  82. package/src/components/Expandable/main.vue +52 -52
  83. package/src/components/FileExportAsync/index.vue +178 -178
  84. package/src/components/FileUploadTable/index.vue +484 -484
  85. package/src/components/Filters/index.vue +371 -371
  86. package/src/components/Filters/indexO.vue +104 -104
  87. package/src/components/FlowStep/index.vue +68 -68
  88. package/src/components/FooterBox/index.vue +21 -21
  89. package/src/components/GeneralCard/index.vue +15 -15
  90. package/src/components/InputNumber/index.vue +169 -169
  91. package/src/components/InputNumber/numberRange.vue +47 -47
  92. package/src/components/InputSearch/index.vue +75 -75
  93. package/src/components/Layout/.DS_Store +0 -0
  94. package/src/components/Layout/AsideNav/index.vue +120 -120
  95. package/src/components/Layout/AsideNav/menuItem.vue +34 -34
  96. package/src/components/Layout/AsideNav/submenuTitle.vue +26 -26
  97. package/src/components/Layout/HeaderWrap/changePwd.vue +215 -215
  98. package/src/components/Layout/HeaderWrap/index.vue +371 -371
  99. package/src/components/Layout/HeaderWrap/noticePop.vue +316 -316
  100. package/src/components/Layout/SubContent/index.vue +127 -127
  101. package/src/components/Layout/TabsNav/index.vue +170 -170
  102. package/src/components/Layout/index.vue +518 -518
  103. package/src/components/Layout/utils.js +12 -12
  104. package/src/components/LoginTemporary/form.vue +566 -566
  105. package/src/components/LoginTemporary/index.vue +139 -139
  106. package/src/components/LoginTemporary/qrcode.vue +90 -90
  107. package/src/components/LoginTemporary/retrievePw.vue +372 -372
  108. package/src/components/LoginTemporary/utils.js +73 -73
  109. package/src/components/MicroApp/index.js +67 -67
  110. package/src/components/MicroFrame/index.vue +95 -95
  111. package/src/components/MoreTab/index.vue +232 -232
  112. package/src/components/NavMenu/index.vue +60 -60
  113. package/src/components/NstcG6Components/.DS_Store +0 -0
  114. package/src/components/PageLayout/page.vue +15 -15
  115. package/src/components/Pagination/index.vue +165 -165
  116. package/src/components/SecondaryTab/index.vue +58 -58
  117. package/src/components/SelectLazy/index.vue +75 -75
  118. package/src/components/SelectTree/SelectTreeLazy.vue +241 -241
  119. package/src/components/SelectTree/index.vue +205 -205
  120. package/src/components/ShowColumn/index.vue +213 -213
  121. package/src/components/Sifting/index.vue +99 -99
  122. package/src/components/Statis/index.vue +97 -97
  123. package/src/components/Statis/statisItem.vue +54 -54
  124. package/src/components/Statis/statisPopover.vue +55 -55
  125. package/src/components/Step/index.vue +38 -38
  126. package/src/components/Suspend/index.vue +72 -72
  127. package/src/components/Table/index.vue +209 -209
  128. package/src/components/Table/indexO.vue +149 -149
  129. package/src/components/Task/index.vue +26 -26
  130. package/src/components/TertiaryTab/index.vue +63 -63
  131. package/src/components/TimePicker/index.vue +28 -28
  132. package/src/components/Upload/index.vue +242 -242
  133. package/src/components/WornPagination/index.vue +73 -73
  134. package/src/directives/VClickOutside/index.js +19 -19
  135. package/src/directives/VHas/index.js +58 -58
  136. package/src/directives/VMove/index.js +42 -42
  137. package/src/directives/VTitle/index.js +69 -69
  138. package/src/directives/VTitle/tooltip.vue +21 -21
  139. package/src/index.js +232 -232
  140. package/src/plugins/CompatibleOld/index.js +57 -57
  141. package/src/plugins/Print/index.js +4 -4
  142. package/src/plugins/Print/print-js/.babelrc +12 -12
  143. package/src/plugins/Print/print-js/LICENSE +21 -21
  144. package/src/plugins/Print/print-js/README.md +98 -98
  145. package/src/plugins/Print/print-js/dist/print.css +96 -96
  146. package/src/plugins/Print/print-js/dist/print.js +990 -990
  147. package/src/plugins/Print/print-js/package.json +60 -60
  148. package/src/plugins/Print/print-js/src/index.d.ts +45 -45
  149. package/src/plugins/Print/print-js/src/index.js +10 -10
  150. package/src/plugins/Print/print-js/src/js/browser.js +33 -33
  151. package/src/plugins/Print/print-js/src/js/functions.js +103 -103
  152. package/src/plugins/Print/print-js/src/js/html.js +70 -70
  153. package/src/plugins/Print/print-js/src/js/image.js +48 -48
  154. package/src/plugins/Print/print-js/src/js/init.js +168 -168
  155. package/src/plugins/Print/print-js/src/js/json.js +109 -109
  156. package/src/plugins/Print/print-js/src/js/modal.js +62 -62
  157. package/src/plugins/Print/print-js/src/js/pdf.js +62 -62
  158. package/src/plugins/Print/print-js/src/js/print.js +102 -102
  159. package/src/plugins/Print/print-js/src/js/raw-html.js +15 -15
  160. package/src/plugins/Print/print-js/src/sass/index.scss +13 -13
  161. package/src/plugins/Print/print-js/src/sass/modules/_colors.scss +9 -9
  162. package/src/plugins/Print/print-js/src/sass/partials/_modal.scss +40 -40
  163. package/src/plugins/Print/print-js/src/sass/partials/_spinner.scss +45 -45
  164. package/src/plugins/Print/print.js +2 -2
  165. package/src/plugins/Print/print.scss +1 -1
  166. package/src/plugins/SetMenuTree/index.vue +41 -41
  167. package/src/plugins/SetMenuTree/logoIcon.vue +37 -37
  168. package/src/plugins/SetMenuTree/setmenutree.vue +427 -427
  169. package/src/plugins/SetMenuTree/utils.js +74 -74
  170. package/src/plugins/Sign/InfosecNetSignCNGAgent.min.js +2000 -2000
  171. package/src/plugins/Sign/index.js +65 -65
  172. package/src/plugins/Sign/sign.js +1 -1
  173. package/src/plugins/setTabsForSub.js +2 -2
  174. package/src/utils/auth.js +53 -53
  175. package/src/utils/axios.js +203 -203
  176. package/src/utils/downloadBlob.js +19 -19
  177. package/src/utils/forEachs.js +16 -16
  178. package/src/utils/getScrollContainer.js +43 -43
  179. package/src/utils/i18n/cn2hk.json +1270 -1270
  180. package/src/utils/i18n/index.js +50 -50
  181. package/src/utils/list2tree.js +36 -36
  182. package/src/utils/msgboxPor.js +26 -26
  183. package/src/utils/print.js +161 -161
  184. package/src/utils/relaNo.js +72 -72
  185. package/src/utils/repairElementUI.js +95 -95
  186. package/src/utils/urlToGo.js +82 -82
  187. package/style/css/normalize.scss +0 -726
  188. package/style/fonts/element-icons.535877f5.woff +0 -0
  189. package/style/fonts/element-icons.732389de.ttf +0 -0
  190. package/style/fonts/iconfont.022f36c4.woff2 +0 -0
  191. package/style/fonts/iconfont.4a1b2c93.woff +0 -0
  192. package/style/fonts/iconfont.a9febaa2.ttf +0 -0
  193. package/style/index.css +0 -4
  194. package/style/index.css.map +0 -1
  195. package/style/index.umd.min.js +0 -2
  196. package/style/index.umd.min.js.map +0 -1
  197. package/style/pageDemo/demo-1.vue +0 -131
  198. package/style/pageDemo/demo-2.vue +0 -35
  199. package/style/pageDemo/demo-3.vue +0 -22
  200. package/style/pageDemo/seeCode.js +0 -20
  201. package/style/server-config.jsonc +0 -606
@@ -1,139 +1,139 @@
1
- <template>
2
- <div
3
- class="login-wrap"
4
- :style="{ backgroundImage: loginBg && `url(${loginBg})` }"
5
- >
6
- <div class="login-logo-box flex-box flex-v">
7
- <img
8
- v-if="loginLogo"
9
- :src="loginLogo"
10
- :style="{ width: loginLogoWidth, height: loginLogoHeight }"
11
- />
12
- <span
13
- v-if="loginLogo && loginLogoText"
14
- class="login-logo-hr m-l-s m-r-s"
15
- ></span>
16
- <h3 class="login-logo-text">
17
- {{ loginLogoText }}
18
- </h3>
19
- </div>
20
- <!-- eslint-disable-next-line vue/no-v-html -->
21
- <div doc="登录页标语" v-html="sloganHtml"></div>
22
- <loginForm
23
- v-if="operateType === 'login'"
24
- :login-types="loginTypes"
25
- :login-then="loginThen"
26
- class="login-form"
27
- @changType="getChangetype"
28
- >
29
- <div slot="header" class="login-form-header m-b text-c">欢 迎 登 录</div>
30
- <div slot="footer" class="login-form-footer m-t text-r">
31
- <slot name="footer">
32
- 为达到更好的体验效果,请<a
33
- class="el-icon-bottom"
34
- href="https://down.360safe.com/se/360se13.1.5101.0.exe"
35
- download="启程浏览器.exe"
36
- style="text-decoration: none; color: var(--color-primary)"
37
- >下载</a
38
- >启程浏览器
39
- </slot>
40
- </div>
41
- </loginForm>
42
- <retrievePw
43
- v-if="operateType === 'retrievePw'"
44
- class="login-form"
45
- @changType="getChangetype"
46
- />
47
- </div>
48
- </template>
49
-
50
- <script>
51
- import getJsonc from '../../assets/getJsonc'
52
- import realUrl from '../../assets/realUrl'
53
-
54
- import loginForm from './form.vue'
55
- import retrievePw from './retrievePw.vue'
56
- export default {
57
- name: 'Login',
58
- components: {
59
- loginForm,
60
- retrievePw
61
- },
62
- props: {
63
- loginThen: {
64
- type: Function,
65
- default: undefined
66
- }
67
- },
68
- data() {
69
- return {
70
- loginTypes: ['account'],
71
- loginBg: undefined,
72
- loginLogo: undefined,
73
- loginLogoWidth: '60px',
74
- loginLogoHeight: 'auto',
75
- loginLogoText: '',
76
- sloganHtml: '',
77
- operateType: 'login'
78
- }
79
- },
80
- created() {
81
- this.removeStorage()
82
- this.setConfig()
83
- },
84
- methods: {
85
- setConfig() {
86
- getJsonc('/server-config.jsonc').then(({ _layoutData = {} }) => {
87
- _layoutData.loginTypes && (this.loginTypes = _layoutData.loginTypes)
88
- this.loginBg = realUrl(_layoutData.loginBg)
89
- this.loginLogo = realUrl(_layoutData.loginLogo)
90
- this.loginLogoWidth = _layoutData.loginLogoWidth
91
- this.loginLogoHeight = _layoutData.loginLogoHeight
92
- this.loginLogoText = _layoutData.loginLogoText
93
- this.sloganHtml = _layoutData.loginSloganHtml
94
- })
95
- },
96
- removeStorage() {
97
- for (let k in window.sessionStorage) {
98
- !['subEntry'].includes(k) && window.sessionStorage.removeItem(k)
99
- }
100
- },
101
- getChangetype(val) {
102
- this.operateType = val
103
- }
104
- }
105
- }
106
- </script>
107
- <style scoped>
108
- .login-logo-box {
109
- position: absolute;
110
- top: 26px;
111
- left: 26px;
112
- color: #ffffff;
113
- }
114
- .login-logo-hr {
115
- height: 24px;
116
- border-left: 2px solid;
117
- }
118
- .login-logo-text {
119
- margin: 0;
120
- font-size: 28px;
121
- }
122
- .login-form {
123
- position: absolute;
124
- top: 20%;
125
- right: 10%;
126
- width: 324px;
127
- min-height: 360px;
128
- background: #f7f6f6;
129
- padding: 30px !important;
130
- }
131
- .login-form-header {
132
- font-size: 16px;
133
- color: #3d4a57;
134
- }
135
- .login-form-footer {
136
- font-size: 12px;
137
- color: #3d4a57;
138
- }
139
- </style>
1
+ <template>
2
+ <div
3
+ class="login-wrap"
4
+ :style="{ backgroundImage: loginBg && `url(${loginBg})` }"
5
+ >
6
+ <div class="login-logo-box flex-box flex-v">
7
+ <img
8
+ v-if="loginLogo"
9
+ :src="loginLogo"
10
+ :style="{ width: loginLogoWidth, height: loginLogoHeight }"
11
+ />
12
+ <span
13
+ v-if="loginLogo && loginLogoText"
14
+ class="login-logo-hr m-l-s m-r-s"
15
+ ></span>
16
+ <h3 class="login-logo-text">
17
+ {{ loginLogoText }}
18
+ </h3>
19
+ </div>
20
+ <!-- eslint-disable-next-line vue/no-v-html -->
21
+ <div doc="登录页标语" v-html="sloganHtml"></div>
22
+ <loginForm
23
+ v-if="operateType === 'login'"
24
+ :login-types="loginTypes"
25
+ :login-then="loginThen"
26
+ class="login-form"
27
+ @changType="getChangetype"
28
+ >
29
+ <div slot="header" class="login-form-header m-b text-c">欢 迎 登 录</div>
30
+ <div slot="footer" class="login-form-footer m-t text-r">
31
+ <slot name="footer">
32
+ 为达到更好的体验效果,请<a
33
+ class="el-icon-bottom"
34
+ href="https://down.360safe.com/se/360se13.1.5101.0.exe"
35
+ download="启程浏览器.exe"
36
+ style="text-decoration: none; color: var(--color-primary)"
37
+ >下载</a
38
+ >启程浏览器
39
+ </slot>
40
+ </div>
41
+ </loginForm>
42
+ <retrievePw
43
+ v-if="operateType === 'retrievePw'"
44
+ class="login-form"
45
+ @changType="getChangetype"
46
+ />
47
+ </div>
48
+ </template>
49
+
50
+ <script>
51
+ import getJsonc from '../../assets/getJsonc'
52
+ import realUrl from '../../assets/realUrl'
53
+
54
+ import loginForm from './form.vue'
55
+ import retrievePw from './retrievePw.vue'
56
+ export default {
57
+ name: 'Login',
58
+ components: {
59
+ loginForm,
60
+ retrievePw
61
+ },
62
+ props: {
63
+ loginThen: {
64
+ type: Function,
65
+ default: undefined
66
+ }
67
+ },
68
+ data() {
69
+ return {
70
+ loginTypes: ['account'],
71
+ loginBg: undefined,
72
+ loginLogo: undefined,
73
+ loginLogoWidth: '60px',
74
+ loginLogoHeight: 'auto',
75
+ loginLogoText: '',
76
+ sloganHtml: '',
77
+ operateType: 'login'
78
+ }
79
+ },
80
+ created() {
81
+ this.removeStorage()
82
+ this.setConfig()
83
+ },
84
+ methods: {
85
+ setConfig() {
86
+ getJsonc('/server-config.jsonc').then(({ _layoutData = {} }) => {
87
+ _layoutData.loginTypes && (this.loginTypes = _layoutData.loginTypes)
88
+ this.loginBg = realUrl(_layoutData.loginBg)
89
+ this.loginLogo = realUrl(_layoutData.loginLogo)
90
+ this.loginLogoWidth = _layoutData.loginLogoWidth
91
+ this.loginLogoHeight = _layoutData.loginLogoHeight
92
+ this.loginLogoText = _layoutData.loginLogoText
93
+ this.sloganHtml = _layoutData.loginSloganHtml
94
+ })
95
+ },
96
+ removeStorage() {
97
+ for (let k in window.sessionStorage) {
98
+ !['subEntry'].includes(k) && window.sessionStorage.removeItem(k)
99
+ }
100
+ },
101
+ getChangetype(val) {
102
+ this.operateType = val
103
+ }
104
+ }
105
+ }
106
+ </script>
107
+ <style scoped>
108
+ .login-logo-box {
109
+ position: absolute;
110
+ top: 88px;
111
+ left: 116px;
112
+ color: #ffffff;
113
+ }
114
+ .login-logo-hr {
115
+ height: 24px;
116
+ border-left: 2px solid;
117
+ }
118
+ .login-logo-text {
119
+ margin: 0;
120
+ font-size: 28px;
121
+ }
122
+ .login-form {
123
+ position: absolute;
124
+ top: 25%;
125
+ right: 10%;
126
+ width: 324px;
127
+ min-height: 360px;
128
+ background: #f7f6f6;
129
+ padding: 30px !important;
130
+ }
131
+ .login-form-header {
132
+ font-size: 16px;
133
+ color: #3d4a57;
134
+ }
135
+ .login-form-footer {
136
+ font-size: 12px;
137
+ color: #3d4a57;
138
+ }
139
+ </style>
@@ -1,90 +1,90 @@
1
- <template>
2
- <div v-loading="loadingV">
3
- <canvas
4
- ref="qr-canvas"
5
- style="display: block; width: 212px; height: 212px; margin: 0 auto"
6
- ></canvas>
7
- <div
8
- class="text-r"
9
- style="font-size: 12px; color: #3d4a57; margin-bottom: -8px"
10
- >
11
- 请使用网银移动端扫码免Ukey登录<el-button
12
- class="m-l-s"
13
- type="text"
14
- @click="refreshQrCode"
15
- >
16
- <i class="el-icon-refresh"></i>
17
- 刷新</el-button
18
- >
19
- </div>
20
- </div>
21
- </template>
22
- <script>
23
- import QRCode from 'qrcode'
24
- import axios from '../../utils/axios'
25
-
26
- export default {
27
- data() {
28
- this.timeA = undefined
29
- return {
30
- loadingV: false,
31
- qrCode: ''
32
- }
33
- },
34
- created() {
35
- this.getQrcode()
36
- },
37
- beforeDestroy() {
38
- clearTimeout(this.timeA)
39
- },
40
- methods: {
41
- getQrcode() {
42
- this.loadingV = true
43
- let loading = () => {
44
- setTimeout(() => {
45
- this.loadingV = false
46
- }, 500)
47
- }
48
-
49
- axios
50
- .get('/bems/prod_1.0/uas/api/qrCode', null, { loading })
51
- .then(({ data }) => {
52
- this.qrCode = data.qrCode
53
-
54
- let qrCanvas = this.$refs['qr-canvas']
55
- let width = qrCanvas.clientWidth
56
-
57
- QRCode.toCanvas(this.$refs['qr-canvas'], this.qrCode, {
58
- width: width,
59
- height: width,
60
- margin: 1
61
- })
62
-
63
- this.getQrCodePwd()
64
- })
65
- },
66
- refreshQrCode() {
67
- this.getQrcode()
68
- },
69
- getQrCodePwd() {
70
- axios
71
- .get(`/bems/prod_1.0/uas/api/qrCode/${this.qrCode}`, null, {
72
- loading: false
73
- })
74
- .then(({ data }) => {
75
- clearTimeout(this.timeA)
76
- if (data.status === 3) {
77
- this.QrcodeLogin(data)
78
- } else {
79
- this.timeA = setTimeout(() => {
80
- this.getQrCodePwd()
81
- }, 2000)
82
- }
83
- })
84
- },
85
- QrcodeLogin({ userNo, qrcode }) {
86
- this.$emit('qrcode-login', { userNo, qrcode })
87
- }
88
- }
89
- }
90
- </script>
1
+ <template>
2
+ <div v-loading="loadingV">
3
+ <canvas
4
+ ref="qr-canvas"
5
+ style="display: block; width: 212px; height: 212px; margin: 0 auto"
6
+ ></canvas>
7
+ <div
8
+ class="text-r"
9
+ style="font-size: 12px; color: #3d4a57; margin-bottom: -8px"
10
+ >
11
+ 请使用网银移动端扫码免Ukey登录<el-button
12
+ class="m-l-s"
13
+ type="text"
14
+ @click="refreshQrCode"
15
+ >
16
+ <i class="el-icon-refresh"></i>
17
+ 刷新</el-button
18
+ >
19
+ </div>
20
+ </div>
21
+ </template>
22
+ <script>
23
+ import QRCode from 'qrcode'
24
+ import axios from '../../utils/axios'
25
+
26
+ export default {
27
+ data() {
28
+ this.timeA = undefined
29
+ return {
30
+ loadingV: false,
31
+ qrCode: ''
32
+ }
33
+ },
34
+ created() {
35
+ this.getQrcode()
36
+ },
37
+ beforeDestroy() {
38
+ clearTimeout(this.timeA)
39
+ },
40
+ methods: {
41
+ getQrcode() {
42
+ this.loadingV = true
43
+ let loading = () => {
44
+ setTimeout(() => {
45
+ this.loadingV = false
46
+ }, 500)
47
+ }
48
+
49
+ axios
50
+ .get('/bems/prod_1.0/uas/api/qrCode', null, { loading })
51
+ .then(({ data }) => {
52
+ this.qrCode = data.qrCode
53
+
54
+ let qrCanvas = this.$refs['qr-canvas']
55
+ let width = qrCanvas.clientWidth
56
+
57
+ QRCode.toCanvas(this.$refs['qr-canvas'], this.qrCode, {
58
+ width: width,
59
+ height: width,
60
+ margin: 1
61
+ })
62
+
63
+ this.getQrCodePwd()
64
+ })
65
+ },
66
+ refreshQrCode() {
67
+ this.getQrcode()
68
+ },
69
+ getQrCodePwd() {
70
+ axios
71
+ .get(`/bems/prod_1.0/uas/api/qrCode/${this.qrCode}`, null, {
72
+ loading: false
73
+ })
74
+ .then(({ data }) => {
75
+ clearTimeout(this.timeA)
76
+ if (data.status === 3) {
77
+ this.QrcodeLogin(data)
78
+ } else {
79
+ this.timeA = setTimeout(() => {
80
+ this.getQrCodePwd()
81
+ }, 2000)
82
+ }
83
+ })
84
+ },
85
+ QrcodeLogin({ userNo, qrcode }) {
86
+ this.$emit('qrcode-login', { userNo, qrcode })
87
+ }
88
+ }
89
+ }
90
+ </script>