From 974257640225929f244cb8729e09371aaeb9c737 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=BE=90=E6=8C=AF=E5=8D=87?= <359059686@qq.com>
Date: Fri, 7 May 2021 10:32:15 +0800
Subject: [PATCH] =?UTF-8?q?1.5.0.20210507=5Frc=20=20=20=E6=96=B0=E5=A2=9E?=
=?UTF-8?q?=E5=AF=BC=E5=87=BA=E5=9B=BE=E7=89=87?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../collection-tools.component.html | 1 +
.../collection-tools.component.ts | 1455 +++++++++--------
.../collection-tools.component.html | 1 +
.../collection-tools.component.ts | 1446 ++++++++--------
src/app/working-area/model/axLegend.ts | 3 -
src/app/working-area/model/configuration.ts | 2 +-
.../working-area/working-area.component.ts | 38 +-
7 files changed, 1491 insertions(+), 1455 deletions(-)
diff --git a/src/app/ui/collection-tools-building/collection-tools.component.html b/src/app/ui/collection-tools-building/collection-tools.component.html
index b2d0bbf..cb25215 100644
--- a/src/app/ui/collection-tools-building/collection-tools.component.html
+++ b/src/app/ui/collection-tools-building/collection-tools.component.html
@@ -35,6 +35,7 @@
重置缩放
+
diff --git a/src/app/ui/collection-tools-building/collection-tools.component.ts b/src/app/ui/collection-tools-building/collection-tools.component.ts
index fc5c389..99717c6 100644
--- a/src/app/ui/collection-tools-building/collection-tools.component.ts
+++ b/src/app/ui/collection-tools-building/collection-tools.component.ts
@@ -1,15 +1,15 @@
-import { Component, OnInit, Inject, ViewChild,ElementRef,Renderer2, ViewContainerRef } from '@angular/core';
+import { Component, OnInit, Inject, ViewChild, ElementRef, Renderer2, ViewContainerRef } from '@angular/core';
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 {leftFunctionalDomainBuildingComponent,editPlaneFigureBuildingComponent} from './leftFunctionalDomain'
-import {MatTreeFlatDataSource, MatTreeFlattener} from '@angular/material/tree';
-import {FlatTreeControl} from '@angular/cdk/tree';
-import {WorkingAreaComponent} from '../../working-area/working-area.component'
-import {CanvasShareDataService, DisposalNodeData} from '../../canvas-share-data.service' //引入服务
+import { leftFunctionalDomainBuildingComponent, editPlaneFigureBuildingComponent } from './leftFunctionalDomain'
+import { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material/tree';
+import { FlatTreeControl } from '@angular/cdk/tree';
+import { WorkingAreaComponent } from '../../working-area/working-area.component'
+import { CanvasShareDataService, DisposalNodeData } from '../../canvas-share-data.service' //引入服务
import Viewer from 'viewerjs';
import Swiper from 'swiper';
-import { NzFormatBeforeDropEvent, NzFormatEmitEvent,NzTreeComponent } from 'ng-zorro-antd/tree';
+import { NzFormatBeforeDropEvent, NzFormatEmitEvent, NzTreeComponent } from 'ng-zorro-antd/tree';
import { Observable, of } from 'rxjs';
import { GameMode } from 'src/app/working-area/model/gameMode';
import { ActivatedRoute, Router } from '@angular/router';
@@ -24,9 +24,9 @@ import { AxMessageSystem } from 'src/app/working-area/model/axMessageSystem';
})
export class CollectionToolsBuildingComponent implements OnInit {
- @ViewChild('canvas',{static: true}) canvas:WorkingAreaComponent; //父组件中获得子组件的引用
+ @ViewChild('canvas', { static: true }) canvas: WorkingAreaComponent; //父组件中获得子组件的引用
- 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) { }
+ 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) => {//要给渲染节点传那些属性参数
@@ -35,36 +35,36 @@ export class CollectionToolsBuildingComponent implements OnInit {
name: node.name || node.Name,
level: level,
id: node.id || node.Id,
- children:node.children,
- isTemplate:node.isTemplate,
- isNewElement:node.isNewElement,
- isLook:node.isLook,
- isLookPattern:node.isLookPattern || null
+ children: node.children,
+ isTemplate: node.isTemplate,
+ isNewElement: node.isNewElement,
+ isLook: node.isLook,
+ isLookPattern: node.isLookPattern || null
};
}
treeControl = new FlatTreeControl(node => node.level, node => node.expandable);
-
+
treeFlattener = new MatTreeFlattener(this._transformer, node => node.level, node => node.expandable, node => node.children);
dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);
hasChild = (_: number, node: any) => node.expandable;
- colors = ['#076eec','#4dd0e1','#00ee76','#ffff00','#eeb422',
- '#FF6A6A','#ff0000','#ff6eb4','#00bfff','#54ff9f',
- '#009688','#836fff','#ff8c00','#ee00ee','#ffa07a',
- '#00C500','#00ffff','#6495ed','#ffdAb9','#AA00FF']
+ colors = ['#076eec', '#4dd0e1', '#00ee76', '#ffff00', '#eeb422',
+ '#FF6A6A', '#ff0000', '#ff6eb4', '#00bfff', '#54ff9f',
+ '#009688', '#836fff', '#ff8c00', '#ee00ee', '#ffa07a',
+ '#00C500', '#00ffff', '#6495ed', '#ffdAb9', '#AA00FF']
selected = "1" //图标大小选择框
-
+
allBuildings //该单位所有建筑
- beforeOneCheckedBuilding:any; //当前点击选择的建筑
- checkedBuildingIndex:number = 0; //当前点击选择的建筑index
- isEditPat:boolean = true; //当前是否是编辑模式
-
- assetName:String//素材名称
- assetWidth:number//素材宽度
- assetHeight:number//素材高度
- sliderValue:number = 0//角度滑竿的值
- sliderValueThickness:number = 0//厚度滑竿的值
- isHighLight:boolean = false//是否高亮选择框
+ beforeOneCheckedBuilding: any; //当前点击选择的建筑
+ checkedBuildingIndex: number = 0; //当前点击选择的建筑index
+ isEditPat: boolean = true; //当前是否是编辑模式
+
+ assetName: String//素材名称
+ assetWidth: number//素材宽度
+ assetHeight: number//素材高度
+ sliderValue: number = 0//角度滑竿的值
+ sliderValueThickness: number = 0//厚度滑竿的值
+ isHighLight: boolean = false//是否高亮选择框
PropertyInfos = [] //去除图片链接真正用于循环的内容
imagesArrNum //素材属性图片数量上限
imagesArr = [] //属性中的图片链接集合
@@ -73,28 +73,28 @@ export class CollectionToolsBuildingComponent implements OnInit {
//传入素材对象,设置右侧属性栏内容
canvasAssetObj //传入的素材属性对象
isImgNumCss = false //控制上传文件input显隐
- mySwiper:any //轮播图实例
+ mySwiper: any //轮播图实例
gallery//viewerJs实例
//设置属性框
- setAssetsProperty(obj){
+ setAssetsProperty(obj) {
//初始化viewerJs实例
setTimeout(() => {
obj.PropertyInfos.forEach(item => {
- if(item.PropertyType == 4){
- if(document.getElementById('viewerjs')){
- this.gallery = new Viewer(document.getElementById('viewerjs'),{
+ if (item.PropertyType == 4) {
+ if (document.getElementById('viewerjs')) {
+ this.gallery = new Viewer(document.getElementById('viewerjs'), {
url: 'data-original'
});
}
}
})
}, 0);
-
+
//从颜色中取出透明度
let color = obj.Color
- let strh = color.substring(color.length -2,color.length)
- let opacity = Math.round(parseInt(strh,16)/255 * 100)
+ let strh = color.substring(color.length - 2, color.length)
+ let opacity = Math.round(parseInt(strh, 16) / 255 * 100)
this.colorDivSliderValue = opacity
this.isShowProperty = true
@@ -113,18 +113,18 @@ export class CollectionToolsBuildingComponent implements OnInit {
this.PropertyInfos = obj.PropertyInfos
this.sliderValueThickness = obj.Thickness
this.PropertyInfos.forEach(item => {
- if(item.PropertyType == 3){ //如果是图片链接类型
+ if (item.PropertyType == 3) { //如果是图片链接类型
this.imagesArr.push(item)
}
- if(item.PropertyType == 4){//图片数值上线
+ if (item.PropertyType == 4) {//图片数值上线
this.imagesArrNum = item.PropertyValue
}
})
//如果存在图片则加载轮播图
- if(this.imagesArr.length){
+ if (this.imagesArr.length) {
setTimeout(() => {
- this.mySwiper = new Swiper('.swiper-container',{
+ this.mySwiper = new Swiper('.swiper-container', {
loop: false,
// grabCursor: true,
// 如果需要前进后退按钮
@@ -132,8 +132,8 @@ export class CollectionToolsBuildingComponent implements OnInit {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
- on:{
- click: function(){
+ on: {
+ click: function () {
_this.clickedIndex = this.clickedIndex
},
}
@@ -141,16 +141,16 @@ export class CollectionToolsBuildingComponent implements OnInit {
}, 0);
}
//判断此时图片数量是否达到上限
- if(this.imagesArr.length < this.imagesArrNum){//如果不超出
+ if (this.imagesArr.length < this.imagesArrNum) {//如果不超出
this.isImgNumCss = true
- }else{
+ } else {
this.isImgNumCss = false
}
}
- pattern:boolean = true//默认为基本信息编辑
-
+ pattern: boolean = true//默认为基本信息编辑
+
//基本信息编辑模式
- baseInfo(){
+ baseInfo() {
if (!this.pattern) {
this.pattern = true
this.canvasData.gameMode = GameMode.BasicInformation
@@ -163,7 +163,7 @@ export class CollectionToolsBuildingComponent implements OnInit {
}
//想定作业编辑模式
- wantWork(){
+ wantWork() {
if (this.pattern) {
this.pattern = false
this.canvasData.gameMode = GameMode.Assignment
@@ -172,117 +172,117 @@ export class CollectionToolsBuildingComponent implements OnInit {
}
}
//适应缩放
- adaptZoom(){
+ adaptZoom() {
this.canvas.zoomFit()
}
//重置缩放
- resetZoom(){
+ resetZoom() {
this.canvas.resetCamera2D()
}
//ngzorro tree 拖拽
nzEvent(event: NzFormatEmitEvent): void {
- if(this.isDrag){
- let parentId
- if(this.pos == 0){
+ if (this.isDrag) {
+ let parentId
+ if (this.pos == 0) {
parentId = event.node.key
- }else{
- if(event.node.level == 0){
+ } else {
+ if (event.node.level == 0) {
parentId = null
- }else{
+ } else {
parentId = event.node.origin.parentId
}
}
-
+
let orders = {}
- let originalData = JSON.parse(JSON.stringify( this.canvasData.allDisposalNode || [] )) //tree原始数据
+ let originalData = JSON.parse(JSON.stringify(this.canvasData.allDisposalNode || [])) //tree原始数据
let targetNodeData = []//拖动移入节点的数据,用于遍历求出放在该数组的第几位
//找到需要重新排序的数组
- if(this.pos == 0){
+ if (this.pos == 0) {
originalData.forEach(item => {
- if(item.parentId == event.node.key){
+ if (item.parentId == event.node.key) {
targetNodeData.push(item)
}
})
- }else{
- if(event.node.origin.parentId){//如果拖动目标为非一级节点
+ } else {
+ if (event.node.origin.parentId) {//如果拖动目标为非一级节点
originalData.forEach(item => {
- if(item.parentId == event.node.origin.parentId){
+ if (item.parentId == event.node.origin.parentId) {
targetNodeData.push(item)
}
})
- }else{//如果拖动目标为一级节点
+ } else {//如果拖动目标为一级节点
originalData.forEach(item => {
- if(!item.parentId){
+ if (!item.parentId) {
targetNodeData.push(item)
}
})
}
}
-
-
+
+
let idArr = []
targetNodeData.forEach(i => {
idArr.push(i.id)
})
- if(this.pos == 0 && event.node.origin.children.length == 1){
- let key = event.dragNode.key
+ if (this.pos == 0 && event.node.origin.children.length == 1) {
+ let key = event.dragNode.key
orders[key] = 0
parentId = event.node.key
- }else{
+ } else {
let array = []
targetNodeData.forEach(item => {
- if(item.id != event.dragNode.key){ //将拖动项先移除掉
+ if (item.id != event.dragNode.key) { //将拖动项先移除掉
array.push(item)
}
})
- if(event.dragNode.isEnd[event.dragNode.isEnd.length - 1]){ //如果移入到最后一个
+ if (event.dragNode.isEnd[event.dragNode.isEnd.length - 1]) { //如果移入到最后一个
array.push(event.dragNode.origin)
- }else if(event.dragNode.isStart[event.dragNode.isStart.length - 1]){//如果移入到第一个
+ } else if (event.dragNode.isStart[event.dragNode.isStart.length - 1]) {//如果移入到第一个
array.unshift(event.dragNode.origin)
- }else{//如果移入中间位置
+ } else {//如果移入中间位置
array.splice(event.node.origin.order, 0, event.dragNode.origin)
}
- array.forEach((item,key) => {
+ array.forEach((item, key) => {
orders[item.id] = key
})
}
-
- let obj ={
- id : event.dragNode.origin.id,
- parentId : parentId,
- orders : orders
+
+ let obj = {
+ id: event.dragNode.origin.id,
+ parentId: parentId,
+ orders: orders
}
-
- this.http.put("/api/DisposalNodes/Sort",obj).subscribe(data => {
+
+ this.http.put("/api/DisposalNodes/Sort", obj).subscribe(data => {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('排序成功','确定',config)
+ this.snackBar.open('排序成功', '确定', config)
this.refurbishTreeData()
})
}
}
-
+
isDrag //是否可以拖动
pos//放置位置
beforeDrop = (arg: NzFormatBeforeDropEvent) => {
- if(arg.dragNode.origin.isDataNode && arg.node.level === 0){//如果为数据节点则不允许拖到一级节点
+ if (arg.dragNode.origin.isDataNode && arg.node.level === 0) {//如果为数据节点则不允许拖到一级节点
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('数据节点不允许拖拽到一级节点','确定',config)
+ this.snackBar.open('数据节点不允许拖拽到一级节点', '确定', config)
this.isDrag = false
return of(false);
- }else if(!arg.dragNode.origin.isDataNode && arg.node.level === 2){
+ } else if (!arg.dragNode.origin.isDataNode && arg.node.level === 2) {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('处置节点不允许拖拽到三级节点','确定',config)
+ this.snackBar.open('处置节点不允许拖拽到三级节点', '确定', config)
this.isDrag = false
return of(false);
- }else{
+ } else {
this.isDrag = true
this.pos = arg.pos
return of(true)
@@ -292,35 +292,35 @@ export class CollectionToolsBuildingComponent implements OnInit {
//天气栏目
weatherBtn = true
- weatherBtnShow(){
+ weatherBtnShow() {
this.weatherBtn = !this.weatherBtn
}
- weatherBtnHidden(){
+ weatherBtnHidden() {
this.weatherBtn = !this.weatherBtn
}
//底部切换按钮div
detailsAndattentBtn = true
//节点详情
- details(){
+ details() {
this.detailsAndattentBtn = true
}
//注意事项
- attent(){
+ attent() {
this.detailsAndattentBtn = false
}
//消防要素div边框高度调节
- firecategoriesDivMouseDown(e){
+ firecategoriesDivMouseDown(e) {
document.onmousemove = (ev) => {
let bodyHeight = document.body.clientHeight //网页宽度
let maxHeight = this.element.nativeElement.querySelector('#rightDiv').clientHeight - 35 //最大宽度
- if(bodyHeight - ev.clientY >= maxHeight){
- this.element.nativeElement.querySelector('#firecategories').style.height = maxHeight+ 'px'
- this.element.nativeElement.querySelector('#property').style.height = 35+ 'px'
- }else{
- this.element.nativeElement.querySelector('#firecategories').style.height = (bodyHeight - ev.clientY) + 'px' ;
- this.element.nativeElement.querySelector('#property').style.height = (this.element.nativeElement.querySelector('#rightDiv').clientHeight - this.element.nativeElement.querySelector('#firecategories').clientHeight) + 'px'
+ if (bodyHeight - ev.clientY >= maxHeight) {
+ this.element.nativeElement.querySelector('#firecategories').style.height = maxHeight + 'px'
+ this.element.nativeElement.querySelector('#property').style.height = 35 + 'px'
+ } else {
+ this.element.nativeElement.querySelector('#firecategories').style.height = (bodyHeight - ev.clientY) + 'px';
+ this.element.nativeElement.querySelector('#property').style.height = (this.element.nativeElement.querySelector('#rightDiv').clientHeight - this.element.nativeElement.querySelector('#firecategories').clientHeight) + 'px'
}
}
document.onmouseup = () => {
@@ -330,13 +330,13 @@ export class CollectionToolsBuildingComponent implements OnInit {
}
//左侧div边框宽度调节
- leftDivMouseDown(e){
+ leftDivMouseDown(e) {
document.onmousemove = (ev) => {
let bodyWidth = document.body.clientWidth //网页宽度
let maxWidth = bodyWidth - 260 - this.element.nativeElement.querySelector('#rightDiv').clientWidth //最大宽度
- if(ev.clientX - 240 >= maxWidth){
+ if (ev.clientX - 240 >= maxWidth) {
this.element.nativeElement.querySelector('#leftDiv').style.width = maxWidth + 'px'
- }else{
+ } else {
this.element.nativeElement.querySelector('#leftDiv').style.width = ev.clientX - 260 + 'px';
}
}
@@ -347,14 +347,14 @@ export class CollectionToolsBuildingComponent implements OnInit {
}
//底部div高度调节
- bottomDivMouseDown(e){
+ bottomDivMouseDown(e) {
document.onmousemove = (ev) => {
let bodyHeight = document.body.clientHeight //网页高度
let maxHeight = this.element.nativeElement.querySelector('#rightDiv').clientHeight //最大高度
- if(bodyHeight - ev.clientY >= maxHeight){
- this.element.nativeElement.querySelector('#bottomDiv').style.height = maxHeight + 'px'
- }else{
- this.element.nativeElement.querySelector('#bottomDiv').style.height = (bodyHeight - ev.clientY) + 'px' ;
+ if (bodyHeight - ev.clientY >= maxHeight) {
+ this.element.nativeElement.querySelector('#bottomDiv').style.height = maxHeight + 'px'
+ } else {
+ this.element.nativeElement.querySelector('#bottomDiv').style.height = (bodyHeight - ev.clientY) + 'px';
}
}
document.onmouseup = () => {
@@ -364,13 +364,13 @@ export class CollectionToolsBuildingComponent implements OnInit {
}
//右侧div边框宽度调节
- rightDivMouseDown(e){
+ rightDivMouseDown(e) {
document.onmousemove = (ev) => {
let bodyWidth = document.body.clientWidth //网页宽度
let maxWidth = bodyWidth - 240 - this.element.nativeElement.querySelector('#leftDiv').clientWidth //最大宽度
- if(bodyWidth - ev.clientX >= maxWidth){
+ if (bodyWidth - ev.clientX >= maxWidth) {
this.element.nativeElement.querySelector('#rightDiv').style.width = maxWidth + 'px'
- }else{
+ } else {
this.element.nativeElement.querySelector('#rightDiv').style.width = bodyWidth - ev.clientX + 'px';
}
}
@@ -381,50 +381,50 @@ export class CollectionToolsBuildingComponent implements OnInit {
}
//放大图标
- iconScale(){
+ iconScale() {
let number = Number(this.selected)
this.canvas.setIconScale(number)
}
//素材宽度输入框改变
- assetWidthIunput(){
+ assetWidthIunput() {
this.canvasAssetObj.Width = this.assetWidth
this.canvasData.isChange = true
this.canvas.refreshIcon(this.canvasAssetObj.Id)
}
//素材高度输入框改变
- assetHeightIunput(){
+ assetHeightIunput() {
this.canvasAssetObj.Height = this.assetHeight
this.canvasData.isChange = true
this.canvas.refreshIcon(this.canvasAssetObj.Id)
}
//素材角度输入框改变
- assetAngleIunput(){
+ assetAngleIunput() {
this.canvasAssetObj.Angle = this.sliderValue
this.canvasData.isChange = true
this.canvas.refreshIcon(this.canvasAssetObj.Id)
}
//素材厚度输入框改变
- assetThicknessIunput(){
+ assetThicknessIunput() {
this.canvasAssetObj.Thickness = this.sliderValueThickness
this.canvasData.isChange = true
this.canvas.refreshIcon(this.canvasAssetObj.Id)
}
//素材是否高亮改变----->本地操作行为
- assetHighLightIunput(){
+ assetHighLightIunput() {
}
//动态属性素材input框值改变
- assetInputChange(i,e){
- let index = this.canvasAssetObj.PropertyInfos.findIndex((item)=>{
+ assetInputChange(i, e) {
+ let index = this.canvasAssetObj.PropertyInfos.findIndex((item) => {
return i.PropertyName == item.PropertyName
})
- if(this.myIsNaN(e.target.value)){
+ if (this.myIsNaN(e.target.value)) {
e.target.value = String(e.target.value)
}
this.canvasAssetObj.PropertyInfos[index].PropertyValue = e.target.value
@@ -436,8 +436,8 @@ export class CollectionToolsBuildingComponent implements OnInit {
return typeof value === 'number' && !isNaN(value);
}
//动态属性素材布尔值框改变radio
- assetRadioChange(i,boolean){
- let index = this.canvasAssetObj.PropertyInfos.findIndex((item)=>{
+ assetRadioChange(i, boolean) {
+ let index = this.canvasAssetObj.PropertyInfos.findIndex((item) => {
return i.PropertyName == item.PropertyName
})
this.canvasAssetObj.PropertyInfos[index].PropertyValue = boolean
@@ -447,35 +447,35 @@ export class CollectionToolsBuildingComponent implements OnInit {
colorIndex//默认素材颜色
selectedcolor//点击选择的颜色
//选择素材颜色
- selectcolor(item,key){
+ selectcolor(item, key) {
//在当前透明度基础上改变颜色
- this.selectedcolor = item + this.selectedcolor.substring(this.selectedcolor.length-2)
+ this.selectedcolor = item + this.selectedcolor.substring(this.selectedcolor.length - 2)
this.canvasAssetObj.Color = this.selectedcolor
this.canvasData.isChange = true
this.canvas.refreshIcon(this.canvasAssetObj.Id)
}
//颜色选择滑竿的值
colorDivSliderValue
- colorDivSliderChange(){
- let colorOpacity = Math.round(255 * this.colorDivSliderValue * 0.01)
+ colorDivSliderChange() {
+ let colorOpacity = Math.round(255 * this.colorDivSliderValue * 0.01)
//根据滑竿值改变16进制颜色后两位
- function replacepos(text,start,stop,replacetext){
- let mystr = text.substring(0,stop-1)+replacetext+text.substring(stop+1);
- return mystr;
+ function replacepos(text, start, stop, replacetext) {
+ let mystr = text.substring(0, stop - 1) + replacetext + text.substring(stop + 1);
+ return mystr;
}
- this.selectedcolor = replacepos(this.selectedcolor,7,8,colorOpacity.toString(16))
+ this.selectedcolor = replacepos(this.selectedcolor, 7, 8, colorOpacity.toString(16))
this.canvasAssetObj.Color = this.selectedcolor
this.canvasData.isChange = true
this.canvas.refreshIcon(this.canvasAssetObj.Id)
}
//上传素材图片
- selectFile(e){
+ selectFile(e) {
let imgFile = e.target.files[0] || null //上传的文件
this.startUploading(imgFile)
}
- objectName:any //上传对象名
- startUploading (imgFile) {
+ objectName: any //上传对象名
+ startUploading(imgFile) {
let _this = this
let file = imgFile || null //获取上传的文件
let fileSize = file.size || null //上传文件的总大小
@@ -483,13 +483,13 @@ export class CollectionToolsBuildingComponent implements OnInit {
let companyId = sessionStorage.getItem("companyId")
if (file && fileSize <= shardSize) { //上传文件<=5MB时
let formData = new FormData()
- formData.append("file",file)
- this.http.post(`api/Objects/WebPlan2D/${companyId}`,formData).subscribe((data:any)=>{
+ formData.append("file", file)
+ this.http.post(`api/Objects/WebPlan2D/${companyId}`, formData).subscribe((data: any) => {
this.objectName = data.objectName
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('上传成功','确定',config)
+ this.snackBar.open('上传成功', '确定', config)
//在原始素材对象和需要循环图片的对象中分别push最新上传的图片
let imgObj = {
@@ -505,12 +505,12 @@ export class CollectionToolsBuildingComponent implements OnInit {
"PropertyType": 3,
"PropertyValue": "/api/Objects/WebPlan2D/" + this.objectName
}
-
+
this.imagesArr.push(imgObj)
this.canvasAssetObj.PropertyInfos.push(imgObj)
setTimeout(() => {
- this.mySwiper = new Swiper('.swiper-container',{
+ this.mySwiper = new Swiper('.swiper-container', {
loop: false,
// grabCursor: true,
// 如果需要前进后退按钮
@@ -518,8 +518,8 @@ export class CollectionToolsBuildingComponent implements OnInit {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
- on:{
- click: function(){
+ on: {
+ click: function () {
_this.clickedIndex = this.clickedIndex
},
}
@@ -528,44 +528,44 @@ export class CollectionToolsBuildingComponent implements OnInit {
this.mySwiper.slideTo(this.imagesArr.length - 1)
this.gallery.update()
}, 0);
-
+
//判断上传素材属性图片是否超出数量 超出数量则隐藏input框
- if(this.imagesArr.length < this.imagesArrNum){//不超出input才会显示
+ if (this.imagesArr.length < this.imagesArrNum) {//不超出input才会显示
this.isImgNumCss = true
- }else{
+ } else {
this.isImgNumCss = false
}
-
+
this.canvasData.isChange = true
})
- } else if (file && fileSize>shardSize) { //上传文件>5MB时,分块上传
+ } else if (file && fileSize > shardSize) { //上传文件>5MB时,分块上传
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('上传图片文件不允许大于5mb','确定',config);
+ this.snackBar.open('上传图片文件不允许大于5mb', '确定', config);
}
}
//不能上传图片提示
- imgNumBeyond(){
+ imgNumBeyond() {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('图片数量已达上限','确定',config);
+ this.snackBar.open('图片数量已达上限', '确定', config);
}
//删除素材属性图片
- deleteImg(){
- if(this.imagesArr.length == 0){
+ deleteImg() {
+ if (this.imagesArr.length == 0) {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('没有可删除的图片,请先上传','确定',config)
- }else{
+ this.snackBar.open('没有可删除的图片,请先上传', '确定', config)
+ } else {
// 在素材原始对象中将删除的图片去掉
- this.canvasAssetObj.PropertyInfos = [...this.canvasAssetObj.PropertyInfos.filter((item)=>{
- return item.PropertyValue != this.imagesArr[this.mySwiper.activeIndex].PropertyValue
+ this.canvasAssetObj.PropertyInfos = [...this.canvasAssetObj.PropertyInfos.filter((item) => {
+ return item.PropertyValue != this.imagesArr[this.mySwiper.activeIndex].PropertyValue
})]
//在图片循环数组中将图片去掉
this.imagesArr.splice(this.mySwiper.activeIndex, 1);
@@ -578,7 +578,7 @@ export class CollectionToolsBuildingComponent implements OnInit {
//将上传的input框显示出来
this.isImgNumCss = true;
//清除图片缓存
- if((document.getElementById('inputimg'))){
+ if ((document.getElementById('inputimg'))) {
(document.getElementById('inputimg')).value = null //清空input框缓存
}
@@ -587,8 +587,8 @@ export class CollectionToolsBuildingComponent implements OnInit {
}
//动态属性方向select选择框
- direction(i,e){
- let index = this.canvasAssetObj.PropertyInfos.findIndex((item)=>{
+ direction(i, e) {
+ let index = this.canvasAssetObj.PropertyInfos.findIndex((item) => {
return i.PropertyName == item.PropertyName
})
this.canvasAssetObj.PropertyInfos[index].PropertyValue = e.target.value
@@ -596,8 +596,8 @@ export class CollectionToolsBuildingComponent implements OnInit {
}
//动态属性供给区域select选择框
- supplyArea(i,e){
- let index = this.canvasAssetObj.PropertyInfos.findIndex((item)=>{
+ supplyArea(i, e) {
+ let index = this.canvasAssetObj.PropertyInfos.findIndex((item) => {
return i.PropertyName == item.PropertyName
})
this.canvasAssetObj.PropertyInfos[index].PropertyValue = e.target.value
@@ -605,8 +605,8 @@ export class CollectionToolsBuildingComponent implements OnInit {
}
//动态属性供给类型select选择框
- supplyType(i,e){
- let index = this.canvasAssetObj.PropertyInfos.findIndex((item)=>{
+ supplyType(i, e) {
+ let index = this.canvasAssetObj.PropertyInfos.findIndex((item) => {
return i.PropertyName == item.PropertyName
})
this.canvasAssetObj.PropertyInfos[index].PropertyValue = e.target.value
@@ -616,62 +616,62 @@ export class CollectionToolsBuildingComponent implements OnInit {
isediticon = true //控制查看编辑模式的编辑模式小笔按钮
- isMultipleAsset:boolean = false//框选多个素材属性显隐
- multipleAsset:any = {
- Width:null,
- Height:null,
- Angle:null,
- Thickness:null,
- Color:null,
- PropertyInfos:[]
+ isMultipleAsset: boolean = false//框选多个素材属性显隐
+ multipleAsset: any = {
+ Width: null,
+ Height: null,
+ Angle: null,
+ Thickness: null,
+ Color: null,
+ PropertyInfos: []
}//多个素材共同属性
- multipleAssetData:any//当前多选的素材
- firstMultipleAssetData:any//当前多选的第一个素材
+ multipleAssetData: any//当前多选的素材
+ firstMultipleAssetData: any//当前多选的第一个素材
ngOnInit(): void {
let _this = this
- AxMessageSystem.addListener('selectionChanged', ()=>{
- if(this.canvas.selection.size() == 1){//如果是单选
+ AxMessageSystem.addListener('selectionChanged', () => {
+ if (this.canvas.selection.size() == 1) {//如果是单选
this.isMultipleAsset = false
this.setAssetsProperty(this.canvas.selection.first().assetData)
- }else if(this.canvas.selection.size()){
+ } else if (this.canvas.selection.size()) {
this.isShowProperty = true
this.multipleAssetData = this.canvas.selection.all()
this.firstMultipleAssetData = this.canvas.selection.first()
this.multipleAsset = {
- Width:null,
- Height:null,
- Angle:null,
- Thickness:null,
- Color:null,
- PropertyInfos:[]
+ Width: null,
+ Height: null,
+ Angle: null,
+ Thickness: null,
+ Color: null,
+ PropertyInfos: []
}
this.isMultipleAsset = true
let firstAssetData = this.canvas.selection.first().assetData;//拿出第一个素材作为例子与其他素材进行对比
let InteractiveMode = firstAssetData.InteractiveMode //素材连接方式
let isInteractiveMode = this.canvas.selection.all().every(item => item.assetData.InteractiveMode === InteractiveMode)
- if(isInteractiveMode){
+ if (isInteractiveMode) {
this.multipleAsset.InteractiveMode = InteractiveMode
}
let isFillMode = this.canvas.selection.all().every(item => item.assetData.FillMode === 0) //素材填充方式都为0
- if(isFillMode){
+ if (isFillMode) {
this.multipleAsset.FillMode = 0
}
this.canvas.selection.first().assetData.PropertyInfos.forEach(i => {
let index = 0
this.canvas.selection.all().forEach(item => {
item.assetData.PropertyInfos.forEach(element => {
- if(element.PropertyName == i.PropertyName && element.PropertyType == i.PropertyType && element.PropertyType != 3 && element.PropertyType != 4){
+ if (element.PropertyName == i.PropertyName && element.PropertyType == i.PropertyType && element.PropertyType != 3 && element.PropertyType != 4) {
index++
- if(index == this.canvas.selection.size()){
+ if (index == this.canvas.selection.size()) {
let newElement = JSON.parse(JSON.stringify(element))
newElement.PropertyValue = ''
this.multipleAsset.PropertyInfos.push(newElement)
}
}
});
- })
+ })
})
- }else if(this.canvas.selection.size() == 0){
+ } else if (this.canvas.selection.size() == 0) {
this.isShowProperty = false
}
}, this)
@@ -679,16 +679,16 @@ export class CollectionToolsBuildingComponent implements OnInit {
this.assetWidth = args1.Width
this.assetHeight = args1.Height
}, this)
- if(this.router.url.indexOf("keyUnit/viewunitinfo") != -1){ //查看模式
+ if (this.router.url.indexOf("keyUnit/viewunitinfo") != -1) { //查看模式
this.isEditPattern = false
this.isediticon = false
this.canvasData.gameMode = GameMode.Assignment
- } else if (this.router.url.indexOf("keyUnit/editplaninfo")!= -1) { //编辑模式
+ } else if (this.router.url.indexOf("keyUnit/editplaninfo") != -1) { //编辑模式
this.canvasData.gameMode = GameMode.BasicInformation
}
//gis模块平面图
- if(this.router.url.indexOf("gis") != -1 && sessionStorage.getItem("gisplan") == "look"){
+ if (this.router.url.indexOf("gis") != -1 && sessionStorage.getItem("gisplan") == "look") {
this.isEditPattern = false
this.isediticon = false
this.canvasData.gameMode = GameMode.Assignment
@@ -697,7 +697,7 @@ export class CollectionToolsBuildingComponent implements OnInit {
}
let that = this
- window.setTimeout(()=>{
+ window.setTimeout(() => {
document.getElementById("functionalDomainContentTwo").oncontextmenu = function (event) {
// that.canvas.cancelPaint()
that.selectImageIndex = -1
@@ -705,78 +705,78 @@ export class CollectionToolsBuildingComponent implements OnInit {
};
})
- this.canvasData.getMessage().subscribe((message: any)=>{
- if(message == "send a message"){
+ this.canvasData.getMessage().subscribe((message: any) => {
+ if (message == "send a message") {
this.refurbishTreeData()
}
})
}
//多选宽度共同改变
- multipleAssetWidthInput(){
- this.multipleAssetData.forEach(item=>{
+ multipleAssetWidthInput() {
+ this.multipleAssetData.forEach(item => {
item.assetData.Width = this.multipleAsset.Width
this.canvas.refreshIcon(item.assetData.Id)
this.canvasData.isChange = true
})
}
//多选高度共同改变
- multipleAssetHeightInput(){
- this.multipleAssetData.forEach(item=>{
+ multipleAssetHeightInput() {
+ this.multipleAssetData.forEach(item => {
item.assetData.Height = this.multipleAsset.Height
this.canvas.refreshIcon(item.assetData.Id)
this.canvasData.isChange = true
})
}
//多选角度共同改变
- multipleAssetAngleInput(){
- this.multipleAssetData.forEach(item=>{
+ multipleAssetAngleInput() {
+ this.multipleAssetData.forEach(item => {
item.assetData.Angle = this.multipleAsset.Angle
this.canvas.refreshIcon(item.assetData.Id)
this.canvasData.isChange = true
})
}
//多选厚度共同改变
- multipleAssetThicknessInput(){
- this.multipleAssetData.forEach(item=>{
+ multipleAssetThicknessInput() {
+ this.multipleAssetData.forEach(item => {
item.assetData.Thickness = this.multipleAsset.Thickness
this.canvas.refreshIcon(item.assetData.Id)
this.canvasData.isChange = true
})
}
//多选颜色共同改变
- multipleSelectedcolor:any
- multipleAssetSelectcolor(item,key){
+ multipleSelectedcolor: any
+ multipleAssetSelectcolor(item, key) {
//在当前透明度基础上改变颜色
this.multipleSelectedcolor = item
- this.multipleAssetData.forEach(item=>{
+ this.multipleAssetData.forEach(item => {
item.assetData.Color = this.multipleSelectedcolor
this.canvasData.isChange = true
this.canvas.refreshIcon(item.assetData.Id)
})
}
//多选颜色滑竿改变
- multipleColorDivSliderChange(){
- let colorOpacity = Math.round(255 * this.colorDivSliderValue * 0.01)
+ multipleColorDivSliderChange() {
+ let colorOpacity = Math.round(255 * this.colorDivSliderValue * 0.01)
//根据滑竿值改变16进制颜色后两位
- function replacepos(text,start,stop,replacetext){
- let mystr = text.substring(0,stop-1)+replacetext+text.substring(stop+1);
+ function replacepos(text, start, stop, replacetext) {
+ let mystr = text.substring(0, stop - 1) + replacetext + text.substring(stop + 1);
return mystr;
}
- this.multipleAssetData.forEach(item=>{
- this.multipleSelectedcolor = replacepos(this.multipleSelectedcolor,7,8,colorOpacity.toString(16))
+ this.multipleAssetData.forEach(item => {
+ this.multipleSelectedcolor = replacepos(this.multipleSelectedcolor, 7, 8, colorOpacity.toString(16))
item.assetData.Color = this.multipleSelectedcolor
this.canvasData.isChange = true
this.canvas.refreshIcon(item.assetData.Id)
})
}
//多选状态动态属性素材input框值改变
- multipleAssetInputChange(i,e){
+ multipleAssetInputChange(i, e) {
e.stopPropagation()
- this.multipleAssetData.forEach(item=>{
+ this.multipleAssetData.forEach(item => {
// console.log(item)
item.assetData.PropertyInfos.forEach(element => {
- if(element.PropertyName == i.PropertyName){
- if(this.myIsNaN(i.PropertyValue)){
+ if (element.PropertyName == i.PropertyName) {
+ if (this.myIsNaN(i.PropertyValue)) {
i.PropertyValue = String(i.PropertyValue)
}
element.PropertyValue = i.PropertyValue
@@ -787,12 +787,12 @@ export class CollectionToolsBuildingComponent implements OnInit {
})
}
//多选状态动态属性素材radio框值改变
- multipleAssetRadioChange(i,value){
+ multipleAssetRadioChange(i, value) {
// e.stopPropagation()
- this.multipleAssetData.forEach(item=>{
+ this.multipleAssetData.forEach(item => {
// console.log(item)
item.assetData.PropertyInfos.forEach(element => {
- if(element.PropertyName == i.PropertyName){
+ if (element.PropertyName == i.PropertyName) {
element.PropertyValue = value
this.canvas.refreshIcon(item.assetData.Id)
this.canvasData.isChange = true
@@ -801,12 +801,12 @@ export class CollectionToolsBuildingComponent implements OnInit {
})
}
//多选状态动态属性素材下拉框值改变
- multipleSupplyArea(i,e){
+ multipleSupplyArea(i, e) {
e.stopPropagation()
- this.multipleAssetData.forEach(item=>{
+ this.multipleAssetData.forEach(item => {
// console.log(item)
item.assetData.PropertyInfos.forEach(element => {
- if(element.PropertyName == i.PropertyName){
+ if (element.PropertyName == i.PropertyName) {
element.PropertyValue = i.PropertyValue
this.canvas.refreshIcon(item.assetData.Id)
this.canvasData.isChange = true
@@ -819,76 +819,79 @@ export class CollectionToolsBuildingComponent implements OnInit {
ngAfterViewInit(): void {
//不是gis模块平面图
- if(this.router.url.indexOf("gis") == -1) {
+ if (this.router.url.indexOf("gis") == -1) {
this.getAllBuildings(true) //获取所有建筑
}
//监听数据变化后
- this.canvas.on('canvasDataChanged',()=>{
+ this.canvas.on('canvasDataChanged', () => {
// 收到数据表示共享数据发生变化
this.renovateTreeData(false)
});
}
- copyAssetData:any //存储用于复制的素材
+ copyAssetData: any //存储用于复制的素材
//复制素材
- copyAsset(){
+ copyAsset() {
this.canvas.copy()
}
//粘贴素材
- pasteAsset(){
+ pasteAsset() {
let companyId = sessionStorage.getItem("companyId")
let buildingId = this.beforeOneCheckedBuilding.id
let floorId = this.selectingSitePlan.id
- this.canvas.paste(companyId,buildingId,floorId)
+ this.canvas.paste(companyId, buildingId, floorId)
this.renovateTreeData(false)
}
+ //截图
+ takeScreenshot() {
+ this.canvas.takeScreenshot();
+ }
+ isMultiSelect: boolean = false; // 多选/单选 切换
+ changeMultiSelect(e) { this.canvas.setMulitSelect(this.isMultiSelect) }
+ isShowLegend: boolean = true; //图例是否显示
+ changeLegend(e) { this.canvasData.selectPanelPoint.BackgroundImageUrl ? null : this.canvas.setLegendVisible(this.isShowLegend) }
- isMultiSelect:boolean = false; // 多选/单选 切换
- changeMultiSelect (e) { this.canvas.setMulitSelect(this.isMultiSelect) }
- isShowLegend:boolean = true; //图例是否显示
- changeLegend (e) { this.canvasData.selectPanelPoint.BackgroundImageUrl? null : this.canvas.setLegendVisible(this.isShowLegend) }
-
- basicInfo:boolean = true //基本信息名称显隐
- wantToWork:boolean = true //想定作业名称显隐
+ basicInfo: boolean = true //基本信息名称显隐
+ wantToWork: boolean = true //想定作业名称显隐
//点击基本信息名称
- basicInfoClick(){
+ basicInfoClick() {
this.basicInfo = !this.basicInfo
- this.canvas.setNameVisible(this.basicInfo,0)
+ this.canvas.setNameVisible(this.basicInfo, 0)
}
//点击想定作业名称
- wantToWorkClick(){
+ wantToWorkClick() {
this.wantToWork = !this.wantToWork
- this.canvas.setNameVisible(this.wantToWork,1)
+ this.canvas.setNameVisible(this.wantToWork, 1)
}
- isEditPattern:boolean = true //是否为编辑模式
+ isEditPattern: boolean = true //是否为编辑模式
//进入编辑模式
- editpat(){
+ editpat() {
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('进入编辑模式','确定',config);
+ this.snackBar.open('进入编辑模式', '确定', config);
this.isEditPattern = true
}
//进入查看模式
- lookpat(){
+ lookpat() {
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('进入查看模式','确定',config);
+ this.snackBar.open('进入查看模式', '确定', config);
this.isEditPattern = false
}
//保存平面图
- saveNum :any = []
- saveSite(){
+ saveNum: any = []
+ saveSite() {
//更新用于统计的数据
this.canvasData.updateBuildingData()
-
- if (this.selectingSitePlan && this.selectingSitePlan.id) {
+
+ if (this.selectingSitePlan && this.selectingSitePlan.id) {
//打开遮罩层
this.maskLayerService.sendMessage(true)
this.saveNum = []
@@ -896,290 +899,290 @@ export class CollectionToolsBuildingComponent implements OnInit {
SitePlanData.data = JSON.stringify(SitePlanData.data)
let CompanyData = JSON.parse(JSON.stringify(this.canvasData.originalcompanyBuildingData));
CompanyData.data = JSON.stringify(CompanyData.data)
-
+
let object = this.canvasData.originalcompanyBuildingData.data
let adjoinArr = [] //毗邻数组
-
- if(this.pattern){//如果是基本信息编辑模式
+
+ if (this.pattern) {//如果是基本信息编辑模式
for (const key in object) {
if (object[key].Name == "毗邻") {//如果是相同楼层,则筛选出毗邻
-
+
object[key].PropertyInfos.forEach(element => {
- if(element.PropertyName == "方向"){
+ if (element.PropertyName == "方向") {
adjoinArr.push(element.PropertyValue)
}
});
}
}
-
- if((new Set(adjoinArr)).size != adjoinArr.length){
+
+ if ((new Set(adjoinArr)).size != adjoinArr.length) {
this.maskLayerService.sendMessage(false)
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('保存失败,毗邻存在相同方向','确定',config);
+ this.snackBar.open('保存失败,毗邻存在相同方向', '确定', config);
return false
- }else{
+ } else {
//如果是单位 总平面图
- if(this.checkedBuildingIndex==-1){
+ if (this.checkedBuildingIndex == -1) {
// console.log(111,SitePlanData)
//保存平面图数据
- this.http.post("/api/SitePlanData",SitePlanData,{
- params:{
- companyId:this.params.companyId
+ this.http.post("/api/SitePlanData", SitePlanData, {
+ params: {
+ companyId: this.params.companyId
}
}).subscribe(data => {
this.saveNum.push("1")
- if(this.saveNum.length == 5){
+ 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.snackBar.open('保存成功', '确定', config);
this.tabbarService.sendMessage('changeScore');
}
- },err=>{
+ }, 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);
})
-
+
//保存建筑数据
- this.http.post("/api/CompanyData",CompanyData,{
- params:{
- companyId:this.params.companyId
+ this.http.post("/api/CompanyData", CompanyData, {
+ params: {
+ companyId: this.params.companyId
}
}).subscribe(data => {
this.saveNum.push("1")
- if(this.saveNum.length == 5){
+ 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.snackBar.open('保存成功', '确定', config);
this.tabbarService.sendMessage('changeScore');
}
- },err=>{
+ }, 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);
})
-
+
//批量保存单位毗邻
let CompanyAdjoins = this.canvasData.getCompanyAdjoinInfo()
- this.http.post("/api/CompanyAdjoins/Batch",CompanyAdjoins,{
- params:{
- companyId:this.params.companyId
+ this.http.post("/api/CompanyAdjoins/Batch", CompanyAdjoins, {
+ params: {
+ companyId: this.params.companyId
}
}).subscribe(data => {
this.saveNum.push("1")
- if(this.saveNum.length == 5){
+ 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.snackBar.open('保存成功', '确定', config);
this.tabbarService.sendMessage('changeScore');
}
- },err=>{
+ }, 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);
+ if (err == 'infos 有重复方向!') {
+ this.snackBar.open('单位毗邻同步失败,存在相同方向', '确定', config);
+ } else {
+ this.snackBar.open('单位毗邻同步失败', '确定', config);
}
})
-
+
//批量保存单位重点部位
let CompanyImportantLocations = this.canvasData.getCompanyImportantLocations()
- this.http.post("/api/CompanyImportantLocations/Batch",CompanyImportantLocations,{
- params:{
- companyId:this.params.companyId
+ this.http.post("/api/CompanyImportantLocations/Batch", CompanyImportantLocations, {
+ params: {
+ companyId: this.params.companyId
}
}).subscribe(data => {
this.saveNum.push("1")
- if(this.saveNum.length == 5){
+ 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.snackBar.open('保存成功', '确定', config);
this.tabbarService.sendMessage('changeScore');
}
- },err=>{
+ }, 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);
})
-
+
//批量保存单位消防设施素材
let CompanyFacilityAssets = this.canvasData.getAllCompanyFacilityAssetInfo()
- this.http.post("/api/CompanyFacilityAssets/Batch",CompanyFacilityAssets,{
- params:{
- companyId:this.params.companyId
+ this.http.post("/api/CompanyFacilityAssets/Batch", CompanyFacilityAssets, {
+ params: {
+ companyId: this.params.companyId
}
}).subscribe(data => {
this.saveNum.push("1")
- if(this.saveNum.length == 5){
+ 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.snackBar.open('保存成功', '确定', config);
this.tabbarService.sendMessage('changeScore');
}
- },err=>{
+ }, 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{ //如果是建筑
-
+
+ } else { //如果是建筑
+
//建筑平面图数据
- this.http.post("/api/BuildingAreaData",SitePlanData,{
- params:{
- companyId:this.params.companyId
+ this.http.post("/api/BuildingAreaData", SitePlanData, {
+ params: {
+ companyId: this.params.companyId
}
}).subscribe(data => {
this.saveNum.push("1")
- if(this.saveNum.length == 5){
+ 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.snackBar.open('保存成功', '确定', config);
this.tabbarService.sendMessage('changeScore');
}
- },err=>{
+ }, 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);
})
-
+
//建筑数据
- this.http.post("/api/BuildingData",CompanyData,{
- params:{
- companyId:this.params.companyId
+ this.http.post("/api/BuildingData", CompanyData, {
+ params: {
+ companyId: this.params.companyId
}
}).subscribe(data => {
this.saveNum.push("1")
- if(this.saveNum.length == 5){
+ 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.snackBar.open('保存成功', '确定', config);
this.tabbarService.sendMessage('changeScore');
}
- },err=>{
+ }, 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);
})
-
+
//批量保存建筑毗邻
let buildingAdjoins = this.canvasData.getBuildingAdjoinInfo()
- this.http.post(`/api/BuildingAdjoins/Batch?companyId=${this.params.companyId}&buildingId=${this.canvasData.selectStorey.buildingId}`,buildingAdjoins).subscribe(data => {
+ 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){
+ 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.snackBar.open('保存成功', '确定', config);
this.tabbarService.sendMessage('changeScore');
}
- },err=>{
+ }, 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);
+ 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.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){
+ 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.snackBar.open('保存成功', '确定', config);
this.tabbarService.sendMessage('changeScore');
}
- },err=>{
+ }, 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);
})
-
+
//批量保存建筑消防设施素材
let buildingFacilityAssets = this.canvasData.getAllBuildingFacilityAssetInfo()
- this.http.post(`/api/BuildingFacilityAssets/Batch?companyId=${this.params.companyId}&buildingId=${this.canvasData.selectStorey.buildingId}`,buildingFacilityAssets).subscribe(data => {
+ 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){
+ 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.snackBar.open('保存成功', '确定', config);
this.tabbarService.sendMessage('changeScore');
}
- },err=>{
+ }, 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);
})
-
+
}
}
}
@@ -1187,56 +1190,56 @@ export class CollectionToolsBuildingComponent implements OnInit {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('暂无楼层数据','确定',config);
+ this.snackBar.open('暂无楼层数据', '确定', config);
}
}
//获得所有的建筑物
- getAllBuildings(init:boolean = false){
- this.http.get("/api/Buildings",{ params:{companyId : this.params.companyId}}).subscribe((data:any)=>{
+ getAllBuildings(init: boolean = false) {
+ this.http.get("/api/Buildings", { params: { companyId: this.params.companyId } }).subscribe((data: any) => {
this.allBuildings = data
if (init) {
this.checkedBuildingIndex = 0
- data && data.length? this.beforeOneCheckedBuilding = data[0] : this.beforeOneCheckedBuilding = {id:null, buildingTypes:[{id:null}]}
+ data && data.length ? this.beforeOneCheckedBuilding = data[0] : this.beforeOneCheckedBuilding = { id: null, buildingTypes: [{ id: null }] }
this.getBuildingSitePlan(this.beforeOneCheckedBuilding)
} //if
})
}
//拖拽tree
- drop(e){
+ drop(e) {
// console.log(1111,e)
}
- drop2(e){
+ drop2(e) {
// console.log(222,e)
}
//创建建筑
- createBuilding(){
+ createBuilding() {
let data = {
- allBuildings:this.allBuildings,
- companyId :this.params.companyId
+ allBuildings: this.allBuildings,
+ companyId: this.params.companyId
}
- let dialogRef = this.dialog.open(CreateBuildingBuilding,{data});
- dialogRef.afterClosed().subscribe(data=>{
+ let dialogRef = this.dialog.open(CreateBuildingBuilding, { data });
+ dialogRef.afterClosed().subscribe(data => {
if (data == "创建成功") {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('创建成功','确定',config);
- this.allBuildings.length? this.getAllBuildings() : this.getAllBuildings(true)
- }else if (data == "创建失败") {
+ this.snackBar.open('创建成功', '确定', config);
+ this.allBuildings.length ? this.getAllBuildings() : this.getAllBuildings(true)
+ } else if (data == "创建失败") {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('创建失败','确定',config);
+ this.snackBar.open('创建失败', '确定', config);
}
- });
+ });
}
//选择建筑
- checkedBuilding(item,index){
- if (this.checkedBuildingIndex!=index) {
+ checkedBuilding(item, index) {
+ if (this.checkedBuildingIndex != index) {
this.canvasData.selectPanelPoint = new DisposalNodeData();
if (this.canvasData.isChange) { //true 数据被改动
let isTrue = confirm('是否保存当前编辑数据')
@@ -1245,7 +1248,7 @@ export class CollectionToolsBuildingComponent implements OnInit {
if (isSuccess != false) {
this.beforeOneCheckedBuilding = item
this.checkedBuildingIndex = index
- if (index==-1) { //总平面图数据
+ if (index == -1) { //总平面图数据
this.getSitePlan()
} else { //建筑楼层/区域数据
this.getBuildingSitePlan(item)
@@ -1254,7 +1257,7 @@ export class CollectionToolsBuildingComponent implements OnInit {
} else {
this.beforeOneCheckedBuilding = item
this.checkedBuildingIndex = index
- if (index==-1) { //总平面图数据
+ if (index == -1) { //总平面图数据
this.getSitePlan()
} else { //建筑楼层/区域数据
this.getBuildingSitePlan(item)
@@ -1263,7 +1266,7 @@ export class CollectionToolsBuildingComponent implements OnInit {
} else { //flase 数据未被改动
this.beforeOneCheckedBuilding = item
this.checkedBuildingIndex = index
- if (index==-1) { //总平面图数据
+ if (index == -1) { //总平面图数据
this.getSitePlan()
} else { //建筑楼层/区域数据
this.getBuildingSitePlan(item)
@@ -1274,49 +1277,49 @@ export class CollectionToolsBuildingComponent implements OnInit {
}
//编辑建筑
- editBuilding(e,item){
+ editBuilding(e, item) {
e.stopPropagation();
- let dialogRef = this.dialog.open(EditBuildingBuilding,{data: {item:item}});
- dialogRef.afterClosed().subscribe(data=>{
+ let dialogRef = this.dialog.open(EditBuildingBuilding, { data: { item: item } });
+ dialogRef.afterClosed().subscribe(data => {
if (data == "修改成功") {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('修改成功','确定',config);
+ this.snackBar.open('修改成功', '确定', config);
this.getAllBuildings()
- }else if (data == "修改失败") {
+ } else if (data == "修改失败") {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('修改失败','确定',config);
+ this.snackBar.open('修改失败', '确定', config);
}
- });
+ });
}
//删除建筑
- deleteBuilding(e,item){
+ deleteBuilding(e, item) {
e.stopPropagation();
- if(confirm("是否删除该建筑") == true){
- let isHave = this.canvasData.allDisposalNode.find(items=>{ return items.buildingId === item.id })
+ if (confirm("是否删除该建筑") == true) {
+ let isHave = this.canvasData.allDisposalNode.find(items => { return items.buildingId === item.id })
if (isHave == undefined) {
- this.http.delete(`/api/Buildings/${item.id}`).subscribe(data=>{
+ this.http.delete(`/api/Buildings/${item.id}`).subscribe(data => {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('删除成功','确定',config);
+ this.snackBar.open('删除成功', '确定', config);
this.getAllBuildings(true)
- },err=>{
+ }, err => {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('删除失败','确定',config);
+ this.snackBar.open('删除失败', '确定', config);
this.getAllBuildings(true)
})
} else { //建筑 含有数据节点时
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('含有数据节点的建筑不允许删除','确定',config);
+ this.snackBar.open('含有数据节点的建筑不允许删除', '确定', config);
}
}
}
@@ -1324,7 +1327,7 @@ export class CollectionToolsBuildingComponent implements OnInit {
storeyData //将建筑素材和当前楼层素材合二为一
//处理 tree 数据结构
- handleTreeData (storeyData) {
+ handleTreeData(storeyData) {
this.hideAllTreenode = true
this.storeyData = storeyData
let data = this.allFireElements //所有消防要素模板
@@ -1332,22 +1335,22 @@ export class CollectionToolsBuildingComponent implements OnInit {
data.forEach(element => {
element.isTemplate = true //添加模板标识
element.isLook = true //添加是否可见标识
- element.name!='其他'? element.children = [] : null
+ element.name != '其他' ? element.children = [] : null
- if(storeyData){
- for(let key in storeyData.data){
+ if (storeyData) {
+ for (let key in storeyData.data) {
storeyData.data[key].isLookPattern = true
- if(element.id == storeyData.data[key].FireElementId){
+ if (element.id == storeyData.data[key].FireElementId) {
storeyData.data[key].isTemplate = false
storeyData.data[key].isLook = true
-
+
element.isNewElement = true //该节点children是否存在新添加的真实素材 标识
//定义查看模式下能看到的元素
element.isLookPattern = true
- if(element.parentId){
+ if (element.parentId) {
data.forEach(i => {
- if(i.id == element.parentId){
+ if (i.id == element.parentId) {
i.isLookPattern = true
}
})
@@ -1358,7 +1361,7 @@ export class CollectionToolsBuildingComponent implements OnInit {
}
}
}
- data.forEach(item => { if (item.parentId == element.id) {element.children.push(item)} });
+ data.forEach(item => { if (item.parentId == element.id) { element.children.push(item) } });
});
data.forEach(element => {
if (!element.parentId) { treeData.push(element) }
@@ -1368,89 +1371,89 @@ export class CollectionToolsBuildingComponent implements OnInit {
}
//点击树节点
- clickTreeNode(node){
- if(this.canvasData.originalcompanyBuildingData.data[node.id]){
+ clickTreeNode(node) {
+ if (this.canvasData.originalcompanyBuildingData.data[node.id]) {
this.setAssetsProperty(this.canvasData.originalcompanyBuildingData.data[node.id])
- }else if(this.canvasData.originaleveryStoreyData.data[node.id]){
+ } else if (this.canvasData.originaleveryStoreyData.data[node.id]) {
this.setAssetsProperty(this.canvasData.originaleveryStoreyData.data[node.id])
}
//canvas上的素材高亮
- let iconHighLightArr:any = []
- if(node.isTemplate){//如果是模板,则开始向下找
+ let iconHighLightArr: any = []
+ if (node.isTemplate) {//如果是模板,则开始向下找
node.children.forEach(item => {
- if(item.isTemplate){//如果子节点依旧是模板,则继续开始向下找
+ if (item.isTemplate) {//如果子节点依旧是模板,则继续开始向下找
item.children.forEach(i => {
iconHighLightArr.push(i.Id)
})
- }else{
+ } else {
iconHighLightArr.push(item.Id)
}
})
- }else{
+ } else {
iconHighLightArr.push(node.id)
}
this.canvas.setHighlight(iconHighLightArr)
}
- hideAllTreenode:boolean = true; //全部显示/隐藏tree节点
- toggoleAllTreenode () {
+ hideAllTreenode: boolean = true; //全部显示/隐藏tree节点
+ toggoleAllTreenode() {
this.hideAllTreenode = !this.hideAllTreenode
let list = []
- this.allFireElements.forEach(element=>{
- if (element.isTemplate) { this.hideAllTreenode? element.isLook = false : element.isLook = true }
+ this.allFireElements.forEach(element => {
+ if (element.isTemplate) { this.hideAllTreenode ? element.isLook = false : element.isLook = true }
})
- this.treeControl.dataNodes.forEach(item=>{
- this.hideAllTreenode? item.isLook = false : item.isLook = true
+ this.treeControl.dataNodes.forEach(item => {
+ this.hideAllTreenode ? item.isLook = false : item.isLook = true
item.level === 0 ? list.push(item) : null
})
- list.forEach(item=>{
+ list.forEach(item => {
this.clickLookItem(item)
})
}
//点击数节点的显示隐藏icon
- clickLookItem(node){
+ clickLookItem(node) {
//修改真实素材islook属性
- for(let key in this.storeyData.data){
- if(key == node.id){
+ for (let key in this.storeyData.data) {
+ if (key == node.id) {
this.storeyData.data[key].isLook = !this.storeyData.data[key].isLook
}
}
-
+
//所有消防要素模板变化islook值
console.log(node)
- if(node.isTemplate){
- this.allFireElements.forEach(item=>{
- if(item.id == node.id){ item.isLook = !item.isLook }
+ if (node.isTemplate) {
+ this.allFireElements.forEach(item => {
+ if (item.id == node.id) { item.isLook = !item.isLook }
if (item.name == '其他' && node.name == '其他') { item.isLook = !item.isLook }
})
}
-
+
//子节点跟随父节点的islook变化
- if(node.children && node.children.length != 0){
- node.children.forEach(item=>{
- item.isLook = !node.isLook
- if(item.children && item.children.length != 0){
- item.children.forEach(i=>{
- i.isLook = !node.isLook
- })
- }
- })
- }
+ if (node.children && node.children.length != 0) {
+ node.children.forEach(item => {
+ item.isLook = !node.isLook
+ if (item.children && item.children.length != 0) {
+ item.children.forEach(i => {
+ i.isLook = !node.isLook
+ })
+ }
+ })
+ }
const nodes = this.treeControl.dataNodes;
const expandNodes = [];
nodes.forEach((item) => {
- if(item.expandable && this.treeControl.isExpanded(item)){
+ if (item.expandable && this.treeControl.isExpanded(item)) {
expandNodes.push(item.id);
}
});
-
+
this.dataSource.data = [...this.dataSource.data]
-
+
let newNodes = this.treeControl.dataNodes;
newNodes = newNodes.filter(n => {
return expandNodes.indexOf(n.id) >= 0;
@@ -1460,25 +1463,25 @@ export class CollectionToolsBuildingComponent implements OnInit {
});
//canvas上的素材显隐
- let iconVisibleArr:any = []
- if(node.isTemplate){//如果是模板,则开始向下找
+ let iconVisibleArr: any = []
+ if (node.isTemplate) {//如果是模板,则开始向下找
node.children.forEach(item => {
- if(item.isTemplate){//如果子节点依旧是模板,则继续开始向下找
+ if (item.isTemplate) {//如果子节点依旧是模板,则继续开始向下找
item.children.forEach(i => {
iconVisibleArr.push(i.Id)
})
- }else{
+ } else {
iconVisibleArr.push(item.Id)
}
})
- }else{
+ } else {
iconVisibleArr.push(node.id)
}
- this.canvas.setIconVisible(iconVisibleArr,!node.isLook)
+ this.canvas.setIconVisible(iconVisibleArr, !node.isLook)
}
//计算 可视区域内宽度, 是否缩放背景图
- backGroundScale () {
+ backGroundScale() {
// let that = this
// let dad = this.element.nativeElement.querySelector('.functionalDomainContent').clientWidth
// let dadHeight = this.element.nativeElement.querySelector('.functionalDomainContent').clientHeight
@@ -1504,30 +1507,30 @@ export class CollectionToolsBuildingComponent implements OnInit {
}
//封装 刷新 tree 数据
- async renovateTreeData (isRefresh:boolean = true) {
- this.allFireElements[this.allFireElements.length-1].children = []
- isRefresh? await this.canvas.refresh() : null
- this.canvas.setNameVisible(this.basicInfo,0)
- this.canvas.setNameVisible(this.wantToWork,1)
+ async renovateTreeData(isRefresh: boolean = true) {
+ this.allFireElements[this.allFireElements.length - 1].children = []
+ isRefresh ? await this.canvas.refresh() : null
+ this.canvas.setNameVisible(this.basicInfo, 0)
+ this.canvas.setNameVisible(this.wantToWork, 1)
this.canvas.setLegendVisible(this.isShowLegend) //图例显隐
- isRefresh? this.canvasData.isChange = false : null //服务中 数据是否改动 改为false
- isRefresh? this.isShowProperty = true : null
- isRefresh? this.isShowAttribute = true : null
- !this.pattern? this.mateFireForce() : null //刷新 建筑楼层 火源/力量图标
+ isRefresh ? this.canvasData.isChange = false : null //服务中 数据是否改动 改为false
+ isRefresh ? this.isShowProperty = true : null
+ isRefresh ? this.isShowAttribute = true : null
+ !this.pattern ? this.mateFireForce() : null //刷新 建筑楼层 火源/力量图标
let beforeOneId = this.selectingSitePlan.id || '' //当前 选中 平面图 楼层/区域 id
- let companyBuildingData = JSON.parse(JSON.stringify( this.canvasData.originalcompanyBuildingData || {} )) // 当前 单位/建筑 数据
- let storeyData = JSON.parse(JSON.stringify( this.canvasData.originaleveryStoreyData || {} )) //当前 楼层 数据
+ let companyBuildingData = JSON.parse(JSON.stringify(this.canvasData.originalcompanyBuildingData || {})) // 当前 单位/建筑 数据
+ let storeyData = JSON.parse(JSON.stringify(this.canvasData.originaleveryStoreyData || {})) //当前 楼层 数据
// for(let key in companyBuildingData.data){
// if (companyBuildingData.data[key].FloorId === beforeOneId) { //处理 单位/建筑 数据是否归于当前楼层下
// storeyData.data[key] = companyBuildingData.data[key]
// }
// }
- for(let key in storeyData.data){ //筛选数据 没有匹配全部放入到 其他 数组
- let noMatch = this.allFireElements.find( every=> every.id===storeyData.data[key].FireElementId )
+ for (let key in storeyData.data) { //筛选数据 没有匹配全部放入到 其他 数组
+ let noMatch = this.allFireElements.find(every => every.id === storeyData.data[key].FireElementId)
if (!noMatch && storeyData.data[key].Id != "图例") {
- this.allFireElements[this.allFireElements.length-1].children.push(storeyData.data[key])
+ this.allFireElements[this.allFireElements.length - 1].children.push(storeyData.data[key])
}
}
this.handleTreeData(storeyData) //处理tree数据结构
@@ -1538,53 +1541,53 @@ export class CollectionToolsBuildingComponent implements OnInit {
//陈鹏飞↓↓↓
//陈鹏飞↓↓↓
//陈鹏飞↓↓↓
- params = {companyId: sessionStorage.getItem('companyId')}
- allFireElements:any = []; //当前 单位/建筑 下的消防要素
+ params = { companyId: sessionStorage.getItem('companyId') }
+ allFireElements: any = []; //当前 单位/建筑 下的消防要素
- isShowAttribute:boolean = true; //属性栏 是否显示 默认数据
- isShowProperty:boolean = false //属性栏 是否有东西
+ isShowAttribute: boolean = true; //属性栏 是否显示 默认数据
+ isShowProperty: boolean = false //属性栏 是否有东西
- toggleExpandPanel:boolean = false; //左侧可展开面板展开或关闭
- toggleExpandPanelRight:boolean = false; //右侧可展开面板展开或关闭
- togglePlane:boolean = true; //可展开面板平面图 显隐
- toggleMaterialBank:boolean = false; //可展开面板素材库 显隐
- toggleHandlePlans:boolean = true; //可展开面板处置预案 显隐
+ toggleExpandPanel: boolean = false; //左侧可展开面板展开或关闭
+ toggleExpandPanelRight: boolean = false; //右侧可展开面板展开或关闭
+ togglePlane: boolean = true; //可展开面板平面图 显隐
+ toggleMaterialBank: boolean = false; //可展开面板素材库 显隐
+ toggleHandlePlans: boolean = true; //可展开面板处置预案 显隐
//可展开面板展开或关闭
- toggle () {
+ toggle() {
this.toggleExpandPanel = !this.toggleExpandPanel
}
//可展开面板展开或关闭
- toggle2 () {
+ toggle2() {
this.toggleExpandPanelRight = !this.toggleExpandPanelRight
}
//可展开面板 平面图 展开或关闭
- togglePlanarGraph () {
+ togglePlanarGraph() {
this.togglePlane = !this.togglePlane
}
//可展开面板 素材库 展开或关闭
- toggleMaterial () {
+ toggleMaterial() {
this.toggleMaterialBank = !this.toggleMaterialBank
}
//可展开面板 处置预案 展开或关闭
- toggleHandlePlan () {
+ toggleHandlePlan() {
this.toggleHandlePlans = !this.toggleHandlePlans
}
- sitePlanData:any = []; //总平面图 楼层/区域 数据
- selectingSitePlan:any; //选中的 平面图 楼层/区域
- selectSitePlanIndex:number; //选中的 平面图 楼层/区域 index
+ sitePlanData: any = []; //总平面图 楼层/区域 数据
+ selectingSitePlan: any; //选中的 平面图 楼层/区域
+ selectSitePlanIndex: number; //选中的 平面图 楼层/区域 index
//获取总平面图
- getSitePlan () {
+ getSitePlan() {
let fireData = this.getFireElements(sessionStorage.getItem('buildingTypeId')) //获取单位下 消防要素
let planData = this.getSitePlanCompanyData() //获取 单位 数据
- this.http.get('/api/SitePlans',{params:this.params}).subscribe(data=>{
+ this.http.get('/api/SitePlans', { params: this.params }).subscribe(data => {
this.sitePlanData = data
this.selectingSitePlan = this.sitePlanData[0] || {}
this.canvasData.selectStorey = this.sitePlanData[0] || {} //服务中 存一份数据
this.selectSitePlanIndex = 0
- Promise.all([fireData,planData]).then((res)=>{
+ Promise.all([fireData, planData]).then((res) => {
this.getSitePlanStorey(this.selectingSitePlan) //获取 平面图 楼层数据
})
@@ -1592,17 +1595,17 @@ export class CollectionToolsBuildingComponent implements OnInit {
}
//获取建筑 楼层/区域
- getBuildingSitePlan (item) {
+ getBuildingSitePlan(item) {
let params = { buildingId: item.id }
let fireData = this.getFireElements(item.buildingTypes[0].id || '') //获取建筑下 消防要素
let planData = this.getBuildingData(params) //获取 建筑 数据
- this.http.get('/api/BuildingAreas',{params}).subscribe(data=>{
+ this.http.get('/api/BuildingAreas', { params }).subscribe(data => {
this.sitePlanData = data
this.selectingSitePlan = this.sitePlanData[0] || {}
this.canvasData.selectStorey = this.sitePlanData[0] || {} //服务中 存一份数据
this.selectSitePlanIndex = 0
- Promise.all([fireData,planData]).then((res)=>{
+ Promise.all([fireData, planData]).then((res) => {
this.getBuildingStorey(this.selectingSitePlan) //获取 建筑 楼层数据
})
@@ -1610,10 +1613,10 @@ export class CollectionToolsBuildingComponent implements OnInit {
}
//根据单位类型获得所有的消防要素
- getFireElements (e) {
- let params = {ids:e}
- return new Promise ((resolve,reject)=>{
- this.http.get('/api/Companies/FireElements',{params}).subscribe((data:any)=>{
+ getFireElements(e) {
+ let params = { ids: e }
+ return new Promise((resolve, reject) => {
+ this.http.get('/api/Companies/FireElements', { params }).subscribe((data: any) => {
this.allFireElements = data //所有消防要素
let other = {
children: [],
@@ -1623,7 +1626,7 @@ export class CollectionToolsBuildingComponent implements OnInit {
order: 999,
parentId: null,
tag: "INPUT",
- isLookPattern : true
+ isLookPattern: true
}
this.allFireElements.push(other)
resolve('success')
@@ -1632,57 +1635,57 @@ export class CollectionToolsBuildingComponent implements OnInit {
}
//获取 单位 数据
- getSitePlanCompanyData () {
- return new Promise ((resolve,reject)=>{
- this.http.get('/api/CompanyData',{params:this.params}).subscribe((data:any)=>{
+ getSitePlanCompanyData() {
+ return new Promise((resolve, reject) => {
+ 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.data ? this.canvasData.originalcompanyBuildingData.data = JSON.parse(this.canvasData.originalcompanyBuildingData.data) : this.canvasData.originalcompanyBuildingData.data = {}
this.canvasData.originalcompanyBuildingData.version = "2.0"
- this.canvasData.originalcompanyBuildingData.companyId? null : this.canvasData.originalcompanyBuildingData.companyId = sessionStorage.getItem('companyId')
+ this.canvasData.originalcompanyBuildingData.companyId ? null : this.canvasData.originalcompanyBuildingData.companyId = sessionStorage.getItem('companyId')
resolve('success')
})
})
}
//获取 平面图 楼层数据
- getSitePlanStorey (e) {
- let params = {sitePlanId: e.id}
- this.http.get(`/api/SitePlanData`,{params}).subscribe((data:any)=>{
+ getSitePlanStorey(e) {
+ let params = { sitePlanId: e.id }
+ 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.data ? this.canvasData.originaleveryStoreyData.data = JSON.parse(this.canvasData.originaleveryStoreyData.data) : this.canvasData.originaleveryStoreyData.data = {}
this.canvasData.originaleveryStoreyData.version = "2.0"
- this.canvasData.originaleveryStoreyData.sitePlanId? null : this.canvasData.originaleveryStoreyData.sitePlanId = e.id || null
+ this.canvasData.originaleveryStoreyData.sitePlanId ? null : this.canvasData.originaleveryStoreyData.sitePlanId = e.id || null
this.renovateTreeData()
})
}
//获取 建筑 数据
- getBuildingData (e) {
- return new Promise ((resolve,reject)=>{
- this.http.get(`/api/BuildingData`,{params:e}).subscribe((data:any)=>{
+ getBuildingData(e) {
+ return new Promise((resolve, reject) => {
+ 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.data ? this.canvasData.originalcompanyBuildingData.data = JSON.parse(this.canvasData.originalcompanyBuildingData.data) : this.canvasData.originalcompanyBuildingData.data = {}
this.canvasData.originalcompanyBuildingData.version = "2.0"
- this.canvasData.originalcompanyBuildingData.buildingId? null : this.canvasData.originalcompanyBuildingData.buildingId = e.buildingId
+ this.canvasData.originalcompanyBuildingData.buildingId ? null : this.canvasData.originalcompanyBuildingData.buildingId = e.buildingId
resolve('success')
})
})
}
//获取 建筑 楼层数据
- getBuildingStorey (e) {
- let params = {buildingAreaId: e.id}
- this.http.get(`/api/BuildingAreaData`,{params}).subscribe((data:any)=>{
+ getBuildingStorey(e) {
+ let params = { buildingAreaId: e.id }
+ 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.data ? this.canvasData.originaleveryStoreyData.data = JSON.parse(this.canvasData.originaleveryStoreyData.data) : this.canvasData.originaleveryStoreyData.data = {}
this.canvasData.originaleveryStoreyData.version = "2.0"
- this.canvasData.originaleveryStoreyData.buildingAreaId? null : this.canvasData.originaleveryStoreyData.buildingAreaId = e.id || null
+ this.canvasData.originaleveryStoreyData.buildingAreaId ? null : this.canvasData.originaleveryStoreyData.buildingAreaId = e.id || null
this.renovateTreeData()
})
}
//点击选中 平面图 楼层/区域 时
- selectSitePlan (item,index) {
+ selectSitePlan(item, index) {
if (this.selectSitePlanIndex != index) {
this.canvasData.selectPanelPoint = new DisposalNodeData();
if (this.canvasData.isChange) { //true 数据被改动
@@ -1693,7 +1696,7 @@ export class CollectionToolsBuildingComponent implements OnInit {
this.selectingSitePlan = item
this.selectSitePlanIndex = index
this.canvasData.selectStorey = item //服务中 存一份数据
- if (this.checkedBuildingIndex==-1) { //总平面图时
+ if (this.checkedBuildingIndex == -1) { //总平面图时
this.getSitePlanStorey(item) //获取 平面图 楼层数据
} else { //楼层/区域时
this.getBuildingStorey(item) //获取 建筑 楼层数据
@@ -1703,7 +1706,7 @@ export class CollectionToolsBuildingComponent implements OnInit {
this.selectingSitePlan = item
this.selectSitePlanIndex = index
this.canvasData.selectStorey = item //服务中 存一份数据
- if (this.checkedBuildingIndex==-1) { //总平面图时
+ if (this.checkedBuildingIndex == -1) { //总平面图时
this.getSitePlanStorey(item) //获取 平面图 楼层数据
this.getSitePlanCompanyData()
} else { //楼层/区域时
@@ -1712,12 +1715,12 @@ export class CollectionToolsBuildingComponent implements OnInit {
this.getBuildingData(params)
}
}
-
+
} else { //false 数据没被改动
this.selectingSitePlan = item
this.selectSitePlanIndex = index
this.canvasData.selectStorey = item //服务中 存一份数据
- if (this.checkedBuildingIndex==-1) { //总平面图时
+ if (this.checkedBuildingIndex == -1) { //总平面图时
this.getSitePlanStorey(item) //获取 平面图 楼层数据
} else { //楼层/区域时
this.getBuildingStorey(item) //获取 建筑 楼层数据
@@ -1728,19 +1731,19 @@ export class CollectionToolsBuildingComponent implements OnInit {
}
//新增平面图 楼层/区域
- foundPanel (e) {
+ foundPanel(e) {
e.stopPropagation()
if (this.beforeOneCheckedBuilding.id) {
let data = {
- isBuilding: this.checkedBuildingIndex==-1? false:true,
+ isBuilding: this.checkedBuildingIndex == -1 ? false : true,
Panel: this.beforeOneCheckedBuilding,
- order: this.sitePlanData.length? this.sitePlanData[this.sitePlanData.length-1].order+1:0,
+ order: this.sitePlanData.length ? this.sitePlanData[this.sitePlanData.length - 1].order + 1 : 0,
}
- let dialogRef = this.dialog.open(leftFunctionalDomainBuildingComponent,{data});
- dialogRef.afterClosed().subscribe(data=>{
- if (data =='总平面图') {
+ let dialogRef = this.dialog.open(leftFunctionalDomainBuildingComponent, { data });
+ dialogRef.afterClosed().subscribe(data => {
+ if (data == '总平面图') {
this.renovateSitePlan()
- } else if (data =='建筑') {
+ } else if (data == '建筑') {
this.renovateBuilding()
}
})
@@ -1748,32 +1751,32 @@ export class CollectionToolsBuildingComponent implements OnInit {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('请选择建筑','确定',config);
+ this.snackBar.open('请选择建筑', '确定', config);
}
}
//编辑平面图 楼层/区域
- editPlaneData (e) {
+ editPlaneData(e) {
let data = {
- isBuilding: this.checkedBuildingIndex==-1? false:true,
+ isBuilding: this.checkedBuildingIndex == -1 ? false : true,
Panel: this.beforeOneCheckedBuilding,
buildingData: e,
}
- let dialogRef = this.dialog.open(editPlaneFigureBuildingComponent,{disableClose: true,hasBackdrop: false,position: {left:'150px',top:'200px'},data});
- dialogRef.keydownEvents().subscribe(data=>{
+ let dialogRef = this.dialog.open(editPlaneFigureBuildingComponent, { disableClose: true, hasBackdrop: false, position: { left: '150px', top: '200px' }, data });
+ dialogRef.keydownEvents().subscribe(data => {
if (data.key === 'Enter') {
this.canvas.refreshBackgroundImage()
}
})
- dialogRef.afterClosed().subscribe(data=>{
- if (data =='总平面图') {
+ dialogRef.afterClosed().subscribe(data => {
+ if (data == '总平面图') {
let isSuccess = this.renovateSitePlan()
- isSuccess.then(res=>{
+ isSuccess.then(res => {
this.canvas.refreshBackgroundImage()
})
- } else if (data =='建筑') {
- let isSuccess= this.renovateBuilding()
- isSuccess.then(res=>{
+ } else if (data == '建筑') {
+ let isSuccess = this.renovateBuilding()
+ isSuccess.then(res => {
this.canvas.refreshBackgroundImage()
})
} else if (data == '更新背景图') {
@@ -1783,22 +1786,22 @@ export class CollectionToolsBuildingComponent implements OnInit {
}
//平面图 楼层/区域 上移
- moveUp (item,index) {
+ moveUp(item, index) {
if (index != 0) {
let replaceIndex = this.sitePlanData[index].order
- this.sitePlanData[index].order = this.sitePlanData[index-1].order
- this.sitePlanData[index-1].order = replaceIndex
- if (this.checkedBuildingIndex==-1) { //总平面图
- this.http.put(`/api/SitePlans/${this.sitePlanData[index-1].id}`,this.sitePlanData[index-1]).subscribe(data=>{
- this.http.put(`/api/SitePlans/${this.sitePlanData[index].id}`,this.sitePlanData[index]).subscribe(data=>{
- this.selectSitePlanIndex = this.selectSitePlanIndex-1
+ this.sitePlanData[index].order = this.sitePlanData[index - 1].order
+ this.sitePlanData[index - 1].order = replaceIndex
+ if (this.checkedBuildingIndex == -1) { //总平面图
+ this.http.put(`/api/SitePlans/${this.sitePlanData[index - 1].id}`, this.sitePlanData[index - 1]).subscribe(data => {
+ this.http.put(`/api/SitePlans/${this.sitePlanData[index].id}`, this.sitePlanData[index]).subscribe(data => {
+ this.selectSitePlanIndex = this.selectSitePlanIndex - 1
this.renovateSitePlan()
})
})
} else { //楼层/区域
- this.http.put(`/api/BuildingAreas/${this.sitePlanData[index-1].id}`,this.sitePlanData[index-1],{params:this.params}).subscribe(data=>{
- this.http.put(`/api/BuildingAreas/${this.sitePlanData[index].id}`,this.sitePlanData[index],{params:this.params}).subscribe(data=>{
- this.selectSitePlanIndex = this.selectSitePlanIndex-1
+ this.http.put(`/api/BuildingAreas/${this.sitePlanData[index - 1].id}`, this.sitePlanData[index - 1], { params: this.params }).subscribe(data => {
+ this.http.put(`/api/BuildingAreas/${this.sitePlanData[index].id}`, this.sitePlanData[index], { params: this.params }).subscribe(data => {
+ this.selectSitePlanIndex = this.selectSitePlanIndex - 1
this.renovateBuilding()
})
})
@@ -1808,22 +1811,22 @@ export class CollectionToolsBuildingComponent implements OnInit {
}
//平面图 楼层/区域 下移
- moveDown (item,index) {
- if (index != this.sitePlanData.length-1) {
+ moveDown(item, index) {
+ if (index != this.sitePlanData.length - 1) {
let replaceIndex = this.sitePlanData[index].order
- this.sitePlanData[index].order = this.sitePlanData[index+1].order
- this.sitePlanData[index+1].order = replaceIndex
- if (this.checkedBuildingIndex==-1) { //总平面图
- this.http.put(`/api/SitePlans/${this.sitePlanData[index+1].id}`,this.sitePlanData[index+1]).subscribe(data=>{
- this.http.put(`/api/SitePlans/${this.sitePlanData[index].id}`,this.sitePlanData[index]).subscribe(data=>{
- this.selectSitePlanIndex = this.selectSitePlanIndex+1
+ this.sitePlanData[index].order = this.sitePlanData[index + 1].order
+ this.sitePlanData[index + 1].order = replaceIndex
+ if (this.checkedBuildingIndex == -1) { //总平面图
+ this.http.put(`/api/SitePlans/${this.sitePlanData[index + 1].id}`, this.sitePlanData[index + 1]).subscribe(data => {
+ this.http.put(`/api/SitePlans/${this.sitePlanData[index].id}`, this.sitePlanData[index]).subscribe(data => {
+ this.selectSitePlanIndex = this.selectSitePlanIndex + 1
this.renovateSitePlan()
})
})
} else { //楼层/区域
- this.http.put(`/api/BuildingAreas/${this.sitePlanData[index+1].id}`,this.sitePlanData[index+1],{params:this.params}).subscribe(data=>{
- this.http.put(`/api/BuildingAreas/${this.sitePlanData[index].id}`,this.sitePlanData[index],{params:this.params}).subscribe(data=>{
- this.selectSitePlanIndex = this.selectSitePlanIndex+1
+ this.http.put(`/api/BuildingAreas/${this.sitePlanData[index + 1].id}`, this.sitePlanData[index + 1], { params: this.params }).subscribe(data => {
+ this.http.put(`/api/BuildingAreas/${this.sitePlanData[index].id}`, this.sitePlanData[index], { params: this.params }).subscribe(data => {
+ this.selectSitePlanIndex = this.selectSitePlanIndex + 1
this.renovateBuilding()
})
})
@@ -1833,20 +1836,20 @@ export class CollectionToolsBuildingComponent implements OnInit {
}
//旋转底图
- revolveImg (item) {
- item.imageAngle==270? item.imageAngle = 0 : item.imageAngle = item.imageAngle+90
- if (this.checkedBuildingIndex==-1) { //总平面图
- this.http.put(`/api/SitePlans/${item.id}`,item).subscribe(data=>{
+ revolveImg(item) {
+ item.imageAngle == 270 ? item.imageAngle = 0 : item.imageAngle = item.imageAngle + 90
+ if (this.checkedBuildingIndex == -1) { //总平面图
+ this.http.put(`/api/SitePlans/${item.id}`, item).subscribe(data => {
let isSuccess = this.renovateSitePlan()
- isSuccess.then(res=>{
- this.canvas.refreshBackgroundImage(item.imageUrl,item.imageAngle)
+ isSuccess.then(res => {
+ this.canvas.refreshBackgroundImage(item.imageUrl, item.imageAngle)
})
})
} else { //楼层/区域
- this.http.put(`/api/BuildingAreas/${item.id}`,item,{params:this.params}).subscribe(data=>{
+ this.http.put(`/api/BuildingAreas/${item.id}`, item, { params: this.params }).subscribe(data => {
let isSuccess = this.renovateBuilding()
- isSuccess.then(res=>{
- this.canvas.refreshBackgroundImage(item.imageUrl,item.imageAngle)
+ isSuccess.then(res => {
+ this.canvas.refreshBackgroundImage(item.imageUrl, item.imageAngle)
})
})
}
@@ -1854,47 +1857,47 @@ export class CollectionToolsBuildingComponent implements OnInit {
}
//删除 平面图 楼层/区域
- deletePlaneData (item) {
+ deletePlaneData(item) {
const isDelete = confirm('您确定要删除吗');
if (isDelete) {
- if (this.checkedBuildingIndex==-1) { //总平面图
- let isHave = this.canvasData.allDisposalNode.find(items=>{ return items.sitePlanId === item.id })
+ if (this.checkedBuildingIndex == -1) { //总平面图
+ let isHave = this.canvasData.allDisposalNode.find(items => { return items.sitePlanId === item.id })
if (isHave == undefined) {
- this.http.delete(`/api/SitePlans/${item.id}`).subscribe(data=>{
- this.deleteShareData(item,-1)
+ this.http.delete(`/api/SitePlans/${item.id}`).subscribe(data => {
+ this.deleteShareData(item, -1)
})
} else {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('含有数据节点的楼层不允许删除','确定',config);
+ this.snackBar.open('含有数据节点的楼层不允许删除', '确定', config);
}
} else { //楼层/区域
- let isHave = this.canvasData.allDisposalNode.find(items=>{ return items.buildingAreaId === item.id })
+ let isHave = this.canvasData.allDisposalNode.find(items => { return items.buildingAreaId === item.id })
if (isHave == undefined) {
- this.http.delete(`/api/BuildingAreas/${item.id}`).subscribe(data=>{
- this.deleteShareData(item,1)
+ this.http.delete(`/api/BuildingAreas/${item.id}`).subscribe(data => {
+ this.deleteShareData(item, 1)
})
} else {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('含有数据节点的楼层不允许删除','确定',config);
+ this.snackBar.open('含有数据节点的楼层不允许删除', '确定', config);
}
}
}
}
//删除当前 单位/建筑的 共享数据中 已删除data
- deleteShareData (e,isCompany) {
- this.sitePlanData.forEach((element,index) => {
- if (element.id===e.id) {
- this.sitePlanData.splice(index,1)
+ deleteShareData(e, isCompany) {
+ this.sitePlanData.forEach((element, index) => {
+ if (element.id === e.id) {
+ this.sitePlanData.splice(index, 1)
return
}
});
let data = this.canvasData.originalcompanyBuildingData;
- for(let key in data.data){
+ for (let key in data.data) {
if (data.data[key].FloorId === e.id) { //处理 单位/建筑 数据是否归于当前楼层下
delete data.data[key]
}
@@ -1905,19 +1908,19 @@ export class CollectionToolsBuildingComponent implements OnInit {
this.canvasData.selectStorey = this.sitePlanData[0] || {} //服务中 存一份数据
this.selectSitePlanIndex = 0
this.canvasData.isChange = false
- if (isCompany===-1) {
- this.http.post("/api/CompanyData",newData).subscribe(data => {})
+ if (isCompany === -1) {
+ this.http.post("/api/CompanyData", newData).subscribe(data => { })
this.getSitePlanStorey(this.selectingSitePlan) //获取 平面图 楼层数据
} else {
- this.http.post("/api/BuildingData",newData,{params:this.params}).subscribe(data => {})
+ this.http.post("/api/BuildingData", newData, { params: this.params }).subscribe(data => { })
this.getBuildingStorey(this.selectingSitePlan) //获取 建筑 楼层数据
}
}
//复制图层 平面图 楼层/区域
- duplicateLayer (item) {
- let paramsData = JSON.parse(JSON.stringify( this.canvasData.originaleveryStoreyData.data || {} ))
- Object.keys(paramsData).forEach((key)=>{
+ 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
@@ -1925,19 +1928,19 @@ export class CollectionToolsBuildingComponent implements OnInit {
delete paramsData[key]
}
}) //图标Id重新赋值
- if (this.checkedBuildingIndex==-1) { //总平面图
+ if (this.checkedBuildingIndex == -1) { //总平面图
item.id = ""
item.modifiedTime = new Date()
item.name = item.name + '(副本)'
- item.order = this.sitePlanData[this.sitePlanData.length-1].order+1
- this.http.post('/api/SitePlans',item).subscribe((data:any)=>{
+ item.order = this.sitePlanData[this.sitePlanData.length - 1].order + 1
+ this.http.post('/api/SitePlans', item).subscribe((data: any) => {
let newData = {
version: "2.0",
id: "",
- data: JSON.stringify( paramsData ) || null,
+ data: JSON.stringify(paramsData) || null,
sitePlanId: data.id
}
- this.http.post('/api/SitePlanData',newData,{params:this.params}).subscribe(data=>{
+ this.http.post('/api/SitePlanData', newData, { params: this.params }).subscribe(data => {
this.renovateSitePlan()
})
@@ -1946,15 +1949,15 @@ export class CollectionToolsBuildingComponent implements OnInit {
item.id = ""
item.modifiedTime = new Date()
item.name = item.name + '(副本)'
- item.order = this.sitePlanData[this.sitePlanData.length-1].order+1
- this.http.post('/api/BuildingAreas',item,{params:this.params}).subscribe((data:any)=>{
+ 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: "2.0",
id: "",
- data: JSON.stringify( paramsData ) || null,
+ data: JSON.stringify(paramsData) || null,
buildingAreaId: data.id
}
- this.http.post('/api/BuildingAreaData',newData,{params:this.params}).subscribe(data=>{
+ this.http.post('/api/BuildingAreaData', newData, { params: this.params }).subscribe(data => {
this.renovateBuilding()
})
@@ -1963,32 +1966,32 @@ export class CollectionToolsBuildingComponent implements OnInit {
}
//平面图 楼层/区域 替换底图
- replaceBaseMap (e,item) {
+ replaceBaseMap(e, item) {
e.stopPropagation();
let file = e.target.files[0] || null //获取上传的文件
let fileSize = file.size || null //上传文件的总大小
let maxSize = 5 * 1024 * 1024 //5MB一个分片
let tenSize = 10 * 1024 * 1024 //10MB限制
- if (file && fileSize<=maxSize) { //上传文件<=5MB时
+ if (file && fileSize <= maxSize) { //上传文件<=5MB时
let formData = new FormData()
- formData.append("file",file)
- this.http.post(`/api/Objects/WebPlan2D/${sessionStorage.getItem('companyId')}`,formData).subscribe((data:any)=>{
- this.renovateBaseMap('/api/Objects/WebPlan2D/' + data.objectName,item)
+ formData.append("file", file)
+ this.http.post(`/api/Objects/WebPlan2D/${sessionStorage.getItem('companyId')}`, formData).subscribe((data: any) => {
+ this.renovateBaseMap('/api/Objects/WebPlan2D/' + data.objectName, item)
})
- } else if (file && fileSize>maxSize && fileSize10MB时
- let upload = this.canvasData.sectionUpload(sessionStorage.getItem('companyId'),file)
- upload.then(res=>{ this.renovateBaseMap('/api/Objects/PlanPlatform/' + res,item) })
+ } else if (file && fileSize > maxSize && fileSize < tenSize) { //上传文件>10MB时
+ let upload = this.canvasData.sectionUpload(sessionStorage.getItem('companyId'), file)
+ upload.then(res => { this.renovateBaseMap('/api/Objects/PlanPlatform/' + res, item) })
} else {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('上传底图需小于10MB','确定',config);
+ this.snackBar.open('上传底图需小于10MB', '确定', config);
}
}
//封装 替换底图 function
- renovateBaseMap (e,item) {
+ renovateBaseMap(e, item) {
let that = this
let img = new Image()
img.src = e
@@ -1996,94 +1999,94 @@ export class CollectionToolsBuildingComponent implements OnInit {
item.imageUrl = e
item.imageWidth = img.width
item.imageHeight = img.height
- if (that.checkedBuildingIndex ==-1) { //总平面图
- that.http.put(`/api/SitePlans/${item.id}`,item).subscribe(data=>{
+ if (that.checkedBuildingIndex == -1) { //总平面图
+ that.http.put(`/api/SitePlans/${item.id}`, item).subscribe(data => {
let isSuccess = that.renovateSitePlan()
- isSuccess.then(res=>{
+ isSuccess.then(res => {
that.canvas.refreshBackgroundImage()
})
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- that.snackBar.open('上传底图成功','确定',config);
+ that.snackBar.open('上传底图成功', '确定', config);
})
} else { //楼层/区域
- that.http.put(`/api/BuildingAreas/${item.id}`,item,{params:that.params}).subscribe(data=>{
+ that.http.put(`/api/BuildingAreas/${item.id}`, item, { params: that.params }).subscribe(data => {
let isSuccess = that.renovateBuilding()
- isSuccess.then(res=>{
+ isSuccess.then(res => {
that.canvas.refreshBackgroundImage()
})
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- that.snackBar.open('上传底图成功','确定',config);
+ that.snackBar.open('上传底图成功', '确定', config);
})
} //else
} //onload
}
//封装 刷新总平面图 数据
- renovateSitePlan () {
- return new Promise ((resolve,reject)=>{
- this.http.get('/api/SitePlans',{params:this.params}).subscribe(data=>{
+ renovateSitePlan() {
+ return new Promise((resolve, reject) => {
+ this.http.get('/api/SitePlans', { params: this.params }).subscribe(data => {
this.sitePlanData = data
this.selectingSitePlan = this.sitePlanData[this.selectSitePlanIndex]
this.canvasData.selectStorey = this.sitePlanData[this.selectSitePlanIndex] //服务中 存一份数据
- this.canvasData.originaleveryStoreyData.sitePlanId? null : this.canvasData.originaleveryStoreyData.sitePlanId = this.selectingSitePlan.id || null
+ this.canvasData.originaleveryStoreyData.sitePlanId ? null : this.canvasData.originaleveryStoreyData.sitePlanId = this.selectingSitePlan.id || null
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('数据更新成功','确定',config);
+ this.snackBar.open('数据更新成功', '确定', config);
resolve('success')
})
})
}
//封装 刷新 楼层/区域 数据
- renovateBuilding () {
+ renovateBuilding() {
let params = {
buildingId: this.beforeOneCheckedBuilding.id
}
- return new Promise ((resolve,reject)=>{
- this.http.get('/api/BuildingAreas',{params}).subscribe(data=>{
+ return new Promise((resolve, reject) => {
+ this.http.get('/api/BuildingAreas', { params }).subscribe(data => {
this.sitePlanData = data
this.selectingSitePlan = this.sitePlanData[this.selectSitePlanIndex]
this.canvasData.selectStorey = this.sitePlanData[this.selectSitePlanIndex] //服务中 存一份数据
- this.canvasData.originaleveryStoreyData.buildingAreaId? null : this.canvasData.originaleveryStoreyData.buildingAreaId = this.selectingSitePlan.id || null
+ this.canvasData.originaleveryStoreyData.buildingAreaId ? null : this.canvasData.originaleveryStoreyData.buildingAreaId = this.selectingSitePlan.id || null
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('数据更新成功','确定',config);
+ this.snackBar.open('数据更新成功', '确定', config);
resolve('success')
})
})
}
- allLibrary:any = []; //所有素材库 + 素材
- selectLibrary:any; //选中的素材库
- selectImage:any; //选中的素材库图片
- selectImageIndex:number; //选中的素材库图片index
- searchSettimeout:any; //延时器
- searchInput:string = null; //模糊搜索 input
- searchLibrary:any = []; //模糊搜索 素材
+ allLibrary: any = []; //所有素材库 + 素材
+ selectLibrary: any; //选中的素材库
+ selectImage: any; //选中的素材库图片
+ selectImageIndex: number; //选中的素材库图片index
+ searchSettimeout: any; //延时器
+ searchInput: string = null; //模糊搜索 input
+ searchLibrary: any = []; //模糊搜索 素材
//输入框 输入事件
- libraryChange () {
+ libraryChange() {
window.clearTimeout(this.searchSettimeout)
- this.searchSettimeout = window.setTimeout(()=>{
+ this.searchSettimeout = window.setTimeout(() => {
if (this.searchInput === "") {
this.searchLibrary = []
} else {
- this.http.get(`/api/Assets?assetName=${this.searchInput}`).subscribe((data:any)=>{
+ this.http.get(`/api/Assets?assetName=${this.searchInput}`).subscribe((data: any) => {
this.searchLibrary = data
})
}
- },500)
+ }, 500)
}
//获取素材库
- getAllLibrary (type:string='input') {
- this.http.get(`/api/AssetLibraries?tag=${type}`).subscribe((data:any)=>{
+ getAllLibrary(type: string = 'input') {
+ this.http.get(`/api/AssetLibraries?tag=${type}`).subscribe((data: any) => {
data.forEach(element => {
element.images = []
});
@@ -2093,16 +2096,16 @@ export class CollectionToolsBuildingComponent implements OnInit {
}
//素材库展开面板展开时
- opened (e) {
+ opened(e) {
if (!e.images.length) { //当前素材库没加载素材时
- this.http.get(`/api/Assets?libraryId=${e.id}`).subscribe((data:any)=>{
+ this.http.get(`/api/Assets?libraryId=${e.id}`).subscribe((data: any) => {
e.images = data
})
}
}
//点击选中素材库图片时
- selectImg (item,items,index) {
+ selectImg(item, items, index) {
this.selectLibrary = item.name
this.selectImage = items
this.selectImageIndex = index
@@ -2113,30 +2116,30 @@ export class CollectionToolsBuildingComponent implements OnInit {
//处置预案
- allFirePlan:any = []; //所有灾情
- selectDisposalNode:string = ''; //当前点击tree节点 css选中样式
+ allFirePlan: any = []; //所有灾情
+ selectDisposalNode: string = ''; //当前点击tree节点 css选中样式
//获取所有灾情
- getAllFirePlan () {
- let params = {componentId: sessionStorage.getItem('planId')}
- this.http.get('/api/Disasters',{params:params}).subscribe((data:any)=>{
+ getAllFirePlan() {
+ let params = { componentId: sessionStorage.getItem('planId') }
+ this.http.get('/api/Disasters', { params: params }).subscribe((data: any) => {
if (!data.length) { //该 单位没有灾情时
let msg = {
name: '灾情',
modifiedTime: new Date(),
planComponentId: sessionStorage.getItem('planId')
}
- this.http.post('/api/Disasters',msg).subscribe(data=>{
+ this.http.post('/api/Disasters', msg).subscribe(data => {
this.allFirePlan.push(data)
- let params = {disasterId: this.allFirePlan[0].id || ''}
- this.http.get('/api/DisposalNodes',{params:params}).subscribe(data=>{ //所有处置节点
+ let params = { disasterId: this.allFirePlan[0].id || '' }
+ this.http.get('/api/DisposalNodes', { params: params }).subscribe(data => { //所有处置节点
this.canvasData.allDisposalNode = data
})
})
} else { //单位 有灾情时
this.allFirePlan = data
- let params = {disasterId: this.allFirePlan[0].id || ''}
- this.http.get('/api/DisposalNodes',{params:params}).subscribe(data=>{ //所有处置节点
+ let params = { disasterId: this.allFirePlan[0].id || '' }
+ this.http.get('/api/DisposalNodes', { params: params }).subscribe(data => { //所有处置节点
this.canvasData.allDisposalNode = data
})
}
@@ -2144,26 +2147,26 @@ export class CollectionToolsBuildingComponent implements OnInit {
}
//获取所有处置节点
- getDisposalNode () {
+ getDisposalNode() {
this.selectDisposalNode = ''
- let params = {disasterId: this.allFirePlan[0].id || ''}
- this.http.get('/api/DisasterData/Markers',{params:params}).subscribe(data=>{ //灾情标签信息
+ let params = { disasterId: this.allFirePlan[0].id || '' }
+ this.http.get('/api/DisasterData/Markers', { params: params }).subscribe(data => { //灾情标签信息
this.canvasData.allNodeMarkers = data
this.mateFireForce()
})
- this.http.get('/api/DisposalNodes',{params:params}).subscribe(data=>{ //处置节点
+ this.http.get('/api/DisposalNodes', { params: params }).subscribe(data => { //处置节点
this.canvasData.allDisposalNode = data
this.handleHybridTree()
})
}
- treeData:any = []; //渲染tree处理完成数据
- defaultExpandedKeys:any = []; //首次渲染 tree展开状态
+ treeData: any = []; //渲染tree处理完成数据
+ defaultExpandedKeys: any = []; //首次渲染 tree展开状态
//处理 节点 Tree数据
- handleHybridTree () {
+ handleHybridTree() {
this.defaultExpandedKeys = []
let treeData = []
- let data = JSON.parse(JSON.stringify( this.canvasData.allDisposalNode || [] ))
+ let data = JSON.parse(JSON.stringify(this.canvasData.allDisposalNode || []))
data.forEach(element => {
this.defaultExpandedKeys.push(element.id)
element.title = element.name //name
@@ -2176,29 +2179,29 @@ export class CollectionToolsBuildingComponent implements OnInit {
element.isLeaf = false
element.isDataNode = false
}
- data.forEach(item=>{
- item.parentId === element.id? element.children.push(item) : null
+ data.forEach(item => {
+ item.parentId === element.id ? element.children.push(item) : null
})
});
- data.forEach(element=>{
- !element.parentId? treeData.push(element) : null
+ data.forEach(element => {
+ !element.parentId ? treeData.push(element) : null
})
this.treeData = [...treeData]
this.defaultExpandedKeys = [...this.defaultExpandedKeys]
}
//刷新 treeData 保存已展开节点
- refurbishTreeData () {
+ refurbishTreeData() {
this.defaultExpandedKeys = []
- let params = {disasterId: this.allFirePlan[0].id || ''}
- this.http.get('/api/DisposalNodes',{params:params}).subscribe(nodeData=>{ //处置节点
+ let params = { disasterId: this.allFirePlan[0].id || '' }
+ this.http.get('/api/DisposalNodes', { params: params }).subscribe(nodeData => { //处置节点
this.canvasData.allDisposalNode = nodeData
let oldTreeData = this.nzTreeComponent.getExpandedNodeList()
- oldTreeData.forEach(item=>{
+ oldTreeData.forEach(item => {
this.defaultExpandedKeys.push(item.key)
})
let treeData = []
- let data = JSON.parse(JSON.stringify( this.canvasData.allDisposalNode || [] ))
+ let data = JSON.parse(JSON.stringify(this.canvasData.allDisposalNode || []))
data.forEach(element => {
element.title = element.name //name
element.key = element.id //id
@@ -2210,39 +2213,39 @@ export class CollectionToolsBuildingComponent implements OnInit {
element.isLeaf = false
element.isDataNode = false
}
- data.forEach(item=>{
- item.parentId === element.id? element.children.push(item) : null
+ data.forEach(item => {
+ item.parentId === element.id ? element.children.push(item) : null
})
});
- data.forEach(element=>{
- !element.parentId? treeData.push(element) : null
+ data.forEach(element => {
+ !element.parentId ? treeData.push(element) : null
})
this.treeData = [...treeData]
this.defaultExpandedKeys = [...this.defaultExpandedKeys]
})
}
- sitePlanIcon = {fire:0,force:0} // 总平面图 火源/力量 图标 是否展示
+ sitePlanIcon = { fire: 0, force: 0 } // 总平面图 火源/力量 图标 是否展示
//刷新 建筑楼层 匹配 火源/力量 图标
- mateFireForce () {
+ mateFireForce() {
let data = this.canvasData.allNodeMarkers.markers || {}
- for(let key in data){ //遍历 火/力量 图标
+ for (let key in data) { //遍历 火/力量 图标
this.sitePlanData.forEach(element => { //楼层
- if (element.id==key) { // 相匹配时
- data[key].fireCount != 0? element.fire=1 : element.fire=0
- data[key].forceCount != 0? element.force=1 : element.force=0
+ if (element.id == key) { // 相匹配时
+ data[key].fireCount != 0 ? element.fire = 1 : element.fire = 0
+ data[key].forceCount != 0 ? element.force = 1 : element.force = 0
}
});
this.allBuildings.forEach(element => { //建筑
- if (element.id==key) { // 相匹配时
- data[key].fireCount != 0? element.fire=1 : element.fire=0
- data[key].forceCount != 0? element.force=1 : element.force=0
+ if (element.id == key) { // 相匹配时
+ data[key].fireCount != 0 ? element.fire = 1 : element.fire = 0
+ data[key].forceCount != 0 ? element.force = 1 : element.force = 0
}
});
- if (this.params.companyId==key) { //总平面图时
- data[key].fireCount != 0? this.sitePlanIcon.fire=1 : this.sitePlanIcon.fire=0
- data[key].forceCount != 0? this.sitePlanIcon.force=1 : this.sitePlanIcon.force=0
+ if (this.params.companyId == key) { //总平面图时
+ data[key].fireCount != 0 ? this.sitePlanIcon.fire = 1 : this.sitePlanIcon.fire = 0
+ data[key].forceCount != 0 ? this.sitePlanIcon.force = 1 : this.sitePlanIcon.force = 0
}
}
@@ -2252,19 +2255,19 @@ export class CollectionToolsBuildingComponent implements OnInit {
for (let keys in buildingMSG[key]) {
this.sitePlanData.forEach(element => { //楼层
if (element.id === keys) {
- buildingMSG[key][keys].fireCount != 0? element.fire=2 : null
- buildingMSG[key][keys].forceCount != 0? element.force=2 : null
+ buildingMSG[key][keys].fireCount != 0 ? element.fire = 2 : null
+ buildingMSG[key][keys].forceCount != 0 ? element.force = 2 : null
}
});
this.allBuildings.forEach(element => { //建筑
if (element.id === keys) { // 相匹配时
- buildingMSG[key][keys].fireCount != 0? element.fire=2 : null
- buildingMSG[key][keys].forceCount != 0? element.force=2 : null
+ buildingMSG[key][keys].fireCount != 0 ? element.fire = 2 : null
+ buildingMSG[key][keys].forceCount != 0 ? element.force = 2 : null
}
});
if (this.params.companyId === keys) { //总平面图时
- buildingMSG[key][keys].fireCount != 0? this.sitePlanIcon.fire=2 : null
- buildingMSG[key][keys].forceCount != 0? this.sitePlanIcon.force=2 : null
+ buildingMSG[key][keys].fireCount != 0 ? this.sitePlanIcon.fire = 2 : null
+ buildingMSG[key][keys].forceCount != 0 ? this.sitePlanIcon.force = 2 : null
}
}
}
@@ -2272,10 +2275,10 @@ export class CollectionToolsBuildingComponent implements OnInit {
}
// 切换 基本信息时 刷新 删除 建筑楼层 自定义属性
- mateDeleteCustomize () {
- this.canvasData.selectPanelPointBaseData = {description: '', notes: '', weather: '', airTemperature: '', windDirection: '', windScale: ''}
+ mateDeleteCustomize() {
+ this.canvasData.selectPanelPointBaseData = { description: '', notes: '', weather: '', airTemperature: '', windDirection: '', windScale: '' }
this.defaultExpandedKeys = []
- this.sitePlanIcon = {fire:0,force:0}
+ this.sitePlanIcon = { fire: 0, force: 0 }
this.sitePlanData.forEach(element => { //楼层
delete element.fire
delete element.force
@@ -2287,30 +2290,30 @@ export class CollectionToolsBuildingComponent implements OnInit {
}
//计算差异
- countValue (e) {
+ countValue(e) {
e.stopPropagation()
- let params = {disasterId: this.allFirePlan[0].id || ''}
- this.http.get('/api/DisasterData/Diffs',{params:params}).subscribe(data=>{
+ let params = { disasterId: this.allFirePlan[0].id || '' }
+ this.http.get('/api/DisasterData/Diffs', { params: params }).subscribe(data => {
this.canvasData.allNodeMarkers = data
this.mateFireForce()
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('计算差异完成','确定',config);
+ this.snackBar.open('计算差异完成', '确定', config);
})
}
//复制 处置预案 节点
- copyPanelPoint (e,item,treeData) {
+ copyPanelPoint(e, item, treeData) {
e.stopPropagation()
if (confirm(`确定要复制 ${item.title} ?`)) {
- let params = {id: item.origin.id}
+ let params = { id: item.origin.id }
let order
- if (item.level==0) {
- treeData.length? order = treeData[treeData.length-1].order+1 : order = 0
+ if (item.level == 0) {
+ treeData.length ? order = treeData[treeData.length - 1].order + 1 : order = 0
} else {
let parent = item.getParentNode() //获取父节点
- parent.origin.children.length? order = parent.origin.children[parent.origin.children.length-1].order+1 : order = 0
+ parent.origin.children.length ? order = parent.origin.children[parent.origin.children.length - 1].order + 1 : order = 0
}
let data = {
name: item.title + '(副本)',
@@ -2321,41 +2324,41 @@ export class CollectionToolsBuildingComponent implements OnInit {
parentId: item.origin.parentId || null,
planComponentId: item.origin.planComponentId || '',
}
- this.http.post('/api/DisposalNodes/Clone',data,{params:params}).subscribe(data=>{
+ this.http.post('/api/DisposalNodes/Clone', data, { params: params }).subscribe(data => {
this.refurbishTreeData()
})
} //isTrue
}
//删除 处置预案 节点
- deletePanelPoint (e,item) {
+ deletePanelPoint(e, item) {
e.stopPropagation()
if (confirm(`确定要删除 ${item.name} ?`)) {
- this.http.delete(`/api/DisposalNodes/${item.id}`).subscribe(data=>{
+ this.http.delete(`/api/DisposalNodes/${item.id}`).subscribe(data => {
this.refurbishTreeData()
})
}
}
//点击 处置Tree节点
- selectanelPoint (e) {
+ selectanelPoint(e) {
if (!e.buildingAreaId && !e.sitePlanId) { //当前节点 不是 数据节点 时
let msg = this.canvasData.findDisposalNode(e.id)
this.canvasData.selectPanelPointBaseData = msg
- this.selectDisposalNode == msg.id? this.selectDisposalNode = '' : this.selectDisposalNode = msg.id //选中 节点
+ this.selectDisposalNode == msg.id ? this.selectDisposalNode = '' : this.selectDisposalNode = msg.id //选中 节点
} else if (e.buildingAreaId || e.sitePlanId) { //当前节点 是 数据节点 时
let msg = this.canvasData.findDisposalNode(e.parentId)
this.canvasData.selectPanelPointBaseData = msg
this.selectDisposalNode = e.parentId //选中 节点
-
+
if (this.canvasData.selectPanelPoint.DisposalNodeId != e.id) { //选择节点 不是当前节点时
- let params = {nodeId: e.id}
+ let params = { nodeId: e.id }
let parameter = { //查询 节点 对应 建筑/楼层 index,id
- buildingIndex: e.sitePlanId? -1 : this.allBuildings.findIndex(item=>{ return item.id===e.buildingId }), //总平面图/建筑 index
- storeyId: e.sitePlanId? e.sitePlanId : e.buildingAreaId, //楼层id
+ buildingIndex: e.sitePlanId ? -1 : this.allBuildings.findIndex(item => { return item.id === e.buildingId }), //总平面图/建筑 index
+ storeyId: e.sitePlanId ? e.sitePlanId : e.buildingAreaId, //楼层id
}
- this.http.get('/api/DisposalNodeData',{params:params}).subscribe(data=>{
+ this.http.get('/api/DisposalNodeData', { params: params }).subscribe(data => {
this.canvasData.selectPanelPoint = this.canvasData.deserialize(JSON.stringify(data || new DisposalNodeData())) //选择 当前 节点
this.canvasData.selectPanelPoint.Data = this.canvasData.deserialize(this.canvasData.selectPanelPoint.Data)
this.seekPanelPoint(parameter)
@@ -2366,36 +2369,36 @@ export class CollectionToolsBuildingComponent implements OnInit {
}
//查找 数据节点 对应 建筑/楼层
- seekPanelPoint (paramsData) {
+ seekPanelPoint(paramsData) {
this.checkedBuildingIndex = paramsData.buildingIndex
- if (paramsData.buildingIndex ==-1) { //总平面图时
- this.beforeOneCheckedBuilding={name:"总平面图"}
+ if (paramsData.buildingIndex == -1) { //总平面图时
+ this.beforeOneCheckedBuilding = { name: "总平面图" }
let fireData = this.getFireElements(sessionStorage.getItem('buildingTypeId')) //获取单位下 消防要素
let planData = this.getSitePlanCompanyData() //获取 单位 数据
- this.http.get('/api/SitePlans',{params:this.params}).subscribe(data=>{
+ this.http.get('/api/SitePlans', { params: this.params }).subscribe(data => {
this.sitePlanData = data
- let index = this.sitePlanData.findIndex(item=>{ return item.id===paramsData.storeyId })
+ let index = this.sitePlanData.findIndex(item => { return item.id === paramsData.storeyId })
this.selectingSitePlan = this.sitePlanData[index] || {}
this.canvasData.selectStorey = this.sitePlanData[index] || {} //服务中 存一份数据
this.selectSitePlanIndex = index
-
- Promise.all([fireData,planData]).then((res)=>{
+
+ Promise.all([fireData, planData]).then((res) => {
this.getSitePlanStorey(this.selectingSitePlan) //获取 平面图 楼层数据
})
}) //get
} else { //建筑时
- this.beforeOneCheckedBuilding=this.allBuildings[paramsData.buildingIndex]
+ this.beforeOneCheckedBuilding = this.allBuildings[paramsData.buildingIndex]
let params = { buildingId: this.beforeOneCheckedBuilding.id }
let fireData = this.getFireElements(this.beforeOneCheckedBuilding.buildingTypes[0].id || '') //获取建筑下 消防要素
let planData = this.getBuildingData(params) //获取 建筑 数据
- this.http.get('/api/BuildingAreas',{params}).subscribe(data=>{
+ this.http.get('/api/BuildingAreas', { params }).subscribe(data => {
this.sitePlanData = data
- let index = this.sitePlanData.findIndex(item=>{ return item.id===paramsData.storeyId })
+ let index = this.sitePlanData.findIndex(item => { return item.id === paramsData.storeyId })
this.selectingSitePlan = this.sitePlanData[index] || {}
this.canvasData.selectStorey = this.sitePlanData[index] || {} //服务中 存一份数据
this.selectSitePlanIndex = index
-
- Promise.all([fireData,planData]).then((res)=>{
+
+ Promise.all([fireData, planData]).then((res) => {
this.getBuildingStorey(this.selectingSitePlan) //获取 建筑 楼层数据
})
}) //get
@@ -2416,30 +2419,30 @@ export class CollectionToolsBuildingComponent implements OnInit {
})
export class CreateBuildingBuilding {
- constructor(private http:HttpClient,public dialog: MatDialog,public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data) { }
+ constructor(private http: HttpClient, public dialog: MatDialog, public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data) { }
- allBuildingType:any//所有的建筑类型
- selected:any; //选中的建筑
+ allBuildingType: any//所有的建筑类型
+ selected: any; //选中的建筑
ngOnInit(): void {
this.getAllBuildingType()
}
//获得所有单位类型
- getAllBuildingType(){
- this.http.get("/api/BuildingTypes/Simple").subscribe(data=>{
+ getAllBuildingType() {
+ this.http.get("/api/BuildingTypes/Simple").subscribe(data => {
this.allBuildingType = data
})
}
//创建建筑功能分区
- onSubmit (e) {
+ onSubmit(e) {
let companyId = sessionStorage.getItem("companyId")
let lastBuildingOrder = this.data.allBuildings.length != 0 ? this.data.allBuildings[this.data.allBuildings.length - 1].order + 1 : 0
- let data =
+ let data =
{
id: "",
name: e.propertyName,
- order: lastBuildingOrder ,
+ order: lastBuildingOrder,
enabled: true,
companyId: companyId,
buildingTypes: [
@@ -2449,13 +2452,13 @@ export class CreateBuildingBuilding {
}
]
}
- this.http.post("/api/Buildings",data,{
- params:{
- companyId : this.data.companyId
+ this.http.post("/api/Buildings", data, {
+ params: {
+ companyId: this.data.companyId
}
- }).subscribe(data=>{
+ }).subscribe(data => {
this.dialogRef.close("创建成功");
- },err=>{
+ }, err => {
this.dialogRef.close("创建失败");
})
}
@@ -2469,26 +2472,26 @@ export class CreateBuildingBuilding {
})
export class EditBuildingBuilding {
- constructor(private http:HttpClient,public dialog: MatDialog,public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data) { }
-
- defaultName:String = this.data.item.name//默认建筑名称
- defaultBuildingType:String = this.data.item.buildingTypes[0].id//默认建筑类型
- allBuildingType:any//所有的建筑类型
+ constructor(private http: HttpClient, public dialog: MatDialog, public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data) { }
+
+ defaultName: String = this.data.item.name//默认建筑名称
+ defaultBuildingType: String = this.data.item.buildingTypes[0].id//默认建筑类型
+ allBuildingType: any//所有的建筑类型
ngOnInit(): void {
this.getAllBuildingType()
}
- getAllBuildingType(){
- this.http.get("/api/BuildingTypes/Simple").subscribe(data=>{
+ getAllBuildingType() {
+ this.http.get("/api/BuildingTypes/Simple").subscribe(data => {
this.allBuildingType = data
})
}
//编辑建筑信息
- onSubmit (e) {
+ onSubmit(e) {
let companyId = sessionStorage.getItem("companyId")
- let data =
+ let data =
{
id: this.data.item.id,
name: e.propertyName,
@@ -2502,14 +2505,14 @@ export class EditBuildingBuilding {
}
]
}
- this.http.put(`/api/Buildings/${this.data.item.id}`,data,{
- params:{
- id:this.data.item.id,
- companyId:companyId
+ this.http.put(`/api/Buildings/${this.data.item.id}`, data, {
+ params: {
+ id: this.data.item.id,
+ companyId: companyId
}
- }).subscribe(data=>{
+ }).subscribe(data => {
this.dialogRef.close("修改成功");
- },err=>{
+ }, err => {
this.dialogRef.close("修改失败");
})
}
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 761775a..b9f8423 100644
--- a/src/app/ui/collection-tools-plan/collection-tools.component.html
+++ b/src/app/ui/collection-tools-plan/collection-tools.component.html
@@ -30,6 +30,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 22c666e..285f5b4 100644
--- a/src/app/ui/collection-tools-plan/collection-tools.component.ts
+++ b/src/app/ui/collection-tools-plan/collection-tools.component.ts
@@ -1,15 +1,15 @@
-import { Component, OnInit, Inject, ViewChild,ElementRef,Renderer2, ViewContainerRef, NgZone } from '@angular/core';
+import { Component, OnInit, Inject, ViewChild, ElementRef, Renderer2, ViewContainerRef, NgZone } from '@angular/core';
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 {leftFunctionalDomainComponentPlan,editPlaneFigureComponentPlan} from './leftFunctionalDomain'
-import {MatTreeFlatDataSource, MatTreeFlattener} from '@angular/material/tree';
-import {FlatTreeControl} from '@angular/cdk/tree';
-import {WorkingAreaComponent} from '../../working-area/working-area.component'
-import {CanvasShareDataService, DisposalNodeData} from '../../canvas-share-data.service' //引入服务
+import { leftFunctionalDomainComponentPlan, editPlaneFigureComponentPlan } from './leftFunctionalDomain'
+import { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material/tree';
+import { FlatTreeControl } from '@angular/cdk/tree';
+import { WorkingAreaComponent } from '../../working-area/working-area.component'
+import { CanvasShareDataService, DisposalNodeData } from '../../canvas-share-data.service' //引入服务
import Viewer from 'viewerjs';
import Swiper from 'swiper';
-import { NzFormatBeforeDropEvent, NzFormatEmitEvent,NzTreeComponent } from 'ng-zorro-antd/tree';
+import { NzFormatBeforeDropEvent, NzFormatEmitEvent, NzTreeComponent } from 'ng-zorro-antd/tree';
import { Observable, of } from 'rxjs';
import { GameMode } from 'src/app/working-area/model/gameMode';
import { ActivatedRoute, Router } from '@angular/router';
@@ -24,9 +24,9 @@ import { AxMessageSystem } from 'src/app/working-area/model/axMessageSystem';
})
export class CollectionToolsPlanComponent implements OnInit {
- @ViewChild('canvas',{static: true}) canvas:WorkingAreaComponent; //父组件中获得子组件的引用
+ @ViewChild('canvas', { static: true }) canvas: WorkingAreaComponent; //父组件中获得子组件的引用
- constructor(public _ngZone:NgZone,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) { }
+ constructor(public _ngZone: NgZone, 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) => {//要给渲染节点传那些属性参数
@@ -35,36 +35,36 @@ export class CollectionToolsPlanComponent implements OnInit {
name: node.name || node.Name,
level: level,
id: node.id || node.Id,
- children:node.children,
- isTemplate:node.isTemplate,
- isNewElement:node.isNewElement,
- isLook:node.isLook,
- isLookPattern:node.isLookPattern || null
+ children: node.children,
+ isTemplate: node.isTemplate,
+ isNewElement: node.isNewElement,
+ isLook: node.isLook,
+ isLookPattern: node.isLookPattern || null
};
}
treeControl = new FlatTreeControl(node => node.level, node => node.expandable);
-
+
treeFlattener = new MatTreeFlattener(this._transformer, node => node.level, node => node.expandable, node => node.children);
dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);
hasChild = (_: number, node: any) => node.expandable;
- colors = ['#076eec','#4dd0e1','#00ee76','#ffff00','#eeb422',
- '#FF6A6A','#ff0000','#ff6eb4','#00bfff','#54ff9f',
- '#009688','#836fff','#ff8c00','#ee00ee','#ffa07a',
- '#00C500','#00ffff','#6495ed','#ffdAb9','#AA00FF']
+ colors = ['#076eec', '#4dd0e1', '#00ee76', '#ffff00', '#eeb422',
+ '#FF6A6A', '#ff0000', '#ff6eb4', '#00bfff', '#54ff9f',
+ '#009688', '#836fff', '#ff8c00', '#ee00ee', '#ffa07a',
+ '#00C500', '#00ffff', '#6495ed', '#ffdAb9', '#AA00FF']
selected = "1" //图标大小选择框
-
+
allBuildings //该单位所有建筑
- beforeOneCheckedBuilding:any = {name:"总平面图"}; //当前点击选择的建筑
- checkedBuildingIndex:number = -1 //当前点击选择的建筑index
- isEditPat:boolean = true //当前是否是编辑模式
-
- assetName:String//素材名称
- assetWidth:number//素材宽度
- assetHeight:number//素材高度
- sliderValue:number = 0//角度滑竿的值
- sliderValueThickness:number = 0//厚度滑竿的值
- isHighLight:boolean = false//是否高亮选择框
+ beforeOneCheckedBuilding: any = { name: "总平面图" }; //当前点击选择的建筑
+ checkedBuildingIndex: number = -1 //当前点击选择的建筑index
+ isEditPat: boolean = true //当前是否是编辑模式
+
+ assetName: String//素材名称
+ assetWidth: number//素材宽度
+ assetHeight: number//素材高度
+ sliderValue: number = 0//角度滑竿的值
+ sliderValueThickness: number = 0//厚度滑竿的值
+ isHighLight: boolean = false//是否高亮选择框
PropertyInfos = [] //去除图片链接真正用于循环的内容
imagesArrNum //素材属性图片数量上限
imagesArr = [] //属性中的图片链接集合
@@ -73,28 +73,28 @@ export class CollectionToolsPlanComponent implements OnInit {
//传入素材对象,设置右侧属性栏内容
canvasAssetObj //传入的素材属性对象
isImgNumCss = false //控制上传文件input显隐
- mySwiper:any //轮播图实例
+ mySwiper: any //轮播图实例
gallery//viewerJs实例
//设置属性框
- setAssetsProperty(obj){
+ setAssetsProperty(obj) {
//初始化viewerJs实例
setTimeout(() => {
obj.PropertyInfos.forEach(item => {
- if(item.PropertyType == 4){
- if(document.getElementById('viewerjs')){
- this.gallery = new Viewer(document.getElementById('viewerjs'),{
+ if (item.PropertyType == 4) {
+ if (document.getElementById('viewerjs')) {
+ this.gallery = new Viewer(document.getElementById('viewerjs'), {
url: 'data-original'
});
}
}
})
}, 0);
-
+
//从颜色中取出透明度
let color = obj.Color
- let strh = color.substring(color.length -2,color.length)
- let opacity = Math.round(parseInt(strh,16)/255 * 100)
+ let strh = color.substring(color.length - 2, color.length)
+ let opacity = Math.round(parseInt(strh, 16) / 255 * 100)
this.colorDivSliderValue = opacity
this.isShowProperty = true
@@ -113,18 +113,18 @@ export class CollectionToolsPlanComponent implements OnInit {
this.PropertyInfos = obj.PropertyInfos
this.sliderValueThickness = obj.Thickness
this.PropertyInfos.forEach(item => {
- if(item.PropertyType == 3){ //如果是图片链接类型
+ if (item.PropertyType == 3) { //如果是图片链接类型
this.imagesArr.push(item)
}
- if(item.PropertyType == 4){//图片数值上线
+ if (item.PropertyType == 4) {//图片数值上线
this.imagesArrNum = item.PropertyValue
}
})
//如果存在图片则加载轮播图
- if(this.imagesArr.length){
+ if (this.imagesArr.length) {
setTimeout(() => {
- this.mySwiper = new Swiper('.swiper-container',{
+ this.mySwiper = new Swiper('.swiper-container', {
loop: false,
// grabCursor: true,
// 如果需要前进后退按钮
@@ -132,8 +132,8 @@ export class CollectionToolsPlanComponent implements OnInit {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
- on:{
- click: function(){
+ on: {
+ click: function () {
_this.clickedIndex = this.clickedIndex
},
}
@@ -141,16 +141,16 @@ export class CollectionToolsPlanComponent implements OnInit {
}, 0);
}
//判断此时图片数量是否达到上限
- if(this.imagesArr.length < this.imagesArrNum){//如果不超出
+ if (this.imagesArr.length < this.imagesArrNum) {//如果不超出
this.isImgNumCss = true
- }else{
+ } else {
this.isImgNumCss = false
}
}
- pattern:boolean = true//默认为基本信息编辑
-
+ pattern: boolean = true//默认为基本信息编辑
+
//基本信息编辑模式
- baseInfo(){
+ baseInfo() {
if (!this.pattern) {
this.pattern = true
this.canvasData.gameMode = GameMode.BasicInformation
@@ -163,7 +163,7 @@ export class CollectionToolsPlanComponent implements OnInit {
}
//想定作业编辑模式
- wantWork(){
+ wantWork() {
if (this.pattern) {
this.pattern = false
this.canvasData.gameMode = GameMode.Assignment
@@ -173,117 +173,117 @@ export class CollectionToolsPlanComponent implements OnInit {
}
//适应缩放
- adaptZoom(){
+ adaptZoom() {
this.canvas.zoomFit()
}
//重置缩放
- resetZoom(){
+ resetZoom() {
this.canvas.resetCamera2D()
}
//ngzorro tree 拖拽
nzEvent(event: NzFormatEmitEvent): void {
- if(this.isDrag){
- let parentId
- if(this.pos == 0){
+ if (this.isDrag) {
+ let parentId
+ if (this.pos == 0) {
parentId = event.node.key
- }else{
- if(event.node.level == 0){
+ } else {
+ if (event.node.level == 0) {
parentId = null
- }else{
+ } else {
parentId = event.node.origin.parentId
}
}
-
+
let orders = {}
- let originalData = JSON.parse(JSON.stringify( this.canvasData.allDisposalNode || [] )) //tree原始数据
+ let originalData = JSON.parse(JSON.stringify(this.canvasData.allDisposalNode || [])) //tree原始数据
let targetNodeData = []//拖动移入节点的数据,用于遍历求出放在该数组的第几位
//找到需要重新排序的数组
- if(this.pos == 0){
+ if (this.pos == 0) {
originalData.forEach(item => {
- if(item.parentId == event.node.key){
+ if (item.parentId == event.node.key) {
targetNodeData.push(item)
}
})
- }else{
- if(event.node.origin.parentId){//如果拖动目标为非一级节点
+ } else {
+ if (event.node.origin.parentId) {//如果拖动目标为非一级节点
originalData.forEach(item => {
- if(item.parentId == event.node.origin.parentId){
+ if (item.parentId == event.node.origin.parentId) {
targetNodeData.push(item)
}
})
- }else{//如果拖动目标为一级节点
+ } else {//如果拖动目标为一级节点
originalData.forEach(item => {
- if(!item.parentId){
+ if (!item.parentId) {
targetNodeData.push(item)
}
})
}
}
-
-
+
+
let idArr = []
targetNodeData.forEach(i => {
idArr.push(i.id)
})
- if(this.pos == 0 && event.node.origin.children.length == 1){
- let key = event.dragNode.key
+ if (this.pos == 0 && event.node.origin.children.length == 1) {
+ let key = event.dragNode.key
orders[key] = 0
parentId = event.node.key
- }else{
+ } else {
let array = []
targetNodeData.forEach(item => {
- if(item.id != event.dragNode.key){ //将拖动项先移除掉
+ if (item.id != event.dragNode.key) { //将拖动项先移除掉
array.push(item)
}
})
- if(event.dragNode.isEnd[event.dragNode.isEnd.length - 1]){ //如果移入到最后一个
+ if (event.dragNode.isEnd[event.dragNode.isEnd.length - 1]) { //如果移入到最后一个
array.push(event.dragNode.origin)
- }else if(event.dragNode.isStart[event.dragNode.isStart.length - 1]){//如果移入到第一个
+ } else if (event.dragNode.isStart[event.dragNode.isStart.length - 1]) {//如果移入到第一个
array.unshift(event.dragNode.origin)
- }else{//如果移入中间位置
+ } else {//如果移入中间位置
array.splice(event.node.origin.order, 0, event.dragNode.origin)
}
- array.forEach((item,key) => {
+ array.forEach((item, key) => {
orders[item.id] = key
})
}
-
- let obj ={
- id : event.dragNode.origin.id,
- parentId : parentId,
- orders : orders
+
+ let obj = {
+ id: event.dragNode.origin.id,
+ parentId: parentId,
+ orders: orders
}
-
- this.http.put("/api/DisposalNodes/Sort",obj).subscribe(data => {
+
+ this.http.put("/api/DisposalNodes/Sort", obj).subscribe(data => {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('排序成功','确定',config)
+ this.snackBar.open('排序成功', '确定', config)
this.refurbishTreeData()
})
}
}
-
+
isDrag //是否可以拖动
pos//放置位置
beforeDrop = (arg: NzFormatBeforeDropEvent) => {
- if(arg.dragNode.origin.isDataNode && arg.node.level === 0){//如果为数据节点则不允许拖到一级节点
+ if (arg.dragNode.origin.isDataNode && arg.node.level === 0) {//如果为数据节点则不允许拖到一级节点
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('数据节点不允许拖拽到一级节点','确定',config)
+ this.snackBar.open('数据节点不允许拖拽到一级节点', '确定', config)
this.isDrag = false
return of(false);
- }else if(!arg.dragNode.origin.isDataNode && arg.node.level === 2){
+ } else if (!arg.dragNode.origin.isDataNode && arg.node.level === 2) {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('处置节点不允许拖拽到三级节点','确定',config)
+ this.snackBar.open('处置节点不允许拖拽到三级节点', '确定', config)
this.isDrag = false
return of(false);
- }else{
+ } else {
this.isDrag = true
this.pos = arg.pos
return of(true)
@@ -293,35 +293,35 @@ export class CollectionToolsPlanComponent implements OnInit {
//天气栏目
weatherBtn = true
- weatherBtnShow(){
+ weatherBtnShow() {
this.weatherBtn = !this.weatherBtn
}
- weatherBtnHidden(){
+ weatherBtnHidden() {
this.weatherBtn = !this.weatherBtn
}
//底部切换按钮div
detailsAndattentBtn = true
//节点详情
- details(){
+ details() {
this.detailsAndattentBtn = true
}
//注意事项
- attent(){
+ attent() {
this.detailsAndattentBtn = false
}
//消防要素div边框高度调节
- firecategoriesDivMouseDown(e){
+ firecategoriesDivMouseDown(e) {
document.onmousemove = (ev) => {
let bodyHeight = document.body.clientHeight //网页宽度
let maxHeight = this.element.nativeElement.querySelector('#rightDiv').clientHeight - 35 //最大宽度
- if(bodyHeight - ev.clientY >= maxHeight){
- this.element.nativeElement.querySelector('#firecategories').style.height = maxHeight+ 'px'
- this.element.nativeElement.querySelector('#property').style.height = 35+ 'px'
- }else{
- this.element.nativeElement.querySelector('#firecategories').style.height = (bodyHeight - ev.clientY) + 'px' ;
- this.element.nativeElement.querySelector('#property').style.height = (this.element.nativeElement.querySelector('#rightDiv').clientHeight - this.element.nativeElement.querySelector('#firecategories').clientHeight) + 'px'
+ if (bodyHeight - ev.clientY >= maxHeight) {
+ this.element.nativeElement.querySelector('#firecategories').style.height = maxHeight + 'px'
+ this.element.nativeElement.querySelector('#property').style.height = 35 + 'px'
+ } else {
+ this.element.nativeElement.querySelector('#firecategories').style.height = (bodyHeight - ev.clientY) + 'px';
+ this.element.nativeElement.querySelector('#property').style.height = (this.element.nativeElement.querySelector('#rightDiv').clientHeight - this.element.nativeElement.querySelector('#firecategories').clientHeight) + 'px'
}
}
document.onmouseup = () => {
@@ -331,13 +331,13 @@ export class CollectionToolsPlanComponent implements OnInit {
}
//左侧div边框宽度调节
- leftDivMouseDown(e){
+ leftDivMouseDown(e) {
document.onmousemove = (ev) => {
let bodyWidth = document.body.clientWidth //网页宽度
let maxWidth = bodyWidth - 260 - this.element.nativeElement.querySelector('#rightDiv').clientWidth //最大宽度
- if(ev.clientX - 240 >= maxWidth){
+ if (ev.clientX - 240 >= maxWidth) {
this.element.nativeElement.querySelector('#leftDiv').style.width = maxWidth + 'px'
- }else{
+ } else {
this.element.nativeElement.querySelector('#leftDiv').style.width = ev.clientX - 260 + 'px';
}
}
@@ -348,14 +348,14 @@ export class CollectionToolsPlanComponent implements OnInit {
}
//底部div高度调节
- bottomDivMouseDown(e){
+ bottomDivMouseDown(e) {
document.onmousemove = (ev) => {
let bodyHeight = document.body.clientHeight //网页高度
let maxHeight = this.element.nativeElement.querySelector('#rightDiv').clientHeight //最大高度
- if(bodyHeight - ev.clientY >= maxHeight){
- this.element.nativeElement.querySelector('#bottomDiv').style.height = maxHeight + 'px'
- }else{
- this.element.nativeElement.querySelector('#bottomDiv').style.height = (bodyHeight - ev.clientY) + 'px' ;
+ if (bodyHeight - ev.clientY >= maxHeight) {
+ this.element.nativeElement.querySelector('#bottomDiv').style.height = maxHeight + 'px'
+ } else {
+ this.element.nativeElement.querySelector('#bottomDiv').style.height = (bodyHeight - ev.clientY) + 'px';
}
}
document.onmouseup = () => {
@@ -365,13 +365,13 @@ export class CollectionToolsPlanComponent implements OnInit {
}
//右侧div边框宽度调节
- rightDivMouseDown(e){
+ rightDivMouseDown(e) {
document.onmousemove = (ev) => {
let bodyWidth = document.body.clientWidth //网页宽度
let maxWidth = bodyWidth - 240 - this.element.nativeElement.querySelector('#leftDiv').clientWidth //最大宽度
- if(bodyWidth - ev.clientX >= maxWidth){
+ if (bodyWidth - ev.clientX >= maxWidth) {
this.element.nativeElement.querySelector('#rightDiv').style.width = maxWidth + 'px'
- }else{
+ } else {
this.element.nativeElement.querySelector('#rightDiv').style.width = bodyWidth - ev.clientX + 'px';
}
}
@@ -382,41 +382,41 @@ export class CollectionToolsPlanComponent implements OnInit {
}
//放大图标
- iconScale(){
+ iconScale() {
let number = Number(this.selected)
this.canvas.setIconScale(number)
}
//素材宽度输入框改变
- assetWidthIunput(){
+ assetWidthIunput() {
this.canvasAssetObj.Width = this.assetWidth
this.canvasData.isChange = true
this.canvas.refreshIcon(this.canvasAssetObj.Id)
}
//素材高度输入框改变
- assetHeightIunput(){
+ assetHeightIunput() {
this.canvasAssetObj.Height = this.assetHeight
this.canvasData.isChange = true
this.canvas.refreshIcon(this.canvasAssetObj.Id)
}
//素材角度输入框改变
- assetAngleIunput(){
+ assetAngleIunput() {
this.canvasAssetObj.Angle = this.sliderValue
this.canvasData.isChange = true
this.canvas.refreshIcon(this.canvasAssetObj.Id)
}
//素材厚度输入框改变
- assetThicknessIunput(){
+ assetThicknessIunput() {
this.canvasAssetObj.Thickness = this.sliderValueThickness
this.canvasData.isChange = true
this.canvas.refreshIcon(this.canvasAssetObj.Id)
}
//素材是否高亮改变----->本地操作行为
- assetHighLightIunput(){
+ assetHighLightIunput() {
// console.log(this.isHighLight,this.canvasAssetObj)
// let arr = []
// arr.push(this.canvasAssetObj.Id)
@@ -428,11 +428,11 @@ export class CollectionToolsPlanComponent implements OnInit {
return typeof value === 'number' && !isNaN(value);
}
//动态属性素材input框值改变
- assetInputChange(i,e){
- let index = this.canvasAssetObj.PropertyInfos.findIndex((item)=>{
+ assetInputChange(i, e) {
+ let index = this.canvasAssetObj.PropertyInfos.findIndex((item) => {
return i.PropertyName == item.PropertyName
})
- if(this.myIsNaN(e.target.value)){
+ if (this.myIsNaN(e.target.value)) {
e.target.value = String(e.target.value)
}
this.canvasAssetObj.PropertyInfos[index].PropertyValue = e.target.value
@@ -441,8 +441,8 @@ export class CollectionToolsPlanComponent implements OnInit {
}
//动态属性素材布尔值框改变radio
- assetRadioChange(i,boolean){
- let index = this.canvasAssetObj.PropertyInfos.findIndex((item)=>{
+ assetRadioChange(i, boolean) {
+ let index = this.canvasAssetObj.PropertyInfos.findIndex((item) => {
return i.PropertyName == item.PropertyName
})
this.canvasAssetObj.PropertyInfos[index].PropertyValue = boolean
@@ -452,35 +452,35 @@ export class CollectionToolsPlanComponent implements OnInit {
colorIndex//默认素材颜色
selectedcolor//点击选择的颜色
//选择素材颜色
- selectcolor(item,key){
+ selectcolor(item, key) {
//在当前透明度基础上改变颜色
- this.selectedcolor = item + this.selectedcolor.substring(this.selectedcolor.length-2)
+ this.selectedcolor = item + this.selectedcolor.substring(this.selectedcolor.length - 2)
this.canvasAssetObj.Color = this.selectedcolor
this.canvasData.isChange = true
this.canvas.refreshIcon(this.canvasAssetObj.Id)
}
//颜色选择滑竿的值
colorDivSliderValue
- colorDivSliderChange(){
- let colorOpacity = Math.round(255 * this.colorDivSliderValue * 0.01)
+ colorDivSliderChange() {
+ let colorOpacity = Math.round(255 * this.colorDivSliderValue * 0.01)
//根据滑竿值改变16进制颜色后两位
- function replacepos(text,start,stop,replacetext){
- let mystr = text.substring(0,stop-1)+replacetext+text.substring(stop+1);
- return mystr;
+ function replacepos(text, start, stop, replacetext) {
+ let mystr = text.substring(0, stop - 1) + replacetext + text.substring(stop + 1);
+ return mystr;
}
- this.selectedcolor = replacepos(this.selectedcolor,7,8,colorOpacity.toString(16))
+ this.selectedcolor = replacepos(this.selectedcolor, 7, 8, colorOpacity.toString(16))
this.canvasAssetObj.Color = this.selectedcolor
this.canvasData.isChange = true
this.canvas.refreshIcon(this.canvasAssetObj.Id)
}
//上传素材图片
- selectFile(e){
+ selectFile(e) {
let imgFile = e.target.files[0] || null //上传的文件
this.startUploading(imgFile)
}
- objectName:any //上传对象名
- startUploading (imgFile) {
+ objectName: any //上传对象名
+ startUploading(imgFile) {
let _this = this
let file = imgFile || null //获取上传的文件
let fileSize = file.size || null //上传文件的总大小
@@ -488,13 +488,13 @@ export class CollectionToolsPlanComponent implements OnInit {
let companyId = sessionStorage.getItem("companyId")
if (file && fileSize <= shardSize) { //上传文件<=5MB时
let formData = new FormData()
- formData.append("file",file)
- this.http.post(`api/Objects/WebPlan2D/${companyId}`,formData).subscribe((data:any)=>{
+ formData.append("file", file)
+ this.http.post(`api/Objects/WebPlan2D/${companyId}`, formData).subscribe((data: any) => {
this.objectName = data.objectName
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('上传成功','确定',config)
+ this.snackBar.open('上传成功', '确定', config)
//在原始素材对象和需要循环图片的对象中分别push最新上传的图片
let imgObj = {
@@ -510,12 +510,12 @@ export class CollectionToolsPlanComponent implements OnInit {
"PropertyType": 3,
"PropertyValue": "/api/Objects/WebPlan2D/" + this.objectName
}
-
+
this.imagesArr.push(imgObj)
this.canvasAssetObj.PropertyInfos.push(imgObj)
setTimeout(() => {
- this.mySwiper = new Swiper('.swiper-container',{
+ this.mySwiper = new Swiper('.swiper-container', {
loop: false,
// grabCursor: true,
// 如果需要前进后退按钮
@@ -523,8 +523,8 @@ export class CollectionToolsPlanComponent implements OnInit {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
- on:{
- click: function(){
+ on: {
+ click: function () {
_this.clickedIndex = this.clickedIndex
},
}
@@ -533,44 +533,44 @@ export class CollectionToolsPlanComponent implements OnInit {
this.mySwiper.slideTo(this.imagesArr.length - 1)
this.gallery.update()
}, 0);
-
+
//判断上传素材属性图片是否超出数量 超出数量则隐藏input框
- if(this.imagesArr.length < this.imagesArrNum){//不超出input才会显示
+ if (this.imagesArr.length < this.imagesArrNum) {//不超出input才会显示
this.isImgNumCss = true
- }else{
+ } else {
this.isImgNumCss = false
}
-
+
this.canvasData.isChange = true
})
- } else if (file && fileSize>shardSize) { //上传文件>5MB时,分块上传
+ } else if (file && fileSize > shardSize) { //上传文件>5MB时,分块上传
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('上传图片文件不允许大于5mb','确定',config);
+ this.snackBar.open('上传图片文件不允许大于5mb', '确定', config);
}
}
//不能上传图片提示
- imgNumBeyond(){
+ imgNumBeyond() {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('图片数量已达上限','确定',config);
+ this.snackBar.open('图片数量已达上限', '确定', config);
}
//删除素材属性图片
- deleteImg(){
- if(this.imagesArr.length == 0){
+ deleteImg() {
+ if (this.imagesArr.length == 0) {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('没有可删除的图片,请先上传','确定',config)
- }else{
+ this.snackBar.open('没有可删除的图片,请先上传', '确定', config)
+ } else {
// 在素材原始对象中将删除的图片去掉
- this.canvasAssetObj.PropertyInfos = [...this.canvasAssetObj.PropertyInfos.filter((item)=>{
- return item.PropertyValue != this.imagesArr[this.mySwiper.activeIndex].PropertyValue
+ this.canvasAssetObj.PropertyInfos = [...this.canvasAssetObj.PropertyInfos.filter((item) => {
+ return item.PropertyValue != this.imagesArr[this.mySwiper.activeIndex].PropertyValue
})]
//在图片循环数组中将图片去掉
this.imagesArr.splice(this.mySwiper.activeIndex, 1);
@@ -583,7 +583,7 @@ export class CollectionToolsPlanComponent implements OnInit {
//将上传的input框显示出来
this.isImgNumCss = true;
//清除图片缓存
- if((document.getElementById('inputimg'))){
+ if ((document.getElementById('inputimg'))) {
(document.getElementById('inputimg')).value = null //清空input框缓存
}
@@ -592,8 +592,8 @@ export class CollectionToolsPlanComponent implements OnInit {
}
//动态属性方向select选择框
- direction(i,e){
- let index = this.canvasAssetObj.PropertyInfos.findIndex((item)=>{
+ direction(i, e) {
+ let index = this.canvasAssetObj.PropertyInfos.findIndex((item) => {
return i.PropertyName == item.PropertyName
})
this.canvasAssetObj.PropertyInfos[index].PropertyValue = e.target.value
@@ -601,8 +601,8 @@ export class CollectionToolsPlanComponent implements OnInit {
}
//动态属性供给区域select选择框
- supplyArea(i,e){
- let index = this.canvasAssetObj.PropertyInfos.findIndex((item)=>{
+ supplyArea(i, e) {
+ let index = this.canvasAssetObj.PropertyInfos.findIndex((item) => {
return i.PropertyName == item.PropertyName
})
this.canvasAssetObj.PropertyInfos[index].PropertyValue = e.target.value
@@ -610,8 +610,8 @@ export class CollectionToolsPlanComponent implements OnInit {
}
//动态属性供给类型select选择框
- supplyType(i,e){
- let index = this.canvasAssetObj.PropertyInfos.findIndex((item)=>{
+ supplyType(i, e) {
+ let index = this.canvasAssetObj.PropertyInfos.findIndex((item) => {
return i.PropertyName == item.PropertyName
})
this.canvasAssetObj.PropertyInfos[index].PropertyValue = e.target.value
@@ -620,64 +620,64 @@ export class CollectionToolsPlanComponent implements OnInit {
isediticon = true //控制查看编辑模式的编辑模式小笔按钮
- isMultipleAsset:boolean = false//框选多个素材属性显隐
- multipleAsset:any = {
- Width:null,
- Height:null,
- Angle:null,
- Thickness:null,
- Color:null,
- PropertyInfos:[]
+ isMultipleAsset: boolean = false//框选多个素材属性显隐
+ multipleAsset: any = {
+ Width: null,
+ Height: null,
+ Angle: null,
+ Thickness: null,
+ Color: null,
+ PropertyInfos: []
}//多个素材共同属性
- multipleAssetData:any//当前多选的素材
- firstMultipleAssetData:any//当前多选的第一个素材
+ multipleAssetData: any//当前多选的素材
+ firstMultipleAssetData: any//当前多选的第一个素材
ngOnInit(): void {
let _this = this
- AxMessageSystem.addListener('selectionChanged', ()=>{
- if(this.canvas.selection.size() == 1){//如果是单选
+ AxMessageSystem.addListener('selectionChanged', () => {
+ if (this.canvas.selection.size() == 1) {//如果是单选
this.isMultipleAsset = false
// console.log('单选',this.canvas.selection.first().assetData)
this.setAssetsProperty(this.canvas.selection.first().assetData)
- }else if(this.canvas.selection.size()){
+ } else if (this.canvas.selection.size()) {
this.isShowProperty = true
this.multipleAssetData = this.canvas.selection.all()
this.firstMultipleAssetData = this.canvas.selection.first()
this.multipleAsset = {
- Width:null,
- Height:null,
- Angle:null,
- Thickness:null,
- Color:null,
- PropertyInfos:[]
+ Width: null,
+ Height: null,
+ Angle: null,
+ Thickness: null,
+ Color: null,
+ PropertyInfos: []
}
this.isMultipleAsset = true
let firstAssetData = this.canvas.selection.first().assetData;//拿出第一个素材作为例子与其他素材进行对比
let InteractiveMode = firstAssetData.InteractiveMode //素材连接方式
let isInteractiveMode = this.canvas.selection.all().every(item => item.assetData.InteractiveMode === InteractiveMode)
- if(isInteractiveMode){
+ if (isInteractiveMode) {
this.multipleAsset.InteractiveMode = InteractiveMode
}
let isFillMode = this.canvas.selection.all().every(item => item.assetData.FillMode === 0) //素材填充方式都为0
- if(isFillMode){
+ if (isFillMode) {
this.multipleAsset.FillMode = 0
}
this.canvas.selection.first().assetData.PropertyInfos.forEach(i => {
let index = 0
this.canvas.selection.all().forEach(item => {
item.assetData.PropertyInfos.forEach(element => {
- if(element.PropertyName == i.PropertyName && element.PropertyType == i.PropertyType && element.PropertyType != 3 && element.PropertyType != 4){
+ if (element.PropertyName == i.PropertyName && element.PropertyType == i.PropertyType && element.PropertyType != 3 && element.PropertyType != 4) {
index++
- if(index == this.canvas.selection.size()){
+ if (index == this.canvas.selection.size()) {
let newElement = JSON.parse(JSON.stringify(element))
newElement.PropertyValue = ''
this.multipleAsset.PropertyInfos.push(newElement)
}
}
});
- })
+ })
})
// console.log(666,_this.multipleAsset.PropertyInfos)
- }else if(this.canvas.selection.size() == 0){
+ } else if (this.canvas.selection.size() == 0) {
this.isShowProperty = false
}
}, this)
@@ -685,16 +685,16 @@ export class CollectionToolsPlanComponent implements OnInit {
this.assetWidth = args1.Width
this.assetHeight = args1.Height
}, this)
- if(this.router.url.indexOf("keyUnit/viewunitinfo") != -1){ //查看模式
+ if (this.router.url.indexOf("keyUnit/viewunitinfo") != -1) { //查看模式
this.isEditPattern = false
this.isediticon = false
this.canvasData.gameMode = GameMode.Assignment
- } else if (this.router.url.indexOf("keyUnit/editplaninfo")!= -1) { //编辑模式
+ } else if (this.router.url.indexOf("keyUnit/editplaninfo") != -1) { //编辑模式
this.canvasData.gameMode = GameMode.BasicInformation
}
//gis模块平面图
- if((this.router.url.indexOf("gis") != -1 || this.router.url.indexOf("waitexamineergis") != -1) && sessionStorage.getItem("gisplan") == "look"){
+ if ((this.router.url.indexOf("gis") != -1 || this.router.url.indexOf("waitexamineergis") != -1) && sessionStorage.getItem("gisplan") == "look") {
this.isEditPattern = false
this.isediticon = false
this.canvasData.gameMode = GameMode.Assignment
@@ -703,86 +703,86 @@ export class CollectionToolsPlanComponent implements OnInit {
}
let that = this
- window.setTimeout(()=>{
+ window.setTimeout(() => {
document.getElementById("functionalDomainContent").oncontextmenu = function (event) {
// that.canvas.cancelPaint()
that.selectImageIndex = -1
event.preventDefault();
};
})
-
- this.canvasData.getMessage().subscribe((message: any)=>{
- if(message == "send a message"){
+
+ this.canvasData.getMessage().subscribe((message: any) => {
+ if (message == "send a message") {
// this.refurbishTreeData()
}
})
}
//多选宽度共同改变
- multipleAssetWidthInput(){
- this.multipleAssetData.forEach(item=>{
+ multipleAssetWidthInput() {
+ this.multipleAssetData.forEach(item => {
item.assetData.Width = this.multipleAsset.Width
this.canvas.refreshIcon(item.assetData.Id)
this.canvasData.isChange = true
})
}
//多选高度共同改变
- multipleAssetHeightInput(){
- this.multipleAssetData.forEach(item=>{
+ multipleAssetHeightInput() {
+ this.multipleAssetData.forEach(item => {
item.assetData.Height = this.multipleAsset.Height
this.canvas.refreshIcon(item.assetData.Id)
this.canvasData.isChange = true
})
}
//多选角度共同改变
- multipleAssetAngleInput(){
- this.multipleAssetData.forEach(item=>{
+ multipleAssetAngleInput() {
+ this.multipleAssetData.forEach(item => {
item.assetData.Angle = this.multipleAsset.Angle
this.canvas.refreshIcon(item.assetData.Id)
this.canvasData.isChange = true
})
}
//多选厚度共同改变
- multipleAssetThicknessInput(){
- this.multipleAssetData.forEach(item=>{
+ multipleAssetThicknessInput() {
+ this.multipleAssetData.forEach(item => {
item.assetData.Thickness = this.multipleAsset.Thickness
this.canvas.refreshIcon(item.assetData.Id)
this.canvasData.isChange = true
})
}
//多选颜色共同改变
- multipleSelectedcolor:any
- multipleAssetSelectcolor(item,key){
+ multipleSelectedcolor: any
+ multipleAssetSelectcolor(item, key) {
//在当前透明度基础上改变颜色
this.multipleSelectedcolor = item
- this.multipleAssetData.forEach(item=>{
+ this.multipleAssetData.forEach(item => {
item.assetData.Color = this.multipleSelectedcolor
this.canvasData.isChange = true
this.canvas.refreshIcon(item.assetData.Id)
})
}
//多选颜色滑竿改变
- multipleColorDivSliderChange(){
- let colorOpacity = Math.round(255 * this.colorDivSliderValue * 0.01)
+ multipleColorDivSliderChange() {
+ let colorOpacity = Math.round(255 * this.colorDivSliderValue * 0.01)
//根据滑竿值改变16进制颜色后两位
- function replacepos(text,start,stop,replacetext){
- let mystr = text.substring(0,stop-1)+replacetext+text.substring(stop+1);
- return mystr;
+ function replacepos(text, start, stop, replacetext) {
+ let mystr = text.substring(0, stop - 1) + replacetext + text.substring(stop + 1);
+ return mystr;
}
- this.multipleAssetData.forEach(item=>{
- this.multipleSelectedcolor = replacepos(this.multipleSelectedcolor,7,8,colorOpacity.toString(16))
+ this.multipleAssetData.forEach(item => {
+ this.multipleSelectedcolor = replacepos(this.multipleSelectedcolor, 7, 8, colorOpacity.toString(16))
item.assetData.Color = this.multipleSelectedcolor
this.canvasData.isChange = true
this.canvas.refreshIcon(item.assetData.Id)
})
}
//多选状态动态属性素材input框值改变
- multipleAssetInputChange(i,e){
+ multipleAssetInputChange(i, e) {
e.stopPropagation()
setTimeout(() => {
- this.multipleAssetData.forEach(item=>{
+ this.multipleAssetData.forEach(item => {
item.assetData.PropertyInfos.forEach(element => {
- if(element.PropertyName == i.PropertyName){
- if(this.myIsNaN(i.PropertyValue)){
+ if (element.PropertyName == i.PropertyName) {
+ if (this.myIsNaN(i.PropertyValue)) {
i.PropertyValue = String(i.PropertyValue)
}
element.PropertyValue = i.PropertyValue
@@ -794,12 +794,12 @@ export class CollectionToolsPlanComponent implements OnInit {
}, 0);
}
//多选状态动态属性素材radio框值改变
- multipleAssetRadioChange(i,value){
+ multipleAssetRadioChange(i, value) {
// e.stopPropagation()
- this.multipleAssetData.forEach(item=>{
+ this.multipleAssetData.forEach(item => {
// console.log(item)
item.assetData.PropertyInfos.forEach(element => {
- if(element.PropertyName == i.PropertyName){
+ if (element.PropertyName == i.PropertyName) {
element.PropertyValue = value
this.canvas.refreshIcon(item.assetData.Id)
this.canvasData.isChange = true
@@ -808,11 +808,11 @@ export class CollectionToolsPlanComponent implements OnInit {
})
}
//多选状态动态属性素材下拉框值改变
- multipleSupplyArea(i,e){
+ multipleSupplyArea(i, e) {
e.stopPropagation()
- this.multipleAssetData.forEach(item=>{
+ this.multipleAssetData.forEach(item => {
item.assetData.PropertyInfos.forEach(element => {
- if(element.PropertyName == i.PropertyName){
+ if (element.PropertyName == i.PropertyName) {
element.PropertyValue = i.PropertyValue
this.canvas.refreshIcon(item.assetData.Id)
this.canvasData.isChange = true
@@ -823,76 +823,80 @@ export class CollectionToolsPlanComponent implements OnInit {
ngAfterViewInit(): void {
//不是gis模块平面图
- if(this.router.url.indexOf("gis") == -1) {
+ if (this.router.url.indexOf("gis") == -1) {
this.getSitePlan()
}
//监听数据变化后
- this.canvas.on('canvasDataChanged',()=>{
+ this.canvas.on('canvasDataChanged', () => {
// 收到数据表示共享数据发生变化
// this.renovateTreeData(false)
});
}
- copyAssetData:any //存储用于复制的素材
+ copyAssetData: any //存储用于复制的素材
//复制素材
- copyAsset(){
+ copyAsset() {
this.canvas.copy()
}
//粘贴素材
- pasteAsset(){
+ pasteAsset() {
let companyId = sessionStorage.getItem("companyId")
let buildingId = this.beforeOneCheckedBuilding.id
let floorId = this.selectingSitePlan.id
- this.canvas.paste(companyId,buildingId,floorId)
+ this.canvas.paste(companyId, buildingId, floorId)
// this.renovateTreeData(false)
}
+ //截图
+ takeScreenshot() {
+ this.canvas.takeScreenshot();
+ }
- isMultiSelect:boolean = false; // 多选/单选 切换
- changeMultiSelect (e) { this.canvas.setMulitSelect(this.isMultiSelect) }
- isShowLegend:boolean = true; //图例是否显示
- changeLegend (e) { this.canvasData.selectPanelPoint.BackgroundImageUrl? null : this.canvas.setLegendVisible(this.isShowLegend) }
+ isMultiSelect: boolean = false; // 多选/单选 切换
+ changeMultiSelect(e) { this.canvas.setMulitSelect(this.isMultiSelect) }
+ isShowLegend: boolean = true; //图例是否显示
+ changeLegend(e) { this.canvasData.selectPanelPoint.BackgroundImageUrl ? null : this.canvas.setLegendVisible(this.isShowLegend) }
- basicInfo:boolean = true //基本信息名称显隐
- wantToWork:boolean = true //想定作业名称显隐
+ basicInfo: boolean = true //基本信息名称显隐
+ wantToWork: boolean = true //想定作业名称显隐
//点击基本信息名称
- basicInfoClick(){
+ basicInfoClick() {
this.basicInfo = !this.basicInfo
- this.canvas.setNameVisible(this.basicInfo,0)
+ this.canvas.setNameVisible(this.basicInfo, 0)
}
//点击想定作业名称
- wantToWorkClick(){
+ wantToWorkClick() {
this.wantToWork = !this.wantToWork
- this.canvas.setNameVisible(this.wantToWork,1)
+ this.canvas.setNameVisible(this.wantToWork, 1)
}
- isEditPattern:boolean = true //是否为编辑模式
+ isEditPattern: boolean = true //是否为编辑模式
//进入编辑模式
- editpat(){
+ editpat() {
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('进入编辑模式','确定',config);
+ this.snackBar.open('进入编辑模式', '确定', config);
this.isEditPattern = true
}
//进入查看模式
- lookpat(){
+ lookpat() {
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('进入查看模式','确定',config);
+ this.snackBar.open('进入查看模式', '确定', config);
this.isEditPattern = false
}
//保存平面图
- saveNum :any = []
- saveSite(){
+ saveNum: any = []
+ saveSite() {
//更新用于统计的数据
this.canvasData.updateBuildingData()
-
- if (this.selectingSitePlan && this.selectingSitePlan.id) {
+
+ if (this.selectingSitePlan && this.selectingSitePlan.id) {
//打开遮罩层
this.maskLayerService.sendMessage(true)
this.saveNum = []
@@ -900,289 +904,289 @@ export class CollectionToolsPlanComponent implements OnInit {
SitePlanData.data = JSON.stringify(SitePlanData.data)
let CompanyData = JSON.parse(JSON.stringify(this.canvasData.originalcompanyBuildingData));
CompanyData.data = JSON.stringify(CompanyData.data)
-
+
let object = this.canvasData.originalcompanyBuildingData.data
let adjoinArr = [] //毗邻数组
-
- if(this.pattern){//如果是基本信息编辑模式
+
+ if (this.pattern) {//如果是基本信息编辑模式
for (const key in object) {
if (object[key].Name == "毗邻") {//如果是相同楼层,则筛选出毗邻
-
+
object[key].PropertyInfos.forEach(element => {
- if(element.PropertyName == "方向"){
+ if (element.PropertyName == "方向") {
adjoinArr.push(element.PropertyValue)
}
});
}
}
-
- if((new Set(adjoinArr)).size != adjoinArr.length){
+
+ if ((new Set(adjoinArr)).size != adjoinArr.length) {
this.maskLayerService.sendMessage(false)
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('保存失败,毗邻存在相同方向','确定',config);
+ this.snackBar.open('保存失败,毗邻存在相同方向', '确定', config);
return false
- }else{
+ } else {
//如果是单位 总平面图
- if(this.checkedBuildingIndex==-1){
+ if (this.checkedBuildingIndex == -1) {
//保存平面图数据
- this.http.post("/api/SitePlanData",SitePlanData,{
- params:{
- companyId:this.params.companyId
+ this.http.post("/api/SitePlanData", SitePlanData, {
+ params: {
+ companyId: this.params.companyId
}
}).subscribe(data => {
this.saveNum.push("1")
- if(this.saveNum.length == 5){
+ 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.snackBar.open('保存成功', '确定', config);
this.tabbarService.sendMessage('changeScore');
}
- },err=>{
+ }, 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);
})
-
+
//保存建筑数据
- this.http.post("/api/CompanyData",CompanyData,{
- params:{
- companyId:this.params.companyId
+ this.http.post("/api/CompanyData", CompanyData, {
+ params: {
+ companyId: this.params.companyId
}
}).subscribe(data => {
this.saveNum.push("1")
- if(this.saveNum.length == 5){
+ 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.snackBar.open('保存成功', '确定', config);
this.tabbarService.sendMessage('changeScore');
}
- },err=>{
+ }, 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);
})
-
+
//批量保存单位毗邻
let CompanyAdjoins = this.canvasData.getCompanyAdjoinInfo()
- this.http.post("/api/CompanyAdjoins/Batch",CompanyAdjoins,{
- params:{
- companyId:this.params.companyId
+ this.http.post("/api/CompanyAdjoins/Batch", CompanyAdjoins, {
+ params: {
+ companyId: this.params.companyId
}
}).subscribe(data => {
this.saveNum.push("1")
- if(this.saveNum.length == 5){
+ 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.snackBar.open('保存成功', '确定', config);
this.tabbarService.sendMessage('changeScore');
}
- },err=>{
+ }, 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);
+ if (err == 'infos 有重复方向!') {
+ this.snackBar.open('单位毗邻同步失败,存在相同方向', '确定', config);
+ } else {
+ this.snackBar.open('单位毗邻同步失败', '确定', config);
}
})
-
+
//批量保存单位重点部位
let CompanyImportantLocations = this.canvasData.getCompanyImportantLocations()
- this.http.post("/api/CompanyImportantLocations/Batch",CompanyImportantLocations,{
- params:{
- companyId:this.params.companyId
+ this.http.post("/api/CompanyImportantLocations/Batch", CompanyImportantLocations, {
+ params: {
+ companyId: this.params.companyId
}
}).subscribe(data => {
this.saveNum.push("1")
- if(this.saveNum.length == 5){
+ 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.snackBar.open('保存成功', '确定', config);
this.tabbarService.sendMessage('changeScore');
}
- },err=>{
+ }, 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);
})
-
+
//批量保存单位消防设施素材
let CompanyFacilityAssets = this.canvasData.getAllCompanyFacilityAssetInfo()
- this.http.post("/api/CompanyFacilityAssets/Batch",CompanyFacilityAssets,{
- params:{
- companyId:this.params.companyId
+ this.http.post("/api/CompanyFacilityAssets/Batch", CompanyFacilityAssets, {
+ params: {
+ companyId: this.params.companyId
}
}).subscribe(data => {
this.saveNum.push("1")
- if(this.saveNum.length == 5){
+ 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.snackBar.open('保存成功', '确定', config);
this.tabbarService.sendMessage('changeScore');
}
- },err=>{
+ }, 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{ //如果是建筑
-
+
+ } else { //如果是建筑
+
//建筑平面图数据
- this.http.post("/api/BuildingAreaData",SitePlanData,{
- params:{
- companyId:this.params.companyId
+ this.http.post("/api/BuildingAreaData", SitePlanData, {
+ params: {
+ companyId: this.params.companyId
}
}).subscribe(data => {
this.saveNum.push("1")
- if(this.saveNum.length == 5){
+ 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.snackBar.open('保存成功', '确定', config);
this.tabbarService.sendMessage('changeScore');
}
- },err=>{
+ }, 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);
})
-
+
//建筑数据
- this.http.post("/api/BuildingData",CompanyData,{
- params:{
- companyId:this.params.companyId
+ this.http.post("/api/BuildingData", CompanyData, {
+ params: {
+ companyId: this.params.companyId
}
}).subscribe(data => {
this.saveNum.push("1")
- if(this.saveNum.length == 5){
+ 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.snackBar.open('保存成功', '确定', config);
this.tabbarService.sendMessage('changeScore');
}
- },err=>{
+ }, 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);
})
-
+
//批量保存建筑毗邻
let buildingAdjoins = this.canvasData.getBuildingAdjoinInfo()
- this.http.post(`/api/BuildingAdjoins/Batch?companyId=${this.params.companyId}&buildingId=${this.canvasData.selectStorey.buildingId}`,buildingAdjoins).subscribe(data => {
+ 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){
+ 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.snackBar.open('保存成功', '确定', config);
this.tabbarService.sendMessage('changeScore');
}
- },err=>{
+ }, 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);
+ 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.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){
+ 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.snackBar.open('保存成功', '确定', config);
this.tabbarService.sendMessage('changeScore');
}
- },err=>{
+ }, 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);
})
-
+
//批量保存建筑消防设施素材
let buildingFacilityAssets = this.canvasData.getAllBuildingFacilityAssetInfo()
- this.http.post(`/api/BuildingFacilityAssets/Batch?companyId=${this.params.companyId}&buildingId=${this.canvasData.selectStorey.buildingId}`,buildingFacilityAssets).subscribe(data => {
+ 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){
+ 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.snackBar.open('保存成功', '确定', config);
this.tabbarService.sendMessage('changeScore');
}
- },err=>{
+ }, 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);
})
-
+
}
}
}
@@ -1190,55 +1194,55 @@ export class CollectionToolsPlanComponent implements OnInit {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('暂无楼层数据','确定',config);
+ this.snackBar.open('暂无楼层数据', '确定', config);
}
}
//获得所有的建筑物
- getAllBuildings(){
- this.http.get("/api/Buildings",{
- params:{
- companyId : this.params.companyId
+ getAllBuildings() {
+ this.http.get("/api/Buildings", {
+ params: {
+ companyId: this.params.companyId
}
- }).subscribe(data=>{
+ }).subscribe(data => {
this.allBuildings = data
})
}
//拖拽tree
- drop(e){
+ drop(e) {
// console.log(1111,e)
}
- drop2(e){
+ drop2(e) {
// console.log(222,e)
}
//创建建筑
- createBuilding(){
+ createBuilding() {
let data = {
- allBuildings:this.allBuildings,
- companyId :this.params.companyId
+ allBuildings: this.allBuildings,
+ companyId: this.params.companyId
}
- let dialogRef = this.dialog.open(CreateBuildingPlan,{data});
- dialogRef.afterClosed().subscribe(data=>{
+ let dialogRef = this.dialog.open(CreateBuildingPlan, { data });
+ dialogRef.afterClosed().subscribe(data => {
if (data == "创建成功") {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('创建成功','确定',config);
+ this.snackBar.open('创建成功', '确定', config);
this.getAllBuildings()
- }else if (data == "创建失败") {
+ } else if (data == "创建失败") {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('创建失败','确定',config);
+ this.snackBar.open('创建失败', '确定', config);
}
- });
+ });
}
//选择建筑
- checkedBuilding(item,index){
- if (this.checkedBuildingIndex!=index) {
+ checkedBuilding(item, index) {
+ if (this.checkedBuildingIndex != index) {
this.canvasData.selectPanelPoint = new DisposalNodeData();
if (this.canvasData.isChange) { //true 数据被改动
let isTrue = confirm('是否保存当前编辑数据')
@@ -1247,7 +1251,7 @@ export class CollectionToolsPlanComponent implements OnInit {
if (isSuccess != false) {
this.beforeOneCheckedBuilding = item
this.checkedBuildingIndex = index
- if (index==-1) { //总平面图数据
+ if (index == -1) { //总平面图数据
this.getSitePlan()
} else { //建筑楼层/区域数据
this.getBuildingSitePlan(item)
@@ -1256,7 +1260,7 @@ export class CollectionToolsPlanComponent implements OnInit {
} else {
this.beforeOneCheckedBuilding = item
this.checkedBuildingIndex = index
- if (index==-1) { //总平面图数据
+ if (index == -1) { //总平面图数据
this.getSitePlan()
} else { //建筑楼层/区域数据
this.getBuildingSitePlan(item)
@@ -1265,7 +1269,7 @@ export class CollectionToolsPlanComponent implements OnInit {
} else { //flase 数据未被改动
this.beforeOneCheckedBuilding = item
this.checkedBuildingIndex = index
- if (index==-1) { //总平面图数据
+ if (index == -1) { //总平面图数据
this.getSitePlan()
} else { //建筑楼层/区域数据
this.getBuildingSitePlan(item)
@@ -1276,58 +1280,58 @@ export class CollectionToolsPlanComponent implements OnInit {
}
//编辑建筑
- editBuilding(e,item){
+ editBuilding(e, item) {
e.stopPropagation();
- let dialogRef = this.dialog.open(EditBuildingPlan,{data: {item:item}});
- dialogRef.afterClosed().subscribe(data=>{
+ let dialogRef = this.dialog.open(EditBuildingPlan, { data: { item: item } });
+ dialogRef.afterClosed().subscribe(data => {
if (data == "修改成功") {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('修改成功','确定',config);
+ this.snackBar.open('修改成功', '确定', config);
this.getAllBuildings()
- }else if (data == "修改失败") {
+ } else if (data == "修改失败") {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('修改失败','确定',config);
+ this.snackBar.open('修改失败', '确定', config);
}
- });
+ });
}
//删除建筑
- deleteBuilding(e,item){
+ deleteBuilding(e, item) {
e.stopPropagation();
- if(confirm("是否删除该建筑") == true){
- let isHave = this.canvasData.allDisposalNode.find(items=>{ return items.buildingId === item.id })
+ if (confirm("是否删除该建筑") == true) {
+ let isHave = this.canvasData.allDisposalNode.find(items => { return items.buildingId === item.id })
if (isHave == undefined) {
- this.http.delete(`/api/Buildings/${item.id}`).subscribe(data=>{
+ this.http.delete(`/api/Buildings/${item.id}`).subscribe(data => {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('删除成功','确定',config);
- this.http.get("/api/Buildings",{
- params:{
- companyId :this.params.companyId
+ this.snackBar.open('删除成功', '确定', config);
+ this.http.get("/api/Buildings", {
+ params: {
+ companyId: this.params.companyId
}
- }).subscribe(data=>{
+ }).subscribe(data => {
this.allBuildings = data
- this.beforeOneCheckedBuilding = {name:"总平面图"}
+ this.beforeOneCheckedBuilding = { name: "总平面图" }
this.checkedBuildingIndex = -1
this.getSitePlan()
})
- },err=>{
+ }, err => {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('删除失败','确定',config);
+ this.snackBar.open('删除失败', '确定', config);
this.getAllBuildings()
})
} else { //建筑 含有数据节点时
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('含有数据节点的建筑不允许删除','确定',config);
+ this.snackBar.open('含有数据节点的建筑不允许删除', '确定', config);
}
}
}
@@ -1335,7 +1339,7 @@ export class CollectionToolsPlanComponent implements OnInit {
storeyData //将建筑素材和当前楼层素材合二为一
//处理 tree 数据结构
- handleTreeData (storeyData) {
+ handleTreeData(storeyData) {
this.storeyData = storeyData
let data = this.allFireElements //所有消防要素模板
@@ -1343,22 +1347,22 @@ export class CollectionToolsPlanComponent implements OnInit {
data.forEach(element => {
element.isTemplate = true //添加模板标识
element.isLook = true //添加是否可见标识
- element.name!='其他'? element.children = [] : null
+ element.name != '其他' ? element.children = [] : null
- if(storeyData){
- for(let key in storeyData.data){
+ if (storeyData) {
+ for (let key in storeyData.data) {
storeyData.data[key].isLookPattern = true
- if(element.id == storeyData.data[key].FireElementId){
+ if (element.id == storeyData.data[key].FireElementId) {
storeyData.data[key].isTemplate = false
storeyData.data[key].isLook = true
-
+
element.isNewElement = true //该节点children是否存在新添加的真实素材 标识
//定义查看模式下能看到的元素
element.isLookPattern = true
- if(element.parentId){
+ if (element.parentId) {
data.forEach(i => {
- if(i.id == element.parentId){
+ if (i.id == element.parentId) {
i.isLookPattern = true
}
})
@@ -1369,85 +1373,85 @@ export class CollectionToolsPlanComponent implements OnInit {
}
}
}
- data.forEach(item => { if (item.parentId == element.id) {element.children.push(item)} });
+ data.forEach(item => { if (item.parentId == element.id) { element.children.push(item) } });
});
data.forEach(element => {
if (!element.parentId) { treeData.push(element) }
});
this.dataSource.data = treeData
this.treeControl.expandAll()
-
+
}
//点击树节点
- clickTreeNode(node){
- if(this.canvasData.originalcompanyBuildingData.data[node.id]){
+ clickTreeNode(node) {
+ if (this.canvasData.originalcompanyBuildingData.data[node.id]) {
this.setAssetsProperty(this.canvasData.originalcompanyBuildingData.data[node.id])
- }else if(this.canvasData.originaleveryStoreyData.data[node.id]){
+ } else if (this.canvasData.originaleveryStoreyData.data[node.id]) {
this.setAssetsProperty(this.canvasData.originaleveryStoreyData.data[node.id])
}
//canvas上的素材高亮
- let iconHighLightArr:any = []
- if(node.isTemplate){//如果是模板,则开始向下找
+ let iconHighLightArr: any = []
+ if (node.isTemplate) {//如果是模板,则开始向下找
node.children.forEach(item => {
- if(item.isTemplate){//如果子节点依旧是模板,则继续开始向下找
+ if (item.isTemplate) {//如果子节点依旧是模板,则继续开始向下找
item.children.forEach(i => {
iconHighLightArr.push(i.Id)
})
- }else{
+ } else {
iconHighLightArr.push(item.Id)
}
})
- }else{
+ } else {
iconHighLightArr.push(node.id)
}
this.canvas.setHighlight(iconHighLightArr)
}
//点击数节点的显示隐藏icon
- clickLookItem(node){
+ clickLookItem(node) {
+
-
//修改真实素材islook属性
- for(let key in this.storeyData.data){
- if(key == node.id){
+ for (let key in this.storeyData.data) {
+ if (key == node.id) {
this.storeyData.data[key].isLook = !this.storeyData.data[key].isLook
}
}
-
+
//所有消防要素模板变化islook值
- if(node.isTemplate){
- this.allFireElements.forEach(item=>{
- if(item.id == node.id){ item.isLook = !item.isLook }
+ if (node.isTemplate) {
+ this.allFireElements.forEach(item => {
+ if (item.id == node.id) { item.isLook = !item.isLook }
if (item.name == '其他' && node.name == '其他') { item.isLook = !item.isLook }
})
}
-
+
//子节点跟随父节点的islook变化
- if(node.children && node.children.length != 0){
- node.children.forEach(item=>{
- item.isLook = !node.isLook
- if(item.children && item.children.length != 0){
- item.children.forEach(i=>{
- i.isLook = !node.isLook
- })
- }
- })
- }
+ if (node.children && node.children.length != 0) {
+ node.children.forEach(item => {
+ item.isLook = !node.isLook
+ if (item.children && item.children.length != 0) {
+ item.children.forEach(i => {
+ i.isLook = !node.isLook
+ })
+ }
+ })
+ }
const nodes = this.treeControl.dataNodes;
const expandNodes = [];
nodes.forEach((item) => {
- if(item.expandable && this.treeControl.isExpanded(item)){
+ if (item.expandable && this.treeControl.isExpanded(item)) {
expandNodes.push(item.id);
}
});
-
+
this.dataSource.data = [...this.dataSource.data]
-
+
let newNodes = this.treeControl.dataNodes;
newNodes = newNodes.filter(n => {
return expandNodes.indexOf(n.id) >= 0;
@@ -1457,25 +1461,25 @@ export class CollectionToolsPlanComponent implements OnInit {
});
//canvas上的素材显隐
- let iconVisibleArr:any = []
- if(node.isTemplate){//如果是模板,则开始向下找
+ let iconVisibleArr: any = []
+ if (node.isTemplate) {//如果是模板,则开始向下找
node.children.forEach(item => {
- if(item.isTemplate){//如果子节点依旧是模板,则继续开始向下找
+ if (item.isTemplate) {//如果子节点依旧是模板,则继续开始向下找
item.children.forEach(i => {
iconVisibleArr.push(i.Id)
})
- }else{
+ } else {
iconVisibleArr.push(item.Id)
}
})
- }else{
+ } else {
iconVisibleArr.push(node.id)
}
- this.canvas.setIconVisible(iconVisibleArr,!node.isLook)
+ this.canvas.setIconVisible(iconVisibleArr, !node.isLook)
}
//计算 可视区域内宽度, 是否缩放背景图
- backGroundScale () {
+ backGroundScale() {
// let that = this
// let dad = this.element.nativeElement.querySelector('.functionalDomainContent').clientWidth
// let dadHeight = this.element.nativeElement.querySelector('.functionalDomainContent').clientHeight
@@ -1501,15 +1505,15 @@ export class CollectionToolsPlanComponent implements OnInit {
}
//封装 刷新 tree 数据
- async renovateTreeData (isRefresh:boolean = true) {
+ async renovateTreeData(isRefresh: boolean = true) {
// this.allFireElements[this.allFireElements.length-1].children = []
- isRefresh? await this.canvas.refresh() : null
- this.canvas.setNameVisible(this.basicInfo,0)
- this.canvas.setNameVisible(this.wantToWork,1)
+ isRefresh ? await this.canvas.refresh() : null
+ this.canvas.setNameVisible(this.basicInfo, 0)
+ this.canvas.setNameVisible(this.wantToWork, 1)
this.canvas.setLegendVisible(this.isShowLegend) //图例显隐
- isRefresh? this.canvasData.isChange = false : null //服务中 数据是否改动 改为false
- isRefresh? this.isShowProperty = true : null
- isRefresh? this.isShowAttribute = true : null
+ isRefresh ? this.canvasData.isChange = false : null //服务中 数据是否改动 改为false
+ isRefresh ? this.isShowProperty = true : null
+ isRefresh ? this.isShowAttribute = true : null
// let beforeOneId = this.selectingSitePlan.id || '' //当前 选中 平面图 楼层/区域 id
// let companyBuildingData = JSON.parse(JSON.stringify( this.canvasData.originalcompanyBuildingData || {} )) // 当前 单位/建筑 数据
@@ -1534,53 +1538,53 @@ export class CollectionToolsPlanComponent implements OnInit {
//陈鹏飞↓↓↓
//陈鹏飞↓↓↓
//陈鹏飞↓↓↓
- params = {companyId: sessionStorage.getItem('companyId')}
- allFireElements:any = []; //当前 单位/建筑 下的消防要素
+ params = { companyId: sessionStorage.getItem('companyId') }
+ allFireElements: any = []; //当前 单位/建筑 下的消防要素
- isShowAttribute:boolean = true; //属性栏 是否显示 默认数据
- isShowProperty:boolean = false //属性栏 是否有东西
+ isShowAttribute: boolean = true; //属性栏 是否显示 默认数据
+ isShowProperty: boolean = false //属性栏 是否有东西
- toggleExpandPanel:boolean = false; //左侧可展开面板展开或关闭
- toggleExpandPanelRight:boolean = false; //右侧可展开面板展开或关闭
- togglePlane:boolean = true; //可展开面板平面图 显隐
- toggleMaterialBank:boolean = false; //可展开面板素材库 显隐
- toggleHandlePlans:boolean = true; //可展开面板处置预案 显隐
+ toggleExpandPanel: boolean = false; //左侧可展开面板展开或关闭
+ toggleExpandPanelRight: boolean = false; //右侧可展开面板展开或关闭
+ togglePlane: boolean = true; //可展开面板平面图 显隐
+ toggleMaterialBank: boolean = false; //可展开面板素材库 显隐
+ toggleHandlePlans: boolean = true; //可展开面板处置预案 显隐
//可展开面板展开或关闭
- toggle () {
+ toggle() {
this.toggleExpandPanel = !this.toggleExpandPanel
}
//可展开面板展开或关闭
- toggle2 () {
+ toggle2() {
this.toggleExpandPanelRight = !this.toggleExpandPanelRight
}
//可展开面板 平面图 展开或关闭
- togglePlanarGraph () {
+ togglePlanarGraph() {
this.togglePlane = !this.togglePlane
}
//可展开面板 素材库 展开或关闭
- toggleMaterial () {
+ toggleMaterial() {
this.toggleMaterialBank = !this.toggleMaterialBank
}
//可展开面板 处置预案 展开或关闭
- toggleHandlePlan () {
+ toggleHandlePlan() {
this.toggleHandlePlans = !this.toggleHandlePlans
}
- sitePlanData:any = []; //总平面图 楼层/区域 数据
- selectingSitePlan:any; //选中的 平面图 楼层/区域
- selectSitePlanIndex:number; //选中的 平面图 楼层/区域 index
+ sitePlanData: any = []; //总平面图 楼层/区域 数据
+ selectingSitePlan: any; //选中的 平面图 楼层/区域
+ selectSitePlanIndex: number; //选中的 平面图 楼层/区域 index
//获取总平面图
- getSitePlan () {
+ getSitePlan() {
// let fireData = this.getFireElements(sessionStorage.getItem('buildingTypeId')) //获取单位下 消防要素
let planData = this.getSitePlanCompanyData() //获取 单位 数据
- this.http.get('/api/SitePlans',{params:this.params}).subscribe(data=>{
+ this.http.get('/api/SitePlans', { params: this.params }).subscribe(data => {
this.sitePlanData = data
this.selectingSitePlan = this.sitePlanData[0] || {}
this.canvasData.selectStorey = this.sitePlanData[0] || {} //服务中 存一份数据
this.selectSitePlanIndex = 0
- Promise.all([planData]).then((res)=>{
+ Promise.all([planData]).then((res) => {
this.getSitePlanStorey(this.selectingSitePlan) //获取 平面图 楼层数据
})
@@ -1588,17 +1592,17 @@ export class CollectionToolsPlanComponent implements OnInit {
}
//获取建筑 楼层/区域
- getBuildingSitePlan (item) {
+ getBuildingSitePlan(item) {
let params = { buildingId: item.id }
// let fireData = this.getFireElements(item.buildingTypes[0].id || '') //获取建筑下 消防要素
let planData = this.getBuildingData(params) //获取 建筑 数据
- this.http.get('/api/BuildingAreas',{params}).subscribe(data=>{
+ this.http.get('/api/BuildingAreas', { params }).subscribe(data => {
this.sitePlanData = data
this.selectingSitePlan = this.sitePlanData[0] || {}
this.canvasData.selectStorey = this.sitePlanData[0] || {} //服务中 存一份数据
this.selectSitePlanIndex = 0
- Promise.all([planData]).then((res)=>{
+ Promise.all([planData]).then((res) => {
this.getBuildingStorey(this.selectingSitePlan) //获取 建筑 楼层数据
})
@@ -1606,10 +1610,10 @@ export class CollectionToolsPlanComponent implements OnInit {
}
//根据单位类型获得所有的消防要素
- getFireElements (e) {
- let params = {ids:e}
- return new Promise ((resolve,reject)=>{
- this.http.get('/api/Companies/FireElements',{params}).subscribe((data:any)=>{
+ getFireElements(e) {
+ let params = { ids: e }
+ return new Promise((resolve, reject) => {
+ this.http.get('/api/Companies/FireElements', { params }).subscribe((data: any) => {
this.allFireElements = data //所有消防要素
let other = {
children: [],
@@ -1619,7 +1623,7 @@ export class CollectionToolsPlanComponent implements OnInit {
order: 999,
parentId: null,
tag: "INPUT",
- isLookPattern : true
+ isLookPattern: true
}
this.allFireElements.push(other)
resolve('success')
@@ -1628,57 +1632,57 @@ export class CollectionToolsPlanComponent implements OnInit {
}
//获取 单位 数据
- getSitePlanCompanyData () {
- return new Promise ((resolve,reject)=>{
- this.http.get('/api/CompanyData',{params:this.params}).subscribe((data:any)=>{
+ getSitePlanCompanyData() {
+ return new Promise((resolve, reject) => {
+ 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.data ? this.canvasData.originalcompanyBuildingData.data = JSON.parse(this.canvasData.originalcompanyBuildingData.data) : this.canvasData.originalcompanyBuildingData.data = {}
this.canvasData.originalcompanyBuildingData.version = "2.0"
- this.canvasData.originalcompanyBuildingData.companyId? null : this.canvasData.originalcompanyBuildingData.companyId = sessionStorage.getItem('companyId')
+ this.canvasData.originalcompanyBuildingData.companyId ? null : this.canvasData.originalcompanyBuildingData.companyId = sessionStorage.getItem('companyId')
resolve('success')
})
})
}
//获取 平面图 楼层数据
- getSitePlanStorey (e) {
- let params = {sitePlanId: e.id}
- this.http.get(`/api/SitePlanData`,{params}).subscribe((data:any)=>{
+ getSitePlanStorey(e) {
+ let params = { sitePlanId: e.id }
+ 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.data ? this.canvasData.originaleveryStoreyData.data = JSON.parse(this.canvasData.originaleveryStoreyData.data) : this.canvasData.originaleveryStoreyData.data = {}
this.canvasData.originaleveryStoreyData.version = "2.0"
- this.canvasData.originaleveryStoreyData.sitePlanId? null : this.canvasData.originaleveryStoreyData.sitePlanId = e.id || null
+ this.canvasData.originaleveryStoreyData.sitePlanId ? null : this.canvasData.originaleveryStoreyData.sitePlanId = e.id || null
this.renovateTreeData()
})
}
//获取 建筑 数据
- getBuildingData (e) {
- return new Promise ((resolve,reject)=>{
- this.http.get(`/api/BuildingData`,{params:e}).subscribe((data:any)=>{
+ getBuildingData(e) {
+ return new Promise((resolve, reject) => {
+ 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.data ? this.canvasData.originalcompanyBuildingData.data = JSON.parse(this.canvasData.originalcompanyBuildingData.data) : this.canvasData.originalcompanyBuildingData.data = {}
this.canvasData.originalcompanyBuildingData.version = "2.0"
- this.canvasData.originalcompanyBuildingData.buildingId? null : this.canvasData.originalcompanyBuildingData.buildingId = e.buildingId
+ this.canvasData.originalcompanyBuildingData.buildingId ? null : this.canvasData.originalcompanyBuildingData.buildingId = e.buildingId
resolve('success')
})
})
}
//获取 建筑 楼层数据
- getBuildingStorey (e) {
- let params = {buildingAreaId: e.id}
- this.http.get(`/api/BuildingAreaData`,{params}).subscribe((data:any)=>{
+ getBuildingStorey(e) {
+ let params = { buildingAreaId: e.id }
+ 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.data ? this.canvasData.originaleveryStoreyData.data = JSON.parse(this.canvasData.originaleveryStoreyData.data) : this.canvasData.originaleveryStoreyData.data = {}
this.canvasData.originaleveryStoreyData.version = "2.0"
- this.canvasData.originaleveryStoreyData.buildingAreaId? null : this.canvasData.originaleveryStoreyData.buildingAreaId = e.id || null
+ this.canvasData.originaleveryStoreyData.buildingAreaId ? null : this.canvasData.originaleveryStoreyData.buildingAreaId = e.id || null
this.renovateTreeData()
})
}
//点击选中 平面图 楼层/区域 时
- selectSitePlan (item,index) {
+ selectSitePlan(item, index) {
if (this.selectSitePlanIndex != index) {
this.canvasData.selectPanelPoint = new DisposalNodeData();
if (this.canvasData.isChange) { //true 数据被改动
@@ -1689,7 +1693,7 @@ export class CollectionToolsPlanComponent implements OnInit {
this.selectingSitePlan = item
this.selectSitePlanIndex = index
this.canvasData.selectStorey = item //服务中 存一份数据
- if (this.checkedBuildingIndex==-1) { //总平面图时
+ if (this.checkedBuildingIndex == -1) { //总平面图时
this.getSitePlanStorey(item) //获取 平面图 楼层数据
} else { //楼层/区域时
this.getBuildingStorey(item) //获取 建筑 楼层数据
@@ -1699,7 +1703,7 @@ export class CollectionToolsPlanComponent implements OnInit {
this.selectingSitePlan = item
this.selectSitePlanIndex = index
this.canvasData.selectStorey = item //服务中 存一份数据
- if (this.checkedBuildingIndex==-1) { //总平面图时
+ if (this.checkedBuildingIndex == -1) { //总平面图时
this.getSitePlanStorey(item) //获取 平面图 楼层数据
this.getSitePlanCompanyData()
} else { //楼层/区域时
@@ -1708,12 +1712,12 @@ export class CollectionToolsPlanComponent implements OnInit {
this.getBuildingData(params)
}
}
-
+
} else { //false 数据没被改动
this.selectingSitePlan = item
this.selectSitePlanIndex = index
this.canvasData.selectStorey = item //服务中 存一份数据
- if (this.checkedBuildingIndex==-1) { //总平面图时
+ if (this.checkedBuildingIndex == -1) { //总平面图时
this.getSitePlanStorey(item) //获取 平面图 楼层数据
} else { //楼层/区域时
this.getBuildingStorey(item) //获取 建筑 楼层数据
@@ -1724,19 +1728,19 @@ export class CollectionToolsPlanComponent implements OnInit {
}
//新增平面图 楼层/区域
- foundPanel (e) {
+ foundPanel(e) {
e.stopPropagation()
let data = {
- isBuilding: this.checkedBuildingIndex==-1? false:true,
+ isBuilding: this.checkedBuildingIndex == -1 ? false : true,
Panel: this.beforeOneCheckedBuilding,
- order: this.sitePlanData.length? this.sitePlanData[this.sitePlanData.length-1].order+1:0,
+ order: this.sitePlanData.length ? this.sitePlanData[this.sitePlanData.length - 1].order + 1 : 0,
}
- let dialogRef = this.dialog.open(leftFunctionalDomainComponentPlan,{data});
- dialogRef.afterClosed().subscribe(data=>{
- if (data =='总平面图') {
- this.sitePlanData.length? this.renovateSitePlan() : this.getSitePlan()
+ let dialogRef = this.dialog.open(leftFunctionalDomainComponentPlan, { data });
+ dialogRef.afterClosed().subscribe(data => {
+ if (data == '总平面图') {
+ this.sitePlanData.length ? this.renovateSitePlan() : this.getSitePlan()
this.maskLayerService.sendMessage(false)
- } else if (data =='建筑') {
+ } else if (data == '建筑') {
this.renovateBuilding()
this.maskLayerService.sendMessage(false)
}
@@ -1744,27 +1748,27 @@ export class CollectionToolsPlanComponent implements OnInit {
}
//编辑平面图 楼层/区域
- editPlaneData (e) {
+ editPlaneData(e) {
let data = {
- isBuilding: this.checkedBuildingIndex==-1? false:true,
+ isBuilding: this.checkedBuildingIndex == -1 ? false : true,
Panel: this.beforeOneCheckedBuilding,
buildingData: e,
}
- let dialogRef = this.dialog.open(editPlaneFigureComponentPlan,{disableClose: true,hasBackdrop: false,position: {left:'150px',top:'200px'},data});
- dialogRef.keydownEvents().subscribe(data=>{
+ let dialogRef = this.dialog.open(editPlaneFigureComponentPlan, { disableClose: true, hasBackdrop: false, position: { left: '150px', top: '200px' }, data });
+ dialogRef.keydownEvents().subscribe(data => {
if (data.key === 'Enter') {
this.canvas.refreshBackgroundImage()
}
})
- dialogRef.afterClosed().subscribe(data=>{
- if (data =='总平面图') {
+ dialogRef.afterClosed().subscribe(data => {
+ if (data == '总平面图') {
let isSuccess = this.renovateSitePlan()
- isSuccess.then(res=>{
+ isSuccess.then(res => {
this.canvas.refreshBackgroundImage()
})
- } else if (data =='建筑') {
- let isSuccess= this.renovateBuilding()
- isSuccess.then(res=>{
+ } else if (data == '建筑') {
+ let isSuccess = this.renovateBuilding()
+ isSuccess.then(res => {
this.canvas.refreshBackgroundImage()
})
} else if (data == '更新背景图') {
@@ -1774,22 +1778,22 @@ export class CollectionToolsPlanComponent implements OnInit {
}
//平面图 楼层/区域 上移
- moveUp (item,index) {
+ moveUp(item, index) {
if (index != 0) {
let replaceIndex = this.sitePlanData[index].order
- this.sitePlanData[index].order = this.sitePlanData[index-1].order
- this.sitePlanData[index-1].order = replaceIndex
- if (this.checkedBuildingIndex==-1) { //总平面图
- this.http.put(`/api/SitePlans/${this.sitePlanData[index-1].id}`,this.sitePlanData[index-1]).subscribe(data=>{
- this.http.put(`/api/SitePlans/${this.sitePlanData[index].id}`,this.sitePlanData[index]).subscribe(data=>{
- this.selectSitePlanIndex = this.selectSitePlanIndex-1
+ this.sitePlanData[index].order = this.sitePlanData[index - 1].order
+ this.sitePlanData[index - 1].order = replaceIndex
+ if (this.checkedBuildingIndex == -1) { //总平面图
+ this.http.put(`/api/SitePlans/${this.sitePlanData[index - 1].id}`, this.sitePlanData[index - 1]).subscribe(data => {
+ this.http.put(`/api/SitePlans/${this.sitePlanData[index].id}`, this.sitePlanData[index]).subscribe(data => {
+ this.selectSitePlanIndex = this.selectSitePlanIndex - 1
this.renovateSitePlan()
})
})
} else { //楼层/区域
- this.http.put(`/api/BuildingAreas/${this.sitePlanData[index-1].id}`,this.sitePlanData[index-1],{params:this.params}).subscribe(data=>{
- this.http.put(`/api/BuildingAreas/${this.sitePlanData[index].id}`,this.sitePlanData[index],{params:this.params}).subscribe(data=>{
- this.selectSitePlanIndex = this.selectSitePlanIndex-1
+ this.http.put(`/api/BuildingAreas/${this.sitePlanData[index - 1].id}`, this.sitePlanData[index - 1], { params: this.params }).subscribe(data => {
+ this.http.put(`/api/BuildingAreas/${this.sitePlanData[index].id}`, this.sitePlanData[index], { params: this.params }).subscribe(data => {
+ this.selectSitePlanIndex = this.selectSitePlanIndex - 1
this.renovateBuilding()
})
})
@@ -1799,22 +1803,22 @@ export class CollectionToolsPlanComponent implements OnInit {
}
//平面图 楼层/区域 下移
- moveDown (item,index) {
- if (index != this.sitePlanData.length-1) {
+ moveDown(item, index) {
+ if (index != this.sitePlanData.length - 1) {
let replaceIndex = this.sitePlanData[index].order
- this.sitePlanData[index].order = this.sitePlanData[index+1].order
- this.sitePlanData[index+1].order = replaceIndex
- if (this.checkedBuildingIndex==-1) { //总平面图
- this.http.put(`/api/SitePlans/${this.sitePlanData[index+1].id}`,this.sitePlanData[index+1]).subscribe(data=>{
- this.http.put(`/api/SitePlans/${this.sitePlanData[index].id}`,this.sitePlanData[index]).subscribe(data=>{
- this.selectSitePlanIndex = this.selectSitePlanIndex+1
+ this.sitePlanData[index].order = this.sitePlanData[index + 1].order
+ this.sitePlanData[index + 1].order = replaceIndex
+ if (this.checkedBuildingIndex == -1) { //总平面图
+ this.http.put(`/api/SitePlans/${this.sitePlanData[index + 1].id}`, this.sitePlanData[index + 1]).subscribe(data => {
+ this.http.put(`/api/SitePlans/${this.sitePlanData[index].id}`, this.sitePlanData[index]).subscribe(data => {
+ this.selectSitePlanIndex = this.selectSitePlanIndex + 1
this.renovateSitePlan()
})
})
} else { //楼层/区域
- this.http.put(`/api/BuildingAreas/${this.sitePlanData[index+1].id}`,this.sitePlanData[index+1],{params:this.params}).subscribe(data=>{
- this.http.put(`/api/BuildingAreas/${this.sitePlanData[index].id}`,this.sitePlanData[index],{params:this.params}).subscribe(data=>{
- this.selectSitePlanIndex = this.selectSitePlanIndex+1
+ this.http.put(`/api/BuildingAreas/${this.sitePlanData[index + 1].id}`, this.sitePlanData[index + 1], { params: this.params }).subscribe(data => {
+ this.http.put(`/api/BuildingAreas/${this.sitePlanData[index].id}`, this.sitePlanData[index], { params: this.params }).subscribe(data => {
+ this.selectSitePlanIndex = this.selectSitePlanIndex + 1
this.renovateBuilding()
})
})
@@ -1824,20 +1828,20 @@ export class CollectionToolsPlanComponent implements OnInit {
}
//旋转底图
- revolveImg (item) {
- item.imageAngle==270? item.imageAngle = 0 : item.imageAngle = item.imageAngle+90
- if (this.checkedBuildingIndex==-1) { //总平面图
- this.http.put(`/api/SitePlans/${item.id}`,item).subscribe(data=>{
+ revolveImg(item) {
+ item.imageAngle == 270 ? item.imageAngle = 0 : item.imageAngle = item.imageAngle + 90
+ if (this.checkedBuildingIndex == -1) { //总平面图
+ this.http.put(`/api/SitePlans/${item.id}`, item).subscribe(data => {
let isSuccess = this.renovateSitePlan()
- isSuccess.then(res=>{
- this.canvas.refreshBackgroundImage(item.imageUrl,item.imageAngle)
+ isSuccess.then(res => {
+ this.canvas.refreshBackgroundImage(item.imageUrl, item.imageAngle)
})
})
} else { //楼层/区域
- this.http.put(`/api/BuildingAreas/${item.id}`,item,{params:this.params}).subscribe(data=>{
+ this.http.put(`/api/BuildingAreas/${item.id}`, item, { params: this.params }).subscribe(data => {
let isSuccess = this.renovateBuilding()
- isSuccess.then(res=>{
- this.canvas.refreshBackgroundImage(item.imageUrl,item.imageAngle)
+ isSuccess.then(res => {
+ this.canvas.refreshBackgroundImage(item.imageUrl, item.imageAngle)
})
})
}
@@ -1845,47 +1849,47 @@ export class CollectionToolsPlanComponent implements OnInit {
}
//删除 平面图 楼层/区域
- deletePlaneData (item) {
+ deletePlaneData(item) {
const isDelete = confirm('您确定要删除吗');
if (isDelete) {
- if (this.checkedBuildingIndex==-1) { //总平面图
- let isHave = this.canvasData.allDisposalNode.find(items=>{ return items.sitePlanId === item.id })
+ if (this.checkedBuildingIndex == -1) { //总平面图
+ let isHave = this.canvasData.allDisposalNode.find(items => { return items.sitePlanId === item.id })
if (isHave == undefined) {
- this.http.delete(`/api/SitePlans/${item.id}`).subscribe(data=>{
- this.deleteShareData(item,-1)
+ this.http.delete(`/api/SitePlans/${item.id}`).subscribe(data => {
+ this.deleteShareData(item, -1)
})
} else {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('含有数据节点的楼层不允许删除','确定',config);
+ this.snackBar.open('含有数据节点的楼层不允许删除', '确定', config);
}
} else { //楼层/区域
- let isHave = this.canvasData.allDisposalNode.find(items=>{ return items.buildingAreaId === item.id })
+ let isHave = this.canvasData.allDisposalNode.find(items => { return items.buildingAreaId === item.id })
if (isHave == undefined) {
- this.http.delete(`/api/BuildingAreas/${item.id}`).subscribe(data=>{
- this.deleteShareData(item,1)
+ this.http.delete(`/api/BuildingAreas/${item.id}`).subscribe(data => {
+ this.deleteShareData(item, 1)
})
} else {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('含有数据节点的楼层不允许删除','确定',config);
+ this.snackBar.open('含有数据节点的楼层不允许删除', '确定', config);
}
}
}
}
//删除当前 单位/建筑的 共享数据中 已删除data
- deleteShareData (e,isCompany) {
- this.sitePlanData.forEach((element,index) => {
- if (element.id===e.id) {
- this.sitePlanData.splice(index,1)
+ deleteShareData(e, isCompany) {
+ this.sitePlanData.forEach((element, index) => {
+ if (element.id === e.id) {
+ this.sitePlanData.splice(index, 1)
return
}
});
let data = this.canvasData.originalcompanyBuildingData;
- for(let key in data.data){
+ for (let key in data.data) {
if (data.data[key].FloorId === e.id) { //处理 单位/建筑 数据是否归于当前楼层下
delete data.data[key]
}
@@ -1896,19 +1900,19 @@ export class CollectionToolsPlanComponent implements OnInit {
this.canvasData.selectStorey = this.sitePlanData[0] || {} //服务中 存一份数据
this.selectSitePlanIndex = 0
this.canvasData.isChange = false
- if (isCompany===-1) {
- this.http.post("/api/CompanyData",newData).subscribe(data => {})
+ if (isCompany === -1) {
+ this.http.post("/api/CompanyData", newData).subscribe(data => { })
this.getSitePlanStorey(this.selectingSitePlan) //获取 平面图 楼层数据
} else {
- this.http.post("/api/BuildingData",newData,{params:this.params}).subscribe(data => {})
+ this.http.post("/api/BuildingData", newData, { params: this.params }).subscribe(data => { })
this.getBuildingStorey(this.selectingSitePlan) //获取 建筑 楼层数据
}
}
//复制图层 平面图 楼层/区域
- duplicateLayer (item) {
- let paramsData = JSON.parse(JSON.stringify( this.canvasData.originaleveryStoreyData.data || {} ))
- Object.keys(paramsData).forEach((key)=>{
+ 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
@@ -1916,19 +1920,19 @@ export class CollectionToolsPlanComponent implements OnInit {
delete paramsData[key]
}
}) //图标Id重新赋值
- if (this.checkedBuildingIndex==-1) { //总平面图
+ if (this.checkedBuildingIndex == -1) { //总平面图
item.id = ""
item.modifiedTime = new Date()
item.name = item.name + '(副本)'
- item.order = this.sitePlanData[this.sitePlanData.length-1].order+1
- this.http.post('/api/SitePlans',item).subscribe((data:any)=>{
+ item.order = this.sitePlanData[this.sitePlanData.length - 1].order + 1
+ this.http.post('/api/SitePlans', item).subscribe((data: any) => {
let newData = {
version: "2.0",
id: "",
- data: JSON.stringify( paramsData ) || null,
+ data: JSON.stringify(paramsData) || null,
sitePlanId: data.id
}
- this.http.post('/api/SitePlanData',newData,{params:this.params}).subscribe(data=>{
+ this.http.post('/api/SitePlanData', newData, { params: this.params }).subscribe(data => {
this.renovateSitePlan()
})
@@ -1937,15 +1941,15 @@ export class CollectionToolsPlanComponent implements OnInit {
item.id = ""
item.modifiedTime = new Date()
item.name = item.name + '(副本)'
- item.order = this.sitePlanData[this.sitePlanData.length-1].order+1
- this.http.post('/api/BuildingAreas',item,{params:this.params}).subscribe((data:any)=>{
+ 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: "2.0",
id: "",
- data: JSON.stringify( paramsData ) || null,
+ data: JSON.stringify(paramsData) || null,
buildingAreaId: data.id
}
- this.http.post('/api/BuildingAreaData',newData,{params:this.params}).subscribe(data=>{
+ this.http.post('/api/BuildingAreaData', newData, { params: this.params }).subscribe(data => {
this.renovateBuilding()
})
@@ -1954,32 +1958,32 @@ export class CollectionToolsPlanComponent implements OnInit {
}
//平面图 楼层/区域 替换底图
- replaceBaseMap (e,item) {
+ replaceBaseMap(e, item) {
e.stopPropagation();
let file = e.target.files[0] || null //获取上传的文件
let fileSize = file.size || null //上传文件的总大小
let maxSize = 5 * 1024 * 1024 //5MB一个分片
let tenSize = 10 * 1024 * 1024 //10MB限制
- if (file && fileSize<=maxSize) { //上传文件<=5MB时
+ if (file && fileSize <= maxSize) { //上传文件<=5MB时
let formData = new FormData()
- formData.append("file",file)
- this.http.post(`/api/Objects/WebPlan2D/${sessionStorage.getItem('companyId')}`,formData).subscribe((data:any)=>{
- this.renovateBaseMap('/api/Objects/WebPlan2D/' + data.objectName,item)
+ formData.append("file", file)
+ this.http.post(`/api/Objects/WebPlan2D/${sessionStorage.getItem('companyId')}`, formData).subscribe((data: any) => {
+ this.renovateBaseMap('/api/Objects/WebPlan2D/' + data.objectName, item)
})
- } else if (file && fileSize>maxSize && fileSize10MB时
- let upload = this.canvasData.sectionUpload(sessionStorage.getItem('companyId'),file)
- upload.then(res=>{ this.renovateBaseMap('/api/Objects/PlanPlatform/' + res,item) })
+ } else if (file && fileSize > maxSize && fileSize < tenSize) { //上传文件>10MB时
+ let upload = this.canvasData.sectionUpload(sessionStorage.getItem('companyId'), file)
+ upload.then(res => { this.renovateBaseMap('/api/Objects/PlanPlatform/' + res, item) })
} else {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('上传底图需小于10MB','确定',config);
+ this.snackBar.open('上传底图需小于10MB', '确定', config);
}
}
//封装 替换底图 function
- renovateBaseMap (e,item) {
+ renovateBaseMap(e, item) {
let that = this
let img = new Image()
img.src = e
@@ -1987,94 +1991,94 @@ export class CollectionToolsPlanComponent implements OnInit {
item.imageUrl = e
item.imageWidth = img.width
item.imageHeight = img.height
- if (that.checkedBuildingIndex ==-1) { //总平面图
- that.http.put(`/api/SitePlans/${item.id}`,item).subscribe(data=>{
+ if (that.checkedBuildingIndex == -1) { //总平面图
+ that.http.put(`/api/SitePlans/${item.id}`, item).subscribe(data => {
let isSuccess = that.renovateSitePlan()
- isSuccess.then(res=>{
+ isSuccess.then(res => {
that.canvas.refreshBackgroundImage()
})
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- that.snackBar.open('上传底图成功','确定',config);
+ that.snackBar.open('上传底图成功', '确定', config);
})
} else { //楼层/区域
- that.http.put(`/api/BuildingAreas/${item.id}`,item,{params:that.params}).subscribe(data=>{
+ that.http.put(`/api/BuildingAreas/${item.id}`, item, { params: that.params }).subscribe(data => {
let isSuccess = that.renovateBuilding()
- isSuccess.then(res=>{
+ isSuccess.then(res => {
that.canvas.refreshBackgroundImage()
})
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- that.snackBar.open('上传底图成功','确定',config);
+ that.snackBar.open('上传底图成功', '确定', config);
})
} //else
} //onload
}
//封装 刷新总平面图 数据
- renovateSitePlan () {
- return new Promise ((resolve,reject)=>{
- this.http.get('/api/SitePlans',{params:this.params}).subscribe(data=>{
+ renovateSitePlan() {
+ return new Promise((resolve, reject) => {
+ this.http.get('/api/SitePlans', { params: this.params }).subscribe(data => {
this.sitePlanData = data
this.selectingSitePlan = this.sitePlanData[this.selectSitePlanIndex]
this.canvasData.selectStorey = this.sitePlanData[this.selectSitePlanIndex] //服务中 存一份数据
- this.canvasData.originaleveryStoreyData.sitePlanId? null : this.canvasData.originaleveryStoreyData.sitePlanId = this.selectingSitePlan.id || null
+ this.canvasData.originaleveryStoreyData.sitePlanId ? null : this.canvasData.originaleveryStoreyData.sitePlanId = this.selectingSitePlan.id || null
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('数据更新成功','确定',config);
+ this.snackBar.open('数据更新成功', '确定', config);
resolve('success')
})
})
}
//封装 刷新 楼层/区域 数据
- renovateBuilding () {
+ renovateBuilding() {
let params = {
buildingId: this.beforeOneCheckedBuilding.id
}
- return new Promise ((resolve,reject)=>{
- this.http.get('/api/BuildingAreas',{params}).subscribe(data=>{
+ return new Promise((resolve, reject) => {
+ this.http.get('/api/BuildingAreas', { params }).subscribe(data => {
this.sitePlanData = data
this.selectingSitePlan = this.sitePlanData[this.selectSitePlanIndex]
this.canvasData.selectStorey = this.sitePlanData[this.selectSitePlanIndex] //服务中 存一份数据
- this.canvasData.originaleveryStoreyData.buildingAreaId? null : this.canvasData.originaleveryStoreyData.buildingAreaId = this.selectingSitePlan.id || null
+ this.canvasData.originaleveryStoreyData.buildingAreaId ? null : this.canvasData.originaleveryStoreyData.buildingAreaId = this.selectingSitePlan.id || null
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('数据更新成功','确定',config);
+ this.snackBar.open('数据更新成功', '确定', config);
resolve('success')
})
})
}
- allLibrary:any = []; //所有素材库 + 素材
- selectLibrary:any; //选中的素材库
- selectImage:any; //选中的素材库图片
- selectImageIndex:number; //选中的素材库图片index
- searchSettimeout:any; //延时器
- searchInput:string = null; //模糊搜索 input
- searchLibrary:any = []; //模糊搜索 素材
+ allLibrary: any = []; //所有素材库 + 素材
+ selectLibrary: any; //选中的素材库
+ selectImage: any; //选中的素材库图片
+ selectImageIndex: number; //选中的素材库图片index
+ searchSettimeout: any; //延时器
+ searchInput: string = null; //模糊搜索 input
+ searchLibrary: any = []; //模糊搜索 素材
//输入框 输入事件
- libraryChange () {
+ libraryChange() {
window.clearTimeout(this.searchSettimeout)
- this.searchSettimeout = window.setTimeout(()=>{
+ this.searchSettimeout = window.setTimeout(() => {
if (this.searchInput === "") {
this.searchLibrary = []
} else {
- this.http.get(`/api/Assets?assetName=${this.searchInput}`).subscribe((data:any)=>{
+ this.http.get(`/api/Assets?assetName=${this.searchInput}`).subscribe((data: any) => {
this.searchLibrary = data
})
}
- },500)
+ }, 500)
}
//获取素材库
- getAllLibrary (type:string='input') {
- this.http.get(`/api/AssetLibraries?tag=${type}`).subscribe((data:any)=>{
+ getAllLibrary(type: string = 'input') {
+ this.http.get(`/api/AssetLibraries?tag=${type}`).subscribe((data: any) => {
data.forEach(element => {
element.images = []
});
@@ -2084,16 +2088,16 @@ export class CollectionToolsPlanComponent implements OnInit {
}
//素材库展开面板展开时
- opened (e) {
+ opened(e) {
if (!e.images.length) { //当前素材库没加载素材时
- this.http.get(`/api/Assets?libraryId=${e.id}`).subscribe((data:any)=>{
+ this.http.get(`/api/Assets?libraryId=${e.id}`).subscribe((data: any) => {
e.images = data
})
}
}
//点击选中素材库图片时
- selectImg (item,items,index) {
+ selectImg(item, items, index) {
this.selectLibrary = item.name
this.selectImage = items
this.selectImageIndex = index
@@ -2104,30 +2108,30 @@ export class CollectionToolsPlanComponent implements OnInit {
//处置预案
- allFirePlan:any = []; //所有灾情
- selectDisposalNode:string = ''; //当前点击tree节点 css选中样式
+ allFirePlan: any = []; //所有灾情
+ selectDisposalNode: string = ''; //当前点击tree节点 css选中样式
//获取所有灾情
- getAllFirePlan () {
- let params = {componentId: sessionStorage.getItem('planId')}
- this.http.get('/api/Disasters',{params:params}).subscribe((data:any)=>{
+ getAllFirePlan() {
+ let params = { componentId: sessionStorage.getItem('planId') }
+ this.http.get('/api/Disasters', { params: params }).subscribe((data: any) => {
if (!data.length) { //该 单位没有灾情时
let msg = {
name: '灾情',
modifiedTime: new Date(),
planComponentId: sessionStorage.getItem('planId')
}
- this.http.post('/api/Disasters',msg).subscribe(data=>{
+ this.http.post('/api/Disasters', msg).subscribe(data => {
this.allFirePlan.push(data)
- let params = {disasterId: this.allFirePlan[0].id || ''}
- this.http.get('/api/DisposalNodes',{params:params}).subscribe(data=>{ //所有处置节点
+ let params = { disasterId: this.allFirePlan[0].id || '' }
+ this.http.get('/api/DisposalNodes', { params: params }).subscribe(data => { //所有处置节点
this.canvasData.allDisposalNode = data
})
})
} else { //单位 有灾情时
this.allFirePlan = data
- let params = {disasterId: this.allFirePlan[0].id || ''}
- this.http.get('/api/DisposalNodes',{params:params}).subscribe(data=>{ //所有处置节点
+ let params = { disasterId: this.allFirePlan[0].id || '' }
+ this.http.get('/api/DisposalNodes', { params: params }).subscribe(data => { //所有处置节点
this.canvasData.allDisposalNode = data
})
}
@@ -2135,26 +2139,26 @@ export class CollectionToolsPlanComponent implements OnInit {
}
//获取所有处置节点
- getDisposalNode () {
+ getDisposalNode() {
this.selectDisposalNode = ''
- let params = {disasterId: this.allFirePlan[0].id || ''}
- this.http.get('/api/DisasterData/Markers',{params:params}).subscribe(data=>{ //灾情标签信息
+ let params = { disasterId: this.allFirePlan[0].id || '' }
+ this.http.get('/api/DisasterData/Markers', { params: params }).subscribe(data => { //灾情标签信息
this.canvasData.allNodeMarkers = data
this.mateFireForce()
})
- this.http.get('/api/DisposalNodes',{params:params}).subscribe(data=>{ //处置节点
+ this.http.get('/api/DisposalNodes', { params: params }).subscribe(data => { //处置节点
this.canvasData.allDisposalNode = data
this.handleHybridTree()
})
}
- treeData:any = []; //渲染tree处理完成数据
- defaultExpandedKeys:any = []; //首次渲染 tree展开状态
+ treeData: any = []; //渲染tree处理完成数据
+ defaultExpandedKeys: any = []; //首次渲染 tree展开状态
//处理 节点 Tree数据
- handleHybridTree () {
+ handleHybridTree() {
this.defaultExpandedKeys = []
let treeData = []
- let data = JSON.parse(JSON.stringify( this.canvasData.allDisposalNode || [] ))
+ let data = JSON.parse(JSON.stringify(this.canvasData.allDisposalNode || []))
data.forEach(element => {
this.defaultExpandedKeys.push(element.id)
element.title = element.name //name
@@ -2167,29 +2171,29 @@ export class CollectionToolsPlanComponent implements OnInit {
element.isLeaf = false
element.isDataNode = false
}
- data.forEach(item=>{
- item.parentId === element.id? element.children.push(item) : null
+ data.forEach(item => {
+ item.parentId === element.id ? element.children.push(item) : null
})
});
- data.forEach(element=>{
- !element.parentId? treeData.push(element) : null
+ data.forEach(element => {
+ !element.parentId ? treeData.push(element) : null
})
this.treeData = [...treeData]
this.defaultExpandedKeys = [...this.defaultExpandedKeys]
}
//刷新 treeData 保存已展开节点
- refurbishTreeData () {
+ refurbishTreeData() {
this.defaultExpandedKeys = []
- let params = {disasterId: this.allFirePlan[0].id || ''}
- this.http.get('/api/DisposalNodes',{params:params}).subscribe(nodeData=>{ //处置节点
+ let params = { disasterId: this.allFirePlan[0].id || '' }
+ this.http.get('/api/DisposalNodes', { params: params }).subscribe(nodeData => { //处置节点
this.canvasData.allDisposalNode = nodeData
let oldTreeData = this.nzTreeComponent.getExpandedNodeList()
- oldTreeData.forEach(item=>{
+ oldTreeData.forEach(item => {
this.defaultExpandedKeys.push(item.key)
})
let treeData = []
- let data = JSON.parse(JSON.stringify( this.canvasData.allDisposalNode || [] ))
+ let data = JSON.parse(JSON.stringify(this.canvasData.allDisposalNode || []))
data.forEach(element => {
element.title = element.name //name
element.key = element.id //id
@@ -2201,39 +2205,39 @@ export class CollectionToolsPlanComponent implements OnInit {
element.isLeaf = false
element.isDataNode = false
}
- data.forEach(item=>{
- item.parentId === element.id? element.children.push(item) : null
+ data.forEach(item => {
+ item.parentId === element.id ? element.children.push(item) : null
})
});
- data.forEach(element=>{
- !element.parentId? treeData.push(element) : null
+ data.forEach(element => {
+ !element.parentId ? treeData.push(element) : null
})
this.treeData = [...treeData]
this.defaultExpandedKeys = [...this.defaultExpandedKeys]
})
}
- sitePlanIcon = {fire:0,force:0} // 总平面图 火源/力量 图标 是否展示
+ sitePlanIcon = { fire: 0, force: 0 } // 总平面图 火源/力量 图标 是否展示
//刷新 建筑楼层 匹配 火源/力量 图标
- mateFireForce () {
+ mateFireForce() {
let data = this.canvasData.allNodeMarkers.markers || {}
- for(let key in data){ //遍历 火/力量 图标
+ for (let key in data) { //遍历 火/力量 图标
this.sitePlanData.forEach(element => { //楼层
- if (element.id==key) { // 相匹配时
- data[key].fireCount != 0? element.fire=1 : element.fire=0
- data[key].forceCount != 0? element.force=1 : element.force=0
+ if (element.id == key) { // 相匹配时
+ data[key].fireCount != 0 ? element.fire = 1 : element.fire = 0
+ data[key].forceCount != 0 ? element.force = 1 : element.force = 0
}
});
this.allBuildings.forEach(element => { //建筑
- if (element.id==key) { // 相匹配时
- data[key].fireCount != 0? element.fire=1 : element.fire=0
- data[key].forceCount != 0? element.force=1 : element.force=0
+ if (element.id == key) { // 相匹配时
+ data[key].fireCount != 0 ? element.fire = 1 : element.fire = 0
+ data[key].forceCount != 0 ? element.force = 1 : element.force = 0
}
});
- if (this.params.companyId==key) { //总平面图时
- data[key].fireCount != 0? this.sitePlanIcon.fire=1 : this.sitePlanIcon.fire=0
- data[key].forceCount != 0? this.sitePlanIcon.force=1 : this.sitePlanIcon.force=0
+ if (this.params.companyId == key) { //总平面图时
+ data[key].fireCount != 0 ? this.sitePlanIcon.fire = 1 : this.sitePlanIcon.fire = 0
+ data[key].forceCount != 0 ? this.sitePlanIcon.force = 1 : this.sitePlanIcon.force = 0
}
}
@@ -2243,19 +2247,19 @@ export class CollectionToolsPlanComponent implements OnInit {
for (let keys in buildingMSG[key]) {
this.sitePlanData.forEach(element => { //楼层
if (element.id === keys) {
- buildingMSG[key][keys].fireCount != 0? element.fire=2 : null
- buildingMSG[key][keys].forceCount != 0? element.force=2 : null
+ buildingMSG[key][keys].fireCount != 0 ? element.fire = 2 : null
+ buildingMSG[key][keys].forceCount != 0 ? element.force = 2 : null
}
});
this.allBuildings.forEach(element => { //建筑
if (element.id === keys) { // 相匹配时
- buildingMSG[key][keys].fireCount != 0? element.fire=2 : null
- buildingMSG[key][keys].forceCount != 0? element.force=2 : null
+ buildingMSG[key][keys].fireCount != 0 ? element.fire = 2 : null
+ buildingMSG[key][keys].forceCount != 0 ? element.force = 2 : null
}
});
if (this.params.companyId === keys) { //总平面图时
- buildingMSG[key][keys].fireCount != 0? this.sitePlanIcon.fire=2 : null
- buildingMSG[key][keys].forceCount != 0? this.sitePlanIcon.force=2 : null
+ buildingMSG[key][keys].fireCount != 0 ? this.sitePlanIcon.fire = 2 : null
+ buildingMSG[key][keys].forceCount != 0 ? this.sitePlanIcon.force = 2 : null
}
}
}
@@ -2263,10 +2267,10 @@ export class CollectionToolsPlanComponent implements OnInit {
}
// 切换 基本信息时 刷新 删除 建筑楼层 自定义属性
- mateDeleteCustomize () {
- this.canvasData.selectPanelPointBaseData = {description: '', notes: '', weather: '', airTemperature: '', windDirection: '', windScale: ''}
+ mateDeleteCustomize() {
+ this.canvasData.selectPanelPointBaseData = { description: '', notes: '', weather: '', airTemperature: '', windDirection: '', windScale: '' }
this.defaultExpandedKeys = []
- this.sitePlanIcon = {fire:0,force:0}
+ this.sitePlanIcon = { fire: 0, force: 0 }
this.sitePlanData.forEach(element => { //楼层
delete element.fire
delete element.force
@@ -2278,30 +2282,30 @@ export class CollectionToolsPlanComponent implements OnInit {
}
//计算差异
- countValue (e) {
+ countValue(e) {
e.stopPropagation()
- let params = {disasterId: this.allFirePlan[0].id || ''}
- this.http.get('/api/DisasterData/Diffs',{params:params}).subscribe(data=>{
+ let params = { disasterId: this.allFirePlan[0].id || '' }
+ this.http.get('/api/DisasterData/Diffs', { params: params }).subscribe(data => {
this.canvasData.allNodeMarkers = data
this.mateFireForce()
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
- this.snackBar.open('计算差异完成','确定',config);
+ this.snackBar.open('计算差异完成', '确定', config);
})
}
//复制 处置预案 节点
- copyPanelPoint (e,item,treeData) {
+ copyPanelPoint(e, item, treeData) {
e.stopPropagation()
if (confirm(`确定要复制 ${item.title} ?`)) {
- let params = {id: item.origin.id}
+ let params = { id: item.origin.id }
let order
- if (item.level==0) {
- treeData.length? order = treeData[treeData.length-1].order+1 : order = 0
+ if (item.level == 0) {
+ treeData.length ? order = treeData[treeData.length - 1].order + 1 : order = 0
} else {
let parent = item.getParentNode() //获取父节点
- parent.origin.children.length? order = parent.origin.children[parent.origin.children.length-1].order+1 : order = 0
+ parent.origin.children.length ? order = parent.origin.children[parent.origin.children.length - 1].order + 1 : order = 0
}
let data = {
name: item.title + '(副本)',
@@ -2312,41 +2316,41 @@ export class CollectionToolsPlanComponent implements OnInit {
parentId: item.origin.parentId || null,
planComponentId: item.origin.planComponentId || '',
}
- this.http.post('/api/DisposalNodes/Clone',data,{params:params}).subscribe(data=>{
+ this.http.post('/api/DisposalNodes/Clone', data, { params: params }).subscribe(data => {
this.refurbishTreeData()
})
} //isTrue
}
//删除 处置预案 节点
- deletePanelPoint (e,item) {
+ deletePanelPoint(e, item) {
e.stopPropagation()
if (confirm(`确定要删除 ${item.name} ?`)) {
- this.http.delete(`/api/DisposalNodes/${item.id}`).subscribe(data=>{
+ this.http.delete(`/api/DisposalNodes/${item.id}`).subscribe(data => {
this.refurbishTreeData()
})
}
}
//点击 处置Tree节点
- selectanelPoint (e) {
+ selectanelPoint(e) {
if (!e.buildingAreaId && !e.sitePlanId) { //当前节点 不是 数据节点 时
let msg = this.canvasData.findDisposalNode(e.id)
this.canvasData.selectPanelPointBaseData = msg
- this.selectDisposalNode == msg.id? this.selectDisposalNode = '' : this.selectDisposalNode = msg.id //选中 节点
+ this.selectDisposalNode == msg.id ? this.selectDisposalNode = '' : this.selectDisposalNode = msg.id //选中 节点
} else if (e.buildingAreaId || e.sitePlanId) { //当前节点 是 数据节点 时
let msg = this.canvasData.findDisposalNode(e.parentId)
this.canvasData.selectPanelPointBaseData = msg
this.selectDisposalNode = e.parentId //选中 节点
-
+
if (this.canvasData.selectPanelPoint.DisposalNodeId != e.id) { //选择节点 不是当前节点时
- let params = {nodeId: e.id}
+ let params = { nodeId: e.id }
let parameter = { //查询 节点 对应 建筑/楼层 index,id
- buildingIndex: e.sitePlanId? -1 : this.allBuildings.findIndex(item=>{ return item.id===e.buildingId }), //总平面图/建筑 index
- storeyId: e.sitePlanId? e.sitePlanId : e.buildingAreaId, //楼层id
+ buildingIndex: e.sitePlanId ? -1 : this.allBuildings.findIndex(item => { return item.id === e.buildingId }), //总平面图/建筑 index
+ storeyId: e.sitePlanId ? e.sitePlanId : e.buildingAreaId, //楼层id
}
- this.http.get('/api/DisposalNodeData',{params:params}).subscribe(data=>{
+ this.http.get('/api/DisposalNodeData', { params: params }).subscribe(data => {
this.canvasData.selectPanelPoint = this.canvasData.deserialize(JSON.stringify(data || new DisposalNodeData())) //选择 当前 节点
this.canvasData.selectPanelPoint.Data = this.canvasData.deserialize(this.canvasData.selectPanelPoint.Data)
this.seekPanelPoint(parameter)
@@ -2357,36 +2361,36 @@ export class CollectionToolsPlanComponent implements OnInit {
}
//查找 数据节点 对应 建筑/楼层
- seekPanelPoint (paramsData) {
+ seekPanelPoint(paramsData) {
this.checkedBuildingIndex = paramsData.buildingIndex
- if (paramsData.buildingIndex ==-1) { //总平面图时
- this.beforeOneCheckedBuilding={name:"总平面图"}
+ if (paramsData.buildingIndex == -1) { //总平面图时
+ this.beforeOneCheckedBuilding = { name: "总平面图" }
let fireData = this.getFireElements(sessionStorage.getItem('buildingTypeId')) //获取单位下 消防要素
let planData = this.getSitePlanCompanyData() //获取 单位 数据
- this.http.get('/api/SitePlans',{params:this.params}).subscribe(data=>{
+ this.http.get('/api/SitePlans', { params: this.params }).subscribe(data => {
this.sitePlanData = data
- let index = this.sitePlanData.findIndex(item=>{ return item.id===paramsData.storeyId })
+ let index = this.sitePlanData.findIndex(item => { return item.id === paramsData.storeyId })
this.selectingSitePlan = this.sitePlanData[index] || {}
this.canvasData.selectStorey = this.sitePlanData[index] || {} //服务中 存一份数据
this.selectSitePlanIndex = index
-
- Promise.all([fireData,planData]).then((res)=>{
+
+ Promise.all([fireData, planData]).then((res) => {
this.getSitePlanStorey(this.selectingSitePlan) //获取 平面图 楼层数据
})
}) //get
} else { //建筑时
- this.beforeOneCheckedBuilding=this.allBuildings[paramsData.buildingIndex]
+ this.beforeOneCheckedBuilding = this.allBuildings[paramsData.buildingIndex]
let params = { buildingId: this.beforeOneCheckedBuilding.id }
let fireData = this.getFireElements(this.beforeOneCheckedBuilding.buildingTypes[0].id || '') //获取建筑下 消防要素
let planData = this.getBuildingData(params) //获取 建筑 数据
- this.http.get('/api/BuildingAreas',{params}).subscribe(data=>{
+ this.http.get('/api/BuildingAreas', { params }).subscribe(data => {
this.sitePlanData = data
- let index = this.sitePlanData.findIndex(item=>{ return item.id===paramsData.storeyId })
+ let index = this.sitePlanData.findIndex(item => { return item.id === paramsData.storeyId })
this.selectingSitePlan = this.sitePlanData[index] || {}
this.canvasData.selectStorey = this.sitePlanData[index] || {} //服务中 存一份数据
this.selectSitePlanIndex = index
-
- Promise.all([fireData,planData]).then((res)=>{
+
+ Promise.all([fireData, planData]).then((res) => {
this.getBuildingStorey(this.selectingSitePlan) //获取 建筑 楼层数据
})
}) //get
@@ -2407,30 +2411,30 @@ export class CollectionToolsPlanComponent implements OnInit {
})
export class CreateBuildingPlan {
- constructor(private http:HttpClient,public dialog: MatDialog,public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data) { }
+ constructor(private http: HttpClient, public dialog: MatDialog, public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data) { }
- allBuildingType:any//所有的建筑类型
- selected:any; //选中的建筑
+ allBuildingType: any//所有的建筑类型
+ selected: any; //选中的建筑
ngOnInit(): void {
this.getAllBuildingType()
}
//获得所有单位类型
- getAllBuildingType(){
- this.http.get("/api/BuildingTypes/Simple").subscribe(data=>{
+ getAllBuildingType() {
+ this.http.get("/api/BuildingTypes/Simple").subscribe(data => {
this.allBuildingType = data
})
}
//创建建筑功能分区
- onSubmit (e) {
+ onSubmit(e) {
let companyId = sessionStorage.getItem("companyId")
let lastBuildingOrder = this.data.allBuildings.length != 0 ? this.data.allBuildings[this.data.allBuildings.length - 1].order + 1 : 0
- let data =
+ let data =
{
id: "",
name: e.propertyName,
- order: lastBuildingOrder ,
+ order: lastBuildingOrder,
enabled: true,
companyId: companyId,
buildingTypes: [
@@ -2440,13 +2444,13 @@ export class CreateBuildingPlan {
}
]
}
- this.http.post("/api/Buildings",data,{
- params:{
- companyId : this.data.companyId
+ this.http.post("/api/Buildings", data, {
+ params: {
+ companyId: this.data.companyId
}
- }).subscribe(data=>{
+ }).subscribe(data => {
this.dialogRef.close("创建成功");
- },err=>{
+ }, err => {
this.dialogRef.close("创建失败");
})
}
@@ -2460,26 +2464,26 @@ export class CreateBuildingPlan {
})
export class EditBuildingPlan {
- constructor(private http:HttpClient,public dialog: MatDialog,public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data) { }
-
- defaultName:String = this.data.item.name//默认建筑名称
- defaultBuildingType:String = this.data.item.buildingTypes[0].id//默认建筑类型
- allBuildingType:any//所有的建筑类型
+ constructor(private http: HttpClient, public dialog: MatDialog, public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data) { }
+
+ defaultName: String = this.data.item.name//默认建筑名称
+ defaultBuildingType: String = this.data.item.buildingTypes[0].id//默认建筑类型
+ allBuildingType: any//所有的建筑类型
ngOnInit(): void {
this.getAllBuildingType()
}
- getAllBuildingType(){
- this.http.get("/api/BuildingTypes/Simple").subscribe(data=>{
+ getAllBuildingType() {
+ this.http.get("/api/BuildingTypes/Simple").subscribe(data => {
this.allBuildingType = data
})
}
//编辑建筑信息
- onSubmit (e) {
+ onSubmit(e) {
let companyId = sessionStorage.getItem("companyId")
- let data =
+ let data =
{
id: this.data.item.id,
name: e.propertyName,
@@ -2493,14 +2497,14 @@ export class EditBuildingPlan {
}
]
}
- this.http.put(`/api/Buildings/${this.data.item.id}`,data,{
- params:{
- id:this.data.item.id,
- companyId:companyId
+ this.http.put(`/api/Buildings/${this.data.item.id}`, data, {
+ params: {
+ id: this.data.item.id,
+ companyId: companyId
}
- }).subscribe(data=>{
+ }).subscribe(data => {
this.dialogRef.close("修改成功");
- },err=>{
+ }, err => {
this.dialogRef.close("修改失败");
})
}
diff --git a/src/app/working-area/model/axLegend.ts b/src/app/working-area/model/axLegend.ts
index dffc4a8..fd47146 100644
--- a/src/app/working-area/model/axLegend.ts
+++ b/src/app/working-area/model/axLegend.ts
@@ -1,6 +1,3 @@
-import { Constructor } from '@angular/material/core/common-behaviors/constructor';
-import { MatGridTileHeaderCssMatStyler } from '@angular/material/grid-list';
-import { DefaultProxy } from 'cesium';
import { Sprite, Texture, Text, Graphics, Point } from 'pixi.js';
import { WorkingAreaComponent } from '../working-area.component';
import { AxShape } from './axShape';
diff --git a/src/app/working-area/model/configuration.ts b/src/app/working-area/model/configuration.ts
index f26898b..7a8ec8a 100644
--- a/src/app/working-area/model/configuration.ts
+++ b/src/app/working-area/model/configuration.ts
@@ -77,7 +77,7 @@ export var config = {
directionalDrag: true,
boundsX: 500,
boundsY: 500,
- viewBounds: 60000
+ viewBounds: 100000
};
export var wallInformation = { exterior: false, interior: false, midline: true, labels: true, exteriorlabel: 'e:', interiorlabel: 'i:', midlinelabel: 'm:' };
diff --git a/src/app/working-area/working-area.component.ts b/src/app/working-area/working-area.component.ts
index 52628f2..76e673a 100644
--- a/src/app/working-area/working-area.component.ts
+++ b/src/app/working-area/working-area.component.ts
@@ -64,6 +64,10 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
* 资源加载器
*/
public loader = PIXI.Loader.shared;
+ /**
+ * 背景容器
+ */
+ public backgroundContainer = new PIXI.Container();
/**
* 背景图
*/
@@ -171,7 +175,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
* 重大调整-主版本号增加
* 日期变更-日期版本号增加
*/
- public VERSION = '1.4.3.20210415_rc';
+ public VERSION = '1.5.0.20210507_rc';
/**
* 数据初始化
*/
@@ -223,6 +227,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
this.camera2D.drag();
}
}
+
/**
* 删除选中的图标
*/
@@ -478,7 +483,6 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
this.deselectAll();
this.setPaintMode(PaintMode.endPaint);
});
-
}
/**
* 更新2D相机
@@ -614,12 +618,31 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
this.canvasData.isChange = true;
this.updateCamera2D();
});
+
+
+ }
+
+ /**
+ * 截屏
+ */
+ takeScreenshot() {
+ this.backgroundContainer.setParent(this.app.stage);
+ this.app.renderer.extract.canvas(this.backgroundContainer).toBlob((b) => {
+ const a = document.createElement('a');
+ document.body.append(a);
+ a.download = 'screenshot';
+ a.href = URL.createObjectURL(b);
+ a.click();
+ a.remove();
+ }, 'image/png');
+ this.backgroundContainer.setParent(this.camera2D);
}
/**
* 重置画布
*/
public resetCanvas() {
this.app.renderer.resize(this.content.nativeElement.clientWidth, this.content.nativeElement.clientHeight);
+
}
/**
* 设置名称显示
@@ -785,6 +808,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
TemplateId: this.canvasData.selectTemplateData.id,
CanConnect: this.canvasData.selectTemplateData.canConnect,
Pipelines: new Array(),
+ BuildingId: this.canvasData.selectStorey.buildingId,
FloorId: this.canvasData.selectStorey.id,
Angle: this.canvasData.selectTemplateData.angle,
Color: this.canvasData.selectTemplateData.color,
@@ -808,6 +832,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
GameMode: this.canvasData.gameMode,
Tag: this.canvasData.selectTemplateData.tag
};
+
const singleIcon = new AxImageShape(assetData, this);
this.emit('createIcon', singleIcon);
break;
@@ -1035,7 +1060,8 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
this.previewImage.visible = false;
}
});
- this.camera2D.addChild(this.backgroundImage);
+ this.backgroundContainer.addChild(this.backgroundImage);
+ this.camera2D.addChild(this.backgroundContainer);
this.createPreviewImage();
this.createPreviewLineSegment();
this.createCircleShadow();
@@ -1449,7 +1475,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
const property = new PropertyInfo(element);
propertyList.push(property);
});
- const assetData = {
+ const assetData: AssetData = {
TemplateId: this.canvasData.selectTemplateData.id,
FloorId: this.canvasData.selectStorey.id,
Angle: this.canvasData.selectTemplateData.angle,
@@ -1460,6 +1486,9 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
FixedSize: this.canvasData.selectTemplateData.fixedSize,
Height: 32,
Width: 32,
+ BuildingId: this.canvasData.selectStorey.buildingId,
+ CompanyId: "",
+ FloorName: "",
Id: ObjectID.default.generate(),
ImageUrl: this.canvasData.selectTemplateData.imageUrl,
InteractiveMode: this.canvasData.selectTemplateData.interactiveMode,
@@ -1708,6 +1737,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
ids.forEach(item => {
const obj = this.backgroundImage.getChildByName(item);
shapes.push(obj as AxShape);
+ console.log((obj as AxShape).assetData);
});
this.selectAllWithClear(shapes);
}