eoss-ui 0.6.47 → 0.6.49

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