eoss-ui 0.6.87 → 0.6.88

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 (244) hide show
  1. package/lib/calogin.js +233 -233
  2. package/lib/data-table.js +13 -17
  3. package/lib/eoss-ui.common.js +793 -821
  4. package/lib/flow-list.js +81 -81
  5. package/lib/flow.js +280 -280
  6. package/lib/index.js +1 -1
  7. package/lib/main.js +172 -196
  8. package/lib/qr-code.js +13 -13
  9. package/package.json +160 -160
  10. package/packages/.DS_Store +0 -0
  11. package/packages/autocomplete/.DS_Store +0 -0
  12. package/packages/button/index.js +5 -5
  13. package/packages/button/src/main.vue +418 -418
  14. package/packages/button-group/index.js +5 -5
  15. package/packages/button-group/src/main.vue +298 -298
  16. package/packages/calendar/index.js +5 -5
  17. package/packages/calogin/.DS_Store +0 -0
  18. package/packages/calogin/index.js +5 -5
  19. package/packages/calogin/src/main.vue +412 -412
  20. package/packages/calogin/src/plugin.js +915 -915
  21. package/packages/card/index.js +5 -5
  22. package/packages/card/src/main.vue +156 -156
  23. package/packages/cascader/index.js +5 -5
  24. package/packages/cascader/src/main.vue +168 -168
  25. package/packages/checkbox-group/index.js +5 -5
  26. package/packages/checkbox-group/src/main.vue +333 -333
  27. package/packages/clients/index.js +5 -5
  28. package/packages/clients/src/main.vue +151 -151
  29. package/packages/data-table/index.js +5 -5
  30. package/packages/data-table/src/children.vue +39 -39
  31. package/packages/data-table/src/column.vue +990 -989
  32. package/packages/data-table/src/main.vue +1822 -1822
  33. package/packages/data-table/src/sizer.vue +195 -195
  34. package/packages/data-table-form/index.js +5 -5
  35. package/packages/data-table-form/src/checkbox.vue +101 -101
  36. package/packages/data-table-form/src/colgroup.vue +17 -17
  37. package/packages/data-table-form/src/main.vue +181 -181
  38. package/packages/data-table-form/src/radio.vue +65 -65
  39. package/packages/data-table-form/src/table.vue +233 -233
  40. package/packages/data-table-form/src/tbody.vue +336 -336
  41. package/packages/data-table-form/src/thead.vue +68 -68
  42. package/packages/date-picker/.DS_Store +0 -0
  43. package/packages/date-picker/index.js +5 -5
  44. package/packages/date-picker/src/.DS_Store +0 -0
  45. package/packages/date-picker/src/main.vue +236 -236
  46. package/packages/dialog/index.js +5 -5
  47. package/packages/enable-drag/index.js +5 -5
  48. package/packages/enterprise/index.js +5 -5
  49. package/packages/enterprise/src/main.vue +66 -66
  50. package/packages/error-page/index.js +5 -5
  51. package/packages/error-page/src/main.vue +44 -44
  52. package/packages/flow/.DS_Store +0 -0
  53. package/packages/flow/index.js +5 -5
  54. package/packages/flow/src/.DS_Store +0 -0
  55. package/packages/flow/src/component/Circulate.vue +400 -400
  56. package/packages/flow/src/component/CommonOpinions.vue +364 -364
  57. package/packages/flow/src/component/CustomPreset.vue +322 -322
  58. package/packages/flow/src/component/FileList.vue +99 -99
  59. package/packages/flow/src/component/Preset.vue +255 -255
  60. package/packages/flow/src/component/SendMsg.vue +241 -241
  61. package/packages/flow/src/component/TimeLimit.vue +190 -190
  62. package/packages/flow/src/component/taskUnionExamine.vue +640 -640
  63. package/packages/flow/src/form.vue +121 -121
  64. package/packages/flow/src/freeStartFlow.vue +2844 -2844
  65. package/packages/flow/src/main.vue +3657 -3657
  66. package/packages/flow/src/processForm.vue +1245 -1245
  67. package/packages/flow/src/processReject.vue +296 -296
  68. package/packages/flow/src/reset.vue +918 -918
  69. package/packages/flow/src/startTaskRead.vue +684 -684
  70. package/packages/flow/src/supervise.vue +152 -152
  71. package/packages/flow/src/table.vue +58 -58
  72. package/packages/flow-group/index.js +5 -5
  73. package/packages/flow-group/src/main.vue +692 -692
  74. package/packages/flow-list/.DS_Store +0 -0
  75. package/packages/flow-list/index.js +5 -5
  76. package/packages/flow-list/src/main.vue +1770 -1770
  77. package/packages/form/.DS_Store +0 -0
  78. package/packages/form/index.js +5 -5
  79. package/packages/form/src/main.vue +3814 -3814
  80. package/packages/form/src/table.vue +1508 -1508
  81. package/packages/handle-user/index.js +5 -5
  82. package/packages/handle-user/src/main.vue +138 -138
  83. package/packages/handler/index.js +5 -5
  84. package/packages/handler/src/main.vue +493 -493
  85. package/packages/icon/index.js +5 -5
  86. package/packages/icon/src/main.vue +101 -101
  87. package/packages/icons/index.js +5 -5
  88. package/packages/icons/src/main.vue +81 -81
  89. package/packages/input/index.js +5 -5
  90. package/packages/input/src/main.vue +356 -356
  91. package/packages/input-number/index.js +5 -5
  92. package/packages/input-number/src/main.vue +106 -106
  93. package/packages/label/index.js +5 -5
  94. package/packages/label/src/main.vue +457 -457
  95. package/packages/layout/index.js +5 -5
  96. package/packages/layout/src/item.vue +152 -152
  97. package/packages/layout/src/main.vue +31 -31
  98. package/packages/login/.DS_Store +0 -0
  99. package/packages/login/index.js +5 -5
  100. package/packages/login/src/main.vue +1998 -1998
  101. package/packages/login/src/resetPassword.vue +562 -562
  102. package/packages/main/.DS_Store +0 -0
  103. package/packages/main/index.js +5 -5
  104. package/packages/main/src/.DS_Store +0 -0
  105. package/packages/main/src/default/message.vue +249 -249
  106. package/packages/main/src/default/notice.vue +157 -157
  107. package/packages/main/src/default/userinfo.vue +503 -503
  108. package/packages/main/src/public/online.vue +89 -89
  109. package/packages/main/src/public/search.vue +458 -458
  110. package/packages/main/src/public/settings.vue +221 -221
  111. package/packages/main/src/simplicity/apps.vue +388 -388
  112. package/packages/main/src/simplicity/avatar.vue +82 -82
  113. package/packages/main/src/simplicity/handler.vue +259 -259
  114. package/packages/main/src/simplicity/index.vue +2102 -2102
  115. package/packages/main/src/simplicity/lists.vue +84 -84
  116. package/packages/main/src/simplicity/menu-list.vue +135 -135
  117. package/packages/main/src/simplicity/message.vue +259 -259
  118. package/packages/main/src/simplicity/notice.vue +190 -190
  119. package/packages/main/src/simplicity/router-page.vue +45 -45
  120. package/packages/main/src/simplicity/sub-menu.vue +264 -264
  121. package/packages/main/src/simplicity/user.vue +260 -260
  122. package/packages/main/src/simplicity/userinfo.vue +308 -312
  123. package/packages/menu/.DS_Store +0 -0
  124. package/packages/menu/index.js +5 -5
  125. package/packages/menu/src/main.vue +584 -584
  126. package/packages/nav/index.js +5 -5
  127. package/packages/nav/src/main.vue +351 -351
  128. package/packages/notify/index.js +5 -5
  129. package/packages/notify/src/main.vue +538 -538
  130. package/packages/page/index.js +5 -5
  131. package/packages/page/src/main.vue +167 -167
  132. package/packages/pagination/index.js +5 -5
  133. package/packages/pagination/src/main.vue +96 -96
  134. package/packages/player/index.js +5 -5
  135. package/packages/player/src/main.vue +194 -194
  136. package/packages/qr-code/index.js +5 -5
  137. package/packages/qr-code/src/main.vue +170 -170
  138. package/packages/radio-group/index.js +6 -6
  139. package/packages/radio-group/src/main.vue +319 -319
  140. package/packages/retrial-auth/index.js +5 -5
  141. package/packages/retrial-auth/src/main.vue +280 -280
  142. package/packages/scrollbar/.DS_Store +0 -0
  143. package/packages/select/.DS_Store +0 -0
  144. package/packages/select/index.js +5 -5
  145. package/packages/select/src/main.vue +778 -778
  146. package/packages/select-ganged/index.js +5 -5
  147. package/packages/select-ganged/src/main.vue +724 -724
  148. package/packages/selector/.DS_Store +0 -0
  149. package/packages/selector/index.js +5 -5
  150. package/packages/selector/src/main.vue +745 -745
  151. package/packages/selector-panel/.DS_Store +0 -0
  152. package/packages/selector-panel/index.js +5 -5
  153. package/packages/selector-panel/src/main.vue +1027 -1027
  154. package/packages/selector-panel/src/selection.vue +170 -170
  155. package/packages/selector-panel/src/tree.vue +129 -129
  156. package/packages/sizer/index.js +5 -5
  157. package/packages/sizer/src/main.vue +254 -254
  158. package/packages/steps/index.js +5 -5
  159. package/packages/steps/src/main.vue +181 -181
  160. package/packages/switch/index.js +5 -5
  161. package/packages/switch/src/main.vue +154 -154
  162. package/packages/table-form/index.js +5 -5
  163. package/packages/tabs/index.js +5 -5
  164. package/packages/tabs/src/main.vue +788 -788
  165. package/packages/tabs-panel/index.js +5 -5
  166. package/packages/tabs-panel/src/main.vue +29 -29
  167. package/packages/theme-chalk/src/.DS_Store +0 -0
  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 +293 -293
  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 +39 -39
  184. package/packages/theme-chalk/src/flow.scss +348 -348
  185. package/packages/theme-chalk/src/form.scss +499 -499
  186. package/packages/theme-chalk/src/handle-user.scss +40 -40
  187. package/packages/theme-chalk/src/handler.scss +143 -143
  188. package/packages/theme-chalk/src/icon.scss +1817 -1817
  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 +984 -984
  194. package/packages/theme-chalk/src/main.scss +663 -663
  195. package/packages/theme-chalk/src/menu.scss +222 -222
  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 +91 -91
  208. package/packages/theme-chalk/src/simplicity.scss +1355 -1355
  209. package/packages/theme-chalk/src/sizer.scss +36 -36
  210. package/packages/theme-chalk/src/steps.scss +88 -88
  211. package/packages/theme-chalk/src/switch.scss +3 -3
  212. package/packages/theme-chalk/src/table-form.scss +1 -1
  213. package/packages/theme-chalk/src/tabs.scss +87 -87
  214. package/packages/theme-chalk/src/tips.scss +7 -7
  215. package/packages/theme-chalk/src/toolbar.scss +179 -179
  216. package/packages/theme-chalk/src/tree-group.scss +72 -72
  217. package/packages/theme-chalk/src/tree.scss +165 -165
  218. package/packages/theme-chalk/src/upload.scss +172 -172
  219. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  220. package/packages/tips/index.js +5 -5
  221. package/packages/tips/src/main.vue +141 -141
  222. package/packages/toolbar/index.js +5 -5
  223. package/packages/toolbar/src/main.vue +430 -430
  224. package/packages/tree/index.js +5 -5
  225. package/packages/tree-group/index.js +5 -5
  226. package/packages/upload/.DS_Store +0 -0
  227. package/packages/upload/index.js +5 -5
  228. package/packages/upload/src/main.vue +1348 -1348
  229. package/packages/upload/src/picture.js +15 -15
  230. package/packages/wujie/index.js +5 -5
  231. package/packages/wujie/src/main.vue +145 -145
  232. package/packages/wxlogin/index.js +5 -5
  233. package/packages/wxlogin/src/main.vue +128 -128
  234. package/src/.DS_Store +0 -0
  235. package/src/config/api.js +294 -294
  236. package/src/config/image.js +2 -2
  237. package/src/index.js +163 -163
  238. package/src/utils/.DS_Store +0 -0
  239. package/src/utils/bus.js +3 -3
  240. package/src/utils/date-util.js +312 -312
  241. package/src/utils/http.js +50 -50
  242. package/src/utils/rules.js +18 -18
  243. package/src/utils/store.js +21 -21
  244. package/src/utils/webSocket.js +107 -107
