eoss-ui 0.6.95 → 0.6.97

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 (257) hide show
  1. package/lib/calogin.js +233 -233
  2. package/lib/eoss-ui.common.js +1046 -923
  3. package/lib/flow-list.js +81 -81
  4. package/lib/flow.js +296 -293
  5. package/lib/form.js +33 -6
  6. package/lib/handle-user.js +3 -4
  7. package/lib/index.js +1 -1
  8. package/lib/input.js +1 -1
  9. package/lib/login.js +5 -10
  10. package/lib/main.js +359 -259
  11. package/lib/qr-code.js +13 -13
  12. package/lib/select.js +0 -1
  13. package/lib/table-form.js +1 -1
  14. package/lib/theme-chalk/index.css +1 -1
  15. package/lib/theme-chalk/main.css +1 -1
  16. package/lib/theme-chalk/simplicity.css +1 -1
  17. package/lib/utils/rules.js +1 -1
  18. package/package.json +160 -160
  19. package/packages/.DS_Store +0 -0
  20. package/packages/autocomplete/.DS_Store +0 -0
  21. package/packages/button/index.js +5 -5
  22. package/packages/button/src/main.vue +418 -418
  23. package/packages/button-group/index.js +5 -5
  24. package/packages/button-group/src/main.vue +298 -298
  25. package/packages/calendar/index.js +5 -5
  26. package/packages/calogin/.DS_Store +0 -0
  27. package/packages/calogin/index.js +5 -5
  28. package/packages/calogin/src/main.vue +412 -412
  29. package/packages/calogin/src/plugin.js +915 -915
  30. package/packages/card/index.js +5 -5
  31. package/packages/card/src/main.vue +156 -156
  32. package/packages/cascader/index.js +5 -5
  33. package/packages/cascader/src/main.vue +168 -168
  34. package/packages/checkbox-group/index.js +5 -5
  35. package/packages/checkbox-group/src/main.vue +333 -333
  36. package/packages/clients/index.js +5 -5
  37. package/packages/clients/src/main.vue +151 -151
  38. package/packages/data-table/index.js +5 -5
  39. package/packages/data-table/src/children.vue +39 -39
  40. package/packages/data-table/src/column.vue +988 -988
  41. package/packages/data-table/src/main.vue +1831 -1831
  42. package/packages/data-table/src/sizer.vue +195 -195
  43. package/packages/data-table-form/index.js +5 -5
  44. package/packages/data-table-form/src/checkbox.vue +101 -101
  45. package/packages/data-table-form/src/colgroup.vue +17 -17
  46. package/packages/data-table-form/src/main.vue +181 -181
  47. package/packages/data-table-form/src/radio.vue +65 -65
  48. package/packages/data-table-form/src/table.vue +233 -233
  49. package/packages/data-table-form/src/tbody.vue +336 -336
  50. package/packages/data-table-form/src/thead.vue +68 -68
  51. package/packages/date-picker/.DS_Store +0 -0
  52. package/packages/date-picker/index.js +5 -5
  53. package/packages/date-picker/src/.DS_Store +0 -0
  54. package/packages/date-picker/src/main.vue +236 -236
  55. package/packages/dialog/index.js +5 -5
  56. package/packages/enable-drag/index.js +5 -5
  57. package/packages/enterprise/index.js +5 -5
  58. package/packages/enterprise/src/main.vue +66 -66
  59. package/packages/error-page/index.js +5 -5
  60. package/packages/error-page/src/main.vue +44 -44
  61. package/packages/flow/.DS_Store +0 -0
  62. package/packages/flow/index.js +5 -5
  63. package/packages/flow/src/.DS_Store +0 -0
  64. package/packages/flow/src/component/Circulate.vue +403 -403
  65. package/packages/flow/src/component/CommonOpinions.vue +364 -364
  66. package/packages/flow/src/component/CustomPreset.vue +322 -322
  67. package/packages/flow/src/component/FileList.vue +99 -99
  68. package/packages/flow/src/component/Preset.vue +255 -255
  69. package/packages/flow/src/component/SendMsg.vue +242 -242
  70. package/packages/flow/src/component/TimeLimit.vue +190 -190
  71. package/packages/flow/src/component/taskUnionExamine.vue +641 -641
  72. package/packages/flow/src/form.vue +121 -121
  73. package/packages/flow/src/freeStartFlow.vue +2844 -2844
  74. package/packages/flow/src/main.vue +3726 -3726
  75. package/packages/flow/src/processForm.vue +1287 -1287
  76. package/packages/flow/src/processReject.vue +308 -304
  77. package/packages/flow/src/reset.vue +941 -941
  78. package/packages/flow/src/startTaskRead.vue +690 -690
  79. package/packages/flow/src/supervise.vue +159 -159
  80. package/packages/flow/src/table.vue +58 -58
  81. package/packages/flow-group/index.js +5 -5
  82. package/packages/flow-group/src/main.vue +692 -692
  83. package/packages/flow-list/.DS_Store +0 -0
  84. package/packages/flow-list/index.js +5 -5
  85. package/packages/flow-list/src/main.vue +1770 -1770
  86. package/packages/form/.DS_Store +0 -0
  87. package/packages/form/index.js +5 -5
  88. package/packages/form/src/main.vue +3846 -3814
  89. package/packages/form/src/table.vue +1508 -1508
  90. package/packages/handle-user/index.js +5 -5
  91. package/packages/handle-user/src/main.vue +137 -138
  92. package/packages/handler/index.js +5 -5
  93. package/packages/handler/src/main.vue +493 -493
  94. package/packages/icon/index.js +5 -5
  95. package/packages/icon/src/main.vue +101 -101
  96. package/packages/icons/index.js +5 -5
  97. package/packages/icons/src/main.vue +81 -81
  98. package/packages/input/index.js +5 -5
  99. package/packages/input/src/main.vue +356 -356
  100. package/packages/input-number/index.js +5 -5
  101. package/packages/input-number/src/main.vue +106 -106
  102. package/packages/label/index.js +5 -5
  103. package/packages/label/src/main.vue +457 -457
  104. package/packages/layout/index.js +5 -5
  105. package/packages/layout/src/item.vue +152 -152
  106. package/packages/layout/src/main.vue +31 -31
  107. package/packages/login/.DS_Store +0 -0
  108. package/packages/login/index.js +5 -5
  109. package/packages/login/src/main.vue +1993 -1998
  110. package/packages/login/src/resetPassword.vue +562 -562
  111. package/packages/main/.DS_Store +0 -0
  112. package/packages/main/index.js +5 -5
  113. package/packages/main/src/.DS_Store +0 -0
  114. package/packages/main/src/default/message.vue +249 -249
  115. package/packages/main/src/default/notice.vue +157 -157
  116. package/packages/main/src/default/userinfo.vue +502 -503
  117. package/packages/main/src/main.vue +0 -2
  118. package/packages/main/src/public/online.vue +89 -89
  119. package/packages/main/src/public/search.vue +464 -464
  120. package/packages/main/src/public/settings.vue +221 -221
  121. package/packages/main/src/simplicity/apps.vue +388 -388
  122. package/packages/main/src/simplicity/avatar.vue +82 -82
  123. package/packages/main/src/simplicity/handler.vue +259 -259
  124. package/packages/main/src/simplicity/index.vue +2125 -2102
  125. package/packages/main/src/simplicity/lists.vue +84 -84
  126. package/packages/main/src/simplicity/menu-list.vue +135 -135
  127. package/packages/main/src/simplicity/message.vue +259 -259
  128. package/packages/main/src/simplicity/notice.vue +190 -190
  129. package/packages/main/src/simplicity/router-page.vue +45 -45
  130. package/packages/main/src/simplicity/sub-menu.vue +264 -264
  131. package/packages/main/src/simplicity/user.vue +258 -259
  132. package/packages/main/src/simplicity/userinfo.vue +356 -308
  133. package/packages/menu/.DS_Store +0 -0
  134. package/packages/menu/index.js +5 -5
  135. package/packages/menu/src/main.vue +584 -584
  136. package/packages/nav/index.js +5 -5
  137. package/packages/nav/src/main.vue +351 -351
  138. package/packages/notify/index.js +5 -5
  139. package/packages/notify/src/main.vue +538 -538
  140. package/packages/page/index.js +5 -5
  141. package/packages/page/src/main.vue +167 -167
  142. package/packages/pagination/index.js +5 -5
  143. package/packages/pagination/src/main.vue +96 -96
  144. package/packages/player/index.js +5 -5
  145. package/packages/player/src/main.vue +194 -194
  146. package/packages/qr-code/index.js +5 -5
  147. package/packages/qr-code/src/main.vue +170 -170
  148. package/packages/radio-group/index.js +6 -6
  149. package/packages/radio-group/src/main.vue +319 -319
  150. package/packages/retrial-auth/index.js +5 -5
  151. package/packages/retrial-auth/src/main.vue +280 -280
  152. package/packages/scrollbar/.DS_Store +0 -0
  153. package/packages/select/.DS_Store +0 -0
  154. package/packages/select/index.js +5 -5
  155. package/packages/select/src/main.vue +781 -782
  156. package/packages/select-ganged/index.js +5 -5
  157. package/packages/select-ganged/src/main.vue +724 -724
  158. package/packages/selector/.DS_Store +0 -0
  159. package/packages/selector/index.js +5 -5
  160. package/packages/selector/src/main.vue +761 -761
  161. package/packages/selector-panel/.DS_Store +0 -0
  162. package/packages/selector-panel/index.js +5 -5
  163. package/packages/selector-panel/src/main.vue +1027 -1027
  164. package/packages/selector-panel/src/selection.vue +170 -170
  165. package/packages/selector-panel/src/tree.vue +129 -129
  166. package/packages/sizer/index.js +5 -5
  167. package/packages/sizer/src/main.vue +254 -254
  168. package/packages/steps/index.js +5 -5
  169. package/packages/steps/src/main.vue +181 -181
  170. package/packages/switch/index.js +5 -5
  171. package/packages/switch/src/main.vue +154 -154
  172. package/packages/table-form/index.js +5 -5
  173. package/packages/tabs/index.js +5 -5
  174. package/packages/tabs/src/main.vue +788 -788
  175. package/packages/tabs-panel/index.js +5 -5
  176. package/packages/tabs-panel/src/main.vue +29 -29
  177. package/packages/theme-chalk/lib/index.css +1 -1
  178. package/packages/theme-chalk/lib/main.css +1 -1
  179. package/packages/theme-chalk/lib/simplicity.css +1 -1
  180. package/packages/theme-chalk/src/.DS_Store +0 -0
  181. package/packages/theme-chalk/src/base.scss +261 -261
  182. package/packages/theme-chalk/src/button-group.scss +176 -176
  183. package/packages/theme-chalk/src/button.scss +24 -24
  184. package/packages/theme-chalk/src/calendar.scss +113 -113
  185. package/packages/theme-chalk/src/card.scss +99 -99
  186. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  187. package/packages/theme-chalk/src/clients.scss +87 -87
  188. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  189. package/packages/theme-chalk/src/data-table.scss +293 -293
  190. package/packages/theme-chalk/src/date-picker.scss +7 -7
  191. package/packages/theme-chalk/src/dialog.scss +77 -77
  192. package/packages/theme-chalk/src/enable-drag.scss +181 -181
  193. package/packages/theme-chalk/src/enterprise.scss +5 -5
  194. package/packages/theme-chalk/src/error-page.scss +18 -18
  195. package/packages/theme-chalk/src/flow-group.scss +110 -110
  196. package/packages/theme-chalk/src/flow-list.scss +39 -39
  197. package/packages/theme-chalk/src/flow.scss +348 -348
  198. package/packages/theme-chalk/src/form.scss +499 -499
  199. package/packages/theme-chalk/src/handle-user.scss +40 -40
  200. package/packages/theme-chalk/src/handler.scss +143 -143
  201. package/packages/theme-chalk/src/icon.scss +1817 -1817
  202. package/packages/theme-chalk/src/icons.scss +99 -99
  203. package/packages/theme-chalk/src/input.scss +9 -9
  204. package/packages/theme-chalk/src/label.scss +24 -24
  205. package/packages/theme-chalk/src/layout.scss +46 -46
  206. package/packages/theme-chalk/src/login.scss +984 -984
  207. package/packages/theme-chalk/src/main.scss +663 -663
  208. package/packages/theme-chalk/src/menu.scss +222 -222
  209. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  210. package/packages/theme-chalk/src/nav.scss +111 -111
  211. package/packages/theme-chalk/src/page.scss +3 -3
  212. package/packages/theme-chalk/src/pagination.scss +29 -29
  213. package/packages/theme-chalk/src/player.scss +9 -9
  214. package/packages/theme-chalk/src/qr-code.scss +17 -17
  215. package/packages/theme-chalk/src/radio-group.scss +9 -9
  216. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  217. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  218. package/packages/theme-chalk/src/select.scss +8 -8
  219. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  220. package/packages/theme-chalk/src/selector.scss +92 -92
  221. package/packages/theme-chalk/src/simplicity.scss +1361 -1355
  222. package/packages/theme-chalk/src/sizer.scss +36 -36
  223. package/packages/theme-chalk/src/steps.scss +88 -88
  224. package/packages/theme-chalk/src/switch.scss +3 -3
  225. package/packages/theme-chalk/src/table-form.scss +1 -1
  226. package/packages/theme-chalk/src/tabs.scss +87 -87
  227. package/packages/theme-chalk/src/tips.scss +7 -7
  228. package/packages/theme-chalk/src/toolbar.scss +179 -179
  229. package/packages/theme-chalk/src/tree-group.scss +72 -72
  230. package/packages/theme-chalk/src/tree.scss +165 -165
  231. package/packages/theme-chalk/src/upload.scss +172 -172
  232. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  233. package/packages/tips/index.js +5 -5
  234. package/packages/tips/src/main.vue +141 -141
  235. package/packages/toolbar/index.js +5 -5
  236. package/packages/toolbar/src/main.vue +430 -430
  237. package/packages/tree/index.js +5 -5
  238. package/packages/tree-group/index.js +5 -5
  239. package/packages/upload/.DS_Store +0 -0
  240. package/packages/upload/index.js +5 -5
  241. package/packages/upload/src/main.vue +1343 -1343
  242. package/packages/upload/src/picture.js +15 -15
  243. package/packages/wujie/index.js +5 -5
  244. package/packages/wujie/src/main.vue +145 -145
  245. package/packages/wxlogin/index.js +5 -5
  246. package/packages/wxlogin/src/main.vue +128 -128
  247. package/src/.DS_Store +0 -0
  248. package/src/config/api.js +308 -308
  249. package/src/config/image.js +2 -2
  250. package/src/index.js +163 -163
  251. package/src/utils/.DS_Store +0 -0
  252. package/src/utils/bus.js +3 -3
  253. package/src/utils/date-util.js +312 -312
  254. package/src/utils/http.js +50 -50
  255. package/src/utils/rules.js +18 -18
  256. package/src/utils/store.js +21 -21
  257. package/src/utils/webSocket.js +107 -107
