sctj-components 1.0.93 → 1.0.94
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/sctj-components.es.js +1701 -255
- package/lib/sctj-components.umd.js +1 -1
- package/lib/style.css +1 -1
- package/package.json +1 -1
|
@@ -38,9 +38,9 @@ const _export_sfc = (sfc, props) => {
|
|
|
38
38
|
}
|
|
39
39
|
return target;
|
|
40
40
|
};
|
|
41
|
-
const _hoisted_1$
|
|
42
|
-
const _hoisted_2$
|
|
43
|
-
const _sfc_main$
|
|
41
|
+
const _hoisted_1$p = { class: "dict-tag-container" };
|
|
42
|
+
const _hoisted_2$h = ["index"];
|
|
43
|
+
const _sfc_main$x = {
|
|
44
44
|
__name: "index",
|
|
45
45
|
props: {
|
|
46
46
|
options: {
|
|
@@ -60,7 +60,7 @@ const _sfc_main$w = {
|
|
|
60
60
|
});
|
|
61
61
|
return (_ctx, _cache) => {
|
|
62
62
|
const _component_el_tag = resolveComponent("el-tag");
|
|
63
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
63
|
+
return openBlock(), createElementBlock("div", _hoisted_1$p, [
|
|
64
64
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (item, index2) => {
|
|
65
65
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
66
66
|
unref(values).includes(item.value) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
@@ -68,7 +68,7 @@ const _sfc_main$w = {
|
|
|
68
68
|
key: item.value,
|
|
69
69
|
index: index2,
|
|
70
70
|
class: normalizeClass(item.elTagClass)
|
|
71
|
-
}, toDisplayString(item.label), 11, _hoisted_2$
|
|
71
|
+
}, toDisplayString(item.label), 11, _hoisted_2$h)) : (openBlock(), createBlock(_component_el_tag, {
|
|
72
72
|
"disable-transitions": true,
|
|
73
73
|
key: item.value + "",
|
|
74
74
|
index: index2,
|
|
@@ -87,10 +87,10 @@ const _sfc_main$w = {
|
|
|
87
87
|
};
|
|
88
88
|
}
|
|
89
89
|
};
|
|
90
|
-
const SCTJDictTag = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
90
|
+
const SCTJDictTag = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__scopeId", "data-v-659e1d01"]]);
|
|
91
91
|
const index_vue_vue_type_style_index_0_scope_true_lang = "";
|
|
92
|
-
const _hoisted_1$
|
|
93
|
-
const _sfc_main$
|
|
92
|
+
const _hoisted_1$o = ["xlink:href", "fill"];
|
|
93
|
+
const _sfc_main$w = {
|
|
94
94
|
__name: "index",
|
|
95
95
|
props: {
|
|
96
96
|
iconClass: {
|
|
@@ -123,7 +123,7 @@ const _sfc_main$v = {
|
|
|
123
123
|
createElementVNode("use", {
|
|
124
124
|
"xlink:href": unref(iconName),
|
|
125
125
|
fill: __props.color
|
|
126
|
-
}, null, 8, _hoisted_1$
|
|
126
|
+
}, null, 8, _hoisted_1$o)
|
|
127
127
|
], 2);
|
|
128
128
|
};
|
|
129
129
|
}
|
|
@@ -132,12 +132,12 @@ const index$2 = "";
|
|
|
132
132
|
const index$1 = "";
|
|
133
133
|
const index_vue_vue_type_style_index_0_scoped_9fdf9efd_lang = "";
|
|
134
134
|
const index_vue_vue_type_style_index_1_lang = "";
|
|
135
|
-
const _hoisted_1$
|
|
136
|
-
const _hoisted_2$
|
|
137
|
-
const _hoisted_3$
|
|
138
|
-
const _hoisted_4$
|
|
139
|
-
const _hoisted_5$
|
|
140
|
-
const _hoisted_6$
|
|
135
|
+
const _hoisted_1$n = { class: "upload-file" };
|
|
136
|
+
const _hoisted_2$g = { class: "el-upload__tip" };
|
|
137
|
+
const _hoisted_3$c = { style: { "color": "#f56c6c" } };
|
|
138
|
+
const _hoisted_4$b = { style: { "color": "#f56c6c" } };
|
|
139
|
+
const _hoisted_5$8 = ["title"];
|
|
140
|
+
const _hoisted_6$5 = { class: "ele-upload-list__item-content-action" };
|
|
141
141
|
const _hoisted_7$4 = { style: { "display": "flex", "justify-content": "space-between" } };
|
|
142
142
|
const _hoisted_8$4 = ["id"];
|
|
143
143
|
const _hoisted_9$3 = {
|
|
@@ -145,7 +145,7 @@ const _hoisted_9$3 = {
|
|
|
145
145
|
class: "preview-toolbar"
|
|
146
146
|
};
|
|
147
147
|
const _hoisted_10$3 = { class: "previewDialogContent" };
|
|
148
|
-
const _sfc_main$
|
|
148
|
+
const _sfc_main$v = {
|
|
149
149
|
__name: "index",
|
|
150
150
|
props: {
|
|
151
151
|
modelValue: [String, Object, Array],
|
|
@@ -443,7 +443,7 @@ const _sfc_main$u = {
|
|
|
443
443
|
const _component_el_icon = resolveComponent("el-icon");
|
|
444
444
|
const _component_el_dialog = resolveComponent("el-dialog");
|
|
445
445
|
const _component_el_image_viewer = resolveComponent("el-image-viewer");
|
|
446
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
446
|
+
return openBlock(), createElementBlock("div", _hoisted_1$n, [
|
|
447
447
|
!__props.disabled ? (openBlock(), createBlock(_component_el_upload, mergeProps({
|
|
448
448
|
key: 0,
|
|
449
449
|
multiple: "",
|
|
@@ -482,15 +482,15 @@ const _sfc_main$u = {
|
|
|
482
482
|
unref(showTip) ? {
|
|
483
483
|
name: "tip",
|
|
484
484
|
fn: withCtx(() => [
|
|
485
|
-
createElementVNode("div", _hoisted_2$
|
|
485
|
+
createElementVNode("div", _hoisted_2$g, [
|
|
486
486
|
createTextVNode(" \u8BF7\u4E0A\u4F20 "),
|
|
487
487
|
__props.fileSize ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
488
488
|
createTextVNode(" \u5927\u5C0F\u4E0D\u8D85\u8FC7 "),
|
|
489
|
-
createElementVNode("b", _hoisted_3$
|
|
489
|
+
createElementVNode("b", _hoisted_3$c, toDisplayString(__props.fileSize) + "MB", 1)
|
|
490
490
|
], 64)) : createCommentVNode("", true),
|
|
491
491
|
__props.fileType ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
492
492
|
createTextVNode(" \u683C\u5F0F\u4E3A "),
|
|
493
|
-
createElementVNode("b", _hoisted_4$
|
|
493
|
+
createElementVNode("b", _hoisted_4$b, toDisplayString(__props.fileType.join("/")), 1)
|
|
494
494
|
], 64)) : createCommentVNode("", true),
|
|
495
495
|
createTextVNode(" \u7684\u6587\u4EF6 ")
|
|
496
496
|
])
|
|
@@ -513,8 +513,8 @@ const _sfc_main$u = {
|
|
|
513
513
|
createElementVNode("div", {
|
|
514
514
|
title: getFileName(file.name),
|
|
515
515
|
class: "ele-upload-list__item-content-name"
|
|
516
|
-
}, toDisplayString(getFileName(file.name)), 9, _hoisted_5$
|
|
517
|
-
createElementVNode("div", _hoisted_6$
|
|
516
|
+
}, toDisplayString(getFileName(file.name)), 9, _hoisted_5$8),
|
|
517
|
+
createElementVNode("div", _hoisted_6$5, [
|
|
518
518
|
createVNode(_component_el_icon, {
|
|
519
519
|
title: "\u9884\u89C8",
|
|
520
520
|
class: "el-icon-view-icon",
|
|
@@ -622,17 +622,17 @@ const _sfc_main$u = {
|
|
|
622
622
|
};
|
|
623
623
|
}
|
|
624
624
|
};
|
|
625
|
-
const SCTJFileUpload = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
625
|
+
const SCTJFileUpload = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-9fdf9efd"]]);
|
|
626
626
|
const index_vue_vue_type_style_index_0_scoped_672e5149_lang = "";
|
|
627
|
-
const _hoisted_1$
|
|
628
|
-
const _hoisted_2$
|
|
627
|
+
const _hoisted_1$m = { class: "component-upload-image" };
|
|
628
|
+
const _hoisted_2$f = {
|
|
629
629
|
key: 0,
|
|
630
630
|
class: "el-upload__tip"
|
|
631
631
|
};
|
|
632
|
-
const _hoisted_3$
|
|
633
|
-
const _hoisted_4$
|
|
634
|
-
const _hoisted_5$
|
|
635
|
-
const _sfc_main$
|
|
632
|
+
const _hoisted_3$b = { style: { "color": "#f56c6c" } };
|
|
633
|
+
const _hoisted_4$a = { style: { "color": "#f56c6c" } };
|
|
634
|
+
const _hoisted_5$7 = ["src"];
|
|
635
|
+
const _sfc_main$u = {
|
|
636
636
|
__name: "index",
|
|
637
637
|
props: {
|
|
638
638
|
modelValue: {
|
|
@@ -833,7 +833,7 @@ const _sfc_main$t = {
|
|
|
833
833
|
const _component_el_icon = resolveComponent("el-icon");
|
|
834
834
|
const _component_el_upload = resolveComponent("el-upload");
|
|
835
835
|
const _component_el_dialog = resolveComponent("el-dialog");
|
|
836
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
836
|
+
return openBlock(), createElementBlock("div", _hoisted_1$m, [
|
|
837
837
|
createVNode(_component_el_upload, mergeProps({
|
|
838
838
|
disabled: props.disabled,
|
|
839
839
|
multiple: "",
|
|
@@ -865,15 +865,15 @@ const _sfc_main$t = {
|
|
|
865
865
|
]),
|
|
866
866
|
_: 1
|
|
867
867
|
}, 16, ["disabled", "action", "limit", "http-request", "headers", "file-list", "drag", "class"]),
|
|
868
|
-
unref(showTip) ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
868
|
+
unref(showTip) ? (openBlock(), createElementBlock("div", _hoisted_2$f, [
|
|
869
869
|
createTextVNode(" \u8BF7\u4E0A\u4F20 "),
|
|
870
870
|
props.fileSize ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
871
871
|
createTextVNode(" \u5927\u5C0F\u4E0D\u8D85\u8FC7 "),
|
|
872
|
-
createElementVNode("b", _hoisted_3$
|
|
872
|
+
createElementVNode("b", _hoisted_3$b, toDisplayString(props.fileSize) + "MB", 1)
|
|
873
873
|
], 64)) : createCommentVNode("", true),
|
|
874
874
|
props.fileType ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
875
875
|
createTextVNode(" \u683C\u5F0F\u4E3A "),
|
|
876
|
-
createElementVNode("b", _hoisted_4$
|
|
876
|
+
createElementVNode("b", _hoisted_4$a, toDisplayString(props.fileType.join("/")), 1)
|
|
877
877
|
], 64)) : createCommentVNode("", true),
|
|
878
878
|
createTextVNode(" \u7684\u6587\u4EF6 ")
|
|
879
879
|
])) : createCommentVNode("", true),
|
|
@@ -888,7 +888,7 @@ const _sfc_main$t = {
|
|
|
888
888
|
createElementVNode("img", {
|
|
889
889
|
src: dialogImageUrl.value,
|
|
890
890
|
style: { "display": "block", "max-width": "100%", "margin": "0 auto" }
|
|
891
|
-
}, null, 8, _hoisted_5$
|
|
891
|
+
}, null, 8, _hoisted_5$7)
|
|
892
892
|
]),
|
|
893
893
|
_: 1
|
|
894
894
|
}, 8, ["modelValue"])
|
|
@@ -896,10 +896,10 @@ const _sfc_main$t = {
|
|
|
896
896
|
};
|
|
897
897
|
}
|
|
898
898
|
};
|
|
899
|
-
const SCTJImageUpload = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
899
|
+
const SCTJImageUpload = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-672e5149"]]);
|
|
900
900
|
const index_vue_vue_type_style_index_0_scoped_e91fd2ba_lang = "";
|
|
901
|
-
const _hoisted_1$
|
|
902
|
-
const _sfc_main$
|
|
901
|
+
const _hoisted_1$l = { class: "image-slot" };
|
|
902
|
+
const _sfc_main$t = {
|
|
903
903
|
__name: "index",
|
|
904
904
|
props: {
|
|
905
905
|
enableDelete: {
|
|
@@ -1013,7 +1013,7 @@ const _sfc_main$s = {
|
|
|
1013
1013
|
"preview-src-list": unref(realSrcList)
|
|
1014
1014
|
}, {
|
|
1015
1015
|
error: withCtx(() => [
|
|
1016
|
-
createElementVNode("div", _hoisted_1$
|
|
1016
|
+
createElementVNode("div", _hoisted_1$l, [
|
|
1017
1017
|
createVNode(_component_el_icon, { class: "el-icon-picture-outline" }, {
|
|
1018
1018
|
default: withCtx(() => [
|
|
1019
1019
|
createVNode(unref(Picture))
|
|
@@ -1030,7 +1030,7 @@ const _sfc_main$s = {
|
|
|
1030
1030
|
};
|
|
1031
1031
|
}
|
|
1032
1032
|
};
|
|
1033
|
-
const SCTJImagePreview = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1033
|
+
const SCTJImagePreview = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-e91fd2ba"]]);
|
|
1034
1034
|
const icons = [
|
|
1035
1035
|
"404",
|
|
1036
1036
|
"asset",
|
|
@@ -1122,10 +1122,10 @@ const icons = [
|
|
|
1122
1122
|
"zip"
|
|
1123
1123
|
];
|
|
1124
1124
|
const index_vue_vue_type_style_index_0_scoped_37029e19_lang = "";
|
|
1125
|
-
const _hoisted_1$
|
|
1126
|
-
const _hoisted_2$
|
|
1127
|
-
const _hoisted_3$
|
|
1128
|
-
const _sfc_main$
|
|
1125
|
+
const _hoisted_1$k = { class: "icon-content" };
|
|
1126
|
+
const _hoisted_2$e = { class: "icon-list" };
|
|
1127
|
+
const _hoisted_3$a = ["onClick"];
|
|
1128
|
+
const _sfc_main$s = {
|
|
1129
1129
|
__name: "index",
|
|
1130
1130
|
props: {
|
|
1131
1131
|
modelValue: {
|
|
@@ -1216,12 +1216,12 @@ const _sfc_main$r = {
|
|
|
1216
1216
|
unref(iconName) ? {
|
|
1217
1217
|
name: "prefix",
|
|
1218
1218
|
fn: withCtx(() => [
|
|
1219
|
-
createVNode(_sfc_main$
|
|
1219
|
+
createVNode(_sfc_main$w, { "icon-class": unref(iconName) }, null, 8, ["icon-class"])
|
|
1220
1220
|
]),
|
|
1221
1221
|
key: "0"
|
|
1222
1222
|
} : void 0
|
|
1223
1223
|
]), 1032, ["modelValue"]),
|
|
1224
|
-
withDirectives(createElementVNode("div", _hoisted_1$
|
|
1224
|
+
withDirectives(createElementVNode("div", _hoisted_1$k, [
|
|
1225
1225
|
createElementVNode("div", null, [
|
|
1226
1226
|
createVNode(_component_el_input, {
|
|
1227
1227
|
modelValue: keyWord.value,
|
|
@@ -1243,18 +1243,18 @@ const _sfc_main$r = {
|
|
|
1243
1243
|
_: 1
|
|
1244
1244
|
}, 8, ["modelValue"])
|
|
1245
1245
|
]),
|
|
1246
|
-
createElementVNode("div", _hoisted_2$
|
|
1246
|
+
createElementVNode("div", _hoisted_2$e, [
|
|
1247
1247
|
(openBlock(true), createElementBlock(Fragment, null, renderList(iconList.value, (item, index2) => {
|
|
1248
1248
|
return openBlock(), createElementBlock("div", {
|
|
1249
1249
|
key: index2,
|
|
1250
1250
|
onClick: ($event) => selectedIcon(item)
|
|
1251
1251
|
}, [
|
|
1252
|
-
createVNode(_sfc_main$
|
|
1252
|
+
createVNode(_sfc_main$w, {
|
|
1253
1253
|
"icon-class": item,
|
|
1254
1254
|
style: { "height": "30px", "width": "16px", "flex-shrink": "0" }
|
|
1255
1255
|
}, null, 8, ["icon-class"]),
|
|
1256
1256
|
createElementVNode("span", null, toDisplayString(item), 1)
|
|
1257
|
-
], 8, _hoisted_3$
|
|
1257
|
+
], 8, _hoisted_3$a);
|
|
1258
1258
|
}), 128))
|
|
1259
1259
|
])
|
|
1260
1260
|
], 512), [
|
|
@@ -1264,7 +1264,7 @@ const _sfc_main$r = {
|
|
|
1264
1264
|
};
|
|
1265
1265
|
}
|
|
1266
1266
|
};
|
|
1267
|
-
const SCTJIconSelect = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1267
|
+
const SCTJIconSelect = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-37029e19"]]);
|
|
1268
1268
|
function useMobile() {
|
|
1269
1269
|
const isMobile = ref$1(false);
|
|
1270
1270
|
const checkIsMobile = () => {
|
|
@@ -1291,7 +1291,7 @@ function useMobile() {
|
|
|
1291
1291
|
checkIsMobile
|
|
1292
1292
|
};
|
|
1293
1293
|
}
|
|
1294
|
-
const _sfc_main$
|
|
1294
|
+
const _sfc_main$r = {
|
|
1295
1295
|
__name: "index",
|
|
1296
1296
|
props: {
|
|
1297
1297
|
modelValue: {
|
|
@@ -1396,8 +1396,8 @@ const _sfc_main$q = {
|
|
|
1396
1396
|
}
|
|
1397
1397
|
};
|
|
1398
1398
|
const index_vue_vue_type_style_index_0_scoped_7b45925b_lang = "";
|
|
1399
|
-
const _hoisted_1$
|
|
1400
|
-
const _sfc_main$
|
|
1399
|
+
const _hoisted_1$j = { class: "el-tree-select" };
|
|
1400
|
+
const _sfc_main$q = {
|
|
1401
1401
|
__name: "index",
|
|
1402
1402
|
props: {
|
|
1403
1403
|
objMap: {
|
|
@@ -1607,7 +1607,7 @@ const _sfc_main$p = {
|
|
|
1607
1607
|
const _component_el_option = resolveComponent("el-option");
|
|
1608
1608
|
const _component_el_tree = resolveComponent("el-tree");
|
|
1609
1609
|
const _component_el_select = resolveComponent("el-select");
|
|
1610
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
1610
|
+
return openBlock(), createElementBlock("div", _hoisted_1$j, [
|
|
1611
1611
|
createVNode(_component_el_select, {
|
|
1612
1612
|
style: { "width": "100%" },
|
|
1613
1613
|
modelValue: unref(valueId),
|
|
@@ -1667,8 +1667,8 @@ const _sfc_main$p = {
|
|
|
1667
1667
|
};
|
|
1668
1668
|
}
|
|
1669
1669
|
};
|
|
1670
|
-
const SCTJTreeSelect = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1671
|
-
const _sfc_main$
|
|
1670
|
+
const SCTJTreeSelect = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-7b45925b"]]);
|
|
1671
|
+
const _sfc_main$p = {
|
|
1672
1672
|
__name: "index",
|
|
1673
1673
|
props: {
|
|
1674
1674
|
modelValue: {
|
|
@@ -1754,7 +1754,7 @@ const _sfc_main$o = {
|
|
|
1754
1754
|
};
|
|
1755
1755
|
}
|
|
1756
1756
|
};
|
|
1757
|
-
const _sfc_main$
|
|
1757
|
+
const _sfc_main$o = {
|
|
1758
1758
|
__name: "index",
|
|
1759
1759
|
props: {
|
|
1760
1760
|
modelValue: {
|
|
@@ -1828,9 +1828,9 @@ const _sfc_main$n = {
|
|
|
1828
1828
|
}
|
|
1829
1829
|
};
|
|
1830
1830
|
const index_vue_vue_type_style_index_0_scoped_12d0117a_lang = "";
|
|
1831
|
-
const _hoisted_1$
|
|
1832
|
-
const _hoisted_2$
|
|
1833
|
-
const _sfc_main$
|
|
1831
|
+
const _hoisted_1$i = { class: "time-line-slider-container" };
|
|
1832
|
+
const _hoisted_2$d = { class: "time-line-slider-wrapper" };
|
|
1833
|
+
const _sfc_main$n = {
|
|
1834
1834
|
__name: "index",
|
|
1835
1835
|
props: {
|
|
1836
1836
|
timeConfig: {
|
|
@@ -2076,8 +2076,8 @@ const _sfc_main$m = {
|
|
|
2076
2076
|
const _component_el_slider = resolveComponent("el-slider");
|
|
2077
2077
|
const _component_el_option = resolveComponent("el-option");
|
|
2078
2078
|
const _component_el_select = resolveComponent("el-select");
|
|
2079
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
2080
|
-
createElementVNode("div", _hoisted_2$
|
|
2079
|
+
return openBlock(), createElementBlock("div", _hoisted_1$i, [
|
|
2080
|
+
createElementVNode("div", _hoisted_2$d, [
|
|
2081
2081
|
createVNode(_component_el_slider, {
|
|
2082
2082
|
style: normalizeStyle({ width: unref(sliderWidth) }),
|
|
2083
2083
|
modelValue: selectValue.value,
|
|
@@ -2113,10 +2113,10 @@ const _sfc_main$m = {
|
|
|
2113
2113
|
};
|
|
2114
2114
|
}
|
|
2115
2115
|
};
|
|
2116
|
-
const SCTJTimeLineSelect = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
2116
|
+
const SCTJTimeLineSelect = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-12d0117a"]]);
|
|
2117
2117
|
const index_vue_vue_type_style_index_0_scoped_0e809a5c_lang = "";
|
|
2118
|
-
const _hoisted_1$
|
|
2119
|
-
const _sfc_main$
|
|
2118
|
+
const _hoisted_1$h = { class: "table-container" };
|
|
2119
|
+
const _sfc_main$m = {
|
|
2120
2120
|
__name: "index",
|
|
2121
2121
|
props: {
|
|
2122
2122
|
request: {
|
|
@@ -2372,7 +2372,7 @@ const _sfc_main$l = {
|
|
|
2372
2372
|
class: "TJ-table-container",
|
|
2373
2373
|
style: normalizeStyle({ height: __props.height })
|
|
2374
2374
|
}, [
|
|
2375
|
-
createElementVNode("div", _hoisted_1$
|
|
2375
|
+
createElementVNode("div", _hoisted_1$h, [
|
|
2376
2376
|
createVNode(_component_el_table, mergeProps({
|
|
2377
2377
|
ref_key: "tableRef",
|
|
2378
2378
|
ref: tableRef,
|
|
@@ -2452,18 +2452,18 @@ const _sfc_main$l = {
|
|
|
2452
2452
|
};
|
|
2453
2453
|
}
|
|
2454
2454
|
};
|
|
2455
|
-
const SCTJTable = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
2455
|
+
const SCTJTable = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-0e809a5c"]]);
|
|
2456
2456
|
const index_vue_vue_type_style_index_0_scoped_45fb95db_lang = "";
|
|
2457
|
-
const _sfc_main$
|
|
2458
|
-
const _hoisted_1$
|
|
2457
|
+
const _sfc_main$l = {};
|
|
2458
|
+
const _hoisted_1$g = { class: "table-container" };
|
|
2459
2459
|
function _sfc_render(_ctx, _cache) {
|
|
2460
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
2460
|
+
return openBlock(), createElementBlock("div", _hoisted_1$g, [
|
|
2461
2461
|
renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
2462
2462
|
]);
|
|
2463
2463
|
}
|
|
2464
|
-
const SCTJTableContainer = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
2464
|
+
const SCTJTableContainer = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["render", _sfc_render], ["__scopeId", "data-v-45fb95db"]]);
|
|
2465
2465
|
const index_vue_vue_type_style_index_0_scoped_46df4461_lang = "";
|
|
2466
|
-
const _sfc_main$
|
|
2466
|
+
const _sfc_main$k = {
|
|
2467
2467
|
__name: "index",
|
|
2468
2468
|
props: {
|
|
2469
2469
|
showSearch: {
|
|
@@ -2607,10 +2607,10 @@ const _sfc_main$j = {
|
|
|
2607
2607
|
};
|
|
2608
2608
|
}
|
|
2609
2609
|
};
|
|
2610
|
-
const SCTJRightToolbar = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
2610
|
+
const SCTJRightToolbar = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-46df4461"]]);
|
|
2611
2611
|
const index_vue_vue_type_style_index_0_scoped_056cfdde_lang = "";
|
|
2612
|
-
const _hoisted_1$
|
|
2613
|
-
const _sfc_main$
|
|
2612
|
+
const _hoisted_1$f = { class: "table-top-action-container" };
|
|
2613
|
+
const _sfc_main$j = {
|
|
2614
2614
|
__name: "index",
|
|
2615
2615
|
props: {
|
|
2616
2616
|
showSearch: {
|
|
@@ -2637,7 +2637,7 @@ const _sfc_main$i = {
|
|
|
2637
2637
|
emit("refresh");
|
|
2638
2638
|
};
|
|
2639
2639
|
return (_ctx, _cache) => {
|
|
2640
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
2640
|
+
return openBlock(), createElementBlock("div", _hoisted_1$f, [
|
|
2641
2641
|
renderSlot(_ctx.$slots, "left", {}, void 0, true),
|
|
2642
2642
|
renderSlot(_ctx.$slots, "right", {}, () => [
|
|
2643
2643
|
createVNode(SCTJRightToolbar, {
|
|
@@ -2651,24 +2651,24 @@ const _sfc_main$i = {
|
|
|
2651
2651
|
};
|
|
2652
2652
|
}
|
|
2653
2653
|
};
|
|
2654
|
-
const SCTJTableTopActionContainer = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
2654
|
+
const SCTJTableTopActionContainer = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-056cfdde"]]);
|
|
2655
2655
|
const index_vue_vue_type_style_index_0_scoped_b07303f6_lang = "";
|
|
2656
|
-
const _withScopeId$
|
|
2657
|
-
const _hoisted_1$
|
|
2656
|
+
const _withScopeId$8 = (n) => (pushScopeId("data-v-b07303f6"), n = n(), popScopeId(), n);
|
|
2657
|
+
const _hoisted_1$e = {
|
|
2658
2658
|
key: 0,
|
|
2659
2659
|
class: "search-container"
|
|
2660
2660
|
};
|
|
2661
|
-
const _hoisted_2$
|
|
2662
|
-
const _hoisted_3$
|
|
2663
|
-
const _hoisted_4$
|
|
2661
|
+
const _hoisted_2$c = { class: "table-box" };
|
|
2662
|
+
const _hoisted_3$9 = ["onClick"];
|
|
2663
|
+
const _hoisted_4$9 = {
|
|
2664
2664
|
slot: "header",
|
|
2665
2665
|
class: "clearfix"
|
|
2666
2666
|
};
|
|
2667
|
-
const _hoisted_5$
|
|
2668
|
-
const _hoisted_6$
|
|
2667
|
+
const _hoisted_5$6 = /* @__PURE__ */ _withScopeId$8(() => /* @__PURE__ */ createElementVNode("span", { style: { "font-weight": "bold" } }, "\u5DF2\u9009\u5217\u8868", -1));
|
|
2668
|
+
const _hoisted_6$4 = { class: "tag-container" };
|
|
2669
2669
|
const _hoisted_7$3 = { class: "tag-name" };
|
|
2670
2670
|
const _hoisted_8$3 = { class: "dialog-footer" };
|
|
2671
|
-
const _sfc_main$
|
|
2671
|
+
const _sfc_main$i = {
|
|
2672
2672
|
__name: "index",
|
|
2673
2673
|
props: {
|
|
2674
2674
|
mode: {
|
|
@@ -2965,7 +2965,7 @@ const _sfc_main$h = {
|
|
|
2965
2965
|
])
|
|
2966
2966
|
]),
|
|
2967
2967
|
default: withCtx(() => [
|
|
2968
|
-
unref(queryColumns).length ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
2968
|
+
unref(queryColumns).length ? (openBlock(), createElementBlock("div", _hoisted_1$e, [
|
|
2969
2969
|
createVNode(_component_el_card, { shadow: "hover" }, {
|
|
2970
2970
|
default: withCtx(() => [
|
|
2971
2971
|
createVNode(_component_el_form, {
|
|
@@ -3063,7 +3063,7 @@ const _sfc_main$h = {
|
|
|
3063
3063
|
style: normalizeStyle({ height: !unref(isMobile) ? __props.height : "100%" }),
|
|
3064
3064
|
class: normalizeClass(["content-box", unref(isMobile) && "content-box-mobile"])
|
|
3065
3065
|
}, [
|
|
3066
|
-
createElementVNode("div", _hoisted_2$
|
|
3066
|
+
createElementVNode("div", _hoisted_2$c, [
|
|
3067
3067
|
withDirectives((openBlock(), createBlock(_component_el_table, {
|
|
3068
3068
|
size: unref(isMobile) ? "small" : "",
|
|
3069
3069
|
class: "table-content",
|
|
@@ -3110,7 +3110,7 @@ const _sfc_main$h = {
|
|
|
3110
3110
|
createElementVNode("span", {
|
|
3111
3111
|
onClick: ($event) => handleClick(item.action, item.prop, scope),
|
|
3112
3112
|
class: normalizeClass({ "linkStyle": item.action || false })
|
|
3113
|
-
}, toDisplayString(item.format ? item.format(scope.row, scope.$index) : scope.row[item.prop]), 11, _hoisted_3$
|
|
3113
|
+
}, toDisplayString(item.format ? item.format(scope.row, scope.$index) : scope.row[item.prop]), 11, _hoisted_3$9)
|
|
3114
3114
|
]),
|
|
3115
3115
|
_: 2
|
|
3116
3116
|
}, 1040))
|
|
@@ -3158,8 +3158,8 @@ const _sfc_main$h = {
|
|
|
3158
3158
|
shadow: "never"
|
|
3159
3159
|
}, {
|
|
3160
3160
|
default: withCtx(() => [
|
|
3161
|
-
createElementVNode("div", _hoisted_4$
|
|
3162
|
-
_hoisted_5$
|
|
3161
|
+
createElementVNode("div", _hoisted_4$9, [
|
|
3162
|
+
_hoisted_5$6,
|
|
3163
3163
|
createVNode(_component_el_button, {
|
|
3164
3164
|
style: { "float": "right", "padding": "3px 0" },
|
|
3165
3165
|
link: "",
|
|
@@ -3171,7 +3171,7 @@ const _sfc_main$h = {
|
|
|
3171
3171
|
_: 1
|
|
3172
3172
|
})
|
|
3173
3173
|
]),
|
|
3174
|
-
createElementVNode("div", _hoisted_6$
|
|
3174
|
+
createElementVNode("div", _hoisted_6$4, [
|
|
3175
3175
|
(openBlock(true), createElementBlock(Fragment, null, renderList(selectDataList.value, (tag) => {
|
|
3176
3176
|
return openBlock(), createElementBlock("div", {
|
|
3177
3177
|
key: tag[__props.selectOptions.valueKey]
|
|
@@ -3203,9 +3203,9 @@ const _sfc_main$h = {
|
|
|
3203
3203
|
};
|
|
3204
3204
|
}
|
|
3205
3205
|
};
|
|
3206
|
-
const SCTJDialogTable = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
3206
|
+
const SCTJDialogTable = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-b07303f6"]]);
|
|
3207
3207
|
const index_vue_vue_type_style_index_0_scoped_d4cb1fae_lang = "";
|
|
3208
|
-
const _sfc_main$
|
|
3208
|
+
const _sfc_main$h = {
|
|
3209
3209
|
__name: "index",
|
|
3210
3210
|
props: {
|
|
3211
3211
|
tableData: {
|
|
@@ -3552,8 +3552,8 @@ const _sfc_main$g = {
|
|
|
3552
3552
|
};
|
|
3553
3553
|
}
|
|
3554
3554
|
};
|
|
3555
|
-
const SCTJScrollTable = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
3556
|
-
const _sfc_main$
|
|
3555
|
+
const SCTJScrollTable = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-d4cb1fae"]]);
|
|
3556
|
+
const _sfc_main$g = {
|
|
3557
3557
|
__name: "index",
|
|
3558
3558
|
setup(__props) {
|
|
3559
3559
|
const { isMobile } = useMobile();
|
|
@@ -3602,9 +3602,9 @@ const _sfc_main$f = {
|
|
|
3602
3602
|
}
|
|
3603
3603
|
};
|
|
3604
3604
|
const index_vue_vue_type_style_index_0_scoped_48dc11be_lang = "";
|
|
3605
|
-
const _hoisted_1$
|
|
3606
|
-
const _hoisted_2$
|
|
3607
|
-
const _sfc_main$
|
|
3605
|
+
const _hoisted_1$d = { class: "table-page-container" };
|
|
3606
|
+
const _hoisted_2$b = { style: { "flex": "1", "height": "0" } };
|
|
3607
|
+
const _sfc_main$f = {
|
|
3608
3608
|
__name: "index",
|
|
3609
3609
|
props: {
|
|
3610
3610
|
showSearch: {
|
|
@@ -3631,7 +3631,7 @@ const _sfc_main$e = {
|
|
|
3631
3631
|
emit("update:showSearch", !newVal);
|
|
3632
3632
|
}, { immediate: true });
|
|
3633
3633
|
return (_ctx, _cache) => {
|
|
3634
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
3634
|
+
return openBlock(), createElementBlock("div", _hoisted_1$d, [
|
|
3635
3635
|
renderSlot(_ctx.$slots, "search", {}, void 0, true),
|
|
3636
3636
|
createVNode(SCTJTableTopActionContainer, {
|
|
3637
3637
|
showSearch: unref(outSearch),
|
|
@@ -3643,7 +3643,7 @@ const _sfc_main$e = {
|
|
|
3643
3643
|
]),
|
|
3644
3644
|
_: 3
|
|
3645
3645
|
}, 8, ["showSearch"]),
|
|
3646
|
-
createElementVNode("div", _hoisted_2$
|
|
3646
|
+
createElementVNode("div", _hoisted_2$b, [
|
|
3647
3647
|
renderSlot(_ctx.$slots, "table", {}, void 0, true)
|
|
3648
3648
|
]),
|
|
3649
3649
|
renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
@@ -3651,17 +3651,17 @@ const _sfc_main$e = {
|
|
|
3651
3651
|
};
|
|
3652
3652
|
}
|
|
3653
3653
|
};
|
|
3654
|
-
const SCTJTablePageContainer = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
3654
|
+
const SCTJTablePageContainer = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-48dc11be"]]);
|
|
3655
3655
|
const index_vue_vue_type_style_index_0_scoped_6e30b57f_lang = "";
|
|
3656
|
-
const _hoisted_1$
|
|
3656
|
+
const _hoisted_1$c = {
|
|
3657
3657
|
key: 0,
|
|
3658
3658
|
class: "search-container"
|
|
3659
3659
|
};
|
|
3660
|
-
const _hoisted_2$
|
|
3660
|
+
const _hoisted_2$a = {
|
|
3661
3661
|
key: 1,
|
|
3662
3662
|
class: "custom-drawer"
|
|
3663
3663
|
};
|
|
3664
|
-
const _sfc_main$
|
|
3664
|
+
const _sfc_main$e = {
|
|
3665
3665
|
__name: "index",
|
|
3666
3666
|
props: {
|
|
3667
3667
|
visible: {
|
|
@@ -3678,7 +3678,7 @@ const _sfc_main$d = {
|
|
|
3678
3678
|
return (_ctx, _cache) => {
|
|
3679
3679
|
const _component_el_card = resolveComponent("el-card");
|
|
3680
3680
|
const _component_el_drawer = resolveComponent("el-drawer");
|
|
3681
|
-
return !unref(isMobile) ? withDirectives((openBlock(), createElementBlock("div", _hoisted_1$
|
|
3681
|
+
return !unref(isMobile) ? withDirectives((openBlock(), createElementBlock("div", _hoisted_1$c, [
|
|
3682
3682
|
createVNode(_component_el_card, null, {
|
|
3683
3683
|
default: withCtx(() => [
|
|
3684
3684
|
renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
@@ -3687,7 +3687,7 @@ const _sfc_main$d = {
|
|
|
3687
3687
|
})
|
|
3688
3688
|
], 512)), [
|
|
3689
3689
|
[vShow, __props.visible]
|
|
3690
|
-
]) : (openBlock(), createElementBlock("div", _hoisted_2$
|
|
3690
|
+
]) : (openBlock(), createElementBlock("div", _hoisted_2$a, [
|
|
3691
3691
|
createVNode(_component_el_drawer, {
|
|
3692
3692
|
"model-value": __props.visible,
|
|
3693
3693
|
title: "\u7B5B\u9009\u6761\u4EF6",
|
|
@@ -3703,8 +3703,8 @@ const _sfc_main$d = {
|
|
|
3703
3703
|
};
|
|
3704
3704
|
}
|
|
3705
3705
|
};
|
|
3706
|
-
const SCTJSearch = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
3707
|
-
const _sfc_main$
|
|
3706
|
+
const SCTJSearch = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-6e30b57f"]]);
|
|
3707
|
+
const _sfc_main$d = {
|
|
3708
3708
|
__name: "BaseChart",
|
|
3709
3709
|
props: {
|
|
3710
3710
|
option: {
|
|
@@ -3808,15 +3808,15 @@ const _sfc_main$c = {
|
|
|
3808
3808
|
};
|
|
3809
3809
|
const emptyImg = "data:image/png;base64,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";
|
|
3810
3810
|
const CommonChart_vue_vue_type_style_index_0_scoped_3e513a58_lang = "";
|
|
3811
|
-
const _withScopeId$
|
|
3812
|
-
const _hoisted_1$
|
|
3813
|
-
const _hoisted_2$
|
|
3811
|
+
const _withScopeId$7 = (n) => (pushScopeId("data-v-3e513a58"), n = n(), popScopeId(), n);
|
|
3812
|
+
const _hoisted_1$b = ["element-loading-background"];
|
|
3813
|
+
const _hoisted_2$9 = {
|
|
3814
3814
|
key: 1,
|
|
3815
3815
|
class: "empty-wrapper"
|
|
3816
3816
|
};
|
|
3817
|
-
const _hoisted_3$
|
|
3818
|
-
const _hoisted_4$
|
|
3819
|
-
const _sfc_main$
|
|
3817
|
+
const _hoisted_3$8 = ["src"];
|
|
3818
|
+
const _hoisted_4$8 = /* @__PURE__ */ _withScopeId$7(() => /* @__PURE__ */ createElementVNode("div", { class: "empty-text" }, "\u6682\u65E0\u6570\u636E", -1));
|
|
3819
|
+
const _sfc_main$c = {
|
|
3820
3820
|
__name: "CommonChart",
|
|
3821
3821
|
props: {
|
|
3822
3822
|
height: { type: String, default: "300px" },
|
|
@@ -4340,22 +4340,22 @@ const _sfc_main$b = {
|
|
|
4340
4340
|
style: normalizeStyle({ height: __props.height }),
|
|
4341
4341
|
class: "card-body"
|
|
4342
4342
|
}, [
|
|
4343
|
-
!unref(isEmptyData) ? (openBlock(), createBlock(_sfc_main$
|
|
4343
|
+
!unref(isEmptyData) ? (openBlock(), createBlock(_sfc_main$d, {
|
|
4344
4344
|
key: 0,
|
|
4345
4345
|
onChartClick: handleChartClick,
|
|
4346
4346
|
onLegendselectchanged: handleLegendSelectChanged,
|
|
4347
4347
|
ref_key: "baseChartRef",
|
|
4348
4348
|
ref: baseChartRef,
|
|
4349
4349
|
option: unref(option)
|
|
4350
|
-
}, null, 8, ["option"])) : (openBlock(), createElementBlock("div", _hoisted_2$
|
|
4350
|
+
}, null, 8, ["option"])) : (openBlock(), createElementBlock("div", _hoisted_2$9, [
|
|
4351
4351
|
createElementVNode("img", {
|
|
4352
4352
|
src: unref(emptyImg),
|
|
4353
4353
|
alt: "empty",
|
|
4354
4354
|
class: "empty-image"
|
|
4355
|
-
}, null, 8, _hoisted_3$
|
|
4356
|
-
_hoisted_4$
|
|
4355
|
+
}, null, 8, _hoisted_3$8),
|
|
4356
|
+
_hoisted_4$8
|
|
4357
4357
|
]))
|
|
4358
|
-
], 12, _hoisted_1$
|
|
4358
|
+
], 12, _hoisted_1$b)), [
|
|
4359
4359
|
[_directive_loading, __props.loading]
|
|
4360
4360
|
])
|
|
4361
4361
|
]),
|
|
@@ -4382,17 +4382,17 @@ const _sfc_main$b = {
|
|
|
4382
4382
|
};
|
|
4383
4383
|
}
|
|
4384
4384
|
};
|
|
4385
|
-
const SCTJCommonChart = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
4385
|
+
const SCTJCommonChart = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-3e513a58"]]);
|
|
4386
4386
|
const PieChart_vue_vue_type_style_index_0_scoped_21c095e8_lang = "";
|
|
4387
|
-
const _withScopeId$
|
|
4388
|
-
const _hoisted_1$
|
|
4389
|
-
const _hoisted_2$
|
|
4387
|
+
const _withScopeId$6 = (n) => (pushScopeId("data-v-21c095e8"), n = n(), popScopeId(), n);
|
|
4388
|
+
const _hoisted_1$a = ["element-loading-background"];
|
|
4389
|
+
const _hoisted_2$8 = {
|
|
4390
4390
|
key: 1,
|
|
4391
4391
|
class: "empty-wrapper"
|
|
4392
4392
|
};
|
|
4393
|
-
const _hoisted_3$
|
|
4394
|
-
const _hoisted_4$
|
|
4395
|
-
const _sfc_main$
|
|
4393
|
+
const _hoisted_3$7 = ["src"];
|
|
4394
|
+
const _hoisted_4$7 = /* @__PURE__ */ _withScopeId$6(() => /* @__PURE__ */ createElementVNode("div", { class: "empty-text" }, "\u6682\u65E0\u6570\u636E", -1));
|
|
4395
|
+
const _sfc_main$b = {
|
|
4396
4396
|
__name: "PieChart",
|
|
4397
4397
|
props: {
|
|
4398
4398
|
title: { type: String },
|
|
@@ -4649,22 +4649,22 @@ const _sfc_main$a = {
|
|
|
4649
4649
|
style: normalizeStyle({ height: __props.height }),
|
|
4650
4650
|
class: "card-body"
|
|
4651
4651
|
}, [
|
|
4652
|
-
!unref(isEmptyData) ? (openBlock(), createBlock(_sfc_main$
|
|
4652
|
+
!unref(isEmptyData) ? (openBlock(), createBlock(_sfc_main$d, {
|
|
4653
4653
|
key: 0,
|
|
4654
4654
|
onChartClick: handleChartClick,
|
|
4655
4655
|
ref_key: "baseChart",
|
|
4656
4656
|
ref: baseChart,
|
|
4657
4657
|
option: unref(chartOption),
|
|
4658
4658
|
height: "100%"
|
|
4659
|
-
}, null, 8, ["option"])) : (openBlock(), createElementBlock("div", _hoisted_2$
|
|
4659
|
+
}, null, 8, ["option"])) : (openBlock(), createElementBlock("div", _hoisted_2$8, [
|
|
4660
4660
|
createElementVNode("img", {
|
|
4661
4661
|
src: unref(emptyImg),
|
|
4662
4662
|
alt: "empty",
|
|
4663
4663
|
class: "empty-image"
|
|
4664
|
-
}, null, 8, _hoisted_3$
|
|
4665
|
-
_hoisted_4$
|
|
4664
|
+
}, null, 8, _hoisted_3$7),
|
|
4665
|
+
_hoisted_4$7
|
|
4666
4666
|
]))
|
|
4667
|
-
], 12, _hoisted_1$
|
|
4667
|
+
], 12, _hoisted_1$a)), [
|
|
4668
4668
|
[_directive_loading, __props.loading]
|
|
4669
4669
|
])
|
|
4670
4670
|
]),
|
|
@@ -4691,7 +4691,7 @@ const _sfc_main$a = {
|
|
|
4691
4691
|
};
|
|
4692
4692
|
}
|
|
4693
4693
|
};
|
|
4694
|
-
const SCTJPieChart = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
4694
|
+
const SCTJPieChart = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-21c095e8"]]);
|
|
4695
4695
|
const generateShortId = () => {
|
|
4696
4696
|
return Math.random().toString(36).substring(2, 8);
|
|
4697
4697
|
};
|
|
@@ -4718,19 +4718,19 @@ const validateCoordinates = (longitude, latitude) => {
|
|
|
4718
4718
|
return true;
|
|
4719
4719
|
};
|
|
4720
4720
|
const index_vue_vue_type_style_index_0_scoped_c613bad1_lang = "";
|
|
4721
|
-
const _withScopeId$
|
|
4722
|
-
const _hoisted_1$
|
|
4723
|
-
const _hoisted_2$
|
|
4721
|
+
const _withScopeId$5 = (n) => (pushScopeId("data-v-c613bad1"), n = n(), popScopeId(), n);
|
|
4722
|
+
const _hoisted_1$9 = ["id"];
|
|
4723
|
+
const _hoisted_2$7 = {
|
|
4724
4724
|
key: 0,
|
|
4725
4725
|
class: "error-content"
|
|
4726
4726
|
};
|
|
4727
|
-
const _hoisted_3$
|
|
4728
|
-
const _hoisted_4$
|
|
4727
|
+
const _hoisted_3$6 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ createElementVNode("div", { class: "error-icon" }, "!", -1));
|
|
4728
|
+
const _hoisted_4$6 = {
|
|
4729
4729
|
key: 1,
|
|
4730
4730
|
class: "loading-overlay"
|
|
4731
4731
|
};
|
|
4732
|
-
const _hoisted_5$
|
|
4733
|
-
const _sfc_main$
|
|
4732
|
+
const _hoisted_5$5 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ createElementVNode("p", null, "\u6B63\u5728\u52A0\u8F7D\u64AD\u653E\u5668...", -1));
|
|
4733
|
+
const _sfc_main$a = {
|
|
4734
4734
|
__name: "index",
|
|
4735
4735
|
props: {
|
|
4736
4736
|
playerId: {
|
|
@@ -5015,9 +5015,9 @@ const _sfc_main$9 = {
|
|
|
5015
5015
|
class: "video-js",
|
|
5016
5016
|
controls: ""
|
|
5017
5017
|
}, null, 512)
|
|
5018
|
-
], 8, _hoisted_1$
|
|
5019
|
-
errorMessage.value ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
5020
|
-
_hoisted_3$
|
|
5018
|
+
], 8, _hoisted_1$9),
|
|
5019
|
+
errorMessage.value ? (openBlock(), createElementBlock("div", _hoisted_2$7, [
|
|
5020
|
+
_hoisted_3$6,
|
|
5021
5021
|
createElementVNode("p", null, toDisplayString(errorMessage.value), 1),
|
|
5022
5022
|
createVNode(unref(ElButton), {
|
|
5023
5023
|
type: "primary",
|
|
@@ -5031,22 +5031,22 @@ const _sfc_main$9 = {
|
|
|
5031
5031
|
_: 1
|
|
5032
5032
|
})
|
|
5033
5033
|
])) : createCommentVNode("", true),
|
|
5034
|
-
!errorMessage.value && !player.value ? (openBlock(), createElementBlock("div", _hoisted_4$
|
|
5034
|
+
!errorMessage.value && !player.value ? (openBlock(), createElementBlock("div", _hoisted_4$6, [
|
|
5035
5035
|
createVNode(unref(ElIcon), { class: "loading-icon" }, {
|
|
5036
5036
|
default: withCtx(() => [
|
|
5037
5037
|
createVNode(unref(Loading))
|
|
5038
5038
|
]),
|
|
5039
5039
|
_: 1
|
|
5040
5040
|
}),
|
|
5041
|
-
_hoisted_5$
|
|
5041
|
+
_hoisted_5$5
|
|
5042
5042
|
])) : createCommentVNode("", true)
|
|
5043
5043
|
], 512);
|
|
5044
5044
|
};
|
|
5045
5045
|
}
|
|
5046
5046
|
};
|
|
5047
|
-
const SCTJFlvPlayer = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
5048
|
-
const _hoisted_1$
|
|
5049
|
-
const _sfc_main$
|
|
5047
|
+
const SCTJFlvPlayer = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-c613bad1"]]);
|
|
5048
|
+
const _hoisted_1$8 = ["src"];
|
|
5049
|
+
const _sfc_main$9 = {
|
|
5050
5050
|
__name: "index",
|
|
5051
5051
|
props: {
|
|
5052
5052
|
src: {
|
|
@@ -5077,25 +5077,25 @@ const _sfc_main$8 = {
|
|
|
5077
5077
|
frameborder: "no",
|
|
5078
5078
|
style: { "width": "100%", "height": "100%" },
|
|
5079
5079
|
scrolling: "auto"
|
|
5080
|
-
}, null, 8, _hoisted_1$
|
|
5080
|
+
}, null, 8, _hoisted_1$8)
|
|
5081
5081
|
], 4)), [
|
|
5082
5082
|
[_directive_loading, unref(loading)]
|
|
5083
5083
|
]);
|
|
5084
5084
|
};
|
|
5085
5085
|
}
|
|
5086
5086
|
};
|
|
5087
|
-
const _hoisted_1$
|
|
5087
|
+
const _hoisted_1$7 = /* @__PURE__ */ createElementVNode("div", { class: "el-upload__text" }, [
|
|
5088
5088
|
/* @__PURE__ */ createTextVNode("\u5C06\u6587\u4EF6\u62D6\u5230\u6B64\u5904\uFF0C\u6216"),
|
|
5089
5089
|
/* @__PURE__ */ createElementVNode("em", null, "\u70B9\u51FB\u4E0A\u4F20")
|
|
5090
5090
|
], -1);
|
|
5091
|
-
const _hoisted_2$
|
|
5092
|
-
const _hoisted_3$
|
|
5091
|
+
const _hoisted_2$6 = { class: "el-upload__tip text-center" };
|
|
5092
|
+
const _hoisted_3$5 = {
|
|
5093
5093
|
key: 0,
|
|
5094
5094
|
class: "el-upload__tip"
|
|
5095
5095
|
};
|
|
5096
|
-
const _hoisted_4$
|
|
5097
|
-
const _hoisted_5$
|
|
5098
|
-
const _sfc_main$
|
|
5096
|
+
const _hoisted_4$5 = /* @__PURE__ */ createElementVNode("span", null, "\u4EC5\u5141\u8BB8\u5BFC\u5165xls\u3001xlsx\u683C\u5F0F\u6587\u4EF6\u3002", -1);
|
|
5097
|
+
const _hoisted_5$4 = { class: "dialog-footer" };
|
|
5098
|
+
const _sfc_main$8 = {
|
|
5099
5099
|
__name: "index",
|
|
5100
5100
|
props: {
|
|
5101
5101
|
title: {
|
|
@@ -5284,7 +5284,7 @@ const _sfc_main$7 = {
|
|
|
5284
5284
|
onClose: cancel
|
|
5285
5285
|
}, {
|
|
5286
5286
|
footer: withCtx(() => [
|
|
5287
|
-
createElementVNode("div", _hoisted_5$
|
|
5287
|
+
createElementVNode("div", _hoisted_5$4, [
|
|
5288
5288
|
createVNode(_component_el_button, {
|
|
5289
5289
|
onClick: _cache[2] || (_cache[2] = ($event) => params.open = false)
|
|
5290
5290
|
}, {
|
|
@@ -5320,15 +5320,15 @@ const _sfc_main$7 = {
|
|
|
5320
5320
|
drag: ""
|
|
5321
5321
|
}, {
|
|
5322
5322
|
tip: withCtx(() => [
|
|
5323
|
-
createElementVNode("div", _hoisted_2$
|
|
5324
|
-
__props.showCheckBox ? (openBlock(), createElementBlock("div", _hoisted_3$
|
|
5323
|
+
createElementVNode("div", _hoisted_2$6, [
|
|
5324
|
+
__props.showCheckBox ? (openBlock(), createElementBlock("div", _hoisted_3$5, [
|
|
5325
5325
|
createVNode(_component_el_checkbox, {
|
|
5326
5326
|
modelValue: params.updateSupport,
|
|
5327
5327
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => params.updateSupport = $event)
|
|
5328
5328
|
}, null, 8, ["modelValue"]),
|
|
5329
5329
|
createTextVNode(" \u662F\u5426\u66F4\u65B0\u5DF2\u7ECF\u5B58\u5728\u7684\u6570\u636E ")
|
|
5330
5330
|
])) : createCommentVNode("", true),
|
|
5331
|
-
_hoisted_4$
|
|
5331
|
+
_hoisted_4$5,
|
|
5332
5332
|
!__props.otherTemplate.length ? (openBlock(), createBlock(_component_el_link, {
|
|
5333
5333
|
key: 1,
|
|
5334
5334
|
type: "primary",
|
|
@@ -5391,7 +5391,7 @@ const _sfc_main$7 = {
|
|
|
5391
5391
|
]),
|
|
5392
5392
|
_: 1
|
|
5393
5393
|
}),
|
|
5394
|
-
_hoisted_1$
|
|
5394
|
+
_hoisted_1$7
|
|
5395
5395
|
]),
|
|
5396
5396
|
_: 1
|
|
5397
5397
|
}, 8, ["headers", "action", "disabled"])
|
|
@@ -5402,12 +5402,12 @@ const _sfc_main$7 = {
|
|
|
5402
5402
|
}
|
|
5403
5403
|
};
|
|
5404
5404
|
const index_vue_vue_type_style_index_0_scoped_ae15bc12_lang = "";
|
|
5405
|
-
const _hoisted_1$
|
|
5406
|
-
const _hoisted_2$
|
|
5405
|
+
const _hoisted_1$6 = { class: "action-container" };
|
|
5406
|
+
const _hoisted_2$5 = {
|
|
5407
5407
|
key: 0,
|
|
5408
5408
|
class: "legendContainer"
|
|
5409
5409
|
};
|
|
5410
|
-
const _sfc_main$
|
|
5410
|
+
const _sfc_main$7 = {
|
|
5411
5411
|
__name: "index",
|
|
5412
5412
|
props: {
|
|
5413
5413
|
legendConfig: {
|
|
@@ -6351,8 +6351,8 @@ const _sfc_main$6 = {
|
|
|
6351
6351
|
ref: mapContainer,
|
|
6352
6352
|
style: normalizeStyle(unref(controlsPositionVars))
|
|
6353
6353
|
}, [
|
|
6354
|
-
createElementVNode("div", _hoisted_1$
|
|
6355
|
-
__props.legendConfig.length ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
6354
|
+
createElementVNode("div", _hoisted_1$6, [
|
|
6355
|
+
__props.legendConfig.length ? (openBlock(), createElementBlock("div", _hoisted_2$5, [
|
|
6356
6356
|
createVNode(_component_el_checkbox_group, {
|
|
6357
6357
|
modelValue: legend.value,
|
|
6358
6358
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => legend.value = $event),
|
|
@@ -6379,28 +6379,28 @@ const _sfc_main$6 = {
|
|
|
6379
6379
|
};
|
|
6380
6380
|
}
|
|
6381
6381
|
};
|
|
6382
|
-
const SCTJMapViewer = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
6382
|
+
const SCTJMapViewer = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-ae15bc12"]]);
|
|
6383
6383
|
const index_vue_vue_type_style_index_0_scoped_761d2ab4_lang = "";
|
|
6384
|
-
const _withScopeId$
|
|
6385
|
-
const _hoisted_1$
|
|
6384
|
+
const _withScopeId$4 = (n) => (pushScopeId("data-v-761d2ab4"), n = n(), popScopeId(), n);
|
|
6385
|
+
const _hoisted_1$5 = {
|
|
6386
6386
|
key: 0,
|
|
6387
6387
|
class: "btn-container"
|
|
6388
6388
|
};
|
|
6389
|
-
const _hoisted_2$
|
|
6390
|
-
const _hoisted_3$
|
|
6389
|
+
const _hoisted_2$4 = { class: "help-button-container" };
|
|
6390
|
+
const _hoisted_3$4 = {
|
|
6391
6391
|
key: 0,
|
|
6392
6392
|
class: "layer-switch"
|
|
6393
6393
|
};
|
|
6394
|
-
const _hoisted_4$
|
|
6395
|
-
const _hoisted_5$
|
|
6396
|
-
const _hoisted_6$
|
|
6394
|
+
const _hoisted_4$4 = { class: "search-container" };
|
|
6395
|
+
const _hoisted_5$3 = { class: "place-suggestion-item" };
|
|
6396
|
+
const _hoisted_6$3 = { class: "name" };
|
|
6397
6397
|
const _hoisted_7$2 = { class: "address" };
|
|
6398
6398
|
const _hoisted_8$2 = { class: "search-container" };
|
|
6399
6399
|
const _hoisted_9$2 = { class: "delete-buttons" };
|
|
6400
6400
|
const _hoisted_10$2 = { key: 0 };
|
|
6401
6401
|
const _hoisted_11$1 = { key: 0 };
|
|
6402
6402
|
const _hoisted_12$1 = { class: "dialog-footer" };
|
|
6403
|
-
const _hoisted_13$1 = /* @__PURE__ */ _withScopeId$
|
|
6403
|
+
const _hoisted_13$1 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createElementVNode("div", { class: "operation-guide" }, [
|
|
6404
6404
|
/* @__PURE__ */ createElementVNode("div", { class: "guide-section" }, [
|
|
6405
6405
|
/* @__PURE__ */ createElementVNode("strong", null, "\u5F00\u59CB\u7ED8\u5236\uFF1A"),
|
|
6406
6406
|
/* @__PURE__ */ createElementVNode("ul", null, [
|
|
@@ -6444,7 +6444,7 @@ const _hoisted_13$1 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ creat
|
|
|
6444
6444
|
])
|
|
6445
6445
|
], -1));
|
|
6446
6446
|
const _hoisted_14$1 = { class: "dialog-footer" };
|
|
6447
|
-
const _sfc_main$
|
|
6447
|
+
const _sfc_main$6 = {
|
|
6448
6448
|
__name: "index",
|
|
6449
6449
|
props: {
|
|
6450
6450
|
title: {
|
|
@@ -7786,10 +7786,10 @@ const _sfc_main$5 = {
|
|
|
7786
7786
|
ref_key: "mapContainer",
|
|
7787
7787
|
ref: mapContainer
|
|
7788
7788
|
}, null, 512),
|
|
7789
|
-
!__props.disabled ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
7789
|
+
!__props.disabled ? (openBlock(), createElementBlock("div", _hoisted_1$5, [
|
|
7790
7790
|
createVNode(_component_el_card, { shadow: "never" }, {
|
|
7791
7791
|
default: withCtx(() => [
|
|
7792
|
-
createElementVNode("div", _hoisted_2$
|
|
7792
|
+
createElementVNode("div", _hoisted_2$4, [
|
|
7793
7793
|
createVNode(_component_el_button, {
|
|
7794
7794
|
type: "primary",
|
|
7795
7795
|
icon: unref(QuestionFilled),
|
|
@@ -7802,7 +7802,7 @@ const _sfc_main$5 = {
|
|
|
7802
7802
|
_: 1
|
|
7803
7803
|
}, 8, ["icon"])
|
|
7804
7804
|
]),
|
|
7805
|
-
__props.changeMapType && !unref(isMobile) ? (openBlock(), createElementBlock("div", _hoisted_3$
|
|
7805
|
+
__props.changeMapType && !unref(isMobile) ? (openBlock(), createElementBlock("div", _hoisted_3$4, [
|
|
7806
7806
|
createVNode(_component_el_switch, {
|
|
7807
7807
|
modelValue: isSatellite.value,
|
|
7808
7808
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isSatellite.value = $event),
|
|
@@ -7820,7 +7820,7 @@ const _sfc_main$5 = {
|
|
|
7820
7820
|
]),
|
|
7821
7821
|
_: 1
|
|
7822
7822
|
})) : createCommentVNode("", true),
|
|
7823
|
-
createElementVNode("div", _hoisted_4$
|
|
7823
|
+
createElementVNode("div", _hoisted_4$4, [
|
|
7824
7824
|
createVNode(_component_el_autocomplete, {
|
|
7825
7825
|
modelValue: searchKeyword.value,
|
|
7826
7826
|
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => searchKeyword.value = $event),
|
|
@@ -7831,8 +7831,8 @@ const _sfc_main$5 = {
|
|
|
7831
7831
|
class: "place-search-input"
|
|
7832
7832
|
}, {
|
|
7833
7833
|
default: withCtx(({ item }) => [
|
|
7834
|
-
createElementVNode("div", _hoisted_5$
|
|
7835
|
-
createElementVNode("div", _hoisted_6$
|
|
7834
|
+
createElementVNode("div", _hoisted_5$3, [
|
|
7835
|
+
createElementVNode("div", _hoisted_6$3, toDisplayString(item.name), 1),
|
|
7836
7836
|
createElementVNode("div", _hoisted_7$2, toDisplayString(item.address), 1)
|
|
7837
7837
|
])
|
|
7838
7838
|
]),
|
|
@@ -7974,28 +7974,28 @@ const _sfc_main$5 = {
|
|
|
7974
7974
|
};
|
|
7975
7975
|
}
|
|
7976
7976
|
};
|
|
7977
|
-
const SCTJMapDrawingDialog = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
7977
|
+
const SCTJMapDrawingDialog = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-761d2ab4"]]);
|
|
7978
7978
|
const index_vue_vue_type_style_index_0_scoped_d0bea808_lang = "";
|
|
7979
|
-
const _withScopeId$
|
|
7980
|
-
const _hoisted_1$
|
|
7979
|
+
const _withScopeId$3 = (n) => (pushScopeId("data-v-d0bea808"), n = n(), popScopeId(), n);
|
|
7980
|
+
const _hoisted_1$4 = {
|
|
7981
7981
|
key: 0,
|
|
7982
7982
|
class: "btn-container"
|
|
7983
7983
|
};
|
|
7984
|
-
const _hoisted_2$
|
|
7985
|
-
const _hoisted_3$
|
|
7984
|
+
const _hoisted_2$3 = { class: "help-button-container" };
|
|
7985
|
+
const _hoisted_3$3 = {
|
|
7986
7986
|
key: 0,
|
|
7987
7987
|
class: "layer-switch"
|
|
7988
7988
|
};
|
|
7989
|
-
const _hoisted_4$
|
|
7990
|
-
const _hoisted_5$
|
|
7991
|
-
const _hoisted_6$
|
|
7989
|
+
const _hoisted_4$3 = { class: "search-container" };
|
|
7990
|
+
const _hoisted_5$2 = { class: "place-suggestion-item" };
|
|
7991
|
+
const _hoisted_6$2 = { class: "name" };
|
|
7992
7992
|
const _hoisted_7$1 = { class: "address" };
|
|
7993
7993
|
const _hoisted_8$1 = { class: "search-container" };
|
|
7994
7994
|
const _hoisted_9$1 = { class: "delete-buttons" };
|
|
7995
7995
|
const _hoisted_10$1 = { key: 0 };
|
|
7996
7996
|
const _hoisted_11 = { key: 0 };
|
|
7997
7997
|
const _hoisted_12 = { class: "dialog-footer" };
|
|
7998
|
-
const _hoisted_13 = /* @__PURE__ */ _withScopeId$
|
|
7998
|
+
const _hoisted_13 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ createElementVNode("div", { class: "operation-guide" }, [
|
|
7999
7999
|
/* @__PURE__ */ createElementVNode("div", { class: "guide-section" }, [
|
|
8000
8000
|
/* @__PURE__ */ createElementVNode("strong", null, "\u5F00\u59CB\u7ED8\u5236\uFF1A"),
|
|
8001
8001
|
/* @__PURE__ */ createElementVNode("ul", null, [
|
|
@@ -8039,7 +8039,7 @@ const _hoisted_13 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createE
|
|
|
8039
8039
|
])
|
|
8040
8040
|
], -1));
|
|
8041
8041
|
const _hoisted_14 = { class: "dialog-footer" };
|
|
8042
|
-
const _sfc_main$
|
|
8042
|
+
const _sfc_main$5 = {
|
|
8043
8043
|
__name: "index",
|
|
8044
8044
|
props: {
|
|
8045
8045
|
title: {
|
|
@@ -9586,10 +9586,10 @@ const _sfc_main$4 = {
|
|
|
9586
9586
|
ref_key: "mapContainer",
|
|
9587
9587
|
ref: mapContainer
|
|
9588
9588
|
}, null, 512),
|
|
9589
|
-
!__props.disabled ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
9589
|
+
!__props.disabled ? (openBlock(), createElementBlock("div", _hoisted_1$4, [
|
|
9590
9590
|
createVNode(_component_el_card, { shadow: "never" }, {
|
|
9591
9591
|
default: withCtx(() => [
|
|
9592
|
-
createElementVNode("div", _hoisted_2$
|
|
9592
|
+
createElementVNode("div", _hoisted_2$3, [
|
|
9593
9593
|
createVNode(_component_el_button, {
|
|
9594
9594
|
type: "primary",
|
|
9595
9595
|
icon: unref(QuestionFilled),
|
|
@@ -9602,7 +9602,7 @@ const _sfc_main$4 = {
|
|
|
9602
9602
|
_: 1
|
|
9603
9603
|
}, 8, ["icon"])
|
|
9604
9604
|
]),
|
|
9605
|
-
__props.changeMapType && !unref(isMobile) ? (openBlock(), createElementBlock("div", _hoisted_3$
|
|
9605
|
+
__props.changeMapType && !unref(isMobile) ? (openBlock(), createElementBlock("div", _hoisted_3$3, [
|
|
9606
9606
|
createVNode(_component_el_switch, {
|
|
9607
9607
|
modelValue: isSatellite.value,
|
|
9608
9608
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isSatellite.value = $event),
|
|
@@ -9620,7 +9620,7 @@ const _sfc_main$4 = {
|
|
|
9620
9620
|
]),
|
|
9621
9621
|
_: 1
|
|
9622
9622
|
})) : createCommentVNode("", true),
|
|
9623
|
-
createElementVNode("div", _hoisted_4$
|
|
9623
|
+
createElementVNode("div", _hoisted_4$3, [
|
|
9624
9624
|
createVNode(_component_el_autocomplete, {
|
|
9625
9625
|
modelValue: searchKeyword.value,
|
|
9626
9626
|
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => searchKeyword.value = $event),
|
|
@@ -9631,8 +9631,8 @@ const _sfc_main$4 = {
|
|
|
9631
9631
|
class: "place-search-input"
|
|
9632
9632
|
}, {
|
|
9633
9633
|
default: withCtx(({ item }) => [
|
|
9634
|
-
createElementVNode("div", _hoisted_5$
|
|
9635
|
-
createElementVNode("div", _hoisted_6$
|
|
9634
|
+
createElementVNode("div", _hoisted_5$2, [
|
|
9635
|
+
createElementVNode("div", _hoisted_6$2, toDisplayString(item.name), 1),
|
|
9636
9636
|
createElementVNode("div", _hoisted_7$1, toDisplayString(item.address), 1)
|
|
9637
9637
|
])
|
|
9638
9638
|
]),
|
|
@@ -9805,10 +9805,10 @@ const _sfc_main$4 = {
|
|
|
9805
9805
|
};
|
|
9806
9806
|
}
|
|
9807
9807
|
};
|
|
9808
|
-
const SCTJBusinessMapDrawingDialog = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
9808
|
+
const SCTJBusinessMapDrawingDialog = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-d0bea808"]]);
|
|
9809
9809
|
const index_vue_vue_type_style_index_0_scoped_87a3abe5_lang = "";
|
|
9810
|
-
const _hoisted_1$
|
|
9811
|
-
const _sfc_main$
|
|
9810
|
+
const _hoisted_1$3 = { class: "controls" };
|
|
9811
|
+
const _sfc_main$4 = {
|
|
9812
9812
|
__name: "index",
|
|
9813
9813
|
props: {
|
|
9814
9814
|
center: {
|
|
@@ -10074,7 +10074,7 @@ const _sfc_main$3 = {
|
|
|
10074
10074
|
ref: mapContainerRef,
|
|
10075
10075
|
class: "map-container"
|
|
10076
10076
|
}, null, 512),
|
|
10077
|
-
createElementVNode("div", _hoisted_1$
|
|
10077
|
+
createElementVNode("div", _hoisted_1$3, [
|
|
10078
10078
|
createVNode(_component_el_button_group, null, {
|
|
10079
10079
|
default: withCtx(() => [
|
|
10080
10080
|
createVNode(_component_el_button, {
|
|
@@ -10139,17 +10139,17 @@ const _sfc_main$3 = {
|
|
|
10139
10139
|
};
|
|
10140
10140
|
}
|
|
10141
10141
|
};
|
|
10142
|
-
const SCTJTrackPlayback = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
10142
|
+
const SCTJTrackPlayback = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-87a3abe5"]]);
|
|
10143
10143
|
const BimViewer_vue_vue_type_style_index_0_scoped_5d1b1a03_lang = "";
|
|
10144
|
-
const _withScopeId$
|
|
10145
|
-
const _hoisted_1$
|
|
10144
|
+
const _withScopeId$2 = (n) => (pushScopeId("data-v-5d1b1a03"), n = n(), popScopeId(), n);
|
|
10145
|
+
const _hoisted_1$2 = {
|
|
10146
10146
|
key: 0,
|
|
10147
10147
|
class: "error-overlay"
|
|
10148
10148
|
};
|
|
10149
|
-
const _hoisted_2$
|
|
10150
|
-
const _hoisted_3$
|
|
10151
|
-
const _hoisted_4$
|
|
10152
|
-
const _sfc_main$
|
|
10149
|
+
const _hoisted_2$2 = { class: "error-content" };
|
|
10150
|
+
const _hoisted_3$2 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createElementVNode("div", { class: "error-icon" }, "\u26A0\uFE0F", -1));
|
|
10151
|
+
const _hoisted_4$2 = { class: "error-text" };
|
|
10152
|
+
const _sfc_main$3 = {
|
|
10153
10153
|
__name: "BimViewer",
|
|
10154
10154
|
props: {
|
|
10155
10155
|
viewToken: {
|
|
@@ -10518,10 +10518,10 @@ const _sfc_main$2 = {
|
|
|
10518
10518
|
ref_key: "bimContainer",
|
|
10519
10519
|
ref: bimContainer
|
|
10520
10520
|
}, [
|
|
10521
|
-
errorMessage.value ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
10522
|
-
createElementVNode("div", _hoisted_2$
|
|
10523
|
-
_hoisted_3$
|
|
10524
|
-
createElementVNode("div", _hoisted_4$
|
|
10521
|
+
errorMessage.value ? (openBlock(), createElementBlock("div", _hoisted_1$2, [
|
|
10522
|
+
createElementVNode("div", _hoisted_2$2, [
|
|
10523
|
+
_hoisted_3$2,
|
|
10524
|
+
createElementVNode("div", _hoisted_4$2, toDisplayString(errorMessage.value), 1),
|
|
10525
10525
|
createVNode(_component_el_button, {
|
|
10526
10526
|
type: "primary",
|
|
10527
10527
|
size: "small",
|
|
@@ -10540,9 +10540,9 @@ const _sfc_main$2 = {
|
|
|
10540
10540
|
};
|
|
10541
10541
|
}
|
|
10542
10542
|
};
|
|
10543
|
-
const SCTJBimViewer = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
10543
|
+
const SCTJBimViewer = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-5d1b1a03"]]);
|
|
10544
10544
|
const DwgViewer_vue_vue_type_style_index_0_scoped_ab9c8ebd_lang = "";
|
|
10545
|
-
const _sfc_main$
|
|
10545
|
+
const _sfc_main$2 = {
|
|
10546
10546
|
__name: "DwgViewer",
|
|
10547
10547
|
props: {
|
|
10548
10548
|
viewToken: {
|
|
@@ -10780,20 +10780,20 @@ const _sfc_main$1 = {
|
|
|
10780
10780
|
};
|
|
10781
10781
|
}
|
|
10782
10782
|
};
|
|
10783
|
-
const SCTJDwgViewer = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
10783
|
+
const SCTJDwgViewer = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-ab9c8ebd"]]);
|
|
10784
10784
|
const ModelCompare_vue_vue_type_style_index_0_scoped_3019374b_lang = "";
|
|
10785
|
-
const _withScopeId = (n) => (pushScopeId("data-v-3019374b"), n = n(), popScopeId(), n);
|
|
10786
|
-
const _hoisted_1 = { class: "panel-title" };
|
|
10787
|
-
const _hoisted_2 = { class: "panel prev" };
|
|
10788
|
-
const _hoisted_3 = { class: "panel-title" };
|
|
10789
|
-
const _hoisted_4 = { class: "compare-content" };
|
|
10790
|
-
const _hoisted_5 = { class: "component-list" };
|
|
10791
|
-
const _hoisted_6 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "tit" }, "\u4FEE\u6539\u6784\u4EF6\u5217\u8868", -1));
|
|
10785
|
+
const _withScopeId$1 = (n) => (pushScopeId("data-v-3019374b"), n = n(), popScopeId(), n);
|
|
10786
|
+
const _hoisted_1$1 = { class: "panel-title" };
|
|
10787
|
+
const _hoisted_2$1 = { class: "panel prev" };
|
|
10788
|
+
const _hoisted_3$1 = { class: "panel-title" };
|
|
10789
|
+
const _hoisted_4$1 = { class: "compare-content" };
|
|
10790
|
+
const _hoisted_5$1 = { class: "component-list" };
|
|
10791
|
+
const _hoisted_6$1 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("div", { class: "tit" }, "\u4FEE\u6539\u6784\u4EF6\u5217\u8868", -1));
|
|
10792
10792
|
const _hoisted_7 = { class: "type-mode" };
|
|
10793
10793
|
const _hoisted_8 = ["onClick"];
|
|
10794
10794
|
const _hoisted_9 = ["data-oid", "onClick"];
|
|
10795
|
-
const _hoisted_10 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("i", { class: "check checked" }, null, -1));
|
|
10796
|
-
const _sfc_main = {
|
|
10795
|
+
const _hoisted_10 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("i", { class: "check checked" }, null, -1));
|
|
10796
|
+
const _sfc_main$1 = {
|
|
10797
10797
|
__name: "ModelCompare",
|
|
10798
10798
|
props: {
|
|
10799
10799
|
prevToken: {
|
|
@@ -11135,7 +11135,7 @@ const _sfc_main = {
|
|
|
11135
11135
|
ref: latestRef,
|
|
11136
11136
|
class: "panel latest"
|
|
11137
11137
|
}, [
|
|
11138
|
-
createElementVNode("div", _hoisted_1, [
|
|
11138
|
+
createElementVNode("div", _hoisted_1$1, [
|
|
11139
11139
|
createTextVNode("\u5F53\u524D\u6A21\u578B\uFF1A"),
|
|
11140
11140
|
createElementVNode("span", null, toDisplayString(latestVersionLabel.value), 1)
|
|
11141
11141
|
])
|
|
@@ -11152,8 +11152,8 @@ const _sfc_main = {
|
|
|
11152
11152
|
class: "compare-col"
|
|
11153
11153
|
}, {
|
|
11154
11154
|
default: withCtx(() => [
|
|
11155
|
-
createElementVNode("div", _hoisted_2, [
|
|
11156
|
-
createElementVNode("div", _hoisted_3, [
|
|
11155
|
+
createElementVNode("div", _hoisted_2$1, [
|
|
11156
|
+
createElementVNode("div", _hoisted_3$1, [
|
|
11157
11157
|
createElementVNode("span", null, "\u5BF9\u6BD4\u6A21\u578B\uFF1A" + toDisplayString(prevVersionLabel.value), 1)
|
|
11158
11158
|
]),
|
|
11159
11159
|
createElementVNode("div", {
|
|
@@ -11168,9 +11168,9 @@ const _sfc_main = {
|
|
|
11168
11168
|
]),
|
|
11169
11169
|
_: 1
|
|
11170
11170
|
}),
|
|
11171
|
-
createElementVNode("div", _hoisted_4, [
|
|
11172
|
-
createElementVNode("div", _hoisted_5, [
|
|
11173
|
-
_hoisted_6,
|
|
11171
|
+
createElementVNode("div", _hoisted_4$1, [
|
|
11172
|
+
createElementVNode("div", _hoisted_5$1, [
|
|
11173
|
+
_hoisted_6$1,
|
|
11174
11174
|
createElementVNode("div", _hoisted_7, [
|
|
11175
11175
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(sections), (section) => {
|
|
11176
11176
|
return openBlock(), createElementBlock("div", {
|
|
@@ -11216,32 +11216,1475 @@ const _sfc_main = {
|
|
|
11216
11216
|
};
|
|
11217
11217
|
}
|
|
11218
11218
|
};
|
|
11219
|
-
const SCTJModelCompare = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3019374b"]]);
|
|
11219
|
+
const SCTJModelCompare = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-3019374b"]]);
|
|
11220
|
+
function useBimfaceGIS(options = {}) {
|
|
11221
|
+
const { onModelTransformEnd } = options;
|
|
11222
|
+
const viewer = ref$1(null);
|
|
11223
|
+
const app = ref$1(null);
|
|
11224
|
+
const editor = ref$1(null);
|
|
11225
|
+
const layerManager = ref$1(null);
|
|
11226
|
+
const isLoaded = ref$1(false);
|
|
11227
|
+
const isLoading = ref$1(true);
|
|
11228
|
+
const error = ref$1(null);
|
|
11229
|
+
let registeredEvents = [];
|
|
11230
|
+
const initViewer = async (domElement, viewToken, config = {}) => {
|
|
11231
|
+
return new Promise(async (resolve, reject) => {
|
|
11232
|
+
if (!domElement) {
|
|
11233
|
+
reject(new Error("DOM\u5143\u7D20\u4E0D\u80FD\u4E3A\u7A7A"));
|
|
11234
|
+
return;
|
|
11235
|
+
}
|
|
11236
|
+
if (!viewToken) {
|
|
11237
|
+
reject(new Error("ViewToken\u4E0D\u80FD\u4E3A\u7A7A"));
|
|
11238
|
+
return;
|
|
11239
|
+
}
|
|
11240
|
+
isLoading.value = true;
|
|
11241
|
+
error.value = null;
|
|
11242
|
+
const loaderConfig = new window.BimfaceSDKLoaderConfig();
|
|
11243
|
+
loaderConfig.viewToken = viewToken;
|
|
11244
|
+
window.BimfaceSDKLoader.load(
|
|
11245
|
+
loaderConfig,
|
|
11246
|
+
(viewMetaData) => {
|
|
11247
|
+
try {
|
|
11248
|
+
const webAppConfig = new window.Glodon.Bimface.Earth.Application.WebApplicationGISConfig();
|
|
11249
|
+
webAppConfig.domElement = domElement;
|
|
11250
|
+
if (config.disableMapOcclusion !== void 0) {
|
|
11251
|
+
webAppConfig.disableMapOcclusion = config.disableMapOcclusion;
|
|
11252
|
+
} else {
|
|
11253
|
+
webAppConfig.disableMapOcclusion = true;
|
|
11254
|
+
}
|
|
11255
|
+
app.value = new window.Glodon.Bimface.Earth.Application.WebApplicationGIS(webAppConfig);
|
|
11256
|
+
viewer.value = app.value.getViewer();
|
|
11257
|
+
console.log("viewer.value", viewer.value);
|
|
11258
|
+
addEventListener(
|
|
11259
|
+
window.Glodon.Bimface.Earth.Viewer.ViewerGISEvent.SceneAdded,
|
|
11260
|
+
() => {
|
|
11261
|
+
console.log("\u573A\u666F\u6DFB\u52A0\u5B8C\u6210");
|
|
11262
|
+
layerManager.value = viewer.value.getLayerManager();
|
|
11263
|
+
isLoaded.value = true;
|
|
11264
|
+
isLoading.value = false;
|
|
11265
|
+
handleSceneAdded();
|
|
11266
|
+
resolve({ viewer: viewer.value, app: app.value, layerManager: layerManager.value });
|
|
11267
|
+
},
|
|
11268
|
+
viewer.value
|
|
11269
|
+
);
|
|
11270
|
+
viewer.value.addScene(viewToken);
|
|
11271
|
+
} catch (err) {
|
|
11272
|
+
error.value = err;
|
|
11273
|
+
isLoading.value = false;
|
|
11274
|
+
reject(err);
|
|
11275
|
+
}
|
|
11276
|
+
},
|
|
11277
|
+
(loadError) => {
|
|
11278
|
+
error.value = loadError;
|
|
11279
|
+
isLoading.value = false;
|
|
11280
|
+
reject(loadError);
|
|
11281
|
+
}
|
|
11282
|
+
);
|
|
11283
|
+
});
|
|
11284
|
+
};
|
|
11285
|
+
const handleResize = () => {
|
|
11286
|
+
if (viewer.value) {
|
|
11287
|
+
viewer.value.resize(
|
|
11288
|
+
document.documentElement.clientWidth,
|
|
11289
|
+
document.documentElement.clientHeight
|
|
11290
|
+
);
|
|
11291
|
+
}
|
|
11292
|
+
};
|
|
11293
|
+
const resizeHandler = ref$1(null);
|
|
11294
|
+
const handleSceneAdded = () => {
|
|
11295
|
+
if (!viewer.value)
|
|
11296
|
+
return;
|
|
11297
|
+
resizeHandler.value = handleResize;
|
|
11298
|
+
window.addEventListener("resize", resizeHandler.value);
|
|
11299
|
+
};
|
|
11300
|
+
const getLayer = (layerId) => {
|
|
11301
|
+
if (!layerManager.value) {
|
|
11302
|
+
console.warn("\u56FE\u5C42\u7BA1\u7406\u5668\u672A\u521D\u59CB\u5316");
|
|
11303
|
+
return null;
|
|
11304
|
+
}
|
|
11305
|
+
return layerManager.value.getLayer(layerId);
|
|
11306
|
+
};
|
|
11307
|
+
const getAllLayers = () => {
|
|
11308
|
+
if (!layerManager.value) {
|
|
11309
|
+
console.warn("\u56FE\u5C42\u7BA1\u7406\u5668\u672A\u521D\u59CB\u5316");
|
|
11310
|
+
return [];
|
|
11311
|
+
}
|
|
11312
|
+
const rootLayer = layerManager.value.getRootLayer();
|
|
11313
|
+
if (!rootLayer)
|
|
11314
|
+
return [];
|
|
11315
|
+
return rootLayer.children || [];
|
|
11316
|
+
};
|
|
11317
|
+
const getBIMLayers = () => {
|
|
11318
|
+
const allLayers = getAllLayers();
|
|
11319
|
+
console.log("\u6240\u6709\u56FE\u5C42:", allLayers);
|
|
11320
|
+
return allLayers.filter((layer) => {
|
|
11321
|
+
const type = layer.typeName;
|
|
11322
|
+
return type === "BIMLayer";
|
|
11323
|
+
});
|
|
11324
|
+
};
|
|
11325
|
+
const getLayerByType = (typeName) => {
|
|
11326
|
+
const allLayers = getAllLayers();
|
|
11327
|
+
return allLayers.filter((layer) => {
|
|
11328
|
+
const type = layer.typeName;
|
|
11329
|
+
return type === typeName;
|
|
11330
|
+
});
|
|
11331
|
+
};
|
|
11332
|
+
const getRootLayer = () => {
|
|
11333
|
+
if (!layerManager.value) {
|
|
11334
|
+
console.warn("\u56FE\u5C42\u7BA1\u7406\u5668\u672A\u521D\u59CB\u5316");
|
|
11335
|
+
return null;
|
|
11336
|
+
}
|
|
11337
|
+
return layerManager.value.getRootLayer();
|
|
11338
|
+
};
|
|
11339
|
+
const addGroupLayer = (layerConfig) => {
|
|
11340
|
+
var _a;
|
|
11341
|
+
if (!layerManager.value) {
|
|
11342
|
+
console.warn("\u56FE\u5C42\u7BA1\u7406\u5668\u672A\u521D\u59CB\u5316");
|
|
11343
|
+
return null;
|
|
11344
|
+
}
|
|
11345
|
+
const option = {
|
|
11346
|
+
id: layerConfig.id,
|
|
11347
|
+
name: layerConfig.name || layerConfig.id
|
|
11348
|
+
};
|
|
11349
|
+
const groupLayer = new window.Glodon.Bimface.Earth.Layer.GroupLayer(option);
|
|
11350
|
+
const parentId = layerConfig.parentId || ((_a = layerManager.value.getRootLayer()) == null ? void 0 : _a.getId());
|
|
11351
|
+
layerManager.value.addLayer(groupLayer, parentId);
|
|
11352
|
+
return groupLayer;
|
|
11353
|
+
};
|
|
11354
|
+
const addBIMLayer = (layerConfig) => {
|
|
11355
|
+
var _a;
|
|
11356
|
+
if (!layerManager.value) {
|
|
11357
|
+
console.warn("\u56FE\u5C42\u7BA1\u7406\u5668\u672A\u521D\u59CB\u5316");
|
|
11358
|
+
return null;
|
|
11359
|
+
}
|
|
11360
|
+
const option = {
|
|
11361
|
+
id: layerConfig.id,
|
|
11362
|
+
name: layerConfig.name || layerConfig.id,
|
|
11363
|
+
viewToken: layerConfig.viewToken
|
|
11364
|
+
};
|
|
11365
|
+
if (layerConfig.location) {
|
|
11366
|
+
if (typeof layerConfig.location === "string") {
|
|
11367
|
+
const parts = layerConfig.location.split(",");
|
|
11368
|
+
if (parts.length >= 3) {
|
|
11369
|
+
option.location = {
|
|
11370
|
+
lon: parseFloat(parts[0]),
|
|
11371
|
+
lat: parseFloat(parts[1]),
|
|
11372
|
+
alt: parseFloat(parts[2])
|
|
11373
|
+
};
|
|
11374
|
+
}
|
|
11375
|
+
} else if (typeof layerConfig.location === "object") {
|
|
11376
|
+
option.location = layerConfig.location;
|
|
11377
|
+
}
|
|
11378
|
+
}
|
|
11379
|
+
const bimLayer = new window.Glodon.Bimface.Earth.Layer.BIMLayer(option);
|
|
11380
|
+
console.log("bimLayer", bimLayer);
|
|
11381
|
+
const transformation = getTransformationFromConfig(layerConfig);
|
|
11382
|
+
const parentId = layerConfig.parentId || ((_a = layerManager.value.getRootLayer()) == null ? void 0 : _a.getId());
|
|
11383
|
+
layerManager.value.addLayer(bimLayer, parentId);
|
|
11384
|
+
return {
|
|
11385
|
+
layer: bimLayer,
|
|
11386
|
+
transformation
|
|
11387
|
+
};
|
|
11388
|
+
};
|
|
11389
|
+
const getCenterFromBoundingBox = (bbox) => {
|
|
11390
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M, _N, _O, _P, _Q, _R, _S, _T, _U, _V;
|
|
11391
|
+
if (!bbox)
|
|
11392
|
+
return { x: 0, y: 0, z: 0 };
|
|
11393
|
+
if (bbox.center && typeof bbox.center === "object") {
|
|
11394
|
+
return {
|
|
11395
|
+
x: Number((_b = (_a = bbox.center.x) != null ? _a : bbox.center.lon) != null ? _b : bbox.center.longitude) || 0,
|
|
11396
|
+
y: Number((_d = (_c = bbox.center.y) != null ? _c : bbox.center.lat) != null ? _d : bbox.center.latitude) || 0,
|
|
11397
|
+
z: Number((_f = (_e = bbox.center.z) != null ? _e : bbox.center.alt) != null ? _f : bbox.center.altitude) || 0
|
|
11398
|
+
};
|
|
11399
|
+
}
|
|
11400
|
+
const minX = Number(
|
|
11401
|
+
(_m = (_k = (_i = (_g = bbox.minX) != null ? _g : bbox.xmin) != null ? _i : (_h = bbox.min) == null ? void 0 : _h.x) != null ? _k : (_j = bbox.min) == null ? void 0 : _j.lon) != null ? _m : (_l = bbox.min) == null ? void 0 : _l.longitude
|
|
11402
|
+
);
|
|
11403
|
+
const maxX = Number(
|
|
11404
|
+
(_t = (_r = (_p = (_n = bbox.maxX) != null ? _n : bbox.xmax) != null ? _p : (_o = bbox.max) == null ? void 0 : _o.x) != null ? _r : (_q = bbox.max) == null ? void 0 : _q.lon) != null ? _t : (_s = bbox.max) == null ? void 0 : _s.longitude
|
|
11405
|
+
);
|
|
11406
|
+
const minY = Number(
|
|
11407
|
+
(_A = (_y = (_w = (_u = bbox.minY) != null ? _u : bbox.ymin) != null ? _w : (_v = bbox.min) == null ? void 0 : _v.y) != null ? _y : (_x = bbox.min) == null ? void 0 : _x.lat) != null ? _A : (_z = bbox.min) == null ? void 0 : _z.latitude
|
|
11408
|
+
);
|
|
11409
|
+
const maxY = Number(
|
|
11410
|
+
(_H = (_F = (_D = (_B = bbox.maxY) != null ? _B : bbox.ymax) != null ? _D : (_C = bbox.max) == null ? void 0 : _C.y) != null ? _F : (_E = bbox.max) == null ? void 0 : _E.lat) != null ? _H : (_G = bbox.max) == null ? void 0 : _G.latitude
|
|
11411
|
+
);
|
|
11412
|
+
const minZ = Number(
|
|
11413
|
+
(_O = (_M = (_K = (_I = bbox.minZ) != null ? _I : bbox.zmin) != null ? _K : (_J = bbox.min) == null ? void 0 : _J.z) != null ? _M : (_L = bbox.min) == null ? void 0 : _L.alt) != null ? _O : (_N = bbox.min) == null ? void 0 : _N.altitude
|
|
11414
|
+
);
|
|
11415
|
+
const maxZ = Number(
|
|
11416
|
+
(_V = (_T = (_R = (_P = bbox.maxZ) != null ? _P : bbox.zmax) != null ? _R : (_Q = bbox.max) == null ? void 0 : _Q.z) != null ? _T : (_S = bbox.max) == null ? void 0 : _S.alt) != null ? _V : (_U = bbox.max) == null ? void 0 : _U.altitude
|
|
11417
|
+
);
|
|
11418
|
+
return {
|
|
11419
|
+
x: Number.isFinite(minX) && Number.isFinite(maxX) ? (minX + maxX) / 2 : 0,
|
|
11420
|
+
y: Number.isFinite(minY) && Number.isFinite(maxY) ? (minY + maxY) / 2 : 0,
|
|
11421
|
+
z: Number.isFinite(minZ) && Number.isFinite(maxZ) ? (minZ + maxZ) / 2 : 0
|
|
11422
|
+
};
|
|
11423
|
+
};
|
|
11424
|
+
const buildLayerTransformation = (zoom = 1, rotate = 0, center = { x: 0, y: 0, z: 0 }) => {
|
|
11425
|
+
const scale = zoom !== void 0 && zoom !== null ? Number(zoom) : 1;
|
|
11426
|
+
const rotationDeg = rotate !== void 0 && rotate !== null ? Number(rotate) : 0;
|
|
11427
|
+
const rotation = rotationDeg * (Math.PI / 180);
|
|
11428
|
+
const cosR = Math.cos(rotation);
|
|
11429
|
+
const sinR = Math.sin(rotation);
|
|
11430
|
+
const a11 = scale * cosR;
|
|
11431
|
+
const a12 = -scale * sinR;
|
|
11432
|
+
const a21 = scale * sinR;
|
|
11433
|
+
const a22 = scale * cosR;
|
|
11434
|
+
const tx = center.x - (a11 * center.x + a12 * center.y);
|
|
11435
|
+
const ty = center.y - (a21 * center.x + a22 * center.y);
|
|
11436
|
+
return [
|
|
11437
|
+
a11,
|
|
11438
|
+
a21,
|
|
11439
|
+
0,
|
|
11440
|
+
0,
|
|
11441
|
+
a12,
|
|
11442
|
+
a22,
|
|
11443
|
+
0,
|
|
11444
|
+
0,
|
|
11445
|
+
0,
|
|
11446
|
+
0,
|
|
11447
|
+
1,
|
|
11448
|
+
0,
|
|
11449
|
+
tx,
|
|
11450
|
+
ty,
|
|
11451
|
+
0,
|
|
11452
|
+
1
|
|
11453
|
+
];
|
|
11454
|
+
};
|
|
11455
|
+
const getTransformationFromConfig = (layerConfig) => {
|
|
11456
|
+
if (layerConfig.zoom === void 0 && layerConfig.rotate === void 0) {
|
|
11457
|
+
return null;
|
|
11458
|
+
}
|
|
11459
|
+
return buildLayerTransformation(layerConfig.zoom, layerConfig.rotate);
|
|
11460
|
+
};
|
|
11461
|
+
const updateLayerTransformation = (layerId, zoom, rotate) => {
|
|
11462
|
+
var _a;
|
|
11463
|
+
const layer = getLayer(layerId);
|
|
11464
|
+
if (!layer) {
|
|
11465
|
+
console.warn("\u672A\u627E\u5230\u56FE\u5C42:", layerId);
|
|
11466
|
+
return false;
|
|
11467
|
+
}
|
|
11468
|
+
const beforeBBox = (_a = layer.getBoundingBox) == null ? void 0 : _a.call(layer);
|
|
11469
|
+
const beforeCenter = getCenterFromBoundingBox(beforeBBox);
|
|
11470
|
+
const transformation = buildLayerTransformation(zoom, rotate, { x: 0, y: 0, z: 0 });
|
|
11471
|
+
layer.setTransformation(transformation);
|
|
11472
|
+
setTimeout(() => {
|
|
11473
|
+
var _a2, _b;
|
|
11474
|
+
const afterBBox = (_a2 = layer.getBoundingBox) == null ? void 0 : _a2.call(layer);
|
|
11475
|
+
const afterCenter = getCenterFromBoundingBox(afterBBox);
|
|
11476
|
+
const delta = {
|
|
11477
|
+
x: (afterCenter.x || 0) - (beforeCenter.x || 0),
|
|
11478
|
+
y: (afterCenter.y || 0) - (beforeCenter.y || 0),
|
|
11479
|
+
z: (afterCenter.z || 0) - (beforeCenter.z || 0)
|
|
11480
|
+
};
|
|
11481
|
+
if (Number.isFinite(delta.x) && Number.isFinite(delta.y) && (Math.abs(delta.x) > 1e-9 || Math.abs(delta.y) > 1e-9)) {
|
|
11482
|
+
const currentLocation = (_b = layer.getLocation) == null ? void 0 : _b.call(layer);
|
|
11483
|
+
if (currentLocation && Number.isFinite(currentLocation.lon) && Number.isFinite(currentLocation.lat)) {
|
|
11484
|
+
const correctedLocation = {
|
|
11485
|
+
lon: currentLocation.lon - delta.x,
|
|
11486
|
+
lat: currentLocation.lat - delta.y,
|
|
11487
|
+
alt: Number.isFinite(currentLocation.alt) ? currentLocation.alt - (delta.z || 0) : currentLocation.alt
|
|
11488
|
+
};
|
|
11489
|
+
layer.setLocation(correctedLocation);
|
|
11490
|
+
} else {
|
|
11491
|
+
console.warn(`[BIM-GIS] layer=${layerId} center correction skipped: getLocation unavailable`);
|
|
11492
|
+
}
|
|
11493
|
+
}
|
|
11494
|
+
}, 0);
|
|
11495
|
+
return true;
|
|
11496
|
+
};
|
|
11497
|
+
const updateLayerLocation = (layerId, location) => {
|
|
11498
|
+
const layer = getLayer(layerId);
|
|
11499
|
+
if (!layer) {
|
|
11500
|
+
console.warn("\u672A\u627E\u5230\u56FE\u5C42:", layerId);
|
|
11501
|
+
return false;
|
|
11502
|
+
}
|
|
11503
|
+
if (typeof location === "string") {
|
|
11504
|
+
const parts = location.split(",");
|
|
11505
|
+
if (parts.length >= 3) {
|
|
11506
|
+
location = {
|
|
11507
|
+
lon: parseFloat(parts[0]),
|
|
11508
|
+
lat: parseFloat(parts[1]),
|
|
11509
|
+
alt: parseFloat(parts[2])
|
|
11510
|
+
};
|
|
11511
|
+
}
|
|
11512
|
+
}
|
|
11513
|
+
layer.setLocation(location);
|
|
11514
|
+
return true;
|
|
11515
|
+
};
|
|
11516
|
+
const getLayerLocation = (layerId) => {
|
|
11517
|
+
var _a, _b;
|
|
11518
|
+
const layer = getLayer(layerId);
|
|
11519
|
+
if (!layer) {
|
|
11520
|
+
console.warn("\u672A\u627E\u5230\u56FE\u5C42:", layerId);
|
|
11521
|
+
return null;
|
|
11522
|
+
}
|
|
11523
|
+
return (_b = (_a = layer.getLocation) == null ? void 0 : _a.call(layer)) != null ? _b : null;
|
|
11524
|
+
};
|
|
11525
|
+
const addDrawingLayer = (layerConfig) => {
|
|
11526
|
+
var _a;
|
|
11527
|
+
if (!layerManager.value) {
|
|
11528
|
+
console.warn("\u56FE\u5C42\u7BA1\u7406\u5668\u672A\u521D\u59CB\u5316");
|
|
11529
|
+
return null;
|
|
11530
|
+
}
|
|
11531
|
+
const option = {
|
|
11532
|
+
id: layerConfig.id,
|
|
11533
|
+
name: layerConfig.name || layerConfig.id,
|
|
11534
|
+
viewToken: layerConfig.viewToken
|
|
11535
|
+
};
|
|
11536
|
+
const drawingLayer = new window.Glodon.Bimface.Earth.Layer.DrawingLayer(option);
|
|
11537
|
+
const parentId = layerConfig.parentId || ((_a = layerManager.value.getRootLayer()) == null ? void 0 : _a.getId());
|
|
11538
|
+
layerManager.value.addLayer(drawingLayer, parentId);
|
|
11539
|
+
return drawingLayer;
|
|
11540
|
+
};
|
|
11541
|
+
const addExternalObjectLayer = (layerConfig) => {
|
|
11542
|
+
var _a;
|
|
11543
|
+
if (!layerManager.value) {
|
|
11544
|
+
console.warn("\u56FE\u5C42\u7BA1\u7406\u5668\u672A\u521D\u59CB\u5316");
|
|
11545
|
+
return null;
|
|
11546
|
+
}
|
|
11547
|
+
const option = {
|
|
11548
|
+
id: layerConfig.id,
|
|
11549
|
+
name: layerConfig.name || layerConfig.id
|
|
11550
|
+
};
|
|
11551
|
+
const extObjLayer = new window.Glodon.Bimface.Earth.Layer.ExternalObjectLayer(option);
|
|
11552
|
+
const parentId = layerConfig.parentId || ((_a = layerManager.value.getRootLayer()) == null ? void 0 : _a.getId());
|
|
11553
|
+
layerManager.value.addLayer(extObjLayer, parentId);
|
|
11554
|
+
return extObjLayer;
|
|
11555
|
+
};
|
|
11556
|
+
const addTilesetLayer = (layerConfig) => {
|
|
11557
|
+
var _a;
|
|
11558
|
+
if (!layerManager.value) {
|
|
11559
|
+
console.warn("\u56FE\u5C42\u7BA1\u7406\u5668\u672A\u521D\u59CB\u5316");
|
|
11560
|
+
return null;
|
|
11561
|
+
}
|
|
11562
|
+
const option = {
|
|
11563
|
+
id: layerConfig.id,
|
|
11564
|
+
name: layerConfig.name || layerConfig.id,
|
|
11565
|
+
viewToken: layerConfig.viewToken
|
|
11566
|
+
};
|
|
11567
|
+
const tilesetLayer = new window.Glodon.Bimface.Earth.Layer.TilesetLayer(option);
|
|
11568
|
+
const parentId = layerConfig.parentId || ((_a = layerManager.value.getRootLayer()) == null ? void 0 : _a.getId());
|
|
11569
|
+
layerManager.value.addLayer(tilesetLayer, parentId);
|
|
11570
|
+
return tilesetLayer;
|
|
11571
|
+
};
|
|
11572
|
+
const addTileLayer = (layerConfig) => {
|
|
11573
|
+
var _a;
|
|
11574
|
+
if (!layerManager.value) {
|
|
11575
|
+
console.warn("\u56FE\u5C42\u7BA1\u7406\u5668\u672A\u521D\u59CB\u5316");
|
|
11576
|
+
return null;
|
|
11577
|
+
}
|
|
11578
|
+
const option = {
|
|
11579
|
+
id: layerConfig.id,
|
|
11580
|
+
name: layerConfig.name || layerConfig.id,
|
|
11581
|
+
tileUrl: layerConfig.tileUrl
|
|
11582
|
+
};
|
|
11583
|
+
const tileLayer = new window.Glodon.Bimface.Earth.Layer.TileLayer(option);
|
|
11584
|
+
const parentId = layerConfig.parentId || ((_a = layerManager.value.getRootLayer()) == null ? void 0 : _a.getId());
|
|
11585
|
+
layerManager.value.addLayer(tileLayer, parentId);
|
|
11586
|
+
return tileLayer;
|
|
11587
|
+
};
|
|
11588
|
+
const addTerrainLayer = (layerConfig) => {
|
|
11589
|
+
var _a;
|
|
11590
|
+
if (!layerManager.value) {
|
|
11591
|
+
console.warn("\u56FE\u5C42\u7BA1\u7406\u5668\u672A\u521D\u59CB\u5316");
|
|
11592
|
+
return null;
|
|
11593
|
+
}
|
|
11594
|
+
const option = {
|
|
11595
|
+
id: layerConfig.id,
|
|
11596
|
+
name: layerConfig.name || layerConfig.id,
|
|
11597
|
+
terrainUrl: layerConfig.terrainUrl
|
|
11598
|
+
};
|
|
11599
|
+
const terrainLayer = new window.Glodon.Bimface.Earth.Layer.TerrainLayer(option);
|
|
11600
|
+
const parentId = layerConfig.parentId || ((_a = layerManager.value.getRootLayer()) == null ? void 0 : _a.getId());
|
|
11601
|
+
layerManager.value.addLayer(terrainLayer, parentId);
|
|
11602
|
+
return terrainLayer;
|
|
11603
|
+
};
|
|
11604
|
+
const removeLayer = (layerId) => {
|
|
11605
|
+
if (!layerManager.value) {
|
|
11606
|
+
console.warn("\u56FE\u5C42\u7BA1\u7406\u5668\u672A\u521D\u59CB\u5316");
|
|
11607
|
+
return;
|
|
11608
|
+
}
|
|
11609
|
+
const layer = layerManager.value.getLayer(layerId);
|
|
11610
|
+
if (layer) {
|
|
11611
|
+
layerManager.value.removeLayer(layerId);
|
|
11612
|
+
}
|
|
11613
|
+
};
|
|
11614
|
+
const showLayers = (layerIds) => {
|
|
11615
|
+
if (!layerManager.value) {
|
|
11616
|
+
console.warn("\u56FE\u5C42\u7BA1\u7406\u5668\u672A\u521D\u59CB\u5316");
|
|
11617
|
+
return;
|
|
11618
|
+
}
|
|
11619
|
+
layerManager.value.showLayers(layerIds);
|
|
11620
|
+
};
|
|
11621
|
+
const hideLayers = (layerIds) => {
|
|
11622
|
+
if (!layerManager.value) {
|
|
11623
|
+
console.warn("\u56FE\u5C42\u7BA1\u7406\u5668\u672A\u521D\u59CB\u5316");
|
|
11624
|
+
return;
|
|
11625
|
+
}
|
|
11626
|
+
const layer = layerManager.value.getLayer(layerIds[0]);
|
|
11627
|
+
if (layer && layer.hide) {
|
|
11628
|
+
layer.hide();
|
|
11629
|
+
}
|
|
11630
|
+
};
|
|
11631
|
+
const zoomToLayer = (layerId, callback) => {
|
|
11632
|
+
if (!layerManager.value) {
|
|
11633
|
+
console.warn("\u56FE\u5C42\u7BA1\u7406\u5668\u672A\u521D\u59CB\u5316");
|
|
11634
|
+
return;
|
|
11635
|
+
}
|
|
11636
|
+
console.log("layerId", layerId);
|
|
11637
|
+
layerManager.value.zoomToLayer(layerId, callback);
|
|
11638
|
+
};
|
|
11639
|
+
const getComponentManager = (layerId) => {
|
|
11640
|
+
const layer = getLayer(layerId);
|
|
11641
|
+
if (layer && layer.getComponentManager) {
|
|
11642
|
+
return layer.getComponentManager();
|
|
11643
|
+
}
|
|
11644
|
+
return null;
|
|
11645
|
+
};
|
|
11646
|
+
const selectComponents = (layerId, condition) => {
|
|
11647
|
+
const componentManager = getComponentManager(layerId);
|
|
11648
|
+
if (!componentManager) {
|
|
11649
|
+
console.warn("\u672A\u627E\u5230\u56FE\u5C42\u5BF9\u5E94\u7684\u6784\u4EF6\u7BA1\u7406\u5668:", layerId);
|
|
11650
|
+
return;
|
|
11651
|
+
}
|
|
11652
|
+
componentManager.select(condition);
|
|
11653
|
+
};
|
|
11654
|
+
const clearSelection = (layerId) => {
|
|
11655
|
+
const componentManager = getComponentManager(layerId);
|
|
11656
|
+
if (!componentManager) {
|
|
11657
|
+
console.warn("\u672A\u627E\u5230\u56FE\u5C42\u5BF9\u5E94\u7684\u6784\u4EF6\u7BA1\u7406\u5668:", layerId);
|
|
11658
|
+
return;
|
|
11659
|
+
}
|
|
11660
|
+
componentManager.clearSelection();
|
|
11661
|
+
};
|
|
11662
|
+
const isolateComponents = (layerId, condition, state = "MakeOthersTranslucent") => {
|
|
11663
|
+
const componentManager = getComponentManager(layerId);
|
|
11664
|
+
if (!componentManager) {
|
|
11665
|
+
console.warn("\u672A\u627E\u5230\u56FE\u5C42\u5BF9\u5E94\u7684\u6784\u4EF6\u7BA1\u7406\u5668:", layerId);
|
|
11666
|
+
return;
|
|
11667
|
+
}
|
|
11668
|
+
componentManager.isolate(condition, state);
|
|
11669
|
+
};
|
|
11670
|
+
const clearIsolation = (layerId) => {
|
|
11671
|
+
const componentManager = getComponentManager(layerId);
|
|
11672
|
+
if (!componentManager) {
|
|
11673
|
+
console.warn("\u672A\u627E\u5230\u56FE\u5C42\u5BF9\u5E94\u7684\u6784\u4EF6\u7BA1\u7406\u5668:", layerId);
|
|
11674
|
+
return;
|
|
11675
|
+
}
|
|
11676
|
+
componentManager.clearIsolation();
|
|
11677
|
+
};
|
|
11678
|
+
const overrideComponentColor = (layerId, condition, color = {}) => {
|
|
11679
|
+
var _a;
|
|
11680
|
+
const componentManager = getComponentManager(layerId);
|
|
11681
|
+
if (!componentManager) {
|
|
11682
|
+
console.warn("\u672A\u627E\u5230\u56FE\u5C42\u5BF9\u5E94\u7684\u6784\u4EF6\u7BA1\u7406\u5668:", layerId);
|
|
11683
|
+
return;
|
|
11684
|
+
}
|
|
11685
|
+
const glodonColor = new window.Glodon.Web.Graphics.Color(color.r, color.g, color.b, (_a = color.a) != null ? _a : 1);
|
|
11686
|
+
componentManager.overrideColor(condition, glodonColor);
|
|
11687
|
+
};
|
|
11688
|
+
const restoreComponentColor = (layerId, condition) => {
|
|
11689
|
+
const componentManager = getComponentManager(layerId);
|
|
11690
|
+
if (!componentManager) {
|
|
11691
|
+
console.warn("\u672A\u627E\u5230\u56FE\u5C42\u5BF9\u5E94\u7684\u6784\u4EF6\u7BA1\u7406\u5668:", layerId);
|
|
11692
|
+
return;
|
|
11693
|
+
}
|
|
11694
|
+
componentManager.restoreColor(condition);
|
|
11695
|
+
};
|
|
11696
|
+
const blinkComponents = (layerId, condition, color, interval, times) => {
|
|
11697
|
+
var _a;
|
|
11698
|
+
const componentManager = getComponentManager(layerId);
|
|
11699
|
+
if (!componentManager) {
|
|
11700
|
+
console.warn("\u672A\u627E\u5230\u56FE\u5C42\u5BF9\u5E94\u7684\u6784\u4EF6\u7BA1\u7406\u5668:", layerId);
|
|
11701
|
+
return;
|
|
11702
|
+
}
|
|
11703
|
+
const glodonColor = color ? new window.Glodon.Web.Graphics.Color(color.r, color.g, color.b, (_a = color.a) != null ? _a : 1) : new window.Glodon.Web.Graphics.Color(255, 0, 0, 1);
|
|
11704
|
+
componentManager.blink(condition, glodonColor, interval, times);
|
|
11705
|
+
};
|
|
11706
|
+
const clearBlinkComponents = (layerId, condition) => {
|
|
11707
|
+
const componentManager = getComponentManager(layerId);
|
|
11708
|
+
if (!componentManager) {
|
|
11709
|
+
console.warn("\u672A\u627E\u5230\u56FE\u5C42\u5BF9\u5E94\u7684\u6784\u4EF6\u7BA1\u7406\u5668:", layerId);
|
|
11710
|
+
return;
|
|
11711
|
+
}
|
|
11712
|
+
if (condition) {
|
|
11713
|
+
componentManager.clearBlinkComponents(condition);
|
|
11714
|
+
} else {
|
|
11715
|
+
componentManager.clearAllBlinkComponents();
|
|
11716
|
+
}
|
|
11717
|
+
};
|
|
11718
|
+
const setGlowEffect = (layerId, condition, option) => {
|
|
11719
|
+
var _a, _b, _c;
|
|
11720
|
+
const componentManager = getComponentManager(layerId);
|
|
11721
|
+
if (!componentManager) {
|
|
11722
|
+
console.warn("\u672A\u627E\u5230\u56FE\u5C42\u5BF9\u5E94\u7684\u6784\u4EF6\u7BA1\u7406\u5668:", layerId);
|
|
11723
|
+
return;
|
|
11724
|
+
}
|
|
11725
|
+
const glowOption = {
|
|
11726
|
+
type: option.type || "body",
|
|
11727
|
+
color: new window.Glodon.Web.Graphics.Color(option.color.r, option.color.g, option.color.b, (_a = option.color.a) != null ? _a : 1),
|
|
11728
|
+
intensity: (_b = option.intensity) != null ? _b : 0.3,
|
|
11729
|
+
spread: (_c = option.spread) != null ? _c : 3
|
|
11730
|
+
};
|
|
11731
|
+
componentManager.glow(condition, glowOption);
|
|
11732
|
+
};
|
|
11733
|
+
const clearGlowEffect = (layerId, condition) => {
|
|
11734
|
+
const componentManager = getComponentManager(layerId);
|
|
11735
|
+
if (!componentManager) {
|
|
11736
|
+
console.warn("\u672A\u627E\u5230\u56FE\u5C42\u5BF9\u5E94\u7684\u6784\u4EF6\u7BA1\u7406\u5668:", layerId);
|
|
11737
|
+
return;
|
|
11738
|
+
}
|
|
11739
|
+
if (condition) {
|
|
11740
|
+
componentManager.clearGlowEffect(condition);
|
|
11741
|
+
}
|
|
11742
|
+
};
|
|
11743
|
+
const hideComponents = (layerId, condition) => {
|
|
11744
|
+
const componentManager = getComponentManager(layerId);
|
|
11745
|
+
if (!componentManager) {
|
|
11746
|
+
console.warn("\u672A\u627E\u5230\u56FE\u5C42\u5BF9\u5E94\u7684\u6784\u4EF6\u7BA1\u7406\u5668:", layerId);
|
|
11747
|
+
return;
|
|
11748
|
+
}
|
|
11749
|
+
componentManager.hide(condition);
|
|
11750
|
+
};
|
|
11751
|
+
const showComponents = (layerId, condition) => {
|
|
11752
|
+
const componentManager = getComponentManager(layerId);
|
|
11753
|
+
if (!componentManager) {
|
|
11754
|
+
console.warn("\u672A\u627E\u5230\u56FE\u5C42\u5BF9\u5E94\u7684\u6784\u4EF6\u7BA1\u7406\u5668:", layerId);
|
|
11755
|
+
return;
|
|
11756
|
+
}
|
|
11757
|
+
componentManager.show(condition);
|
|
11758
|
+
};
|
|
11759
|
+
const getObjectDataById = (layerId, componentId) => {
|
|
11760
|
+
const componentManager = getComponentManager(layerId);
|
|
11761
|
+
if (!componentManager) {
|
|
11762
|
+
console.warn("\u672A\u627E\u5230\u56FE\u5C42\u5BF9\u5E94\u7684\u6784\u4EF6\u7BA1\u7406\u5668:", layerId);
|
|
11763
|
+
return null;
|
|
11764
|
+
}
|
|
11765
|
+
return componentManager.getObjectDataById(componentId);
|
|
11766
|
+
};
|
|
11767
|
+
const getBoundingBox = (layerId, condition) => {
|
|
11768
|
+
const componentManager = getComponentManager(layerId);
|
|
11769
|
+
if (!componentManager) {
|
|
11770
|
+
console.warn("\u672A\u627E\u5230\u56FE\u5C42\u5BF9\u5E94\u7684\u6784\u4EF6\u7BA1\u7406\u5668:", layerId);
|
|
11771
|
+
return null;
|
|
11772
|
+
}
|
|
11773
|
+
const safeCondition = condition != null ? condition : {};
|
|
11774
|
+
try {
|
|
11775
|
+
return componentManager.getBoundingBox(safeCondition);
|
|
11776
|
+
} catch (err) {
|
|
11777
|
+
console.warn("\u83B7\u53D6\u6784\u4EF6\u5305\u56F4\u76D2\u5931\u8D25:", layerId, err);
|
|
11778
|
+
return null;
|
|
11779
|
+
}
|
|
11780
|
+
};
|
|
11781
|
+
const addEventListener = (eventType, callback, inctance) => {
|
|
11782
|
+
if (!inctance) {
|
|
11783
|
+
console.warn("inctance\u672A\u521D\u59CB\u5316");
|
|
11784
|
+
return;
|
|
11785
|
+
}
|
|
11786
|
+
inctance.addEventListener(eventType, callback);
|
|
11787
|
+
registeredEvents.push({ eventType, callback, inctance });
|
|
11788
|
+
};
|
|
11789
|
+
const removeEventListener = (eventType, callback, inctance) => {
|
|
11790
|
+
if (!inctance) {
|
|
11791
|
+
console.warn("inctance\u672A\u521D\u59CB\u5316");
|
|
11792
|
+
return;
|
|
11793
|
+
}
|
|
11794
|
+
inctance.removeEventListener(eventType, callback);
|
|
11795
|
+
registeredEvents = registeredEvents.filter((e) => e.eventType !== eventType);
|
|
11796
|
+
};
|
|
11797
|
+
const getUIManager = () => {
|
|
11798
|
+
if (!app.value) {
|
|
11799
|
+
console.warn("App\u672A\u521D\u59CB\u5316");
|
|
11800
|
+
return null;
|
|
11801
|
+
}
|
|
11802
|
+
return app.value.getUIManager();
|
|
11803
|
+
};
|
|
11804
|
+
const getToolbar = (toolbarName) => {
|
|
11805
|
+
const uiMng = getUIManager();
|
|
11806
|
+
if (!uiMng)
|
|
11807
|
+
return null;
|
|
11808
|
+
return uiMng.getToolbar(toolbarName);
|
|
11809
|
+
};
|
|
11810
|
+
const getEffectManager = () => {
|
|
11811
|
+
if (!app.value) {
|
|
11812
|
+
console.warn("App\u672A\u521D\u59CB\u5316");
|
|
11813
|
+
return null;
|
|
11814
|
+
}
|
|
11815
|
+
return app.value.getEffectManager();
|
|
11816
|
+
};
|
|
11817
|
+
const addPrismPoint = (config) => {
|
|
11818
|
+
const effectManager = getEffectManager();
|
|
11819
|
+
if (!effectManager)
|
|
11820
|
+
return null;
|
|
11821
|
+
const prismPointConfig = new window.Glodon.Bimface.Plugins.Anchor.PrismPointConfig();
|
|
11822
|
+
if (config.position)
|
|
11823
|
+
prismPointConfig.position = config.position;
|
|
11824
|
+
if (config.size !== void 0)
|
|
11825
|
+
prismPointConfig.size = config.size;
|
|
11826
|
+
if (config.duration !== void 0)
|
|
11827
|
+
prismPointConfig.duration = config.duration;
|
|
11828
|
+
if (config.color)
|
|
11829
|
+
prismPointConfig.color = new window.Glodon.Web.Graphics.Color(config.color);
|
|
11830
|
+
if (config.wireframeColor)
|
|
11831
|
+
prismPointConfig.wireframeColor = new window.Glodon.Web.Graphics.Color(config.wireframeColor);
|
|
11832
|
+
const prismPoint = new window.Glodon.Bimface.Plugins.Anchor.PrismPoint(prismPointConfig);
|
|
11833
|
+
effectManager.addObject(prismPoint);
|
|
11834
|
+
return prismPoint;
|
|
11835
|
+
};
|
|
11836
|
+
const addAnchor = (config) => {
|
|
11837
|
+
if (!viewer.value) {
|
|
11838
|
+
console.warn("Viewer\u672A\u521D\u59CB\u5316");
|
|
11839
|
+
return null;
|
|
11840
|
+
}
|
|
11841
|
+
const anchorConfig = new window.Glodon.Bimface.Earth.Plugins.Animation.AnchorConfig();
|
|
11842
|
+
anchorConfig.viewer = viewer.value;
|
|
11843
|
+
if (config.size !== void 0)
|
|
11844
|
+
anchorConfig.size = config.size;
|
|
11845
|
+
if (config.location)
|
|
11846
|
+
anchorConfig.location = config.location;
|
|
11847
|
+
if (config.title)
|
|
11848
|
+
anchorConfig.title = config.title;
|
|
11849
|
+
if (config.content)
|
|
11850
|
+
anchorConfig.content = config.content;
|
|
11851
|
+
if (config.imageUrl)
|
|
11852
|
+
anchorConfig.imageUrl = config.imageUrl;
|
|
11853
|
+
if (config.offsetX !== void 0)
|
|
11854
|
+
anchorConfig.offsetX = config.offsetX;
|
|
11855
|
+
if (config.offsetY !== void 0)
|
|
11856
|
+
anchorConfig.offsetY = config.offsetY;
|
|
11857
|
+
const anchor = new window.Glodon.Bimface.Earth.Plugins.Animation.Anchor(anchorConfig);
|
|
11858
|
+
return anchor;
|
|
11859
|
+
};
|
|
11860
|
+
const addFireEffect = (config) => {
|
|
11861
|
+
const effectManager = getEffectManager();
|
|
11862
|
+
if (!effectManager)
|
|
11863
|
+
return null;
|
|
11864
|
+
const fireConfig = new window.Glodon.Bimface.Plugins.Effect.FireEffectConfig();
|
|
11865
|
+
if (config.position)
|
|
11866
|
+
fireConfig.position = config.position;
|
|
11867
|
+
if (config.size !== void 0)
|
|
11868
|
+
fireConfig.size = config.size;
|
|
11869
|
+
if (config.intensity !== void 0)
|
|
11870
|
+
fireConfig.intensity = config.intensity;
|
|
11871
|
+
if (config.color)
|
|
11872
|
+
fireConfig.color = new window.Glodon.Web.Graphics.Color(config.color);
|
|
11873
|
+
const fireEffect = new window.Glodon.Bimface.Plugins.Effect.FireEffect(fireConfig);
|
|
11874
|
+
effectManager.addObject(fireEffect);
|
|
11875
|
+
return fireEffect;
|
|
11876
|
+
};
|
|
11877
|
+
const addFanScan = (config) => {
|
|
11878
|
+
const effectManager = getEffectManager();
|
|
11879
|
+
if (!effectManager)
|
|
11880
|
+
return null;
|
|
11881
|
+
const fanScanConfig = new window.Glodon.Bimface.Plugins.Effect.FanScanConfig();
|
|
11882
|
+
if (config.position)
|
|
11883
|
+
fanScanConfig.position = config.position;
|
|
11884
|
+
if (config.angle !== void 0)
|
|
11885
|
+
fanScanConfig.angle = config.angle;
|
|
11886
|
+
if (config.radius !== void 0)
|
|
11887
|
+
fanScanConfig.radius = config.radius;
|
|
11888
|
+
if (config.color)
|
|
11889
|
+
fanScanConfig.color = new window.Glodon.Web.Graphics.Color(config.color);
|
|
11890
|
+
if (config.duration !== void 0)
|
|
11891
|
+
fanScanConfig.duration = config.duration;
|
|
11892
|
+
const fanScan = new window.Glodon.Bimface.Plugins.Effect.FanScan(fanScanConfig);
|
|
11893
|
+
effectManager.addObject(fanScan);
|
|
11894
|
+
return fanScan;
|
|
11895
|
+
};
|
|
11896
|
+
const addRingScan = (config) => {
|
|
11897
|
+
const effectManager = getEffectManager();
|
|
11898
|
+
if (!effectManager)
|
|
11899
|
+
return null;
|
|
11900
|
+
const ringScanConfig = new window.Glodon.Bimface.Plugins.Effect.RingScanConfig();
|
|
11901
|
+
if (config.position)
|
|
11902
|
+
ringScanConfig.position = config.position;
|
|
11903
|
+
if (config.radius !== void 0)
|
|
11904
|
+
ringScanConfig.radius = config.radius;
|
|
11905
|
+
if (config.color)
|
|
11906
|
+
ringScanConfig.color = new window.Glodon.Web.Graphics.Color(config.color);
|
|
11907
|
+
if (config.duration !== void 0)
|
|
11908
|
+
ringScanConfig.duration = config.duration;
|
|
11909
|
+
const ringScan = new window.Glodon.Bimface.Plugins.Effect.RingScan(ringScanConfig);
|
|
11910
|
+
effectManager.addObject(ringScan);
|
|
11911
|
+
return ringScan;
|
|
11912
|
+
};
|
|
11913
|
+
const addWaterEffect = (config) => {
|
|
11914
|
+
const effectManager = getEffectManager();
|
|
11915
|
+
if (!effectManager)
|
|
11916
|
+
return null;
|
|
11917
|
+
const waterConfig = new window.Glodon.Bimface.Plugins.Effect.WaterEffectConfig();
|
|
11918
|
+
if (config.position)
|
|
11919
|
+
waterConfig.position = config.position;
|
|
11920
|
+
if (config.size !== void 0)
|
|
11921
|
+
waterConfig.size = config.size;
|
|
11922
|
+
if (config.speed !== void 0)
|
|
11923
|
+
waterConfig.speed = config.speed;
|
|
11924
|
+
const waterEffect = new window.Glodon.Bimface.Plugins.Effect.WaterEffect(waterConfig);
|
|
11925
|
+
effectManager.addObject(waterEffect);
|
|
11926
|
+
return waterEffect;
|
|
11927
|
+
};
|
|
11928
|
+
const addWallEffect = (config) => {
|
|
11929
|
+
const effectManager = getEffectManager();
|
|
11930
|
+
if (!effectManager)
|
|
11931
|
+
return null;
|
|
11932
|
+
const wallConfig = new window.Glodon.Bimface.Plugins.Effect.WallEffectConfig();
|
|
11933
|
+
if (config.position)
|
|
11934
|
+
wallConfig.position = config.position;
|
|
11935
|
+
if (config.radius !== void 0)
|
|
11936
|
+
wallConfig.radius = config.radius;
|
|
11937
|
+
if (config.height !== void 0)
|
|
11938
|
+
wallConfig.height = config.height;
|
|
11939
|
+
if (config.color)
|
|
11940
|
+
wallConfig.color = new window.Glodon.Web.Graphics.Color(config.color);
|
|
11941
|
+
const wallEffect = new window.Glodon.Bimface.Plugins.Effect.WallEffect(wallConfig);
|
|
11942
|
+
effectManager.addObject(wallEffect);
|
|
11943
|
+
return wallEffect;
|
|
11944
|
+
};
|
|
11945
|
+
const addCurveAnimation = (config) => {
|
|
11946
|
+
const effectManager = getEffectManager();
|
|
11947
|
+
if (!effectManager)
|
|
11948
|
+
return null;
|
|
11949
|
+
const curveConfig = new window.Glodon.Bimface.Plugins.Effect.CurveAnimationConfig();
|
|
11950
|
+
if (config.points)
|
|
11951
|
+
curveConfig.points = config.points;
|
|
11952
|
+
if (config.color)
|
|
11953
|
+
curveConfig.color = new window.Glodon.Web.Graphics.Color(config.color);
|
|
11954
|
+
if (config.speed !== void 0)
|
|
11955
|
+
curveConfig.speed = config.speed;
|
|
11956
|
+
if (config.width !== void 0)
|
|
11957
|
+
curveConfig.width = config.width;
|
|
11958
|
+
const curveEffect = new window.Glodon.Bimface.Plugins.Effect.CurveAnimation(curveConfig);
|
|
11959
|
+
effectManager.addObject(curveEffect);
|
|
11960
|
+
return curveEffect;
|
|
11961
|
+
};
|
|
11962
|
+
const setSkyBox = (config) => {
|
|
11963
|
+
const effectManager = getEffectManager();
|
|
11964
|
+
if (!effectManager)
|
|
11965
|
+
return null;
|
|
11966
|
+
const skyBoxManager = effectManager.getSkyBox();
|
|
11967
|
+
if (skyBoxManager) {
|
|
11968
|
+
if (config.style)
|
|
11969
|
+
skyBoxManager.setSkyBoxStyle(config.style);
|
|
11970
|
+
return skyBoxManager;
|
|
11971
|
+
}
|
|
11972
|
+
return null;
|
|
11973
|
+
};
|
|
11974
|
+
const setRain = (enabled, config = {}) => {
|
|
11975
|
+
const effectManager = getEffectManager();
|
|
11976
|
+
if (!effectManager)
|
|
11977
|
+
return null;
|
|
11978
|
+
const rain = effectManager.getRain();
|
|
11979
|
+
if (rain) {
|
|
11980
|
+
if (enabled !== void 0)
|
|
11981
|
+
rain.setEnable(enabled);
|
|
11982
|
+
if (config.intensity !== void 0)
|
|
11983
|
+
rain.setIntensity(config.intensity);
|
|
11984
|
+
if (config.opacity !== void 0)
|
|
11985
|
+
rain.setOpacity(config.opacity);
|
|
11986
|
+
return rain;
|
|
11987
|
+
}
|
|
11988
|
+
return null;
|
|
11989
|
+
};
|
|
11990
|
+
const showEffect = (effect) => {
|
|
11991
|
+
const effectManager = getEffectManager();
|
|
11992
|
+
if (!effectManager)
|
|
11993
|
+
return;
|
|
11994
|
+
effectManager.showObject(effect);
|
|
11995
|
+
};
|
|
11996
|
+
const hideEffect = (effect) => {
|
|
11997
|
+
const effectManager = getEffectManager();
|
|
11998
|
+
if (!effectManager)
|
|
11999
|
+
return;
|
|
12000
|
+
effectManager.hideObject(effect);
|
|
12001
|
+
};
|
|
12002
|
+
const removeEffect = (effect) => {
|
|
12003
|
+
const effectManager = getEffectManager();
|
|
12004
|
+
if (!effectManager)
|
|
12005
|
+
return;
|
|
12006
|
+
effectManager.removeObject(effect);
|
|
12007
|
+
};
|
|
12008
|
+
const dispose = () => {
|
|
12009
|
+
if (resizeHandler.value) {
|
|
12010
|
+
window.removeEventListener("resize", resizeHandler.value);
|
|
12011
|
+
resizeHandler.value = null;
|
|
12012
|
+
}
|
|
12013
|
+
registeredEvents.forEach(({ eventType, callback, inctance }) => {
|
|
12014
|
+
removeEventListener(eventType, callback, inctance);
|
|
12015
|
+
});
|
|
12016
|
+
registeredEvents.length = 0;
|
|
12017
|
+
if (editor.value) {
|
|
12018
|
+
editor.value.exit();
|
|
12019
|
+
editor.value = null;
|
|
12020
|
+
}
|
|
12021
|
+
if (app.value) {
|
|
12022
|
+
app.value.destroy();
|
|
12023
|
+
app.value = null;
|
|
12024
|
+
}
|
|
12025
|
+
if (viewer.value) {
|
|
12026
|
+
viewer.value = null;
|
|
12027
|
+
}
|
|
12028
|
+
layerManager.value = null;
|
|
12029
|
+
isLoaded.value = false;
|
|
12030
|
+
isLoading.value = false;
|
|
12031
|
+
error.value = null;
|
|
12032
|
+
};
|
|
12033
|
+
const openModelEditor = (layerId) => {
|
|
12034
|
+
try {
|
|
12035
|
+
const parseModelTransformData = (eventData) => {
|
|
12036
|
+
var _a, _b;
|
|
12037
|
+
const modelId = (_a = eventData == null ? void 0 : eventData.modelId) == null ? void 0 : _a[0];
|
|
12038
|
+
const matrix = modelId !== void 0 ? (_b = eventData == null ? void 0 : eventData.transformation) == null ? void 0 : _b[modelId] : null;
|
|
12039
|
+
if (!Array.isArray(matrix) || matrix.length < 16) {
|
|
12040
|
+
return { modelId, zoom: null, rotate: null };
|
|
12041
|
+
}
|
|
12042
|
+
const a11 = Number(matrix[0]) || 0;
|
|
12043
|
+
const a21 = Number(matrix[1]) || 0;
|
|
12044
|
+
const zoom = Math.round(Math.sqrt(a11 * a11 + a21 * a21) * 10) / 10;
|
|
12045
|
+
const rotateRad = Math.atan2(a21, a11);
|
|
12046
|
+
const rotate = Math.round(rotateRad * 180 / Math.PI);
|
|
12047
|
+
const normalizedRotate = (rotate % 360 + 360) % 360;
|
|
12048
|
+
return {
|
|
12049
|
+
modelId,
|
|
12050
|
+
zoom,
|
|
12051
|
+
rotate: normalizedRotate
|
|
12052
|
+
};
|
|
12053
|
+
};
|
|
12054
|
+
const modelToolbarConfig = new window.Glodon.Bimface.Earth.Plugins.ModelEditor.ModelEditorToolbarConfig();
|
|
12055
|
+
modelToolbarConfig.ids = [layerId];
|
|
12056
|
+
modelToolbarConfig.viewer = viewer.value;
|
|
12057
|
+
editor.value = new window.Glodon.Bimface.Earth.Plugins.ModelEditor.ModelEditorToolbar(modelToolbarConfig);
|
|
12058
|
+
editor.value.setButtonVisibility({
|
|
12059
|
+
translate: true,
|
|
12060
|
+
rotate: true,
|
|
12061
|
+
scale: true
|
|
12062
|
+
});
|
|
12063
|
+
editor.value.setTranslationController({
|
|
12064
|
+
X: true,
|
|
12065
|
+
Y: true,
|
|
12066
|
+
Z: true
|
|
12067
|
+
});
|
|
12068
|
+
editor.value.setRotationController({
|
|
12069
|
+
X: false,
|
|
12070
|
+
Y: false,
|
|
12071
|
+
Z: true
|
|
12072
|
+
});
|
|
12073
|
+
editor.value.setScaleController({
|
|
12074
|
+
Uniform: true,
|
|
12075
|
+
X: false,
|
|
12076
|
+
Y: false,
|
|
12077
|
+
Z: false
|
|
12078
|
+
});
|
|
12079
|
+
addEventListener(
|
|
12080
|
+
window.Glodon.Bimface.Earth.Plugins.ModelEditor.ModelEditorToolbarEvent.ModelTransformEnd,
|
|
12081
|
+
(data) => {
|
|
12082
|
+
const location = getLayerLocation(layerId);
|
|
12083
|
+
const parsed = parseModelTransformData(data);
|
|
12084
|
+
const lngLat = location ? `${location.lon},${location.lat},${location.alt}` : "";
|
|
12085
|
+
onModelTransformEnd == null ? void 0 : onModelTransformEnd({
|
|
12086
|
+
...data,
|
|
12087
|
+
...parsed,
|
|
12088
|
+
layerId,
|
|
12089
|
+
lngLat,
|
|
12090
|
+
location
|
|
12091
|
+
});
|
|
12092
|
+
},
|
|
12093
|
+
editor.value
|
|
12094
|
+
);
|
|
12095
|
+
editor.value.show();
|
|
12096
|
+
return editor.value;
|
|
12097
|
+
} catch (err) {
|
|
12098
|
+
console.error("\u5F00\u542F\u6A21\u578B\u7F16\u8F91\u5668\u5931\u8D25:", err);
|
|
12099
|
+
return null;
|
|
12100
|
+
}
|
|
12101
|
+
};
|
|
12102
|
+
const closeModelEditor = () => {
|
|
12103
|
+
if (editor.value) {
|
|
12104
|
+
editor.value.exit();
|
|
12105
|
+
editor.value = null;
|
|
12106
|
+
}
|
|
12107
|
+
};
|
|
12108
|
+
const clearAllEffects = (layerId) => {
|
|
12109
|
+
const componentManager = getComponentManager(layerId);
|
|
12110
|
+
if (!componentManager) {
|
|
12111
|
+
console.warn("\u672A\u627E\u5230\u56FE\u5C42\u5BF9\u5E94\u7684\u6784\u4EF6\u7BA1\u7406\u5668:", layerId);
|
|
12112
|
+
return;
|
|
12113
|
+
}
|
|
12114
|
+
componentManager.clearIsolation();
|
|
12115
|
+
componentManager.clearAllBlinkComponents();
|
|
12116
|
+
componentManager.restoreColor({
|
|
12117
|
+
all: true
|
|
12118
|
+
});
|
|
12119
|
+
componentManager.clearSelection();
|
|
12120
|
+
};
|
|
12121
|
+
const zoomToComponent = (layerId, condition, clear = false) => {
|
|
12122
|
+
clearSelection(layerId);
|
|
12123
|
+
selectComponents(layerId, condition);
|
|
12124
|
+
const layer = getLayer(layerId);
|
|
12125
|
+
const viewer2 = layer.getViewer();
|
|
12126
|
+
const model = viewer2.getModels()[0];
|
|
12127
|
+
model.zoomToSelectedComponents();
|
|
12128
|
+
if (clear) {
|
|
12129
|
+
clearSelection(layerId);
|
|
12130
|
+
}
|
|
12131
|
+
};
|
|
12132
|
+
return {
|
|
12133
|
+
viewer,
|
|
12134
|
+
app,
|
|
12135
|
+
layerManager,
|
|
12136
|
+
isLoaded,
|
|
12137
|
+
isLoading,
|
|
12138
|
+
error,
|
|
12139
|
+
initViewer,
|
|
12140
|
+
getLayer,
|
|
12141
|
+
getAllLayers,
|
|
12142
|
+
getBIMLayers,
|
|
12143
|
+
getLayerByType,
|
|
12144
|
+
getRootLayer,
|
|
12145
|
+
addGroupLayer,
|
|
12146
|
+
addBIMLayer,
|
|
12147
|
+
addDrawingLayer,
|
|
12148
|
+
addExternalObjectLayer,
|
|
12149
|
+
addTilesetLayer,
|
|
12150
|
+
addTileLayer,
|
|
12151
|
+
addTerrainLayer,
|
|
12152
|
+
removeLayer,
|
|
12153
|
+
showLayers,
|
|
12154
|
+
hideLayers,
|
|
12155
|
+
zoomToLayer,
|
|
12156
|
+
getComponentManager,
|
|
12157
|
+
selectComponents,
|
|
12158
|
+
clearSelection,
|
|
12159
|
+
isolateComponents,
|
|
12160
|
+
clearIsolation,
|
|
12161
|
+
overrideComponentColor,
|
|
12162
|
+
restoreComponentColor,
|
|
12163
|
+
blinkComponents,
|
|
12164
|
+
clearBlinkComponents,
|
|
12165
|
+
setGlowEffect,
|
|
12166
|
+
clearGlowEffect,
|
|
12167
|
+
hideComponents,
|
|
12168
|
+
showComponents,
|
|
12169
|
+
getObjectDataById,
|
|
12170
|
+
getBoundingBox,
|
|
12171
|
+
zoomToComponent,
|
|
12172
|
+
addEventListener,
|
|
12173
|
+
removeEventListener,
|
|
12174
|
+
getUIManager,
|
|
12175
|
+
getToolbar,
|
|
12176
|
+
getEffectManager,
|
|
12177
|
+
addPrismPoint,
|
|
12178
|
+
addAnchor,
|
|
12179
|
+
addFireEffect,
|
|
12180
|
+
addFanScan,
|
|
12181
|
+
addRingScan,
|
|
12182
|
+
addWaterEffect,
|
|
12183
|
+
addWallEffect,
|
|
12184
|
+
addCurveAnimation,
|
|
12185
|
+
setSkyBox,
|
|
12186
|
+
setRain,
|
|
12187
|
+
showEffect,
|
|
12188
|
+
hideEffect,
|
|
12189
|
+
removeEffect,
|
|
12190
|
+
updateLayerTransformation,
|
|
12191
|
+
updateLayerLocation,
|
|
12192
|
+
getLayerLocation,
|
|
12193
|
+
openModelEditor,
|
|
12194
|
+
closeModelEditor,
|
|
12195
|
+
clearAllEffects,
|
|
12196
|
+
dispose
|
|
12197
|
+
};
|
|
12198
|
+
}
|
|
12199
|
+
const index_vue_vue_type_style_index_0_scoped_f0818b3a_lang = "";
|
|
12200
|
+
const _withScopeId = (n) => (pushScopeId("data-v-f0818b3a"), n = n(), popScopeId(), n);
|
|
12201
|
+
const _hoisted_1 = {
|
|
12202
|
+
key: 0,
|
|
12203
|
+
class: "loading-mask"
|
|
12204
|
+
};
|
|
12205
|
+
const _hoisted_2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "loading-spinner" }, null, -1));
|
|
12206
|
+
const _hoisted_3 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("span", { class: "loading-text" }, "\u573A\u666F\u52A0\u8F7D\u4E2D...", -1));
|
|
12207
|
+
const _hoisted_4 = [
|
|
12208
|
+
_hoisted_2,
|
|
12209
|
+
_hoisted_3
|
|
12210
|
+
];
|
|
12211
|
+
const _hoisted_5 = {
|
|
12212
|
+
key: 1,
|
|
12213
|
+
class: "error-tip"
|
|
12214
|
+
};
|
|
12215
|
+
const _hoisted_6 = ["onClick"];
|
|
12216
|
+
const _sfc_main = {
|
|
12217
|
+
__name: "index",
|
|
12218
|
+
props: {
|
|
12219
|
+
sceneToken: {
|
|
12220
|
+
type: String,
|
|
12221
|
+
required: true
|
|
12222
|
+
},
|
|
12223
|
+
bimLayers: {
|
|
12224
|
+
type: Array,
|
|
12225
|
+
default: () => []
|
|
12226
|
+
},
|
|
12227
|
+
height: {
|
|
12228
|
+
type: String,
|
|
12229
|
+
default: "100%"
|
|
12230
|
+
},
|
|
12231
|
+
width: {
|
|
12232
|
+
type: String,
|
|
12233
|
+
default: "100%"
|
|
12234
|
+
},
|
|
12235
|
+
disableMapOcclusion: {
|
|
12236
|
+
type: Boolean,
|
|
12237
|
+
default: true
|
|
12238
|
+
},
|
|
12239
|
+
extraContextMenu: {
|
|
12240
|
+
type: Array,
|
|
12241
|
+
default: () => []
|
|
12242
|
+
}
|
|
12243
|
+
},
|
|
12244
|
+
emits: [
|
|
12245
|
+
"scene-added",
|
|
12246
|
+
"scene-loaded",
|
|
12247
|
+
"layer-added",
|
|
12248
|
+
"layer-removed",
|
|
12249
|
+
"bim-layers-loaded",
|
|
12250
|
+
"selection-changed",
|
|
12251
|
+
"mouse-click",
|
|
12252
|
+
"context-menu",
|
|
12253
|
+
"context-menu-click",
|
|
12254
|
+
"error",
|
|
12255
|
+
"load-start",
|
|
12256
|
+
"load-end",
|
|
12257
|
+
"model-transform-end",
|
|
12258
|
+
"toolbar-click"
|
|
12259
|
+
],
|
|
12260
|
+
setup(__props, { expose, emit }) {
|
|
12261
|
+
const props = __props;
|
|
12262
|
+
useCssVars((_ctx) => ({
|
|
12263
|
+
"decc1896": __props.width,
|
|
12264
|
+
"68d58918": __props.height
|
|
12265
|
+
}));
|
|
12266
|
+
const containerRef = ref$1(null);
|
|
12267
|
+
const {
|
|
12268
|
+
viewer,
|
|
12269
|
+
app,
|
|
12270
|
+
layerManager,
|
|
12271
|
+
isLoaded,
|
|
12272
|
+
isLoading,
|
|
12273
|
+
error,
|
|
12274
|
+
initViewer,
|
|
12275
|
+
getLayer,
|
|
12276
|
+
getAllLayers,
|
|
12277
|
+
getBIMLayers,
|
|
12278
|
+
getRootLayer,
|
|
12279
|
+
getLayerByType,
|
|
12280
|
+
addGroupLayer,
|
|
12281
|
+
addBIMLayer,
|
|
12282
|
+
addDrawingLayer,
|
|
12283
|
+
addExternalObjectLayer,
|
|
12284
|
+
addTilesetLayer,
|
|
12285
|
+
addTileLayer,
|
|
12286
|
+
addTerrainLayer,
|
|
12287
|
+
removeLayer,
|
|
12288
|
+
showLayers,
|
|
12289
|
+
hideLayers,
|
|
12290
|
+
zoomToLayer,
|
|
12291
|
+
getComponentManager,
|
|
12292
|
+
selectComponents,
|
|
12293
|
+
clearSelection,
|
|
12294
|
+
zoomToComponent,
|
|
12295
|
+
isolateComponents,
|
|
12296
|
+
clearIsolation,
|
|
12297
|
+
overrideComponentColor,
|
|
12298
|
+
restoreComponentColor,
|
|
12299
|
+
blinkComponents,
|
|
12300
|
+
clearBlinkComponents,
|
|
12301
|
+
setGlowEffect,
|
|
12302
|
+
clearGlowEffect,
|
|
12303
|
+
hideComponents,
|
|
12304
|
+
showComponents,
|
|
12305
|
+
getObjectDataById,
|
|
12306
|
+
getBoundingBox,
|
|
12307
|
+
addEventListener,
|
|
12308
|
+
removeEventListener,
|
|
12309
|
+
getUIManager,
|
|
12310
|
+
getToolbar,
|
|
12311
|
+
getEffectManager,
|
|
12312
|
+
addPrismPoint,
|
|
12313
|
+
addAnchor,
|
|
12314
|
+
addFireEffect,
|
|
12315
|
+
addFanScan,
|
|
12316
|
+
addRingScan,
|
|
12317
|
+
addWaterEffect,
|
|
12318
|
+
addWallEffect,
|
|
12319
|
+
addCurveAnimation,
|
|
12320
|
+
setSkyBox,
|
|
12321
|
+
clearAllEffects,
|
|
12322
|
+
setRain,
|
|
12323
|
+
showEffect,
|
|
12324
|
+
hideEffect,
|
|
12325
|
+
removeEffect,
|
|
12326
|
+
updateLayerTransformation,
|
|
12327
|
+
updateLayerLocation,
|
|
12328
|
+
getLayerLocation,
|
|
12329
|
+
openModelEditor,
|
|
12330
|
+
closeModelEditor,
|
|
12331
|
+
dispose
|
|
12332
|
+
} = useBimfaceGIS({
|
|
12333
|
+
onModelTransformEnd: (data) => emit("model-transform-end", data)
|
|
12334
|
+
});
|
|
12335
|
+
watch(() => props.sceneToken, (newVal) => {
|
|
12336
|
+
if (newVal && containerRef.value) {
|
|
12337
|
+
loadScene();
|
|
12338
|
+
}
|
|
12339
|
+
}, { immediate: false });
|
|
12340
|
+
const loadScene = async () => {
|
|
12341
|
+
if (!containerRef.value || !props.sceneToken)
|
|
12342
|
+
return;
|
|
12343
|
+
dispose();
|
|
12344
|
+
loadedBimLayerViewTokens.value = /* @__PURE__ */ new Set();
|
|
12345
|
+
viewTokenToLayerId.value.clear();
|
|
12346
|
+
try {
|
|
12347
|
+
emit("load-start");
|
|
12348
|
+
const result = await initViewer(containerRef.value, props.sceneToken, {
|
|
12349
|
+
disableMapOcclusion: props.disableMapOcclusion
|
|
12350
|
+
});
|
|
12351
|
+
emit("scene-loaded", result);
|
|
12352
|
+
if (layerManager.value) {
|
|
12353
|
+
console.log("layerManager.value", layerManager.value);
|
|
12354
|
+
console.log("viewer.value", viewer.value);
|
|
12355
|
+
console.log("app.value", app.value);
|
|
12356
|
+
emit("scene-added", {
|
|
12357
|
+
viewer: viewer.value,
|
|
12358
|
+
app: app.value,
|
|
12359
|
+
layerManager: layerManager.value
|
|
12360
|
+
});
|
|
12361
|
+
}
|
|
12362
|
+
setupDefaultListeners();
|
|
12363
|
+
} catch (err) {
|
|
12364
|
+
error.value = err;
|
|
12365
|
+
emit("error", err);
|
|
12366
|
+
} finally {
|
|
12367
|
+
emit("load-end");
|
|
12368
|
+
}
|
|
12369
|
+
};
|
|
12370
|
+
const loadedBimLayerViewTokens = ref$1(/* @__PURE__ */ new Set());
|
|
12371
|
+
const viewTokenToLayerId = ref$1(/* @__PURE__ */ new Map());
|
|
12372
|
+
const layerTransformOptionsMap = ref$1(/* @__PURE__ */ new Map());
|
|
12373
|
+
let isLoadingBimLayers = false;
|
|
12374
|
+
const addBimLayers = (layersToAdd, { onComplete } = {}) => {
|
|
12375
|
+
if (!layersToAdd || layersToAdd.length === 0)
|
|
12376
|
+
return;
|
|
12377
|
+
let pendingCount = layersToAdd.length;
|
|
12378
|
+
const layerAddedHandler = ({ layerId }) => {
|
|
12379
|
+
if (layerId && layerTransformOptionsMap.value.has(layerId)) {
|
|
12380
|
+
const transformOptions = layerTransformOptionsMap.value.get(layerId);
|
|
12381
|
+
updateLayerTransformation(layerId, transformOptions.zoom, transformOptions.rotate);
|
|
12382
|
+
layerTransformOptionsMap.value.delete(layerId);
|
|
12383
|
+
}
|
|
12384
|
+
pendingCount--;
|
|
12385
|
+
if (pendingCount <= 0) {
|
|
12386
|
+
viewer.value.removeEventListener(
|
|
12387
|
+
window.Glodon.Bimface.Earth.Viewer.ViewerGISEvent.LayerAdded,
|
|
12388
|
+
layerAddedHandler
|
|
12389
|
+
);
|
|
12390
|
+
onComplete == null ? void 0 : onComplete();
|
|
12391
|
+
}
|
|
12392
|
+
};
|
|
12393
|
+
viewer.value.addEventListener(
|
|
12394
|
+
window.Glodon.Bimface.Earth.Viewer.ViewerGISEvent.LayerAdded,
|
|
12395
|
+
layerAddedHandler
|
|
12396
|
+
);
|
|
12397
|
+
for (const bimLayer of layersToAdd) {
|
|
12398
|
+
const result = addBIMLayer(bimLayer);
|
|
12399
|
+
if (result) {
|
|
12400
|
+
const layerId = result.layer.getId();
|
|
12401
|
+
viewTokenToLayerId.value.set(bimLayer.viewToken, layerId);
|
|
12402
|
+
if (bimLayer.zoom !== void 0 || bimLayer.rotate !== void 0) {
|
|
12403
|
+
layerTransformOptionsMap.value.set(layerId, {
|
|
12404
|
+
zoom: bimLayer.zoom,
|
|
12405
|
+
rotate: bimLayer.rotate
|
|
12406
|
+
});
|
|
12407
|
+
}
|
|
12408
|
+
}
|
|
12409
|
+
}
|
|
12410
|
+
};
|
|
12411
|
+
const loadBimLayers = async () => {
|
|
12412
|
+
if (isLoadingBimLayers)
|
|
12413
|
+
return;
|
|
12414
|
+
if (!props.bimLayers || props.bimLayers.length === 0)
|
|
12415
|
+
return;
|
|
12416
|
+
isLoadingBimLayers = true;
|
|
12417
|
+
try {
|
|
12418
|
+
const layersToAdd = [...props.bimLayers];
|
|
12419
|
+
addBimLayers(layersToAdd, {
|
|
12420
|
+
onComplete: () => {
|
|
12421
|
+
setTimeout(() => {
|
|
12422
|
+
const bimLayers = props.bimLayers.map((config) => getLayer(config.id)).filter(Boolean);
|
|
12423
|
+
loadedBimLayerViewTokens.value = new Set(props.bimLayers.map((config) => config.viewToken));
|
|
12424
|
+
emit("bim-layers-loaded", bimLayers);
|
|
12425
|
+
if (bimLayers.length > 0) {
|
|
12426
|
+
zoomToLayer(bimLayers[bimLayers.length - 1].getId());
|
|
12427
|
+
}
|
|
12428
|
+
}, 500);
|
|
12429
|
+
}
|
|
12430
|
+
});
|
|
12431
|
+
} finally {
|
|
12432
|
+
isLoadingBimLayers = false;
|
|
12433
|
+
}
|
|
12434
|
+
};
|
|
12435
|
+
watch([() => layerManager.value, () => props.bimLayers], ([newLayerManager, newLayers], [oldLayerManager]) => {
|
|
12436
|
+
var _a;
|
|
12437
|
+
if (!viewer.value || !newLayerManager || !isLoaded.value)
|
|
12438
|
+
return;
|
|
12439
|
+
const layerManagerJustLoaded = oldLayerManager === null && newLayerManager !== null;
|
|
12440
|
+
if (layerManagerJustLoaded) {
|
|
12441
|
+
if (loadedBimLayerViewTokens.value.size === 0 && ((_a = props.bimLayers) == null ? void 0 : _a.length) > 0) {
|
|
12442
|
+
loadBimLayers();
|
|
12443
|
+
}
|
|
12444
|
+
return;
|
|
12445
|
+
}
|
|
12446
|
+
if (isLoadingBimLayers)
|
|
12447
|
+
return;
|
|
12448
|
+
const newViewTokens = new Set((newLayers || []).map((config) => config.viewToken));
|
|
12449
|
+
const oldViewTokens = loadedBimLayerViewTokens.value;
|
|
12450
|
+
if (newViewTokens.size === 0 && oldViewTokens.size === 0)
|
|
12451
|
+
return;
|
|
12452
|
+
const viewTokensToRemove = [...oldViewTokens].filter((vt) => !newViewTokens.has(vt));
|
|
12453
|
+
const layersToAdd = (newLayers || []).filter((config) => !oldViewTokens.has(config.viewToken));
|
|
12454
|
+
for (const viewToken of viewTokensToRemove) {
|
|
12455
|
+
const layerId = viewTokenToLayerId.value.get(viewToken);
|
|
12456
|
+
if (layerId) {
|
|
12457
|
+
removeLayer(layerId);
|
|
12458
|
+
viewTokenToLayerId.value.delete(viewToken);
|
|
12459
|
+
}
|
|
12460
|
+
}
|
|
12461
|
+
loadedBimLayerViewTokens.value = newViewTokens;
|
|
12462
|
+
if (layersToAdd.length > 0) {
|
|
12463
|
+
addBimLayers(layersToAdd);
|
|
12464
|
+
}
|
|
12465
|
+
}, { deep: true });
|
|
12466
|
+
const selectedLayerAndObjects = ref$1([]);
|
|
12467
|
+
const selectObjects = computed$1(() => selectedLayerAndObjects.value.flatMap((item) => item.objectIds));
|
|
12468
|
+
const menuVisible = ref$1(false);
|
|
12469
|
+
const menuPosition = ref$1({ x: 0, y: 0 });
|
|
12470
|
+
const menuItems = computed$1(() => {
|
|
12471
|
+
const commonItems = [
|
|
12472
|
+
{ label: "\u9690\u85CF\u9009\u4E2D\u6784\u4EF6", value: "hideSelected" },
|
|
12473
|
+
{ label: "\u9694\u79BB\u9009\u4E2D\u6784\u4EF6", value: "isolateSelected" }
|
|
12474
|
+
];
|
|
12475
|
+
if (selectObjects.value.length === 0) {
|
|
12476
|
+
return [{ label: "\u663E\u793A\u6240\u6709\u6784\u4EF6", value: "showAll" }];
|
|
12477
|
+
}
|
|
12478
|
+
if (selectObjects.value.length === 1) {
|
|
12479
|
+
return [{ label: "\u6784\u4EF6\u8BE6\u60C5", value: "componentDetail" }, ...commonItems];
|
|
12480
|
+
}
|
|
12481
|
+
return commonItems;
|
|
12482
|
+
});
|
|
12483
|
+
const handleContextMenuClick = (value) => {
|
|
12484
|
+
console.log("viewer.value.getViewer()", viewer.value.getViewer());
|
|
12485
|
+
console.log("viewer.value", viewer.value.getModels());
|
|
12486
|
+
viewer.value.getViewer().clearSelection();
|
|
12487
|
+
if (value === "componentDetail")
|
|
12488
|
+
;
|
|
12489
|
+
else if (value === "hideSelected") {
|
|
12490
|
+
selectedLayerAndObjects.value.forEach((item) => {
|
|
12491
|
+
hideComponents(item.layerId, {
|
|
12492
|
+
ids: item.objectIds
|
|
12493
|
+
});
|
|
12494
|
+
});
|
|
12495
|
+
} else if (value === "isolateSelected") {
|
|
12496
|
+
selectedLayerAndObjects.value.forEach((item) => {
|
|
12497
|
+
isolateComponents(item.layerId, {
|
|
12498
|
+
ids: item.objectIds
|
|
12499
|
+
});
|
|
12500
|
+
});
|
|
12501
|
+
} else if (value === "showAll") {
|
|
12502
|
+
viewer.value.getModels().forEach((model) => {
|
|
12503
|
+
model.clearIsolation();
|
|
12504
|
+
model.showAllComponents();
|
|
12505
|
+
});
|
|
12506
|
+
viewer.value.getViewer().clearAll();
|
|
12507
|
+
}
|
|
12508
|
+
menuVisible.value = false;
|
|
12509
|
+
emit("context-menu-click", {
|
|
12510
|
+
action: value,
|
|
12511
|
+
selections: selectedLayerAndObjects.value
|
|
12512
|
+
});
|
|
12513
|
+
selectedLayerAndObjects.value = [];
|
|
12514
|
+
};
|
|
12515
|
+
const handleContextMenu = (e) => {
|
|
12516
|
+
selectedLayerAndObjects.value = viewer.value.getSelectedElements();
|
|
12517
|
+
menuPosition.value.x = e.clientPosition.x;
|
|
12518
|
+
menuPosition.value.y = e.clientPosition.y;
|
|
12519
|
+
menuVisible.value = true;
|
|
12520
|
+
};
|
|
12521
|
+
const setupDefaultListeners = () => {
|
|
12522
|
+
if (viewer.value) {
|
|
12523
|
+
addEventListener(
|
|
12524
|
+
window.Glodon.Bimface.Viewer.Viewer3DEvent.MouseClicked,
|
|
12525
|
+
(data) => {
|
|
12526
|
+
menuVisible.value = false;
|
|
12527
|
+
emit("mouse-click", data);
|
|
12528
|
+
},
|
|
12529
|
+
viewer.value
|
|
12530
|
+
);
|
|
12531
|
+
addEventListener(
|
|
12532
|
+
window.Glodon.Bimface.Viewer.Viewer3DEvent.SelectionChanged,
|
|
12533
|
+
(data) => {
|
|
12534
|
+
emit("selection-changed", data);
|
|
12535
|
+
},
|
|
12536
|
+
viewer.value
|
|
12537
|
+
);
|
|
12538
|
+
addEventListener(
|
|
12539
|
+
Glodon.Bimface.Earth.Application.WebApplicationGISEvent.LayerTreeNodeClicked,
|
|
12540
|
+
(data) => {
|
|
12541
|
+
emit("layer-treeNode-click", data);
|
|
12542
|
+
},
|
|
12543
|
+
app.value
|
|
12544
|
+
);
|
|
12545
|
+
addEventListener(
|
|
12546
|
+
Glodon.Bimface.Earth.Application.WebApplicationGISEvent.ButtonOnToolbarClicked,
|
|
12547
|
+
(data) => {
|
|
12548
|
+
emit("toolbar-click", data);
|
|
12549
|
+
},
|
|
12550
|
+
app.value
|
|
12551
|
+
);
|
|
12552
|
+
addEventListener(
|
|
12553
|
+
window.Glodon.Bimface.Viewer.Viewer3DEvent.ContextMenu,
|
|
12554
|
+
handleContextMenu,
|
|
12555
|
+
viewer.value
|
|
12556
|
+
);
|
|
12557
|
+
}
|
|
12558
|
+
};
|
|
12559
|
+
onMounted$1(() => {
|
|
12560
|
+
if (props.sceneToken && containerRef.value) {
|
|
12561
|
+
loadScene();
|
|
12562
|
+
}
|
|
12563
|
+
});
|
|
12564
|
+
onBeforeUnmount(() => {
|
|
12565
|
+
dispose();
|
|
12566
|
+
});
|
|
12567
|
+
expose({
|
|
12568
|
+
viewer,
|
|
12569
|
+
app,
|
|
12570
|
+
layerManager,
|
|
12571
|
+
isLoaded,
|
|
12572
|
+
isLoading,
|
|
12573
|
+
error,
|
|
12574
|
+
loadScene,
|
|
12575
|
+
getLayer,
|
|
12576
|
+
getAllLayers,
|
|
12577
|
+
getLayerByType,
|
|
12578
|
+
getBIMLayers,
|
|
12579
|
+
getRootLayer,
|
|
12580
|
+
addGroupLayer,
|
|
12581
|
+
addBIMLayer,
|
|
12582
|
+
addDrawingLayer,
|
|
12583
|
+
addExternalObjectLayer,
|
|
12584
|
+
addTilesetLayer,
|
|
12585
|
+
addTileLayer,
|
|
12586
|
+
addTerrainLayer,
|
|
12587
|
+
removeLayer,
|
|
12588
|
+
showLayers,
|
|
12589
|
+
hideLayers,
|
|
12590
|
+
zoomToLayer,
|
|
12591
|
+
getComponentManager,
|
|
12592
|
+
selectComponents,
|
|
12593
|
+
clearSelection,
|
|
12594
|
+
isolateComponents,
|
|
12595
|
+
clearIsolation,
|
|
12596
|
+
overrideComponentColor,
|
|
12597
|
+
restoreComponentColor,
|
|
12598
|
+
blinkComponents,
|
|
12599
|
+
clearBlinkComponents,
|
|
12600
|
+
setGlowEffect,
|
|
12601
|
+
clearGlowEffect,
|
|
12602
|
+
hideComponents,
|
|
12603
|
+
showComponents,
|
|
12604
|
+
getObjectDataById,
|
|
12605
|
+
getBoundingBox,
|
|
12606
|
+
addEventListener,
|
|
12607
|
+
removeEventListener,
|
|
12608
|
+
getUIManager,
|
|
12609
|
+
getToolbar,
|
|
12610
|
+
getEffectManager,
|
|
12611
|
+
addPrismPoint,
|
|
12612
|
+
addAnchor,
|
|
12613
|
+
zoomToComponent,
|
|
12614
|
+
addFireEffect,
|
|
12615
|
+
addFanScan,
|
|
12616
|
+
addRingScan,
|
|
12617
|
+
addWaterEffect,
|
|
12618
|
+
addWallEffect,
|
|
12619
|
+
addCurveAnimation,
|
|
12620
|
+
setSkyBox,
|
|
12621
|
+
setRain,
|
|
12622
|
+
showEffect,
|
|
12623
|
+
hideEffect,
|
|
12624
|
+
removeEffect,
|
|
12625
|
+
updateLayerTransformation,
|
|
12626
|
+
updateLayerLocation,
|
|
12627
|
+
getLayerLocation,
|
|
12628
|
+
openModelEditor,
|
|
12629
|
+
closeModelEditor,
|
|
12630
|
+
clearAllEffects,
|
|
12631
|
+
dispose
|
|
12632
|
+
});
|
|
12633
|
+
return (_ctx, _cache) => {
|
|
12634
|
+
return openBlock(), createElementBlock("div", {
|
|
12635
|
+
ref_key: "containerRef",
|
|
12636
|
+
ref: containerRef,
|
|
12637
|
+
id: "gisContainer",
|
|
12638
|
+
class: "bim-gis-container"
|
|
12639
|
+
}, [
|
|
12640
|
+
renderSlot(_ctx.$slots, "default", {}, void 0, true),
|
|
12641
|
+
unref(isLoading) ? (openBlock(), createElementBlock("div", _hoisted_1, _hoisted_4)) : createCommentVNode("", true),
|
|
12642
|
+
unref(error) ? (openBlock(), createElementBlock("div", _hoisted_5, [
|
|
12643
|
+
createElementVNode("span", null, toDisplayString(unref(error).message || "\u52A0\u8F7D\u5931\u8D25"), 1)
|
|
12644
|
+
])) : createCommentVNode("", true),
|
|
12645
|
+
withDirectives(createElementVNode("ul", {
|
|
12646
|
+
style: normalizeStyle({ left: menuPosition.value.x + "px", top: menuPosition.value.y + "px" }),
|
|
12647
|
+
class: "contextmenu"
|
|
12648
|
+
}, [
|
|
12649
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(menuItems), (item) => {
|
|
12650
|
+
return openBlock(), createElementBlock("li", {
|
|
12651
|
+
key: item.value,
|
|
12652
|
+
onClick: ($event) => handleContextMenuClick(item.value)
|
|
12653
|
+
}, toDisplayString(item.label), 9, _hoisted_6);
|
|
12654
|
+
}), 128))
|
|
12655
|
+
], 4), [
|
|
12656
|
+
[vShow, menuVisible.value]
|
|
12657
|
+
])
|
|
12658
|
+
], 512);
|
|
12659
|
+
};
|
|
12660
|
+
}
|
|
12661
|
+
};
|
|
12662
|
+
const SCTJGISViewer = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f0818b3a"]]);
|
|
11220
12663
|
const components = [
|
|
11221
12664
|
{ component: SCTJDictTag, name: "SCTJDictTag" },
|
|
11222
12665
|
{ component: SCTJTreeSelect, name: "SCTJTreeSelect" },
|
|
11223
|
-
{ component: _sfc_main$
|
|
11224
|
-
{ component: _sfc_main$
|
|
12666
|
+
{ component: _sfc_main$p, name: "SCTJSelect" },
|
|
12667
|
+
{ component: _sfc_main$o, name: "SCTJCheckBox" },
|
|
11225
12668
|
{ component: SCTJTimeLineSelect, name: "SCTJTimeLineSelect" },
|
|
11226
|
-
{ component: _sfc_main$
|
|
12669
|
+
{ component: _sfc_main$w, name: "SCTJIcon" },
|
|
11227
12670
|
{ component: SCTJFileUpload, name: "SCTJFileUpload" },
|
|
11228
12671
|
{ component: SCTJImageUpload, name: "SCTJImageUpload" },
|
|
11229
12672
|
{ component: SCTJImagePreview, name: "SCTJImagePreview" },
|
|
11230
12673
|
{ component: SCTJIconSelect, name: "SCTJIconSelect" },
|
|
11231
12674
|
{ component: SCTJSearch, name: "SCTJSearch" },
|
|
11232
|
-
{ component: _sfc_main$
|
|
12675
|
+
{ component: _sfc_main$r, name: "SCTJDateRangePicker" },
|
|
11233
12676
|
{ component: SCTJTable, name: "SCTJTable" },
|
|
11234
12677
|
{ component: SCTJTableContainer, name: "SCTJTableContainer" },
|
|
11235
12678
|
{ component: SCTJTablePageContainer, name: "SCTJTablePageContainer" },
|
|
11236
12679
|
{ component: SCTJTableTopActionContainer, name: "SCTJTableTopActionContainer" },
|
|
11237
12680
|
{ component: SCTJRightToolbar, name: "SCTJRightToolbar" },
|
|
11238
|
-
{ component: _sfc_main$
|
|
11239
|
-
{ component: _sfc_main$
|
|
12681
|
+
{ component: _sfc_main$g, name: "SCTJBtnContainer" },
|
|
12682
|
+
{ component: _sfc_main$d, name: "SCTJBaseChart" },
|
|
11240
12683
|
{ component: SCTJCommonChart, name: "SCTJCommonChart" },
|
|
11241
12684
|
{ component: SCTJPieChart, name: "SCTJPieChart" },
|
|
11242
12685
|
{ component: SCTJFlvPlayer, name: "SCTJFlvPlayer" },
|
|
11243
|
-
{ component: _sfc_main$
|
|
11244
|
-
{ component: _sfc_main$
|
|
12686
|
+
{ component: _sfc_main$9, name: "SCTJIframe" },
|
|
12687
|
+
{ component: _sfc_main$8, name: "SCTJImportDialog" },
|
|
11245
12688
|
{ component: SCTJDialogTable, name: "SCTJDialogTable" },
|
|
11246
12689
|
{ component: SCTJScrollTable, name: "SCTJScrollTable" },
|
|
11247
12690
|
{ component: SCTJMapViewer, name: "SCTJMapViewer" },
|
|
@@ -11250,7 +12693,8 @@ const components = [
|
|
|
11250
12693
|
{ component: SCTJTrackPlayback, name: "SCTJTrackPlayback" },
|
|
11251
12694
|
{ component: SCTJBimViewer, name: "SCTJBimViewer" },
|
|
11252
12695
|
{ component: SCTJDwgViewer, name: "SCTJDwgViewer" },
|
|
11253
|
-
{ component: SCTJModelCompare, name: "SCTJModelCompare" }
|
|
12696
|
+
{ component: SCTJModelCompare, name: "SCTJModelCompare" },
|
|
12697
|
+
{ component: SCTJGISViewer, name: "SCTJGISViewer" }
|
|
11254
12698
|
];
|
|
11255
12699
|
const install = (app) => {
|
|
11256
12700
|
components.forEach(({ component, name }) => {
|
|
@@ -11261,28 +12705,28 @@ const index = {
|
|
|
11261
12705
|
install,
|
|
11262
12706
|
SCTJDictTag,
|
|
11263
12707
|
SCTJTreeSelect,
|
|
11264
|
-
SCTJSelect: _sfc_main$
|
|
11265
|
-
SCTJCheckBox: _sfc_main$
|
|
12708
|
+
SCTJSelect: _sfc_main$p,
|
|
12709
|
+
SCTJCheckBox: _sfc_main$o,
|
|
11266
12710
|
SCTJTimeLineSelect,
|
|
11267
|
-
SCTJIcon: _sfc_main$
|
|
12711
|
+
SCTJIcon: _sfc_main$w,
|
|
11268
12712
|
SCTJFileUpload,
|
|
11269
12713
|
SCTJImageUpload,
|
|
11270
12714
|
SCTJImagePreview,
|
|
11271
12715
|
SCTJIconSelect,
|
|
11272
12716
|
SCTJSearch,
|
|
11273
|
-
SCTJDateRangePicker: _sfc_main$
|
|
12717
|
+
SCTJDateRangePicker: _sfc_main$r,
|
|
11274
12718
|
SCTJTable,
|
|
11275
12719
|
SCTJTableContainer,
|
|
11276
12720
|
SCTJTablePageContainer,
|
|
11277
12721
|
SCTJTableTopActionContainer,
|
|
11278
12722
|
SCTJRightToolbar,
|
|
11279
|
-
SCTJBtnContainer: _sfc_main$
|
|
11280
|
-
SCTJBaseChart: _sfc_main$
|
|
12723
|
+
SCTJBtnContainer: _sfc_main$g,
|
|
12724
|
+
SCTJBaseChart: _sfc_main$d,
|
|
11281
12725
|
SCTJCommonChart,
|
|
11282
12726
|
SCTJPieChart,
|
|
11283
12727
|
SCTJFlvPlayer,
|
|
11284
|
-
SCTJIframe: _sfc_main$
|
|
11285
|
-
SCTJImportDialog: _sfc_main$
|
|
12728
|
+
SCTJIframe: _sfc_main$9,
|
|
12729
|
+
SCTJImportDialog: _sfc_main$8,
|
|
11286
12730
|
SCTJDialogTable,
|
|
11287
12731
|
SCTJScrollTable,
|
|
11288
12732
|
SCTJMapViewer,
|
|
@@ -11291,27 +12735,29 @@ const index = {
|
|
|
11291
12735
|
SCTJTrackPlayback,
|
|
11292
12736
|
SCTJBimViewer,
|
|
11293
12737
|
SCTJDwgViewer,
|
|
11294
|
-
SCTJModelCompare
|
|
12738
|
+
SCTJModelCompare,
|
|
12739
|
+
SCTJGISViewer
|
|
11295
12740
|
};
|
|
11296
12741
|
export {
|
|
11297
|
-
_sfc_main$
|
|
12742
|
+
_sfc_main$d as SCTJBaseChart,
|
|
11298
12743
|
SCTJBimViewer,
|
|
11299
|
-
_sfc_main$
|
|
12744
|
+
_sfc_main$g as SCTJBtnContainer,
|
|
11300
12745
|
SCTJBusinessMapDrawingDialog,
|
|
11301
|
-
_sfc_main$
|
|
12746
|
+
_sfc_main$o as SCTJCheckBox,
|
|
11302
12747
|
SCTJCommonChart,
|
|
11303
|
-
_sfc_main$
|
|
12748
|
+
_sfc_main$r as SCTJDateRangePicker,
|
|
11304
12749
|
SCTJDialogTable,
|
|
11305
12750
|
SCTJDictTag,
|
|
11306
12751
|
SCTJDwgViewer,
|
|
11307
12752
|
SCTJFileUpload,
|
|
11308
12753
|
SCTJFlvPlayer,
|
|
11309
|
-
|
|
12754
|
+
SCTJGISViewer,
|
|
12755
|
+
_sfc_main$w as SCTJIcon,
|
|
11310
12756
|
SCTJIconSelect,
|
|
11311
|
-
_sfc_main$
|
|
12757
|
+
_sfc_main$9 as SCTJIframe,
|
|
11312
12758
|
SCTJImagePreview,
|
|
11313
12759
|
SCTJImageUpload,
|
|
11314
|
-
_sfc_main$
|
|
12760
|
+
_sfc_main$8 as SCTJImportDialog,
|
|
11315
12761
|
SCTJMapDrawingDialog,
|
|
11316
12762
|
SCTJMapViewer,
|
|
11317
12763
|
SCTJModelCompare,
|
|
@@ -11319,7 +12765,7 @@ export {
|
|
|
11319
12765
|
SCTJRightToolbar,
|
|
11320
12766
|
SCTJScrollTable,
|
|
11321
12767
|
SCTJSearch,
|
|
11322
|
-
_sfc_main$
|
|
12768
|
+
_sfc_main$p as SCTJSelect,
|
|
11323
12769
|
SCTJTable,
|
|
11324
12770
|
SCTJTableContainer,
|
|
11325
12771
|
SCTJTablePageContainer,
|