|
@@ -48,7 +48,7 @@ import { custom } from "@/env";
|
|
|
import { getSceneModel } from "@/sdk";
|
|
|
|
|
|
import type { FuseModel } from "@/store";
|
|
|
-import { computed, ref } from "vue";
|
|
|
+import { computed, ref, watchEffect } from "vue";
|
|
|
import { currentModel, fuseModel } from "@/model";
|
|
|
|
|
|
type ModelProps = { model: FuseModel; canChange?: boolean; search?: boolean };
|
|
@@ -57,14 +57,23 @@ const props = defineProps<ModelProps>();
|
|
|
const active = computed(
|
|
|
() => custom.currentModel === props.model && currentModel.value === fuseModel
|
|
|
);
|
|
|
-const sceneModel = getSceneModel(props.model);
|
|
|
-const supportPano = ref(sceneModel?.supportPano());
|
|
|
-if (sceneModel) {
|
|
|
- sceneModel.bus.on("loadDone", () => {
|
|
|
- console.error(sceneModel.supportPano());
|
|
|
- supportPano.value = sceneModel.supportPano();
|
|
|
- });
|
|
|
-}
|
|
|
+const show = getFuseModelShowVariable(props.model);
|
|
|
+const supportPano = ref(false);
|
|
|
+watchEffect(() => {
|
|
|
+ if (!show.value) {
|
|
|
+ supportPano.value = false;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ const sceneModel = getSceneModel(props.model);
|
|
|
+ const support = sceneModel?.supportPano();
|
|
|
+ console.error("sceneModel", props.model.title, sceneModel, sceneModel?.supportPano());
|
|
|
+ supportPano.value = !!support;
|
|
|
+});
|
|
|
+// if (sceneModel) {
|
|
|
+// sceneModel.bus.on("loadDone", () => {
|
|
|
+// supportPano.value = sceneModel.supportPano();
|
|
|
+// });
|
|
|
+// }
|
|
|
|
|
|
type ModelEmits = {
|
|
|
(e: "changeSelect", selected: boolean): void;
|
|
@@ -72,8 +81,6 @@ type ModelEmits = {
|
|
|
(e: "click", mode: "pano" | "fuse"): void;
|
|
|
};
|
|
|
defineEmits<ModelEmits>();
|
|
|
-
|
|
|
-const show = getFuseModelShowVariable(props.model);
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped src="./style.scss"></style>
|