diff --git a/src/app/ui/collection-tools-plan/addPlaneFigure.html b/src/app/ui/collection-tools-plan/addPlaneFigure.html index 344170b..80cbac6 100644 --- a/src/app/ui/collection-tools-plan/addPlaneFigure.html +++ b/src/app/ui/collection-tools-plan/addPlaneFigure.html @@ -12,9 +12,9 @@ - +
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 918f365..102b1b1 100644 --- a/src/app/ui/collection-tools-plan/collection-tools.component.ts +++ b/src/app/ui/collection-tools-plan/collection-tools.component.ts @@ -811,6 +811,7 @@ export class CollectionToolsPlanComponent implements OnInit { //遍历 建筑数据 删除多余数据 let object = this.canvasData.originalcompanyBuildingData.data let adjoinArr = [] //毗邻数组 + console.log('平面图数据',this.sitePlanData) Object.keys(object).forEach(key => { let isExist = this.sitePlanData.find(item => { return item.id === object[key].FloorId }) if (isExist === undefined) { @@ -818,7 +819,7 @@ export class CollectionToolsPlanComponent implements OnInit { delete object[key] } }) - //遍历 建筑数据 删除多余数据 + //遍历 楼层数据 删除多余数据 this.saveNum = [] let SitePlanData = JSON.parse(JSON.stringify(this.canvasData.originaleveryStoreyData)); for (const key in SitePlanData.data) { @@ -837,9 +838,9 @@ export class CollectionToolsPlanComponent implements OnInit { CompanyData.data = JSON.stringify(CompanyData.data) if (this.pattern) {//如果是基本信息编辑模式 + console.log(1234, object) for (const key in object) { if (object[key].Name == "毗邻") {//如果是相同楼层,则筛选出毗邻 - object[key].PropertyInfos.forEach(element => { if (element.PropertyName == "方向") { adjoinArr.push(element.PropertyValue) @@ -857,7 +858,7 @@ export class CollectionToolsPlanComponent implements OnInit { } else { //如果是单位 总平面图 if (this.checkedBuildingIndex == -1) { - + //保存中心点和层级 if (this.isGis) { let data = JSON.parse(JSON.stringify(this.selectingSitePlan)) data.zoomLevel = this.map.getZoom(), @@ -1014,129 +1015,6 @@ export class CollectionToolsPlanComponent implements OnInit { }) } else { //如果是建筑 - - //建筑平面图数据 - this.http.post("/api/BuildingAreaData", SitePlanData, { - params: { - companyId: this.params.companyId - } - }).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.http.post("/api/BuildingData", CompanyData, { - params: { - companyId: this.params.companyId - } - }).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 - this.canvasData.isChange = true - this.snackBar.open('单位数据保存失败', '确定', config); - }) - - //批量保存建筑毗邻 - let buildingAdjoins = this.canvasData.getBuildingAdjoinInfo() - 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 - if (err == 'infos 有重复方向!') { - this.snackBar.open('建筑毗邻同步失败,存在相同方向', '确定', config); - } else { - this.snackBar.open('建筑毗邻同步失败', '确定', config); - } - }) - - //批量保存建筑重点部位 - let buildingImportantLocations = this.canvasData.getBuildingImportantLocations() - 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); - }) - - //批量保存建筑消防设施素材 - let buildingFacilityAssets = this.canvasData.getAllBuildingFacilityAssetInfo() - 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); - }) - } } } @@ -2344,7 +2222,9 @@ export class CollectionToolsPlanComponent implements OnInit { //将图标数据添加 let itemData = JSON.parse(JSON.stringify(this.selectImage)) + console.log(6666,this.selectingSitePlan) itemData.id = id + itemData.FloorId = this.selectingSitePlan.id itemData.point = { x: e.lnglat.lng, y: e.lnglat.lat } itemData = this.canvasData.deserialize(JSON.stringify(itemData))//反序列化为大写 // 添加楼层数据 diff --git a/src/app/ui/collection-tools-plan/leftFunctionalDomain.ts b/src/app/ui/collection-tools-plan/leftFunctionalDomain.ts index 007d30b..d140fdf 100644 --- a/src/app/ui/collection-tools-plan/leftFunctionalDomain.ts +++ b/src/app/ui/collection-tools-plan/leftFunctionalDomain.ts @@ -14,24 +14,24 @@ import { MaskLayerService } from 'src/app/mask-layer.service'; export class leftFunctionalDomainComponentPlan implements OnInit { constructor( - private http:HttpClient, + private http: HttpClient, public dialog: MatDialog, public snackBar: MatSnackBar, public dialogRef: MatDialogRef, - @Inject(MAT_DIALOG_DATA) public data,public canvasData: CanvasShareDataService,private maskLayerService:MaskLayerService,) { } + @Inject(MAT_DIALOG_DATA) public data, public canvasData: CanvasShareDataService, private maskLayerService: MaskLayerService,) { } ngOnInit(): void { } - params = {companyId: sessionStorage.getItem('companyId')} - checked:boolean = false;//是否为避难层 - file:any = null; //上传的文件 + params = { companyId: sessionStorage.getItem('companyId') } + checked: boolean = false;//是否为避难层 + file: any = null; //上传的文件 //选择文件 - selectFile (e) { + selectFile(e) { if (e.target.files.length) { - let maxSize = 100*1024*1024 //100MB限制 + let maxSize = 100 * 1024 * 1024 //100MB限制 if (e.target.files[0].size <= maxSize) { this.file = e.target.files[0] this.selectedType = 'image' @@ -39,15 +39,15 @@ export class leftFunctionalDomainComponentPlan implements OnInit { const config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 - this.snackBar.open('上传图片需小于100MB','确定',config); + this.snackBar.open('上传图片需小于100MB', '确定', config); } } } - selectedType:String //新建平面图的底图类型 gis/image + selectedType: String //新建平面图的底图类型 gis/image //导入GIS - toGIS () { + toGIS() { this.selectedType = 'gis'; this.file = null; (document.getElementById('uploadFile')).value = null; //清空input框缓存 @@ -58,20 +58,20 @@ export class leftFunctionalDomainComponentPlan implements OnInit { } //提交表单创建平面图 - onSubmit (e) { + onSubmit(e) { if (this.file && this.selectedType == 'image') { -     if (this.file.name.toLowerCase().indexOf('png') == -1 && this.file.name.toLowerCase().indexOf('jpg') == -1 && this.file.name.toLowerCase().indexOf('jpeg') == -1) { -       const config = new MatSnackBarConfig(); -       config.verticalPosition = 'top'; -       config.duration = 3000 -       this.snackBar.open('请上传图片后缀为png,jpg,jpeg的文件', '确定', config); -       return -   } + if (this.file.name.toLowerCase().indexOf('png') == -1 && this.file.name.toLowerCase().indexOf('jpg') == -1 && this.file.name.toLowerCase().indexOf('jpeg') == -1) { + const config = new MatSnackBarConfig(); + config.verticalPosition = 'top'; + config.duration = 3000 + this.snackBar.open('请上传图片后缀为png,jpg,jpeg的文件', '确定', config); + return + } this.maskLayerService.sendMessage(true) - if (this.file.size<=5*1024*1024) { //小于5MB + if (this.file.size <= 5 * 1024 * 1024) { //小于5MB let formData = new FormData() - formData.append("file",this.file) - this.http.post(`/api/Objects/WebPlan2D/${sessionStorage.getItem('companyId')}`,formData).subscribe((data:any)=>{ + formData.append("file", this.file) + this.http.post(`/api/Objects/WebPlan2D/${sessionStorage.getItem('companyId')}`, formData).subscribe((data: any) => { let imgURL = '/api/Objects/WebPlan2D/' + data.objectName let that = this let img = new Image() @@ -82,15 +82,15 @@ export class leftFunctionalDomainComponentPlan implements OnInit { companyId: sessionStorage.getItem('companyId'), name: e.name, order: that.data.order, - area:Number(e.area), - details:e.details, + area: Number(e.area), + details: e.details, enabled: true, modifiedTime: new Date(), imageUrl: imgURL, imageWidth: img.width, imageHeight: img.height } - that.http.post('/api/SitePlans',data).subscribe(data=>{ + that.http.post('/api/SitePlans', data).subscribe(data => { that.dialogRef.close('总平面图'); }) } else { //建筑 创建楼层/区域 @@ -99,23 +99,23 @@ export class leftFunctionalDomainComponentPlan implements OnInit { buildingId: that.data.Panel.id, name: e.name, order: that.data.order, - area:Number(e.area), - details:e.details, + area: Number(e.area), + details: e.details, enabled: true, modifiedTime: new Date(), imageUrl: imgURL, imageWidth: img.width, imageHeight: img.height } - that.http.post('/api/BuildingAreas',data,{params:that.params}).subscribe(data=>{ + that.http.post('/api/BuildingAreas', data, { params: that.params }).subscribe(data => { that.dialogRef.close('建筑'); }) } } }) //post - } else if (this.file.size>5*1024*1024 && this.file.size<=100*1024*1024) { //大于5MB - let upload = this.canvasData.sectionUpload(sessionStorage.getItem('companyId'),this.file) - upload.then(res=>{ + } else if (this.file.size > 5 * 1024 * 1024 && this.file.size <= 100 * 1024 * 1024) { //大于5MB + let upload = this.canvasData.sectionUpload(sessionStorage.getItem('companyId'), this.file) + upload.then(res => { let imgURL = '/api/Objects/PlanPlatform/' + res let that = this let img = new Image() @@ -126,15 +126,15 @@ export class leftFunctionalDomainComponentPlan implements OnInit { companyId: sessionStorage.getItem('companyId'), name: e.name, order: that.data.order, - area:Number(e.area), - details:e.details, + area: Number(e.area), + details: e.details, enabled: true, modifiedTime: new Date(), imageUrl: imgURL, imageWidth: img.width, imageHeight: img.height } - that.http.post('/api/SitePlans',data).subscribe(data=>{ + that.http.post('/api/SitePlans', data).subscribe(data => { that.dialogRef.close('总平面图'); }) } else { //建筑 创建楼层/区域 @@ -143,43 +143,43 @@ export class leftFunctionalDomainComponentPlan implements OnInit { buildingId: that.data.Panel.id, name: e.name, order: that.data.order, - area:Number(e.area), - details:e.details, + area: Number(e.area), + details: e.details, enabled: true, modifiedTime: new Date(), imageUrl: imgURL, imageWidth: img.width, imageHeight: img.height } - that.http.post('/api/BuildingAreas',data,{params:that.params}).subscribe(data=>{ + that.http.post('/api/BuildingAreas', data, { params: that.params }).subscribe(data => { that.dialogRef.close('建筑'); }) } } }) } - } else if(this.selectedType == 'gis'){ + } else if (this.selectedType == 'gis') { let data = { companyId: sessionStorage.getItem('companyId'), name: e.name, order: this.data.order, - area:Number(e.area), - details:e.details, + area: Number(e.area), + details: e.details, enabled: true, modifiedTime: new Date(), imageUrl: 'null', imageWidth: 0, imageHeight: 0, - isGis:true + isGis: true } - this.http.post('/api/SitePlans',data).subscribe(data=>{ + this.http.post('/api/SitePlans', data).subscribe(data => { this.dialogRef.close('总平面图'); }) } else { const config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 - this.snackBar.open('请上传图片','确定',config); + this.snackBar.open('请上传图片', '确定', config); } } @@ -195,7 +195,7 @@ export class leftFunctionalDomainComponentPlan implements OnInit { }) export class editPlaneFigureComponentPlan implements OnInit { - constructor(private http:HttpClient,public dialog: MatDialog,public snackBar: MatSnackBar,public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data,public canvasData: CanvasShareDataService,private eventManager: EventManager,) { } + constructor(private http: HttpClient, public dialog: MatDialog, public snackBar: MatSnackBar, public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data, public canvasData: CanvasShareDataService, private eventManager: EventManager,) { } ngOnInit(): void { console.log(this.data.isGis) @@ -207,17 +207,17 @@ export class editPlaneFigureComponentPlan implements OnInit { this.imgHeight = this.data.buildingData.imageHeight || 0 this.oldWidth = JSON.parse(JSON.stringify(this.data.buildingData.imageWidth || 0)) this.oldHeight = JSON.parse(JSON.stringify(this.data.buildingData.imageHeight || 0)) - if (this.imgWidth==0 && this.imgHeight==0 && this.data.buildingData.imageUrl) { + if (this.imgWidth == 0 && this.imgHeight == 0 && this.data.buildingData.imageUrl) { let that = this let img = new Image() img.src = this.data.buildingData.imageUrl img.onload = function () { that.imgWidth = img.width that.imgHeight = img.height - that.imgScale = Number((that.imgWidth/that.imgHeight)) + that.imgScale = Number((that.imgWidth / that.imgHeight)) } } else { - this.imgScale = Number((this.imgWidth/this.imgHeight)) + this.imgScale = Number((this.imgWidth / this.imgHeight)) } this.eventManager.addGlobalEventListener('window', 'keydown', (event: any) => { @@ -227,22 +227,22 @@ export class editPlaneFigureComponentPlan implements OnInit { }); } - oldWidth:number; //原图片宽 - oldHeight:number; //原图片高 + oldWidth: number; //原图片宽 + oldHeight: number; //原图片高 - params = {companyId: sessionStorage.getItem('companyId')} - name:any; //name - checked:boolean = false;//是否为避难层 - area:number; //面积 - details:string; //详情 + params = { companyId: sessionStorage.getItem('companyId') } + name: any; //name + checked: boolean = false;//是否为避难层 + area: number; //面积 + details: string; //详情 - imgWidth:number; //图片宽度 - imgHeight:number; //图片高度 - isItEqual:boolean = true; //是否等比 - imgScale:number; //图片 宽高比例 + imgWidth: number; //图片宽度 + imgHeight: number; //图片高度 + isItEqual: boolean = true; //是否等比 + imgScale: number; //图片 宽高比例 //图片 宽高变化时 - inputChange (e) { + inputChange(e) { if (this.isItEqual) { if (e == 0) { //需要改高度 this.imgHeight = Math.round(this.imgWidth / this.imgScale) @@ -260,12 +260,12 @@ export class editPlaneFigureComponentPlan implements OnInit { } //重新计算 宽高比例 - setImgScale (e) { - e.checked? this.imgScale = Number((this.imgWidth/this.imgHeight)) : null + setImgScale(e) { + e.checked ? this.imgScale = Number((this.imgWidth / this.imgHeight)) : null } //关闭 - close () { + close() { if (this.oldWidth === this.imgWidth && this.oldHeight === this.imgHeight) { this.dialogRef.close() } else { @@ -276,7 +276,7 @@ export class editPlaneFigureComponentPlan implements OnInit { } //提交表单修改平面图 - onSubmit (e) { + onSubmit(e) { if (!this.data.isBuilding) { //总平面图 修改平面图 let data = { companyId: sessionStorage.getItem('companyId'), @@ -288,15 +288,15 @@ export class editPlaneFigureComponentPlan implements OnInit { imageHeight: this.imgHeight, imageAngle: this.data.buildingData.imageAngle, order: this.data.buildingData.order, - area:e.area, - details:e.details, + area: e.area, + details: e.details, enabled: this.data.buildingData.enabled, modifiedTime: new Date(), isGis: this.data.isGis, - zoomLevel:this.data.buildingData.zoomLevel, - defaultCenter:this.data.buildingData.defaultCenter + zoomLevel: this.data.buildingData.zoomLevel, + defaultCenter: this.data.buildingData.defaultCenter } - this.http.put(`/api/SitePlans/${this.data.buildingData.id}`,data).subscribe(data=>{ + this.http.put(`/api/SitePlans/${this.data.buildingData.id}`, data).subscribe(data => { this.dialogRef.close('总平面图'); }) } else { //建筑 修改楼层/区域 @@ -311,12 +311,12 @@ export class editPlaneFigureComponentPlan implements OnInit { imageHeight: this.imgHeight, imageAngle: this.data.buildingData.imageAngle, order: this.data.buildingData.order, - area:e.area, - details:e.details, + area: e.area, + details: e.details, enabled: this.data.buildingData.enabled, modifiedTime: new Date(), } - this.http.put(`/api/BuildingAreas/${this.data.buildingData.id}`,data,{params:this.params}).subscribe(data=>{ + this.http.put(`/api/BuildingAreas/${this.data.buildingData.id}`, data, { params: this.params }).subscribe(data => { this.dialogRef.close('建筑'); }) } diff --git a/src/app/working-area/working-area.component.ts b/src/app/working-area/working-area.component.ts index 6f723ea..8024256 100644 --- a/src/app/working-area/working-area.component.ts +++ b/src/app/working-area/working-area.component.ts @@ -1102,7 +1102,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV if (imageAngle === undefined || imageAngle === null) { imageAngle = 0; } - this.backgroundImage.scale.set(1); + this.backgroundImage.scale ? this.backgroundImage.scale.set(1) : null; // this.backgroundImage.pivot.set(0); if (imageUrl === undefined || imageUrl === null || imageUrl === '') { this.backgroundImage.texture = this.backgroundTexture;