bill 5 mēneši atpakaļ
vecāks
revīzija
f0cc1dc73f
2 mainītis faili ar 5 papildinājumiem un 3 dzēšanām
  1. 2 0
      src/sdk/sdk.ts
  2. 3 3
      src/views/merge/index.vue

+ 2 - 0
src/sdk/sdk.ts

@@ -20,6 +20,7 @@ import {
   AnimationModelPath,
   TaggingPositionType,
 } from "@/api";
+import { Pos } from "@/components/drawing/dec";
 export enum SettingResourceType {
   map = "map",
   color = "color",
@@ -45,6 +46,7 @@ export type SceneModel = ToChangeAPI<SceneModelAttrs> & {
     }
   >;
   destroy: () => void;
+  moveModelTo: (mouse: {x: number, y: number}, pos?: Pos) => void
   enterScaleMode: () => void;
   enterRotateMode: () => void;
   enterMoveMode: () => void;

+ 3 - 3
src/views/merge/index.vue

@@ -54,7 +54,7 @@ import { RoutesName, router } from "@/router";
 import { RightPano } from "@/layout";
 import { autoSaveFuseModels, defaultFuseModelAttrs, isOld } from "@/store";
 import { togetherCallback } from "@/utils";
-import { sdk, getSceneModel, modelRange } from "@/sdk";
+import { sdk, getSceneModel, modelRange, getFuseModel } from "@/sdk";
 import { useViewStack, useActive } from "@/hook";
 import {
   showLeftPanoStack,
@@ -166,13 +166,13 @@ useViewStack(() =>
       (ev) => {
         const pixel = getOffset(ev);
         const pos = sdk.getPositionByScreen(pixel);
-        if (custom.currentModel && pos && custom.currentModel.id !== pos.modelId) {
+        if (custom.currentModel) {
           useRMenus(pixel, [
             {
               label: "移动到这里",
               icon: "close",
               handler() {
-                custom.currentModel!.position = pos.worldPos;
+                getSceneModel(custom.currentModel!)?.moveModelTo(pixel, pos?.worldPos);
               },
             },
           ]);