eoss-ui 0.6.45 → 0.6.47

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 (278) hide show
  1. package/lib/button-group.js +136 -116
  2. package/lib/button.js +136 -116
  3. package/lib/checkbox-group.js +138 -118
  4. package/lib/config/api.js +14 -1
  5. package/lib/data-table-form.js +138 -118
  6. package/lib/data-table.js +141 -121
  7. package/lib/date-picker.js +136 -116
  8. package/lib/dialog.js +136 -116
  9. package/lib/enable-drag.js +4 -13
  10. package/lib/eoss-ui.common.js +2394 -1397
  11. package/lib/flow-group.js +136 -116
  12. package/lib/flow-list.js +467 -271
  13. package/lib/flow.js +1502 -870
  14. package/lib/form.js +159 -148
  15. package/lib/handle-user.js +137 -117
  16. package/lib/handler.js +161 -125
  17. package/lib/icon.js +137 -117
  18. package/lib/index.js +1 -1
  19. package/lib/input-number.js +136 -116
  20. package/lib/input.js +136 -116
  21. package/lib/login.js +150 -130
  22. package/lib/main.js +499 -309
  23. package/lib/nav.js +136 -116
  24. package/lib/notify.js +139 -119
  25. package/lib/page.js +136 -116
  26. package/lib/pagination.js +136 -116
  27. package/lib/player.js +136 -116
  28. package/lib/qr-code.js +149 -129
  29. package/lib/radio-group.js +138 -118
  30. package/lib/retrial-auth.js +140 -120
  31. package/lib/select-ganged.js +138 -118
  32. package/lib/select.js +138 -118
  33. package/lib/selector-panel.js +154 -134
  34. package/lib/selector.js +137 -117
  35. package/lib/sizer.js +138 -118
  36. package/lib/steps.js +136 -116
  37. package/lib/switch.js +136 -116
  38. package/lib/table-form.js +161 -121
  39. package/lib/tabs.js +136 -116
  40. package/lib/theme-chalk/flow.css +1 -1
  41. package/lib/theme-chalk/index.css +1 -1
  42. package/lib/tips.js +137 -117
  43. package/lib/tree-group.js +136 -116
  44. package/lib/tree.js +137 -117
  45. package/lib/upload.js +155 -134
  46. package/lib/wujie.js +136 -116
  47. package/lib/wxlogin.js +136 -116
  48. package/package.json +159 -159
  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/index.js +5 -5
  63. package/packages/data-table/src/children.vue +39 -39
  64. package/packages/data-table/src/column.vue +989 -989
  65. package/packages/data-table/src/main.vue +1822 -1822
  66. package/packages/data-table/src/sizer.vue +195 -195
  67. package/packages/data-table-form/index.js +5 -5
  68. package/packages/data-table-form/src/checkbox.vue +101 -101
  69. package/packages/data-table-form/src/colgroup.vue +17 -17
  70. package/packages/data-table-form/src/main.vue +181 -181
  71. package/packages/data-table-form/src/radio.vue +65 -65
  72. package/packages/data-table-form/src/table.vue +233 -233
  73. package/packages/data-table-form/src/tbody.vue +336 -336
  74. package/packages/data-table-form/src/thead.vue +68 -68
  75. package/packages/date-picker/index.js +5 -5
  76. package/packages/date-picker/src/main.vue +236 -236
  77. package/packages/dialog/index.js +5 -5
  78. package/packages/enable-drag/index.js +5 -5
  79. package/packages/enable-drag/src/main.vue +1 -8
  80. package/packages/enterprise/index.js +5 -5
  81. package/packages/enterprise/src/main.vue +66 -66
  82. package/packages/error-page/index.js +5 -5
  83. package/packages/error-page/src/main.vue +44 -44
  84. package/packages/flow/index.js +5 -5
  85. package/packages/flow/src/component/CommonOpinions.vue +345 -345
  86. package/packages/flow/src/component/CustomPreset.vue +322 -322
  87. package/packages/flow/src/component/FileList.vue +99 -99
  88. package/packages/flow/src/component/Preset.vue +255 -255
  89. package/packages/flow/src/component/SendMsg.vue +229 -229
  90. package/packages/flow/src/component/TimeLimit.vue +190 -190
  91. package/packages/flow/src/component/taskUnionExamine.vue +611 -611
  92. package/packages/flow/src/form.vue +121 -121
  93. package/packages/flow/src/freeStartFlow.vue +2843 -2843
  94. package/packages/flow/src/main.vue +3100 -2952
  95. package/packages/flow/src/processForm.vue +1031 -1018
  96. package/packages/flow/src/processReject.vue +293 -293
  97. package/packages/flow/src/reset.vue +899 -899
  98. package/packages/flow/src/startTaskRead.vue +597 -596
  99. package/packages/flow/src/supervise.vue +138 -0
  100. package/packages/flow/src/table.vue +58 -58
  101. package/packages/flow-group/index.js +5 -5
  102. package/packages/flow-group/src/main.vue +688 -688
  103. package/packages/flow-list/index.js +5 -5
  104. package/packages/flow-list/src/main.vue +1411 -1183
  105. package/packages/form/index.js +5 -5
  106. package/packages/form/src/main.vue +3583 -3584
  107. package/packages/form/src/table.vue +1426 -1420
  108. package/packages/handle-user/index.js +5 -5
  109. package/packages/handle-user/src/main.vue +138 -138
  110. package/packages/handler/index.js +5 -5
  111. package/packages/handler/src/main.vue +491 -474
  112. package/packages/icon/index.js +5 -5
  113. package/packages/icon/src/main.vue +101 -101
  114. package/packages/icons/index.js +5 -5
  115. package/packages/icons/src/main.vue +81 -81
  116. package/packages/input/index.js +5 -5
  117. package/packages/input/src/main.vue +356 -356
  118. package/packages/input-number/index.js +5 -5
  119. package/packages/input-number/src/main.vue +106 -106
  120. package/packages/label/index.js +5 -5
  121. package/packages/label/src/main.vue +457 -457
  122. package/packages/layout/index.js +5 -5
  123. package/packages/layout/src/item.vue +152 -152
  124. package/packages/layout/src/main.vue +31 -31
  125. package/packages/login/index.js +5 -5
  126. package/packages/login/src/main.vue +1935 -1935
  127. package/packages/login/src/resetPassword.vue +562 -562
  128. package/packages/main/index.js +5 -5
  129. package/packages/main/src/default/index.vue +231 -67
  130. package/packages/main/src/default/message.vue +249 -249
  131. package/packages/main/src/default/notice.vue +157 -157
  132. package/packages/main/src/default/userinfo.vue +505 -505
  133. package/packages/main/src/public/online.vue +89 -89
  134. package/packages/main/src/public/search.vue +461 -461
  135. package/packages/main/src/public/settings.vue +221 -221
  136. package/packages/main/src/simplicity/apps.vue +388 -388
  137. package/packages/main/src/simplicity/avatar.vue +82 -82
  138. package/packages/main/src/simplicity/handler.vue +259 -259
  139. package/packages/main/src/simplicity/index.vue +2049 -2044
  140. package/packages/main/src/simplicity/lists.vue +84 -84
  141. package/packages/main/src/simplicity/menu-list.vue +128 -128
  142. package/packages/main/src/simplicity/message.vue +259 -259
  143. package/packages/main/src/simplicity/notice.vue +190 -190
  144. package/packages/main/src/simplicity/router-page.vue +45 -45
  145. package/packages/main/src/simplicity/sub-menu.vue +241 -241
  146. package/packages/main/src/simplicity/user.vue +257 -257
  147. package/packages/main/src/simplicity/userinfo.vue +312 -312
  148. package/packages/menu/index.js +5 -5
  149. package/packages/menu/src/main.vue +536 -536
  150. package/packages/nav/index.js +5 -5
  151. package/packages/nav/src/main.vue +351 -351
  152. package/packages/notify/index.js +5 -5
  153. package/packages/notify/src/main.vue +538 -538
  154. package/packages/page/index.js +5 -5
  155. package/packages/page/src/main.vue +167 -167
  156. package/packages/pagination/index.js +5 -5
  157. package/packages/pagination/src/main.vue +96 -96
  158. package/packages/player/index.js +5 -5
  159. package/packages/player/src/main.vue +194 -194
  160. package/packages/qr-code/index.js +5 -5
  161. package/packages/qr-code/src/main.vue +170 -170
  162. package/packages/radio-group/index.js +6 -6
  163. package/packages/radio-group/src/main.vue +319 -319
  164. package/packages/retrial-auth/index.js +5 -5
  165. package/packages/retrial-auth/src/main.vue +280 -280
  166. package/packages/select/index.js +5 -5
  167. package/packages/select/src/main.vue +775 -775
  168. package/packages/select-ganged/index.js +5 -5
  169. package/packages/select-ganged/src/main.vue +724 -724
  170. package/packages/selector/index.js +5 -5
  171. package/packages/selector/src/main.vue +689 -689
  172. package/packages/selector-panel/index.js +5 -5
  173. package/packages/selector-panel/src/main.vue +1027 -1027
  174. package/packages/selector-panel/src/selection.vue +177 -177
  175. package/packages/selector-panel/src/tree.vue +129 -129
  176. package/packages/sizer/index.js +5 -5
  177. package/packages/sizer/src/main.vue +254 -254
  178. package/packages/steps/index.js +5 -5
  179. package/packages/steps/src/main.vue +181 -181
  180. package/packages/switch/index.js +5 -5
  181. package/packages/switch/src/main.vue +154 -154
  182. package/packages/table-form/index.js +5 -5
  183. package/packages/tabs/index.js +5 -5
  184. package/packages/tabs/src/main.vue +788 -788
  185. package/packages/tabs-panel/index.js +5 -5
  186. package/packages/tabs-panel/src/main.vue +29 -29
  187. package/packages/theme-chalk/lib/flow.css +1 -1
  188. package/packages/theme-chalk/lib/index.css +1 -1
  189. package/packages/theme-chalk/src/base.scss +260 -260
  190. package/packages/theme-chalk/src/button-group.scss +175 -175
  191. package/packages/theme-chalk/src/button.scss +24 -24
  192. package/packages/theme-chalk/src/calendar.scss +113 -113
  193. package/packages/theme-chalk/src/card.scss +99 -99
  194. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  195. package/packages/theme-chalk/src/clients.scss +87 -87
  196. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  197. package/packages/theme-chalk/src/data-table.scss +293 -293
  198. package/packages/theme-chalk/src/date-picker.scss +7 -7
  199. package/packages/theme-chalk/src/dialog.scss +77 -77
  200. package/packages/theme-chalk/src/enable-drag.scss +181 -181
  201. package/packages/theme-chalk/src/enterprise.scss +5 -5
  202. package/packages/theme-chalk/src/error-page.scss +18 -18
  203. package/packages/theme-chalk/src/flow-group.scss +110 -110
  204. package/packages/theme-chalk/src/flow-list.scss +36 -36
  205. package/packages/theme-chalk/src/flow.scss +325 -318
  206. package/packages/theme-chalk/src/form.scss +496 -496
  207. package/packages/theme-chalk/src/handle-user.scss +40 -40
  208. package/packages/theme-chalk/src/handler.scss +143 -143
  209. package/packages/theme-chalk/src/icon.scss +1789 -1789
  210. package/packages/theme-chalk/src/icons.scss +99 -99
  211. package/packages/theme-chalk/src/input.scss +9 -9
  212. package/packages/theme-chalk/src/label.scss +24 -24
  213. package/packages/theme-chalk/src/layout.scss +46 -46
  214. package/packages/theme-chalk/src/login.scss +969 -969
  215. package/packages/theme-chalk/src/main.scss +656 -656
  216. package/packages/theme-chalk/src/menu.scss +222 -222
  217. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  218. package/packages/theme-chalk/src/nav.scss +111 -111
  219. package/packages/theme-chalk/src/page.scss +3 -3
  220. package/packages/theme-chalk/src/pagination.scss +29 -29
  221. package/packages/theme-chalk/src/player.scss +9 -9
  222. package/packages/theme-chalk/src/qr-code.scss +17 -17
  223. package/packages/theme-chalk/src/radio-group.scss +9 -9
  224. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  225. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  226. package/packages/theme-chalk/src/select.scss +8 -8
  227. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  228. package/packages/theme-chalk/src/selector.scss +91 -91
  229. package/packages/theme-chalk/src/simplicity.scss +1265 -1265
  230. package/packages/theme-chalk/src/sizer.scss +36 -36
  231. package/packages/theme-chalk/src/steps.scss +88 -88
  232. package/packages/theme-chalk/src/switch.scss +3 -3
  233. package/packages/theme-chalk/src/table-form.scss +1 -1
  234. package/packages/theme-chalk/src/tabs.scss +87 -87
  235. package/packages/theme-chalk/src/tips.scss +7 -7
  236. package/packages/theme-chalk/src/toolbar.scss +179 -179
  237. package/packages/theme-chalk/src/tree-group.scss +72 -72
  238. package/packages/theme-chalk/src/tree.scss +165 -165
  239. package/packages/theme-chalk/src/upload.scss +167 -167
  240. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  241. package/packages/tips/index.js +5 -5
  242. package/packages/tips/src/main.vue +141 -141
  243. package/packages/toolbar/index.js +5 -5
  244. package/packages/toolbar/src/main.vue +430 -430
  245. package/packages/tree/index.js +5 -5
  246. package/packages/tree-group/index.js +5 -5
  247. package/packages/upload/index.js +5 -5
  248. package/packages/upload/src/main.vue +1335 -1334
  249. package/packages/upload/src/picture.js +15 -15
  250. package/packages/wujie/index.js +5 -5
  251. package/packages/wujie/src/main.vue +145 -145
  252. package/packages/wxlogin/index.js +5 -5
  253. package/packages/wxlogin/src/main.vue +128 -128
  254. package/src/config/api.js +281 -248
  255. package/src/config/image.js +2 -2
  256. package/src/index.js +160 -160
  257. package/src/utils/bus.js +3 -3
  258. package/src/utils/date-util.js +312 -312
  259. package/src/utils/http.js +50 -50
  260. package/src/utils/rules.js +18 -18
  261. package/src/utils/store.js +21 -21
  262. package/src/utils/webSocket.js +107 -107
  263. package/packages/.DS_Store +0 -0
  264. package/packages/data-table/.DS_Store +0 -0
  265. package/packages/data-table-form/.DS_Store +0 -0
  266. package/packages/error-page/.DS_Store +0 -0
  267. package/packages/flow/.DS_Store +0 -0
  268. package/packages/form/.DS_Store +0 -0
  269. package/packages/login/.DS_Store +0 -0
  270. package/packages/main/.DS_Store +0 -0
  271. package/packages/main/src/.DS_Store +0 -0
  272. package/packages/selector/.DS_Store +0 -0
  273. package/packages/selector-panel/.DS_Store +0 -0
  274. package/packages/sizer/.DS_Store +0 -0
  275. package/packages/tabs/.DS_Store +0 -0
  276. package/packages/theme-chalk/src/.DS_Store +0 -0
  277. package/packages/upload/.DS_Store +0 -0
  278. package/src/.DS_Store +0 -0