@@ -1,259 +1,258 @@
1
- <template>
2
- <div class="es-simplicity-userinfo">
3
- <div class="es-simplicity-user">
4
- <div class="es-simplicity-user-name">
5
- {{ user.username }}
6
- <el-dropdown
7
- v-if="user.identityList && user.identityList.length"
8
- trigger="click"
9
- placement="bottom-start"
10
- @command="handleSelect"
11
- >
12
- <span class="el-dropdown-link">
13
- <i class="es-icon-renyuanqiehuan"></i>
14
- </span>
15
- <el-dropdown-menu slot="dropdown">
16
- <el-dropdown-item
17
- v-for="item in user.identityList"
18
- :key="item.id"
19
- :command="item"
20
- :class="{ 'is-active': user.identityId == item.id }"
21
- >{{ item.name }}</el-dropdown-item
22
- >
23
- </el-dropdown-menu>
24
- </el-dropdown>
25
- </div>
26
- <div class="es-simplicity-org-name">{{ user.orgName }}</div>
27
- <div class="es-simplicity-dep-post">
28
- <span class="es-simplicity-dep-name"> {{ user.depName }}</span>
29
- <template v-if="user.postName">
30
- |
31
- <span class="es-simplicity-post-name">{{
32
- user.position || user.postName
33
- }}</span>
34
- </template>
35
- </div>
36
-
37
- <avatar
38
- slot="reference"
39
- upload
40
- :user="user"
41
- :code="headImgCode"
42
- @change="handleChange"
43
- >
44
- </avatar>
45
- </div>
46
- <div class="es-simplicity-notice-type" v-if="userScanBindImgUrl">
47
- <div class="es-simplicity-notice-title">微信公众号:</div>
48
- <el-image
49
- class="es-simplicity-qrcode"
50
- @click="getQrcode"
51
- :src="qrcode"
52
- ></el-image>
53
- </div>
54
- <!-- <div class="es-simplicity-notice-type">
55
- <div class="es-simplicity-notice-title">接收消息类型:</div>
56
- <es-checkbox-group
57
- class="es-simplicity-notice-list"
58
- v-model="checked"
59
- :min="1"
60
- :data="notifyList"
61
- @change="handleCheckboxChange"
62
- ></es-checkbox-group>
63
- </div> -->
64
- <div class="es-simplicity-password" @click="handleOpen">
65
- 修改密码 <i class="es-icon-arrow-right"></i>
66
- </div>
67
- <es-dialog title="修改密码" :visible.sync="visible">
68
- <user-info
69
- v-if="visible"
70
- :contents="contents"
71
- :value="userInfo"
72
- @success="handleSuccess"
73
- >
74
- </user-info>
75
- </es-dialog>
76
- </div>
77
- </template>
78
-
79
- <script>
80
- import avatar from './avatar.vue';
81
- import userInfo from './userinfo.vue';
82
- import util from 'eoss-ui/src/utils/util';
83
- import { debounce } from 'throttle-debounce';
84
- import {
85
- initUserSet,
86
- switchUserTo,
87
- updateUserCustomInfo
88
- } from 'eoss-ui/src/config/api.js';
89
- export default {
90
- name: 'User',
91
- components: { avatar, userInfo },
92
- props: {
93
- notify: String,
94
- notifyList: Array,
95
- user: Object,
96
- contents: Array
97
- },
98
- data() {
99
- return {
100
- userScanBindImgUrl: null,
101
- qrcode: null,
102
- checked: [],
103
- visible: false,
104
- checkPassword: null,
105
- checkPasswordMsg: null,
106
- headImgCode: undefined
107
- };
108
- },
109
- computed: {},
110
- watch: {
111
- notify: {
112
- immediate: true,
113
- handler(val) {
114
- if (val) {
115
- this.checked = val.split(',');
116
- }
117
- }
118
- }
119
- },
120
- beforeCreate() {
121
- this.setNoticeType = debounce(1000, () => {
122
- this.setNotice();
123
- });
124
- },
125
- created() {},
126
- mounted() {
127
- this.getData();
128
- },
129
- methods: {
130
- //获取用户详细信息
131
- getData() {
132
- util
133
- .ajax({
134
- url: initUserSet
135
- })
136
- .then((res) => {
137
- if (res.rCode === 0) {
138
- const results = JSON.parse(JSON.stringify(res.results));
139
- this.userInfo = results.simpleUserInfo;
140
- if (results.userScanBindImgUrl) {
141
- this.userScanBindImgUrl = results.userScanBindImgUrl;
142
- this.qrcode = this.userScanBindImgUrl;
143
- }
144
- this.checkPassword = results.checkPassword;
145
- this.checkPasswordMsg = results.checkPasswordMsg;
146
- this.headImgCode = results.headImgCode || undefined;
147
- this.$emit('success', results);
148
- } else {
149
- let msg = res.msg || '系统错误,请联系管理员!';
150
- this.$message.error(msg);
151
- }
152
- })
153
- .catch((err) => {
154
- if (err.message && err.message !== 'canceled') {
155
- this.$message.error(err.message);
156
- }
157
- });
158
- },
159
- //刷新公众号二维码图片
160
- getQrcode() {
161
- this.qrcode =
162
- this.userScanBindImgUrl +
163
- '&_tt=' +
164
- Math.random().toString().split('.')[1];
165
- },
166
- //修改头像
167
- handleChange(res) {
168
- this.$emit('change', 'userHeadUrl', res);
169
- },
170
- //设置通知类型
171
- setNotice() {
172
- let notify = this.checked.join(',');
173
- util
174
- .ajax({
175
- method: 'post',
176
- url: updateUserCustomInfo,
177
- data: {
178
- notify: notify
179
- }
180
- })
181
- .then((results) => {
182
- if (results.rCode === 0) {
183
- this.$message.success(results.msg);
184
- this.$emit('change', 'notify', notify);
185
- } else {
186
- this.$message.error(results.msg || '系统错误,请联系管理员!');
187
- }
188
- })
189
- .catch((err) => {
190
- if (err.message && err.message !== 'canceled') {
191
- this.$message.error(err.message);
192
- }
193
- });
194
- },
195
- //改变通知类型回调
196
- handleCheckboxChange() {
197
- this.setNoticeType(this.checked);
198
- },
199
- //切换职务
200
- handleSelect(res) {
201
- if (this.user.identityId !== res.id) {
202
- util
203
- .ajax({
204
- method: 'post',
205
- url: switchUserTo,
206
- data: { userId: res.value }
207
- })
208
- .then((res) => {
209
- if (res.rCode == 0) {
210
- this.$emit('close');
211
- util.setStorage({
212
- type: this.storage,
213
- key: 'userId',
214
- value: res.value
215
- });
216
- util.removeStorage(['mainConfig', 'jump']);
217
- this.$message({
218
- message: res.msg,
219
- type: 'success',
220
- duration: 500,
221
- onClose: () => {
222
- if (
223
- util.win.location.href.indexOf('#/main') > -1 ||
224
- util.win.location.href.indexOf('/main.html') > -1
225
- ) {
226
- location.reload();
227
- } else {
228
- this.$router.replace('/main');
229
- }
230
- }
231
- });
232
- } else {
233
- this.$message({
234
- message: res.msg || '系统错误,请联系管理员!',
235
- type: 'error',
236
- duration: 1500
237
- });
238
- }
239
- })
240
- .catch((err) => {
241
- if (err.message && err.message !== 'canceled') {
242
- this.$message.error(err.message);
243
- }
244
- });
245
- }
246
- },
247
- //打开修改密码弹窗
248
- handleOpen() {
249
- this.visible = true;
250
- },
251
- handleSuccess() {
252
- this.visible = false;
253
- this.getData();
254
- }
255
- }
256
- };
257
- </script>
258
-
259
- <style lang="scss" scoped></style>
1
+ <template>
2
+ <div class="es-simplicity-userinfo">
3
+ <div class="es-simplicity-user">
4
+ <div class="es-simplicity-user-name">
5
+ {{ user.username }}
6
+ <el-dropdown
7
+ v-if="user.identityList && user.identityList.length"
8
+ trigger="click"
9
+ placement="bottom-start"
10
+ @command="handleSelect"
11
+ >
12
+ <span class="el-dropdown-link">
13
+ <i class="es-icon-renyuanqiehuan"></i>
14
+ </span>
15
+ <el-dropdown-menu slot="dropdown">
16
+ <el-dropdown-item
17
+ v-for="item in user.identityList"
18
+ :key="item.id"
19
+ :command="item"
20
+ :class="{ 'is-active': user.identityId == item.id }"
21
+ >{{ item.name }}</el-dropdown-item
22
+ >
23
+ </el-dropdown-menu>
24
+ </el-dropdown>
25
+ </div>
26
+ <div class="es-simplicity-org-name">{{ user.orgName }}</div>
27
+ <div class="es-simplicity-dep-post">
28
+ <span class="es-simplicity-dep-name"> {{ user.depName }}</span>
29
+ <template v-if="user.postName">
30
+ |
31
+ <span class="es-simplicity-post-name">{{
32
+ user.position || user.postName
33
+ }}</span>
34
+ </template>
35
+ </div>
36
+
37
+ <avatar
38
+ slot="reference"
39
+ upload
40
+ :user="user"
41
+ :code="headImgCode"
42
+ @change="handleChange"
43
+ >
44
+ </avatar>
45
+ </div>
46
+ <div class="es-simplicity-notice-type" v-if="userScanBindImgUrl">
47
+ <div class="es-simplicity-notice-title">微信公众号:</div>
48
+ <el-image
49
+ class="es-simplicity-qrcode"
50
+ @click="getQrcode"
51
+ :src="qrcode"
52
+ ></el-image>
53
+ </div>
54
+ <!-- <div class="es-simplicity-notice-type">
55
+ <div class="es-simplicity-notice-title">接收消息类型:</div>
56
+ <es-checkbox-group
57
+ class="es-simplicity-notice-list"
58
+ v-model="checked"
59
+ :min="1"
60
+ :data="notifyList"
61
+ @change="handleCheckboxChange"
62
+ ></es-checkbox-group>
63
+ </div> -->
64
+ <div class="es-simplicity-password" @click="handleOpen">
65
+ 资料修改 <i class="es-icon-arrow-right"></i>
66
+ </div>
67
+ <es-dialog title="资料修改" :visible.sync="visible">
68
+ <user-info
69
+ v-if="visible"
70
+ :contents="contents"
71
+ :value="userInfo"
72
+ @success="handleSuccess"
73
+ >
74
+ </user-info>
75
+ </es-dialog>
76
+ </div>
77
+ </template>
78
+
79
+ <script>
80
+ import avatar from './avatar.vue';
81
+ import userInfo from './userinfo.vue';
82
+ import util from 'eoss-ui/src/utils/util';
83
+ import { debounce } from 'throttle-debounce';
84
+ import {
85
+ initUserSet,
86
+ switchUserTo,
87
+ updateUserCustomInfo
88
+ } from 'eoss-ui/src/config/api.js';
89
+ export default {
90
+ name: 'User',
91
+ components: { avatar, userInfo },
92
+ props: {
93
+ notify: String,
94
+ notifyList: Array,
95
+ user: Object,
96
+ contents: Array
97
+ },
98
+ data() {
99
+ return {
100
+ userScanBindImgUrl: null,
101
+ qrcode: null,
102
+ checked: [],
103
+ visible: false,
104
+ checkPassword: null,
105
+ checkPasswordMsg: null,
106
+ headImgCode: undefined
107
+ };
108
+ },
109
+ computed: {},
110
+ watch: {
111
+ notify: {
112
+ immediate: true,
113
+ handler(val) {
114
+ if (val) {
115
+ this.checked = val.split(',');
116
+ }
117
+ }
118
+ }
119
+ },
120
+ beforeCreate() {
121
+ this.setNoticeType = debounce(1000, () => {
122
+ this.setNotice();
123
+ });
124
+ },
125
+ created() {},
126
+ mounted() {
127
+ this.getData();
128
+ },
129
+ methods: {
130
+ //获取用户详细信息
131
+ getData() {
132
+ util
133
+ .ajax({
134
+ url: initUserSet
135
+ })
136
+ .then((res) => {
137
+ if (res.rCode === 0) {
138
+ const results = JSON.parse(JSON.stringify(res.results));
139
+ this.userInfo = results.simpleUserInfo;
140
+ if (results.userScanBindImgUrl) {
141
+ this.userScanBindImgUrl = results.userScanBindImgUrl;
142
+ this.qrcode = this.userScanBindImgUrl;
143
+ }
144
+ this.checkPassword = results.checkPassword;
145
+ this.checkPasswordMsg = results.checkPasswordMsg;
146
+ this.headImgCode = results.headImgCode || undefined;
147
+ this.$emit('success', results);
148
+ } else {
149
+ let msg = res.msg || '系统错误,请联系管理员!';
150
+ this.$message.error(msg);
151
+ }
152
+ })
153
+ .catch((err) => {
154
+ if (err.message && err.message !== 'canceled') {
155
+ this.$message.error(err.message);
156
+ }
157
+ });
158
+ },
159
+ //刷新公众号二维码图片
160
+ getQrcode() {
161
+ this.qrcode =
162
+ this.userScanBindImgUrl +
163
+ '&_tt=' +
164
+ Math.random().toString().split('.')[1];
165
+ },
166
+ //修改头像
167
+ handleChange(res) {
168
+ this.$emit('change', 'userHeadUrl', res);
169
+ },
170
+ //设置通知类型
171
+ setNotice() {
172
+ let notify = this.checked.join(',');
173
+ util
174
+ .ajax({
175
+ method: 'post',
176
+ url: updateUserCustomInfo,
177
+ data: {
178
+ notify: notify
179
+ }
180
+ })
181
+ .then((results) => {
182
+ if (results.rCode === 0) {
183
+ this.$message.success(results.msg);
184
+ this.$emit('change', 'notify', notify);
185
+ } else {
186
+ this.$message.error(results.msg || '系统错误,请联系管理员!');
187
+ }
188
+ })
189
+ .catch((err) => {
190
+ if (err.message && err.message !== 'canceled') {
191
+ this.$message.error(err.message);
192
+ }
193
+ });
194
+ },
195
+ //改变通知类型回调
196
+ handleCheckboxChange() {
197
+ this.setNoticeType(this.checked);
198
+ },
199
+ //切换职务
200
+ handleSelect(res) {
201
+ if (this.user.identityId !== res.id) {
202
+ util
203
+ .ajax({
204
+ method: 'post',
205
+ url: switchUserTo,
206
+ data: { userId: res.value }
207
+ })
208
+ .then((res) => {
209
+ if (res.rCode == 0) {
210
+ this.$emit('close');
211
+ util.setStorage({
212
+ type: this.storage,
213
+ key: 'userId',
214
+ value: res.value
215
+ });
216
+ util.removeStorage(['mainConfig', 'jump']);
217
+ this.$message({
218
+ message: res.msg,
219
+ type: 'success',
220
+ duration: 500,
221
+ onClose: () => {
222
+ if (
223
+ util.win.location.href.indexOf('#/main') > -1 ||
224
+ util.win.location.href.indexOf('/main.html') > -1
225
+ ) {
226
+ location.reload();
227
+ } else {
228
+ this.$router.replace('/main');
229
+ }
230
+ }
231
+ });
232
+ } else {
233
+ this.$message({
234
+ message: res.msg || '系统错误,请联系管理员!',
235
+ type: 'error'
236
+ });
237
+ }
238
+ })
239
+ .catch((err) => {
240
+ if (err.message && err.message !== 'canceled') {
241
+ this.$message.error(err.message);
242
+ }
243
+ });
244
+ }
245
+ },
246
+ //打开修改密码弹窗
247
+ handleOpen() {
248
+ this.visible = true;
249
+ },
250
+ handleSuccess() {
251
+ this.visible = false;
252
+ this.getData();
253
+ }
254
+ }
255
+ };
256
+ </script>
257
+
258
+ <style lang="scss" scoped></style>