eoss-ui 0.7.94 → 0.7.96

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 (242) hide show
  1. package/lib/calogin.js +233 -233
  2. package/lib/cascader.js +1 -1
  3. package/lib/data-table-form.js +8 -8
  4. package/lib/data-table.js +8 -7
  5. package/lib/eoss-ui.common.js +1040 -1051
  6. package/lib/flow-list.js +96 -96
  7. package/lib/flow.js +283 -282
  8. package/lib/index.js +1 -1
  9. package/lib/main.js +288 -288
  10. package/lib/qr-code.js +13 -13
  11. package/lib/radio-group.js +98 -111
  12. package/lib/select.js +1 -1
  13. package/package.json +2 -2
  14. package/packages/button/index.js +5 -5
  15. package/packages/button/src/main.vue +418 -418
  16. package/packages/button-group/index.js +5 -5
  17. package/packages/button-group/src/main.vue +346 -346
  18. package/packages/calendar/index.js +5 -5
  19. package/packages/calogin/index.js +5 -5
  20. package/packages/calogin/src/main.vue +412 -412
  21. package/packages/calogin/src/plugin.js +915 -915
  22. package/packages/card/index.js +5 -5
  23. package/packages/card/src/main.vue +156 -156
  24. package/packages/cascader/index.js +5 -5
  25. package/packages/cascader/src/main.vue +168 -168
  26. package/packages/checkbox-group/index.js +5 -5
  27. package/packages/checkbox-group/src/main.vue +333 -333
  28. package/packages/clients/index.js +5 -5
  29. package/packages/clients/src/main.vue +151 -151
  30. package/packages/data-table/index.js +5 -5
  31. package/packages/data-table/src/children.vue +39 -39
  32. package/packages/data-table/src/column.vue +1 -0
  33. package/packages/data-table/src/main.vue +1845 -1845
  34. package/packages/data-table/src/sizer.vue +195 -195
  35. package/packages/data-table-form/index.js +5 -5
  36. package/packages/data-table-form/src/checkbox.vue +101 -101
  37. package/packages/data-table-form/src/colgroup.vue +17 -17
  38. package/packages/data-table-form/src/main.vue +181 -181
  39. package/packages/data-table-form/src/radio.vue +65 -65
  40. package/packages/data-table-form/src/table.vue +233 -233
  41. package/packages/data-table-form/src/tbody.vue +336 -336
  42. package/packages/data-table-form/src/thead.vue +68 -68
  43. package/packages/date-picker/index.js +5 -5
  44. package/packages/date-picker/src/main.vue +236 -236
  45. package/packages/dialog/index.js +5 -5
  46. package/packages/enable-drag/index.js +5 -5
  47. package/packages/enterprise/index.js +5 -5
  48. package/packages/enterprise/src/main.vue +66 -66
  49. package/packages/error-page/index.js +5 -5
  50. package/packages/error-page/src/main.vue +44 -44
  51. package/packages/flow/index.js +5 -5
  52. package/packages/flow/src/component/Circulate.vue +417 -417
  53. package/packages/flow/src/component/CommonOpinions.vue +376 -376
  54. package/packages/flow/src/component/CustomPreset.vue +324 -324
  55. package/packages/flow/src/component/FileList.vue +97 -97
  56. package/packages/flow/src/component/FreeCirculation.vue +244 -244
  57. package/packages/flow/src/component/Preset.vue +257 -257
  58. package/packages/flow/src/component/SendMsg.vue +242 -242
  59. package/packages/flow/src/component/SortFlow.vue +110 -110
  60. package/packages/flow/src/component/TimeLimit.vue +190 -190
  61. package/packages/flow/src/component/taskUnionExamine.vue +761 -761
  62. package/packages/flow/src/form.vue +123 -123
  63. package/packages/flow/src/freeStartFlow.vue +2855 -2855
  64. package/packages/flow/src/main.vue +4145 -4144
  65. package/packages/flow/src/processForm.vue +1680 -1680
  66. package/packages/flow/src/processReject.vue +309 -309
  67. package/packages/flow/src/reset.vue +946 -946
  68. package/packages/flow/src/startTaskRead.vue +695 -695
  69. package/packages/flow/src/supervise.vue +159 -159
  70. package/packages/flow/src/table.vue +58 -58
  71. package/packages/flow-group/index.js +5 -5
  72. package/packages/flow-group/src/main.vue +750 -750
  73. package/packages/flow-list/index.js +5 -5
  74. package/packages/flow-list/src/main.vue +2337 -2337
  75. package/packages/form/index.js +5 -5
  76. package/packages/form/src/main.vue +3901 -3901
  77. package/packages/form/src/table.vue +1512 -1512
  78. package/packages/handle-user/index.js +5 -5
  79. package/packages/handle-user/src/main.vue +137 -137
  80. package/packages/handler/index.js +5 -5
  81. package/packages/handler/src/main.vue +499 -499
  82. package/packages/icon/index.js +5 -5
  83. package/packages/icon/src/main.vue +104 -104
  84. package/packages/icons/index.js +5 -5
  85. package/packages/icons/src/main.vue +81 -81
  86. package/packages/input/index.js +5 -5
  87. package/packages/input/src/main.vue +356 -356
  88. package/packages/input-number/index.js +5 -5
  89. package/packages/input-number/src/main.vue +106 -106
  90. package/packages/label/index.js +5 -5
  91. package/packages/label/src/main.vue +457 -457
  92. package/packages/layout/index.js +5 -5
  93. package/packages/layout/src/item.vue +152 -152
  94. package/packages/layout/src/main.vue +31 -31
  95. package/packages/login/index.js +5 -5
  96. package/packages/login/src/main.vue +2088 -2088
  97. package/packages/login/src/resetPassword.vue +557 -557
  98. package/packages/main/index.js +5 -5
  99. package/packages/main/src/default/message.vue +249 -249
  100. package/packages/main/src/default/notice.vue +157 -157
  101. package/packages/main/src/default/userinfo.vue +513 -513
  102. package/packages/main/src/public/online.vue +89 -89
  103. package/packages/main/src/public/search.vue +464 -464
  104. package/packages/main/src/public/settings.vue +273 -273
  105. package/packages/main/src/simplicity/apps.vue +388 -388
  106. package/packages/main/src/simplicity/avatar.vue +82 -82
  107. package/packages/main/src/simplicity/handler.vue +158 -158
  108. package/packages/main/src/simplicity/index.vue +2335 -2335
  109. package/packages/main/src/simplicity/lists.vue +84 -84
  110. package/packages/main/src/simplicity/menu-list.vue +135 -135
  111. package/packages/main/src/simplicity/message.vue +293 -293
  112. package/packages/main/src/simplicity/notice.vue +222 -222
  113. package/packages/main/src/simplicity/router-page.vue +45 -45
  114. package/packages/main/src/simplicity/sub-menu.vue +276 -276
  115. package/packages/main/src/simplicity/user.vue +259 -259
  116. package/packages/main/src/simplicity/userinfo.vue +408 -408
  117. package/packages/main/src/simplicityTop/apps.vue +388 -388
  118. package/packages/main/src/simplicityTop/avatar.vue +82 -82
  119. package/packages/main/src/simplicityTop/handler.vue +215 -215
  120. package/packages/main/src/simplicityTop/index.vue +2620 -2620
  121. package/packages/main/src/simplicityTop/lists.vue +84 -84
  122. package/packages/main/src/simplicityTop/menu-list.vue +135 -135
  123. package/packages/main/src/simplicityTop/message.vue +293 -293
  124. package/packages/main/src/simplicityTop/notice.vue +222 -222
  125. package/packages/main/src/simplicityTop/router-page.vue +45 -45
  126. package/packages/main/src/simplicityTop/sub-menu.vue +274 -274
  127. package/packages/main/src/simplicityTop/user.vue +259 -259
  128. package/packages/main/src/simplicityTop/userinfo.vue +408 -408
  129. package/packages/menu/index.js +5 -5
  130. package/packages/menu/src/main.vue +595 -595
  131. package/packages/nav/index.js +5 -5
  132. package/packages/nav/src/main.vue +351 -351
  133. package/packages/notify/index.js +5 -5
  134. package/packages/notify/src/main.vue +538 -538
  135. package/packages/page/index.js +5 -5
  136. package/packages/page/src/main.vue +167 -167
  137. package/packages/pagination/index.js +5 -5
  138. package/packages/pagination/src/main.vue +96 -96
  139. package/packages/player/index.js +5 -5
  140. package/packages/player/src/main.vue +194 -194
  141. package/packages/qr-code/index.js +5 -5
  142. package/packages/qr-code/src/main.vue +170 -170
  143. package/packages/radio-group/index.js +6 -6
  144. package/packages/radio-group/src/main.vue +319 -319
  145. package/packages/retrial-auth/index.js +5 -5
  146. package/packages/retrial-auth/src/main.vue +299 -299
  147. package/packages/select/index.js +5 -5
  148. package/packages/select/src/main.vue +1 -1
  149. package/packages/select-ganged/index.js +5 -5
  150. package/packages/select-ganged/src/main.vue +724 -724
  151. package/packages/selector/index.js +5 -5
  152. package/packages/selector/src/main.vue +761 -761
  153. package/packages/selector-panel/index.js +5 -5
  154. package/packages/selector-panel/src/main.vue +1036 -1036
  155. package/packages/selector-panel/src/selection.vue +174 -174
  156. package/packages/selector-panel/src/tree.vue +129 -129
  157. package/packages/sizer/index.js +5 -5
  158. package/packages/sizer/src/main.vue +254 -254
  159. package/packages/steps/index.js +5 -5
  160. package/packages/steps/src/main.vue +181 -181
  161. package/packages/switch/index.js +5 -5
  162. package/packages/switch/src/main.vue +170 -170
  163. package/packages/table-form/index.js +5 -5
  164. package/packages/tabs/index.js +5 -5
  165. package/packages/tabs/src/main.vue +788 -788
  166. package/packages/tabs-panel/index.js +5 -5
  167. package/packages/tabs-panel/src/main.vue +29 -29
  168. package/packages/theme-chalk/src/base.scss +261 -261
  169. package/packages/theme-chalk/src/button-group.scss +176 -176
  170. package/packages/theme-chalk/src/button.scss +24 -24
  171. package/packages/theme-chalk/src/calendar.scss +113 -113
  172. package/packages/theme-chalk/src/card.scss +99 -99
  173. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  174. package/packages/theme-chalk/src/clients.scss +87 -87
  175. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  176. package/packages/theme-chalk/src/data-table.scss +297 -297
  177. package/packages/theme-chalk/src/date-picker.scss +7 -7
  178. package/packages/theme-chalk/src/dialog.scss +77 -77
  179. package/packages/theme-chalk/src/enable-drag.scss +181 -181
  180. package/packages/theme-chalk/src/enterprise.scss +5 -5
  181. package/packages/theme-chalk/src/error-page.scss +18 -18
  182. package/packages/theme-chalk/src/flow-group.scss +110 -110
  183. package/packages/theme-chalk/src/flow-list.scss +55 -55
  184. package/packages/theme-chalk/src/flow.scss +373 -373
  185. package/packages/theme-chalk/src/form.scss +501 -501
  186. package/packages/theme-chalk/src/handle-user.scss +40 -40
  187. package/packages/theme-chalk/src/handler.scss +148 -148
  188. package/packages/theme-chalk/src/icon.scss +3452 -3452
  189. package/packages/theme-chalk/src/icons.scss +99 -99
  190. package/packages/theme-chalk/src/input.scss +9 -9
  191. package/packages/theme-chalk/src/label.scss +24 -24
  192. package/packages/theme-chalk/src/layout.scss +46 -46
  193. package/packages/theme-chalk/src/login.scss +1006 -1006
  194. package/packages/theme-chalk/src/main.scss +664 -664
  195. package/packages/theme-chalk/src/menu.scss +224 -224
  196. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  197. package/packages/theme-chalk/src/nav.scss +111 -111
  198. package/packages/theme-chalk/src/page.scss +3 -3
  199. package/packages/theme-chalk/src/pagination.scss +29 -29
  200. package/packages/theme-chalk/src/player.scss +9 -9
  201. package/packages/theme-chalk/src/qr-code.scss +17 -17
  202. package/packages/theme-chalk/src/radio-group.scss +9 -9
  203. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  204. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  205. package/packages/theme-chalk/src/select.scss +8 -8
  206. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  207. package/packages/theme-chalk/src/selector.scss +114 -114
  208. package/packages/theme-chalk/src/simplicity-top.scss +1845 -1845
  209. package/packages/theme-chalk/src/simplicity.scss +1403 -1403
  210. package/packages/theme-chalk/src/sizer.scss +36 -36
  211. package/packages/theme-chalk/src/steps.scss +88 -88
  212. package/packages/theme-chalk/src/switch.scss +3 -3
  213. package/packages/theme-chalk/src/table-form.scss +1 -1
  214. package/packages/theme-chalk/src/tabs.scss +87 -87
  215. package/packages/theme-chalk/src/tips.scss +7 -7
  216. package/packages/theme-chalk/src/toolbar.scss +179 -179
  217. package/packages/theme-chalk/src/tree-group.scss +72 -72
  218. package/packages/theme-chalk/src/tree.scss +165 -165
  219. package/packages/theme-chalk/src/upload.scss +172 -172
  220. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  221. package/packages/tips/index.js +5 -5
  222. package/packages/tips/src/main.vue +141 -141
  223. package/packages/toolbar/index.js +5 -5
  224. package/packages/toolbar/src/main.vue +430 -430
  225. package/packages/tree/index.js +5 -5
  226. package/packages/tree-group/index.js +5 -5
  227. package/packages/upload/index.js +5 -5
  228. package/packages/upload/src/main.vue +1344 -1344
  229. package/packages/upload/src/picture.js +15 -15
  230. package/packages/wujie/index.js +5 -5
  231. package/packages/wujie/src/main.vue +146 -146
  232. package/packages/wxlogin/index.js +5 -5
  233. package/packages/wxlogin/src/main.vue +128 -128
  234. package/src/config/api.js +348 -348
  235. package/src/config/image.js +2 -2
  236. package/src/index.js +163 -163
  237. package/src/utils/bus.js +3 -3
  238. package/src/utils/date-util.js +312 -312
  239. package/src/utils/http.js +50 -50
  240. package/src/utils/rules.js +18 -18
  241. package/src/utils/store.js +21 -21
  242. package/src/utils/webSocket.js +107 -107
