YaolongHan před 4 roky
rodič
revize
199b22e127

+ 3 - 1
src/components/baseEditer.vue

@@ -12,6 +12,7 @@ import { SFloorParser } from "@saga-web/big";
 import { DirectRelationItem } from "@saga-web/topology/lib/items/DirectRelationItem.js";
 import { SGraphyView, SGraphyScene } from "@saga-web/graphy/lib";
 import { SPolygonItem } from "./mapClass/SPolygonItem";
+import {FloorView} from "./../lib/FloorView"
 export default {
   data() {
     return {
@@ -70,7 +71,8 @@ export default {
           { X: -138.71000000089407, Y: -25.5 }
         ]
       };
-      const Polylines = new SPolygonItem(null);
+      const Polylines = new SPolygonItem(null,data);
+      Polylines.setStatus =1;
       this.scene.addItem(Polylines);
       this.scene.grabItem = Polylines;
     },

+ 33 - 23
src/components/mapClass/SPolygonItem.ts

@@ -52,7 +52,14 @@ export class SPolygonItem extends SGraphyItem {
     closeFlag: boolean = false;
     // 当前状态 1:show 2 创建中,3 编辑中
     _status: number = 2;
-    zOrder: number = 1000;
+    /** 显示高度 */
+    zOrder: number = 100;
+    /** 边框颜色 */
+    borderColor: SColor = new SColor("#0091FF");
+    /** 填充颜色 */
+    brushColor: SColor = new SColor("#1EE887");
+    /** border宽 只可输入像素宽*/
+    borderLine: number = 4;
     /** 鼠标移动点  */
     private lastPoint = new SPoint();
     constructor(parent: SGraphyItem | null, data: PolygonData | null) {
@@ -177,26 +184,19 @@ export class SPolygonItem extends SGraphyItem {
    * 构造函数  闭合多边形
    *
    */
-    _closePolygon(painter: SPainter, pointList: SPoint[], closeFlag: boolean = false) {
-        this._status = 1;
+    _showPolygon(painter: SPainter, pointList: SPoint[]) {
         painter.pen.lineCapStyle = SLineCapStyle.Square;
-        painter.pen.color = new SColor("#0091FF");
-        painter.pen.lineWidth = painter.toPx(4);
-        painter.drawPolyline(this.pointList);
-        // 是否闭合
-        if (closeFlag) {
-            painter.drawLine(
-                pointList[this.pointList.length - 1],
-                pointList[0]
-            );
-        }
+        painter.pen.color = this.borderColor;
+        painter.pen.lineWidth = painter.toPx(this.borderLine);
+        painter.brush.color = this.brushColor;
+        painter.drawPolygon([...this.pointList]);
     }
 
     /**
  * 构造函数  创建多边形
  *
  */
-    createPolygon(painter: SPainter, pointList: SPoint[], closeFlag: boolean = false) {
+    _createPolygon(painter: SPainter, pointList: SPoint[]) {
         painter.pen.lineCapStyle = SLineCapStyle.Square;
         painter.pen.color = new SColor("#0091FF");
         painter.pen.lineWidth = painter.toPx(4);
@@ -211,6 +211,18 @@ export class SPolygonItem extends SGraphyItem {
         painter.pen.lineWidth = painter.toPx(4);
         painter.drawPolygon([...this.pointList, this.lastPoint]);
     }
+
+
+    /**
+* 构造函数  创建多边形
+*
+*/
+    _editPolygon(painter: SPainter, pointList: SPoint[],point:SPoint) {
+        // 展示多边形
+        this._showPolygon(painter, pointList);
+        // 绘制顶点块
+
+    }
     ////////////以下为鼠标事件
 
     /**
@@ -231,7 +243,10 @@ export class SPolygonItem extends SGraphyItem {
  * @return	boolean
  */
     onKeyDown(event: KeyboardEvent): boolean {
-        console.log(event)
+        if (this._status == 2 && event.code == 'Enter') {
+            this._status = 1
+        }
+        this.update()
         return true;
     } // Function onKeyDown()
     /**
@@ -289,21 +304,16 @@ export class SPolygonItem extends SGraphyItem {
 * @param   painter       painter对象
 */
     onDraw(painter: SPainter): void {
-        painter.pen.lineCapStyle = SLineCapStyle.Square;
-        painter.pen.color = SColor.Transparent;
-        painter.pen.lineWidth = painter.toPx(4);
-        painter.brush.color = new SColor("#1EE887")
         // 当状态为展示状态
         if (this._status == 1) {
-            painter.drawPolygon(this.pointList);
             // 闭合多边形
+            this._showPolygon(painter, this.pointList);
         } else if (this._status == 2) {
             // 创建状态
-            // this._closePolygon(painter, this.pointList, this.closeFlag);
-            this.createPolygon(painter, this.pointList)
+            this._createPolygon(painter, this.pointList)
         } else {
             // 编辑状态
-            //   this._closePolygon(painter, this.pointList);
+            this._editPolygon(painter, this.pointList);
         }
     } // Function onDraw()
 }

+ 0 - 4
src/views/editer.vue

@@ -33,9 +33,6 @@ export default {
     baseEditer,
     leftToolbar,
     topToolbar,
-<<<<<<< HEAD
-    rightToolbar,
-=======
     rightToolbar
   },
   methods: {
@@ -43,7 +40,6 @@ export default {
     toolActionClick(name) {
       this.$refs.graphy.changeStatus(name)
     }
->>>>>>> 9e08c5696c383758a7d672fa45f61fa79ac19708
   }
 };
 </script>