eoss 0.1.0-alpha.20 → 0.1.0-alpha.21
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.
- package/lib/account-login.js +1943 -1890
- package/lib/alert.js +4 -4
- package/lib/aside.js +4 -4
- package/lib/autocomplete.js +4936 -4834
- package/lib/avatar.js +4 -4
- package/lib/backtop.js +4 -4
- package/lib/badge.js +4 -4
- package/lib/breadcrumb-item.js +6 -6
- package/lib/breadcrumb.js +7 -7
- package/lib/button-group.js +11 -14
- package/lib/button.js +6 -6
- package/lib/ca-login.js +2480 -2382
- package/lib/calendar.js +798 -798
- package/lib/card.js +4 -4
- package/lib/carousel-item.js +911 -813
- package/lib/carousel.js +1646 -1548
- package/lib/cascader-panel.js +2556 -2458
- package/lib/cascader.js +4546 -4444
- package/lib/checkbox-button.js +4 -4
- package/lib/checkbox-group.js +2894 -2841
- package/lib/checkbox.js +4 -4
- package/lib/col.js +2 -2
- package/lib/collapse-item.js +35159 -2572
- package/lib/collapse.js +35410 -2762
- package/lib/color-picker.js +494 -490
- package/lib/config/api.js +15 -1
- package/lib/container.js +4 -4
- package/lib/cron.js +4 -4
- package/lib/data-table.js +1895 -1842
- package/lib/date-picker.js +6422 -6320
- package/lib/dialog.js +2912 -2806
- package/lib/divider.js +4 -4
- package/lib/drawer.js +311 -299
- package/lib/dropdown-item.js +6 -6
- package/lib/dropdown-menu.js +539 -535
- package/lib/dropdown.js +2270 -2172
- package/lib/email-login.js +1783 -1730
- package/lib/empty.js +723 -0
- package/lib/eoss.common.js +63680 -56193
- package/lib/flip.js +4 -4
- package/lib/flow-group.js +2985 -2887
- package/lib/flow.js +28067 -28022
- package/lib/footer.js +4 -4
- package/lib/form-item.js +1935 -1837
- package/lib/form.js +9230 -9092
- package/lib/header.js +4 -4
- package/lib/icon.js +1708 -1590
- package/lib/icons.js +4 -4
- package/lib/image-viewer.js +1660 -1562
- package/lib/image.js +162 -162
- package/lib/index.js +1 -1
- package/lib/infinite-scroll.js +76 -76
- package/lib/input-number.js +172 -172
- package/lib/input.js +1362 -1264
- package/lib/link.js +4 -4
- package/lib/loading.js +321 -317
- package/lib/login.js +3306 -3300
- package/lib/lowcode.js +13320 -0
- package/lib/main.js +14465 -14339
- package/lib/marquee.js +1237 -1139
- package/lib/menu-item-group.js +119 -119
- package/lib/menu-item.js +114 -114
- package/lib/menu.js +6193 -6091
- package/lib/message-box.js +3582 -3480
- package/lib/message.js +2265 -2163
- package/lib/notification.js +2430 -2328
- package/lib/option-group.js +4 -4
- package/lib/option.js +842 -744
- package/lib/page-header.js +4 -4
- package/lib/pagination.js +1916 -1815
- package/lib/phone-login.js +1788 -1735
- package/lib/popconfirm.js +8 -8
- package/lib/popover.js +4559 -4457
- package/lib/progress.js +4 -4
- package/lib/qr-code.js +9 -9
- package/lib/qrcode-login.js +1600 -1543
- package/lib/radio-button.js +6 -6
- package/lib/radio-group.js +2142 -2089
- package/lib/radio.js +6 -6
- package/lib/rate.js +1226 -1128
- package/lib/row.js +2 -2
- package/lib/scrollbar.js +2695 -2597
- package/lib/select.js +5985 -5961
- package/lib/selector-panel.js +5239 -5186
- package/lib/selector.js +1712 -1659
- package/lib/slider.js +16 -16
- package/lib/step.js +35836 -2736
- package/lib/steps.js +1281 -1183
- package/lib/submenu.js +461 -457
- package/lib/switch.js +1010 -912
- package/lib/tab-pane.js +4 -4
- package/lib/table-column.js +2595 -2497
- package/lib/table.js +9225 -9239
- package/lib/tabs.js +2414 -2320
- package/lib/tag.js +4 -4
- package/lib/theme-chalk/account-login.css +1 -1
- package/lib/theme-chalk/autocomplete.css +1 -1
- package/lib/theme-chalk/base.css +1 -1
- package/lib/theme-chalk/cascader.css +1 -1
- package/lib/theme-chalk/date-picker.css +1 -1
- package/lib/theme-chalk/empty.css +1 -0
- package/lib/theme-chalk/fonts/iconfont.ttf +0 -0
- package/lib/theme-chalk/fonts/iconfont.woff +0 -0
- package/lib/theme-chalk/form.css +1 -1
- package/lib/theme-chalk/icon.css +1 -1
- package/lib/theme-chalk/index.css +1 -1
- package/lib/theme-chalk/input-number.css +1 -1
- package/lib/theme-chalk/input.css +1 -1
- package/lib/theme-chalk/login.css +1 -1
- package/lib/theme-chalk/lowcode.css +1 -0
- package/lib/theme-chalk/main.css +1 -1
- package/lib/theme-chalk/message-box.css +1 -1
- package/lib/theme-chalk/pagination.css +1 -1
- package/lib/theme-chalk/qrcode-login.css +1 -1
- package/lib/theme-chalk/select.css +1 -1
- package/lib/theme-chalk/slider.css +1 -1
- package/lib/theme-chalk/tabs.css +1 -1
- package/lib/theme-chalk/time-picker.css +1 -1
- package/lib/theme-chalk/transfer.css +1 -1
- package/lib/time-picker.js +5823 -5819
- package/lib/time-select.js +3578 -3574
- package/lib/timeline-item.js +4 -4
- package/lib/timeline.js +4 -4
- package/lib/tips.js +1633 -1580
- package/lib/toolbar.js +213 -213
- package/lib/tooltip.js +4441 -4339
- package/lib/transfer.js +938 -840
- package/lib/tree-group.js +1875 -1757
- package/lib/tree.js +2626 -2573
- package/lib/upload.js +7209 -7156
- package/lib/utils/ajax.js +185 -243
- package/lib/utils/bus.js +2 -2
- package/lib/utils/popup/index.js +5 -1
- package/lib/utils/util.js +108 -11
- package/package.json +2 -2
- package/packages/button/src/button-group.vue +1 -4
- package/packages/collapse/src/collapse-item.vue +47 -33
- package/packages/dialog/src/dialog.vue +4 -1
- package/packages/drawer/src/drawer.vue +12 -4
- package/packages/empty/index.js +7 -0
- package/packages/empty/src/img-empty.vue +132 -0
- package/packages/empty/src/index.vue +49 -0
- package/packages/form/src/form-item-render.vue +16 -18
- package/packages/form/src/form.vue +27 -5
- package/packages/icons/src/icon.json +1 -1
- package/packages/login/src/login.vue +19 -21
- package/packages/login/src/mixins.js +2 -1
- package/packages/lowcode/index.js +5 -0
- package/packages/lowcode/src/aside.vue +331 -0
- package/packages/lowcode/src/attribute/bind.vue +441 -0
- package/packages/lowcode/src/attribute/dependency.vue +325 -0
- package/packages/lowcode/src/attribute/function.vue +112 -0
- package/packages/lowcode/src/attribute/property.vue +331 -0
- package/packages/lowcode/src/attribute/styles.vue +318 -0
- package/packages/lowcode/src/attribute.vue +135 -0
- package/packages/lowcode/src/canvas.vue +296 -0
- package/packages/lowcode/src/json.vue +32 -0
- package/packages/lowcode/src/lowcode.vue +539 -0
- package/packages/lowcode/src/modules.vue +93 -0
- package/packages/lowcode/src/pages.vue +91 -0
- package/packages/lowcode/src/render.vue +247 -0
- package/packages/lowcode/src/source.vue +32 -0
- package/packages/lowcode/src/toolbar.vue +162 -0
- package/packages/main/src/components/pages.vue +28 -2
- package/packages/main/src/components/set-menus.vue +3 -3
- package/packages/main/src/components/user.vue +6 -1
- package/packages/main/src/early.vue +2 -2
- package/packages/main/src/gzw.vue +55 -61
- package/packages/main/src/minxs.js +113 -36
- package/packages/pagination/src/pager.vue +2 -2
- package/packages/pagination/src/pagination.js +4 -1
- package/packages/qrcode-login/src/qrcode-login.vue +6 -2
- package/packages/select/src/select.vue +28 -6
- package/packages/steps/src/step.vue +7 -5
- package/packages/tabs/src/tab-nav.vue +1 -0
- package/packages/tabs/src/tabs.vue +0 -2
- package/packages/theme-chalk/dist/fonts/iconfont.ttf +0 -0
- package/packages/theme-chalk/dist/fonts/iconfont.woff +0 -0
- package/packages/theme-chalk/gulpfile.js +3 -0
- package/packages/theme-chalk/src/account-login.scss +1 -0
- package/packages/theme-chalk/src/base.scss +1 -1
- package/packages/theme-chalk/src/common/var.scss +16 -0
- package/packages/theme-chalk/src/empty.scss +45 -0
- package/packages/theme-chalk/src/fonts/iconfont.ttf +0 -0
- package/packages/theme-chalk/src/fonts/iconfont.woff +0 -0
- package/packages/theme-chalk/src/form.scss +1 -8
- package/packages/theme-chalk/src/icon.scss +30 -1
- package/packages/theme-chalk/src/index.scss +2 -0
- package/packages/theme-chalk/src/input-number.scss +0 -4
- package/packages/theme-chalk/src/input.scss +9 -0
- package/packages/theme-chalk/src/login.scss +32 -29
- package/packages/theme-chalk/src/lowcode.scss +461 -0
- package/packages/theme-chalk/src/main.scss +28 -65
- package/packages/theme-chalk/src/pagination.scss +4 -55
- package/packages/theme-chalk/src/qrcode-login.scss +3 -1
- package/packages/theme-chalk/src/tabs.scss +81 -50
- package/src/config/api.js +13 -0
- package/src/index.js +17 -4
- package/src/utils/ajax.js +61 -65
- package/src/utils/bus.js +2 -2
- package/src/utils/popup/index.js +5 -1
- package/src/utils/util.js +104 -7
- package/lib/index_/345/211/257/346/234/254.js +0 -583
- package/packages/dialog copy/index.js +0 -8
- package/packages/dialog copy/src/dialog.vue +0 -615
- package/src/index_/345/211/257/346/234/254.js +0 -359
- /package/{packages/form/src → src/components}/field-render.vue +0 -0
|
@@ -74,14 +74,9 @@
|
|
|
74
74
|
position: relative;
|
|
75
75
|
}
|
|
76
76
|
@include e(nav-wrap) {
|
|
77
|
+
flex: 1;
|
|
77
78
|
box-sizing: border-box;
|
|
78
|
-
padding: 0 20px;
|
|
79
79
|
overflow: hidden;
|
|
80
|
-
position: absolute;
|
|
81
|
-
left: 0;
|
|
82
|
-
top: 0;
|
|
83
|
-
right: 0;
|
|
84
|
-
bottom: 0;
|
|
85
80
|
&:not(.is-hide)::after {
|
|
86
81
|
content: '';
|
|
87
82
|
position: absolute;
|
|
@@ -266,7 +261,6 @@
|
|
|
266
261
|
background-color: $--background-color-base;
|
|
267
262
|
border-bottom: 1px solid #fff;
|
|
268
263
|
margin: 0;
|
|
269
|
-
padding-top: 9px;
|
|
270
264
|
}
|
|
271
265
|
> .es-tabs__header .es-tabs__nav-wrap::after {
|
|
272
266
|
content: none;
|
|
@@ -290,31 +284,6 @@
|
|
|
290
284
|
background-color: $--color-white;
|
|
291
285
|
border-right-color: $--color-white;
|
|
292
286
|
border-left-color: $--color-white;
|
|
293
|
-
border-top-left-radius: 8px;
|
|
294
|
-
border-top-right-radius: 8px;
|
|
295
|
-
&:before {
|
|
296
|
-
content: '';
|
|
297
|
-
position: absolute;
|
|
298
|
-
bottom: -1px;
|
|
299
|
-
width: 8px;
|
|
300
|
-
height: 8px;
|
|
301
|
-
background-color: #f5f5f5;
|
|
302
|
-
left: -9px;
|
|
303
|
-
border-radius: 0 0 8px 0;
|
|
304
|
-
box-shadow: 4px 0 0 0 #ffffff;
|
|
305
|
-
}
|
|
306
|
-
&::after {
|
|
307
|
-
content: '';
|
|
308
|
-
position: absolute;
|
|
309
|
-
bottom: -1px;
|
|
310
|
-
width: 8px;
|
|
311
|
-
height: 8px;
|
|
312
|
-
background: #f5f5f5;
|
|
313
|
-
right: -9px;
|
|
314
|
-
border-radius: 0 0 0 8px;
|
|
315
|
-
box-shadow: -4px 0 0 0 #ffffff;
|
|
316
|
-
z-index: 1;
|
|
317
|
-
}
|
|
318
287
|
}
|
|
319
288
|
&:not(.is-disabled):hover {
|
|
320
289
|
color: $--color-primary;
|
|
@@ -330,9 +299,7 @@
|
|
|
330
299
|
}
|
|
331
300
|
@include m((top, bottom)) {
|
|
332
301
|
&.es-tabs--border-card,
|
|
333
|
-
&.es-tabs--card
|
|
334
|
-
.es-tabs--left,
|
|
335
|
-
.es-tabs--right {
|
|
302
|
+
&.es-tabs--card {
|
|
336
303
|
> .es-tabs__header {
|
|
337
304
|
.es-tabs__item:nth-child(2) {
|
|
338
305
|
padding-left: 20px;
|
|
@@ -342,6 +309,46 @@
|
|
|
342
309
|
}
|
|
343
310
|
}
|
|
344
311
|
}
|
|
312
|
+
.es-tabs__nav-wrap {
|
|
313
|
+
min-width: 0;
|
|
314
|
+
&.is-scrollable {
|
|
315
|
+
padding: 0 20px;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
@include m(top) {
|
|
320
|
+
&.es-tabs--border-card {
|
|
321
|
+
& > .es-tabs__header {
|
|
322
|
+
padding-top: 9px;
|
|
323
|
+
.es-tabs__nav {
|
|
324
|
+
padding: 0 8px;
|
|
325
|
+
}
|
|
326
|
+
.es-tabs__item.is-active {
|
|
327
|
+
border-top-left-radius: 8px;
|
|
328
|
+
border-top-right-radius: 8px;
|
|
329
|
+
&:before,
|
|
330
|
+
&::after {
|
|
331
|
+
content: '';
|
|
332
|
+
position: absolute;
|
|
333
|
+
width: 8px;
|
|
334
|
+
height: 8px;
|
|
335
|
+
background-color: #f5f5f5;
|
|
336
|
+
}
|
|
337
|
+
&:before {
|
|
338
|
+
border-radius: 0 0 8px 0;
|
|
339
|
+
bottom: -1px;
|
|
340
|
+
left: -9px;
|
|
341
|
+
box-shadow: 4px 0 0 0 #ffffff;
|
|
342
|
+
}
|
|
343
|
+
&::after {
|
|
344
|
+
border-radius: 0 0 0 8px;
|
|
345
|
+
bottom: -1px;
|
|
346
|
+
right: -9px;
|
|
347
|
+
box-shadow: -4px 0 0 0 #ffffff;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
}
|
|
345
352
|
}
|
|
346
353
|
@include m(bottom) {
|
|
347
354
|
.es-tabs__header.is-bottom {
|
|
@@ -349,7 +356,11 @@
|
|
|
349
356
|
margin-top: 10px;
|
|
350
357
|
}
|
|
351
358
|
&.es-tabs--border-card {
|
|
359
|
+
.es-tabs__nav {
|
|
360
|
+
padding: 0 8px;
|
|
361
|
+
}
|
|
352
362
|
.es-tabs__header.is-bottom {
|
|
363
|
+
padding-bottom: 9px;
|
|
353
364
|
border-bottom: 0;
|
|
354
365
|
border-top: 1px solid $--border-color-base;
|
|
355
366
|
}
|
|
@@ -357,11 +368,38 @@
|
|
|
357
368
|
margin-top: -1px;
|
|
358
369
|
margin-bottom: 0;
|
|
359
370
|
}
|
|
360
|
-
.es-tabs__item
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
371
|
+
.es-tabs__item {
|
|
372
|
+
&.is-bottom {
|
|
373
|
+
margin: 0 -1px -1px -1px;
|
|
374
|
+
&:not(.is-active) {
|
|
375
|
+
border: 1px solid transparent;
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
&.is-active {
|
|
380
|
+
border-bottom-left-radius: 8px;
|
|
381
|
+
border-bottom-right-radius: 8px;
|
|
382
|
+
&:before,
|
|
383
|
+
&::after {
|
|
384
|
+
content: '';
|
|
385
|
+
position: absolute;
|
|
386
|
+
width: 8px;
|
|
387
|
+
height: 8px;
|
|
388
|
+
background-color: #f5f5f5;
|
|
389
|
+
}
|
|
390
|
+
&:before {
|
|
391
|
+
border-radius: 0 8px 0 0;
|
|
392
|
+
top: -1px;
|
|
393
|
+
left: -9px;
|
|
394
|
+
box-shadow: 4px 0 0 0 #ffffff;
|
|
395
|
+
}
|
|
396
|
+
&::after {
|
|
397
|
+
border-radius: 8px 0 0 0;
|
|
398
|
+
top: -1px;
|
|
399
|
+
right: -9px;
|
|
400
|
+
box-shadow: -4px 0 0 0 #ffffff;
|
|
401
|
+
}
|
|
402
|
+
}
|
|
365
403
|
}
|
|
366
404
|
}
|
|
367
405
|
}
|
|
@@ -383,10 +421,6 @@
|
|
|
383
421
|
height: auto;
|
|
384
422
|
}
|
|
385
423
|
|
|
386
|
-
.es-tabs__nav-main.is-left,
|
|
387
|
-
.es-tabs__nav-main.is-right {
|
|
388
|
-
margin-bottom: 0;
|
|
389
|
-
}
|
|
390
424
|
.es-tabs__nav-wrap.is-left,
|
|
391
425
|
.es-tabs__nav-wrap.is-right {
|
|
392
426
|
margin-bottom: 0;
|
|
@@ -440,9 +474,6 @@
|
|
|
440
474
|
margin-right: 10px;
|
|
441
475
|
flex-direction: column;
|
|
442
476
|
}
|
|
443
|
-
.es-tabs__nav-main.is-left {
|
|
444
|
-
margin-right: -1px;
|
|
445
|
-
}
|
|
446
477
|
.es-tabs__nav-wrap.is-left {
|
|
447
478
|
&::after {
|
|
448
479
|
left: auto;
|
|
@@ -512,6 +543,9 @@
|
|
|
512
543
|
}
|
|
513
544
|
}
|
|
514
545
|
}
|
|
546
|
+
.es-tabs__content{
|
|
547
|
+
height: 100%;
|
|
548
|
+
}
|
|
515
549
|
}
|
|
516
550
|
@include m(right) {
|
|
517
551
|
.es-tabs__header.is-right {
|
|
@@ -521,9 +555,6 @@
|
|
|
521
555
|
flex-direction: column;
|
|
522
556
|
}
|
|
523
557
|
|
|
524
|
-
.es-tabs__nav-main.is-right {
|
|
525
|
-
margin-left: -1px;
|
|
526
|
-
}
|
|
527
558
|
.es-tabs__nav-wrap.is-right {
|
|
528
559
|
&::after {
|
|
529
560
|
left: 0;
|
package/src/config/api.js
CHANGED
|
@@ -318,3 +318,16 @@ export const toFreeTaskCircularRead = '/bpm/bpmBackend/toFreeTaskCircularRead';
|
|
|
318
318
|
export const freeTaskCircularRead =
|
|
319
319
|
'/bpm/bpmBackend/freeTaskCircularRead';
|
|
320
320
|
|
|
321
|
+
/** 自定义配置 */
|
|
322
|
+
// 获取自定义配置列表
|
|
323
|
+
export const pageLists = '/main2/pageComponentConfig/listJson';
|
|
324
|
+
// 获取已发布自定义配置列表
|
|
325
|
+
export const publishedLists = '/main2/pageComponentConfig/listPublished';
|
|
326
|
+
// 获取自定义配置详情
|
|
327
|
+
export const pageInfo = '/main2/pageComponentConfig/info';
|
|
328
|
+
// 保存自定义配置,发布也调这个接口但要加上字段status=1
|
|
329
|
+
export const pageSave = '/main2/pageComponentConfig/save';
|
|
330
|
+
// 更新自定义配置
|
|
331
|
+
export const pageUpdate = '/main2/pageComponentConfig/update';
|
|
332
|
+
// 删除自定义配置
|
|
333
|
+
export const pageDelete = '/main2/pageComponentConfig/deleteById';
|
package/src/index.js
CHANGED
|
@@ -36,6 +36,7 @@ import Dropdown from '../packages/dropdown/index.js';
|
|
|
36
36
|
import DropdownItem from '../packages/dropdown-item/index.js';
|
|
37
37
|
import DropdownMenu from '../packages/dropdown-menu/index.js';
|
|
38
38
|
import EmailLogin from '../packages/email-login/index.js';
|
|
39
|
+
import Empty from '../packages/empty/index.js';
|
|
39
40
|
import Flip from '../packages/flip/index.js';
|
|
40
41
|
import Flow from '../packages/flow/index.js';
|
|
41
42
|
import FlowGroup from '../packages/flow-group/index.js';
|
|
@@ -53,6 +54,7 @@ import Input from '../packages/input/index.js';
|
|
|
53
54
|
import Link from '../packages/link/index.js';
|
|
54
55
|
import Loading from '../packages/loading/index.js';
|
|
55
56
|
import Login from '../packages/login/index.js';
|
|
57
|
+
import Lowcode from '../packages/lowcode/index.js';
|
|
56
58
|
import Main from '../packages/main/index.js';
|
|
57
59
|
import Marquee from '../packages/marquee/index.js';
|
|
58
60
|
import MenuItem from '../packages/menu-item/index.js';
|
|
@@ -139,6 +141,7 @@ const components = [
|
|
|
139
141
|
DropdownItem,
|
|
140
142
|
DropdownMenu,
|
|
141
143
|
EmailLogin,
|
|
144
|
+
Empty,
|
|
142
145
|
Flip,
|
|
143
146
|
Flow,
|
|
144
147
|
FlowGroup,
|
|
@@ -154,6 +157,7 @@ const components = [
|
|
|
154
157
|
Input,
|
|
155
158
|
Link,
|
|
156
159
|
Login,
|
|
160
|
+
Lowcode,
|
|
157
161
|
Main,
|
|
158
162
|
Marquee,
|
|
159
163
|
MenuItem,
|
|
@@ -202,7 +206,7 @@ const components = [
|
|
|
202
206
|
CollapseTransition
|
|
203
207
|
];
|
|
204
208
|
|
|
205
|
-
const install = function(Vue) {
|
|
209
|
+
const install = function(Vue, opts = {}) {
|
|
206
210
|
|
|
207
211
|
components.forEach(component => {
|
|
208
212
|
Vue.component(component.name, component);
|
|
@@ -212,8 +216,15 @@ const install = function(Vue) {
|
|
|
212
216
|
Vue.use(Loading.directive);
|
|
213
217
|
|
|
214
218
|
Vue.prototype.$EOSS = {
|
|
215
|
-
size: '',
|
|
216
|
-
zIndex: 2000
|
|
219
|
+
size: opts.size || '',
|
|
220
|
+
zIndex: opts.zIndex || 2000,
|
|
221
|
+
qrCodeSize: opts.qrCodeSize || {
|
|
222
|
+
large: 284,
|
|
223
|
+
default: 250,
|
|
224
|
+
medium: 218,
|
|
225
|
+
small: 190,
|
|
226
|
+
mini: 174
|
|
227
|
+
}
|
|
217
228
|
};
|
|
218
229
|
|
|
219
230
|
Vue.prototype.$loading = Loading.service;
|
|
@@ -231,7 +242,7 @@ if (typeof window !== 'undefined' && window.Vue) {
|
|
|
231
242
|
}
|
|
232
243
|
|
|
233
244
|
export default {
|
|
234
|
-
version: '0.1.0-alpha.
|
|
245
|
+
version: '0.1.0-alpha.21',
|
|
235
246
|
install,
|
|
236
247
|
CollapseTransition,
|
|
237
248
|
Loading,
|
|
@@ -271,6 +282,7 @@ export default {
|
|
|
271
282
|
DropdownItem,
|
|
272
283
|
DropdownMenu,
|
|
273
284
|
EmailLogin,
|
|
285
|
+
Empty,
|
|
274
286
|
Flip,
|
|
275
287
|
Flow,
|
|
276
288
|
FlowGroup,
|
|
@@ -287,6 +299,7 @@ export default {
|
|
|
287
299
|
Input,
|
|
288
300
|
Link,
|
|
289
301
|
Login,
|
|
302
|
+
Lowcode,
|
|
290
303
|
Main,
|
|
291
304
|
Marquee,
|
|
292
305
|
MenuItem,
|
package/src/utils/ajax.js
CHANGED
|
@@ -21,8 +21,6 @@ const statusMap = {
|
|
|
21
21
|
503: '服务不可用(503)'
|
|
22
22
|
};
|
|
23
23
|
|
|
24
|
-
// 全局实例和状态
|
|
25
|
-
let $_http;
|
|
26
24
|
// let loginMsg;
|
|
27
25
|
let initAuth;
|
|
28
26
|
|
|
@@ -117,76 +115,74 @@ export const ajax = function ({
|
|
|
117
115
|
}
|
|
118
116
|
|
|
119
117
|
// 初始化axios实例
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
return responseData;
|
|
131
|
-
}
|
|
118
|
+
const baseURL = host === true ? getStorage('host') : host === false ? '' : host;
|
|
119
|
+
const $_http = axios.create({
|
|
120
|
+
baseURL,
|
|
121
|
+
timeout: 99000,
|
|
122
|
+
transformResponse: [
|
|
123
|
+
function (responseData) {
|
|
124
|
+
try {
|
|
125
|
+
return JSONbigToString.parse(responseData);
|
|
126
|
+
} catch (err) {
|
|
127
|
+
return responseData;
|
|
132
128
|
}
|
|
133
|
-
|
|
134
|
-
|
|
129
|
+
}
|
|
130
|
+
]
|
|
131
|
+
});
|
|
135
132
|
|
|
136
133
|
// 请求拦截器
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
}
|
|
134
|
+
$_http.interceptors.request.use(
|
|
135
|
+
(config) => {
|
|
136
|
+
config.headers.common = getStorage();
|
|
137
|
+
return config;
|
|
138
|
+
},
|
|
139
|
+
(err) => Promise.reject(err)
|
|
140
|
+
);
|
|
141
|
+
|
|
142
|
+
// 响应拦截器
|
|
143
|
+
$_http.interceptors.response.use(
|
|
144
|
+
(response) => {
|
|
145
|
+
|
|
146
|
+
// 处理认证信息
|
|
147
|
+
if (response.headers.authorization) {
|
|
148
|
+
const currentToken = getStorage('token');
|
|
149
|
+
if (response.headers.authorization !== currentToken) {
|
|
150
|
+
setStorage({
|
|
151
|
+
key: ['token', 'Authorization'],
|
|
152
|
+
value: response.headers.authorization
|
|
153
|
+
});
|
|
158
154
|
}
|
|
155
|
+
}
|
|
159
156
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
}
|
|
157
|
+
// 处理会话ID
|
|
158
|
+
const ssId = response.headers.ssId || response.headers.Ssid || response.headers.ssid;
|
|
159
|
+
if (ssId) {
|
|
160
|
+
const currentSsId = getStorage('ssId');
|
|
161
|
+
if (ssId !== currentSsId) {
|
|
162
|
+
setStorage({ key: 'ssId', value: ssId });
|
|
167
163
|
}
|
|
164
|
+
}
|
|
168
165
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
}
|
|
166
|
+
// 处理响应数据
|
|
167
|
+
if (response.status === 200) {
|
|
168
|
+
responses(response.data);
|
|
169
|
+
return Promise.resolve(JSON.parse(JSON.stringify(response.data)));
|
|
170
|
+
}
|
|
171
|
+
return response;
|
|
172
|
+
},
|
|
173
|
+
(error) => {
|
|
174
|
+
|
|
175
|
+
// 处理错误信息
|
|
176
|
+
if (error && error.response) {
|
|
177
|
+
if (error.response.status) {
|
|
178
|
+
error.message = statusMap[error.response.status] || `连接错误${error.response.status}`;
|
|
179
|
+
} else {
|
|
180
|
+
error.message = '无法请求,请联系管理员';
|
|
185
181
|
}
|
|
186
|
-
return Promise.reject(error);
|
|
187
182
|
}
|
|
188
|
-
|
|
189
|
-
|
|
183
|
+
return Promise.reject(error);
|
|
184
|
+
}
|
|
185
|
+
);
|
|
190
186
|
|
|
191
187
|
// 添加默认用户ID
|
|
192
188
|
const userId = getStorage('userId');
|
|
@@ -588,7 +584,7 @@ function redirectToLogin() {
|
|
|
588
584
|
* @param {sting} [loginPage] - 第三方登录页面地址
|
|
589
585
|
* @param {boolean} [redirect] - 是否重定向(用于新脚手架)
|
|
590
586
|
**/
|
|
591
|
-
export const isLogined =
|
|
587
|
+
export const isLogined = function ({
|
|
592
588
|
to,
|
|
593
589
|
_from, // eslint-disable-line no-unused-vars
|
|
594
590
|
next,
|
|
@@ -642,7 +638,7 @@ export const isLogined = async function ({
|
|
|
642
638
|
const loadingInstance = loading('页面加载中...');
|
|
643
639
|
|
|
644
640
|
try {
|
|
645
|
-
const res =
|
|
641
|
+
const res = ajax({
|
|
646
642
|
method: 'post',
|
|
647
643
|
url: authCenter,
|
|
648
644
|
data: to.query
|
package/src/utils/bus.js
CHANGED
|
@@ -8,12 +8,12 @@ import Vue from 'vue';
|
|
|
8
8
|
*
|
|
9
9
|
* @example
|
|
10
10
|
* A组件:
|
|
11
|
-
* import bus from '
|
|
11
|
+
* import bus from 'eoss/src/utils/bus.js'
|
|
12
12
|
* // 触发事件
|
|
13
13
|
* bus.$emit('message', data)
|
|
14
14
|
*
|
|
15
15
|
* B组件:
|
|
16
|
-
* import bus from '
|
|
16
|
+
* import bus from 'eoss/src/utils/bus.js'
|
|
17
17
|
*
|
|
18
18
|
* // 侦听事件
|
|
19
19
|
* bus.$on('message', data => {
|
package/src/utils/popup/index.js
CHANGED
|
@@ -41,6 +41,10 @@ export default {
|
|
|
41
41
|
closeOnClickModal: {
|
|
42
42
|
type: Boolean,
|
|
43
43
|
default: false
|
|
44
|
+
},
|
|
45
|
+
lazy: {
|
|
46
|
+
type: Boolean,
|
|
47
|
+
default: true
|
|
44
48
|
}
|
|
45
49
|
},
|
|
46
50
|
|
|
@@ -71,7 +75,7 @@ export default {
|
|
|
71
75
|
bodyPaddingRight: null,
|
|
72
76
|
computedBodyPaddingRight: 0,
|
|
73
77
|
withoutHiddenClass: true,
|
|
74
|
-
rendered:
|
|
78
|
+
rendered: !this.lazy
|
|
75
79
|
};
|
|
76
80
|
},
|
|
77
81
|
|
package/src/utils/util.js
CHANGED
|
@@ -1175,7 +1175,8 @@ export const getObjectType = function (obj) {
|
|
|
1175
1175
|
* @param {String} [options.name] - 参数名,可选
|
|
1176
1176
|
* @return {Object|string} 参数对象或指定参数值
|
|
1177
1177
|
**/
|
|
1178
|
-
export const getParams = function (
|
|
1178
|
+
export const getParams = function (options = {}) {
|
|
1179
|
+
const { url, name } = typeof options === 'string' ? {name: options} : options;
|
|
1179
1180
|
let href = '';
|
|
1180
1181
|
try {
|
|
1181
1182
|
href = window.top.location.href;
|
|
@@ -1579,10 +1580,7 @@ export const indexOfObj = function (arry, target, key) {
|
|
|
1579
1580
|
return i;
|
|
1580
1581
|
}
|
|
1581
1582
|
} else if (target && typeof target === 'object') {
|
|
1582
|
-
if (currentItem[currentKey] ===
|
|
1583
|
-
throw new Error(`属性${currentKey}不存在`);
|
|
1584
|
-
}
|
|
1585
|
-
if (currentItem[currentKey] === target[currentKey]) {
|
|
1583
|
+
if (currentItem[currentKey] !== undefined && currentItem[currentKey] === target[currentKey]) {
|
|
1586
1584
|
return i;
|
|
1587
1585
|
}
|
|
1588
1586
|
}
|
|
@@ -1757,7 +1755,106 @@ export const joinUrl = function ({ url, reg }) {
|
|
|
1757
1755
|
// 如果前缀类型无效,直接返回URL
|
|
1758
1756
|
return url;
|
|
1759
1757
|
};
|
|
1758
|
+
/**
|
|
1759
|
+
* layoutWaterfall
|
|
1760
|
+
* @desc 布布流布局计算
|
|
1761
|
+
* @author huangbo
|
|
1762
|
+
* @date 2022年5月7日
|
|
1763
|
+
* @param {String} url - JS文件地址
|
|
1764
|
+
* @param {Function} [callback] - 回调函数
|
|
1765
|
+
**/
|
|
1766
|
+
export const layoutWaterfall = function (self, container, pages, columns, gap) {
|
|
1767
|
+
if (!container) return;
|
|
1768
|
+
|
|
1769
|
+
if (pages.length === 0) return;
|
|
1770
|
+
|
|
1771
|
+
// 获取容器实际内容宽度(减去 padding)
|
|
1772
|
+
const computedStyle = getComputedStyle(container);
|
|
1773
|
+
const paddingLeft = parseFloat(computedStyle.paddingLeft) || 0;
|
|
1774
|
+
const paddingRight = parseFloat(computedStyle.paddingRight) || 0;
|
|
1775
|
+
const paddingTop = parseFloat(computedStyle.paddingTop) || 0;
|
|
1776
|
+
const containerWidth = container.clientWidth - paddingLeft - paddingRight;
|
|
1777
|
+
if (containerWidth === 0) return;
|
|
1778
|
+
|
|
1779
|
+
// 计算每列宽度
|
|
1780
|
+
const columnWidth =
|
|
1781
|
+
(containerWidth - gap * (columns - 1)) / columns;
|
|
1782
|
+
|
|
1783
|
+
// 初始化每列高度数组(以 paddingTop 为起始偏移)
|
|
1784
|
+
const columnHeights = new Array(columns).fill(paddingTop);
|
|
1785
|
+
|
|
1786
|
+
// 遍历所有元素,分配到高度最小的列
|
|
1787
|
+
pages.forEach(item => {
|
|
1788
|
+
// 确保span在有效范围内
|
|
1789
|
+
const span = Math.max(1, Math.min(item.style ? item.style.span || item.span || 1 : item.span || 1, columns));
|
|
1790
|
+
|
|
1791
|
+
// 找到可以容纳当前元素span宽度的最小高度起始列
|
|
1792
|
+
let minHeight = Infinity;
|
|
1793
|
+
let startColumn = 0;
|
|
1794
|
+
|
|
1795
|
+
// 遍历所有可能的起始列,找到可以放置span列元素的位置
|
|
1796
|
+
for (let i = 0; i <= columns - span; i++) {
|
|
1797
|
+
// 计算当前连续span列的最大高度
|
|
1798
|
+
let currentMaxHeight = 0;
|
|
1799
|
+
for (let j = i; j < i + span; j++) {
|
|
1800
|
+
if (columnHeights[j] > currentMaxHeight) {
|
|
1801
|
+
currentMaxHeight = columnHeights[j];
|
|
1802
|
+
}
|
|
1803
|
+
}
|
|
1804
|
+
|
|
1805
|
+
// 找到最小的最大高度
|
|
1806
|
+
if (currentMaxHeight < minHeight) {
|
|
1807
|
+
minHeight = currentMaxHeight;
|
|
1808
|
+
startColumn = i;
|
|
1809
|
+
}
|
|
1810
|
+
}
|
|
1811
|
+
|
|
1812
|
+
// 计算元素宽度和位置
|
|
1813
|
+
const existingWidth = (item.style && item.style.width) ? parseInt(item.style.width, 10) : null;
|
|
1814
|
+
const hasSpan = (item.style && item.style.span) || item.span;
|
|
1815
|
+
const calculatedWidth = columnWidth * span + gap * (span - 1);
|
|
1816
|
+
const useCustomWidth = !hasSpan && existingWidth;
|
|
1817
|
+
const elementWidth = useCustomWidth ? existingWidth : calculatedWidth;
|
|
1818
|
+
|
|
1819
|
+
// 根据是否使用自定义宽度计算 left(加上 padding 偏移)
|
|
1820
|
+
let left;
|
|
1821
|
+
if (useCustomWidth) {
|
|
1822
|
+
// 自定义宽度:在分配的列范围内居中(取整避免亚像素)
|
|
1823
|
+
const columnSpaceWidth = columnWidth * span + gap * (span - 1);
|
|
1824
|
+
left = Math.round(paddingLeft + startColumn * columnWidth + startColumn * gap + (columnSpaceWidth - elementWidth) / 2);
|
|
1825
|
+
} else {
|
|
1826
|
+
// 标准 span 宽度:正常计算位置
|
|
1827
|
+
left = paddingLeft + startColumn * columnWidth + startColumn * gap;
|
|
1828
|
+
}
|
|
1829
|
+
const top = minHeight;
|
|
1760
1830
|
|
|
1831
|
+
// 设置元素样式(使用Vue的$set确保响应式)
|
|
1832
|
+
if (!item.style) {
|
|
1833
|
+
self.$set(item, 'style', {});
|
|
1834
|
+
}
|
|
1835
|
+
const height = item.style.height ? parseInt(item.style.height, 10) : 30 ;
|
|
1836
|
+
self.$set(item.style, 'position', 'absolute');
|
|
1837
|
+
self.$set(item.style, 'width', `${elementWidth}px`);
|
|
1838
|
+
self.$set(item.style, 'height', `${height}px`);
|
|
1839
|
+
self.$set(item.style, 'left', `${left}px`);
|
|
1840
|
+
self.$set(item.style, 'top', `${top}px`);
|
|
1841
|
+
if (!useCustomWidth) {
|
|
1842
|
+
self.$set(item.style, 'span', span);
|
|
1843
|
+
}
|
|
1844
|
+
|
|
1845
|
+
// 更新所有被占用列的高度
|
|
1846
|
+
const newHeight = top + height + gap;
|
|
1847
|
+
for (let i = startColumn; i < startColumn + span; i++) {
|
|
1848
|
+
columnHeights[i] = newHeight;
|
|
1849
|
+
}
|
|
1850
|
+
});
|
|
1851
|
+
|
|
1852
|
+
// 设置容器高度
|
|
1853
|
+
let maxHeight = Math.max(...columnHeights);
|
|
1854
|
+
container.style.position = 'relative';
|
|
1855
|
+
container.style.height = `${maxHeight - gap}px`; // 减去最后一个间隙
|
|
1856
|
+
return {columnWidth, width: containerWidth};
|
|
1857
|
+
};
|
|
1761
1858
|
/**
|
|
1762
1859
|
* loadJs
|
|
1763
1860
|
* @desc 加载JS文件
|
|
@@ -1897,8 +1994,8 @@ export const receiveMessage = function (callback) {
|
|
|
1897
1994
|
**/
|
|
1898
1995
|
export const renderIcon = function (data, node, icons) {
|
|
1899
1996
|
const { attributes } = data || {};
|
|
1900
|
-
const orgType = attributes.orgType
|
|
1901
|
-
const layerlevel = attributes.layerlevel
|
|
1997
|
+
const orgType = attributes ? attributes.orgType : data.orgType;
|
|
1998
|
+
const layerlevel = attributes ? attributes.layerlevel : data.layerlevel;
|
|
1902
1999
|
if (!orgType) return '';
|
|
1903
2000
|
let key = orgType === 'org' ? layerlevel ? 'bumen' : 'gongsi' : 'bumen';
|
|
1904
2001
|
if (node.level === 1 && (data.subNode || data.isParent || data.hasChildren)) {
|