@@ -1,299 +1,299 @@
1
- <template>
2
- <div class="es-retrial-auth" v-loading.fullscreen.lock="submit">
3
- <es-qr-code
4
- :width="200"
5
- :height="200"
6
- :content="uuid"
7
- :logo="qrImg"
8
- v-if="active === 'SCANCODE'"
9
- ></es-qr-code>
10
- <el-form ref="auth" class="es-retrial-auth-form" :model="formData" v-else>
11
- <el-form-item>
12
- <div>
13
- 验证码将发送至{{
14
- active == 'WEB_SMS' ? `手机号:${phoneText}` : `邮箱:${emailText}`
15
- }}
16
- </div>
17
- </el-form-item>
18
- <el-form-item
19
- size="large"
20
- prop="verificationCode"
21
- :rules="[
22
- { required: true, message: '验证码不能为空', trigger: 'change' }
23
- ]"
24
- >
25
- <el-input
26
- size="large"
27
- name="verificationCode"
28
- type="text"
29
- v-model="formData.verificationCode"
30
- placeholder="请输入验证码"
31
- autocomplete="off"
32
- class="es-label-image-code"
33
- >
34
- <template slot="suffix">
35
- <el-button
36
- class="es-get-code"
37
- type="primary"
38
- :disabled="disabled"
39
- @click.stop="getCode"
40
- >{{ btnText }}</el-button
41
- >
42
- </template>
43
- </el-input>
44
- </el-form-item>
45
- <el-button class="es-button-submit" type="primary" @click="handleAuth"
46
- >提交验证</el-button
47
- >
48
- </el-form>
49
- <div v-if="type && type.length > 1" class="es-login-switchs">
50
- <i
51
- v-for="(item, index) in icons"
52
- @click="handleSwitch(index)"
53
- :key="index"
54
- :class="[item, 'es-icon', { 'es-active': active == index }]"
55
- ></i>
56
- </div>
57
- </div>
58
- </template>
59
- <script>
60
- import util from 'eoss-ui/src/utils/util';
61
- import {
62
- initRetrialAuth,
63
- getRetrialAuthCode,
64
- scanCodeRetrialAuth,
65
- codeRetrialAuth
66
- } from 'eoss-ui/src/config/api.js';
67
- export default {
68
- name: 'EsRetrialAuth',
69
- inheritAttrs: false,
70
- props: {
71
- reload: Boolean,
72
- group: String,
73
- type: Array,
74
- msgBox: {}
75
- },
76
- computed: {
77
- icons() {
78
- let icons = {};
79
- for (let i in this.fonts) {
80
- if (this.type.includes(i)) {
81
- icons[i] = this.fonts[i];
82
- }
83
- }
84
- return icons;
85
- }
86
- },
87
- watch: {
88
- active: {
89
- handler(val) {
90
- if (val === 'SCANCODE' && this.uuid) {
91
- this.$nextTick(() => {
92
- this.handleScanCodeRetrialAuth();
93
- });
94
- }
95
- }
96
- }
97
- },
98
- data() {
99
- return {
100
- userModel: {},
101
- active: this.type[0],
102
- formData: {
103
- verificationCode: ''
104
- },
105
- fonts: {
106
- SCANCODE: 'es-icon-saoma',
107
- WEB_SMS: 'es-icon-solid-duanxin',
108
- WEB_EMAIL: 'es-icon-youxiang'
109
- },
110
- uuid: '',
111
- qrImg: '',
112
- emailText: null,
113
- phoneText: null,
114
- disabled: false,
115
- btnText: '获取验证码',
116
- countdown: 0,
117
- timer: null,
118
- scanCode: null,
119
- submit: false
120
- };
121
- },
122
- created() {
123
- this.init();
124
- },
125
- mounted() {},
126
- methods: {
127
- init() {
128
- let mainConfig = util.getStorage('mainConfig');
129
- mainConfig && (this.userModel = JSON.parse(mainConfig).userModel);
130
- util
131
- .ajax({
132
- url: initRetrialAuth
133
- })
134
- .then((res) => {
135
- let { rCode, results } = res;
136
- if (rCode == 0) {
137
- this.uuid = results.uuid;
138
- this.qrImg = results.qrImg;
139
- this.emailText = results.emailText;
140
- this.phoneText = results.phoneText;
141
- if (this.active === 'SCANCODE') {
142
- this.handleScanCodeRetrialAuth();
143
- }
144
- }
145
- })
146
- .catch();
147
- },
148
- handleAuth() {
149
- if (this.submit) {
150
- return false;
151
- }
152
- this.$refs['auth'].validate((valid) => {
153
- if (valid) {
154
- this.submit = true;
155
- let params = {
156
- retrialAuthGroupIds: this.group,
157
- targetType: this.active === 'WEB_SMS' ? 'SMS' : 'EMAIL',
158
- verificationCode: this.formData.verificationCode
159
- };
160
- util
161
- .ajax({
162
- url: codeRetrialAuth,
163
- method: 'post',
164
- data: params
165
- })
166
- .then((res) => {
167
- let { rCode, msg } = res;
168
- if (rCode == 0) {
169
- this.$message({
170
- message: '认证成功',
171
- type: 'success'
172
- });
173
- this.msgBox.handleClose();
174
- const topWin = util.getWinTop();
175
- try {
176
- if (this.reload) {
177
- topWin.location.reload();
178
- }
179
- } catch (error) {
180
- console.warn('Failed to reload page:', error);
181
- try {
182
- this.reload && topWin.postMessage({ type: 3 }, '*');
183
- } catch (postMessageError) {
184
- console.warn(
185
- 'Failed to send postMessage:',
186
- postMessageError
187
- );
188
- }
189
- }
190
- } else {
191
- this.$message({
192
- message: msg,
193
- type: 'error'
194
- });
195
- this.submit = false;
196
- }
197
- })
198
- .catch();
199
- }
200
- });
201
- },
202
- handleSwitch(res) {
203
- clearTimeout(this.scanCode);
204
- this.active = res;
205
- },
206
- getCode() {
207
- if (this.countdown) {
208
- return false;
209
- }
210
- let params = { targetType: this.active === 'WEB_SMS' ? 'SMS' : 'EMAIL' };
211
- this.countdown = 60;
212
- this.timer = setInterval(() => {
213
- if (this.countdown > 0) {
214
- this.countdown--;
215
- this.disabled = true;
216
- this.btnText = '重新获取' + this.countdown + 's';
217
- } else {
218
- this.btnText = '重新获取';
219
- this.disabled = false;
220
- this.submit = false;
221
- }
222
- }, 1000);
223
- util
224
- .ajax({
225
- url: getRetrialAuthCode,
226
- method: 'post',
227
- data: params,
228
- params: params
229
- })
230
- .then((res) => {
231
- let { rCode } = res;
232
- if (rCode == 0) {
233
- this.$message({
234
- message:
235
- '验证码已发送至' +
236
- (this.active === 'WEB_SMS' ? '手机' : '邮箱') +
237
- ',请注意查收!',
238
- type: 'success'
239
- });
240
- }
241
- })
242
- .catch();
243
- },
244
- handleScanCodeRetrialAuth() {
245
- clearTimeout(this.scanCode);
246
- let params = {
247
- phone: this.userModel.phone,
248
- retrialAuthGroupIds: this.group,
249
- uuid: this.uuid
250
- };
251
- util
252
- .ajax({
253
- url: scanCodeRetrialAuth,
254
- method: 'post',
255
- data: params,
256
- params: params
257
- })
258
- .then((res) => {
259
- let { rCode, results } = res;
260
- if (rCode == 0) {
261
- if (results.authPass) {
262
- this.$message({
263
- message: '认证成功',
264
- type: 'success'
265
- });
266
- this.msgBox.handleClose();
267
- const topWin = util.getWinTop();
268
- try {
269
- if (this.reload) {
270
- topWin.location.reload();
271
- }
272
- } catch (error) {
273
- console.warn('Failed to reload page:', error);
274
- try {
275
- this.reload && topWin.postMessage({ type: 3 }, '*');
276
- } catch (postMessageError) {
277
- console.warn('Failed to send postMessage:', postMessageError);
278
- }
279
- }
280
- } else {
281
- this.scanCode = setTimeout(() => {
282
- this.handleScanCodeRetrialAuth();
283
- }, 1000);
284
- }
285
- }
286
- })
287
- .catch();
288
- },
289
- clearTimeouts() {
290
- clearTimeout(this.scanCode);
291
- clearTimeout(this.timer);
292
- }
293
- },
294
- beforeDestroy() {
295
- clearTimeout(this.scanCode);
296
- clearTimeout(this.timer);
297
- }
298
- };
299
- </script>
1
+ <template>
2
+ <div class="es-retrial-auth" v-loading.fullscreen.lock="submit">
3
+ <es-qr-code
4
+ :width="200"
5
+ :height="200"
6
+ :content="uuid"
7
+ :logo="qrImg"
8
+ v-if="active === 'SCANCODE'"
9
+ ></es-qr-code>
10
+ <el-form ref="auth" class="es-retrial-auth-form" :model="formData" v-else>
11
+ <el-form-item>
12
+ <div>
13
+ 验证码将发送至{{
14
+ active == 'WEB_SMS' ? `手机号:${phoneText}` : `邮箱:${emailText}`
15
+ }}
16
+ </div>
17
+ </el-form-item>
18
+ <el-form-item
19
+ size="large"
20
+ prop="verificationCode"
21
+ :rules="[
22
+ { required: true, message: '验证码不能为空', trigger: 'change' }
23
+ ]"
24
+ >
25
+ <el-input
26
+ size="large"
27
+ name="verificationCode"
28
+ type="text"
29
+ v-model="formData.verificationCode"
30
+ placeholder="请输入验证码"
31
+ autocomplete="off"
32
+ class="es-label-image-code"
33
+ >
34
+ <template slot="suffix">
35
+ <el-button
36
+ class="es-get-code"
37
+ type="primary"
38
+ :disabled="disabled"
39
+ @click.stop="getCode"
40
+ >{{ btnText }}</el-button
41
+ >
42
+ </template>
43
+ </el-input>
44
+ </el-form-item>
45
+ <el-button class="es-button-submit" type="primary" @click="handleAuth"
46
+ >提交验证</el-button
47
+ >
48
+ </el-form>
49
+ <div v-if="type && type.length > 1" class="es-login-switchs">
50
+ <i
51
+ v-for="(item, index) in icons"
52
+ @click="handleSwitch(index)"
53
+ :key="index"
54
+ :class="[item, 'es-icon', { 'es-active': active == index }]"
55
+ ></i>
56
+ </div>
57
+ </div>
58
+ </template>
59
+ <script>
60
+ import util from 'eoss-ui/src/utils/util';
61
+ import {
62
+ initRetrialAuth,
63
+ getRetrialAuthCode,
64
+ scanCodeRetrialAuth,
65
+ codeRetrialAuth
66
+ } from 'eoss-ui/src/config/api.js';
67
+ export default {
68
+ name: 'EsRetrialAuth',
69
+ inheritAttrs: false,
70
+ props: {
71
+ reload: Boolean,
72
+ group: String,
73
+ type: Array,
74
+ msgBox: {}
75
+ },
76
+ computed: {
77
+ icons() {
78
+ let icons = {};
79
+ for (let i in this.fonts) {
80
+ if (this.type.includes(i)) {
81
+ icons[i] = this.fonts[i];
82
+ }
83
+ }
84
+ return icons;
85
+ }
86
+ },
87
+ watch: {
88
+ active: {
89
+ handler(val) {
90
+ if (val === 'SCANCODE' && this.uuid) {
91
+ this.$nextTick(() => {
92
+ this.handleScanCodeRetrialAuth();
93
+ });
94
+ }
95
+ }
96
+ }
97
+ },
98
+ data() {
99
+ return {
100
+ userModel: {},
101
+ active: this.type[0],
102
+ formData: {
103
+ verificationCode: ''
104
+ },
105
+ fonts: {
106
+ SCANCODE: 'es-icon-saoma',
107
+ WEB_SMS: 'es-icon-solid-duanxin',
108
+ WEB_EMAIL: 'es-icon-youxiang'
109
+ },
110
+ uuid: '',
111
+ qrImg: '',
112
+ emailText: null,
113
+ phoneText: null,
114
+ disabled: false,
115
+ btnText: '获取验证码',
116
+ countdown: 0,
117
+ timer: null,
118
+ scanCode: null,
119
+ submit: false
120
+ };
121
+ },
122
+ created() {
123
+ this.init();
124
+ },
125
+ mounted() {},
126
+ methods: {
127
+ init() {
128
+ let mainConfig = util.getStorage('mainConfig');
129
+ mainConfig && (this.userModel = JSON.parse(mainConfig).userModel);
130
+ util
131
+ .ajax({
132
+ url: initRetrialAuth
133
+ })
134
+ .then((res) => {
135
+ let { rCode, results } = res;
136
+ if (rCode == 0) {
137
+ this.uuid = results.uuid;
138
+ this.qrImg = results.qrImg;
139
+ this.emailText = results.emailText;
140
+ this.phoneText = results.phoneText;
141
+ if (this.active === 'SCANCODE') {
142
+ this.handleScanCodeRetrialAuth();
143
+ }
144
+ }
145
+ })
146
+ .catch();
147
+ },
148
+ handleAuth() {
149
+ if (this.submit) {
150
+ return false;
151
+ }
152
+ this.$refs['auth'].validate((valid) => {
153
+ if (valid) {
154
+ this.submit = true;
155
+ let params = {
156
+ retrialAuthGroupIds: this.group,
157
+ targetType: this.active === 'WEB_SMS' ? 'SMS' : 'EMAIL',
158
+ verificationCode: this.formData.verificationCode
159
+ };
160
+ util
161
+ .ajax({
162
+ url: codeRetrialAuth,
163
+ method: 'post',
164
+ data: params
165
+ })
166
+ .then((res) => {
167
+ let { rCode, msg } = res;
168
+ if (rCode == 0) {
169
+ this.$message({
170
+ message: '认证成功',
171
+ type: 'success'
172
+ });
173
+ this.msgBox.handleClose();
174
+ const topWin = util.getWinTop();
175
+ try {
176
+ if (this.reload) {
177
+ topWin.location.reload();
178
+ }
179
+ } catch (error) {
180
+ console.warn('Failed to reload page:', error);
181
+ try {
182
+ this.reload && topWin.postMessage({ type: 3 }, '*');
183
+ } catch (postMessageError) {
184
+ console.warn(
185
+ 'Failed to send postMessage:',
186
+ postMessageError
187
+ );
188
+ }
189
+ }
190
+ } else {
191
+ this.$message({
192
+ message: msg,
193
+ type: 'error'
194
+ });
195
+ this.submit = false;
196
+ }
197
+ })
198
+ .catch();
199
+ }
200
+ });
201
+ },
202
+ handleSwitch(res) {
203
+ clearTimeout(this.scanCode);
204
+ this.active = res;
205
+ },
206
+ getCode() {
207
+ if (this.countdown) {
208
+ return false;
209
+ }
210
+ let params = { targetType: this.active === 'WEB_SMS' ? 'SMS' : 'EMAIL' };
211
+ this.countdown = 60;
212
+ this.timer = setInterval(() => {
213
+ if (this.countdown > 0) {
214
+ this.countdown--;
215
+ this.disabled = true;
216
+ this.btnText = '重新获取' + this.countdown + 's';
217
+ } else {
218
+ this.btnText = '重新获取';
219
+ this.disabled = false;
220
+ this.submit = false;
221
+ }
222
+ }, 1000);
223
+ util
224
+ .ajax({
225
+ url: getRetrialAuthCode,
226
+ method: 'post',
227
+ data: params,
228
+ params: params
229
+ })
230
+ .then((res) => {
231
+ let { rCode } = res;
232
+ if (rCode == 0) {
233
+ this.$message({
234
+ message:
235
+ '验证码已发送至' +
236
+ (this.active === 'WEB_SMS' ? '手机' : '邮箱') +
237
+ ',请注意查收!',
238
+ type: 'success'
239
+ });
240
+ }
241
+ })
242
+ .catch();
243
+ },
244
+ handleScanCodeRetrialAuth() {
245
+ clearTimeout(this.scanCode);
246
+ let params = {
247
+ phone: this.userModel.phone,
248
+ retrialAuthGroupIds: this.group,
249
+ uuid: this.uuid
250
+ };
251
+ util
252
+ .ajax({
253
+ url: scanCodeRetrialAuth,
254
+ method: 'post',
255
+ data: params,
256
+ params: params
257
+ })
258
+ .then((res) => {
259
+ let { rCode, results } = res;
260
+ if (rCode == 0) {
261
+ if (results.authPass) {
262
+ this.$message({
263
+ message: '认证成功',
264
+ type: 'success'
265
+ });
266
+ this.msgBox.handleClose();
267
+ const topWin = util.getWinTop();
268
+ try {
269
+ if (this.reload) {
270
+ topWin.location.reload();
271
+ }
272
+ } catch (error) {
273
+ console.warn('Failed to reload page:', error);
274
+ try {
275
+ this.reload && topWin.postMessage({ type: 3 }, '*');
276
+ } catch (postMessageError) {
277
+ console.warn('Failed to send postMessage:', postMessageError);
278
+ }
279
+ }
280
+ } else {
281
+ this.scanCode = setTimeout(() => {
282
+ this.handleScanCodeRetrialAuth();
283
+ }, 1000);
284
+ }
285
+ }
286
+ })
287
+ .catch();
288
+ },
289
+ clearTimeouts() {
290
+ clearTimeout(this.scanCode);
291
+ clearTimeout(this.timer);
292
+ }
293
+ },
294
+ beforeDestroy() {
295
+ clearTimeout(this.scanCode);
296
+ clearTimeout(this.timer);
297
+ }
298
+ };
299
+ </script>
@@ -1,5 +1,5 @@
1
- import EsSelect from './src/main';
2
-
3
- EsSelect.install = Vue => Vue.component(EsSelect.name, EsSelect);
4
-
5
- export default EsSelect;
1
+ import EsSelect from './src/main';
2
+
3
+ EsSelect.install = Vue => Vue.component(EsSelect.name, EsSelect);
4
+
5
+ export default EsSelect;
@@ -533,7 +533,7 @@ export default {
533
533
  }
534
534
  }
535
535
  }
536
- return '';
536
+ return value;
537
537
  },
538
538
  reload() {
539
539
  this.getData(...arguments);
@@ -1,5 +1,5 @@
1
- import EsSelectGanged from './src/main';
2
-
3
- EsSelectGanged.install = Vue => Vue.component(EsSelectGanged.name, EsSelectGanged);
4
-
5
- export default EsSelectGanged;
1
+ import EsSelectGanged from './src/main';
2
+
3
+ EsSelectGanged.install = Vue => Vue.component(EsSelectGanged.name, EsSelectGanged);
4
+
5
+ export default EsSelectGanged;