eoss-ui 0.7.56 → 0.7.58

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 (246) hide show
  1. package/lib/calogin.js +233 -233
  2. package/lib/eoss-ui.common.js +842 -820
  3. package/lib/flow-group.js +17 -4
  4. package/lib/flow-list.js +81 -81
  5. package/lib/flow.js +308 -303
  6. package/lib/index.js +1 -1
  7. package/lib/main.js +179 -175
  8. package/lib/qr-code.js +13 -13
  9. package/package.json +160 -160
  10. package/packages/button/index.js +5 -5
  11. package/packages/button/src/main.vue +418 -418
  12. package/packages/button-group/index.js +5 -5
  13. package/packages/button-group/src/main.vue +346 -346
  14. package/packages/calendar/index.js +5 -5
  15. package/packages/calogin/index.js +5 -5
  16. package/packages/calogin/src/main.vue +412 -412
  17. package/packages/calogin/src/plugin.js +915 -915
  18. package/packages/card/index.js +5 -5
  19. package/packages/card/src/main.vue +156 -156
  20. package/packages/cascader/index.js +5 -5
  21. package/packages/cascader/src/main.vue +168 -168
  22. package/packages/checkbox-group/index.js +5 -5
  23. package/packages/checkbox-group/src/main.vue +333 -333
  24. package/packages/clients/index.js +5 -5
  25. package/packages/clients/src/main.vue +151 -151
  26. package/packages/data-table/index.js +5 -5
  27. package/packages/data-table/src/children.vue +39 -39
  28. package/packages/data-table/src/column.vue +992 -992
  29. package/packages/data-table/src/main.vue +1840 -1840
  30. package/packages/data-table/src/sizer.vue +195 -195
  31. package/packages/data-table-form/index.js +5 -5
  32. package/packages/data-table-form/src/checkbox.vue +101 -101
  33. package/packages/data-table-form/src/colgroup.vue +17 -17
  34. package/packages/data-table-form/src/main.vue +181 -181
  35. package/packages/data-table-form/src/radio.vue +65 -65
  36. package/packages/data-table-form/src/table.vue +233 -233
  37. package/packages/data-table-form/src/tbody.vue +336 -336
  38. package/packages/data-table-form/src/thead.vue +68 -68
  39. package/packages/date-picker/index.js +5 -5
  40. package/packages/date-picker/src/main.vue +236 -236
  41. package/packages/dialog/index.js +5 -5
  42. package/packages/enable-drag/index.js +5 -5
  43. package/packages/enterprise/index.js +5 -5
  44. package/packages/enterprise/src/main.vue +66 -66
  45. package/packages/error-page/index.js +5 -5
  46. package/packages/error-page/src/main.vue +44 -44
  47. package/packages/flow/index.js +5 -5
  48. package/packages/flow/src/component/Circulate.vue +413 -413
  49. package/packages/flow/src/component/CommonOpinions.vue +374 -373
  50. package/packages/flow/src/component/CustomPreset.vue +322 -322
  51. package/packages/flow/src/component/FileList.vue +97 -97
  52. package/packages/flow/src/component/FreeCirculation.vue +241 -241
  53. package/packages/flow/src/component/Preset.vue +255 -255
  54. package/packages/flow/src/component/SendMsg.vue +242 -242
  55. package/packages/flow/src/component/TimeLimit.vue +190 -190
  56. package/packages/flow/src/component/taskUnionExamine.vue +756 -756
  57. package/packages/flow/src/form.vue +123 -121
  58. package/packages/flow/src/freeStartFlow.vue +2846 -2846
  59. package/packages/flow/src/main.vue +3878 -3878
  60. package/packages/flow/src/processForm.vue +1365 -1365
  61. package/packages/flow/src/processReject.vue +309 -309
  62. package/packages/flow/src/reset.vue +942 -942
  63. package/packages/flow/src/startTaskRead.vue +693 -692
  64. package/packages/flow/src/supervise.vue +159 -159
  65. package/packages/flow/src/table.vue +58 -58
  66. package/packages/flow-group/index.js +5 -5
  67. package/packages/flow-group/src/main.vue +732 -717
  68. package/packages/flow-list/index.js +5 -5
  69. package/packages/flow-list/src/main.vue +1801 -1801
  70. package/packages/form/index.js +5 -5
  71. package/packages/form/src/main.vue +3901 -3901
  72. package/packages/form/src/table.vue +1512 -1512
  73. package/packages/handle-user/index.js +5 -5
  74. package/packages/handle-user/src/main.vue +137 -137
  75. package/packages/handler/index.js +5 -5
  76. package/packages/handler/src/main.vue +496 -496
  77. package/packages/icon/index.js +5 -5
  78. package/packages/icon/src/main.vue +104 -104
  79. package/packages/icons/index.js +5 -5
  80. package/packages/icons/src/main.vue +81 -81
  81. package/packages/input/index.js +5 -5
  82. package/packages/input/src/main.vue +356 -356
  83. package/packages/input-number/index.js +5 -5
  84. package/packages/input-number/src/main.vue +106 -106
  85. package/packages/label/index.js +5 -5
  86. package/packages/label/src/main.vue +457 -457
  87. package/packages/layout/index.js +5 -5
  88. package/packages/layout/src/item.vue +152 -152
  89. package/packages/layout/src/main.vue +31 -31
  90. package/packages/login/index.js +5 -5
  91. package/packages/login/src/main.vue +2082 -2082
  92. package/packages/login/src/resetPassword.vue +557 -557
  93. package/packages/main/index.js +5 -5
  94. package/packages/main/src/default/message.vue +249 -249
  95. package/packages/main/src/default/notice.vue +157 -157
  96. package/packages/main/src/default/userinfo.vue +503 -503
  97. package/packages/main/src/main.vue +2 -2
  98. package/packages/main/src/public/online.vue +89 -89
  99. package/packages/main/src/public/search.vue +464 -464
  100. package/packages/main/src/public/settings.vue +227 -227
  101. package/packages/main/src/simplicity/apps.vue +388 -388
  102. package/packages/main/src/simplicity/avatar.vue +82 -82
  103. package/packages/main/src/simplicity/handler.vue +160 -160
  104. package/packages/main/src/simplicity/index.vue +2305 -2307
  105. package/packages/main/src/simplicity/lists.vue +84 -84
  106. package/packages/main/src/simplicity/menu-list.vue +135 -135
  107. package/packages/main/src/simplicity/message.vue +293 -293
  108. package/packages/main/src/simplicity/notice.vue +222 -222
  109. package/packages/main/src/simplicity/router-page.vue +45 -45
  110. package/packages/main/src/simplicity/sub-menu.vue +274 -274
  111. package/packages/main/src/simplicity/user.vue +259 -259
  112. package/packages/main/src/simplicity/userinfo.vue +401 -401
  113. package/packages/menu/index.js +5 -5
  114. package/packages/menu/src/main.vue +595 -595
  115. package/packages/nav/index.js +5 -5
  116. package/packages/nav/src/main.vue +351 -351
  117. package/packages/notify/index.js +5 -5
  118. package/packages/notify/src/main.vue +538 -538
  119. package/packages/page/index.js +5 -5
  120. package/packages/page/src/main.vue +167 -167
  121. package/packages/pagination/index.js +5 -5
  122. package/packages/pagination/src/main.vue +96 -96
  123. package/packages/player/index.js +5 -5
  124. package/packages/player/src/main.vue +194 -194
  125. package/packages/qr-code/index.js +5 -5
  126. package/packages/qr-code/src/main.vue +170 -170
  127. package/packages/radio-group/index.js +6 -6
  128. package/packages/radio-group/src/main.vue +319 -319
  129. package/packages/retrial-auth/index.js +5 -5
  130. package/packages/retrial-auth/src/main.vue +280 -280
  131. package/packages/select/index.js +5 -5
  132. package/packages/select/src/main.vue +782 -782
  133. package/packages/select-ganged/index.js +5 -5
  134. package/packages/select-ganged/src/main.vue +724 -724
  135. package/packages/selector/index.js +5 -5
  136. package/packages/selector/src/main.vue +761 -761
  137. package/packages/selector-panel/index.js +5 -5
  138. package/packages/selector-panel/src/main.vue +1027 -1027
  139. package/packages/selector-panel/src/selection.vue +170 -170
  140. package/packages/selector-panel/src/tree.vue +129 -129
  141. package/packages/sizer/index.js +5 -5
  142. package/packages/sizer/src/main.vue +254 -254
  143. package/packages/steps/index.js +5 -5
  144. package/packages/steps/src/main.vue +181 -181
  145. package/packages/switch/index.js +5 -5
  146. package/packages/switch/src/main.vue +170 -170
  147. package/packages/table-form/index.js +5 -5
  148. package/packages/tabs/index.js +5 -5
  149. package/packages/tabs/src/main.vue +788 -788
  150. package/packages/tabs-panel/index.js +5 -5
  151. package/packages/tabs-panel/src/main.vue +29 -29
  152. package/packages/theme-chalk/src/base.scss +261 -261
  153. package/packages/theme-chalk/src/button-group.scss +176 -176
  154. package/packages/theme-chalk/src/button.scss +24 -24
  155. package/packages/theme-chalk/src/calendar.scss +113 -113
  156. package/packages/theme-chalk/src/card.scss +99 -99
  157. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  158. package/packages/theme-chalk/src/clients.scss +87 -87
  159. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  160. package/packages/theme-chalk/src/data-table.scss +297 -297
  161. package/packages/theme-chalk/src/date-picker.scss +7 -7
  162. package/packages/theme-chalk/src/dialog.scss +77 -77
  163. package/packages/theme-chalk/src/enable-drag.scss +181 -181
  164. package/packages/theme-chalk/src/enterprise.scss +5 -5
  165. package/packages/theme-chalk/src/error-page.scss +18 -18
  166. package/packages/theme-chalk/src/flow-group.scss +110 -110
  167. package/packages/theme-chalk/src/flow-list.scss +39 -39
  168. package/packages/theme-chalk/src/flow.scss +351 -351
  169. package/packages/theme-chalk/src/form.scss +501 -501
  170. package/packages/theme-chalk/src/handle-user.scss +40 -40
  171. package/packages/theme-chalk/src/handler.scss +148 -148
  172. package/packages/theme-chalk/src/icon.scss +1608 -1608
  173. package/packages/theme-chalk/src/icons.scss +99 -99
  174. package/packages/theme-chalk/src/input.scss +9 -9
  175. package/packages/theme-chalk/src/label.scss +24 -24
  176. package/packages/theme-chalk/src/layout.scss +46 -46
  177. package/packages/theme-chalk/src/login.scss +1006 -1006
  178. package/packages/theme-chalk/src/main.scss +663 -663
  179. package/packages/theme-chalk/src/menu.scss +224 -224
  180. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  181. package/packages/theme-chalk/src/nav.scss +111 -111
  182. package/packages/theme-chalk/src/page.scss +3 -3
  183. package/packages/theme-chalk/src/pagination.scss +29 -29
  184. package/packages/theme-chalk/src/player.scss +9 -9
  185. package/packages/theme-chalk/src/qr-code.scss +17 -17
  186. package/packages/theme-chalk/src/radio-group.scss +9 -9
  187. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  188. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  189. package/packages/theme-chalk/src/select.scss +8 -8
  190. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  191. package/packages/theme-chalk/src/selector.scss +114 -114
  192. package/packages/theme-chalk/src/simplicity.scss +1403 -1403
  193. package/packages/theme-chalk/src/sizer.scss +36 -36
  194. package/packages/theme-chalk/src/steps.scss +88 -88
  195. package/packages/theme-chalk/src/switch.scss +3 -3
  196. package/packages/theme-chalk/src/table-form.scss +1 -1
  197. package/packages/theme-chalk/src/tabs.scss +87 -87
  198. package/packages/theme-chalk/src/tips.scss +7 -7
  199. package/packages/theme-chalk/src/toolbar.scss +179 -179
  200. package/packages/theme-chalk/src/tree-group.scss +72 -72
  201. package/packages/theme-chalk/src/tree.scss +165 -165
  202. package/packages/theme-chalk/src/upload.scss +172 -172
  203. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  204. package/packages/tips/index.js +5 -5
  205. package/packages/tips/src/main.vue +141 -141
  206. package/packages/toolbar/index.js +5 -5
  207. package/packages/toolbar/src/main.vue +430 -430
  208. package/packages/tree/index.js +5 -5
  209. package/packages/tree-group/index.js +5 -5
  210. package/packages/upload/index.js +5 -5
  211. package/packages/upload/src/main.vue +1344 -1344
  212. package/packages/upload/src/picture.js +15 -15
  213. package/packages/wujie/index.js +5 -5
  214. package/packages/wujie/src/main.vue +145 -145
  215. package/packages/wxlogin/index.js +5 -5
  216. package/packages/wxlogin/src/main.vue +128 -128
  217. package/src/config/api.js +317 -317
  218. package/src/config/image.js +2 -2
  219. package/src/index.js +163 -163
  220. package/src/utils/bus.js +3 -3
  221. package/src/utils/date-util.js +312 -312
  222. package/src/utils/http.js +50 -50
  223. package/src/utils/rules.js +18 -18
  224. package/src/utils/store.js +21 -21
  225. package/src/utils/webSocket.js +107 -107
  226. package/packages/.DS_Store +0 -0
  227. package/packages/calogin/.DS_Store +0 -0
  228. package/packages/date-picker/.DS_Store +0 -0
  229. package/packages/date-picker/src/.DS_Store +0 -0
  230. package/packages/dialog/.DS_Store +0 -0
  231. package/packages/flow/.DS_Store +0 -0
  232. package/packages/flow/src/.DS_Store +0 -0
  233. package/packages/flow-list/.DS_Store +0 -0
  234. package/packages/form/.DS_Store +0 -0
  235. package/packages/icon/.DS_Store +0 -0
  236. package/packages/login/.DS_Store +0 -0
  237. package/packages/main/.DS_Store +0 -0
  238. package/packages/main/src/.DS_Store +0 -0
  239. package/packages/menu/.DS_Store +0 -0
  240. package/packages/select/.DS_Store +0 -0
  241. package/packages/selector/.DS_Store +0 -0
  242. package/packages/selector-panel/.DS_Store +0 -0
  243. package/packages/theme-chalk/src/.DS_Store +0 -0
  244. package/packages/upload/.DS_Store +0 -0
  245. package/src/.DS_Store +0 -0
  246. package/src/utils/.DS_Store +0 -0
