xushiting 1 年之前
父節點
當前提交
63c207ed0d

+ 6 - 1
src/view/case/draw/board/editCAD/Controls/UIControl.js

@@ -138,7 +138,12 @@ export default class UIControl {
             await floorplanService.updateBgImage(value);
         }
         else if(type == VectorType.Compass){
-            floorplanService.updateCompass(value);
+          if(value.hasOwnProperty('version')){
+            floorplanService.updateCompass(value.rotate)
+          }
+          else{
+            floorplanService.updateCompass(value)
+          }
         }
         else if(type == VectorType.CustomImage){
           const customImage = floorplanService.getCustomImage(item.vectorId)

+ 13 - 5
src/view/case/draw/board/editCAD/Load.js

@@ -46,17 +46,22 @@ export default class Load {
             }
 
             for (let key in floor.walls) {
-                wallService.createWall(floor.walls[key].start, floor.walls[key].end, floor.walls[key].vectorId, i)
+                let wall = wallService.createWall(floor.walls[key].start, floor.walls[key].end, floor.walls[key].vectorId, i)
+                floor.walls[key].color && wall.setColor(floor.walls[key].color)
             }
 
             for (let key in floor.tags) {
                 let tag = tagService.createTag(floor.tags[key].center, floor.tags[key].vectorId, i)
                 tag.setValue(floor.tags[key].value)
+                floor.tags[key].color && tag.setColor(floor.tags[key].color)
+                floor.tags[key].fontSize && tag.setColor(floor.tags[key].fontSize)
             }
 
             for (let key in floor.customImages) {
-                let customImage = customImageService.createCustomImage(floor.customImages[key].center, floor.customImages[key].vectorId)
+                let customImage = await customImageService.createCustomImage(floor.customImages[key].center, floor.customImages[key].vectorId)
                 customImage.setUrl(floor.customImages[key].url)
+                customImage.setAngle(floor.customImages[key].angle)
+                customImage.setScale(floor.customImages[key].scale)
             }
 
             for (let key in floor.tables) {
@@ -77,15 +82,18 @@ export default class Load {
             }
 
             for (let key in floor.rectangles) {
-                rectangleService.createRectangle(floor.rectangles[key].points[0], floor.rectangles[key].points[2], floor.rectangles[key].vectorId,i)
+                let rectangle = rectangleService.createRectangle(floor.rectangles[key].points[0], floor.rectangles[key].points[2], floor.rectangles[key].vectorId,i)
+                floor.rectangles[key].color && rectangle.setColor(floor.rectangles[key].color)
             }
 
             for (let key in floor.circles) {
-                circleService.createCircle2(floor.circles[key].center, floor.circles[key].radius, floor.circles[key].vectorId,i)
+                let circle =  circleService.createCircle2(floor.circles[key].center, floor.circles[key].radius, floor.circles[key].vectorId,i)
+                floor.circles[key].color && circle.setColor(floor.circles[key].color)
             }
 
             for (let key in floor.arrows) {
-                arrowService.createArrow(floor.arrows[key].startPoint,floor.arrows[key].endPoint,floor.arrows[key].vectorId,i)
+                let arrow = arrowService.createArrow(floor.arrows[key].startPoint,floor.arrows[key].endPoint,floor.arrows[key].vectorId,i)
+                floor.arrows[key].color && arrow.setColor(floor.arrows[key].color)
             }
 
             for (let key in floor.icons) {

+ 22 - 11
src/view/case/draw/board/editCAD/Renderer/Draw.js

@@ -25,10 +25,18 @@ export default class Draw {
         this.context.clearRect(0, 0, this.context.canvas.width, this.context.canvas.height)
     }
 
+    // drawBackGround(color) {
+    //     this.context.save()
+    //     this.context.fillStyle = color
+    //     this.context.fillRect(0, 0, this.context.canvas.width, this.context.canvas.height)
+    //     this.context.restore()
+    // }
+
     drawBackGround(color) {
         this.context.save()
-        this.context.fillStyle = color
-        this.context.fillRect(0, 0, this.context.canvas.width, this.context.canvas.height)
+        this.context.strokeStyle = 'black';
+        const ratio =  this.context.canvas.width/297 ;
+        this.context.strokeRect(ratio * 20, ratio * 20,this.context.canvas.width - 2*ratio * 20,this.context.canvas.height - 2*ratio * 20)
         this.context.restore()
     }
 
@@ -945,16 +953,10 @@ export default class Draw {
         }
 
         this.context.translate(geometry.center.x,geometry.center.y)
+
+        this.context.translate(17, 30)
         this.context.rotate((geometry.angle)/180 * Math.PI)
-        if(geometry.angle == 90){
-            this.context.translate( 32/2,  -52)
-        }
-        else if(geometry.angle == 180){
-            this.context.translate( -32,  -52)
-        }
-        else if(geometry.angle == 270){
-            this.context.translate( -52,  -32/2)
-        }
+        //this.context.translate(18,26)
         this.context.lineWidth = 1
         this.context.miterLimit=4;
         this.context.font="15px ''";
@@ -1032,6 +1034,15 @@ export default class Draw {
         this.context.closePath();
         this.context.fill();
         this.context.stroke();
+        
+        this.context.translate(-17, -30)
+        this.context.restore();
+
+        this.context.save();
+        this.context.beginPath()
+        this.context.arc(geometry.center.x+17,geometry.center.y+30, 2, 0, Math.PI * 2, true)
+        this.context.stroke()
+        this.context.fill()
         this.context.restore();
     }
 

+ 1 - 38
src/view/case/draw/board/editCAD/Renderer/Render.js

@@ -199,6 +199,7 @@ export default class Render {
             this.drawGeometry(customImages[key])
         }
         
+        draw.drawBackGround()
         this.redrawElements()
     }
 
@@ -234,44 +235,6 @@ export default class Render {
         //this.redrawElements()
     }
 
-    //下载图片
-    //style表示风格
-    autoRedrawForDownLoadImg(styleType) {
-        draw.clear()
-
-        if (styleType == 'style-1') {
-            draw.drawBackGround('rgba(255,255,255,1)')
-            this.redrawRooms(floorplanService.getCurrentFloor())
-        } else if (styleType == 'style-2') {
-            draw.drawBackGround('rgba(0,0,0,1)')
-            this.redrawRooms(floorplanService.getCurrentFloor())
-        } else if (styleType == 'style-3') {
-            draw.drawBackGround('rgba(255,255,255,1)')
-        } else if (styleType == 'style-4') {
-            draw.drawBackGround('rgba(0,0,0,1)')
-        }
-
-        let data = floorplanService.getFloorData()
-        if (!data) {
-            return
-        }
-        let walls = data.walls
-        for (let key in walls) {
-            this.drawGeometry(walls[key], styleType)
-        }
-
-        let signs = data.signs
-        for (let key in signs) {
-            this.drawGeometry(signs[key])
-        }
-        let tags = data.tags
-        for (let key in tags) {
-            this.drawGeometry(tags[key], styleType)
-        }
-
-        draw.drawCompass(styleType)
-    }
-
     redrawCore() {
         console.log('重绘!')
         draw.clear()