eoss-ui 0.8.42 → 0.8.44

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 (82) hide show
  1. package/lib/eoss-ui.common.js +195 -161
  2. package/lib/flow.js +164 -142
  3. package/lib/index.js +1 -1
  4. package/lib/main.js +5 -5
  5. package/lib/upload.js +18 -6
  6. package/package.json +2 -2
  7. package/packages/button-group/src/main.vue +346 -346
  8. package/packages/calogin/src/main.vue +412 -412
  9. package/packages/clients/src/main.vue +151 -151
  10. package/packages/flow/src/component/CustomPreset.vue +326 -326
  11. package/packages/flow/src/component/FileList.vue +97 -97
  12. package/packages/flow/src/component/SendMsg.vue +242 -242
  13. package/packages/flow/src/component/SortFlow.vue +110 -110
  14. package/packages/flow/src/flow.vue +4 -4
  15. package/packages/flow/src/form.vue +123 -123
  16. package/packages/flow/src/freeStartFlow.vue +2902 -2902
  17. package/packages/flow/src/main.vue +6 -5
  18. package/packages/flow/src/processForm.vue +2032 -2032
  19. package/packages/flow/src/processReject.vue +323 -323
  20. package/packages/flow/src/table.vue +58 -58
  21. package/packages/form/src/table.vue +1512 -1512
  22. package/packages/icon/src/main.vue +104 -104
  23. package/packages/login/src/resetPassword.vue +557 -557
  24. package/packages/main/src/public/online.vue +89 -89
  25. package/packages/main/src/public/search.vue +464 -464
  26. package/packages/main/src/public/settings.vue +273 -273
  27. package/packages/main/src/simplicity/apps.vue +388 -388
  28. package/packages/main/src/simplicity/avatar.vue +82 -82
  29. package/packages/main/src/simplicity/handler.vue +158 -158
  30. package/packages/main/src/simplicity/menu-list.vue +135 -135
  31. package/packages/main/src/simplicity/message.vue +293 -293
  32. package/packages/main/src/simplicity/notice.vue +222 -222
  33. package/packages/main/src/simplicity/sub-menu.vue +276 -276
  34. package/packages/main/src/simplicity/user.vue +259 -259
  35. package/packages/main/src/simplicityTop/apps.vue +388 -388
  36. package/packages/main/src/simplicityTop/avatar.vue +82 -82
  37. package/packages/main/src/simplicityTop/handler.vue +215 -215
  38. package/packages/main/src/simplicityTop/lists.vue +84 -84
  39. package/packages/main/src/simplicityTop/menu-list.vue +135 -135
  40. package/packages/main/src/simplicityTop/message.vue +293 -293
  41. package/packages/main/src/simplicityTop/notice.vue +222 -222
  42. package/packages/main/src/simplicityTop/router-page.vue +45 -45
  43. package/packages/main/src/simplicityTop/sub-menu.vue +274 -274
  44. package/packages/main/src/simplicityTop/user.vue +259 -259
  45. package/packages/nav/src/main.vue +351 -351
  46. package/packages/selector-panel/src/selection.vue +174 -174
  47. package/packages/switch/src/main.vue +170 -170
  48. package/packages/theme-chalk/src/data-table.scss +297 -297
  49. package/packages/theme-chalk/src/handler.scss +148 -148
  50. package/packages/theme-chalk/src/icon.scss +3452 -3452
  51. package/packages/theme-chalk/src/login.scss +1006 -1006
  52. package/packages/theme-chalk/src/main.scss +664 -664
  53. package/packages/theme-chalk/src/menu.scss +224 -224
  54. package/packages/theme-chalk/src/simplicity-top.scss +1845 -1845
  55. package/packages/theme-chalk/src/simplicity.scss +1403 -1403
  56. package/packages/theme-chalk/src/upload.scss +172 -172
  57. package/packages/tips/src/main.vue +141 -141
  58. package/packages/upload/src/main.vue +13 -1
  59. package/packages/wujie/src/main.vue +146 -146
  60. package/src/index.js +166 -166
  61. package/src/utils/rules.js +18 -18
  62. package/packages/.DS_Store +0 -0
  63. package/packages/calogin/.DS_Store +0 -0
  64. package/packages/date-picker/.DS_Store +0 -0
  65. package/packages/date-picker/src/.DS_Store +0 -0
  66. package/packages/dialog/.DS_Store +0 -0
  67. package/packages/flow/.DS_Store +0 -0
  68. package/packages/flow/src/.DS_Store +0 -0
  69. package/packages/flow-list/.DS_Store +0 -0
  70. package/packages/form/.DS_Store +0 -0
  71. package/packages/icon/.DS_Store +0 -0
  72. package/packages/login/.DS_Store +0 -0
  73. package/packages/main/.DS_Store +0 -0
  74. package/packages/main/src/.DS_Store +0 -0
  75. package/packages/menu/.DS_Store +0 -0
  76. package/packages/select/.DS_Store +0 -0
  77. package/packages/selector/.DS_Store +0 -0
  78. package/packages/selector-panel/.DS_Store +0 -0
  79. package/packages/theme-chalk/src/.DS_Store +0 -0
  80. package/packages/upload/.DS_Store +0 -0
  81. package/src/.DS_Store +0 -0
  82. package/src/utils/.DS_Store +0 -0
