eoss-ui 0.6.99 → 0.7.10

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 (243) hide show
  1. package/lib/calogin.js +233 -233
  2. package/lib/eoss-ui.common.js +769 -757
  3. package/lib/flow-list.js +81 -81
  4. package/lib/flow.js +304 -292
  5. package/lib/index.js +1 -1
  6. package/lib/main.js +132 -132
  7. package/lib/qr-code.js +13 -13
  8. package/package.json +160 -160
  9. package/packages/button/index.js +5 -5
  10. package/packages/button/src/main.vue +418 -418
  11. package/packages/button-group/index.js +5 -5
  12. package/packages/button-group/src/main.vue +298 -298
  13. package/packages/calendar/index.js +5 -5
  14. package/packages/calogin/index.js +5 -5
  15. package/packages/calogin/src/main.vue +412 -412
  16. package/packages/calogin/src/plugin.js +915 -915
  17. package/packages/card/index.js +5 -5
  18. package/packages/card/src/main.vue +156 -156
  19. package/packages/cascader/index.js +5 -5
  20. package/packages/cascader/src/main.vue +168 -168
  21. package/packages/checkbox-group/index.js +5 -5
  22. package/packages/checkbox-group/src/main.vue +333 -333
  23. package/packages/clients/index.js +5 -5
  24. package/packages/clients/src/main.vue +151 -151
  25. package/packages/data-table/index.js +5 -5
  26. package/packages/data-table/src/children.vue +39 -39
  27. package/packages/data-table/src/column.vue +988 -988
  28. package/packages/data-table/src/main.vue +1831 -1831
  29. package/packages/data-table/src/sizer.vue +195 -195
  30. package/packages/data-table-form/index.js +5 -5
  31. package/packages/data-table-form/src/checkbox.vue +101 -101
  32. package/packages/data-table-form/src/colgroup.vue +17 -17
  33. package/packages/data-table-form/src/main.vue +181 -181
  34. package/packages/data-table-form/src/radio.vue +65 -65
  35. package/packages/data-table-form/src/table.vue +233 -233
  36. package/packages/data-table-form/src/tbody.vue +336 -336
  37. package/packages/data-table-form/src/thead.vue +68 -68
  38. package/packages/date-picker/index.js +5 -5
  39. package/packages/date-picker/src/main.vue +236 -236
  40. package/packages/dialog/index.js +5 -5
  41. package/packages/enable-drag/index.js +5 -5
  42. package/packages/enterprise/index.js +5 -5
  43. package/packages/enterprise/src/main.vue +66 -66
  44. package/packages/error-page/index.js +5 -5
  45. package/packages/error-page/src/main.vue +44 -44
  46. package/packages/flow/index.js +5 -5
  47. package/packages/flow/src/component/Circulate.vue +405 -403
  48. package/packages/flow/src/component/CommonOpinions.vue +364 -364
  49. package/packages/flow/src/component/CustomPreset.vue +322 -322
  50. package/packages/flow/src/component/FileList.vue +99 -99
  51. package/packages/flow/src/component/Preset.vue +255 -255
  52. package/packages/flow/src/component/SendMsg.vue +242 -242
  53. package/packages/flow/src/component/TimeLimit.vue +190 -190
  54. package/packages/flow/src/component/taskUnionExamine.vue +641 -641
  55. package/packages/flow/src/form.vue +121 -121
  56. package/packages/flow/src/freeStartFlow.vue +2844 -2844
  57. package/packages/flow/src/main.vue +3742 -3726
  58. package/packages/flow/src/processForm.vue +1287 -1287
  59. package/packages/flow/src/processReject.vue +308 -308
  60. package/packages/flow/src/reset.vue +941 -941
  61. package/packages/flow/src/startTaskRead.vue +690 -690
  62. package/packages/flow/src/supervise.vue +159 -159
  63. package/packages/flow/src/table.vue +58 -58
  64. package/packages/flow-group/index.js +5 -5
  65. package/packages/flow-group/src/main.vue +692 -692
  66. package/packages/flow-list/index.js +5 -5
  67. package/packages/flow-list/src/main.vue +1770 -1770
  68. package/packages/form/index.js +5 -5
  69. package/packages/form/src/main.vue +3846 -3846
  70. package/packages/form/src/table.vue +1508 -1508
  71. package/packages/handle-user/index.js +5 -5
  72. package/packages/handle-user/src/main.vue +137 -137
  73. package/packages/handler/index.js +5 -5
  74. package/packages/handler/src/main.vue +493 -493
  75. package/packages/icon/index.js +5 -5
  76. package/packages/icon/src/main.vue +101 -101
  77. package/packages/icons/index.js +5 -5
  78. package/packages/icons/src/main.vue +81 -81
  79. package/packages/input/index.js +5 -5
  80. package/packages/input/src/main.vue +356 -356
  81. package/packages/input-number/index.js +5 -5
  82. package/packages/input-number/src/main.vue +106 -106
  83. package/packages/label/index.js +5 -5
  84. package/packages/label/src/main.vue +457 -457
  85. package/packages/layout/index.js +5 -5
  86. package/packages/layout/src/item.vue +152 -152
  87. package/packages/layout/src/main.vue +31 -31
  88. package/packages/login/index.js +5 -5
  89. package/packages/login/src/main.vue +1993 -1993
  90. package/packages/login/src/resetPassword.vue +562 -562
  91. package/packages/main/index.js +5 -5
  92. package/packages/main/src/default/message.vue +249 -249
  93. package/packages/main/src/default/notice.vue +157 -157
  94. package/packages/main/src/default/userinfo.vue +502 -502
  95. package/packages/main/src/public/online.vue +89 -89
  96. package/packages/main/src/public/search.vue +464 -464
  97. package/packages/main/src/public/settings.vue +221 -221
  98. package/packages/main/src/simplicity/apps.vue +388 -388
  99. package/packages/main/src/simplicity/avatar.vue +82 -82
  100. package/packages/main/src/simplicity/handler.vue +259 -259
  101. package/packages/main/src/simplicity/index.vue +2125 -2125
  102. package/packages/main/src/simplicity/lists.vue +84 -84
  103. package/packages/main/src/simplicity/menu-list.vue +135 -135
  104. package/packages/main/src/simplicity/message.vue +259 -259
  105. package/packages/main/src/simplicity/notice.vue +190 -190
  106. package/packages/main/src/simplicity/router-page.vue +45 -45
  107. package/packages/main/src/simplicity/sub-menu.vue +264 -264
  108. package/packages/main/src/simplicity/user.vue +259 -259
  109. package/packages/main/src/simplicity/userinfo.vue +397 -397
  110. package/packages/menu/index.js +5 -5
  111. package/packages/menu/src/main.vue +584 -584
  112. package/packages/nav/index.js +5 -5
  113. package/packages/nav/src/main.vue +351 -351
  114. package/packages/notify/index.js +5 -5
  115. package/packages/notify/src/main.vue +538 -538
  116. package/packages/page/index.js +5 -5
  117. package/packages/page/src/main.vue +167 -167
  118. package/packages/pagination/index.js +5 -5
  119. package/packages/pagination/src/main.vue +96 -96
  120. package/packages/player/index.js +5 -5
  121. package/packages/player/src/main.vue +194 -194
  122. package/packages/qr-code/index.js +5 -5
  123. package/packages/qr-code/src/main.vue +170 -170
  124. package/packages/radio-group/index.js +6 -6
  125. package/packages/radio-group/src/main.vue +319 -319
  126. package/packages/retrial-auth/index.js +5 -5
  127. package/packages/retrial-auth/src/main.vue +280 -280
  128. package/packages/select/index.js +5 -5
  129. package/packages/select/src/main.vue +781 -781
  130. package/packages/select-ganged/index.js +5 -5
  131. package/packages/select-ganged/src/main.vue +724 -724
  132. package/packages/selector/index.js +5 -5
  133. package/packages/selector/src/main.vue +761 -761
  134. package/packages/selector-panel/index.js +5 -5
  135. package/packages/selector-panel/src/main.vue +1027 -1027
  136. package/packages/selector-panel/src/selection.vue +170 -170
  137. package/packages/selector-panel/src/tree.vue +129 -129
  138. package/packages/sizer/index.js +5 -5
  139. package/packages/sizer/src/main.vue +254 -254
  140. package/packages/steps/index.js +5 -5
  141. package/packages/steps/src/main.vue +181 -181
  142. package/packages/switch/index.js +5 -5
  143. package/packages/switch/src/main.vue +154 -154
  144. package/packages/table-form/index.js +5 -5
  145. package/packages/tabs/index.js +5 -5
  146. package/packages/tabs/src/main.vue +788 -788
  147. package/packages/tabs-panel/index.js +5 -5
  148. package/packages/tabs-panel/src/main.vue +29 -29
  149. package/packages/theme-chalk/src/base.scss +261 -261
  150. package/packages/theme-chalk/src/button-group.scss +176 -176
  151. package/packages/theme-chalk/src/button.scss +24 -24
  152. package/packages/theme-chalk/src/calendar.scss +113 -113
  153. package/packages/theme-chalk/src/card.scss +99 -99
  154. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  155. package/packages/theme-chalk/src/clients.scss +87 -87
  156. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  157. package/packages/theme-chalk/src/data-table.scss +293 -293
  158. package/packages/theme-chalk/src/date-picker.scss +7 -7
  159. package/packages/theme-chalk/src/dialog.scss +77 -77
  160. package/packages/theme-chalk/src/enable-drag.scss +181 -181
  161. package/packages/theme-chalk/src/enterprise.scss +5 -5
  162. package/packages/theme-chalk/src/error-page.scss +18 -18
  163. package/packages/theme-chalk/src/flow-group.scss +110 -110
  164. package/packages/theme-chalk/src/flow-list.scss +39 -39
  165. package/packages/theme-chalk/src/flow.scss +348 -348
  166. package/packages/theme-chalk/src/form.scss +499 -499
  167. package/packages/theme-chalk/src/handle-user.scss +40 -40
  168. package/packages/theme-chalk/src/handler.scss +143 -143
  169. package/packages/theme-chalk/src/icon.scss +1817 -1817
  170. package/packages/theme-chalk/src/icons.scss +99 -99
  171. package/packages/theme-chalk/src/input.scss +9 -9
  172. package/packages/theme-chalk/src/label.scss +24 -24
  173. package/packages/theme-chalk/src/layout.scss +46 -46
  174. package/packages/theme-chalk/src/login.scss +984 -984
  175. package/packages/theme-chalk/src/main.scss +663 -663
  176. package/packages/theme-chalk/src/menu.scss +222 -222
  177. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  178. package/packages/theme-chalk/src/nav.scss +111 -111
  179. package/packages/theme-chalk/src/page.scss +3 -3
  180. package/packages/theme-chalk/src/pagination.scss +29 -29
  181. package/packages/theme-chalk/src/player.scss +9 -9
  182. package/packages/theme-chalk/src/qr-code.scss +17 -17
  183. package/packages/theme-chalk/src/radio-group.scss +9 -9
  184. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  185. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  186. package/packages/theme-chalk/src/select.scss +8 -8
  187. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  188. package/packages/theme-chalk/src/selector.scss +92 -92
  189. package/packages/theme-chalk/src/simplicity.scss +1361 -1361
  190. package/packages/theme-chalk/src/sizer.scss +36 -36
  191. package/packages/theme-chalk/src/steps.scss +88 -88
  192. package/packages/theme-chalk/src/switch.scss +3 -3
  193. package/packages/theme-chalk/src/table-form.scss +1 -1
  194. package/packages/theme-chalk/src/tabs.scss +87 -87
  195. package/packages/theme-chalk/src/tips.scss +7 -7
  196. package/packages/theme-chalk/src/toolbar.scss +179 -179
  197. package/packages/theme-chalk/src/tree-group.scss +72 -72
  198. package/packages/theme-chalk/src/tree.scss +165 -165
  199. package/packages/theme-chalk/src/upload.scss +172 -172
  200. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  201. package/packages/tips/index.js +5 -5
  202. package/packages/tips/src/main.vue +141 -141
  203. package/packages/toolbar/index.js +5 -5
  204. package/packages/toolbar/src/main.vue +430 -430
  205. package/packages/tree/index.js +5 -5
  206. package/packages/tree-group/index.js +5 -5
  207. package/packages/upload/index.js +5 -5
  208. package/packages/upload/src/main.vue +1343 -1343
  209. package/packages/upload/src/picture.js +15 -15
  210. package/packages/wujie/index.js +5 -5
  211. package/packages/wujie/src/main.vue +145 -145
  212. package/packages/wxlogin/index.js +5 -5
  213. package/packages/wxlogin/src/main.vue +128 -128
  214. package/src/config/api.js +308 -308
  215. package/src/config/image.js +2 -2
  216. package/src/index.js +163 -163
  217. package/src/utils/bus.js +3 -3
  218. package/src/utils/date-util.js +312 -312
  219. package/src/utils/http.js +50 -50
  220. package/src/utils/rules.js +18 -18
  221. package/src/utils/store.js +21 -21
  222. package/src/utils/webSocket.js +107 -107
  223. package/packages/.DS_Store +0 -0
  224. package/packages/autocomplete/.DS_Store +0 -0
  225. package/packages/calogin/.DS_Store +0 -0
  226. package/packages/date-picker/.DS_Store +0 -0
  227. package/packages/date-picker/src/.DS_Store +0 -0
  228. package/packages/flow/.DS_Store +0 -0
  229. package/packages/flow/src/.DS_Store +0 -0
  230. package/packages/flow-list/.DS_Store +0 -0
  231. package/packages/form/.DS_Store +0 -0
  232. package/packages/login/.DS_Store +0 -0
  233. package/packages/main/.DS_Store +0 -0
  234. package/packages/main/src/.DS_Store +0 -0
  235. package/packages/menu/.DS_Store +0 -0
  236. package/packages/scrollbar/.DS_Store +0 -0
  237. package/packages/select/.DS_Store +0 -0
  238. package/packages/selector/.DS_Store +0 -0
  239. package/packages/selector-panel/.DS_Store +0 -0
  240. package/packages/theme-chalk/src/.DS_Store +0 -0
  241. package/packages/upload/.DS_Store +0 -0
  242. package/src/.DS_Store +0 -0
  243. package/src/utils/.DS_Store +0 -0
