diff --git a/src/app/ui/collection-tools/collection-tools.component.html b/src/app/ui/collection-tools/collection-tools.component.html index 01bdf23..8faba74 100644 --- a/src/app/ui/collection-tools/collection-tools.component.html +++ b/src/app/ui/collection-tools/collection-tools.component.html @@ -1,5 +1,4 @@
-
-
+
@@ -223,7 +222,7 @@

{{item.PropertyName}}

{{imagesArr.length ? imagesArr.length : 0}} / {{item.PropertyValue}} - +
添加
diff --git a/src/app/ui/collection-tools/collection-tools.component.ts b/src/app/ui/collection-tools/collection-tools.component.ts index f235b7f..daf1a39 100644 --- a/src/app/ui/collection-tools/collection-tools.component.ts +++ b/src/app/ui/collection-tools/collection-tools.component.ts @@ -398,6 +398,9 @@ export class CollectionToolsComponent implements OnInit { //复制素材 copyAsset(){ this.canvas.copy() + // console.log(1,this.canvasData.originalcompanyBuildingData) + // console.log(2,this.canvasData.originaleveryStoreyData) + // console.log(3,this.selectingSitePlan.id) } //粘贴素材 pasteAsset(){ @@ -448,53 +451,80 @@ export class CollectionToolsComponent implements OnInit { let CompanyData = JSON.parse(JSON.stringify(this.canvasData.originalcompanyBuildingData)); CompanyData.data = JSON.stringify(CompanyData.data) - if(this.checkedBuildingIndex==-1){ - this.http.post("/api/CompanyAccount/SitePlanData",SitePlanData).subscribe(data => { - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('平面图数据保存成功','确定',config); - },err=>{ - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('平面图数据保存失败','确定',config); - }) - this.http.post("/api/CompanyAccount/CompanyData",CompanyData).subscribe(data => { - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('单位数据保存成功','确定',config); - },err=>{ - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('单位数据保存失败','确定',config); - }) + let object = this.canvasData.originalcompanyBuildingData.data + let adjoinArr = [] //毗邻数组 + + for (const key in object) { + if (object[key].FloorId == this.selectingSitePlan.id && object[key].Name == "毗邻") {//如果是相同楼层,则筛选出毗邻 + + object[key].PropertyInfos.forEach(element => { + if(element.PropertyName == "方向"){ + adjoinArr.push(element.PropertyValue) + } + }); + } + } + + if((new Set(adjoinArr)).size != adjoinArr.length){ + let config = new MatSnackBarConfig(); + config.verticalPosition = 'top'; + config.duration = 3000 + this.snackBar.open('保存失败,毗邻存在相同方向','确定',config); + return false }else{ - this.http.post("/api/CompanyAccount/BuildingAreaData",SitePlanData).subscribe(data => { - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('平面图数据保存成功','确定',config); - },err=>{ - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('平面图数据保存失败','确定',config); - }) - this.http.post("/api/CompanyAccount/BuildingData",CompanyData).subscribe(data => { - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('单位数据保存成功','确定',config); - },err=>{ - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('单位数据保存失败','确定',config); - }) + if(this.checkedBuildingIndex==-1){ + this.http.post("/api/CompanyAccount/SitePlanData",SitePlanData).subscribe(data => { + let config = new MatSnackBarConfig(); + config.verticalPosition = 'top'; + config.duration = 3000 + this.snackBar.open('保存成功','确定',config); + },err=>{ + let config = new MatSnackBarConfig(); + config.verticalPosition = 'top'; + config.duration = 3000 + this.snackBar.open('平面图数据保存失败','确定',config); + }) + + this.http.post("/api/CompanyAccount/CompanyData",CompanyData).subscribe(data => { + let config = new MatSnackBarConfig(); + config.verticalPosition = 'top'; + config.duration = 3000 + this.snackBar.open('保存成功','确定',config); + },err=>{ + let config = new MatSnackBarConfig(); + config.verticalPosition = 'top'; + config.duration = 3000 + this.snackBar.open('单位数据保存失败','确定',config); + }) + }else{ + this.http.post("/api/CompanyAccount/BuildingAreaData",SitePlanData).subscribe(data => { + let config = new MatSnackBarConfig(); + config.verticalPosition = 'top'; + config.duration = 3000 + this.snackBar.open('保存成功','确定',config); + },err=>{ + let config = new MatSnackBarConfig(); + config.verticalPosition = 'top'; + config.duration = 3000 + this.snackBar.open('平面图数据保存失败','确定',config); + }) + + this.http.post("/api/CompanyAccount/BuildingData",CompanyData).subscribe(data => { + let config = new MatSnackBarConfig(); + config.verticalPosition = 'top'; + config.duration = 3000 + this.snackBar.open('保存成功','确定',config); + },err=>{ + let config = new MatSnackBarConfig(); + config.verticalPosition = 'top'; + config.duration = 3000 + this.snackBar.open('单位数据保存失败','确定',config); + }) + } } + + + } @@ -626,7 +656,6 @@ export class CollectionToolsComponent implements OnInit { if (!element.parentId) { treeData.push(element) } }); this.dataSource.data = treeData - // console.log(this.dataSource.data) this.treeControl.expandAll() } @@ -637,6 +666,23 @@ export class CollectionToolsComponent implements OnInit { }else if(this.canvasData.originaleveryStoreyData.data[node.id]){ this.setAssetsProperty(this.canvasData.originaleveryStoreyData.data[node.id]) } + + //canvas上的素材高亮 + let iconHighLightArr:any = [] + if(node.isTemplate){//如果是模板,则开始向下找 + node.children.forEach(item => { + if(item.isTemplate){//如果子节点依旧是模板,则继续开始向下找 + item.children.forEach(i => { + iconHighLightArr.push(i.Id) + }) + }else{ + iconHighLightArr.push(item.Id) + } + }) + }else{ + iconHighLightArr.push(node.id) + } + this.canvas.setHighlight(iconHighLightArr) } //点击数节点的显示隐藏icon