소스 검색

修复坐标更改bug

haojianlong 4 년 전
부모
커밋
77e3292680
5개의 변경된 파일54개의 추가작업 그리고 41개의 파일을 삭제
  1. 25 15
      package-lock.json
  2. 4 4
      package.json
  3. 15 15
      src/components/baseEditer.vue
  4. 4 4
      src/components/edit/right_toolbar.vue
  5. 6 3
      src/components/mapClass/EditScence.ts

+ 25 - 15
package-lock.json

@@ -1059,24 +1059,24 @@
       "dev": true
     },
     "@saga-web/base": {
-      "version": "2.1.16",
-      "resolved": "http://192.168.200.80:8081/repository/npm-saga/@saga-web/base/-/base-2.1.16.tgz",
-      "integrity": "sha512-gnItoKBjjv+kbcDfnY8f9EMMVPRJgXXgebdSEj2NTsNmygpdsjQBaqQ6AfDUYzRaWwP53sdmFHeidOCYcqg0RA=="
+      "version": "2.1.19",
+      "resolved": "http://192.168.200.80:8081/repository/npm-saga/@saga-web/base/-/base-2.1.19.tgz",
+      "integrity": "sha512-bsOw0WsGSn98oYkuf9Uah6Po2Ds7IWknxHqUmYxu7h8qaqw7SidWmT/9iwNTCnjeqJEd5f6tP+Yg4tT/8C52YA=="
     },
     "@saga-web/big": {
-      "version": "1.0.36",
-      "resolved": "http://192.168.200.80:8081/repository/npm-saga/@saga-web/big/-/big-1.0.36.tgz",
-      "integrity": "sha512-8rbW+NtK0p74P938LBdXG4yr5JR4EJd0tI98bwk/No1xYFT1EoAAMXCTcpCRpifU76GH5fnunIr8adns+F7dAQ==",
+      "version": "1.0.37",
+      "resolved": "http://192.168.200.80:8081/repository/npm-saga/@saga-web/big/-/big-1.0.37.tgz",
+      "integrity": "sha512-Se0SqHIUr98Bj4j3CTGsIVixDlnUDYlytaIRVczsOr2Z6yxWqnnxlKNHv+RIGcoF6hirqnkJrEblyC0FQBW0ZQ==",
       "requires": {
-        "@saga-web/graph": "2.1.79"
+        "@saga-web/graph": "2.1.80"
       }
     },
     "@saga-web/draw": {
-      "version": "2.1.90",
-      "resolved": "http://192.168.200.80:8081/repository/npm-saga/@saga-web/draw/-/draw-2.1.90.tgz",
-      "integrity": "sha512-KFICPt9qULAqQbMVXzdKAm/1iIUu0yA7qhJIzzmHrHfyRvofZAu/LVPBIOfNakrmZXkY5g+Bl3z0WboP6b1igg==",
+      "version": "2.1.94",
+      "resolved": "http://192.168.200.80:8081/repository/npm-saga/@saga-web/draw/-/draw-2.1.94.tgz",
+      "integrity": "sha512-niu1zEvTv4l3Gnx+Qv7LPjgaPAgKQIIjUGM0H2nyvfJlRZb96LVJSum77cGJunhTl7ak6opg28JWCUUCKW/qRw==",
       "requires": {
-        "@saga-web/base": "^2.1.16"
+        "@saga-web/base": "^2.1.19"
       }
     },
     "@saga-web/feng-map": {
@@ -1101,16 +1101,26 @@
           "integrity": "sha512-pnNMSY+zy2QuHsMaSTdJs0qVcyuq6yToCGYhpKrLQF4tCcjuaLnAnhvbUHm9Tv8XlWAGGtO8BlXDwOoHK0vxYA==",
           "requires": {
             "@saga-web/draw": "2.1.90"
+          },
+          "dependencies": {
+            "@saga-web/draw": {
+              "version": "2.1.90",
+              "resolved": "http://192.168.200.80:8081/repository/npm-saga/@saga-web/draw/-/draw-2.1.90.tgz",
+              "integrity": "sha512-KFICPt9qULAqQbMVXzdKAm/1iIUu0yA7qhJIzzmHrHfyRvofZAu/LVPBIOfNakrmZXkY5g+Bl3z0WboP6b1igg==",
+              "requires": {
+                "@saga-web/base": "^2.1.16"
+              }
+            }
           }
         }
       }
     },
     "@saga-web/graph": {
-      "version": "2.1.79",
-      "resolved": "http://192.168.200.80:8081/repository/npm-saga/@saga-web/graph/-/graph-2.1.79.tgz",
-      "integrity": "sha512-rrMrpg/jrohxvOlQZb8dHchBx329h0f6gWVWctWFEpurZ/aerJ2Ey/EkTXupmUkBIaf+jcpyAGTmnj7os2SmKg==",
+      "version": "2.1.80",
+      "resolved": "http://192.168.200.80:8081/repository/npm-saga/@saga-web/graph/-/graph-2.1.80.tgz",
+      "integrity": "sha512-9zx4XC6qxMG+jfsdtdCD7dv+vg7lCbsV/ekOl/Vsdpa0VHpcSQBL9S69f2qunrR1YCTUSlMgh6TBvLjDUHko6g==",
       "requires": {
-        "@saga-web/draw": "2.1.90"
+        "@saga-web/draw": "2.1.94"
       }
     },
     "@saga-web/graphy": {

+ 4 - 4
package.json

@@ -8,11 +8,11 @@
     "lint": "vue-cli-service lint"
   },
   "dependencies": {
-    "@saga-web/base": "2.1.16",
-    "@saga-web/big": "1.0.36",
-    "@saga-web/draw": "2.1.90",
+    "@saga-web/base": "2.1.19",
+    "@saga-web/big": "1.0.37",
+    "@saga-web/draw": "2.1.94",
     "@saga-web/feng-map": "1.0.8",
-    "@saga-web/graph": "2.1.79",
+    "@saga-web/graph": "2.1.80",
     "@saga-web/topology": "1.0.84",
     "ant-design-vue": "^1.6.0",
     "core-js": "^3.6.4",

+ 15 - 15
src/components/baseEditer.vue

@@ -59,23 +59,23 @@ export default {
         this.appName,
         null
       );
-      this.fmap.parseData("1001724_29", 6, res => {
-        this.fParser = new SFloorParser(null);
-        this.fParser.parseData(res);
-        this.fParser.wallList.forEach(t => this.scene.addItem(t));
-        this.fParser.virtualWallList.forEach(t => this.scene.addItem(t));
-        this.fParser.doorList.forEach(t => this.scene.addItem(t));
-        this.fParser.columnList.forEach(t => this.scene.addItem(t));
-        this.fParser.casementList.forEach(t => this.scene.addItem(t));
-        this.fParser.spaceList.forEach(t => {
-          t.selectable = true;
-          // t.connect("click", this, this.spaceClick);
-          this.scene.addItem(t);
-        });
+      // this.fmap.parseData("1001724_29", 6, res => {
+      //   this.fParser = new SFloorParser(null);
+      //   this.fParser.parseData(res);
+      //   this.fParser.wallList.forEach(t => this.scene.addItem(t));
+      //   this.fParser.virtualWallList.forEach(t => this.scene.addItem(t));
+      //   this.fParser.doorList.forEach(t => this.scene.addItem(t));
+      //   this.fParser.columnList.forEach(t => this.scene.addItem(t));
+      //   this.fParser.casementList.forEach(t => this.scene.addItem(t));
+      //   this.fParser.spaceList.forEach(t => {
+      //     t.selectable = true;
+      //     // t.connect("click", this, this.spaceClick);
+      //     this.scene.addItem(t);
+      //   });
         this.view.scene = this.scene;
         this.view.fitSceneToView();
         // this.$loading.close(loadings)
-      });
+      // });
       this.scene.emitChange = this.emitChange;
     },
     // 监听变化
