|
@@ -61,7 +61,7 @@
|
|
|
<template #overlay>
|
|
<template #overlay>
|
|
|
<Menu>
|
|
<Menu>
|
|
|
<MenuItem @click="visible = true">{{ $t("scene.manage") }}</MenuItem>
|
|
<MenuItem @click="visible = true">{{ $t("scene.manage") }}</MenuItem>
|
|
|
- <MenuItem @click="selectModel">{{ $t("material.name") }}</MenuItem>
|
|
|
|
|
|
|
+ <MenuItem @click="selectModel">{{ $t("fuse.localUpload") }}</MenuItem>
|
|
|
</Menu>
|
|
</Menu>
|
|
|
</template>
|
|
</template>
|
|
|
</Dropdown>
|
|
</Dropdown>
|
|
@@ -93,8 +93,8 @@ import {
|
|
|
} from "@/store";
|
|
} from "@/store";
|
|
|
|
|
|
|
|
import { fetchScenesAll, SceneType, uploadMaterialToModel, type Scene } from "@/api";
|
|
import { fetchScenesAll, SceneType, uploadMaterialToModel, type Scene } from "@/api";
|
|
|
-import { activeModel, getSceneModel } from "@/sdk";
|
|
|
|
|
-import { selectMaterials } from "@/components/materials/quisk";
|
|
|
|
|
|
|
+import { activeModel, getSceneModel, sceneModelMap } from "@/sdk";
|
|
|
|
|
+import { selectMaterials, selectMaterials1 } from "@/components/materials/quisk";
|
|
|
import { lang, ui18n } from "@/lang";
|
|
import { lang, ui18n } from "@/lang";
|
|
|
import { custom } from "@/env";
|
|
import { custom } from "@/env";
|
|
|
import { actionItems, currentItem } from "@/views/merge";
|
|
import { actionItems, currentItem } from "@/views/merge";
|
|
@@ -205,7 +205,7 @@ const addModelHandler = createLoadPack(async (attachs: any[]) => {
|
|
|
attach
|
|
attach
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
- const addPromises = items.map(item => addFuseModel(item.data, item.attach));
|
|
|
|
|
|
|
+ const addPromises = items.map(item => addFuseModel(item.data, item.attach).then(data => item.data = data));
|
|
|
|
|
|
|
|
const addModels = await Promise.all(addPromises);
|
|
const addModels = await Promise.all(addPromises);
|
|
|
await new Promise<void>((resolve) => {
|
|
await new Promise<void>((resolve) => {
|
|
@@ -222,6 +222,7 @@ const addModelHandler = createLoadPack(async (attachs: any[]) => {
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
items.forEach(item => {
|
|
items.forEach(item => {
|
|
|
|
|
+ console.error('--->', item, getSceneModel(item.data), sceneModelMap)
|
|
|
if (getSceneModel(item.data)) {
|
|
if (getSceneModel(item.data)) {
|
|
|
item.data.rotation = getSceneModel(item.data)!.getDefaultRotation();
|
|
item.data.rotation = getSceneModel(item.data)!.getDefaultRotation();
|
|
|
}
|
|
}
|
|
@@ -255,14 +256,13 @@ watch(visible, (visible, oldvisible) => {
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
const selectModel = async () => {
|
|
const selectModel = async () => {
|
|
|
- let list = await selectMaterials({
|
|
|
|
|
|
|
+ let list = await selectMaterials1({
|
|
|
uploadFormat: ["zip"],
|
|
uploadFormat: ["zip"],
|
|
|
format: ["obj", "ply", "las", "laz", "b3dm", "shp", "osgb", "glb"],
|
|
format: ["obj", "ply", "las", "laz", "b3dm", "shp", "osgb", "glb"],
|
|
|
maxSize: 2 * 1024 * 1024 * 1024,
|
|
maxSize: 2 * 1024 * 1024 * 1024,
|
|
|
});
|
|
});
|
|
|
if (!list?.length) return;
|
|
if (!list?.length) return;
|
|
|
list = list.filter(item => item.uploadId)
|
|
list = list.filter(item => item.uploadId)
|
|
|
-
|
|
|
|
|
// const modelList = await Promise.all(list.map(item => uploadMaterialToModel(item.uploadId!)))
|
|
// const modelList = await Promise.all(list.map(item => uploadMaterialToModel(item.uploadId!)))
|
|
|
const attachs: any[] = []
|
|
const attachs: any[] = []
|
|
|
for (let i = 0; i < list.length; i++) {
|
|
for (let i = 0; i < list.length; i++) {
|