eoss-ui 0.8.28 → 0.8.29

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