1
0
xushiting 2 місяців тому
батько
коміт
3fe7fe99c3

+ 8 - 0
src/view/case/draw/board/editCAD/Controls/MoveWall.js

@@ -1133,6 +1133,14 @@ export default class MoveWall {
         wallService.subtraWallFromIntersect(wall.end, wallId)
         floorplanService.deleteWall(wallId)
     }
+
+    clear(){
+        this.needUpdateRoom = false
+        this.startMoving = false
+        this.moveFlag = false
+        this.adsorbPointWalls = {}
+        this.splitWallId = null
+    }
 }
 
 const moveWall = new MoveWall()

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

@@ -11,7 +11,6 @@ import { wallService } from "../Service/WallService.js";
 import { tagService } from "../Service/TagService.js";
 import { tableService } from "../Service/TableService.js";
 import Constant from "../Constant";
-import { addWall } from "../Controls/AddWall";
 import { floorplanData } from "../FloorplanData.js";
 import { signService } from "../Service/SignService.js";
 import { customImageService } from "../Service/CustomImageService.js";
@@ -20,6 +19,13 @@ import { history } from "../History/History.js";
 import { iconService } from "../Service/IconService.js";
 import { bgImageService } from "../Service/BgImageService.js";
 
+import { addArrow } from "./AddArrow";
+import { addCircle } from "./AddCircle";
+import { addIcon } from "./AddIcon";
+import { addRectangle } from "./AddRectangle";
+import { addWall } from "./AddWall";
+import { moveWall } from "./MoveWall";
+
 export default class UIControl {
   constructor(layer) {
     this.layer = layer;
@@ -560,5 +566,21 @@ export default class UIControl {
     table.setValue(value);
     this.layer.renderer.autoRedraw();
   }
+
+  reSet(){
+    addArrow.clear();
+    addCircle.clear();
+    addIcon.clear();
+    addRectangle.clear();
+    addWall.clear();
+    moveWall.clear();
+    elementService.clear();
+    floorplanService.clear2();
+    historyService.clear();
+    iconService.clear();
+    signService.clear();
+    stateService.clear();
+    coordinate.clear2();
+  }
   /******************************************************************************************************************************************************************/
 }

+ 14 - 0
src/view/case/draw/board/editCAD/Coordinate.js

@@ -127,6 +127,20 @@ export default class Coordinate {
         this.res = 100
         this.ratio = 1
     }
+
+    clear2(){
+        this.center = {
+            x:0,
+            y:0
+        } 
+        this.zoom = 100 
+        this.res = 100 
+        this.ratio = 1
+
+        this.initRes = null
+        this.initWidth = null
+        this.initHeight = null
+    }
 }
 
 const coordinate = new Coordinate()

+ 26 - 1
src/view/case/draw/board/editCAD/Layer.js

@@ -38,6 +38,7 @@ import { iconService } from "./Service/IconService";
 import { customImageService } from "./Service/CustomImageService.js";
 import { moveCustomImage } from "./Controls/MoveCustomImage.js";
 import { moveBgImage } from "./Controls/MoveBgImage.js";
+import { rectangleService } from "./Service/RectangleService.js";
 
 export default class Layer {
   constructor() {
@@ -970,7 +971,31 @@ export default class Layer {
 
   stopAddVector() {
     let eventName = stateService.getEventName();
-    if (eventName != LayerEvents.AddingWall) {
+    if(eventName == LayerEvents.AddingRectangle){
+      floorplanService.deleteRectangle(addRectangle.currentVectorId);
+      stateService.clearEventName();
+      addRectangle.clear();
+      history.save();
+    }
+    else if(eventName == LayerEvents.AddingArrow){
+      floorplanService.deleteArrow(addArrow.currentVectorId);
+      stateService.clearEventName();
+      addArrow.clear();
+      history.save();
+    }
+    else if(eventName == LayerEvents.AddingCircle){
+      floorplanService.deleteCircle(addCircle.currentVectorId);
+      stateService.clearEventName();
+      addCircle.clear();
+      history.save();
+    }
+    else if(eventName == LayerEvents.AddingIcon){
+      floorplanService.deleteIcon(addIcon.currentVectorId);
+      stateService.clearEventName();
+      addIcon.clear();
+      history.save();
+    }
+    else if (eventName != LayerEvents.AddingWall) {
       stateService.clearEventName();
       const draggingItem = stateService.getDraggingItem();
       if (eventName == LayerEvents.AddTag) {

+ 15 - 0
src/view/case/draw/board/editCAD/Service/ElementService.js

@@ -211,6 +211,21 @@ export class ElementService {
         }
         return newPosition
     }
+
+    clear(){
+        this.startAddWall = null
+        this.newWall = null
+        this.checkLines = {
+            X: null,
+            Y: null,
+        }
+
+        this.vCheckLines = {
+            X: null,
+            Y: null,
+        }
+        this.init()
+    }
 }
 
 const elementService = new ElementService()

+ 6 - 0
src/view/case/draw/board/editCAD/Service/FloorplanService.js

@@ -447,6 +447,12 @@ export class FloorplanService {
         }
     }
 
+    clear2(){
+        this.currentId = 0 
+        this.currentFloor = 0 
+        this.angle = 0 
+    }
+
     deleteFloorData() {
         floorplanData.floors = []
     }

+ 11 - 0
src/view/case/draw/board/editCAD/Service/HistoryService.js

@@ -68,6 +68,17 @@ export class HistoryService {
     hasRecords() {
         return this.history.records.length > 0
     }
+
+    clear(){
+        this.history = {
+            records: [],
+            currentRecordIndex: -1,
+            state: {
+                pre: 0,
+                next: 0,
+            },
+        }
+    }
 }
 
 const historyService = new HistoryService()

+ 4 - 0
src/view/case/draw/board/editCAD/Service/IconService.js

@@ -70,6 +70,10 @@ export default class IconService {
         this.values.splice(index,1)
         floorplanService.deleteIcon(iconId, floorNum)
     }
+
+    clear(){
+        this.values = [];
+    }
 }
 
 const iconService = new IconService()

+ 4 - 0
src/view/case/draw/board/editCAD/Service/SignService.js

@@ -80,6 +80,10 @@ export default class SignService {
     getSign(name) {
         return this.signs[name]
     }
+
+    clear(){
+        this.signs = null
+    }
 }
 
 const signService = new SignService()

+ 8 - 0
src/view/case/draw/board/editCAD/Service/StateService.js

@@ -112,6 +112,14 @@ export default class StateService {
         this.focusItem = null
         this.draggingItem = null
     }
+
+    clear(){
+        this.eventName = null
+        this.selectItem = null
+        this.focusItem = null
+        this.draggingItem = null
+    }
+    
 }
 
 const stateService = new StateService()