eoss-ui 0.7.83 → 0.7.85

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 (196) hide show
  1. package/lib/button-group.js +144 -120
  2. package/lib/button.js +143 -120
  3. package/lib/calendar.js +2 -2
  4. package/lib/calogin.js +144 -120
  5. package/lib/card.js +2 -2
  6. package/lib/cascader.js +2 -2
  7. package/lib/checkbox-group.js +144 -120
  8. package/lib/clients.js +2 -2
  9. package/lib/config/api.js +7 -1
  10. package/lib/data-table-form.js +144 -120
  11. package/lib/data-table.js +144 -120
  12. package/lib/date-picker.js +143 -120
  13. package/lib/dialog.js +219 -214
  14. package/lib/enable-drag.js +2 -2
  15. package/lib/enterprise.js +2 -2
  16. package/lib/eoss-ui.common.js +2118 -1493
  17. package/lib/error-page.js +2 -2
  18. package/lib/flow-group.js +147 -124
  19. package/lib/flow-list.js +243 -218
  20. package/lib/flow.js +1561 -937
  21. package/lib/form.js +243 -239
  22. package/lib/handle-user.js +144 -121
  23. package/lib/handler.js +148 -125
  24. package/lib/icon.js +144 -121
  25. package/lib/icons.js +5 -5
  26. package/lib/index.js +1 -1
  27. package/lib/input-number.js +143 -120
  28. package/lib/input.js +143 -120
  29. package/lib/label.js +2 -2
  30. package/lib/layout.js +2 -2
  31. package/lib/login.js +154 -130
  32. package/lib/main.js +505 -481
  33. package/lib/menu.js +2 -2
  34. package/lib/nav.js +150 -127
  35. package/lib/notify.js +86 -77
  36. package/lib/page.js +143 -120
  37. package/lib/pagination.js +143 -120
  38. package/lib/player.js +147 -124
  39. package/lib/qr-code.js +145 -122
  40. package/lib/radio-group.js +143 -120
  41. package/lib/retrial-auth.js +144 -121
  42. package/lib/select-ganged.js +143 -120
  43. package/lib/select.js +143 -120
  44. package/lib/selector-panel.js +147 -123
  45. package/lib/selector.js +145 -122
  46. package/lib/sizer.js +143 -120
  47. package/lib/steps.js +150 -127
  48. package/lib/switch.js +143 -120
  49. package/lib/table-form.js +143 -120
  50. package/lib/tabs-panel.js +2 -2
  51. package/lib/tabs.js +143 -120
  52. package/lib/theme-chalk/base.css +1 -1
  53. package/lib/theme-chalk/flow.css +1 -1
  54. package/lib/theme-chalk/fonts/iconfont.ttf +0 -0
  55. package/lib/theme-chalk/fonts/iconfont.woff +0 -0
  56. package/lib/theme-chalk/icon.css +1 -1
  57. package/lib/theme-chalk/index.css +1 -1
  58. package/lib/theme-chalk/login.css +1 -1
  59. package/lib/theme-chalk/main.css +1 -1
  60. package/lib/theme-chalk/menu.css +1 -1
  61. package/lib/theme-chalk/simplicity-top.css +1 -1
  62. package/lib/theme-chalk/simplicity.css +1 -1
  63. package/lib/theme-chalk/sizer.css +1 -1
  64. package/lib/theme-chalk/upload.css +1 -1
  65. package/lib/tips.js +143 -120
  66. package/lib/toolbar.js +2 -2
  67. package/lib/tree-group.js +143 -120
  68. package/lib/tree.js +143 -120
  69. package/lib/upload.js +154 -130
  70. package/lib/utils/util.js +60 -46
  71. package/lib/wujie.js +156 -122
  72. package/lib/wxlogin.js +143 -120
  73. package/package.json +161 -160
  74. package/packages/.DS_Store +0 -0
  75. package/packages/button-group/src/main.vue +346 -346
  76. package/packages/calogin/.DS_Store +0 -0
  77. package/packages/calogin/src/main.vue +412 -412
  78. package/packages/clients/src/main.vue +151 -151
  79. package/packages/data-table/src/column.vue +992 -992
  80. package/packages/data-table/src/main.vue +1840 -1840
  81. package/packages/date-picker/.DS_Store +0 -0
  82. package/packages/date-picker/src/.DS_Store +0 -0
  83. package/packages/dialog/.DS_Store +0 -0
  84. package/packages/flow/.DS_Store +0 -0
  85. package/packages/flow/src/.DS_Store +0 -0
  86. package/packages/flow/src/component/Circulate.vue +417 -417
  87. package/packages/flow/src/component/CommonOpinions.vue +376 -376
  88. package/packages/flow/src/component/CustomPreset.vue +324 -324
  89. package/packages/flow/src/component/FileList.vue +97 -97
  90. package/packages/flow/src/component/FreeCirculation.vue +244 -244
  91. package/packages/flow/src/component/Preset.vue +257 -257
  92. package/packages/flow/src/component/SendMsg.vue +242 -242
  93. package/packages/flow/src/component/SortFlow.vue +110 -0
  94. package/packages/flow/src/component/taskUnionExamine.vue +761 -761
  95. package/packages/flow/src/form.vue +123 -123
  96. package/packages/flow/src/freeStartFlow.vue +2855 -2855
  97. package/packages/flow/src/main.vue +4135 -3948
  98. package/packages/flow/src/processForm.vue +1671 -1523
  99. package/packages/flow/src/processReject.vue +309 -309
  100. package/packages/flow/src/reset.vue +946 -946
  101. package/packages/flow/src/startTaskRead.vue +695 -695
  102. package/packages/flow/src/supervise.vue +159 -159
  103. package/packages/flow/src/table.vue +58 -58
  104. package/packages/flow-group/src/main.vue +727 -727
  105. package/packages/flow-list/.DS_Store +0 -0
  106. package/packages/flow-list/src/main.vue +1803 -1801
  107. package/packages/form/.DS_Store +0 -0
  108. package/packages/form/src/main.vue +3901 -3901
  109. package/packages/form/src/table.vue +1512 -1512
  110. package/packages/handle-user/src/main.vue +137 -137
  111. package/packages/handler/src/main.vue +496 -496
  112. package/packages/icon/.DS_Store +0 -0
  113. package/packages/icon/src/main.vue +104 -104
  114. package/packages/icons/src/icon.json +1 -1
  115. package/packages/login/.DS_Store +0 -0
  116. package/packages/login/src/main.vue +2087 -2087
  117. package/packages/login/src/resetPassword.vue +557 -557
  118. package/packages/main/.DS_Store +0 -0
  119. package/packages/main/src/.DS_Store +0 -0
  120. package/packages/main/src/default/userinfo.vue +503 -503
  121. package/packages/main/src/public/online.vue +89 -89
  122. package/packages/main/src/public/search.vue +464 -464
  123. package/packages/main/src/public/settings.vue +273 -273
  124. package/packages/main/src/simplicity/apps.vue +388 -388
  125. package/packages/main/src/simplicity/avatar.vue +82 -82
  126. package/packages/main/src/simplicity/handler.vue +158 -158
  127. package/packages/main/src/simplicity/index.vue +2328 -2328
  128. package/packages/main/src/simplicity/menu-list.vue +135 -135
  129. package/packages/main/src/simplicity/message.vue +293 -293
  130. package/packages/main/src/simplicity/notice.vue +222 -222
  131. package/packages/main/src/simplicity/sub-menu.vue +276 -276
  132. package/packages/main/src/simplicity/user.vue +259 -259
  133. package/packages/main/src/simplicity/userinfo.vue +401 -401
  134. package/packages/main/src/simplicityTop/apps.vue +388 -388
  135. package/packages/main/src/simplicityTop/avatar.vue +82 -82
  136. package/packages/main/src/simplicityTop/handler.vue +215 -215
  137. package/packages/main/src/simplicityTop/index.vue +2618 -2618
  138. package/packages/main/src/simplicityTop/lists.vue +84 -84
  139. package/packages/main/src/simplicityTop/menu-list.vue +135 -135
  140. package/packages/main/src/simplicityTop/message.vue +293 -293
  141. package/packages/main/src/simplicityTop/notice.vue +222 -222
  142. package/packages/main/src/simplicityTop/router-page.vue +45 -45
  143. package/packages/main/src/simplicityTop/sub-menu.vue +274 -274
  144. package/packages/main/src/simplicityTop/user.vue +259 -259
  145. package/packages/main/src/simplicityTop/userinfo.vue +401 -401
  146. package/packages/menu/.DS_Store +0 -0
  147. package/packages/menu/src/main.vue +595 -595
  148. package/packages/nav/src/main.vue +351 -351
  149. package/packages/select/.DS_Store +0 -0
  150. package/packages/select/src/main.vue +782 -782
  151. package/packages/selector/.DS_Store +0 -0
  152. package/packages/selector/src/main.vue +761 -761
  153. package/packages/selector-panel/.DS_Store +0 -0
  154. package/packages/selector-panel/src/main.vue +1036 -1036
  155. package/packages/selector-panel/src/selection.vue +174 -174
  156. package/packages/switch/src/main.vue +170 -170
  157. package/packages/theme-chalk/lib/base.css +1 -1
  158. package/packages/theme-chalk/lib/flow.css +1 -1
  159. package/packages/theme-chalk/lib/fonts/iconfont.ttf +0 -0
  160. package/packages/theme-chalk/lib/fonts/iconfont.woff +0 -0
  161. package/packages/theme-chalk/lib/icon.css +1 -1
  162. package/packages/theme-chalk/lib/index.css +1 -1
  163. package/packages/theme-chalk/lib/login.css +1 -1
  164. package/packages/theme-chalk/lib/main.css +1 -1
  165. package/packages/theme-chalk/lib/menu.css +1 -1
  166. package/packages/theme-chalk/lib/simplicity-top.css +1 -1
  167. package/packages/theme-chalk/lib/simplicity.css +1 -1
  168. package/packages/theme-chalk/lib/sizer.css +1 -1
  169. package/packages/theme-chalk/lib/upload.css +1 -1
  170. package/packages/theme-chalk/src/.DS_Store +0 -0
  171. package/packages/theme-chalk/src/data-table.scss +297 -297
  172. package/packages/theme-chalk/src/flow.scss +373 -359
  173. package/packages/theme-chalk/src/fonts/iconfont.ttf +0 -0
  174. package/packages/theme-chalk/src/fonts/iconfont.woff +0 -0
  175. package/packages/theme-chalk/src/form.scss +501 -501
  176. package/packages/theme-chalk/src/handler.scss +148 -148
  177. package/packages/theme-chalk/src/icon.scss +3452 -1612
  178. package/packages/theme-chalk/src/login.scss +1006 -1006
  179. package/packages/theme-chalk/src/main.scss +664 -664
  180. package/packages/theme-chalk/src/menu.scss +224 -224
  181. package/packages/theme-chalk/src/selector.scss +114 -114
  182. package/packages/theme-chalk/src/simplicity-top.scss +1845 -1845
  183. package/packages/theme-chalk/src/simplicity.scss +1403 -1403
  184. package/packages/theme-chalk/src/tree.scss +165 -165
  185. package/packages/theme-chalk/src/upload.scss +172 -172
  186. package/packages/tips/src/main.vue +141 -141
  187. package/packages/toolbar/src/main.vue +430 -430
  188. package/packages/upload/.DS_Store +0 -0
  189. package/packages/upload/src/main.vue +1344 -1344
  190. package/packages/wujie/src/main.vue +1 -0
  191. package/src/.DS_Store +0 -0
  192. package/src/config/api.js +340 -334
  193. package/src/index.js +163 -163
  194. package/src/utils/.DS_Store +0 -0
  195. package/src/utils/rules.js +18 -18
  196. package/src/utils/util.js +42 -26
