From 063ee215ed403481039627734c4bc85bba4fff27 Mon Sep 17 00:00:00 2001 From: cpf <1105965053@qq.com> Date: Tue, 19 Jan 2021 10:07:55 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=AE=8C=E5=96=84]=20H5=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E6=B7=BB=E5=8A=A0=E9=81=AE=E7=BD=A9=E5=B1=82?= =?UTF-8?q?,=20=E5=B9=BF=E8=A5=BF=E7=89=88=E6=9C=ACBUG=E8=BF=81=E7=A7=BB?= =?UTF-8?q?=E4=B8=8A=E6=B5=B7=E7=89=88=E6=9C=ACH5=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/app.component.html | 5 +- src/app/app.component.scss | 12 ++ src/app/app.component.ts | 10 +- src/app/app.module.ts | 4 +- src/app/mask-layer.service.ts | 18 ++ .../collection-tools.component.html | 17 +- .../collection-tools.component.ts | 115 +++++++++---- src/app/ui/collection-tools-plan/save.ts | 7 +- .../collection-tools.component.html | 17 +- .../collection-tools.component.ts | 159 ++++++++++++------ src/app/ui/collection-tools/save.ts | 19 ++- 11 files changed, 260 insertions(+), 123 deletions(-) create mode 100644 src/app/mask-layer.service.ts diff --git a/src/app/app.component.html b/src/app/app.component.html index 90c6b64..55e8a3b 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1 +1,4 @@ - \ No newline at end of file + +
+ +
\ No newline at end of file diff --git a/src/app/app.component.scss b/src/app/app.component.scss index e69de29..6c27e1f 100644 --- a/src/app/app.component.scss +++ b/src/app/app.component.scss @@ -0,0 +1,12 @@ +.maskLayer{ + position: absolute; + left: 0; + top: 0; + z-index: 2000; + width: 100%; + height: 100%; + background: rgba(0,0,0,0.2); + display: flex; + justify-content: center; + align-items: center; +} \ No newline at end of file diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 13a5c02..254bcde 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -3,6 +3,7 @@ import { HttpClient } from '@angular/common/http' import { Data } from './interface' import { Router,ActivatedRoute } from '@angular/router' import {CacheTokenService} from './http-interceptors/cache-token.service'//引入服务 +import { MaskLayerService } from './mask-layer.service'; @@ -13,9 +14,16 @@ import {CacheTokenService} from './http-interceptors/cache-token.service'//引 }) export class AppComponent { - constructor(private http:HttpClient,private router:Router,public token:CacheTokenService) { } + constructor(private maskLayerService:MaskLayerService,private http:HttpClient,private router:Router,public token:CacheTokenService) { } + + isMaskLayerShow:boolean = false ngOnInit(): void { + + //监听遮罩层 + this.maskLayerService.getMessage().subscribe((message: any)=>{ + this.isMaskLayerShow = message + }); var token = sessionStorage.getItem("token"); var refreshToken = sessionStorage.getItem("refreshToken"); if(token && refreshToken) { diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 257e099..acf3ce5 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -21,6 +21,7 @@ import { MTokenK1Component } from './m-token-k1/m-token-k1.component' //K1秘钥 import { CountdownModule } from 'ngx-countdown'; //倒计时插件 import { GISManagementModule } from './gis-management/gis-management.module'; import { DataCollectionModule } from './data-collection/data-collection.module'; +import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; @NgModule({ declarations: [ @@ -42,7 +43,8 @@ import { DataCollectionModule } from './data-collection/data-collection.module'; HttpClientModule, CountdownModule, GISManagementModule, - DataCollectionModule + DataCollectionModule, + MatProgressSpinnerModule ], providers: [httpInterceptorProviders, CacheTokenService,TreeService], bootstrap: [AppComponent] diff --git a/src/app/mask-layer.service.ts b/src/app/mask-layer.service.ts new file mode 100644 index 0000000..c0a8988 --- /dev/null +++ b/src/app/mask-layer.service.ts @@ -0,0 +1,18 @@ +import { Injectable } from '@angular/core'; +import {ReplaySubject} from "rxjs"; +import { Observable } from "rxjs"; +@Injectable({ + providedIn: 'root' +}) +export class MaskLayerService { + private _sendMessage: ReplaySubject = new ReplaySubject(1); + /** * 向其他组件发送信息 * + * @param message 需要发送的信息 * @returns {Observavle} */ + public sendMessage(message: any) { + this._sendMessage.next(message); + } + public getMessage(): Observable { + return this._sendMessage.asObservable(); + } + constructor() { } +} diff --git a/src/app/ui/collection-tools-plan/collection-tools.component.html b/src/app/ui/collection-tools-plan/collection-tools.component.html index 7a27875..e461b35 100644 --- a/src/app/ui/collection-tools-plan/collection-tools.component.html +++ b/src/app/ui/collection-tools-plan/collection-tools.component.html @@ -7,14 +7,6 @@ - 图标大小 - - - 正常 - 放大2倍 - 放大4倍 - - @@ -35,9 +27,6 @@ 基本信息编辑 - tv @@ -269,7 +258,7 @@ -
+

厚度

