eoss-ui 0.5.79 → 0.5.81-beta
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/button-group.js +279 -265
- package/lib/button.js +71 -69
- package/lib/calendar.js +2 -2
- package/lib/card.js +2 -2
- package/lib/cascader.js +2 -2
- package/lib/checkbox-group.js +71 -70
- package/lib/clients.js +11 -11
- package/lib/config/api.js +1 -0
- package/lib/data-table-form.js +69 -67
- package/lib/data-table.js +87 -80
- package/lib/date-picker.js +71 -69
- package/lib/dialog.js +71 -70
- package/lib/enterprise.js +2 -2
- package/lib/eoss-ui.common.js +5966 -986
- package/lib/error-page.js +2 -2
- package/lib/flow-group.js +71 -69
- package/lib/flow-list.js +74 -72
- package/lib/flow.js +95 -93
- package/lib/form.js +179 -98
- package/lib/handle-user.js +72 -70
- package/lib/handler.js +75 -73
- package/lib/icon.js +3731 -12
- package/lib/icons.js +3 -3
- package/lib/index.js +1 -1
- package/lib/input-number.js +71 -69
- package/lib/input.js +71 -73
- package/lib/label.js +2 -2
- package/lib/layout.js +2 -2
- package/lib/login.js +146 -106
- package/lib/main.js +5663 -844
- package/lib/menu.js +2 -2
- package/lib/nav.js +71 -69
- package/lib/notify.js +72 -70
- package/lib/page.js +71 -69
- package/lib/pagination.js +2 -2
- package/lib/player.js +75 -73
- package/lib/qr-code.js +73 -71
- package/lib/radio-group.js +71 -69
- package/lib/retrial-auth.js +73 -71
- package/lib/select-ganged.js +71 -69
- package/lib/select.js +71 -69
- package/lib/selector-panel.js +74 -73
- package/lib/selector.js +80 -78
- package/lib/sizer.js +71 -69
- package/lib/steps.js +71 -69
- package/lib/switch.js +78 -76
- package/lib/table-form.js +71 -69
- package/lib/tabs-panel.js +2 -2
- package/lib/tabs.js +71 -69
- package/lib/theme-chalk/base.css +1 -1
- package/lib/theme-chalk/clients.css +1 -1
- package/lib/theme-chalk/data-table.css +1 -1
- 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/login.css +1 -1
- package/lib/theme-chalk/main.css +1 -1
- package/lib/theme-chalk/menu.css +1 -1
- package/lib/theme-chalk/simplicity.css +1 -0
- package/lib/theme-chalk/sizer.css +1 -1
- package/lib/theme-chalk/upload.css +1 -1
- package/lib/tips.js +72 -70
- package/lib/toolbar.js +2 -2
- package/lib/tree-group.js +71 -69
- package/lib/tree.js +71 -69
- package/lib/upload.js +146 -118
- package/lib/utils/util.js +2 -2
- package/lib/wujie.js +71 -69
- package/lib/wxlogin.js +214 -212
- package/package.json +3 -3
- package/packages/clients/src/main.vue +7 -7
- package/packages/data-table/src/main.vue +17 -5
- package/packages/form/src/main.vue +27 -13
- package/packages/handler/src/main.vue +3 -1
- package/packages/icon/src/main.vue +31 -10
- package/packages/icons/src/icon.json +1 -1
- package/packages/input/src/main.vue +0 -4
- package/packages/login/src/main.vue +13 -7
- package/packages/main/src/default/index.vue +2199 -0
- package/packages/main/src/main.vue +30 -2209
- package/packages/main/src/simplicity/apps.vue +301 -0
- package/packages/main/src/simplicity/avatar.vue +68 -0
- package/packages/main/src/simplicity/handler.vue +148 -0
- package/packages/main/src/simplicity/index.vue +1515 -0
- package/packages/main/src/simplicity/lists.vue +84 -0
- package/packages/main/src/simplicity/menu-list.vue +74 -0
- package/packages/main/src/simplicity/message.vue +237 -0
- package/packages/main/src/simplicity/notice.vue +145 -0
- package/packages/main/src/simplicity/settings.vue +119 -0
- package/packages/main/src/simplicity/sub-menu.vue +120 -0
- package/packages/main/src/simplicity/user.vue +243 -0
- package/packages/main/src/simplicity/userinfo.vue +302 -0
- package/packages/theme-chalk/lib/base.css +1 -1
- package/packages/theme-chalk/lib/clients.css +1 -1
- package/packages/theme-chalk/lib/data-table.css +1 -1
- package/packages/theme-chalk/lib/fonts/iconfont.ttf +0 -0
- package/packages/theme-chalk/lib/fonts/iconfont.woff +0 -0
- package/packages/theme-chalk/lib/form.css +1 -1
- package/packages/theme-chalk/lib/icon.css +1 -1
- package/packages/theme-chalk/lib/index.css +1 -1
- package/packages/theme-chalk/lib/login.css +1 -1
- package/packages/theme-chalk/lib/main.css +1 -1
- package/packages/theme-chalk/lib/menu.css +1 -1
- package/packages/theme-chalk/lib/simplicity.css +1 -0
- package/packages/theme-chalk/lib/sizer.css +1 -1
- package/packages/theme-chalk/lib/upload.css +1 -1
- package/packages/theme-chalk/src/base.scss +1 -0
- package/packages/theme-chalk/src/clients.scss +1 -1
- package/packages/theme-chalk/src/common/var.scss +4 -0
- package/packages/theme-chalk/src/data-table.scss +3 -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 +2 -2
- package/packages/theme-chalk/src/icon.scss +4 -4
- package/packages/theme-chalk/src/login.scss +644 -632
- package/packages/theme-chalk/src/main.scss +6 -2
- package/packages/theme-chalk/src/simplicity.scss +545 -0
- package/packages/upload/src/main.vue +132 -80
- package/src/config/api.js +1 -0
- package/src/index.js +1 -1
- package/src/utils/util.js +2 -2
- package/lib/theme-chalk/mainComp.css +0 -0
- package/packages/main/src/async-component/index.vue +0 -87
- package/packages/theme-chalk/lib/mainComp.css +0 -0
- package/packages/theme-chalk/src/mainComp.scss +0 -0
- /package/packages/main/src/{message.vue → default/message.vue} +0 -0
- /package/packages/main/src/{notice.vue → default/notice.vue} +0 -0
- /package/packages/main/src/{settings.vue → default/settings.vue} +0 -0
- /package/packages/main/src/{userinfo.vue → default/userinfo.vue} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<el-upload
|
|
3
|
-
v-if="isRender"
|
|
3
|
+
v-if="isRender && url"
|
|
4
4
|
ref="upload"
|
|
5
5
|
v-bind="$attrs"
|
|
6
6
|
class="es-upload"
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
:readonly="isReadonly"
|
|
17
17
|
:class="[
|
|
18
18
|
{
|
|
19
|
-
'es-avatar-uploader': portrait,
|
|
19
|
+
'es-avatar-uploader': portrait && !$slots.default,
|
|
20
20
|
'es-upload-readonly': isReadonly && !downloads
|
|
21
21
|
},
|
|
22
22
|
'es-upload-' + listType
|
|
@@ -418,6 +418,7 @@ export default {
|
|
|
418
418
|
},
|
|
419
419
|
data() {
|
|
420
420
|
return {
|
|
421
|
+
url: this.action,
|
|
421
422
|
lists: [],
|
|
422
423
|
image: '',
|
|
423
424
|
fileAccept: '',
|
|
@@ -433,9 +434,10 @@ export default {
|
|
|
433
434
|
videoChange: false,
|
|
434
435
|
source: '',
|
|
435
436
|
excludeNames: '',
|
|
436
|
-
previewAdjunct: previewAdjunct,
|
|
437
437
|
boxHeight: this.listHeight,
|
|
438
|
-
|
|
438
|
+
previewAdjunct: previewAdjunct,
|
|
439
|
+
kkfileview: null,
|
|
440
|
+
dochubConfig: {}
|
|
439
441
|
};
|
|
440
442
|
},
|
|
441
443
|
computed: {
|
|
@@ -481,14 +483,6 @@ export default {
|
|
|
481
483
|
}
|
|
482
484
|
return this.showFileList;
|
|
483
485
|
},
|
|
484
|
-
url() {
|
|
485
|
-
let url = this.action
|
|
486
|
-
? this.action
|
|
487
|
-
: this.portrait
|
|
488
|
-
? uploadOnlyOne
|
|
489
|
-
: uploads;
|
|
490
|
-
return url.indexOf(this.host) > -1 ? url : this.host + url;
|
|
491
|
-
},
|
|
492
486
|
excludes() {
|
|
493
487
|
return this.exclude ? this.exclude : this.excludeNames;
|
|
494
488
|
},
|
|
@@ -713,6 +707,12 @@ export default {
|
|
|
713
707
|
this.fileAccept = config.accept;
|
|
714
708
|
this.fileSize = config.size;
|
|
715
709
|
this.fileTotalSize = config.totalSize;
|
|
710
|
+
this.dochubConfig = config.dochubConfig || {};
|
|
711
|
+
|
|
712
|
+
let url = this.portrait
|
|
713
|
+
? this.dochubConfig.reuploadDocument || uploadOnlyOne
|
|
714
|
+
: this.dochubConfig.uploadDocument || uploads;
|
|
715
|
+
this.url = url.indexOf(this.host) > -1 ? url : this.host + url;
|
|
716
716
|
} else {
|
|
717
717
|
util
|
|
718
718
|
.ajax({
|
|
@@ -734,6 +734,12 @@ export default {
|
|
|
734
734
|
})
|
|
735
735
|
.join(',');
|
|
736
736
|
}
|
|
737
|
+
this.dochubConfig = res.results.dochubConfig || {};
|
|
738
|
+
let url = this.portrait
|
|
739
|
+
? this.dochubConfig.reuploadDocument || uploadOnlyOne
|
|
740
|
+
: this.dochubConfig.uploadDocument || uploads;
|
|
741
|
+
this.url =
|
|
742
|
+
url.indexOf(this.host) > -1 ? url : this.host + url;
|
|
737
743
|
if (res.results.kkViewRootPath) {
|
|
738
744
|
this.kkfileview = res.results.kkViewRootPath;
|
|
739
745
|
}
|
|
@@ -744,7 +750,8 @@ export default {
|
|
|
744
750
|
store.set(this.code, {
|
|
745
751
|
accept: this.fileAccept,
|
|
746
752
|
size: this.fileSize,
|
|
747
|
-
totalSize: this.fileTotalSize
|
|
753
|
+
totalSize: this.fileTotalSize,
|
|
754
|
+
dochubConfig: this.dochubConfig
|
|
748
755
|
});
|
|
749
756
|
}
|
|
750
757
|
}
|
|
@@ -851,78 +858,117 @@ export default {
|
|
|
851
858
|
if (res.status === 'success') {
|
|
852
859
|
let suffix = file.suffix;
|
|
853
860
|
suffix = suffix.toLowerCase();
|
|
854
|
-
if (
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
861
|
+
if (this.dochubConfig.previewDocumentUrl) {
|
|
862
|
+
if (
|
|
863
|
+
suffix.includes('jpge') ||
|
|
864
|
+
suffix.includes('jpg') ||
|
|
865
|
+
suffix.includes('gif') ||
|
|
866
|
+
suffix.includes('png')
|
|
867
|
+
) {
|
|
868
|
+
this.imgUrl =
|
|
869
|
+
res.url && util.startWith(url, ['http', '/', true])
|
|
870
|
+
? res.url
|
|
871
|
+
: this.host +
|
|
872
|
+
(url
|
|
873
|
+
? url
|
|
874
|
+
: `${this.previewAdjunct}?adjunctId=${file.adjunctId}`);
|
|
875
|
+
this.title = file.originalName;
|
|
876
|
+
this.showImg = true;
|
|
877
|
+
this.$nextTick(() => {
|
|
878
|
+
this.loadImage();
|
|
879
|
+
});
|
|
880
|
+
} else if (suffix.includes('mp4')) {
|
|
881
|
+
this.source = {
|
|
882
|
+
src:
|
|
883
|
+
this.host +
|
|
884
|
+
(url
|
|
885
|
+
? url
|
|
886
|
+
: `${this.previewAdjunct}?adjunctId=${file.adjunctId}`)
|
|
887
|
+
};
|
|
888
|
+
this.title = file.originalName;
|
|
889
|
+
this.showVideo = true;
|
|
863
890
|
} else {
|
|
864
891
|
util.win.open(
|
|
865
892
|
this.host +
|
|
866
|
-
(url
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
'&fileId=' +
|
|
870
|
-
file.adjunctId +
|
|
871
|
-
'&fileName=' +
|
|
872
|
-
file.newName
|
|
893
|
+
(url
|
|
894
|
+
? url
|
|
895
|
+
: `${this.dochubConfig.previewDocumentUrl}?documentId=${file.adjunctId}&action=附件预览`)
|
|
873
896
|
);
|
|
874
897
|
}
|
|
875
|
-
} else if (suffix.includes('pdf')) {
|
|
876
|
-
if (this.kkfileview) {
|
|
877
|
-
this.openKkfileview(file);
|
|
878
|
-
} else {
|
|
879
|
-
util.win.open(
|
|
880
|
-
this.host +
|
|
881
|
-
(url ? url : previewAdjunct2) +
|
|
882
|
-
'/' +
|
|
883
|
-
file.originalName +
|
|
884
|
-
'?adjunctId=' +
|
|
885
|
-
file.adjunctId
|
|
886
|
-
);
|
|
887
|
-
}
|
|
888
|
-
} else if (
|
|
889
|
-
suffix.includes('jpge') ||
|
|
890
|
-
suffix.includes('jpg') ||
|
|
891
|
-
suffix.includes('gif') ||
|
|
892
|
-
suffix.includes('png')
|
|
893
|
-
) {
|
|
894
|
-
this.imgUrl =
|
|
895
|
-
res.url && util.startWith(url, ['http', '/', true])
|
|
896
|
-
? res.url
|
|
897
|
-
: this.host +
|
|
898
|
-
(url ? url : this.previewAdjunct) +
|
|
899
|
-
'?adjunctId=' +
|
|
900
|
-
file.adjunctId;
|
|
901
|
-
this.title = file.originalName;
|
|
902
|
-
this.showImg = true;
|
|
903
|
-
this.$nextTick(() => {
|
|
904
|
-
this.loadImage();
|
|
905
|
-
});
|
|
906
|
-
} else if (suffix.includes('mp4')) {
|
|
907
|
-
this.source = {
|
|
908
|
-
src:
|
|
909
|
-
this.host +
|
|
910
|
-
(url ? url : this.previewAdjunct) +
|
|
911
|
-
'?adjunctId=' +
|
|
912
|
-
file.adjunctId
|
|
913
|
-
};
|
|
914
|
-
this.title = file.originalName;
|
|
915
|
-
this.showVideo = true;
|
|
916
898
|
} else {
|
|
917
|
-
if (
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
899
|
+
if (
|
|
900
|
+
suffix.includes('doc') ||
|
|
901
|
+
suffix.includes('docx') ||
|
|
902
|
+
suffix.includes('xls') ||
|
|
903
|
+
suffix.includes('xlsx') ||
|
|
904
|
+
suffix.includes('ppt')
|
|
905
|
+
) {
|
|
906
|
+
if (this.kkfileview) {
|
|
907
|
+
this.openKkfileview(file);
|
|
908
|
+
} else {
|
|
909
|
+
util.win.open(
|
|
910
|
+
this.host +
|
|
911
|
+
(url ? url : previewAdjunctOffice) +
|
|
912
|
+
'?cmd=view&bucketName=' +
|
|
913
|
+
file.absolutePath +
|
|
914
|
+
'&fileId=' +
|
|
915
|
+
file.adjunctId +
|
|
916
|
+
'&fileName=' +
|
|
917
|
+
file.newName
|
|
918
|
+
);
|
|
919
|
+
}
|
|
920
|
+
} else if (suffix.includes('pdf')) {
|
|
921
|
+
if (this.kkfileview) {
|
|
922
|
+
this.openKkfileview(file);
|
|
923
|
+
} else {
|
|
924
|
+
util.win.open(
|
|
925
|
+
this.host +
|
|
926
|
+
(url ? url : previewAdjunct2) +
|
|
927
|
+
'/' +
|
|
928
|
+
file.originalName +
|
|
929
|
+
'?adjunctId=' +
|
|
930
|
+
file.adjunctId
|
|
931
|
+
);
|
|
932
|
+
}
|
|
933
|
+
} else if (
|
|
934
|
+
suffix.includes('jpge') ||
|
|
935
|
+
suffix.includes('jpg') ||
|
|
936
|
+
suffix.includes('gif') ||
|
|
937
|
+
suffix.includes('png')
|
|
938
|
+
) {
|
|
939
|
+
this.imgUrl =
|
|
940
|
+
res.url && util.startWith(url, ['http', '/', true])
|
|
941
|
+
? res.url
|
|
942
|
+
: this.host +
|
|
943
|
+
(url ? url : this.previewAdjunct) +
|
|
944
|
+
'?adjunctId=' +
|
|
945
|
+
file.adjunctId;
|
|
946
|
+
this.title = file.originalName;
|
|
947
|
+
this.showImg = true;
|
|
948
|
+
this.$nextTick(() => {
|
|
949
|
+
this.loadImage();
|
|
950
|
+
});
|
|
951
|
+
} else if (suffix.includes('mp4')) {
|
|
952
|
+
this.source = {
|
|
953
|
+
src:
|
|
954
|
+
this.host +
|
|
922
955
|
(url ? url : this.previewAdjunct) +
|
|
923
956
|
'?adjunctId=' +
|
|
924
957
|
file.adjunctId
|
|
925
|
-
|
|
958
|
+
};
|
|
959
|
+
this.title = file.originalName;
|
|
960
|
+
this.showVideo = true;
|
|
961
|
+
} else {
|
|
962
|
+
if (this.kkfileview) {
|
|
963
|
+
this.openKkfileview(file);
|
|
964
|
+
} else {
|
|
965
|
+
util.win.open(
|
|
966
|
+
this.host +
|
|
967
|
+
(url ? url : this.previewAdjunct) +
|
|
968
|
+
'?adjunctId=' +
|
|
969
|
+
file.adjunctId
|
|
970
|
+
);
|
|
971
|
+
}
|
|
926
972
|
}
|
|
927
973
|
}
|
|
928
974
|
} else {
|
|
@@ -1034,17 +1080,19 @@ export default {
|
|
|
1034
1080
|
? this.deleted
|
|
1035
1081
|
: this.remove === 'string'
|
|
1036
1082
|
? this.remove
|
|
1037
|
-
: delAdjunct;
|
|
1083
|
+
: this.dochubConfig.deleteDocumentUrl || delAdjunct;
|
|
1038
1084
|
util
|
|
1039
1085
|
.ajax({
|
|
1040
1086
|
method: this.method,
|
|
1041
1087
|
url: url,
|
|
1042
1088
|
data: {
|
|
1043
1089
|
userName: userName,
|
|
1090
|
+
documentId: file.adjunctId || file.response.adjunctId,
|
|
1044
1091
|
id: file.adjunctId || file.response.adjunctId
|
|
1045
1092
|
},
|
|
1046
1093
|
params: {
|
|
1047
1094
|
userName: userName,
|
|
1095
|
+
documentId: file.adjunctId || file.response.adjunctId,
|
|
1048
1096
|
id: file.adjunctId || file.response.adjunctId
|
|
1049
1097
|
}
|
|
1050
1098
|
})
|
|
@@ -1078,7 +1126,9 @@ export default {
|
|
|
1078
1126
|
},
|
|
1079
1127
|
handleDownloads() {
|
|
1080
1128
|
let url =
|
|
1081
|
-
typeof this.downloads === 'string'
|
|
1129
|
+
typeof this.downloads === 'string'
|
|
1130
|
+
? this.downloads
|
|
1131
|
+
: this.dochubConfig.compressDownloadDocument || uploadDownloads;
|
|
1082
1132
|
util.win.open(
|
|
1083
1133
|
this.host +
|
|
1084
1134
|
url +
|
|
@@ -1094,11 +1144,13 @@ export default {
|
|
|
1094
1144
|
let url =
|
|
1095
1145
|
typeof this.download === 'string'
|
|
1096
1146
|
? this.download
|
|
1097
|
-
: downloadByAdjunctId;
|
|
1147
|
+
: this.dochubConfig.downloadDocumentUrl || downloadByAdjunctId;
|
|
1098
1148
|
util.win.open(
|
|
1099
1149
|
this.host +
|
|
1100
1150
|
url +
|
|
1101
1151
|
'?adjunctId=' +
|
|
1152
|
+
(file.adjunctId || file.response.adjunctId) +
|
|
1153
|
+
'&documentId=' +
|
|
1102
1154
|
(file.adjunctId || file.response.adjunctId)
|
|
1103
1155
|
);
|
|
1104
1156
|
} else {
|
|
@@ -1133,7 +1185,7 @@ export default {
|
|
|
1133
1185
|
util
|
|
1134
1186
|
.ajax({
|
|
1135
1187
|
method: this.method,
|
|
1136
|
-
url: uploadSort,
|
|
1188
|
+
url: this.dochubConfig.sortDocumentsUrl || uploadSort,
|
|
1137
1189
|
data: {
|
|
1138
1190
|
ids: ids
|
|
1139
1191
|
},
|
package/src/config/api.js
CHANGED
|
@@ -36,6 +36,7 @@ export const getApplicationIdArray = '/main2/main/getApplicationIdArray'; // 获
|
|
|
36
36
|
export const getComplexApplications = '/main2/menu/getComplexApplications'; // 获取当前用户菜单; 含页签菜单格式的数据
|
|
37
37
|
export const getComplexApplicationsNew =
|
|
38
38
|
'/main2/menu/getComplexApplicationsNew'; // 获取当前用户应用菜单; 含页签菜单格式的数据
|
|
39
|
+
export const getUserAppWithTag = '/sysv3/sysUucApp/getUserAppWithTag';// 获取应用
|
|
39
40
|
export const getUserCustomInfo = '/main2/main/getUserCustomInfo'; // 获取主题样式
|
|
40
41
|
export const updateUserCustomInfo = '/main2/main/updateUserCustomInfo'; // 更新主题样式
|
|
41
42
|
// 框架 - 系统消息
|
package/src/index.js
CHANGED
package/src/utils/util.js
CHANGED
|
@@ -296,7 +296,7 @@ const ajax = function ({
|
|
|
296
296
|
}, 1000);
|
|
297
297
|
}
|
|
298
298
|
// eslint-disable-next-line no-undef
|
|
299
|
-
return Promise.resolve(response.data);
|
|
299
|
+
return Promise.resolve(JSON.parse(JSON.stringify(response.data)));
|
|
300
300
|
}
|
|
301
301
|
},
|
|
302
302
|
error => {
|
|
@@ -2530,7 +2530,7 @@ const replenish = function ({ data, precision }) {
|
|
|
2530
2530
|
while (res.length <= len + precision) {
|
|
2531
2531
|
res += '0';
|
|
2532
2532
|
}
|
|
2533
|
-
return
|
|
2533
|
+
return res;
|
|
2534
2534
|
}
|
|
2535
2535
|
return data;
|
|
2536
2536
|
};
|
|
File without changes
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
* @Description: 异步加载网络UMD组件
|
|
3
|
-
* @Version: 1.0
|
|
4
|
-
* @Autor: zhaodongming
|
|
5
|
-
* @Date: 2022-12-01 16:32:36
|
|
6
|
-
* @LastEditors: zhaodongming
|
|
7
|
-
* @LastEditTime: 2023-01-18 11:49:54
|
|
8
|
-
-->
|
|
9
|
-
<template>
|
|
10
|
-
<component :is="comp" v-bind="$attrs" v-on="$listeners"></component>
|
|
11
|
-
</template>
|
|
12
|
-
|
|
13
|
-
<script>
|
|
14
|
-
import { importScript } from 'runtime-import';
|
|
15
|
-
import util from 'eoss-ui/src/utils/util';
|
|
16
|
-
export default {
|
|
17
|
-
name: 'AsyncComponent',
|
|
18
|
-
inheritAttrs: true,
|
|
19
|
-
props: {
|
|
20
|
-
componentRenderUrl: {
|
|
21
|
-
type: [String, Object],
|
|
22
|
-
default: ''
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
data() {
|
|
26
|
-
return {
|
|
27
|
-
comp: 'div'
|
|
28
|
-
};
|
|
29
|
-
},
|
|
30
|
-
watch: {
|
|
31
|
-
componentRenderUrl: {
|
|
32
|
-
immediate: true,
|
|
33
|
-
handler: function (newVal) {
|
|
34
|
-
this.handleImport(newVal);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
methods: {
|
|
39
|
-
async handleImport(url = '') {
|
|
40
|
-
try {
|
|
41
|
-
// 如果不是url,当作倒入组件名处理
|
|
42
|
-
if (
|
|
43
|
-
url.indexOf &&
|
|
44
|
-
(url.indexOf('http:') != -1 ||
|
|
45
|
-
url.indexOf('https:') != -1 ||
|
|
46
|
-
url.indexOf('/dev-api') != -1)
|
|
47
|
-
) {
|
|
48
|
-
// 获取缓存中的组件
|
|
49
|
-
const catchComponent = util.win[url];
|
|
50
|
-
if (catchComponent) {
|
|
51
|
-
// 渲染缓存中的组件
|
|
52
|
-
this.comp = catchComponent;
|
|
53
|
-
// 回传props内容
|
|
54
|
-
this.$emit('handleGetProps', this.comp.props);
|
|
55
|
-
this.$emit('handle-get-props', this.comp.props);
|
|
56
|
-
} else {
|
|
57
|
-
// 加载远端umd格式组件内容
|
|
58
|
-
const comp = await importScript(url);
|
|
59
|
-
// 渲染远端组件并缓存到磁盘
|
|
60
|
-
if (!comp) {
|
|
61
|
-
this.$message.error('不是合规组件,请检查组件上传环境和语法');
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
this.comp = comp;
|
|
65
|
-
util.win[url] = comp;
|
|
66
|
-
// 回传props内容
|
|
67
|
-
this.$emit('handleGetProps', this.comp.props);
|
|
68
|
-
this.$emit('handle-get-props', this.comp.props);
|
|
69
|
-
}
|
|
70
|
-
} else {
|
|
71
|
-
// 如果不是url则当作文本片段处理
|
|
72
|
-
this.comp = url;
|
|
73
|
-
// 回传props内容
|
|
74
|
-
// this.$emit('handleGetProps', this.comp.props);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
// }
|
|
78
|
-
// debugger;
|
|
79
|
-
} catch (err) {
|
|
80
|
-
console.error(err);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
</script>
|
|
86
|
-
|
|
87
|
-
<style lang="scss" scoped></style>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|