@@ -1,401 +1,401 @@
1
- <template>
2
- <es-form
3
- ref="form"
4
- class="es-user-info"
5
- :validate-on-rule-change="false"
6
- :model="model"
7
- :contents="forms"
8
- :autocomplete="false"
9
- :rules="formRules"
10
- :events="events"
11
- :resetValue="false"
12
- @submit="handleFormSubmit"
13
- >
14
- <template slot="other">
15
- <slot></slot>
16
- </template>
17
- </es-form>
18
- </template>
19
- <script>
20
- import { updateUserInfo } from 'eoss-ui/src/config/api.js';
21
- import util from 'eoss-ui/src/utils/util';
22
-
23
- export default {
24
- name: 'UserInfo',
25
- props: {
26
- secret: {
27
- type: Boolean,
28
- default: true
29
- },
30
- contents: Array,
31
- value: {
32
- type: Object,
33
- default() {
34
- return {};
35
- }
36
- },
37
- rules: {
38
- type: Object,
39
- default() {
40
- return {};
41
- }
42
- },
43
- rules: {
44
- type: Object,
45
- default() {
46
- return {};
47
- }
48
- }
49
- },
50
- data() {
51
- return {
52
- model: this.value,
53
- defaultValues: JSON.parse(JSON.stringify(this.value)),
54
- events: {
55
- oldpassword: {
56
- change: () => {
57
- if (
58
- !this.model.repassword &&
59
- !this.model.oldpassword &&
60
- !this.model.repassword
61
- ) {
62
- this.$refs.form.clearValidate();
63
- }
64
- }
65
- },
66
- password: {
67
- change: () => {
68
- if (
69
- !this.model.repassword &&
70
- !this.model.oldpassword &&
71
- !this.model.repassword
72
- ) {
73
- this.$refs.form.clearValidate();
74
- }
75
- }
76
- },
77
- repassword: {
78
- change: () => {
79
- if (
80
- !this.model.repassword &&
81
- !this.model.oldpassword &&
82
- !this.model.repassword
83
- ) {
84
- this.$refs.form.clearValidate();
85
- }
86
- }
87
- }
88
- }
89
- };
90
- },
91
- computed: {
92
- formRules() {
93
- console.log(this.value);
94
- return {
95
- idCard: [
96
- {
97
- required:
98
- this.defaultValues.idCard !== null &&
99
- this.defaultValues.idCard !== undefined &&
100
- this.defaultValues.idCard !== '',
101
- message: '请输入身份证号',
102
- trigger: 'blur'
103
- },
104
- {
105
- pattern: new RegExp('(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)'),
106
- message: '身份证号不合法',
107
- trigger: 'blur'
108
- }
109
- ],
110
- phone: [
111
- {
112
- required:
113
- this.defaultValues.phone !== null &&
114
- this.defaultValues.phone !== undefined &&
115
- this.defaultValues.phone !== '',
116
- message: '请输入手机号',
117
- trigger: 'blur'
118
- },
119
- {
120
- pattern: new RegExp('^[1][3, 4, 5, 6, 7, 8, 9][0-9]{9}$'),
121
- message: '手机号不合法',
122
- trigger: 'blur'
123
- }
124
- ],
125
- email: [
126
- {
127
- required:
128
- this.defaultValues.email !== null &&
129
- this.defaultValues.email !== undefined &&
130
- this.defaultValues.email !== '',
131
- message: '请输入邮箱地址',
132
- trigger: 'blur'
133
- },
134
- {
135
- type: 'email',
136
- message: '请输入正确的邮箱地址',
137
- trigger: 'blur'
138
- }
139
- ],
140
- officeTel: [
141
- {
142
- required:
143
- this.defaultValues.officeTel !== null &&
144
- this.defaultValues.officeTel !== undefined &&
145
- this.defaultValues.officeTel !== '',
146
- message: '请输入座机号',
147
- trigger: 'blur'
148
- },
149
- {
150
- pattern: new RegExp(
151
- '^(?:\\(?0([1-9]\\d{1,2})\\)?[- ]?)?([2-9]\\d{6,7})$'
152
- ),
153
- message: '座机号不合法',
154
- trigger: 'blur'
155
- }
156
- ],
157
-
158
- oldpassword:
159
- this.model.password || this.model.repassword
160
- ? {
161
- required: true,
162
- message: '请输入旧密码'
163
- }
164
- : {},
165
-
166
- password: [
167
- this.model.repassword || this.model.oldpassword
168
- ? {
169
- required: true,
170
- message: '请输入新密码'
171
- }
172
- : {},
173
- ,
174
- {
175
- pattern: this.checkPassword,
176
- message: this.checkPasswordMsg
177
- ? this.checkPasswordMsg
178
- : '密码格式不合法',
179
- trigger: 'blur'
180
- }
181
- ],
182
- repassword: [
183
- this.model.password || this.model.oldpassword
184
- ? {
185
- required: true,
186
- message: '请再次输入新密码'
187
- }
188
- : {},
189
- { validator: this.repassword, trigger: 'blur' },
190
- this.checkPassword
191
- ? {
192
- pattern: this.checkPassword,
193
- message: this.checkPasswordMsg
194
- ? this.checkPasswordMsg
195
- : '密码格式不合法',
196
- trigger: 'blur'
197
- }
198
- : {}
199
- ],
200
- ...this.rules
201
- };
202
- },
203
- forms() {
204
- return this.contents
205
- ? this.contents
206
- : [
207
- {
208
- name: 'orgName',
209
- label: '所属机构',
210
- type: 'text',
211
- disabled: true,
212
- col: 6
213
- },
214
- {
215
- name: 'depName',
216
- label: '所属部门',
217
- type: 'text',
218
- disabled: true,
219
- col: 6
220
- },
221
- {
222
- name: 'idCard',
223
- label: '身份证号',
224
- type: 'text',
225
- disabled: true,
226
- maxlength: 18,
227
- col: 6
228
- },
229
- {
230
- name: 'outCode',
231
- label: '工号',
232
- type: 'text',
233
- disabled: true,
234
- col: 6
235
- },
236
- {
237
- name: 'phone',
238
- placeholder: '联系电话',
239
- label: '联系电话',
240
- type: 'text',
241
- col: 6
242
- },
243
- {
244
- name: 'email',
245
- placeholder: '电子邮箱',
246
- label: '电子邮箱',
247
- type: 'text',
248
- col: 6
249
- },
250
- {
251
- name: 'officeTel',
252
- placeholder: '座机号',
253
- label: '座机号',
254
- type: 'text',
255
- col: 6
256
- },
257
- {
258
- name: 'oldpassword',
259
- placeholder: '旧密码',
260
- label: '旧密码',
261
- type: 'text',
262
- col: 6
263
- },
264
- {
265
- name: 'password',
266
- placeholder: '新密码',
267
- label: '新密码',
268
- type: 'text',
269
- col: 6
270
- },
271
- {
272
- name: 'repassword',
273
- placeholder: '确认新密码',
274
- label: '确认新密码',
275
- type: 'text',
276
- col: 6
277
- }
278
- ];
279
- },
280
- formKey() {
281
- let keys = this.forms
282
- .filter((item) => {
283
- return (
284
- item.disabled !== true &&
285
- item.readonly !== true &&
286
- !['oldpassword', 'password', 'repassword'].includes(item.name)
287
- );
288
- })
289
- .map((item) => item.name);
290
- return keys;
291
- }
292
- },
293
- created() {},
294
- mounted() {},
295
- methods: {
296
- handleFormSubmit() {
297
- let initLogin = util.getStorage('initLogin');
298
- initLogin && (initLogin = JSON.parse(initLogin));
299
- let { oldpassword, password } = this.model;
300
- let data = {
301
- ...Object.fromEntries(
302
- Object.entries(this.model).filter(([key]) =>
303
- this.formKey.includes(key)
304
- )
305
- )
306
- };
307
- util
308
- .ajax({
309
- url: updateUserInfo,
310
- params: {
311
- ...data,
312
- oldPassword:
313
- this.secret && initLogin && initLogin.secret && oldpassword
314
- ? util.esmEncrypt({
315
- data: oldpassword,
316
- key: initLogin.secret
317
- })
318
- : oldpassword,
319
- password:
320
- this.secret && initLogin && initLogin.secret && password
321
- ? util.esmEncrypt({
322
- data: password,
323
- key: initLogin.secret
324
- })
325
- : password
326
- }
327
- })
328
- .then((res) => {
329
- if (res.rCode === 0) {
330
- if (oldpassword && password) {
331
- this.$confirm('密码修改成功,请重新登录!', '提示', {
332
- confirmButtonText: '确定',
333
- cancelButtonText: '取消',
334
- closeOnClickModal: false,
335
- type: 'warning'
336
- })
337
- .then(() => {
338
- const loginPage =
339
- util.getStorage('login') || util.getStorage('loginPage');
340
- try {
341
- if (loginPage) {
342
- let src;
343
- if (!util.startWith(loginPage, ['http', '/'], true)) {
344
- let pathname = util.win.top.location.pathname;
345
- if (pathname !== '/') {
346
- pathname = pathname.split('/');
347
- pathname.splice(pathname.length - 1);
348
- pathname = pathname.join('/');
349
- src = pathname + '/' + loginPage.replace('./', '');
350
- } else {
351
- src = pathname + loginPage.replace('./', '');
352
- }
353
- } else {
354
- src = loginPage;
355
- }
356
- util.win.top.location.href = src;
357
- } else if (
358
- util.win.top.location.href.indexOf('main.html') > -1
359
- ) {
360
- util.win.top.location.href = './login.html';
361
- } else {
362
- const hash = util.win.top.location.hash;
363
- if (hash) {
364
- const len = util.win.top.location.href.indexOf(hash);
365
- util.win.top.location.href =
366
- util.win.location.href.slice(0, len) + '#/login';
367
- } else {
368
- util.win.top.location.href = '/login.html';
369
- }
370
- }
371
- } catch (error) {
372
- util.win.top.postMessage({ type: 1 }, '*');
373
- }
374
- })
375
- .catch((e) => {});
376
- } else {
377
- this.$message({
378
- message: res.msg,
379
- type: 'success',
380
- onClose: () => {
381
- this.$emit('success', this.model);
382
- }
383
- });
384
- }
385
- } else {
386
- let msg = res.msg || '系统错误,请联系管理员!';
387
- this.$message.error(msg);
388
- }
389
- });
390
- },
391
- repassword(rule, value, callback) {
392
- if (this.model.oldpassword && this.model.password && value) {
393
- util.identical({ value: [value, this.model.password], callback });
394
- } else {
395
- callback();
396
- return true;
397
- }
398
- }
399
- }
400
- };
401
- </script>
1
+ <template>
2
+ <es-form
3
+ ref="form"
4
+ class="es-user-info"
5
+ :validate-on-rule-change="false"
6
+ :model="model"
7
+ :contents="forms"
8
+ :autocomplete="false"
9
+ :rules="formRules"
10
+ :events="events"
11
+ :resetValue="false"
12
+ @submit="handleFormSubmit"
13
+ >
14
+ <template slot="other">
15
+ <slot></slot>
16
+ </template>
17
+ </es-form>
18
+ </template>
19
+ <script>
20
+ import { updateUserInfo } from 'eoss-ui/src/config/api.js';
21
+ import util from 'eoss-ui/src/utils/util';
22
+
23
+ export default {
24
+ name: 'UserInfo',
25
+ props: {
26
+ secret: {
27
+ type: Boolean,
28
+ default: true
29
+ },
30
+ contents: Array,
31
+ value: {
32
+ type: Object,
33
+ default() {
34
+ return {};
35
+ }
36
+ },
37
+ rules: {
38
+ type: Object,
39
+ default() {
40
+ return {};
41
+ }
42
+ },
43
+ rules: {
44
+ type: Object,
45
+ default() {
46
+ return {};
47
+ }
48
+ }
49
+ },
50
+ data() {
51
+ return {
52
+ model: this.value,
53
+ defaultValues: JSON.parse(JSON.stringify(this.value)),
54
+ events: {
55
+ oldpassword: {
56
+ change: () => {
57
+ if (
58
+ !this.model.repassword &&
59
+ !this.model.oldpassword &&
60
+ !this.model.repassword
61
+ ) {
62
+ this.$refs.form.clearValidate();
63
+ }
64
+ }
65
+ },
66
+ password: {
67
+ change: () => {
68
+ if (
69
+ !this.model.repassword &&
70
+ !this.model.oldpassword &&
71
+ !this.model.repassword
72
+ ) {
73
+ this.$refs.form.clearValidate();
74
+ }
75
+ }
76
+ },
77
+ repassword: {
78
+ change: () => {
79
+ if (
80
+ !this.model.repassword &&
81
+ !this.model.oldpassword &&
82
+ !this.model.repassword
83
+ ) {
84
+ this.$refs.form.clearValidate();
85
+ }
86
+ }
87
+ }
88
+ }
89
+ };
90
+ },
91
+ computed: {
92
+ formRules() {
93
+ console.log(this.value);
94
+ return {
95
+ idCard: [
96
+ {
97
+ required:
98
+ this.defaultValues.idCard !== null &&
99
+ this.defaultValues.idCard !== undefined &&
100
+ this.defaultValues.idCard !== '',
101
+ message: '请输入身份证号',
102
+ trigger: 'blur'
103
+ },
104
+ {
105
+ pattern: new RegExp('(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)'),
106
+ message: '身份证号不合法',
107
+ trigger: 'blur'
108
+ }
109
+ ],
110
+ phone: [
111
+ {
112
+ required:
113
+ this.defaultValues.phone !== null &&
114
+ this.defaultValues.phone !== undefined &&
115
+ this.defaultValues.phone !== '',
116
+ message: '请输入手机号',
117
+ trigger: 'blur'
118
+ },
119
+ {
120
+ pattern: new RegExp('^[1][3, 4, 5, 6, 7, 8, 9][0-9]{9}$'),
121
+ message: '手机号不合法',
122
+ trigger: 'blur'
123
+ }
124
+ ],
125
+ email: [
126
+ {
127
+ required:
128
+ this.defaultValues.email !== null &&
129
+ this.defaultValues.email !== undefined &&
130
+ this.defaultValues.email !== '',
131
+ message: '请输入邮箱地址',
132
+ trigger: 'blur'
133
+ },
134
+ {
135
+ type: 'email',
136
+ message: '请输入正确的邮箱地址',
137
+ trigger: 'blur'
138
+ }
139
+ ],
140
+ officeTel: [
141
+ {
142
+ required:
143
+ this.defaultValues.officeTel !== null &&
144
+ this.defaultValues.officeTel !== undefined &&
145
+ this.defaultValues.officeTel !== '',
146
+ message: '请输入座机号',
147
+ trigger: 'blur'
148
+ },
149
+ {
150
+ pattern: new RegExp(
151
+ '^(?:\\(?0([1-9]\\d{1,2})\\)?[- ]?)?([2-9]\\d{6,7})$'
152
+ ),
153
+ message: '座机号不合法',
154
+ trigger: 'blur'
155
+ }
156
+ ],
157
+
158
+ oldpassword:
159
+ this.model.password || this.model.repassword
160
+ ? {
161
+ required: true,
162
+ message: '请输入旧密码'
163
+ }
164
+ : {},
165
+
166
+ password: [
167
+ this.model.repassword || this.model.oldpassword
168
+ ? {
169
+ required: true,
170
+ message: '请输入新密码'
171
+ }
172
+ : {},
173
+ ,
174
+ {
175
+ pattern: this.checkPassword,
176
+ message: this.checkPasswordMsg
177
+ ? this.checkPasswordMsg
178
+ : '密码格式不合法',
179
+ trigger: 'blur'
180
+ }
181
+ ],
182
+ repassword: [
183
+ this.model.password || this.model.oldpassword
184
+ ? {
185
+ required: true,
186
+ message: '请再次输入新密码'
187
+ }
188
+ : {},
189
+ { validator: this.repassword, trigger: 'blur' },
190
+ this.checkPassword
191
+ ? {
192
+ pattern: this.checkPassword,
193
+ message: this.checkPasswordMsg
194
+ ? this.checkPasswordMsg
195
+ : '密码格式不合法',
196
+ trigger: 'blur'
197
+ }
198
+ : {}
199
+ ],
200
+ ...this.rules
201
+ };
202
+ },
203
+ forms() {
204
+ return this.contents
205
+ ? this.contents
206
+ : [
207
+ {
208
+ name: 'orgName',
209
+ label: '所属机构',
210
+ type: 'text',
211
+ disabled: true,
212
+ col: 6
213
+ },
214
+ {
215
+ name: 'depName',
216
+ label: '所属部门',
217
+ type: 'text',
218
+ disabled: true,
219
+ col: 6
220
+ },
221
+ {
222
+ name: 'idCard',
223
+ label: '身份证号',
224
+ type: 'text',
225
+ disabled: true,
226
+ maxlength: 18,
227
+ col: 6
228
+ },
229
+ {
230
+ name: 'outCode',
231
+ label: '工号',
232
+ type: 'text',
233
+ disabled: true,
234
+ col: 6
235
+ },
236
+ {
237
+ name: 'phone',
238
+ placeholder: '联系电话',
239
+ label: '联系电话',
240
+ type: 'text',
241
+ col: 6
242
+ },
243
+ {
244
+ name: 'email',
245
+ placeholder: '电子邮箱',
246
+ label: '电子邮箱',
247
+ type: 'text',
248
+ col: 6
249
+ },
250
+ {
251
+ name: 'officeTel',
252
+ placeholder: '座机号',
253
+ label: '座机号',
254
+ type: 'text',
255
+ col: 6
256
+ },
257
+ {
258
+ name: 'oldpassword',
259
+ placeholder: '旧密码',
260
+ label: '旧密码',
261
+ type: 'text',
262
+ col: 6
263
+ },
264
+ {
265
+ name: 'password',
266
+ placeholder: '新密码',
267
+ label: '新密码',
268
+ type: 'text',
269
+ col: 6
270
+ },
271
+ {
272
+ name: 'repassword',
273
+ placeholder: '确认新密码',
274
+ label: '确认新密码',
275
+ type: 'text',
276
+ col: 6
277
+ }
278
+ ];
279
+ },
280
+ formKey() {
281
+ let keys = this.forms
282
+ .filter((item) => {
283
+ return (
284
+ item.disabled !== true &&
285
+ item.readonly !== true &&
286
+ !['oldpassword', 'password', 'repassword'].includes(item.name)
287
+ );
288
+ })
289
+ .map((item) => item.name);
290
+ return keys;
291
+ }
292
+ },
293
+ created() {},
294
+ mounted() {},
295
+ methods: {
296
+ handleFormSubmit() {
297
+ let initLogin = util.getStorage('initLogin');
298
+ initLogin && (initLogin = JSON.parse(initLogin));
299
+ let { oldpassword, password } = this.model;
300
+ let data = {
301
+ ...Object.fromEntries(
302
+ Object.entries(this.model).filter(([key]) =>
303
+ this.formKey.includes(key)
304
+ )
305
+ )
306
+ };
307
+ util
308
+ .ajax({
309
+ url: updateUserInfo,
310
+ params: {
311
+ ...data,
312
+ oldPassword:
313
+ this.secret && initLogin && initLogin.secret && oldpassword
314
+ ? util.esmEncrypt({
315
+ data: oldpassword,
316
+ key: initLogin.secret
317
+ })
318
+ : oldpassword,
319
+ password:
320
+ this.secret && initLogin && initLogin.secret && password
321
+ ? util.esmEncrypt({
322
+ data: password,
323
+ key: initLogin.secret
324
+ })
325
+ : password
326
+ }
327
+ })
328
+ .then((res) => {
329
+ if (res.rCode === 0) {
330
+ if (oldpassword && password) {
331
+ this.$confirm('密码修改成功,请重新登录!', '提示', {
332
+ confirmButtonText: '确定',
333
+ cancelButtonText: '取消',
334
+ closeOnClickModal: false,
335
+ type: 'warning'
336
+ })
337
+ .then(() => {
338
+ const loginPage =
339
+ util.getStorage('login') || util.getStorage('loginPage');
340
+ try {
341
+ if (loginPage) {
342
+ let src;
343
+ if (!util.startWith(loginPage, ['http', '/'], true)) {
344
+ let pathname = util.win.top.location.pathname;
345
+ if (pathname !== '/') {
346
+ pathname = pathname.split('/');
347
+ pathname.splice(pathname.length - 1);
348
+ pathname = pathname.join('/');
349
+ src = pathname + '/' + loginPage.replace('./', '');
350
+ } else {
351
+ src = pathname + loginPage.replace('./', '');
352
+ }
353
+ } else {
354
+ src = loginPage;
355
+ }
356
+ util.win.top.location.href = src;
357
+ } else if (
358
+ util.win.top.location.href.indexOf('main.html') > -1
359
+ ) {
360
+ util.win.top.location.href = './login.html';
361
+ } else {
362
+ const hash = util.win.top.location.hash;
363
+ if (hash) {
364
+ const len = util.win.top.location.href.indexOf(hash);
365
+ util.win.top.location.href =
366
+ util.win.location.href.slice(0, len) + '#/login';
367
+ } else {
368
+ util.win.top.location.href = '/login.html';
369
+ }
370
+ }
371
+ } catch (error) {
372
+ util.win.top.postMessage({ type: 1 }, '*');
373
+ }
374
+ })
375
+ .catch((e) => {});
376
+ } else {
377
+ this.$message({
378
+ message: res.msg,
379
+ type: 'success',
380
+ onClose: () => {
381
+ this.$emit('success', this.model);
382
+ }
383
+ });
384
+ }
385
+ } else {
386
+ let msg = res.msg || '系统错误,请联系管理员!';
387
+ this.$message.error(msg);
388
+ }
389
+ });
390
+ },
391
+ repassword(rule, value, callback) {
392
+ if (this.model.oldpassword && this.model.password && value) {
393
+ util.identical({ value: [value, this.model.password], callback });
394
+ } else {
395
+ callback();
396
+ return true;
397
+ }
398
+ }
399
+ }
400
+ };
401
+ </script>