eoss-ui 0.7.27 → 0.7.28

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 (280) hide show
  1. package/lib/button-group.js +0 -6
  2. package/lib/button.js +0 -6
  3. package/lib/calogin.js +233 -239
  4. package/lib/checkbox-group.js +0 -6
  5. package/lib/data-table-form.js +0 -6
  6. package/lib/data-table.js +12 -14
  7. package/lib/date-picker.js +0 -6
  8. package/lib/dialog.js +0 -6
  9. package/lib/eoss-ui.common.js +1236 -1141
  10. package/lib/flow-group.js +3 -9
  11. package/lib/flow-list.js +81 -87
  12. package/lib/flow.js +293 -296
  13. package/lib/form.js +0 -6
  14. package/lib/handle-user.js +0 -6
  15. package/lib/handler.js +0 -6
  16. package/lib/icon.js +0 -6
  17. package/lib/index.js +1 -1
  18. package/lib/input-number.js +0 -6
  19. package/lib/input.js +0 -6
  20. package/lib/login.js +219 -114
  21. package/lib/main.js +370 -393
  22. package/lib/nav.js +0 -6
  23. package/lib/page.js +0 -6
  24. package/lib/pagination.js +0 -6
  25. package/lib/player.js +0 -6
  26. package/lib/qr-code.js +13 -19
  27. package/lib/radio-group.js +0 -6
  28. package/lib/retrial-auth.js +0 -6
  29. package/lib/select-ganged.js +0 -6
  30. package/lib/select.js +0 -6
  31. package/lib/selector-panel.js +0 -6
  32. package/lib/selector.js +0 -6
  33. package/lib/sizer.js +0 -6
  34. package/lib/steps.js +0 -6
  35. package/lib/switch.js +0 -6
  36. package/lib/table-form.js +0 -6
  37. package/lib/tabs.js +0 -6
  38. package/lib/tips.js +0 -6
  39. package/lib/tree-group.js +0 -6
  40. package/lib/tree.js +0 -6
  41. package/lib/upload.js +0 -6
  42. package/lib/utils/util.js +0 -6
  43. package/lib/wujie.js +0 -6
  44. package/lib/wxlogin.js +0 -6
  45. package/package.json +160 -160
  46. package/packages/.DS_Store +0 -0
  47. package/packages/button/index.js +5 -5
  48. package/packages/button/src/main.vue +418 -418
  49. package/packages/button-group/index.js +5 -5
  50. package/packages/button-group/src/main.vue +346 -346
  51. package/packages/calendar/index.js +5 -5
  52. package/packages/calogin/.DS_Store +0 -0
  53. package/packages/calogin/index.js +5 -5
  54. package/packages/calogin/src/main.vue +412 -412
  55. package/packages/calogin/src/plugin.js +915 -915
  56. package/packages/card/index.js +5 -5
  57. package/packages/card/src/main.vue +156 -156
  58. package/packages/cascader/index.js +5 -5
  59. package/packages/cascader/src/main.vue +168 -168
  60. package/packages/checkbox-group/index.js +5 -5
  61. package/packages/checkbox-group/src/main.vue +333 -333
  62. package/packages/clients/index.js +5 -5
  63. package/packages/clients/src/main.vue +151 -151
  64. package/packages/data-table/index.js +5 -5
  65. package/packages/data-table/src/children.vue +39 -39
  66. package/packages/data-table/src/column.vue +992 -988
  67. package/packages/data-table/src/main.vue +1831 -1831
  68. package/packages/data-table/src/sizer.vue +195 -195
  69. package/packages/data-table-form/index.js +5 -5
  70. package/packages/data-table-form/src/checkbox.vue +101 -101
  71. package/packages/data-table-form/src/colgroup.vue +17 -17
  72. package/packages/data-table-form/src/main.vue +181 -181
  73. package/packages/data-table-form/src/radio.vue +65 -65
  74. package/packages/data-table-form/src/table.vue +233 -233
  75. package/packages/data-table-form/src/tbody.vue +336 -336
  76. package/packages/data-table-form/src/thead.vue +68 -68
  77. package/packages/date-picker/.DS_Store +0 -0
  78. package/packages/date-picker/index.js +5 -5
  79. package/packages/date-picker/src/.DS_Store +0 -0
  80. package/packages/date-picker/src/main.vue +236 -236
  81. package/packages/dialog/index.js +5 -5
  82. package/packages/enable-drag/index.js +5 -5
  83. package/packages/enterprise/index.js +5 -5
  84. package/packages/enterprise/src/main.vue +66 -66
  85. package/packages/error-page/index.js +5 -5
  86. package/packages/error-page/src/main.vue +44 -44
  87. package/packages/flow/.DS_Store +0 -0
  88. package/packages/flow/index.js +5 -5
  89. package/packages/flow/src/.DS_Store +0 -0
  90. package/packages/flow/src/component/Circulate.vue +413 -413
  91. package/packages/flow/src/component/CommonOpinions.vue +373 -373
  92. package/packages/flow/src/component/CustomPreset.vue +322 -322
  93. package/packages/flow/src/component/FileList.vue +97 -97
  94. package/packages/flow/src/component/FreeCirculation.vue +240 -240
  95. package/packages/flow/src/component/Preset.vue +255 -255
  96. package/packages/flow/src/component/SendMsg.vue +242 -242
  97. package/packages/flow/src/component/TimeLimit.vue +190 -190
  98. package/packages/flow/src/component/taskUnionExamine.vue +755 -755
  99. package/packages/flow/src/form.vue +121 -121
  100. package/packages/flow/src/freeStartFlow.vue +2847 -2847
  101. package/packages/flow/src/main.vue +3853 -3854
  102. package/packages/flow/src/processForm.vue +1363 -1363
  103. package/packages/flow/src/processReject.vue +309 -309
  104. package/packages/flow/src/reset.vue +941 -941
  105. package/packages/flow/src/startTaskRead.vue +691 -691
  106. package/packages/flow/src/supervise.vue +159 -159
  107. package/packages/flow/src/table.vue +58 -58
  108. package/packages/flow-group/index.js +5 -5
  109. package/packages/flow-group/src/main.vue +717 -717
  110. package/packages/flow-list/.DS_Store +0 -0
  111. package/packages/flow-list/index.js +5 -5
  112. package/packages/flow-list/src/main.vue +1787 -1787
  113. package/packages/form/.DS_Store +0 -0
  114. package/packages/form/index.js +5 -5
  115. package/packages/form/src/main.vue +3901 -3901
  116. package/packages/form/src/table.vue +1512 -1512
  117. package/packages/handle-user/index.js +5 -5
  118. package/packages/handle-user/src/main.vue +137 -137
  119. package/packages/handler/index.js +5 -5
  120. package/packages/handler/src/main.vue +496 -496
  121. package/packages/icon/index.js +5 -5
  122. package/packages/icon/src/main.vue +104 -104
  123. package/packages/icons/index.js +5 -5
  124. package/packages/icons/src/main.vue +81 -81
  125. package/packages/input/index.js +5 -5
  126. package/packages/input/src/main.vue +356 -356
  127. package/packages/input-number/index.js +5 -5
  128. package/packages/input-number/src/main.vue +106 -106
  129. package/packages/label/index.js +5 -5
  130. package/packages/label/src/main.vue +457 -457
  131. package/packages/layout/index.js +5 -5
  132. package/packages/layout/src/item.vue +152 -152
  133. package/packages/layout/src/main.vue +31 -31
  134. package/packages/login/.DS_Store +0 -0
  135. package/packages/login/index.js +5 -5
  136. package/packages/login/src/main.vue +2068 -2020
  137. package/packages/login/src/resetPassword.vue +557 -557
  138. package/packages/main/.DS_Store +0 -0
  139. package/packages/main/index.js +5 -5
  140. package/packages/main/src/.DS_Store +0 -0
  141. package/packages/main/src/default/message.vue +249 -249
  142. package/packages/main/src/default/notice.vue +157 -157
  143. package/packages/main/src/default/userinfo.vue +502 -502
  144. package/packages/main/src/public/online.vue +89 -89
  145. package/packages/main/src/public/search.vue +464 -464
  146. package/packages/main/src/public/settings.vue +221 -221
  147. package/packages/main/src/simplicity/apps.vue +388 -388
  148. package/packages/main/src/simplicity/avatar.vue +82 -82
  149. package/packages/main/src/simplicity/handler.vue +144 -263
  150. package/packages/main/src/simplicity/index.vue +2211 -2135
  151. package/packages/main/src/simplicity/lists.vue +84 -84
  152. package/packages/main/src/simplicity/menu-list.vue +135 -135
  153. package/packages/main/src/simplicity/message.vue +259 -259
  154. package/packages/main/src/simplicity/notice.vue +190 -190
  155. package/packages/main/src/simplicity/router-page.vue +45 -45
  156. package/packages/main/src/simplicity/sub-menu.vue +264 -264
  157. package/packages/main/src/simplicity/user.vue +259 -259
  158. package/packages/main/src/simplicity/userinfo.vue +398 -398
  159. package/packages/menu/.DS_Store +0 -0
  160. package/packages/menu/index.js +5 -5
  161. package/packages/menu/src/main.vue +596 -596
  162. package/packages/nav/index.js +5 -5
  163. package/packages/nav/src/main.vue +351 -351
  164. package/packages/notify/index.js +5 -5
  165. package/packages/notify/src/main.vue +538 -538
  166. package/packages/page/index.js +5 -5
  167. package/packages/page/src/main.vue +167 -167
  168. package/packages/pagination/index.js +5 -5
  169. package/packages/pagination/src/main.vue +96 -96
  170. package/packages/player/index.js +5 -5
  171. package/packages/player/src/main.vue +194 -194
  172. package/packages/qr-code/index.js +5 -5
  173. package/packages/qr-code/src/main.vue +170 -170
  174. package/packages/radio-group/index.js +6 -6
  175. package/packages/radio-group/src/main.vue +319 -319
  176. package/packages/retrial-auth/index.js +5 -5
  177. package/packages/retrial-auth/src/main.vue +280 -280
  178. package/packages/select/.DS_Store +0 -0
  179. package/packages/select/index.js +5 -5
  180. package/packages/select/src/main.vue +782 -782
  181. package/packages/select-ganged/index.js +5 -5
  182. package/packages/select-ganged/src/main.vue +724 -724
  183. package/packages/selector/.DS_Store +0 -0
  184. package/packages/selector/index.js +5 -5
  185. package/packages/selector/src/main.vue +761 -761
  186. package/packages/selector-panel/.DS_Store +0 -0
  187. package/packages/selector-panel/index.js +5 -5
  188. package/packages/selector-panel/src/main.vue +1027 -1027
  189. package/packages/selector-panel/src/selection.vue +170 -170
  190. package/packages/selector-panel/src/tree.vue +129 -129
  191. package/packages/sizer/index.js +5 -5
  192. package/packages/sizer/src/main.vue +254 -254
  193. package/packages/steps/index.js +5 -5
  194. package/packages/steps/src/main.vue +181 -181
  195. package/packages/switch/index.js +5 -5
  196. package/packages/switch/src/main.vue +170 -170
  197. package/packages/table-form/index.js +5 -5
  198. package/packages/tabs/index.js +5 -5
  199. package/packages/tabs/src/main.vue +788 -788
  200. package/packages/tabs-panel/index.js +5 -5
  201. package/packages/tabs-panel/src/main.vue +29 -29
  202. package/packages/theme-chalk/src/.DS_Store +0 -0
  203. package/packages/theme-chalk/src/base.scss +261 -261
  204. package/packages/theme-chalk/src/button-group.scss +176 -176
  205. package/packages/theme-chalk/src/button.scss +24 -24
  206. package/packages/theme-chalk/src/calendar.scss +113 -113
  207. package/packages/theme-chalk/src/card.scss +99 -99
  208. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  209. package/packages/theme-chalk/src/clients.scss +87 -87
  210. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  211. package/packages/theme-chalk/src/data-table.scss +293 -293
  212. package/packages/theme-chalk/src/date-picker.scss +7 -7
  213. package/packages/theme-chalk/src/dialog.scss +77 -77
  214. package/packages/theme-chalk/src/enable-drag.scss +181 -181
  215. package/packages/theme-chalk/src/enterprise.scss +5 -5
  216. package/packages/theme-chalk/src/error-page.scss +18 -18
  217. package/packages/theme-chalk/src/flow-group.scss +110 -110
  218. package/packages/theme-chalk/src/flow-list.scss +39 -39
  219. package/packages/theme-chalk/src/flow.scss +351 -351
  220. package/packages/theme-chalk/src/form.scss +501 -501
  221. package/packages/theme-chalk/src/handle-user.scss +40 -40
  222. package/packages/theme-chalk/src/handler.scss +148 -148
  223. package/packages/theme-chalk/src/icon.scss +1817 -1817
  224. package/packages/theme-chalk/src/icons.scss +99 -99
  225. package/packages/theme-chalk/src/input.scss +9 -9
  226. package/packages/theme-chalk/src/label.scss +24 -24
  227. package/packages/theme-chalk/src/layout.scss +46 -46
  228. package/packages/theme-chalk/src/login.scss +987 -987
  229. package/packages/theme-chalk/src/main.scss +663 -663
  230. package/packages/theme-chalk/src/menu.scss +224 -224
  231. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  232. package/packages/theme-chalk/src/nav.scss +111 -111
  233. package/packages/theme-chalk/src/page.scss +3 -3
  234. package/packages/theme-chalk/src/pagination.scss +29 -29
  235. package/packages/theme-chalk/src/player.scss +9 -9
  236. package/packages/theme-chalk/src/qr-code.scss +17 -17
  237. package/packages/theme-chalk/src/radio-group.scss +9 -9
  238. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  239. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  240. package/packages/theme-chalk/src/select.scss +8 -8
  241. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  242. package/packages/theme-chalk/src/selector.scss +92 -92
  243. package/packages/theme-chalk/src/simplicity.scss +1370 -1370
  244. package/packages/theme-chalk/src/sizer.scss +36 -36
  245. package/packages/theme-chalk/src/steps.scss +88 -88
  246. package/packages/theme-chalk/src/switch.scss +3 -3
  247. package/packages/theme-chalk/src/table-form.scss +1 -1
  248. package/packages/theme-chalk/src/tabs.scss +87 -87
  249. package/packages/theme-chalk/src/tips.scss +7 -7
  250. package/packages/theme-chalk/src/toolbar.scss +179 -179
  251. package/packages/theme-chalk/src/tree-group.scss +72 -72
  252. package/packages/theme-chalk/src/tree.scss +165 -165
  253. package/packages/theme-chalk/src/upload.scss +172 -172
  254. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  255. package/packages/tips/index.js +5 -5
  256. package/packages/tips/src/main.vue +141 -141
  257. package/packages/toolbar/index.js +5 -5
  258. package/packages/toolbar/src/main.vue +430 -430
  259. package/packages/tree/index.js +5 -5
  260. package/packages/tree-group/index.js +5 -5
  261. package/packages/upload/.DS_Store +0 -0
  262. package/packages/upload/index.js +5 -5
  263. package/packages/upload/src/main.vue +1343 -1343
  264. package/packages/upload/src/picture.js +15 -15
  265. package/packages/wujie/index.js +5 -5
  266. package/packages/wujie/src/main.vue +145 -145
  267. package/packages/wxlogin/index.js +5 -5
  268. package/packages/wxlogin/src/main.vue +128 -128
  269. package/src/.DS_Store +0 -0
  270. package/src/config/api.js +315 -315
  271. package/src/config/image.js +2 -2
  272. package/src/index.js +163 -163
  273. package/src/utils/.DS_Store +0 -0
  274. package/src/utils/bus.js +3 -3
  275. package/src/utils/date-util.js +312 -312
  276. package/src/utils/http.js +50 -50
  277. package/src/utils/rules.js +18 -18
  278. package/src/utils/store.js +21 -21
  279. package/src/utils/util.js +0 -6
  280. package/src/utils/webSocket.js +107 -107
@@ -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>