eoss-ui 0.6.49 → 0.6.51

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 (240) hide show
  1. package/lib/eoss-ui.common.js +553 -516
  2. package/lib/flow-list.js +81 -81
  3. package/lib/flow.js +321 -284
  4. package/lib/index.js +1 -1
  5. package/lib/main.js +132 -132
  6. package/lib/qr-code.js +13 -13
  7. package/lib/theme-chalk/index.css +1 -1
  8. package/lib/theme-chalk/main.css +1 -1
  9. package/package.json +159 -159
  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 +298 -298
  14. package/packages/calendar/index.js +5 -5
  15. package/packages/card/index.js +5 -5
  16. package/packages/card/src/main.vue +156 -156
  17. package/packages/cascader/index.js +5 -5
  18. package/packages/cascader/src/main.vue +168 -168
  19. package/packages/checkbox-group/index.js +5 -5
  20. package/packages/checkbox-group/src/main.vue +333 -333
  21. package/packages/clients/index.js +5 -5
  22. package/packages/clients/src/main.vue +144 -144
  23. package/packages/data-table/index.js +5 -5
  24. package/packages/data-table/src/children.vue +39 -39
  25. package/packages/data-table/src/column.vue +989 -989
  26. package/packages/data-table/src/main.vue +1822 -1822
  27. package/packages/data-table/src/sizer.vue +195 -195
  28. package/packages/data-table-form/index.js +5 -5
  29. package/packages/data-table-form/src/checkbox.vue +101 -101
  30. package/packages/data-table-form/src/colgroup.vue +17 -17
  31. package/packages/data-table-form/src/main.vue +181 -181
  32. package/packages/data-table-form/src/radio.vue +65 -65
  33. package/packages/data-table-form/src/table.vue +233 -233
  34. package/packages/data-table-form/src/tbody.vue +336 -336
  35. package/packages/data-table-form/src/thead.vue +68 -68
  36. package/packages/date-picker/index.js +5 -5
  37. package/packages/date-picker/src/main.vue +236 -236
  38. package/packages/dialog/index.js +5 -5
  39. package/packages/enable-drag/index.js +5 -5
  40. package/packages/enterprise/index.js +5 -5
  41. package/packages/enterprise/src/main.vue +66 -66
  42. package/packages/error-page/index.js +5 -5
  43. package/packages/error-page/src/main.vue +44 -44
  44. package/packages/flow/index.js +5 -5
  45. package/packages/flow/src/component/CommonOpinions.vue +345 -345
  46. package/packages/flow/src/component/CustomPreset.vue +322 -322
  47. package/packages/flow/src/component/FileList.vue +99 -99
  48. package/packages/flow/src/component/Preset.vue +255 -255
  49. package/packages/flow/src/component/SendMsg.vue +229 -229
  50. package/packages/flow/src/component/TimeLimit.vue +190 -190
  51. package/packages/flow/src/component/taskUnionExamine.vue +611 -611
  52. package/packages/flow/src/form.vue +121 -121
  53. package/packages/flow/src/freeStartFlow.vue +2843 -2843
  54. package/packages/flow/src/main.vue +3131 -3107
  55. package/packages/flow/src/processForm.vue +1031 -1031
  56. package/packages/flow/src/processReject.vue +293 -293
  57. package/packages/flow/src/reset.vue +902 -902
  58. package/packages/flow/src/startTaskRead.vue +597 -597
  59. package/packages/flow/src/supervise.vue +138 -138
  60. package/packages/flow/src/table.vue +58 -58
  61. package/packages/flow-group/index.js +5 -5
  62. package/packages/flow-group/src/main.vue +688 -688
  63. package/packages/flow-list/index.js +5 -5
  64. package/packages/flow-list/src/main.vue +1411 -1411
  65. package/packages/form/index.js +5 -5
  66. package/packages/form/src/main.vue +3583 -3583
  67. package/packages/form/src/table.vue +1426 -1426
  68. package/packages/handle-user/index.js +5 -5
  69. package/packages/handle-user/src/main.vue +138 -138
  70. package/packages/handler/index.js +5 -5
  71. package/packages/handler/src/main.vue +493 -493
  72. package/packages/icon/index.js +5 -5
  73. package/packages/icon/src/main.vue +101 -101
  74. package/packages/icons/index.js +5 -5
  75. package/packages/icons/src/main.vue +81 -81
  76. package/packages/input/index.js +5 -5
  77. package/packages/input/src/main.vue +356 -356
  78. package/packages/input-number/index.js +5 -5
  79. package/packages/input-number/src/main.vue +106 -106
  80. package/packages/label/index.js +5 -5
  81. package/packages/label/src/main.vue +457 -457
  82. package/packages/layout/index.js +5 -5
  83. package/packages/layout/src/item.vue +152 -152
  84. package/packages/layout/src/main.vue +31 -31
  85. package/packages/login/index.js +5 -5
  86. package/packages/login/src/main.vue +1935 -1935
  87. package/packages/login/src/resetPassword.vue +562 -562
  88. package/packages/main/index.js +5 -5
  89. package/packages/main/src/default/message.vue +249 -249
  90. package/packages/main/src/default/notice.vue +157 -157
  91. package/packages/main/src/default/userinfo.vue +503 -503
  92. package/packages/main/src/public/online.vue +89 -89
  93. package/packages/main/src/public/search.vue +461 -461
  94. package/packages/main/src/public/settings.vue +221 -221
  95. package/packages/main/src/simplicity/apps.vue +388 -388
  96. package/packages/main/src/simplicity/avatar.vue +82 -82
  97. package/packages/main/src/simplicity/handler.vue +259 -259
  98. package/packages/main/src/simplicity/index.vue +2064 -2064
  99. package/packages/main/src/simplicity/lists.vue +84 -84
  100. package/packages/main/src/simplicity/menu-list.vue +128 -128
  101. package/packages/main/src/simplicity/message.vue +259 -259
  102. package/packages/main/src/simplicity/notice.vue +190 -190
  103. package/packages/main/src/simplicity/router-page.vue +45 -45
  104. package/packages/main/src/simplicity/sub-menu.vue +241 -241
  105. package/packages/main/src/simplicity/user.vue +257 -257
  106. package/packages/main/src/simplicity/userinfo.vue +312 -312
  107. package/packages/menu/index.js +5 -5
  108. package/packages/menu/src/main.vue +536 -536
  109. package/packages/nav/index.js +5 -5
  110. package/packages/nav/src/main.vue +351 -351
  111. package/packages/notify/index.js +5 -5
  112. package/packages/notify/src/main.vue +538 -538
  113. package/packages/page/index.js +5 -5
  114. package/packages/page/src/main.vue +167 -167
  115. package/packages/pagination/index.js +5 -5
  116. package/packages/pagination/src/main.vue +96 -96
  117. package/packages/player/index.js +5 -5
  118. package/packages/player/src/main.vue +194 -194
  119. package/packages/qr-code/index.js +5 -5
  120. package/packages/qr-code/src/main.vue +170 -170
  121. package/packages/radio-group/index.js +6 -6
  122. package/packages/radio-group/src/main.vue +319 -319
  123. package/packages/retrial-auth/index.js +5 -5
  124. package/packages/retrial-auth/src/main.vue +280 -280
  125. package/packages/select/index.js +5 -5
  126. package/packages/select/src/main.vue +775 -775
  127. package/packages/select-ganged/index.js +5 -5
  128. package/packages/select-ganged/src/main.vue +724 -724
  129. package/packages/selector/index.js +5 -5
  130. package/packages/selector/src/main.vue +687 -687
  131. package/packages/selector-panel/index.js +5 -5
  132. package/packages/selector-panel/src/main.vue +1027 -1027
  133. package/packages/selector-panel/src/selection.vue +177 -177
  134. package/packages/selector-panel/src/tree.vue +129 -129
  135. package/packages/sizer/index.js +5 -5
  136. package/packages/sizer/src/main.vue +254 -254
  137. package/packages/steps/index.js +5 -5
  138. package/packages/steps/src/main.vue +181 -181
  139. package/packages/switch/index.js +5 -5
  140. package/packages/switch/src/main.vue +154 -154
  141. package/packages/table-form/index.js +5 -5
  142. package/packages/tabs/index.js +5 -5
  143. package/packages/tabs/src/main.vue +788 -788
  144. package/packages/tabs-panel/index.js +5 -5
  145. package/packages/tabs-panel/src/main.vue +29 -29
  146. package/packages/theme-chalk/lib/index.css +1 -1
  147. package/packages/theme-chalk/lib/main.css +1 -1
  148. package/packages/theme-chalk/src/base.scss +260 -260
  149. package/packages/theme-chalk/src/button-group.scss +175 -175
  150. package/packages/theme-chalk/src/button.scss +24 -24
  151. package/packages/theme-chalk/src/calendar.scss +113 -113
  152. package/packages/theme-chalk/src/card.scss +99 -99
  153. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  154. package/packages/theme-chalk/src/clients.scss +87 -87
  155. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  156. package/packages/theme-chalk/src/data-table.scss +293 -293
  157. package/packages/theme-chalk/src/date-picker.scss +7 -7
  158. package/packages/theme-chalk/src/dialog.scss +77 -77
  159. package/packages/theme-chalk/src/enable-drag.scss +181 -181
  160. package/packages/theme-chalk/src/enterprise.scss +5 -5
  161. package/packages/theme-chalk/src/error-page.scss +18 -18
  162. package/packages/theme-chalk/src/flow-group.scss +110 -110
  163. package/packages/theme-chalk/src/flow-list.scss +36 -36
  164. package/packages/theme-chalk/src/flow.scss +335 -335
  165. package/packages/theme-chalk/src/form.scss +496 -496
  166. package/packages/theme-chalk/src/handle-user.scss +40 -40
  167. package/packages/theme-chalk/src/handler.scss +143 -143
  168. package/packages/theme-chalk/src/icon.scss +1789 -1789
  169. package/packages/theme-chalk/src/icons.scss +99 -99
  170. package/packages/theme-chalk/src/input.scss +9 -9
  171. package/packages/theme-chalk/src/label.scss +24 -24
  172. package/packages/theme-chalk/src/layout.scss +46 -46
  173. package/packages/theme-chalk/src/login.scss +969 -969
  174. package/packages/theme-chalk/src/main.scss +663 -656
  175. package/packages/theme-chalk/src/menu.scss +222 -222
  176. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  177. package/packages/theme-chalk/src/nav.scss +111 -111
  178. package/packages/theme-chalk/src/page.scss +3 -3
  179. package/packages/theme-chalk/src/pagination.scss +29 -29
  180. package/packages/theme-chalk/src/player.scss +9 -9
  181. package/packages/theme-chalk/src/qr-code.scss +17 -17
  182. package/packages/theme-chalk/src/radio-group.scss +9 -9
  183. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  184. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  185. package/packages/theme-chalk/src/select.scss +8 -8
  186. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  187. package/packages/theme-chalk/src/selector.scss +91 -91
  188. package/packages/theme-chalk/src/simplicity.scss +1265 -1265
  189. package/packages/theme-chalk/src/sizer.scss +36 -36
  190. package/packages/theme-chalk/src/steps.scss +88 -88
  191. package/packages/theme-chalk/src/switch.scss +3 -3
  192. package/packages/theme-chalk/src/table-form.scss +1 -1
  193. package/packages/theme-chalk/src/tabs.scss +87 -87
  194. package/packages/theme-chalk/src/tips.scss +7 -7
  195. package/packages/theme-chalk/src/toolbar.scss +179 -179
  196. package/packages/theme-chalk/src/tree-group.scss +72 -72
  197. package/packages/theme-chalk/src/tree.scss +165 -165
  198. package/packages/theme-chalk/src/upload.scss +167 -167
  199. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  200. package/packages/tips/index.js +5 -5
  201. package/packages/tips/src/main.vue +141 -141
  202. package/packages/toolbar/index.js +5 -5
  203. package/packages/toolbar/src/main.vue +430 -430
  204. package/packages/tree/index.js +5 -5
  205. package/packages/tree-group/index.js +5 -5
  206. package/packages/upload/index.js +5 -5
  207. package/packages/upload/src/main.vue +1335 -1335
  208. package/packages/upload/src/picture.js +15 -15
  209. package/packages/wujie/index.js +5 -5
  210. package/packages/wujie/src/main.vue +145 -145
  211. package/packages/wxlogin/index.js +5 -5
  212. package/packages/wxlogin/src/main.vue +128 -128
  213. package/src/config/api.js +281 -281
  214. package/src/config/image.js +2 -2
  215. package/src/index.js +160 -160
  216. package/src/utils/bus.js +3 -3
  217. package/src/utils/date-util.js +312 -312
  218. package/src/utils/http.js +50 -50
  219. package/src/utils/rules.js +18 -18
  220. package/src/utils/store.js +21 -21
  221. package/src/utils/webSocket.js +107 -107
  222. package/packages/.DS_Store +0 -0
  223. package/packages/data-table/.DS_Store +0 -0
  224. package/packages/data-table-form/.DS_Store +0 -0
  225. package/packages/error-page/.DS_Store +0 -0
  226. package/packages/flow/.DS_Store +0 -0
  227. package/packages/flow-group/.DS_Store +0 -0
  228. package/packages/form/.DS_Store +0 -0
  229. package/packages/handler/.DS_Store +0 -0
  230. package/packages/login/.DS_Store +0 -0
  231. package/packages/main/.DS_Store +0 -0
  232. package/packages/main/src/.DS_Store +0 -0
  233. package/packages/retrial-auth/.DS_Store +0 -0
  234. package/packages/selector/.DS_Store +0 -0
  235. package/packages/selector-panel/.DS_Store +0 -0
  236. package/packages/sizer/.DS_Store +0 -0
  237. package/packages/tabs/.DS_Store +0 -0
  238. package/packages/theme-chalk/src/.DS_Store +0 -0
  239. package/packages/upload/.DS_Store +0 -0
  240. package/src/.DS_Store +0 -0
@@ -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>