@@ -117,7 +117,7 @@ export default {
         this.scene.updatedHeight(Number(val));
       });
       bus.$on("itemPositon", (x, y) => {
-        this.scene.updatedPosition(Number(x, y));
+        this.scene.updatedPosition(Number(x),Number(y));
       });
       bus.$on("changebackColor", val => {
         this.scene.updatedbackColor(val);

+ 4 - 4
src/components/edit/right_toolbar.vue

@@ -203,14 +203,14 @@ export default {
           const Item = newVal.itemList[0];
           if (item.name == "X") {
             item.msg = Item.mapToScene(
-              Item.pos.x + Item.boundingRect().x,
-              Item.pos.y + Item.boundingRect().y
+              Item.boundingRect().left,
+              Item.boundingRect().top
             ).x;
           }
           if (item.name == "Y") {
             item.msg = Item.mapToScene(
-              Item.pos.x + Item.boundingRect().x,
-              Item.pos.y + Item.boundingRect().y
+              Item.boundingRect().left,
+              Item.boundingRect().top
             ).y;
           }
           if (item.name == "Width") {

+ 6 - 3
src/components/mapClass/EditScence.ts

@@ -1,5 +1,5 @@
 import { SMouseEvent, SUndoStack } from "@saga-web/base";
-import { SGraphScene,SGraphLayoutType } from '@saga-web/graph/lib';
+import { SGraphScene, SGraphLayoutType } from '@saga-web/graph/lib';
 import { SFloorParser, SLineItem, SPolylineItem, SItemStatus, ItemOrder } from "@saga-web/big";
 import { SGraphItem, SImageItem, STextItem, SGraphPointListInsert, SGraphPointListDelete, SGraphPointListUpdate, SGraphAddCommand } from "@saga-web/graph/lib";
 import { SPolygonItem } from "./SPolygonItem";
@@ -277,8 +277,11 @@ export class EditScence extends SGraphScene {
      */
     updatedPosition(x: number, y: number): void {
         if (this.focusItem) {
-            this.focusItem.x = x;
-            this.focusItem.y = y;
+            let p = this.focusItem.mapFromScene(x, y)
+            // newx - oldx = newleft - oldleft
+            // 要求的值(新的x坐标) - 旧的x坐标 = 新的左边界(用户输入的值) - 旧的左边界
+            this.focusItem.x = p.x - this.focusItem.boundingRect().left + this.focusItem.x;
+            this.focusItem.y = p.y - this.focusItem.boundingRect().top + this.focusItem.y;
         }
     }