@@ -1,259 +1,259 @@
1
- <template>
2
- <div class="es-simplicity-handler">
3
- <template v-for="item in lists">
4
- <div
5
- v-if="item.type == 'contact'"
6
- class="es-simplicity-contact"
7
- :key="item.type"
8
- >
9
- <div class="es-contact-label">{{ item.label }}</div>
10
- <div class="es-contact-content">
11
- <div v-for="ele in item.content" :key="ele">{{ ele }}</div>
12
- </div>
13
- </div>
14
- <div
15
- class="es-simplicity-date-time"
16
- v-else-if="item.type === 'dateTime'"
17
- :key="item.type"
18
- >
19
- <div class="es-simplicity-handler-time">
20
- {{ time }}
21
- </div>
22
- <div class="es-simplicity-handler-date">
23
- {{ date }}
24
- </div>
25
- </div>
26
- <div
27
- v-else-if="item.type === 'online' || item.type === 'onlineUser'"
28
- class="es-simplicity-online"
29
- :key="item.type"
30
- >
31
- 当前
32
- <span
33
- class="es-simplicity-online-num"
34
- @click="isClick ? handleClick({ type: 'online' }) : ''"
35
- :class="{ 'es-pointer': isClick }"
36
- >
37
- {{ online }}
38
- </span>
39
- 人在线
40
- </div>
41
- <el-badge
42
- class="es-simplicity-handler-item"
43
- v-else-if="item.type === 'notice' || item.type === 'messsage'"
44
- :key="item.type"
45
- :value="noticeNum"
46
- :max="99"
47
- :hidden="noticeNum < 1"
48
- >
49
- <div
50
- class="es-simplicity-handler-icon"
51
- :title="item.title"
52
- :class="item.icon"
53
- @click="handleClick(item)"
54
- ></div>
55
- </el-badge>
56
- <div
57
- v-else
58
- class="es-simplicity-handler-item es-simplicity-handler-icon"
59
- :key="item.type"
60
- :title="item.title"
61
- :class="item.icon"
62
- @click="handleClick(item)"
63
- ></div>
64
- </template>
65
- </div>
66
- </template>
67
-
68
- <script>
69
- import util from 'eoss-ui/src/utils/util';
70
- export default {
71
- name: 'Handler',
72
- components: {},
73
- props: {
74
- contact: Object,
75
- dateTime: {
76
- type: [Boolean, Object],
77
- default() {
78
- return { type: 'dateTime' };
79
- },
80
- validator: (val) => {
81
- return val === false || typeof val === 'object';
82
- }
83
- },
84
- onlineUser: {
85
- type: [Boolean, Object],
86
- default() {
87
- return { type: 'onlineUser' };
88
- },
89
- validator: (val) => {
90
- return val === false || typeof val === 'object';
91
- }
92
- },
93
- search: {
94
- type: [Boolean, Object],
95
- default() {
96
- return {
97
- type: 'search',
98
- icon: 'es-icon-magnifier',
99
- title: '搜索'
100
- };
101
- },
102
- validator: (val) => {
103
- return val === false || typeof val === 'object';
104
- }
105
- },
106
- im: {
107
- type: [Boolean, Object],
108
- default() {
109
- return {
110
- type: 'im',
111
- icon: 'es-icon-liaotian',
112
- title: 'IM'
113
- };
114
- },
115
- validator: (val) => {
116
- return val === false || typeof val === 'object';
117
- }
118
- },
119
- index: {
120
- type: [Boolean, Object],
121
- default() {
122
- return {
123
- type: 'index',
124
- icon: 'es-icon-home',
125
- title: '门户'
126
- };
127
- },
128
- validator: (val) => {
129
- return val === false || typeof val === 'object';
130
- }
131
- },
132
- home: {
133
- type: [Boolean, Object],
134
- default() {
135
- return {
136
- type: 'home',
137
- icon: 'es-icon-zuomian',
138
- title: '个人工作台'
139
- };
140
- }
141
- },
142
- notice: {
143
- type: [Boolean, Object],
144
- default() {
145
- return {
146
- type: 'notice',
147
- icon: 'es-icon-tongzhi',
148
- title: '通知消息'
149
- };
150
- }
151
- },
152
- quit: {
153
- type: [Boolean, Object],
154
- default() {
155
- return {
156
- type: 'quit',
157
- icon: 'es-icon-guanji',
158
- title: '退出'
159
- };
160
- }
161
- },
162
- set: {
163
- type: [Boolean, Object],
164
- default() {
165
- return {
166
- type: 'set',
167
- icon: 'es-icon-xitongguanli',
168
- title: '设置'
169
- };
170
- },
171
- validator: (val) => {
172
- return val === false || typeof val === 'object';
173
- }
174
- },
175
- data: Array,
176
- hide: {
177
- type: Object,
178
- default() {
179
- return {};
180
- }
181
- },
182
- msgNum: {
183
- type: Number,
184
- default: 0
185
- },
186
- noticeNum: {
187
- type: Number,
188
- default: 0
189
- },
190
- online: {
191
- type: Number,
192
- default: 1
193
- }
194
- },
195
- data() {
196
- return {
197
- time: '',
198
- date: '',
199
- timer: null
200
- };
201
- },
202
- computed: {
203
- lists() {
204
- let hide = {
205
- old: true,
206
- im: true,
207
- ...this.hide
208
- };
209
- let data = this.data
210
- ? this.data
211
- : [
212
- this.contact ? { ...this.contact, type: 'contact' } : {},
213
- this.dateTime,
214
- this.onlineUser,
215
- this.search,
216
- this.im,
217
- this.index,
218
- this.home,
219
- this.notice,
220
- this.quit,
221
- this.set
222
- ];
223
- return data.filter((item) => {
224
- return (
225
- item && Object.keys(item).length && !item.hide && !hide[item.type]
226
- );
227
- });
228
- },
229
- isClick() {
230
- let useCaseCodes = util.getStorage('useCaseCodes');
231
- return useCaseCodes && useCaseCodes.includes('sys_user_onlineList');
232
- }
233
- },
234
- watch: {},
235
- created() {
236
- //this.time = util.timeCycle() + '好!';
237
- this.date = util.formatDate('', 'yyyy年M月d日');
238
- },
239
- mounted() {
240
- this.getTime();
241
- },
242
- methods: {
243
- getTime() {
244
- this.timer && clearInterval(this.timer);
245
- this.timer = setInterval(() => {
246
- this.time = util.formatDate('', 'HH:mm:ss');
247
- });
248
- },
249
- handleClick(res) {
250
- this.$emit('click', res);
251
- }
252
- },
253
- beforeDestroy() {
254
- clearInterval(this.timer);
255
- }
256
- };
257
- </script>
258
-
259
- <style lang="scss" scoped></style>
1
+ <template>
2
+ <div class="es-simplicity-handler">
3
+ <template v-for="item in lists">
4
+ <div
5
+ v-if="item.type == 'contact'"
6
+ class="es-simplicity-contact"
7
+ :key="item.type"
8
+ >
9
+ <div class="es-contact-label">{{ item.label }}</div>
10
+ <div class="es-contact-content">
11
+ <div v-for="ele in item.content" :key="ele">{{ ele }}</div>
12
+ </div>
13
+ </div>
14
+ <div
15
+ class="es-simplicity-date-time"
16
+ v-else-if="item.type === 'dateTime'"
17
+ :key="item.type"
18
+ >
19
+ <div class="es-simplicity-handler-time">
20
+ {{ time }}
21
+ </div>
22
+ <div class="es-simplicity-handler-date">
23
+ {{ date }}
24
+ </div>
25
+ </div>
26
+ <div
27
+ v-else-if="item.type === 'online' || item.type === 'onlineUser'"
28
+ class="es-simplicity-online"
29
+ :key="item.type"
30
+ >
31
+ 当前
32
+ <span
33
+ class="es-simplicity-online-num"
34
+ @click="isClick ? handleClick({ type: 'online' }) : ''"
35
+ :class="{ 'es-pointer': isClick }"
36
+ >
37
+ {{ online }}
38
+ </span>
39
+ 人在线
40
+ </div>
41
+ <el-badge
42
+ class="es-simplicity-handler-item"
43
+ v-else-if="item.type === 'notice' || item.type === 'messsage'"
44
+ :key="item.type"
45
+ :value="noticeNum"
46
+ :max="99"
47
+ :hidden="noticeNum < 1"
48
+ >
49
+ <div
50
+ class="es-simplicity-handler-icon"
51
+ :title="item.title"
52
+ :class="item.icon"
53
+ @click="handleClick(item)"
54
+ ></div>
55
+ </el-badge>
56
+ <div
57
+ v-else
58
+ class="es-simplicity-handler-item es-simplicity-handler-icon"
59
+ :key="item.type"
60
+ :title="item.title"
61
+ :class="item.icon"
62
+ @click="handleClick(item)"
63
+ ></div>
64
+ </template>
65
+ </div>
66
+ </template>
67
+
68
+ <script>
69
+ import util from 'eoss-ui/src/utils/util';
70
+ export default {
71
+ name: 'Handler',
72
+ components: {},
73
+ props: {
74
+ contact: Object,
75
+ dateTime: {
76
+ type: [Boolean, Object],
77
+ default() {
78
+ return { type: 'dateTime' };
79
+ },
80
+ validator: (val) => {
81
+ return val === false || typeof val === 'object';
82
+ }
83
+ },
84
+ onlineUser: {
85
+ type: [Boolean, Object],
86
+ default() {
87
+ return { type: 'onlineUser' };
88
+ },
89
+ validator: (val) => {
90
+ return val === false || typeof val === 'object';
91
+ }
92
+ },
93
+ search: {
94
+ type: [Boolean, Object],
95
+ default() {
96
+ return {
97
+ type: 'search',
98
+ icon: 'es-icon-magnifier',
99
+ title: '搜索'
100
+ };
101
+ },
102
+ validator: (val) => {
103
+ return val === false || typeof val === 'object';
104
+ }
105
+ },
106
+ im: {
107
+ type: [Boolean, Object],
108
+ default() {
109
+ return {
110
+ type: 'im',
111
+ icon: 'es-icon-liaotian',
112
+ title: 'IM'
113
+ };
114
+ },
115
+ validator: (val) => {
116
+ return val === false || typeof val === 'object';
117
+ }
118
+ },
119
+ index: {
120
+ type: [Boolean, Object],
121
+ default() {
122
+ return {
123
+ type: 'index',
124
+ icon: 'es-icon-home',
125
+ title: '门户'
126
+ };
127
+ },
128
+ validator: (val) => {
129
+ return val === false || typeof val === 'object';
130
+ }
131
+ },
132
+ home: {
133
+ type: [Boolean, Object],
134
+ default() {
135
+ return {
136
+ type: 'home',
137
+ icon: 'es-icon-zuomian',
138
+ title: '个人工作台'
139
+ };
140
+ }
141
+ },
142
+ notice: {
143
+ type: [Boolean, Object],
144
+ default() {
145
+ return {
146
+ type: 'notice',
147
+ icon: 'es-icon-tongzhi',
148
+ title: '通知消息'
149
+ };
150
+ }
151
+ },
152
+ quit: {
153
+ type: [Boolean, Object],
154
+ default() {
155
+ return {
156
+ type: 'quit',
157
+ icon: 'es-icon-guanji',
158
+ title: '退出'
159
+ };
160
+ }
161
+ },
162
+ set: {
163
+ type: [Boolean, Object],
164
+ default() {
165
+ return {
166
+ type: 'set',
167
+ icon: 'es-icon-xitongguanli',
168
+ title: '设置'
169
+ };
170
+ },
171
+ validator: (val) => {
172
+ return val === false || typeof val === 'object';
173
+ }
174
+ },
175
+ data: Array,
176
+ hide: {
177
+ type: Object,
178
+ default() {
179
+ return {};
180
+ }
181
+ },
182
+ msgNum: {
183
+ type: Number,
184
+ default: 0
185
+ },
186
+ noticeNum: {
187
+ type: Number,
188
+ default: 0
189
+ },
190
+ online: {
191
+ type: Number,
192
+ default: 1
193
+ }
194
+ },
195
+ data() {
196
+ return {
197
+ time: '',
198
+ date: '',
199
+ timer: null
200
+ };
201
+ },
202
+ computed: {
203
+ lists() {
204
+ let hide = {
205
+ old: true,
206
+ im: true,
207
+ ...this.hide
208
+ };
209
+ let data = this.data
210
+ ? this.data
211
+ : [
212
+ this.contact ? { ...this.contact, type: 'contact' } : {},
213
+ this.dateTime,
214
+ this.onlineUser,
215
+ this.search,
216
+ this.im,
217
+ this.index,
218
+ this.home,
219
+ this.notice,
220
+ this.quit,
221
+ this.set
222
+ ];
223
+ return data.filter((item) => {
224
+ return (
225
+ item && Object.keys(item).length && !item.hide && !hide[item.type]
226
+ );
227
+ });
228
+ },
229
+ isClick() {
230
+ let useCaseCodes = util.getStorage('useCaseCodes');
231
+ return useCaseCodes && useCaseCodes.includes('sys_user_onlineList');
232
+ }
233
+ },
234
+ watch: {},
235
+ created() {
236
+ //this.time = util.timeCycle() + '好!';
237
+ this.date = util.formatDate('', 'yyyy年M月d日');
238
+ },
239
+ mounted() {
240
+ this.getTime();
241
+ },
242
+ methods: {
243
+ getTime() {
244
+ this.timer && clearInterval(this.timer);
245
+ this.timer = setInterval(() => {
246
+ this.time = util.formatDate('', 'HH:mm:ss');
247
+ });
248
+ },
249
+ handleClick(res) {
250
+ this.$emit('click', res);
251
+ }
252
+ },
253
+ beforeDestroy() {
254
+ clearInterval(this.timer);
255
+ }
256
+ };
257
+ </script>
258
+
259
+ <style lang="scss" scoped></style>