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