陈鹏飞 5 years ago
parent
commit
488393c111
  1. 5
      src/app/ui/collection-tools/collection-tools.component.html
  2. 138
      src/app/ui/collection-tools/collection-tools.component.ts
  3. 10
      src/app/working-area/working-area.component.ts

5
src/app/ui/collection-tools/collection-tools.component.html

@ -1,5 +1,4 @@
<div class="content">
<!-- header头部 -->
<div class="header">
<button mat-button (click)="toggle()">
@ -192,7 +191,7 @@
</div>
</div>
<div class="colorDiv" *ngIf="!isEditPattern">
<div class="colorDiv" *ngIf="isEditPattern">
<ul>
<li (click)="selectcolor(item,key)" class="colorLi" *ngFor="let item of colors,let key=index" [style]="{'background-color':item}"></li>
</ul>
@ -223,7 +222,7 @@
<div style="position: relative;width: 100%;height: 21px;margin: 1px 0;">
<p style="width: 40%;display: inline-block;">{{item.PropertyName}}</p>
<span style="width: 26%;text-align:right;font-size: 13px;">{{imagesArr.length ? imagesArr.length : 0}} / {{item.PropertyValue}}</span>
<input [disabled]="!isEditPattern" *ngIf="isImgNumCss" accept="image/*" (change)="selectFile($event)" type="file" style="width: 33%;position: absolute;right: 10px;top: 1px;opacity: 0;z-index: 100;cursor: pointer;">
<input [disabled]="!isEditPattern" *ngIf="isImgNumCss" accept="image/*" (change)="selectFile($event)" type="file" style="width: 33%;position: absolute;right: 10px;top: 1px;opacity: 0;z-index: 100;cursor: pointer;height: 21px;">
<div style="width: 33%;height: 21px;line-height: 21px;text-align: center;position: absolute;right: 10px;top: 1px;z-index: 99;border: 1px solid rgb(208, 211, 214);border-radius: 2px;font-size: 13px;cursor: pointer;" (click)="imgNumBeyond()">添加</div>

138
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

10
src/app/working-area/working-area.component.ts

@ -210,6 +210,16 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
}
});
}
/**
*
*/
public setHighlight(ids: string[]): void {
this.selection.deselectAll();
ids.forEach(item => {
const obj = this.backgroundImage.getChildByName(item);
this.selection.select(obj);
});
}
/**
*
*/

Loading…
Cancel
Save