eoss-ui 0.6.76 → 0.6.78

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