@@ -1,388 +1,388 @@
1
- <template>
2
- <el-drawer
3
- class="es-simplicity-apps"
4
- direction="ltr"
5
- modal-class="es-simplicity-apps-modal"
6
- size="90%"
7
- :modal-append-to-body="false"
8
- :with-header="false"
9
- :visible.sync="show"
10
- >
11
- <div class="es-simplicity_apps">
12
- <div class="es-simplicity_apps-all">
13
- <div class="es-simplicity_apps-title">
14
- 所有业务系统
15
- <el-input
16
- class="es-simplicity_apps-search"
17
- size="medium"
18
- placeholder="请输入关键字"
19
- prefix-icon="el-icon-search"
20
- v-model="value"
21
- >
22
- </el-input>
23
- </div>
24
- <div class="es-simplicity_apps-box" @mousewheel="handleWheel">
25
- <ul class="es-simplicity_apps-list">
26
- <li
27
- v-for="item in _applications"
28
- class="es-simplicity_apps-list-item"
29
- :key="item.id"
30
- >
31
- <div
32
- class="es-simplicity_apps-list-content"
33
- :class="{ 'es-simplicity_apps-disabled': !item.permission }"
34
- @click="handleClick(item)"
35
- >
36
- <el-badge v-bind="getBadge(item)">
37
- <es-icon
38
- class="es-simplicity_apps-icon"
39
- :contents="item.icons || item.icon || menuIcon"
40
- ></es-icon>
41
- </el-badge>
42
- <div class="es-simplicity_apps-text">
43
- {{ item.text || item.name }}
44
- </div>
45
- <div class="es-simplicity_apps-hover">
46
- <es-icon
47
- class="es-simplicity_apps-icon"
48
- :contents="
49
- item.permission ? 'es-icon-solid-you' : 'es-icon-mima'
50
- "
51
- ></es-icon>
52
- <div class="es-simplicity_apps-text">
53
- {{ item.permission ? '进入系统' : '暂无权限' }}
54
- </div>
55
- </div>
56
- </div>
57
- </li>
58
- </ul>
59
- </div>
60
- <el-pagination
61
- class="es-simplicity_apps-pagination"
62
- background
63
- layout="total,prev, pager, next"
64
- total-text="共 {total} 个业务系统"
65
- :page-size="appSize"
66
- :total="apps.length"
67
- :current-page.sync="appNum"
68
- @current-change="
69
- (res) => {
70
- this.handleChange(res, 0);
71
- }
72
- "
73
- >
74
- </el-pagination>
75
- </div>
76
- <div class="es-simplicity_apps-other">
77
- <div class="es-simplicity_apps-business">
78
- <div class="es-simplicity_apps-title">专项业务系统</div>
79
- <ul class="es-simplicity_apps-list">
80
- <li
81
- v-for="(item, index) in _business"
82
- class="es-simplicity_apps-list-item"
83
- :key="item.id"
84
- >
85
- <div
86
- class="es-simplicity_apps-list-content"
87
- :class="{ 'es-simplicity_apps-disabled': !item.permission }"
88
- @click="handleClick(item)"
89
- >
90
- <es-icon
91
- class="es-simplicity_app-icon"
92
- :style="setStyle(index)"
93
- :contents="item.icons || item.icon || menuIcon"
94
- ></es-icon>
95
- <el-badge
96
- v-bind="getBadge(item)"
97
- class="es-simplicity_apps-texts"
98
- >
99
- <div class="es-simplicity_apps-text">
100
- {{ item.text || item.name }}
101
- </div>
102
- </el-badge>
103
- <div class="es-simplicity_apps-hover">
104
- <es-icon
105
- class="es-simplicity_apps-icon"
106
- :contents="
107
- item.permission ? 'es-icon-solid-you' : 'es-icon-mima'
108
- "
109
- ></es-icon>
110
- <div class="es-simplicity_apps-text">
111
- {{ item.permission ? '进入系统' : '暂无权限' }}
112
- </div>
113
- </div>
114
- </div>
115
- </li>
116
- </ul>
117
- <el-pagination
118
- class="es-simplicity_apps-pagination"
119
- background
120
- layout="total,prev, pager, next"
121
- total-text="共 {total} 专项业务系统"
122
- :page-size="bsSize"
123
- :total="business.length"
124
- @current-change="
125
- (res) => {
126
- this.handleChange(res, 1);
127
- }
128
- "
129
- >
130
- </el-pagination>
131
- </div>
132
- <div class="es-simplicity_apps-systems">
133
- <div class="es-simplicity_apps-title">系统设置</div>
134
- <ul class="es-simplicity_apps-list">
135
- <li
136
- v-for="(item, index) in _systems"
137
- class="es-simplicity_apps-list-item"
138
- :key="item.id"
139
- >
140
- <div
141
- class="es-simplicity_apps-list-content"
142
- :class="{ 'es-simplicity_apps-disabled': !item.permission }"
143
- @click="handleClick(item)"
144
- >
145
- <es-icon
146
- class="es-simplicity_app-icon"
147
- :style="setStyle(index)"
148
- :contents="item.icons || item.icon || menuIcon"
149
- ></es-icon>
150
- <el-badge
151
- v-bind="getBadge(item)"
152
- class="es-simplicity_apps-texts"
153
- >
154
- <div class="es-simplicity_apps-text">
155
- {{ item.text || item.name }}
156
- </div>
157
- </el-badge>
158
- <div class="es-simplicity_apps-hover">
159
- <es-icon
160
- class="es-simplicity_apps-icon"
161
- :contents="
162
- item.permission ? 'es-icon-solid-you' : 'es-icon-mima'
163
- "
164
- ></es-icon>
165
- <div class="es-simplicity_apps-text">
166
- {{ item.permission ? '进入系统' : '暂无权限' }}
167
- </div>
168
- </div>
169
- </div>
170
- </li>
171
- </ul>
172
- <el-pagination
173
- class="es-simplicity_apps-pagination"
174
- background
175
- layout="total,prev, pager, next"
176
- total-text="共 {total} 系统设置"
177
- hide-on-single-page
178
- :page-size="sysSize"
179
- :total="systems.length"
180
- @current-change="
181
- (res) => {
182
- this.handleChange(res, 2);
183
- }
184
- "
185
- >
186
- </el-pagination>
187
- </div>
188
- </div>
189
- </div>
190
- </el-drawer>
191
- </template>
192
-
193
- <script>
194
- import util from 'eoss-ui/src/utils/util';
195
- import { debounce } from 'throttle-debounce';
196
- import { recordUserApp } from 'eoss-ui/src/config/api.js';
197
- export default {
198
- name: 'Apps',
199
- components: {},
200
- props: {
201
- user: Object,
202
- visible: Boolean,
203
- //菜单、应用默认图标
204
- menuIcon: String,
205
- color: {
206
- type: [String, Array],
207
- default: '#fff'
208
- },
209
- backgroundColor: {
210
- type: [String, Array],
211
- default() {
212
- return [
213
- '#0B3978',
214
- '#2591F7',
215
- '#69C0FF',
216
- '#E34D59',
217
- '#2591F7',
218
- '#FF9C52',
219
- '#17C27B'
220
- ];
221
- }
222
- },
223
- applications: {
224
- type: Array,
225
- default() {
226
- return [];
227
- }
228
- },
229
- //业务系统
230
- business: {
231
- type: Array,
232
- default() {
233
- return [];
234
- }
235
- },
236
- //系统管理
237
- systems: {
238
- type: Array,
239
- default() {
240
- return [];
241
- }
242
- }
243
- },
244
- data() {
245
- return {
246
- value: '',
247
- apps: [],
248
- appSize: 20,
249
- appNum: 1,
250
- bsSize: 8,
251
- bsNum: 1,
252
- sysSize: 2,
253
- sysNum: 1
254
- };
255
- },
256
- computed: {
257
- show: {
258
- get() {
259
- return this.visible;
260
- },
261
- set(val) {
262
- this.$emit('update:visible', val);
263
- return val;
264
- }
265
- },
266
- _applications() {
267
- return this.apps.filter((item, index) => {
268
- return (
269
- index > (this.appNum - 1) * this.appSize - 1 &&
270
- index < this.appNum * this.appSize
271
- );
272
- });
273
- },
274
- _business() {
275
- return this.business.filter((item, index) => {
276
- return (
277
- index > (this.bsNum - 1) * this.bsSize - 1 &&
278
- index < this.bsNum * this.bsSize
279
- );
280
- });
281
- },
282
- _systems() {
283
- return this.systems.filter((item, index) => {
284
- return (
285
- index > (this.sysNum - 1) * this.sysSize - 1 &&
286
- index < this.sysNum * this.sysSize
287
- );
288
- });
289
- }
290
- },
291
- watch: {
292
- applications: {
293
- deep: true,
294
- handler() {
295
- this.getApps();
296
- }
297
- },
298
- value() {
299
- this.getApps();
300
- }
301
- },
302
- beforeCreate() {
303
- this.getApps = debounce(500, () => {
304
- this.getApp();
305
- });
306
- },
307
- created() {},
308
- mounted() {
309
- this.getApps();
310
- },
311
- methods: {
312
- getApp() {
313
- this.apps = this.value
314
- ? this.applications.filter((item) => {
315
- return (item.name || item.text).indexOf(this.value) > -1;
316
- })
317
- : this.applications;
318
- },
319
- setStyle(num) {
320
- let obj = {};
321
- if (this.color) {
322
- obj.color = this.color;
323
- if (Array.isArray(this.color)) {
324
- obj.color = this.color[num % this.color.length];
325
- } else {
326
- obj.color = this.color;
327
- }
328
- }
329
- if (this.backgroundColor) {
330
- if (Array.isArray(this.backgroundColor)) {
331
- obj.backgroundColor =
332
- this.backgroundColor[num % this.backgroundColor.length];
333
- } else {
334
- obj.backgroundColor = this.backgroundColor;
335
- }
336
- }
337
- return obj;
338
- },
339
- handleChange(res, index) {
340
- let name = ['appNum', 'bsNum', 'sysNum'];
341
- this[name[index]] = res;
342
- },
343
- handleWheel(e) {
344
- let direction = e.deltaY > 0 ? 'down' : 'up'; //deltaY为正则滚轮向下,为负滚轮向上
345
- let total = Math.ceil(this.apps.length / this.appSize);
346
- if (direction == 'up' && this.appNum > 1) {
347
- this.appNum -= 1;
348
- }
349
- if (direction == 'down' && this.appNum < total) {
350
- this.appNum += 1;
351
- }
352
- },
353
- handleClick(res) {
354
- util
355
- .ajax({
356
- url: recordUserApp,
357
- params: {
358
- userId: this.user.userId,
359
- appId: res.id
360
- }
361
- })
362
- .then(() => {})
363
- .catch(() => {});
364
- this.$emit('click', res);
365
- },
366
- /**
367
- * @desc:获取气泡提醒
368
- * @author huangbo
369
- * @date 2024年9月7日
370
- **/
371
- getBadge(res) {
372
- let num = res.tips || 0;
373
- return num === true
374
- ? {
375
- isDot: true
376
- //hidden: item.tips
377
- }
378
- : {
379
- value: num,
380
- max: 99,
381
- hidden: !num
382
- };
383
- }
384
- }
385
- };
386
- </script>
387
-
388
- <style lang="scss" scoped></style>
1
+ <template>
2
+ <el-drawer
3
+ class="es-simplicity-apps"
4
+ direction="ltr"
5
+ modal-class="es-simplicity-apps-modal"
6
+ size="90%"
7
+ :modal-append-to-body="false"
8
+ :with-header="false"
9
+ :visible.sync="show"
10
+ >
11
+ <div class="es-simplicity_apps">
12
+ <div class="es-simplicity_apps-all">
13
+ <div class="es-simplicity_apps-title">
14
+ 所有业务系统
15
+ <el-input
16
+ class="es-simplicity_apps-search"
17
+ size="medium"
18
+ placeholder="请输入关键字"
19
+ prefix-icon="el-icon-search"
20
+ v-model="value"
21
+ >
22
+ </el-input>
23
+ </div>
24
+ <div class="es-simplicity_apps-box" @mousewheel="handleWheel">
25
+ <ul class="es-simplicity_apps-list">
26
+ <li
27
+ v-for="item in _applications"
28
+ class="es-simplicity_apps-list-item"
29
+ :key="item.id"
30
+ >
31
+ <div
32
+ class="es-simplicity_apps-list-content"
33
+ :class="{ 'es-simplicity_apps-disabled': !item.permission }"
34
+ @click="handleClick(item)"
35
+ >
36
+ <el-badge v-bind="getBadge(item)">
37
+ <es-icon
38
+ class="es-simplicity_apps-icon"
39
+ :contents="item.icons || item.icon || menuIcon"
40
+ ></es-icon>
41
+ </el-badge>
42
+ <div class="es-simplicity_apps-text">
43
+ {{ item.text || item.name }}
44
+ </div>
45
+ <div class="es-simplicity_apps-hover">
46
+ <es-icon
47
+ class="es-simplicity_apps-icon"
48
+ :contents="
49
+ item.permission ? 'es-icon-solid-you' : 'es-icon-mima'
50
+ "
51
+ ></es-icon>
52
+ <div class="es-simplicity_apps-text">
53
+ {{ item.permission ? '进入系统' : '暂无权限' }}
54
+ </div>
55
+ </div>
56
+ </div>
57
+ </li>
58
+ </ul>
59
+ </div>
60
+ <el-pagination
61
+ class="es-simplicity_apps-pagination"
62
+ background
63
+ layout="total,prev, pager, next"
64
+ total-text="共 {total} 个业务系统"
65
+ :page-size="appSize"
66
+ :total="apps.length"
67
+ :current-page.sync="appNum"
68
+ @current-change="
69
+ (res) => {
70
+ this.handleChange(res, 0);
71
+ }
72
+ "
73
+ >
74
+ </el-pagination>
75
+ </div>
76
+ <div class="es-simplicity_apps-other">
77
+ <div class="es-simplicity_apps-business">
78
+ <div class="es-simplicity_apps-title">专项业务系统</div>
79
+ <ul class="es-simplicity_apps-list">
80
+ <li
81
+ v-for="(item, index) in _business"
82
+ class="es-simplicity_apps-list-item"
83
+ :key="item.id"
84
+ >
85
+ <div
86
+ class="es-simplicity_apps-list-content"
87
+ :class="{ 'es-simplicity_apps-disabled': !item.permission }"
88
+ @click="handleClick(item)"
89
+ >
90
+ <es-icon
91
+ class="es-simplicity_app-icon"
92
+ :style="setStyle(index)"
93
+ :contents="item.icons || item.icon || menuIcon"
94
+ ></es-icon>
95
+ <el-badge
96
+ v-bind="getBadge(item)"
97
+ class="es-simplicity_apps-texts"
98
+ >
99
+ <div class="es-simplicity_apps-text">
100
+ {{ item.text || item.name }}
101
+ </div>
102
+ </el-badge>
103
+ <div class="es-simplicity_apps-hover">
104
+ <es-icon
105
+ class="es-simplicity_apps-icon"
106
+ :contents="
107
+ item.permission ? 'es-icon-solid-you' : 'es-icon-mima'
108
+ "
109
+ ></es-icon>
110
+ <div class="es-simplicity_apps-text">
111
+ {{ item.permission ? '进入系统' : '暂无权限' }}
112
+ </div>
113
+ </div>
114
+ </div>
115
+ </li>
116
+ </ul>
117
+ <el-pagination
118
+ class="es-simplicity_apps-pagination"
119
+ background
120
+ layout="total,prev, pager, next"
121
+ total-text="共 {total} 专项业务系统"
122
+ :page-size="bsSize"
123
+ :total="business.length"
124
+ @current-change="
125
+ (res) => {
126
+ this.handleChange(res, 1);
127
+ }
128
+ "
129
+ >
130
+ </el-pagination>
131
+ </div>
132
+ <div class="es-simplicity_apps-systems">
133
+ <div class="es-simplicity_apps-title">系统设置</div>
134
+ <ul class="es-simplicity_apps-list">
135
+ <li
136
+ v-for="(item, index) in _systems"
137
+ class="es-simplicity_apps-list-item"
138
+ :key="item.id"
139
+ >
140
+ <div
141
+ class="es-simplicity_apps-list-content"
142
+ :class="{ 'es-simplicity_apps-disabled': !item.permission }"
143
+ @click="handleClick(item)"
144
+ >
145
+ <es-icon
146
+ class="es-simplicity_app-icon"
147
+ :style="setStyle(index)"
148
+ :contents="item.icons || item.icon || menuIcon"
149
+ ></es-icon>
150
+ <el-badge
151
+ v-bind="getBadge(item)"
152
+ class="es-simplicity_apps-texts"
153
+ >
154
+ <div class="es-simplicity_apps-text">
155
+ {{ item.text || item.name }}
156
+ </div>
157
+ </el-badge>
158
+ <div class="es-simplicity_apps-hover">
159
+ <es-icon
160
+ class="es-simplicity_apps-icon"
161
+ :contents="
162
+ item.permission ? 'es-icon-solid-you' : 'es-icon-mima'
163
+ "
164
+ ></es-icon>
165
+ <div class="es-simplicity_apps-text">
166
+ {{ item.permission ? '进入系统' : '暂无权限' }}
167
+ </div>
168
+ </div>
169
+ </div>
170
+ </li>
171
+ </ul>
172
+ <el-pagination
173
+ class="es-simplicity_apps-pagination"
174
+ background
175
+ layout="total,prev, pager, next"
176
+ total-text="共 {total} 系统设置"
177
+ hide-on-single-page
178
+ :page-size="sysSize"
179
+ :total="systems.length"
180
+ @current-change="
181
+ (res) => {
182
+ this.handleChange(res, 2);
183
+ }
184
+ "
185
+ >
186
+ </el-pagination>
187
+ </div>
188
+ </div>
189
+ </div>
190
+ </el-drawer>
191
+ </template>
192
+
193
+ <script>
194
+ import util from 'eoss-ui/src/utils/util';
195
+ import { debounce } from 'throttle-debounce';
196
+ import { recordUserApp } from 'eoss-ui/src/config/api.js';
197
+ export default {
198
+ name: 'Apps',
199
+ components: {},
200
+ props: {
201
+ user: Object,
202
+ visible: Boolean,
203
+ //菜单、应用默认图标
204
+ menuIcon: String,
205
+ color: {
206
+ type: [String, Array],
207
+ default: '#fff'
208
+ },
209
+ backgroundColor: {
210
+ type: [String, Array],
211
+ default() {
212
+ return [
213
+ '#0B3978',
214
+ '#2591F7',
215
+ '#69C0FF',
216
+ '#E34D59',
217
+ '#2591F7',
218
+ '#FF9C52',
219
+ '#17C27B'
220
+ ];
221
+ }
222
+ },
223
+ applications: {
224
+ type: Array,
225
+ default() {
226
+ return [];
227
+ }
228
+ },
229
+ //业务系统
230
+ business: {
231
+ type: Array,
232
+ default() {
233
+ return [];
234
+ }
235
+ },
236
+ //系统管理
237
+ systems: {
238
+ type: Array,
239
+ default() {
240
+ return [];
241
+ }
242
+ }
243
+ },
244
+ data() {
245
+ return {
246
+ value: '',
247
+ apps: [],
248
+ appSize: 20,
249
+ appNum: 1,
250
+ bsSize: 8,
251
+ bsNum: 1,
252
+ sysSize: 2,
253
+ sysNum: 1
254
+ };
255
+ },
256
+ computed: {
257
+ show: {
258
+ get() {
259
+ return this.visible;
260
+ },
261
+ set(val) {
262
+ this.$emit('update:visible', val);
263
+ return val;
264
+ }
265
+ },
266
+ _applications() {
267
+ return this.apps.filter((item, index) => {
268
+ return (
269
+ index > (this.appNum - 1) * this.appSize - 1 &&
270
+ index < this.appNum * this.appSize
271
+ );
272
+ });
273
+ },
274
+ _business() {
275
+ return this.business.filter((item, index) => {
276
+ return (
277
+ index > (this.bsNum - 1) * this.bsSize - 1 &&
278
+ index < this.bsNum * this.bsSize
279
+ );
280
+ });
281
+ },
282
+ _systems() {
283
+ return this.systems.filter((item, index) => {
284
+ return (
285
+ index > (this.sysNum - 1) * this.sysSize - 1 &&
286
+ index < this.sysNum * this.sysSize
287
+ );
288
+ });
289
+ }
290
+ },
291
+ watch: {
292
+ applications: {
293
+ deep: true,
294
+ handler() {
295
+ this.getApps();
296
+ }
297
+ },
298
+ value() {
299
+ this.getApps();
300
+ }
301
+ },
302
+ beforeCreate() {
303
+ this.getApps = debounce(500, () => {
304
+ this.getApp();
305
+ });
306
+ },
307
+ created() {},
308
+ mounted() {
309
+ this.getApps();
310
+ },
311
+ methods: {
312
+ getApp() {
313
+ this.apps = this.value
314
+ ? this.applications.filter((item) => {
315
+ return (item.name || item.text).indexOf(this.value) > -1;
316
+ })
317
+ : this.applications;
318
+ },
319
+ setStyle(num) {
320
+ let obj = {};
321
+ if (this.color) {
322
+ obj.color = this.color;
323
+ if (Array.isArray(this.color)) {
324
+ obj.color = this.color[num % this.color.length];
325
+ } else {
326
+ obj.color = this.color;
327
+ }
328
+ }
329
+ if (this.backgroundColor) {
330
+ if (Array.isArray(this.backgroundColor)) {
331
+ obj.backgroundColor =
332
+ this.backgroundColor[num % this.backgroundColor.length];
333
+ } else {
334
+ obj.backgroundColor = this.backgroundColor;
335
+ }
336
+ }
337
+ return obj;
338
+ },
339
+ handleChange(res, index) {
340
+ let name = ['appNum', 'bsNum', 'sysNum'];
341
+ this[name[index]] = res;
342
+ },
343
+ handleWheel(e) {
344
+ let direction = e.deltaY > 0 ? 'down' : 'up'; //deltaY为正则滚轮向下,为负滚轮向上
345
+ let total = Math.ceil(this.apps.length / this.appSize);
346
+ if (direction == 'up' && this.appNum > 1) {
347
+ this.appNum -= 1;
348
+ }
349
+ if (direction == 'down' && this.appNum < total) {
350
+ this.appNum += 1;
351
+ }
352
+ },
353
+ handleClick(res) {
354
+ util
355
+ .ajax({
356
+ url: recordUserApp,
357
+ params: {
358
+ userId: this.user.userId,
359
+ appId: res.id
360
+ }
361
+ })
362
+ .then(() => {})
363
+ .catch(() => {});
364
+ this.$emit('click', res);
365
+ },
366
+ /**
367
+ * @desc:获取气泡提醒
368
+ * @author huangbo
369
+ * @date 2024年9月7日
370
+ **/
371
+ getBadge(res) {
372
+ let num = res.tips || 0;
373
+ return num === true
374
+ ? {
375
+ isDot: true
376
+ //hidden: item.tips
377
+ }
378
+ : {
379
+ value: num,
380
+ max: 99,
381
+ hidden: !num
382
+ };
383
+ }
384
+ }
385
+ };
386
+ </script>
387
+
388
+ <style lang="scss" scoped></style>