-
+
@@ -444,7 +433,7 @@
- +
diff --git a/src/app/ui/collection-tools-plan/collection-tools.component.ts b/src/app/ui/collection-tools-plan/collection-tools.component.ts index 2c930c5..b776406 100644 --- a/src/app/ui/collection-tools-plan/collection-tools.component.ts +++ b/src/app/ui/collection-tools-plan/collection-tools.component.ts @@ -12,12 +12,11 @@ import Swiper from 'swiper'; import { saveOneDialogPlan } from './save'; import { NzFormatBeforeDropEvent, NzFormatEmitEvent,NzTreeComponent } from 'ng-zorro-antd/tree'; import { Observable, of } from 'rxjs'; -import { delay } from 'rxjs/operators'; -import { windows } from 'src/app/interface'; import { GameMode } from 'src/app/working-area/model/gameMode'; import { ActivatedRoute, Router } from '@angular/router'; - - +import { TabbarAndScoreService } from 'src/app/http-interceptors/tabbar-and-score.service'; +import { MaskLayerService } from 'src/app/mask-layer.service'; +import * as ObjectID from 'bson-objectid'; @Component({ selector: 'app-collection-tools-plan', @@ -28,7 +27,7 @@ export class CollectionToolsPlanComponent implements OnInit { @ViewChild('canvas',{static: true}) canvas:WorkingAreaComponent; //父组件中获得子组件的引用 - constructor(private http:HttpClient,public dialog: MatDialog,public snackBar: MatSnackBar,private element: ElementRef,public canvasData: CanvasShareDataService,private router:Router,private route:ActivatedRoute) { } + constructor(private maskLayerService:MaskLayerService,private tabbarService: TabbarAndScoreService,private http:HttpClient,public dialog: MatDialog,public snackBar: MatSnackBar,private element: ElementRef,public canvasData: CanvasShareDataService,private router:Router,private route:ActivatedRoute) { } @ViewChild('nzTreeComponent', { static: false }) nzTreeComponent!: NzTreeComponent; // tree配置 private _transformer = (node, level: number) => {//要给渲染节点传那些属性参数 @@ -667,14 +666,11 @@ export class CollectionToolsPlanComponent implements OnInit { this.canvas.on("deselect",obj=>{ this.isShowProperty = false }) - // 监听canvas组件新增素材事件 - this.canvas.on("createIcon",obj=>{ - this.renovateTreeData(false) - }) - // 监听canvas组件删除素材事件 - this.canvas.on("deleteIcon",obj=>{ + //监听数据变化后 + this.canvas.on('canvasDataChanged',()=>{ + // 收到数据表示共享数据发生变化 this.renovateTreeData(false) - }) + }); } copyAssetData:any //存储用于复制的素材 @@ -688,6 +684,7 @@ export class CollectionToolsPlanComponent implements OnInit { let buildingId = this.beforeOneCheckedBuilding.id let floorId = this.selectingSitePlan.id this.canvas.paste(companyId,buildingId,floorId) + this.renovateTreeData(false) } basicInfo:boolean = true //基本信息名称显隐 @@ -726,12 +723,13 @@ export class CollectionToolsPlanComponent implements OnInit { //保存平面图 saveNum :any = [] saveSite(){ - //更新用于统计的数据 this.canvasData.updateBuildingData() + if (this.selectingSitePlan && this.selectingSitePlan.id) { - + //打开遮罩层 + this.maskLayerService.sendMessage(true) this.saveNum = [] let SitePlanData = JSON.parse(JSON.stringify(this.canvasData.originaleveryStoreyData)); SitePlanData.data = JSON.stringify(SitePlanData.data) @@ -754,6 +752,7 @@ export class CollectionToolsPlanComponent implements OnInit { } if((new Set(adjoinArr)).size != adjoinArr.length){ + this.maskLayerService.sendMessage(false) let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 @@ -762,6 +761,7 @@ export class CollectionToolsPlanComponent implements OnInit { }else{ //如果是单位 总平面图 if(this.checkedBuildingIndex==-1){ + // console.log(111,SitePlanData) //保存平面图数据 this.http.post("/api/SitePlanData",SitePlanData,{ params:{ @@ -770,13 +770,16 @@ export class CollectionToolsPlanComponent implements OnInit { }).subscribe(data => { this.saveNum.push("1") if(this.saveNum.length == 5){ + this.maskLayerService.sendMessage(false) this.canvasData.isChange = false let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 this.snackBar.open('保存成功','确定',config); + this.tabbarService.sendMessage('changeScore'); } },err=>{ + this.maskLayerService.sendMessage(false) let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 @@ -792,13 +795,16 @@ export class CollectionToolsPlanComponent implements OnInit { }).subscribe(data => { this.saveNum.push("1") if(this.saveNum.length == 5){ + this.maskLayerService.sendMessage(false) this.canvasData.isChange = false let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 this.snackBar.open('保存成功','确定',config); + this.tabbarService.sendMessage('changeScore'); } },err=>{ + this.maskLayerService.sendMessage(false) let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 @@ -815,18 +821,25 @@ export class CollectionToolsPlanComponent implements OnInit { }).subscribe(data => { this.saveNum.push("1") if(this.saveNum.length == 5){ + this.maskLayerService.sendMessage(false) this.canvasData.isChange = false let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 this.snackBar.open('保存成功','确定',config); + this.tabbarService.sendMessage('changeScore'); } },err=>{ + this.maskLayerService.sendMessage(false) let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 this.canvasData.isChange = true - this.snackBar.open('单位毗邻保存失败','确定',config); + if(err == 'infos 有重复方向!'){ + this.snackBar.open('单位毗邻同步失败,存在相同方向','确定',config); + }else{ + this.snackBar.open('单位毗邻同步失败','确定',config); + } }) //批量保存单位重点部位 @@ -838,18 +851,21 @@ export class CollectionToolsPlanComponent implements OnInit { }).subscribe(data => { this.saveNum.push("1") if(this.saveNum.length == 5){ + this.maskLayerService.sendMessage(false) this.canvasData.isChange = false let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 this.snackBar.open('保存成功','确定',config); + this.tabbarService.sendMessage('changeScore'); } },err=>{ + this.maskLayerService.sendMessage(false) let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 this.canvasData.isChange = true - this.snackBar.open('单位重点部位保存失败','确定',config); + this.snackBar.open('单位重点部位同步失败','确定',config); }) //批量保存单位消防设施素材 @@ -861,18 +877,22 @@ export class CollectionToolsPlanComponent implements OnInit { }).subscribe(data => { this.saveNum.push("1") if(this.saveNum.length == 5){ + this.maskLayerService.sendMessage(false) + this.maskLayerService.sendMessage(false) this.canvasData.isChange = false let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 this.snackBar.open('保存成功','确定',config); + this.tabbarService.sendMessage('changeScore'); } },err=>{ + this.maskLayerService.sendMessage(false) let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 this.canvasData.isChange = true - this.snackBar.open('单位消防设施素材保存失败','确定',config); + this.snackBar.open('单位消防设施素材同步失败','确定',config); }) }else{ //如果是建筑 @@ -885,13 +905,17 @@ export class CollectionToolsPlanComponent implements OnInit { }).subscribe(data => { this.saveNum.push("1") if(this.saveNum.length == 5){ + this.maskLayerService.sendMessage(false) + this.maskLayerService.sendMessage(false) this.canvasData.isChange = false let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 this.snackBar.open('保存成功','确定',config); + this.tabbarService.sendMessage('changeScore'); } },err=>{ + this.maskLayerService.sendMessage(false) let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 @@ -907,13 +931,17 @@ export class CollectionToolsPlanComponent implements OnInit { }).subscribe(data => { this.saveNum.push("1") if(this.saveNum.length == 5){ + this.maskLayerService.sendMessage(false) this.canvasData.isChange = false + this.maskLayerService.sendMessage(false) let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 this.snackBar.open('保存成功','确定',config); + this.tabbarService.sendMessage('changeScore'); } },err=>{ + this.maskLayerService.sendMessage(false) let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 @@ -926,18 +954,25 @@ export class CollectionToolsPlanComponent implements OnInit { this.http.post(`/api/BuildingAdjoins/Batch?companyId=${this.params.companyId}&buildingId=${this.canvasData.selectStorey.buildingId}`,buildingAdjoins).subscribe(data => { this.saveNum.push("1") if(this.saveNum.length == 5){ + this.maskLayerService.sendMessage(false) this.canvasData.isChange = false let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 this.snackBar.open('保存成功','确定',config); + this.tabbarService.sendMessage('changeScore'); } },err=>{ + this.maskLayerService.sendMessage(false) let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 this.canvasData.isChange = true - this.snackBar.open('建筑毗邻保存失败','确定',config); + if(err == 'infos 有重复方向!'){ + this.snackBar.open('建筑毗邻同步失败,存在相同方向','确定',config); + }else{ + this.snackBar.open('建筑毗邻同步失败','确定',config); + } }) //批量保存建筑重点部位 @@ -945,18 +980,21 @@ export class CollectionToolsPlanComponent implements OnInit { this.http.post(`/api/BuildingImportantLocations/Batch?companyId=${this.params.companyId}&buildingId=${this.canvasData.selectStorey.buildingId}`,buildingImportantLocations).subscribe(data => { this.saveNum.push("1") if(this.saveNum.length == 5){ + this.maskLayerService.sendMessage(false) this.canvasData.isChange = false let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 this.snackBar.open('保存成功','确定',config); + this.tabbarService.sendMessage('changeScore'); } },err=>{ + this.maskLayerService.sendMessage(false) let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 this.canvasData.isChange = true - this.snackBar.open('建筑重点部位保存失败','确定',config); + this.snackBar.open('建筑重点部位同步失败','确定',config); }) //批量保存建筑消防设施素材 @@ -964,18 +1002,21 @@ export class CollectionToolsPlanComponent implements OnInit { this.http.post(`/api/BuildingFacilityAssets/Batch?companyId=${this.params.companyId}&buildingId=${this.canvasData.selectStorey.buildingId}`,buildingFacilityAssets).subscribe(data => { this.saveNum.push("1") if(this.saveNum.length == 5){ + this.maskLayerService.sendMessage(false) this.canvasData.isChange = false let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 this.snackBar.open('保存成功','确定',config); + this.tabbarService.sendMessage('changeScore'); } },err=>{ + this.maskLayerService.sendMessage(false) let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 this.canvasData.isChange = true - this.snackBar.open('建筑消防设施素材保存失败','确定',config); + this.snackBar.open('建筑消防设施素材同步失败','确定',config); }) } @@ -991,7 +1032,7 @@ export class CollectionToolsPlanComponent implements OnInit { }); dialogRef.afterClosed().subscribe(result => { - console.log('The dialog was closed'); + // console.log('The dialog was closed'); }); } @@ -1016,10 +1057,10 @@ export class CollectionToolsPlanComponent implements OnInit { //拖拽tree drop(e){ - console.log(1111,e) + // console.log(1111,e) } drop2(e){ - console.log(222,e) + // console.log(222,e) } //创建建筑 @@ -1443,7 +1484,7 @@ export class CollectionToolsPlanComponent implements OnInit { this.http.get('/api/CompanyData',{params:this.params}).subscribe((data:any)=>{ this.canvasData.originalcompanyBuildingData = data || {} // 单位原数据 this.canvasData.originalcompanyBuildingData.data? this.canvasData.originalcompanyBuildingData.data = JSON.parse(this.canvasData.originalcompanyBuildingData.data) : this.canvasData.originalcompanyBuildingData.data = {} - this.canvasData.originalcompanyBuildingData.version? null : this.canvasData.originalcompanyBuildingData.version = "2.0" + this.canvasData.originalcompanyBuildingData.version = "2.0" this.canvasData.originalcompanyBuildingData.companyId? null : this.canvasData.originalcompanyBuildingData.companyId = sessionStorage.getItem('companyId') resolve('success') }) @@ -1456,7 +1497,7 @@ export class CollectionToolsPlanComponent implements OnInit { this.http.get(`/api/SitePlanData`,{params}).subscribe((data:any)=>{ this.canvasData.originaleveryStoreyData = data || {} // 楼层原数据 this.canvasData.originaleveryStoreyData.data? this.canvasData.originaleveryStoreyData.data = JSON.parse(this.canvasData.originaleveryStoreyData.data) : this.canvasData.originaleveryStoreyData.data = {} - this.canvasData.originaleveryStoreyData.version? null : this.canvasData.originaleveryStoreyData.version = "2.0" + this.canvasData.originaleveryStoreyData.version = "2.0" this.canvasData.originaleveryStoreyData.sitePlanId? null : this.canvasData.originaleveryStoreyData.sitePlanId = e.id || null this.renovateTreeData() }) @@ -1468,7 +1509,7 @@ export class CollectionToolsPlanComponent implements OnInit { this.http.get(`/api/BuildingData`,{params:e}).subscribe((data:any)=>{ this.canvasData.originalcompanyBuildingData = data || {} // 建筑原数据 this.canvasData.originalcompanyBuildingData.data? this.canvasData.originalcompanyBuildingData.data = JSON.parse(this.canvasData.originalcompanyBuildingData.data) : this.canvasData.originalcompanyBuildingData.data = {} - this.canvasData.originalcompanyBuildingData.version? null : this.canvasData.originalcompanyBuildingData.version = "2.0" + this.canvasData.originalcompanyBuildingData.version = "2.0" this.canvasData.originalcompanyBuildingData.buildingId? null : this.canvasData.originalcompanyBuildingData.buildingId = e.buildingId resolve('success') }) @@ -1481,7 +1522,7 @@ export class CollectionToolsPlanComponent implements OnInit { this.http.get(`/api/BuildingAreaData`,{params}).subscribe((data:any)=>{ this.canvasData.originaleveryStoreyData = data || {} // 楼层原数据 this.canvasData.originaleveryStoreyData.data? this.canvasData.originaleveryStoreyData.data = JSON.parse(this.canvasData.originaleveryStoreyData.data) : this.canvasData.originaleveryStoreyData.data = {} - this.canvasData.originaleveryStoreyData.version? null : this.canvasData.originaleveryStoreyData.version = "2.0" + this.canvasData.originaleveryStoreyData.version = "2.0" this.canvasData.originaleveryStoreyData.buildingAreaId? null : this.canvasData.originaleveryStoreyData.buildingAreaId = e.id || null this.renovateTreeData() }) @@ -1489,7 +1530,6 @@ export class CollectionToolsPlanComponent implements OnInit { //点击选中 平面图 楼层/区域 时 selectSitePlan (item,index) { - if (this.selectSitePlanIndex != index) { this.canvasData.selectPanelPoint = new DisposalNodeData(); if (this.canvasData.isChange) { //true 数据被改动 @@ -1703,6 +1743,15 @@ export class CollectionToolsPlanComponent implements OnInit { //复制图层 平面图 楼层/区域 duplicateLayer (item) { + let paramsData = JSON.parse(JSON.stringify( this.canvasData.originaleveryStoreyData.data || {} )) + Object.keys(paramsData).forEach((key)=>{ + if (key != '图例') { + let ID = ObjectID.default.generate() + paramsData[key].Id = ID + paramsData[ID] = paramsData[key] + delete paramsData[key] + } + }) //图标Id重新赋值 if (this.checkedBuildingIndex==-1) { //总平面图 item.id = "" item.modifiedTime = new Date() @@ -1710,9 +1759,9 @@ export class CollectionToolsPlanComponent implements OnInit { item.order = this.sitePlanData[this.sitePlanData.length-1].order+1 this.http.post('/api/SitePlans',item).subscribe((data:any)=>{ let newData = { - version: this.canvasData.originaleveryStoreyData.version || "2.0", + version: "2.0", id: "", - data: JSON.stringify( JSON.parse(JSON.stringify(this.canvasData.originaleveryStoreyData.data)) ) || null, + data: JSON.stringify( paramsData ) || null, sitePlanId: data.id } this.http.post('/api/SitePlanData',newData,{params:this.params}).subscribe(data=>{ @@ -1727,9 +1776,9 @@ export class CollectionToolsPlanComponent implements OnInit { item.order = this.sitePlanData[this.sitePlanData.length-1].order+1 this.http.post('/api/BuildingAreas',item,{params:this.params}).subscribe((data:any)=>{ let newData = { - version: this.canvasData.originaleveryStoreyData.version || "2.0", + version: "2.0", id: "", - data: JSON.stringify( JSON.parse(JSON.stringify(this.canvasData.originaleveryStoreyData.data)) ) || null, + data: JSON.stringify( paramsData ) || null, buildingAreaId: data.id } this.http.post('/api/BuildingAreaData',newData,{params:this.params}).subscribe(data=>{ @@ -1839,7 +1888,6 @@ export class CollectionToolsPlanComponent implements OnInit { }); this.allLibrary = data this.selectImageIndex = -1 - // this.canvas.cancelPaint() }) } @@ -2024,6 +2072,7 @@ export class CollectionToolsPlanComponent implements OnInit { // 切换 基本信息时 刷新 删除 建筑楼层 自定义属性 mateDeleteCustomize () { + this.canvasData.selectPanelPointBaseData = {description: '', notes: '', weather: '', airTemperature: '', windDirection: '', windScale: ''} this.defaultExpandedKeys = [] this.sitePlanIcon = {fire:0,force:0} this.sitePlanData.forEach(element => { //楼层 diff --git a/src/app/ui/collection-tools-plan/save.ts b/src/app/ui/collection-tools-plan/save.ts index 644deab..df7489c 100644 --- a/src/app/ui/collection-tools-plan/save.ts +++ b/src/app/ui/collection-tools-plan/save.ts @@ -90,7 +90,7 @@ export class saveTwoDialogPlan { nodeItem itemChildNum = 0 //点击处置节点子数据节点的数量 clickNode(item){ - console.log(item) + // console.log(item) this.nodeItem = item this.allDisposalNodeChild.forEach(item => { if(item.id == this.nodeItem.id){ @@ -168,14 +168,14 @@ export class saveTwoDialogPlan { resolve("更新处置节点成功,将天气 节点详情等信息保存到点击的节点") }) }).then((values)=>{ - console.log(values) + // console.log(values) postdata.level = putdata.level + 1 new Promise((resolve,reject) => { this.http.post(`/api/DisposalNodes`,postdata).subscribe(data => { resolve(data) }) }).then((data:any)=>{ - console.log(7788,data) + // console.log(7788,data) let objData = { id: "", data: JSON.stringify(this.canvasData.selectPanelPoint.Data) || null, @@ -260,7 +260,6 @@ export class saveTwoDialogPlan { }) }).then((id) => { let dataNodeData - console.log("qnm",id) new Promise((resolve,reject) => { postdata.parentId = id postdata.level = dispositionNodeData.level + 1 diff --git a/src/app/ui/collection-tools/collection-tools.component.html b/src/app/ui/collection-tools/collection-tools.component.html index 63297bf..3575416 100644 --- a/src/app/ui/collection-tools/collection-tools.component.html +++ b/src/app/ui/collection-tools/collection-tools.component.html @@ -7,14 +7,6 @@ - 图标大小 - - - 正常 - 放大2倍 - 放大4倍 - - @@ -74,7 +66,6 @@ style="font-size: 23px;vertical-align:sub;color: rgb(224, 51, 51);">delete - @@ -135,7 +126,7 @@
- + @@ -269,7 +260,7 @@
-
+

厚度

-
+
@@ -444,7 +435,7 @@
- +
diff --git a/src/app/ui/collection-tools/collection-tools.component.ts b/src/app/ui/collection-tools/collection-tools.component.ts index 1466b1d..b101e13 100644 --- a/src/app/ui/collection-tools/collection-tools.component.ts +++ b/src/app/ui/collection-tools/collection-tools.component.ts @@ -12,12 +12,10 @@ import Swiper from 'swiper'; import { saveOneDialog } from './save'; import { NzFormatBeforeDropEvent, NzFormatEmitEvent,NzTreeComponent } from 'ng-zorro-antd/tree'; import { Observable, of } from 'rxjs'; -import { delay } from 'rxjs/operators'; -import { windows } from 'src/app/interface'; import { GameMode } from 'src/app/working-area/model/gameMode'; import { ActivatedRoute, Router } from '@angular/router'; - - +import { MaskLayerService } from 'src/app/mask-layer.service'; +import * as ObjectID from 'bson-objectid'; @Component({ selector: 'app-collection-tools', @@ -28,7 +26,7 @@ export class CollectionToolsComponent implements OnInit { @ViewChild('canvas',{static: true}) canvas:WorkingAreaComponent; //父组件中获得子组件的引用 - constructor(private http:HttpClient,public dialog: MatDialog,public snackBar: MatSnackBar,private element: ElementRef,public canvasData: CanvasShareDataService,private router:Router,private route:ActivatedRoute) { } + constructor(private maskLayerService:MaskLayerService,private http:HttpClient,public dialog: MatDialog,public snackBar: MatSnackBar,private element: ElementRef,public canvasData: CanvasShareDataService,private router:Router,private route:ActivatedRoute) { } @ViewChild('nzTreeComponent', { static: false }) nzTreeComponent!: NzTreeComponent; // tree配置 private _transformer = (node, level: number) => {//要给渲染节点传那些属性参数 @@ -150,9 +148,6 @@ export class CollectionToolsComponent implements OnInit { pattern:boolean = true//默认为基本信息编辑 - yyy(){ - console.log(this.canvasData.selectPanelPoint) - } //基本信息编辑模式 baseInfo(){ if (!this.pattern) { @@ -230,14 +225,13 @@ export class CollectionToolsComponent implements OnInit { targetNodeData.forEach(i => { idArr.push(i.id) }) - console.log(6666666666666,event); if(this.pos == 0 && event.node.origin.children.length == 1){ - console.log("移入,没有兄弟") + // console.log("移入,没有兄弟") let key = event.dragNode.key orders[key] = 0 parentId = event.node.key }else{ - console.log("移入,多个兄弟") + // console.log("移入,多个兄弟") let array = [] targetNodeData.forEach(item => { if(item.id != event.dragNode.key){ //将拖动项先移除掉 @@ -245,13 +239,13 @@ export class CollectionToolsComponent implements OnInit { } }) if(event.dragNode.isEnd[event.dragNode.isEnd.length - 1]){ //如果移入到最后一个 - console.log("最后") + // console.log("最后") array.push(event.dragNode.origin) }else if(event.dragNode.isStart[event.dragNode.isStart.length - 1]){//如果移入到第一个 - console.log("第一") + // console.log("第一") array.unshift(event.dragNode.origin) }else{//如果移入中间位置 - console.log("中间") + // console.log("中间") array.splice(event.node.origin.order, 0, event.dragNode.origin) } array.forEach((item,key) => { @@ -274,7 +268,7 @@ export class CollectionToolsComponent implements OnInit { }) } } - + isDrag //是否可以拖动 pos//放置位置 beforeDrop = (arg: NzFormatBeforeDropEvent) => { @@ -683,15 +677,11 @@ export class CollectionToolsComponent implements OnInit { this.canvas.on("deselect",obj=>{ this.isShowProperty = false }) - // 监听canvas组件新增素材事件 - this.canvas.on("createIcon",obj=>{ + //监听数据变化后 + this.canvas.on('canvasDataChanged',()=>{ + // 收到数据表示共享数据发生变化 this.renovateTreeData(false) - }) - // 监听canvas组件删除素材事件 - this.canvas.on("deleteIcon",obj=>{ - this.renovateTreeData(false) - }) - + }); } copyAssetData:any //存储用于复制的素材 @@ -705,6 +695,7 @@ export class CollectionToolsComponent implements OnInit { let buildingId = this.beforeOneCheckedBuilding.id let floorId = this.selectingSitePlan.id this.canvas.paste(companyId,buildingId,floorId) + this.renovateTreeData(false) } basicInfo:boolean = true //基本信息名称显隐 @@ -743,6 +734,9 @@ export class CollectionToolsComponent implements OnInit { //保存平面图 saveNum :any = [] saveSite(){ + //更新用于统计的数据 + this.canvasData.updateBuildingData() + if (this.selectingSitePlan && this.selectingSitePlan.id) { this.saveNum = [] let SitePlanData = JSON.parse(JSON.stringify(this.canvasData.originaleveryStoreyData)); @@ -754,8 +748,7 @@ export class CollectionToolsComponent implements OnInit { let adjoinArr = [] //毗邻数组 if(this.pattern){//如果是基本信息编辑模式 - //更新用于统计的数据 - this.canvasData.updateBuildingData() + this.maskLayerService.sendMessage(true) for (const key in object) { if (object[key].Name == "毗邻") {//如果是相同楼层,则筛选出毗邻 @@ -772,6 +765,7 @@ export class CollectionToolsComponent implements OnInit { config.verticalPosition = 'top'; config.duration = 3000 this.snackBar.open('保存失败,毗邻存在相同方向','确定',config); + this.maskLayerService.sendMessage(false) return false }else{ //如果是单位 总平面图 @@ -784,6 +778,7 @@ export class CollectionToolsComponent implements OnInit { }).subscribe(data => { this.saveNum.push("1") if(this.saveNum.length == 5){ + this.maskLayerService.sendMessage(false) this.canvasData.isChange = false let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; @@ -791,6 +786,7 @@ export class CollectionToolsComponent implements OnInit { this.snackBar.open('保存成功','确定',config); } },err=>{ + this.maskLayerService.sendMessage(false) let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 @@ -806,6 +802,7 @@ export class CollectionToolsComponent implements OnInit { }).subscribe(data => { this.saveNum.push("1") if(this.saveNum.length == 5){ + this.maskLayerService.sendMessage(false) this.canvasData.isChange = false let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; @@ -813,6 +810,7 @@ export class CollectionToolsComponent implements OnInit { this.snackBar.open('保存成功','确定',config); } },err=>{ + this.maskLayerService.sendMessage(false) let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 @@ -829,6 +827,7 @@ export class CollectionToolsComponent implements OnInit { }).subscribe(data => { this.saveNum.push("1") if(this.saveNum.length == 5){ + this.maskLayerService.sendMessage(false) this.canvasData.isChange = false let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; @@ -836,11 +835,16 @@ export class CollectionToolsComponent implements OnInit { this.snackBar.open('保存成功','确定',config); } },err=>{ + this.maskLayerService.sendMessage(false) let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 this.canvasData.isChange = true - this.snackBar.open('单位毗邻保存失败','确定',config); + if(err == 'infos 有重复方向!'){ + this.snackBar.open('单位毗邻同步失败,存在相同方向','确定',config); + }else{ + this.snackBar.open('单位毗邻同步失败','确定',config); + } }) //批量保存单位重点部位 @@ -852,6 +856,7 @@ export class CollectionToolsComponent implements OnInit { }).subscribe(data => { this.saveNum.push("1") if(this.saveNum.length == 5){ + this.maskLayerService.sendMessage(false) this.canvasData.isChange = false let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; @@ -859,11 +864,12 @@ export class CollectionToolsComponent implements OnInit { this.snackBar.open('保存成功','确定',config); } },err=>{ + this.maskLayerService.sendMessage(false) let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 this.canvasData.isChange = true - this.snackBar.open('单位重点部位保存失败','确定',config); + this.snackBar.open('单位重点部位同步失败','确定',config); }) //批量保存单位消防设施素材 @@ -875,6 +881,7 @@ export class CollectionToolsComponent implements OnInit { }).subscribe(data => { this.saveNum.push("1") if(this.saveNum.length == 5){ + this.maskLayerService.sendMessage(false) this.canvasData.isChange = false let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; @@ -882,11 +889,12 @@ export class CollectionToolsComponent implements OnInit { this.snackBar.open('保存成功','确定',config); } },err=>{ + this.maskLayerService.sendMessage(false) let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 this.canvasData.isChange = true - this.snackBar.open('单位消防设施素材保存失败','确定',config); + this.snackBar.open('单位消防设施素材同步失败','确定',config); }) }else{ //如果是建筑 @@ -899,6 +907,7 @@ export class CollectionToolsComponent implements OnInit { }).subscribe(data => { this.saveNum.push("1") if(this.saveNum.length == 5){ + this.maskLayerService.sendMessage(false) this.canvasData.isChange = false let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; @@ -906,6 +915,7 @@ export class CollectionToolsComponent implements OnInit { this.snackBar.open('保存成功','确定',config); } },err=>{ + this.maskLayerService.sendMessage(false) let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 @@ -921,6 +931,7 @@ export class CollectionToolsComponent implements OnInit { }).subscribe(data => { this.saveNum.push("1") if(this.saveNum.length == 5){ + this.maskLayerService.sendMessage(false) this.canvasData.isChange = false let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; @@ -928,6 +939,7 @@ export class CollectionToolsComponent implements OnInit { this.snackBar.open('保存成功','确定',config); } },err=>{ + this.maskLayerService.sendMessage(false) let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 @@ -940,6 +952,7 @@ export class CollectionToolsComponent implements OnInit { this.http.post(`/api/BuildingAdjoins/Batch?companyId=${this.params.companyId}&buildingId=${this.canvasData.selectStorey.buildingId}`,buildingAdjoins).subscribe(data => { this.saveNum.push("1") if(this.saveNum.length == 5){ + this.maskLayerService.sendMessage(false) this.canvasData.isChange = false let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; @@ -947,11 +960,16 @@ export class CollectionToolsComponent implements OnInit { this.snackBar.open('保存成功','确定',config); } },err=>{ + this.maskLayerService.sendMessage(false) let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 this.canvasData.isChange = true - this.snackBar.open('建筑毗邻保存失败','确定',config); + if(err == 'infos 有重复方向!'){ + this.snackBar.open('建筑毗邻同步失败,存在相同方向','确定',config); + }else{ + this.snackBar.open('建筑毗邻同步失败','确定',config); + } }) //批量保存建筑重点部位 @@ -959,6 +977,7 @@ export class CollectionToolsComponent implements OnInit { this.http.post(`/api/BuildingImportantLocations/Batch?companyId=${this.params.companyId}&buildingId=${this.canvasData.selectStorey.buildingId}`,buildingImportantLocations).subscribe(data => { this.saveNum.push("1") if(this.saveNum.length == 5){ + this.maskLayerService.sendMessage(false) this.canvasData.isChange = false let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; @@ -966,11 +985,12 @@ export class CollectionToolsComponent implements OnInit { this.snackBar.open('保存成功','确定',config); } },err=>{ + this.maskLayerService.sendMessage(false) let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 this.canvasData.isChange = true - this.snackBar.open('建筑重点部位保存失败','确定',config); + this.snackBar.open('建筑重点部位同步失败','确定',config); }) //批量保存建筑消防设施素材 @@ -978,6 +998,7 @@ export class CollectionToolsComponent implements OnInit { this.http.post(`/api/BuildingFacilityAssets/Batch?companyId=${this.params.companyId}&buildingId=${this.canvasData.selectStorey.buildingId}`,buildingFacilityAssets).subscribe(data => { this.saveNum.push("1") if(this.saveNum.length == 5){ + this.maskLayerService.sendMessage(false) this.canvasData.isChange = false let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; @@ -985,11 +1006,12 @@ export class CollectionToolsComponent implements OnInit { this.snackBar.open('保存成功','确定',config); } },err=>{ + this.maskLayerService.sendMessage(false) let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 this.canvasData.isChange = true - this.snackBar.open('建筑消防设施素材保存失败','确定',config); + this.snackBar.open('建筑消防设施素材同步失败','确定',config); }) } @@ -1005,7 +1027,7 @@ export class CollectionToolsComponent implements OnInit { }); dialogRef.afterClosed().subscribe(result => { - console.log('The dialog was closed'); + // console.log('The dialog was closed'); }); } @@ -1030,10 +1052,10 @@ export class CollectionToolsComponent implements OnInit { //拖拽tree drop(e){ - console.log(1111,e) + // console.log(1111,e) } drop2(e){ - console.log(222,e) + // console.log(222,e) } //创建建筑 @@ -1156,11 +1178,11 @@ export class CollectionToolsComponent implements OnInit { } storeyData //将建筑素材和当前楼层素材合二为一 - + selectPanelPoint //传过来的处置素材 //处理 tree 数据结构 - handleTreeData (storeyData) { - + handleTreeData (storeyData,selectPanelPoint) { this.storeyData = storeyData + this.selectPanelPoint = selectPanelPoint let data = this.allFireElements //所有消防要素模板 let treeData = [] //tree型 处理完成后的数据 data.forEach(element => { @@ -1192,6 +1214,30 @@ export class CollectionToolsComponent implements OnInit { } } } + if(selectPanelPoint.Data){ + for(let key in selectPanelPoint.Data.Stock){ + selectPanelPoint.Data.Stock[key].isLookPattern = true + if(element.id == selectPanelPoint.Data.Stock[key].FireElementId){ + selectPanelPoint.Data.Stock[key].isTemplate = false + selectPanelPoint.Data.Stock[key].isLook = true + + element.isNewElement = true //该节点children是否存在新添加的真实素材 标识 + + //定义查看模式下能看到的元素 + element.isLookPattern = true + if(element.parentId){ + data.forEach(i => { + if(i.id == element.parentId){ + i.isLookPattern = true + } + }) + } + // + + element.children.push(selectPanelPoint.Data.Stock[key]) + } + } + } data.forEach(item => { if (item.parentId == element.id) {element.children.push(item)} }); }); data.forEach(element => { @@ -1349,7 +1395,16 @@ export class CollectionToolsComponent implements OnInit { this.allFireElements[this.allFireElements.length-1].children.push(storeyData.data[key]) } } - this.handleTreeData(storeyData) //处理tree数据结构 + let selectPanelPoint = JSON.parse(JSON.stringify(this.canvasData.selectPanelPoint || {} )) //当前 节点 数据 + if(selectPanelPoint.Data){ + for(let key in selectPanelPoint.Data.Stock){ //筛选数据 没有匹配全部放入到 其他 数组 + let noMatch = this.allFireElements.find( every=> every.id===selectPanelPoint.Data.Stock[key].FireElementId ) + if (!noMatch) { + this.allFireElements[this.allFireElements.length-1].children.push(selectPanelPoint.Data.Stock[key]) + } + } + } + this.handleTreeData(storeyData,selectPanelPoint) //处理tree数据结构 } @@ -1456,7 +1511,7 @@ export class CollectionToolsComponent implements OnInit { this.http.get('/api/CompanyData',{params:this.params}).subscribe((data:any)=>{ this.canvasData.originalcompanyBuildingData = data || {} // 单位原数据 this.canvasData.originalcompanyBuildingData.data? this.canvasData.originalcompanyBuildingData.data = JSON.parse(this.canvasData.originalcompanyBuildingData.data) : this.canvasData.originalcompanyBuildingData.data = {} - this.canvasData.originalcompanyBuildingData.version? null : this.canvasData.originalcompanyBuildingData.version = "2.0" + this.canvasData.originalcompanyBuildingData.version = "2.0" this.canvasData.originalcompanyBuildingData.companyId? null : this.canvasData.originalcompanyBuildingData.companyId = sessionStorage.getItem('companyId') resolve('success') }) @@ -1469,7 +1524,7 @@ export class CollectionToolsComponent implements OnInit { this.http.get(`/api/SitePlanData`,{params}).subscribe((data:any)=>{ this.canvasData.originaleveryStoreyData = data || {} // 楼层原数据 this.canvasData.originaleveryStoreyData.data? this.canvasData.originaleveryStoreyData.data = JSON.parse(this.canvasData.originaleveryStoreyData.data) : this.canvasData.originaleveryStoreyData.data = {} - this.canvasData.originaleveryStoreyData.version? null : this.canvasData.originaleveryStoreyData.version = "2.0" + this.canvasData.originaleveryStoreyData.version = "2.0" this.canvasData.originaleveryStoreyData.sitePlanId? null : this.canvasData.originaleveryStoreyData.sitePlanId = e.id || null this.renovateTreeData() }) @@ -1481,7 +1536,7 @@ export class CollectionToolsComponent implements OnInit { this.http.get(`/api/BuildingData`,{params:e}).subscribe((data:any)=>{ this.canvasData.originalcompanyBuildingData = data || {} // 建筑原数据 this.canvasData.originalcompanyBuildingData.data? this.canvasData.originalcompanyBuildingData.data = JSON.parse(this.canvasData.originalcompanyBuildingData.data) : this.canvasData.originalcompanyBuildingData.data = {} - this.canvasData.originalcompanyBuildingData.version? null : this.canvasData.originalcompanyBuildingData.version = "2.0" + this.canvasData.originalcompanyBuildingData.version = "2.0" this.canvasData.originalcompanyBuildingData.buildingId? null : this.canvasData.originalcompanyBuildingData.buildingId = e.buildingId resolve('success') }) @@ -1494,7 +1549,7 @@ export class CollectionToolsComponent implements OnInit { this.http.get(`/api/BuildingAreaData`,{params}).subscribe((data:any)=>{ this.canvasData.originaleveryStoreyData = data || {} // 楼层原数据 this.canvasData.originaleveryStoreyData.data? this.canvasData.originaleveryStoreyData.data = JSON.parse(this.canvasData.originaleveryStoreyData.data) : this.canvasData.originaleveryStoreyData.data = {} - this.canvasData.originaleveryStoreyData.version? null : this.canvasData.originaleveryStoreyData.version = "2.0" + this.canvasData.originaleveryStoreyData.version = "2.0" this.canvasData.originaleveryStoreyData.buildingAreaId? null : this.canvasData.originaleveryStoreyData.buildingAreaId = e.id || null this.renovateTreeData() }) @@ -1502,7 +1557,6 @@ export class CollectionToolsComponent implements OnInit { //点击选中 平面图 楼层/区域 时 selectSitePlan (item,index) { - if (this.selectSitePlanIndex != index) { this.canvasData.selectPanelPoint = new DisposalNodeData(); if (this.canvasData.isChange) { //true 数据被改动 @@ -1716,6 +1770,15 @@ export class CollectionToolsComponent implements OnInit { //复制图层 平面图 楼层/区域 duplicateLayer (item) { + let paramsData = JSON.parse(JSON.stringify( this.canvasData.originaleveryStoreyData.data || {} )) + Object.keys(paramsData).forEach((key)=>{ + if (key != '图例') { + let ID = ObjectID.default.generate() + paramsData[key].Id = ID + paramsData[ID] = paramsData[key] + delete paramsData[key] + } + }) //图标Id重新赋值 if (this.checkedBuildingIndex==-1) { //总平面图 item.id = "" item.modifiedTime = new Date() @@ -1723,9 +1786,9 @@ export class CollectionToolsComponent implements OnInit { item.order = this.sitePlanData[this.sitePlanData.length-1].order+1 this.http.post('/api/SitePlans',item).subscribe((data:any)=>{ let newData = { - version: this.canvasData.originaleveryStoreyData.version || "2.0", + version: "2.0", id: "", - data: JSON.stringify( JSON.parse(JSON.stringify(this.canvasData.originaleveryStoreyData.data)) ) || null, + data: JSON.stringify( paramsData ) || null, sitePlanId: data.id } this.http.post('/api/SitePlanData',newData,{params:this.params}).subscribe(data=>{ @@ -1740,9 +1803,9 @@ export class CollectionToolsComponent implements OnInit { item.order = this.sitePlanData[this.sitePlanData.length-1].order+1 this.http.post('/api/BuildingAreas',item,{params:this.params}).subscribe((data:any)=>{ let newData = { - version: this.canvasData.originaleveryStoreyData.version || "2.0", + version: "2.0", id: "", - data: JSON.stringify( JSON.parse(JSON.stringify(this.canvasData.originaleveryStoreyData.data)) ) || null, + data: JSON.stringify( paramsData ) || null, buildingAreaId: data.id } this.http.post('/api/BuildingAreaData',newData,{params:this.params}).subscribe(data=>{ @@ -1852,7 +1915,6 @@ export class CollectionToolsComponent implements OnInit { }); this.allLibrary = data this.selectImageIndex = -1 - // this.canvas.cancelPaint() }) } @@ -2037,6 +2099,7 @@ export class CollectionToolsComponent implements OnInit { // 切换 基本信息时 刷新 删除 建筑楼层 自定义属性 mateDeleteCustomize () { + this.canvasData.selectPanelPointBaseData = {description: '', notes: '', weather: '', airTemperature: '', windDirection: '', windScale: ''} this.defaultExpandedKeys = [] this.sitePlanIcon = {fire:0,force:0} this.sitePlanData.forEach(element => { //楼层 diff --git a/src/app/ui/collection-tools/save.ts b/src/app/ui/collection-tools/save.ts index 69d707c..1657b66 100644 --- a/src/app/ui/collection-tools/save.ts +++ b/src/app/ui/collection-tools/save.ts @@ -3,6 +3,7 @@ import { HttpClient, HttpHeaders } from '@angular/common/http'; import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; import { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar'; import {CanvasShareDataService,DisposalNodeData} from '../../canvas-share-data.service' //引入服务 +import { MaskLayerService } from 'src/app/mask-layer.service'; // 保存想定作业第一个弹窗 @Component({ selector: 'dialog-overview-example-dialog', @@ -48,6 +49,7 @@ export class saveOneDialog { export class saveTwoDialog { constructor( + private maskLayerService:MaskLayerService, private http:HttpClient, public dialogRef: MatDialogRef, public canvasData: CanvasShareDataService, @@ -90,7 +92,7 @@ export class saveOneDialog { nodeItem itemChildNum = 0 //点击处置节点子数据节点的数量 clickNode(item){ - console.log(item) + // console.log(item) this.nodeItem = item this.allDisposalNodeChild.forEach(item => { if(item.id == this.nodeItem.id){ @@ -102,6 +104,8 @@ export class saveOneDialog { selectedBuildingData = this.data.selectedBuildingData selectedSiteData = this.data.selectedSiteData onSubmit(value,type){ + this.maskLayerService.sendMessage(true) + let name = this.selectedBuildingData.name + '-' + this.selectedSiteData.name //如果保存到已有节点 var postdata = { @@ -146,14 +150,14 @@ export class saveOneDialog { // 保存平面图数据到当前节点 let postdata =JSON.parse(JSON.stringify(this.canvasData.selectPanelPoint)) postdata.Data = JSON.stringify(postdata.Data) - postdata.DisposalNodeId = istrue.id - // console.log(111,istrue) this.http.post(`/api/DisposalNodeData`,postdata).subscribe(data => { + this.maskLayerService.sendMessage(false) const config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 this.snackBar.open('保存成功','确定',config) },err=>{ + this.maskLayerService.sendMessage(false) const config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 @@ -176,7 +180,6 @@ export class saveOneDialog { resolve(data) }) }).then((data:any)=>{ - // console.log(7788,data) let objData = { id: "", data: JSON.stringify(this.canvasData.selectPanelPoint.Data) || null, @@ -185,11 +188,13 @@ export class saveOneDialog { planComponentId: sessionStorage.getItem("planId"), } this.http.post(`/api/DisposalNodeData`,objData).subscribe(data => { + this.maskLayerService.sendMessage(false) const config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 this.snackBar.open('保存成功','确定',config) },err=>{ + this.maskLayerService.sendMessage(false) const config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 @@ -261,7 +266,6 @@ export class saveOneDialog { }) }).then((id) => { let dataNodeData - // console.log("qnm",id) new Promise((resolve,reject) => { postdata.parentId = id postdata.level = dispositionNodeData.level + 1 @@ -270,9 +274,6 @@ export class saveOneDialog { }) }).then((data:any) => { // 保存平面图数据到当前节点 - // console.log(6666,data) - // let postdata =JSON.parse(JSON.stringify(this.canvasData.selectPanelPoint)) - // postdata.Data = JSON.stringify(postdata.Data) let objData = { id: "", data: JSON.stringify(this.canvasData.selectPanelPoint.Data) || null, @@ -282,12 +283,14 @@ export class saveOneDialog { } this.http.post(`/api/DisposalNodeData`,objData).subscribe(data => { + this.maskLayerService.sendMessage(false) const config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 this.snackBar.open('保存成功','确定',config) },err=>{ + this.maskLayerService.sendMessage(false) const config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000