@@ -1,557 +1,557 @@
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: '0',
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
- this.activeIndex = types[0];
372
- }
373
- } else {
374
- this.activeIndex = '0';
375
- }
376
- },
377
- destroyed() {
378
- clearInterval(this.timer);
379
- },
380
- methods: {
381
- // 密码再次验证
382
- reregExpValidate(rule, value, callback) {
383
- if (value != this.formData.password) {
384
- callback(new Error('两次密码不一致'));
385
- } else {
386
- callback();
387
- }
388
- },
389
- getInitModifyPassword() {
390
- util
391
- .ajax({
392
- url: initModifyPassword
393
- })
394
- .then((res) => {
395
- if (res.rCode === 0) {
396
- const results = JSON.parse(JSON.stringify(res.results));
397
- if (results.checkPassword) {
398
- this.checkPassword = new RegExp(results.checkPassword);
399
- }
400
- if (results.checkPasswordMsg) {
401
- this.checkPasswordMsg = results.checkPasswordMsg;
402
- }
403
- } else {
404
- let msg = res.msg || '系统错误,请联系管理员!';
405
- this.$message.error(msg);
406
- }
407
- })
408
- .catch((err) => {
409
- if (err.message && err.message !== 'canceled') {
410
- this.$message.error(err.message);
411
- }
412
- });
413
- },
414
- getVerificationCode() {
415
- if (this.countdown) {
416
- return false;
417
- }
418
- if (!this.formData.target) {
419
- this.$refs.pwdForm.validateField('target');
420
- return false;
421
- } else {
422
- let flag = false;
423
- this.$refs.pwdForm.validateField('target', (res) => {
424
- flag = res != '';
425
- });
426
- if (flag) {
427
- return false;
428
- }
429
- let data = {
430
- target: this.formData.target,
431
- targetType: this.activeIndex == '6' ? 'SMS' : 'EMAIL'
432
- };
433
- this.countdown = 60;
434
- this.getCode(data);
435
- this.timer = setInterval(() => {
436
- if (this.countdown > 0) {
437
- this.countdown--;
438
- this.disabled = true;
439
- this.btnText = '重新获取' + this.countdown + 's';
440
- } else {
441
- this.btnText = '获取验证码';
442
- this.disabled = false;
443
- clearInterval(this.timer);
444
- }
445
- }, 1000);
446
- }
447
- },
448
- getCode(params) {
449
- util
450
- .ajax({
451
- url: getModifyPassCode,
452
- params: params
453
- })
454
- .then((res) => {
455
- if (res.rCode === 0) {
456
- this.$message.success(res.msg);
457
- } else {
458
- let msg = res.msg || '系统错误,请联系管理员!';
459
- if (res.rCode === 2) {
460
- this.btnText = '获取验证码';
461
- this.disabled = false;
462
- this.countdown = 0;
463
- clearInterval(this.timer);
464
- }
465
- this.$message.error(msg);
466
- }
467
- })
468
- .catch((err) => {
469
- if (err.message && err.message !== 'canceled') {
470
- this.$message.error(err.message);
471
- }
472
- });
473
- },
474
- handleSubmit(res) {
475
- this.submit = true;
476
- let { repassword, ...data } = res;
477
- if (this.secret && this.isEncrypt) {
478
- data.password = util.esmEncrypt({
479
- data: data.password,
480
- key: this.secret
481
- });
482
- if (data.oldPassword) {
483
- data.oldPassword = util.esmEncrypt({
484
- data: data.oldPassword,
485
- key: this.secret
486
- });
487
- }
488
- }
489
- if (this.activeIndex == '0') {
490
- data.operationCheckCode = this.operationCheckCode;
491
- util
492
- .ajax({
493
- method: 'post',
494
- url: loginModifyPassword,
495
- data: data
496
- })
497
- .then((res) => {
498
- this.submit = false;
499
- if (res.rCode === 0) {
500
- this.$message.success(res.msg);
501
- this.$emit('success');
502
- } else {
503
- let msg = res.msg || '系统错误,请联系管理员!';
504
- this.$message.error(msg);
505
- this.disabled = false;
506
- delete this.formData.verificationCode;
507
- clearInterval(this.timer);
508
- }
509
- })
510
- .catch((err) => {
511
- if (err.message && err.message !== 'canceled') {
512
- this.$message.error(err.message);
513
- }
514
- });
515
- } else {
516
- if (this.activeIndex == '6') {
517
- data.targetType = 'SMS';
518
- } else {
519
- data.targetType = 'EMAIL';
520
- }
521
- util
522
- .ajax({
523
- method: 'post',
524
- url: codeModifyPass,
525
- data: data
526
- })
527
- .then((res) => {
528
- this.submit = false;
529
- if (res.rCode === 0) {
530
- this.$message.success(res.msg);
531
- this.$emit('success');
532
- } else {
533
- let msg = res.msg || '系统错误,请联系管理员!';
534
- this.btnText = '获取验证码';
535
- this.disabled = false;
536
- clearInterval(this.timer);
537
- delete this.formData.verificationCode;
538
- this.$message.error(msg);
539
- }
540
- })
541
- .catch((err) => {
542
- if (err.message && err.message !== 'canceled') {
543
- this.$message.error(err.message);
544
- }
545
- });
546
- }
547
- },
548
- handleSelect(res) {
549
- this.$refs.pwdForm.resetFields();
550
- this.activeIndex = res;
551
- this.btnText = '获取验证码';
552
- this.disabled = false;
553
- clearInterval(this.timer);
554
- }
555
- }
556
- };
557
- </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: '0',
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
+ this.activeIndex = types[0];
372
+ }
373
+ } else {
374
+ this.activeIndex = '0';
375
+ }
376
+ },
377
+ destroyed() {
378
+ clearInterval(this.timer);
379
+ },
380
+ methods: {
381
+ // 密码再次验证
382
+ reregExpValidate(rule, value, callback) {
383
+ if (value != this.formData.password) {
384
+ callback(new Error('两次密码不一致'));
385
+ } else {
386
+ callback();
387
+ }
388
+ },
389
+ getInitModifyPassword() {
390
+ util
391
+ .ajax({
392
+ url: initModifyPassword
393
+ })
394
+ .then((res) => {
395
+ if (res.rCode === 0) {
396
+ const results = JSON.parse(JSON.stringify(res.results));
397
+ if (results.checkPassword) {
398
+ this.checkPassword = new RegExp(results.checkPassword);
399
+ }
400
+ if (results.checkPasswordMsg) {
401
+ this.checkPasswordMsg = results.checkPasswordMsg;
402
+ }
403
+ } else {
404
+ let msg = res.msg || '系统错误,请联系管理员!';
405
+ this.$message.error(msg);
406
+ }
407
+ })
408
+ .catch((err) => {
409
+ if (err.message && err.message !== 'canceled') {
410
+ this.$message.error(err.message);
411
+ }
412
+ });
413
+ },
414
+ getVerificationCode() {
415
+ if (this.countdown) {
416
+ return false;
417
+ }
418
+ if (!this.formData.target) {
419
+ this.$refs.pwdForm.validateField('target');
420
+ return false;
421
+ } else {
422
+ let flag = false;
423
+ this.$refs.pwdForm.validateField('target', (res) => {
424
+ flag = res != '';
425
+ });
426
+ if (flag) {
427
+ return false;
428
+ }
429
+ let data = {
430
+ target: this.formData.target,
431
+ targetType: this.activeIndex == '6' ? 'SMS' : 'EMAIL'
432
+ };
433
+ this.countdown = 60;
434
+ this.getCode(data);
435
+ this.timer = setInterval(() => {
436
+ if (this.countdown > 0) {
437
+ this.countdown--;
438
+ this.disabled = true;
439
+ this.btnText = '重新获取' + this.countdown + 's';
440
+ } else {
441
+ this.btnText = '获取验证码';
442
+ this.disabled = false;
443
+ clearInterval(this.timer);
444
+ }
445
+ }, 1000);
446
+ }
447
+ },
448
+ getCode(params) {
449
+ util
450
+ .ajax({
451
+ url: getModifyPassCode,
452
+ params: params
453
+ })
454
+ .then((res) => {
455
+ if (res.rCode === 0) {
456
+ this.$message.success(res.msg);
457
+ } else {
458
+ let msg = res.msg || '系统错误,请联系管理员!';
459
+ if (res.rCode === 2) {
460
+ this.btnText = '获取验证码';
461
+ this.disabled = false;
462
+ this.countdown = 0;
463
+ clearInterval(this.timer);
464
+ }
465
+ this.$message.error(msg);
466
+ }
467
+ })
468
+ .catch((err) => {
469
+ if (err.message && err.message !== 'canceled') {
470
+ this.$message.error(err.message);
471
+ }
472
+ });
473
+ },
474
+ handleSubmit(res) {
475
+ this.submit = true;
476
+ let { repassword, ...data } = res;
477
+ if (this.secret && this.isEncrypt) {
478
+ data.password = util.esmEncrypt({
479
+ data: data.password,
480
+ key: this.secret
481
+ });
482
+ if (data.oldPassword) {
483
+ data.oldPassword = util.esmEncrypt({
484
+ data: data.oldPassword,
485
+ key: this.secret
486
+ });
487
+ }
488
+ }
489
+ if (this.activeIndex == '0') {
490
+ data.operationCheckCode = this.operationCheckCode;
491
+ util
492
+ .ajax({
493
+ method: 'post',
494
+ url: loginModifyPassword,
495
+ data: data
496
+ })
497
+ .then((res) => {
498
+ this.submit = false;
499
+ if (res.rCode === 0) {
500
+ this.$message.success(res.msg);
501
+ this.$emit('success');
502
+ } else {
503
+ let msg = res.msg || '系统错误,请联系管理员!';
504
+ this.$message.error(msg);
505
+ this.disabled = false;
506
+ delete this.formData.verificationCode;
507
+ clearInterval(this.timer);
508
+ }
509
+ })
510
+ .catch((err) => {
511
+ if (err.message && err.message !== 'canceled') {
512
+ this.$message.error(err.message);
513
+ }
514
+ });
515
+ } else {
516
+ if (this.activeIndex == '6') {
517
+ data.targetType = 'SMS';
518
+ } else {
519
+ data.targetType = 'EMAIL';
520
+ }
521
+ util
522
+ .ajax({
523
+ method: 'post',
524
+ url: codeModifyPass,
525
+ data: data
526
+ })
527
+ .then((res) => {
528
+ this.submit = false;
529
+ if (res.rCode === 0) {
530
+ this.$message.success(res.msg);
531
+ this.$emit('success');
532
+ } else {
533
+ let msg = res.msg || '系统错误,请联系管理员!';
534
+ this.btnText = '获取验证码';
535
+ this.disabled = false;
536
+ clearInterval(this.timer);
537
+ delete this.formData.verificationCode;
538
+ this.$message.error(msg);
539
+ }
540
+ })
541
+ .catch((err) => {
542
+ if (err.message && err.message !== 'canceled') {
543
+ this.$message.error(err.message);
544
+ }
545
+ });
546
+ }
547
+ },
548
+ handleSelect(res) {
549
+ this.$refs.pwdForm.resetFields();
550
+ this.activeIndex = res;
551
+ this.btnText = '获取验证码';
552
+ this.disabled = false;
553
+ clearInterval(this.timer);
554
+ }
555
+ }
556
+ };
557
+ </script>