@@ -1,312 +1,312 @@
1
- <template>
2
- <es-form
3
- ref="form"
4
- :model="model"
5
- :contents="forms"
6
- class="es-user-info"
7
- :autocomplete="false"
8
- @submit="handleFormSubmit"
9
- >
10
- <template slot="other">
11
- <slot></slot>
12
- </template>
13
- </es-form>
14
- </template>
15
- <script>
16
- import { updateUserInfo } from 'eoss-ui/src/config/api.js';
17
- import util from 'eoss-ui/src/utils/util';
18
-
19
- export default {
20
- name: 'UserInfo',
21
- props: {
22
- showNotify: {
23
- type: Boolean,
24
- default: true
25
- },
26
- secret: {
27
- type: Boolean,
28
- default: true
29
- },
30
- contents: Array,
31
- value: {
32
- type: Object,
33
- default() {
34
- return {};
35
- }
36
- }
37
- },
38
- data() {
39
- return {
40
- model: this.value
41
- };
42
- },
43
- computed: {
44
- forms() {
45
- return this.contents
46
- ? this.contents
47
- : [
48
- {
49
- name: 'orgName',
50
- label: '所属机构',
51
- type: 'text',
52
- disabled: true,
53
- col: 6
54
- },
55
- {
56
- name: 'depName',
57
- label: '所属部门',
58
- type: 'text',
59
- disabled: true,
60
- col: 6
61
- },
62
- {
63
- name: 'idCard',
64
- label: '身份证号',
65
- type: 'text',
66
- disabled: true,
67
- col: 6
68
- },
69
- {
70
- name: 'outCode',
71
- label: '工号',
72
- type: 'text',
73
- disabled: true,
74
- col: 6
75
- },
76
- {
77
- name: 'phone',
78
- placeholder: '联系电话',
79
- label: '联系电话',
80
- type: 'text',
81
- col: 6
82
- },
83
- {
84
- name: 'email',
85
- placeholder: '电子邮箱',
86
- label: '电子邮箱',
87
- type: 'text',
88
- rules: {
89
- type: 'email',
90
- message: '请输入正确的邮箱地址',
91
- trigger: 'blur'
92
- },
93
- col: 6
94
- },
95
- {
96
- name: 'officeTel',
97
- placeholder: '座机号',
98
- label: '座机号',
99
- type: 'text',
100
- rules: {
101
- type: 'telephone'
102
- //message: '请输入正确的邮箱地址',
103
- //trigger: 'blur'
104
- },
105
- col: 6
106
- },
107
- {
108
- name: 'oldpassword',
109
- placeholder: '旧密码',
110
- label: '旧密码',
111
- type: 'text',
112
- col: 6,
113
- rules:
114
- this.model.password || this.model.repassword
115
- ? {
116
- required: true,
117
- message: '请输入旧密码'
118
- }
119
- : {},
120
- events: {
121
- change: () => {
122
- if (
123
- !this.model.repassword &&
124
- !this.model.oldpassword &&
125
- !this.model.repassword
126
- ) {
127
- this.$refs.form.clearValidate();
128
- }
129
- }
130
- }
131
- },
132
- {
133
- name: 'password',
134
- placeholder: '新密码',
135
- label: '新密码',
136
- type: 'text',
137
- col: 6,
138
- rules: [
139
- this.model.repassword || this.model.oldpassword
140
- ? {
141
- required: true,
142
- message: '请输入新密码'
143
- }
144
- : {},
145
- {
146
- pattern: this.checkPassword,
147
- message: this.checkPasswordMsg
148
- ? this.checkPasswordMsg
149
- : '密码格式不合法',
150
- trigger: 'blur'
151
- }
152
- ],
153
- events: {
154
- change: () => {
155
- if (
156
- !this.model.repassword &&
157
- !this.model.oldpassword &&
158
- !this.model.repassword
159
- ) {
160
- this.$refs.form.clearValidate();
161
- }
162
- }
163
- }
164
- },
165
- {
166
- name: 'repassword',
167
- placeholder: '确认新密码',
168
- label: '确认新密码',
169
- type: 'text',
170
- col: 6,
171
- rules: [
172
- this.model.password || this.model.oldpassword
173
- ? {
174
- required: true,
175
- message: '请再次输入新密码'
176
- }
177
- : {},
178
- { validator: this.repassword, trigger: 'blur' },
179
- this.checkPassword
180
- ? {
181
- pattern: this.checkPassword,
182
- message: this.checkPasswordMsg
183
- ? this.checkPasswordMsg
184
- : '密码格式不合法',
185
- trigger: 'blur'
186
- }
187
- : {}
188
- ],
189
- events: {
190
- change: () => {
191
- if (
192
- !this.model.repassword &&
193
- !this.model.oldpassword &&
194
- !this.model.repassword
195
- ) {
196
- this.$refs.form.clearValidate();
197
- }
198
- }
199
- }
200
- }
201
- ];
202
- }
203
- },
204
- created() {},
205
- mounted() {},
206
- methods: {
207
- handleFormSubmit() {
208
- let initLogin = util.getStorage('initLogin');
209
- initLogin && (initLogin = JSON.parse(initLogin));
210
- util
211
- .ajax({
212
- url: updateUserInfo,
213
- params: {
214
- email: this.model.email,
215
- officeTel: this.model.officeTel,
216
- phone: this.model.phone,
217
- oldPassword:
218
- this.secret &&
219
- initLogin &&
220
- initLogin.secret &&
221
- this.model.oldpassword
222
- ? util.esmEncrypt({
223
- data: this.model.oldpassword,
224
- key: initLogin.secret
225
- })
226
- : this.model.oldpassword,
227
- password:
228
- this.secret &&
229
- initLogin &&
230
- initLogin.secret &&
231
- this.model.password
232
- ? util.esmEncrypt({
233
- data: this.model.password,
234
- key: initLogin.secret
235
- })
236
- : this.model.password
237
- }
238
- })
239
- .then((res) => {
240
- if (res.rCode === 0) {
241
- if (this.model.oldpassword && this.model.password) {
242
- this.$confirm('密码修改成功,请重新登录!', '提示', {
243
- confirmButtonText: '确定',
244
- cancelButtonText: '取消',
245
- closeOnClickModal: false,
246
- type: 'warning'
247
- })
248
- .then(() => {
249
- const loginPage =
250
- util.getStorage('login') || util.getStorage('loginPage');
251
- try {
252
- if (loginPage) {
253
- let src;
254
- if (!util.startWith(loginPage, ['http', '/'], true)) {
255
- let pathname = util.win.top.location.pathname;
256
- if (pathname !== '/') {
257
- pathname = pathname.split('/');
258
- pathname.splice(pathname.length - 1);
259
- pathname = pathname.join('/');
260
- src = pathname + '/' + loginPage.replace('./', '');
261
- } else {
262
- src = pathname + loginPage.replace('./', '');
263
- }
264
- } else {
265
- src = loginPage;
266
- }
267
- util.win.top.location.href = src;
268
- } else if (
269
- util.win.top.location.href.indexOf('main.html') > -1
270
- ) {
271
- util.win.top.location.href = './login.html';
272
- } else {
273
- const hash = util.win.top.location.hash;
274
- if (hash) {
275
- const len = util.win.top.location.href.indexOf(hash);
276
- util.win.top.location.href =
277
- util.win.location.href.slice(0, len) + '#/login';
278
- } else {
279
- util.win.top.location.href = '/login.html';
280
- }
281
- }
282
- } catch (error) {
283
- util.win.postMessage({ type: 1 }, '*');
284
- }
285
- })
286
- .catch((e) => {});
287
- } else {
288
- this.$message({
289
- message: res.msg,
290
- type: 'success',
291
- onClose: () => {
292
- this.$emit('success', this.model);
293
- }
294
- });
295
- }
296
- } else {
297
- let msg = res.msg || '系统错误,请联系管理员!';
298
- this.$message.error(msg);
299
- }
300
- });
301
- },
302
- repassword(rule, value, callback) {
303
- if (this.model.oldpassword && this.model.password && value) {
304
- util.identical({ value: [value, this.model.password], callback });
305
- } else {
306
- callback();
307
- return true;
308
- }
309
- }
310
- }
311
- };
312
- </script>
1
+ <template>
2
+ <es-form
3
+ ref="form"
4
+ :model="model"
5
+ :contents="forms"
6
+ class="es-user-info"
7
+ :autocomplete="false"
8
+ @submit="handleFormSubmit"
9
+ >
10
+ <template slot="other">
11
+ <slot></slot>
12
+ </template>
13
+ </es-form>
14
+ </template>
15
+ <script>
16
+ import { updateUserInfo } from 'eoss-ui/src/config/api.js';
17
+ import util from 'eoss-ui/src/utils/util';
18
+
19
+ export default {
20
+ name: 'UserInfo',
21
+ props: {
22
+ showNotify: {
23
+ type: Boolean,
24
+ default: true
25
+ },
26
+ secret: {
27
+ type: Boolean,
28
+ default: true
29
+ },
30
+ contents: Array,
31
+ value: {
32
+ type: Object,
33
+ default() {
34
+ return {};
35
+ }
36
+ }
37
+ },
38
+ data() {
39
+ return {
40
+ model: this.value
41
+ };
42
+ },
43
+ computed: {
44
+ forms() {
45
+ return this.contents
46
+ ? this.contents
47
+ : [
48
+ {
49
+ name: 'orgName',
50
+ label: '所属机构',
51
+ type: 'text',
52
+ disabled: true,
53
+ col: 6
54
+ },
55
+ {
56
+ name: 'depName',
57
+ label: '所属部门',
58
+ type: 'text',
59
+ disabled: true,
60
+ col: 6
61
+ },
62
+ {
63
+ name: 'idCard',
64
+ label: '身份证号',
65
+ type: 'text',
66
+ disabled: true,
67
+ col: 6
68
+ },
69
+ {
70
+ name: 'outCode',
71
+ label: '工号',
72
+ type: 'text',
73
+ disabled: true,
74
+ col: 6
75
+ },
76
+ {
77
+ name: 'phone',
78
+ placeholder: '联系电话',
79
+ label: '联系电话',
80
+ type: 'text',
81
+ col: 6
82
+ },
83
+ {
84
+ name: 'email',
85
+ placeholder: '电子邮箱',
86
+ label: '电子邮箱',
87
+ type: 'text',
88
+ rules: {
89
+ type: 'email',
90
+ message: '请输入正确的邮箱地址',
91
+ trigger: 'blur'
92
+ },
93
+ col: 6
94
+ },
95
+ {
96
+ name: 'officeTel',
97
+ placeholder: '座机号',
98
+ label: '座机号',
99
+ type: 'text',
100
+ rules: {
101
+ type: 'telephone'
102
+ //message: '请输入正确的邮箱地址',
103
+ //trigger: 'blur'
104
+ },
105
+ col: 6
106
+ },
107
+ {
108
+ name: 'oldpassword',
109
+ placeholder: '旧密码',
110
+ label: '旧密码',
111
+ type: 'text',
112
+ col: 6,
113
+ rules:
114
+ this.model.password || this.model.repassword
115
+ ? {
116
+ required: true,
117
+ message: '请输入旧密码'
118
+ }
119
+ : {},
120
+ events: {
121
+ change: () => {
122
+ if (
123
+ !this.model.repassword &&
124
+ !this.model.oldpassword &&
125
+ !this.model.repassword
126
+ ) {
127
+ this.$refs.form.clearValidate();
128
+ }
129
+ }
130
+ }
131
+ },
132
+ {
133
+ name: 'password',
134
+ placeholder: '新密码',
135
+ label: '新密码',
136
+ type: 'text',
137
+ col: 6,
138
+ rules: [
139
+ this.model.repassword || this.model.oldpassword
140
+ ? {
141
+ required: true,
142
+ message: '请输入新密码'
143
+ }
144
+ : {},
145
+ {
146
+ pattern: this.checkPassword,
147
+ message: this.checkPasswordMsg
148
+ ? this.checkPasswordMsg
149
+ : '密码格式不合法',
150
+ trigger: 'blur'
151
+ }
152
+ ],
153
+ events: {
154
+ change: () => {
155
+ if (
156
+ !this.model.repassword &&
157
+ !this.model.oldpassword &&
158
+ !this.model.repassword
159
+ ) {
160
+ this.$refs.form.clearValidate();
161
+ }
162
+ }
163
+ }
164
+ },
165
+ {
166
+ name: 'repassword',
167
+ placeholder: '确认新密码',
168
+ label: '确认新密码',
169
+ type: 'text',
170
+ col: 6,
171
+ rules: [
172
+ this.model.password || this.model.oldpassword
173
+ ? {
174
+ required: true,
175
+ message: '请再次输入新密码'
176
+ }
177
+ : {},
178
+ { validator: this.repassword, trigger: 'blur' },
179
+ this.checkPassword
180
+ ? {
181
+ pattern: this.checkPassword,
182
+ message: this.checkPasswordMsg
183
+ ? this.checkPasswordMsg
184
+ : '密码格式不合法',
185
+ trigger: 'blur'
186
+ }
187
+ : {}
188
+ ],
189
+ events: {
190
+ change: () => {
191
+ if (
192
+ !this.model.repassword &&
193
+ !this.model.oldpassword &&
194
+ !this.model.repassword
195
+ ) {
196
+ this.$refs.form.clearValidate();
197
+ }
198
+ }
199
+ }
200
+ }
201
+ ];
202
+ }
203
+ },
204
+ created() {},
205
+ mounted() {},
206
+ methods: {
207
+ handleFormSubmit() {
208
+ let initLogin = util.getStorage('initLogin');
209
+ initLogin && (initLogin = JSON.parse(initLogin));
210
+ util
211
+ .ajax({
212
+ url: updateUserInfo,
213
+ params: {
214
+ email: this.model.email,
215
+ officeTel: this.model.officeTel,
216
+ phone: this.model.phone,
217
+ oldPassword:
218
+ this.secret &&
219
+ initLogin &&
220
+ initLogin.secret &&
221
+ this.model.oldpassword
222
+ ? util.esmEncrypt({
223
+ data: this.model.oldpassword,
224
+ key: initLogin.secret
225
+ })
226
+ : this.model.oldpassword,
227
+ password:
228
+ this.secret &&
229
+ initLogin &&
230
+ initLogin.secret &&
231
+ this.model.password
232
+ ? util.esmEncrypt({
233
+ data: this.model.password,
234
+ key: initLogin.secret
235
+ })
236
+ : this.model.password
237
+ }
238
+ })
239
+ .then((res) => {
240
+ if (res.rCode === 0) {
241
+ if (this.model.oldpassword && this.model.password) {
242
+ this.$confirm('密码修改成功,请重新登录!', '提示', {
243
+ confirmButtonText: '确定',
244
+ cancelButtonText: '取消',
245
+ closeOnClickModal: false,
246
+ type: 'warning'
247
+ })
248
+ .then(() => {
249
+ const loginPage =
250
+ util.getStorage('login') || util.getStorage('loginPage');
251
+ try {
252
+ if (loginPage) {
253
+ let src;
254
+ if (!util.startWith(loginPage, ['http', '/'], true)) {
255
+ let pathname = util.win.top.location.pathname;
256
+ if (pathname !== '/') {
257
+ pathname = pathname.split('/');
258
+ pathname.splice(pathname.length - 1);
259
+ pathname = pathname.join('/');
260
+ src = pathname + '/' + loginPage.replace('./', '');
261
+ } else {
262
+ src = pathname + loginPage.replace('./', '');
263
+ }
264
+ } else {
265
+ src = loginPage;
266
+ }
267
+ util.win.top.location.href = src;
268
+ } else if (
269
+ util.win.top.location.href.indexOf('main.html') > -1
270
+ ) {
271
+ util.win.top.location.href = './login.html';
272
+ } else {
273
+ const hash = util.win.top.location.hash;
274
+ if (hash) {
275
+ const len = util.win.top.location.href.indexOf(hash);
276
+ util.win.top.location.href =
277
+ util.win.location.href.slice(0, len) + '#/login';
278
+ } else {
279
+ util.win.top.location.href = '/login.html';
280
+ }
281
+ }
282
+ } catch (error) {
283
+ util.win.postMessage({ type: 1 }, '*');
284
+ }
285
+ })
286
+ .catch((e) => {});
287
+ } else {
288
+ this.$message({
289
+ message: res.msg,
290
+ type: 'success',
291
+ onClose: () => {
292
+ this.$emit('success', this.model);
293
+ }
294
+ });
295
+ }
296
+ } else {
297
+ let msg = res.msg || '系统错误,请联系管理员!';
298
+ this.$message.error(msg);
299
+ }
300
+ });
301
+ },
302
+ repassword(rule, value, callback) {
303
+ if (this.model.oldpassword && this.model.password && value) {
304
+ util.identical({ value: [value, this.model.password], callback });
305
+ } else {
306
+ callback();
307
+ return true;
308
+ }
309
+ }
310
+ }
311
+ };
312
+ </script>
@@ -1,5 +1,5 @@
1
- import EsMenu from './src/main';
2
-
3
- EsMenu.install = Vue => Vue.component(EsMenu.name, EsMenu);
4
-
5
- export default EsMenu;
1
+ import EsMenu from './src/main';
2
+
3
+ EsMenu.install = Vue => Vue.component(EsMenu.name, EsMenu);
4
+
5
+ export default EsMenu;