@@ -1,562 +1,562 @@
1
- <!--
2
- /**
3
- * 忘记密码
4
- *@desc 忘记密码填写表单(通过手机号获取验证码)
5
- *
6
- **/
7
- -->
8
- <template>
9
- <div class="rest-password-box" :class="{ 'rest-password-cut': show }">
10
- <el-menu
11
- v-if="show"
12
- :default-active="activeIndex"
13
- class="rest-menu-cut"
14
- mode="horizontal"
15
- @select="handleSelect"
16
- >
17
- <el-menu-item index="6">短信验证</el-menu-item>
18
- <el-menu-item index="11">邮箱验证</el-menu-item>
19
- <el-menu-item index="0" v-if="this.operationCheckCode"
20
- >原密码验证</el-menu-item
21
- >
22
- </el-menu>
23
- <es-form
24
- ref="pwdForm"
25
- v-loading.fullscreen.lock="submit"
26
- element-loading-text="修改中..."
27
- element-loading-spinner="el-icon-loading"
28
- element-loading-background="rgba(0, 0, 0, 0.65)"
29
- class="es-rest-password"
30
- :model="formData"
31
- :contents="page"
32
- :autocomplete="false"
33
- @submit="handleSubmit"
34
- >
35
- </es-form>
36
- </div>
37
- </template>
38
-
39
- <script>
40
- import {
41
- initModifyPassword,
42
- getModifyPassCode,
43
- codeModifyPass,
44
- loginModifyPassword
45
- } from 'eoss-ui/src/config/api.js';
46
- import rules from 'eoss-ui/src/utils/rules.js';
47
- import util from 'eoss-ui/src/utils/util';
48
- export default {
49
- name: 'resetPassword',
50
- props: {
51
- secret: String,
52
- isEncrypt: Boolean,
53
- type: String,
54
- operationCheckCode: String,
55
- username: String
56
- },
57
- computed: {
58
- page() {
59
- switch (this.activeIndex) {
60
- case '6':
61
- return [
62
- {
63
- type: 'text',
64
- name: 'target',
65
- label: '手机号',
66
- placeholder: '请输入手机号',
67
- rules: [
68
- {
69
- required: true,
70
- message: '请输入手机号',
71
- trigger: 'blur'
72
- },
73
- {
74
- ...rules.phone,
75
- trigger: 'blur'
76
- }
77
- ]
78
- },
79
- {
80
- type: 'password',
81
- name: 'password',
82
- label: '新密码',
83
- placeholder: '请输入新密码',
84
- showPassword: true,
85
- rules: [
86
- this.checkPassword
87
- ? {
88
- pattern: this.checkPassword,
89
- message: this.checkPasswordMsg
90
- ? this.checkPasswordMsg
91
- : '密码格式不合法',
92
- trigger: 'blur'
93
- }
94
- : {},
95
- {
96
- required: true,
97
- message: '请输入新密码',
98
- trigger: 'blur'
99
- }
100
- ]
101
- },
102
- {
103
- type: 'password',
104
- name: 'repassword',
105
- placeholder: '请确认新密码',
106
- label: '确认新密码',
107
- showPassword: true,
108
- rules: [
109
- this.checkPassword
110
- ? {
111
- pattern: this.checkPassword,
112
- message: this.checkPasswordMsg
113
- ? this.checkPasswordMsg
114
- : '密码格式不合法',
115
- trigger: 'blur'
116
- }
117
- : {},
118
- {
119
- required: true,
120
- message: '请输入新密码',
121
- trigger: 'blur'
122
- },
123
- { validator: this.reregExpValidate, trigger: 'blur' }
124
- ]
125
- },
126
- {
127
- type: 'text',
128
- name: 'verificationCode',
129
- placeholder: '请输入验证码',
130
- label: '验证码',
131
- append: {
132
- text: this.btnText,
133
- attrs: { disabled: this.disabled },
134
- event: this.getVerificationCode
135
- },
136
- rules: [
137
- {
138
- required: true,
139
- message: '请输入验证码',
140
- trigger: 'blur'
141
- }
142
- ]
143
- },
144
- {
145
- type: 'submit',
146
- contents: [
147
- {
148
- type: 'primary',
149
- text: '提交',
150
- event: 'confirm'
151
- }
152
- ]
153
- }
154
- ];
155
- case '11':
156
- return [
157
- {
158
- type: 'text',
159
- name: 'target',
160
- label: '邮箱地址',
161
- placeholder: '请输入邮箱地址',
162
- rules: [
163
- {
164
- required: true,
165
- message: '请输入邮箱地址',
166
- trigger: 'blur'
167
- },
168
- {
169
- type: 'email',
170
- message: '请输入正确的邮箱地址',
171
- trigger: 'blur'
172
- }
173
- ]
174
- },
175
- {
176
- type: 'password',
177
- name: 'password',
178
- label: '新密码',
179
- placeholder: '请输入新密码',
180
- showPassword: true,
181
- rules: [
182
- this.checkPassword
183
- ? {
184
- pattern: this.checkPassword,
185
- message: this.checkPasswordMsg
186
- ? this.checkPasswordMsg
187
- : '密码格式不合法',
188
- trigger: 'blur'
189
- }
190
- : {},
191
- {
192
- required: true,
193
- message: '请输入新密码',
194
- trigger: 'blur'
195
- }
196
- ]
197
- },
198
- {
199
- type: 'password',
200
- name: 'repassword',
201
- placeholder: '请确认新密码',
202
- label: '确认新密码',
203
- showPassword: true,
204
- rules: [
205
- this.checkPassword
206
- ? {
207
- pattern: this.checkPassword,
208
- message: this.checkPasswordMsg
209
- ? this.checkPasswordMsg
210
- : '密码格式不合法',
211
- trigger: 'blur'
212
- }
213
- : {},
214
- {
215
- required: true,
216
- message: '请输入新密码',
217
- trigger: 'blur'
218
- },
219
- { validator: this.reregExpValidate, trigger: 'blur' }
220
- ]
221
- },
222
- {
223
- type: 'text',
224
- name: 'verificationCode',
225
- placeholder: '请输入验证码',
226
- label: '验证码',
227
- append: {
228
- text: this.btnText,
229
- attrs: { disabled: this.disabled },
230
- event: this.getVerificationCode
231
- },
232
- rules: [
233
- {
234
- required: true,
235
- message: '请输入验证码',
236
- trigger: 'blur'
237
- }
238
- ]
239
- },
240
- {
241
- type: 'submit',
242
- contents: [
243
- {
244
- type: 'primary',
245
- text: '提交',
246
- event: 'confirm'
247
- }
248
- ]
249
- }
250
- ];
251
- case '0':
252
- this.$set(
253
- this.formData,
254
- 'username',
255
- this.username ? this.username : ''
256
- );
257
- return [
258
- {
259
- type: 'text',
260
- name: 'userName',
261
- label: '用户名',
262
- placeholder: '请输入用户名',
263
- rules: [
264
- {
265
- required: true,
266
- message: '请输入用户名',
267
- trigger: 'blur'
268
- }
269
- ]
270
- },
271
- {
272
- type: 'password',
273
- name: 'oldPassword',
274
- label: '旧密码',
275
- placeholder: '请输入旧密码',
276
- showPassword: true,
277
- rules: [
278
- {
279
- required: true,
280
- message: '请输入旧密码',
281
- trigger: 'blur'
282
- }
283
- ]
284
- },
285
- {
286
- type: 'password',
287
- name: 'password',
288
- label: '新密码',
289
- placeholder: '请输入新密码',
290
- showPassword: true,
291
- rules: [
292
- this.checkPassword
293
- ? {
294
- pattern: this.checkPassword,
295
- message: this.checkPasswordMsg
296
- ? this.checkPasswordMsg
297
- : '密码格式不合法',
298
- trigger: 'blur'
299
- }
300
- : {},
301
- {
302
- required: true,
303
- message: '请输入新密码',
304
- trigger: 'blur'
305
- }
306
- ]
307
- },
308
- {
309
- type: 'password',
310
- name: 'repassword',
311
- placeholder: '请确认新密码',
312
- label: '确认新密码',
313
- showPassword: true,
314
- rules: [
315
- this.checkPassword
316
- ? {
317
- pattern: this.checkPassword,
318
- message: this.checkPasswordMsg
319
- ? this.checkPasswordMsg
320
- : '密码格式不合法',
321
- trigger: 'blur'
322
- }
323
- : {},
324
- {
325
- required: true,
326
- message: '请确认新密码',
327
- trigger: 'blur'
328
- },
329
- { validator: this.reregExpValidate, trigger: 'blur' }
330
- ]
331
- },
332
- {
333
- type: 'submit',
334
- contents: [
335
- {
336
- type: 'primary',
337
- text: '提交',
338
- event: 'confirm'
339
- }
340
- ]
341
- }
342
- ];
343
- }
344
- },
345
- show() {
346
- if (this.type) {
347
- let types = this.type.split(',');
348
- return types.length > 1;
349
- }
350
- return false;
351
- }
352
- },
353
- data() {
354
- return {
355
- activeIndex: '6',
356
- checkPassword: null,
357
- checkPasswordMsg: null,
358
- btnText: '获取验证码',
359
- timer: '',
360
- countdown: 0,
361
- disabled: false,
362
- submit: false,
363
- formData: {}
364
- };
365
- },
366
- created() {
367
- this.getInitModifyPassword();
368
- if (this.type) {
369
- let types = this.type.split(',');
370
- if (types.length) {
371
- types.forEach((item) => {
372
- if (item != '0' && (item == '11' || item == '6')) {
373
- this.activeIndex = item;
374
- return;
375
- }
376
- });
377
- }
378
- } else {
379
- this.activeIndex = this.operationCheckCode ? '0' : '';
380
- }
381
- },
382
- destroyed() {
383
- clearInterval(this.timer);
384
- },
385
- methods: {
386
- // 密码再次验证
387
- reregExpValidate(rule, value, callback) {
388
- if (value != this.formData.password) {
389
- callback(new Error('两次密码不一致'));
390
- } else {
391
- callback();
392
- }
393
- },
394
- getInitModifyPassword() {
395
- util
396
- .ajax({
397
- url: initModifyPassword
398
- })
399
- .then((res) => {
400
- if (res.rCode === 0) {
401
- const results = JSON.parse(JSON.stringify(res.results));
402
- if (results.checkPassword) {
403
- this.checkPassword = new RegExp(results.checkPassword);
404
- }
405
- if (results.checkPasswordMsg) {
406
- this.checkPasswordMsg = results.checkPasswordMsg;
407
- }
408
- } else {
409
- let msg = res.msg || '系统错误,请联系管理员!';
410
- this.$message.error(msg);
411
- }
412
- })
413
- .catch((err) => {
414
- if (err.message && err.message !== 'canceled') {
415
- this.$message.error(err.message);
416
- }
417
- });
418
- },
419
- getVerificationCode() {
420
- if (this.countdown) {
421
- return false;
422
- }
423
- if (!this.formData.target) {
424
- this.$refs.pwdForm.validateField('target');
425
- return false;
426
- } else {
427
- let flag = false;
428
- this.$refs.pwdForm.validateField('target', (res) => {
429
- flag = res != '';
430
- });
431
- if (flag) {
432
- return false;
433
- }
434
- let data = {
435
- target: this.formData.target,
436
- targetType: this.activeIndex == '6' ? 'SMS' : 'EMAIL'
437
- };
438
- this.countdown = 60;
439
- this.getCode(data);
440
- this.timer = setInterval(() => {
441
- if (this.countdown > 0) {
442
- this.countdown--;
443
- this.disabled = true;
444
- this.btnText = '重新获取' + this.countdown + 's';
445
- } else {
446
- this.btnText = '获取验证码';
447
- this.disabled = false;
448
- clearInterval(this.timer);
449
- }
450
- }, 1000);
451
- }
452
- },
453
- getCode(params) {
454
- util
455
- .ajax({
456
- url: getModifyPassCode,
457
- params: params
458
- })
459
- .then((res) => {
460
- if (res.rCode === 0) {
461
- this.$message.success(res.msg);
462
- } else {
463
- let msg = res.msg || '系统错误,请联系管理员!';
464
- if (res.rCode === 2) {
465
- this.btnText = '获取验证码';
466
- this.disabled = false;
467
- this.countdown = 0;
468
- clearInterval(this.timer);
469
- }
470
- this.$message.error(msg);
471
- }
472
- })
473
- .catch((err) => {
474
- if (err.message && err.message !== 'canceled') {
475
- this.$message.error(err.message);
476
- }
477
- });
478
- },
479
- handleSubmit(res) {
480
- this.submit = true;
481
- let { repassword, ...data } = res;
482
- if (this.secret && this.isEncrypt) {
483
- data.password = util.esmEncrypt({
484
- data: data.password,
485
- key: this.secret
486
- });
487
- if (data.oldPassword) {
488
- data.oldPassword = util.esmEncrypt({
489
- data: data.oldPassword,
490
- key: this.secret
491
- });
492
- }
493
- }
494
- if (this.activeIndex == '0') {
495
- data.operationCheckCode = this.operationCheckCode;
496
- util
497
- .ajax({
498
- method: 'post',
499
- url: loginModifyPassword,
500
- data: data
501
- })
502
- .then((res) => {
503
- this.submit = false;
504
- if (res.rCode === 0) {
505
- this.$message.success(res.msg);
506
- this.$emit('success');
507
- } else {
508
- let msg = res.msg || '系统错误,请联系管理员!';
509
- this.$message.error(msg);
510
- this.disabled = false;
511
- delete this.formData.verificationCode;
512
- clearInterval(this.timer);
513
- }
514
- })
515
- .catch((err) => {
516
- if (err.message && err.message !== 'canceled') {
517
- this.$message.error(err.message);
518
- }
519
- });
520
- } else {
521
- if (this.activeIndex == '6') {
522
- data.targetType = 'SMS';
523
- } else {
524
- data.targetType = 'EMAIL';
525
- }
526
- util
527
- .ajax({
528
- method: 'post',
529
- url: codeModifyPass,
530
- data: data
531
- })
532
- .then((res) => {
533
- this.submit = false;
534
- if (res.rCode === 0) {
535
- this.$message.success(res.msg);
536
- this.$emit('success');
537
- } else {
538
- let msg = res.msg || '系统错误,请联系管理员!';
539
- this.btnText = '获取验证码';
540
- this.disabled = false;
541
- clearInterval(this.timer);
542
- delete this.formData.verificationCode;
543
- this.$message.error(msg);
544
- }
545
- })
546
- .catch((err) => {
547
- if (err.message && err.message !== 'canceled') {
548
- this.$message.error(err.message);
549
- }
550
- });
551
- }
552
- },
553
- handleSelect(res) {
554
- this.$refs.pwdForm.resetFields();
555
- this.activeIndex = res;
556
- this.btnText = '获取验证码';
557
- this.disabled = false;
558
- clearInterval(this.timer);
559
- }
560
- }
561
- };
562
- </script>
1
+ <!--
2
+ /**
3
+ * 忘记密码
4
+ *@desc 忘记密码填写表单(通过手机号获取验证码)
5
+ *
6
+ **/
7
+ -->
8
+ <template>
9
+ <div class="rest-password-box" :class="{ 'rest-password-cut': show }">
10
+ <el-menu
11
+ v-if="show"
12
+ :default-active="activeIndex"
13
+ class="rest-menu-cut"
14
+ mode="horizontal"
15
+ @select="handleSelect"
16
+ >
17
+ <el-menu-item index="6">短信验证</el-menu-item>
18
+ <el-menu-item index="11">邮箱验证</el-menu-item>
19
+ <el-menu-item index="0" v-if="this.operationCheckCode"
20
+ >原密码验证</el-menu-item
21
+ >
22
+ </el-menu>
23
+ <es-form
24
+ ref="pwdForm"
25
+ v-loading.fullscreen.lock="submit"
26
+ element-loading-text="修改中..."
27
+ element-loading-spinner="el-icon-loading"
28
+ element-loading-background="rgba(0, 0, 0, 0.65)"
29
+ class="es-rest-password"
30
+ :model="formData"
31
+ :contents="page"
32
+ :autocomplete="false"
33
+ @submit="handleSubmit"
34
+ >
35
+ </es-form>
36
+ </div>
37
+ </template>
38
+
39
+ <script>
40
+ import {
41
+ initModifyPassword,
42
+ getModifyPassCode,
43
+ codeModifyPass,
44
+ loginModifyPassword
45
+ } from 'eoss-ui/src/config/api.js';
46
+ import rules from 'eoss-ui/src/utils/rules.js';
47
+ import util from 'eoss-ui/src/utils/util';
48
+ export default {
49
+ name: 'resetPassword',
50
+ props: {
51
+ secret: String,
52
+ isEncrypt: Boolean,
53
+ type: String,
54
+ operationCheckCode: String,
55
+ username: String
56
+ },
57
+ computed: {
58
+ page() {
59
+ switch (this.activeIndex) {
60
+ case '6':
61
+ return [
62
+ {
63
+ type: 'text',
64
+ name: 'target',
65
+ label: '手机号',
66
+ placeholder: '请输入手机号',
67
+ rules: [
68
+ {
69
+ required: true,
70
+ message: '请输入手机号',
71
+ trigger: 'blur'
72
+ },
73
+ {
74
+ ...rules.phone,
75
+ trigger: 'blur'
76
+ }
77
+ ]
78
+ },
79
+ {
80
+ type: 'password',
81
+ name: 'password',
82
+ label: '新密码',
83
+ placeholder: '请输入新密码',
84
+ showPassword: true,
85
+ rules: [
86
+ this.checkPassword
87
+ ? {
88
+ pattern: this.checkPassword,
89
+ message: this.checkPasswordMsg
90
+ ? this.checkPasswordMsg
91
+ : '密码格式不合法',
92
+ trigger: 'blur'
93
+ }
94
+ : {},
95
+ {
96
+ required: true,
97
+ message: '请输入新密码',
98
+ trigger: 'blur'
99
+ }
100
+ ]
101
+ },
102
+ {
103
+ type: 'password',
104
+ name: 'repassword',
105
+ placeholder: '请确认新密码',
106
+ label: '确认新密码',
107
+ showPassword: true,
108
+ rules: [
109
+ this.checkPassword
110
+ ? {
111
+ pattern: this.checkPassword,
112
+ message: this.checkPasswordMsg
113
+ ? this.checkPasswordMsg
114
+ : '密码格式不合法',
115
+ trigger: 'blur'
116
+ }
117
+ : {},
118
+ {
119
+ required: true,
120
+ message: '请输入新密码',
121
+ trigger: 'blur'
122
+ },
123
+ { validator: this.reregExpValidate, trigger: 'blur' }
124
+ ]
125
+ },
126
+ {
127
+ type: 'text',
128
+ name: 'verificationCode',
129
+ placeholder: '请输入验证码',
130
+ label: '验证码',
131
+ append: {
132
+ text: this.btnText,
133
+ attrs: { disabled: this.disabled },
134
+ event: this.getVerificationCode
135
+ },
136
+ rules: [
137
+ {
138
+ required: true,
139
+ message: '请输入验证码',
140
+ trigger: 'blur'
141
+ }
142
+ ]
143
+ },
144
+ {
145
+ type: 'submit',
146
+ contents: [
147
+ {
148
+ type: 'primary',
149
+ text: '提交',
150
+ event: 'confirm'
151
+ }
152
+ ]
153
+ }
154
+ ];
155
+ case '11':
156
+ return [
157
+ {
158
+ type: 'text',
159
+ name: 'target',
160
+ label: '邮箱地址',
161
+ placeholder: '请输入邮箱地址',
162
+ rules: [
163
+ {
164
+ required: true,
165
+ message: '请输入邮箱地址',
166
+ trigger: 'blur'
167
+ },
168
+ {
169
+ type: 'email',
170
+ message: '请输入正确的邮箱地址',
171
+ trigger: 'blur'
172
+ }
173
+ ]
174
+ },
175
+ {
176
+ type: 'password',
177
+ name: 'password',
178
+ label: '新密码',
179
+ placeholder: '请输入新密码',
180
+ showPassword: true,
181
+ rules: [
182
+ this.checkPassword
183
+ ? {
184
+ pattern: this.checkPassword,
185
+ message: this.checkPasswordMsg
186
+ ? this.checkPasswordMsg
187
+ : '密码格式不合法',
188
+ trigger: 'blur'
189
+ }
190
+ : {},
191
+ {
192
+ required: true,
193
+ message: '请输入新密码',
194
+ trigger: 'blur'
195
+ }
196
+ ]
197
+ },
198
+ {
199
+ type: 'password',
200
+ name: 'repassword',
201
+ placeholder: '请确认新密码',
202
+ label: '确认新密码',
203
+ showPassword: true,
204
+ rules: [
205
+ this.checkPassword
206
+ ? {
207
+ pattern: this.checkPassword,
208
+ message: this.checkPasswordMsg
209
+ ? this.checkPasswordMsg
210
+ : '密码格式不合法',
211
+ trigger: 'blur'
212
+ }
213
+ : {},
214
+ {
215
+ required: true,
216
+ message: '请输入新密码',
217
+ trigger: 'blur'
218
+ },
219
+ { validator: this.reregExpValidate, trigger: 'blur' }
220
+ ]
221
+ },
222
+ {
223
+ type: 'text',
224
+ name: 'verificationCode',
225
+ placeholder: '请输入验证码',
226
+ label: '验证码',
227
+ append: {
228
+ text: this.btnText,
229
+ attrs: { disabled: this.disabled },
230
+ event: this.getVerificationCode
231
+ },
232
+ rules: [
233
+ {
234
+ required: true,
235
+ message: '请输入验证码',
236
+ trigger: 'blur'
237
+ }
238
+ ]
239
+ },
240
+ {
241
+ type: 'submit',
242
+ contents: [
243
+ {
244
+ type: 'primary',
245
+ text: '提交',
246
+ event: 'confirm'
247
+ }
248
+ ]
249
+ }
250
+ ];
251
+ case '0':
252
+ this.$set(
253
+ this.formData,
254
+ 'username',
255
+ this.username ? this.username : ''
256
+ );
257
+ return [
258
+ {
259
+ type: 'text',
260
+ name: 'userName',
261
+ label: '用户名',
262
+ placeholder: '请输入用户名',
263
+ rules: [
264
+ {
265
+ required: true,
266
+ message: '请输入用户名',
267
+ trigger: 'blur'
268
+ }
269
+ ]
270
+ },
271
+ {
272
+ type: 'password',
273
+ name: 'oldPassword',
274
+ label: '旧密码',
275
+ placeholder: '请输入旧密码',
276
+ showPassword: true,
277
+ rules: [
278
+ {
279
+ required: true,
280
+ message: '请输入旧密码',
281
+ trigger: 'blur'
282
+ }
283
+ ]
284
+ },
285
+ {
286
+ type: 'password',
287
+ name: 'password',
288
+ label: '新密码',
289
+ placeholder: '请输入新密码',
290
+ showPassword: true,
291
+ rules: [
292
+ this.checkPassword
293
+ ? {
294
+ pattern: this.checkPassword,
295
+ message: this.checkPasswordMsg
296
+ ? this.checkPasswordMsg
297
+ : '密码格式不合法',
298
+ trigger: 'blur'
299
+ }
300
+ : {},
301
+ {
302
+ required: true,
303
+ message: '请输入新密码',
304
+ trigger: 'blur'
305
+ }
306
+ ]
307
+ },
308
+ {
309
+ type: 'password',
310
+ name: 'repassword',
311
+ placeholder: '请确认新密码',
312
+ label: '确认新密码',
313
+ showPassword: true,
314
+ rules: [
315
+ this.checkPassword
316
+ ? {
317
+ pattern: this.checkPassword,
318
+ message: this.checkPasswordMsg
319
+ ? this.checkPasswordMsg
320
+ : '密码格式不合法',
321
+ trigger: 'blur'
322
+ }
323
+ : {},
324
+ {
325
+ required: true,
326
+ message: '请确认新密码',
327
+ trigger: 'blur'
328
+ },
329
+ { validator: this.reregExpValidate, trigger: 'blur' }
330
+ ]
331
+ },
332
+ {
333
+ type: 'submit',
334
+ contents: [
335
+ {
336
+ type: 'primary',
337
+ text: '提交',
338
+ event: 'confirm'
339
+ }
340
+ ]
341
+ }
342
+ ];
343
+ }
344
+ },
345
+ show() {
346
+ if (this.type) {
347
+ let types = this.type.split(',');
348
+ return types.length > 1;
349
+ }
350
+ return false;
351
+ }
352
+ },
353
+ data() {
354
+ return {
355
+ activeIndex: '6',
356
+ checkPassword: null,
357
+ checkPasswordMsg: null,
358
+ btnText: '获取验证码',
359
+ timer: '',
360
+ countdown: 0,
361
+ disabled: false,
362
+ submit: false,
363
+ formData: {}
364
+ };
365
+ },
366
+ created() {
367
+ this.getInitModifyPassword();
368
+ if (this.type) {
369
+ let types = this.type.split(',');
370
+ if (types.length) {
371
+ types.forEach((item) => {
372
+ if (item != '0' && (item == '11' || item == '6')) {
373
+ this.activeIndex = item;
374
+ return;
375
+ }
376
+ });
377
+ }
378
+ } else {
379
+ this.activeIndex = this.operationCheckCode ? '0' : '';
380
+ }
381
+ },
382
+ destroyed() {
383
+ clearInterval(this.timer);
384
+ },
385
+ methods: {
386
+ // 密码再次验证
387
+ reregExpValidate(rule, value, callback) {
388
+ if (value != this.formData.password) {
389
+ callback(new Error('两次密码不一致'));
390
+ } else {
391
+ callback();
392
+ }
393
+ },
394
+ getInitModifyPassword() {
395
+ util
396
+ .ajax({
397
+ url: initModifyPassword
398
+ })
399
+ .then((res) => {
400
+ if (res.rCode === 0) {
401
+ const results = JSON.parse(JSON.stringify(res.results));
402
+ if (results.checkPassword) {
403
+ this.checkPassword = new RegExp(results.checkPassword);
404
+ }
405
+ if (results.checkPasswordMsg) {
406
+ this.checkPasswordMsg = results.checkPasswordMsg;
407
+ }
408
+ } else {
409
+ let msg = res.msg || '系统错误,请联系管理员!';
410
+ this.$message.error(msg);
411
+ }
412
+ })
413
+ .catch((err) => {
414
+ if (err.message && err.message !== 'canceled') {
415
+ this.$message.error(err.message);
416
+ }
417
+ });
418
+ },
419
+ getVerificationCode() {
420
+ if (this.countdown) {
421
+ return false;
422
+ }
423
+ if (!this.formData.target) {
424
+ this.$refs.pwdForm.validateField('target');
425
+ return false;
426
+ } else {
427
+ let flag = false;
428
+ this.$refs.pwdForm.validateField('target', (res) => {
429
+ flag = res != '';
430
+ });
431
+ if (flag) {
432
+ return false;
433
+ }
434
+ let data = {
435
+ target: this.formData.target,
436
+ targetType: this.activeIndex == '6' ? 'SMS' : 'EMAIL'
437
+ };
438
+ this.countdown = 60;
439
+ this.getCode(data);
440
+ this.timer = setInterval(() => {
441
+ if (this.countdown > 0) {
442
+ this.countdown--;
443
+ this.disabled = true;
444
+ this.btnText = '重新获取' + this.countdown + 's';
445
+ } else {
446
+ this.btnText = '获取验证码';
447
+ this.disabled = false;
448
+ clearInterval(this.timer);
449
+ }
450
+ }, 1000);
451
+ }
452
+ },
453
+ getCode(params) {
454
+ util
455
+ .ajax({
456
+ url: getModifyPassCode,
457
+ params: params
458
+ })
459
+ .then((res) => {
460
+ if (res.rCode === 0) {
461
+ this.$message.success(res.msg);
462
+ } else {
463
+ let msg = res.msg || '系统错误,请联系管理员!';
464
+ if (res.rCode === 2) {
465
+ this.btnText = '获取验证码';
466
+ this.disabled = false;
467
+ this.countdown = 0;
468
+ clearInterval(this.timer);
469
+ }
470
+ this.$message.error(msg);
471
+ }
472
+ })
473
+ .catch((err) => {
474
+ if (err.message && err.message !== 'canceled') {
475
+ this.$message.error(err.message);
476
+ }
477
+ });
478
+ },
479
+ handleSubmit(res) {
480
+ this.submit = true;
481
+ let { repassword, ...data } = res;
482
+ if (this.secret && this.isEncrypt) {
483
+ data.password = util.esmEncrypt({
484
+ data: data.password,
485
+ key: this.secret
486
+ });
487
+ if (data.oldPassword) {
488
+ data.oldPassword = util.esmEncrypt({
489
+ data: data.oldPassword,
490
+ key: this.secret
491
+ });
492
+ }
493
+ }
494
+ if (this.activeIndex == '0') {
495
+ data.operationCheckCode = this.operationCheckCode;
496
+ util
497
+ .ajax({
498
+ method: 'post',
499
+ url: loginModifyPassword,
500
+ data: data
501
+ })
502
+ .then((res) => {
503
+ this.submit = false;
504
+ if (res.rCode === 0) {
505
+ this.$message.success(res.msg);
506
+ this.$emit('success');
507
+ } else {
508
+ let msg = res.msg || '系统错误,请联系管理员!';
509
+ this.$message.error(msg);
510
+ this.disabled = false;
511
+ delete this.formData.verificationCode;
512
+ clearInterval(this.timer);
513
+ }
514
+ })
515
+ .catch((err) => {
516
+ if (err.message && err.message !== 'canceled') {
517
+ this.$message.error(err.message);
518
+ }
519
+ });
520
+ } else {
521
+ if (this.activeIndex == '6') {
522
+ data.targetType = 'SMS';
523
+ } else {
524
+ data.targetType = 'EMAIL';
525
+ }
526
+ util
527
+ .ajax({
528
+ method: 'post',
529
+ url: codeModifyPass,
530
+ data: data
531
+ })
532
+ .then((res) => {
533
+ this.submit = false;
534
+ if (res.rCode === 0) {
535
+ this.$message.success(res.msg);
536
+ this.$emit('success');
537
+ } else {
538
+ let msg = res.msg || '系统错误,请联系管理员!';
539
+ this.btnText = '获取验证码';
540
+ this.disabled = false;
541
+ clearInterval(this.timer);
542
+ delete this.formData.verificationCode;
543
+ this.$message.error(msg);
544
+ }
545
+ })
546
+ .catch((err) => {
547
+ if (err.message && err.message !== 'canceled') {
548
+ this.$message.error(err.message);
549
+ }
550
+ });
551
+ }
552
+ },
553
+ handleSelect(res) {
554
+ this.$refs.pwdForm.resetFields();
555
+ this.activeIndex = res;
556
+ this.btnText = '获取验证码';
557
+ this.disabled = false;
558
+ clearInterval(this.timer);
559
+ }
560
+ }
561
+ };
562
+ </script>