eoss-ui 0.8.40 → 0.8.42

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 (85) hide show
  1. package/lib/eoss-ui.common.js +247 -191
  2. package/lib/flow-list.js +8 -7
  3. package/lib/flow.js +169 -146
  4. package/lib/index.js +1 -1
  5. package/lib/main.js +5 -5
  6. package/lib/selector.js +52 -20
  7. package/package.json +1 -1
  8. package/packages/.DS_Store +0 -0
  9. package/packages/button-group/src/main.vue +346 -346
  10. package/packages/calogin/.DS_Store +0 -0
  11. package/packages/calogin/src/main.vue +412 -412
  12. package/packages/clients/src/main.vue +151 -151
  13. package/packages/date-picker/.DS_Store +0 -0
  14. package/packages/date-picker/src/.DS_Store +0 -0
  15. package/packages/dialog/.DS_Store +0 -0
  16. package/packages/flow/.DS_Store +0 -0
  17. package/packages/flow/src/.DS_Store +0 -0
  18. package/packages/flow/src/component/CustomPreset.vue +326 -326
  19. package/packages/flow/src/component/FileList.vue +97 -97
  20. package/packages/flow/src/component/SendMsg.vue +242 -242
  21. package/packages/flow/src/component/SortFlow.vue +110 -110
  22. package/packages/flow/src/flow.vue +14 -2
  23. package/packages/flow/src/form.vue +123 -123
  24. package/packages/flow/src/freeStartFlow.vue +2902 -2902
  25. package/packages/flow/src/main.vue +3 -0
  26. package/packages/flow/src/processForm.vue +2032 -2032
  27. package/packages/flow/src/processReject.vue +323 -323
  28. package/packages/flow/src/startTaskRead.vue +3 -0
  29. package/packages/flow/src/table.vue +58 -58
  30. package/packages/flow-list/.DS_Store +0 -0
  31. package/packages/flow-list/src/main.vue +3 -2
  32. package/packages/form/.DS_Store +0 -0
  33. package/packages/form/src/table.vue +1512 -1512
  34. package/packages/icon/.DS_Store +0 -0
  35. package/packages/icon/src/main.vue +104 -104
  36. package/packages/login/.DS_Store +0 -0
  37. package/packages/login/src/resetPassword.vue +557 -557
  38. package/packages/main/.DS_Store +0 -0
  39. package/packages/main/src/.DS_Store +0 -0
  40. package/packages/main/src/public/online.vue +89 -89
  41. package/packages/main/src/public/search.vue +464 -464
  42. package/packages/main/src/public/settings.vue +273 -273
  43. package/packages/main/src/simplicity/apps.vue +388 -388
  44. package/packages/main/src/simplicity/avatar.vue +82 -82
  45. package/packages/main/src/simplicity/handler.vue +158 -158
  46. package/packages/main/src/simplicity/menu-list.vue +135 -135
  47. package/packages/main/src/simplicity/message.vue +293 -293
  48. package/packages/main/src/simplicity/notice.vue +222 -222
  49. package/packages/main/src/simplicity/sub-menu.vue +276 -276
  50. package/packages/main/src/simplicity/user.vue +259 -259
  51. package/packages/main/src/simplicityTop/apps.vue +388 -388
  52. package/packages/main/src/simplicityTop/avatar.vue +82 -82
  53. package/packages/main/src/simplicityTop/handler.vue +215 -215
  54. package/packages/main/src/simplicityTop/lists.vue +84 -84
  55. package/packages/main/src/simplicityTop/menu-list.vue +135 -135
  56. package/packages/main/src/simplicityTop/message.vue +293 -293
  57. package/packages/main/src/simplicityTop/notice.vue +222 -222
  58. package/packages/main/src/simplicityTop/router-page.vue +45 -45
  59. package/packages/main/src/simplicityTop/sub-menu.vue +274 -274
  60. package/packages/main/src/simplicityTop/user.vue +259 -259
  61. package/packages/menu/.DS_Store +0 -0
  62. package/packages/nav/src/main.vue +351 -351
  63. package/packages/select/.DS_Store +0 -0
  64. package/packages/selector/.DS_Store +0 -0
  65. package/packages/selector/src/main.vue +36 -17
  66. package/packages/selector-panel/.DS_Store +0 -0
  67. package/packages/selector-panel/src/selection.vue +174 -174
  68. package/packages/switch/src/main.vue +170 -170
  69. package/packages/theme-chalk/src/.DS_Store +0 -0
  70. package/packages/theme-chalk/src/data-table.scss +297 -297
  71. package/packages/theme-chalk/src/handler.scss +148 -148
  72. package/packages/theme-chalk/src/icon.scss +3452 -3452
  73. package/packages/theme-chalk/src/login.scss +1006 -1006
  74. package/packages/theme-chalk/src/main.scss +664 -664
  75. package/packages/theme-chalk/src/menu.scss +224 -224
  76. package/packages/theme-chalk/src/simplicity-top.scss +1845 -1845
  77. package/packages/theme-chalk/src/simplicity.scss +1403 -1403
  78. package/packages/theme-chalk/src/upload.scss +172 -172
  79. package/packages/tips/src/main.vue +141 -141
  80. package/packages/upload/.DS_Store +0 -0
  81. package/packages/wujie/src/main.vue +146 -146
  82. package/src/.DS_Store +0 -0
  83. package/src/index.js +166 -166
  84. package/src/utils/.DS_Store +0 -0
  85. package/src/utils/rules.js +18 -18
@@ -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>