diff --git a/src/app/external-links-plan/external-links-plan.component.ts b/src/app/external-links-plan/external-links-plan.component.ts index 1758f5d..a3bffbf 100644 --- a/src/app/external-links-plan/external-links-plan.component.ts +++ b/src/app/external-links-plan/external-links-plan.component.ts @@ -13,40 +13,40 @@ declare var CryptoJS }) export class ExternalLinksPlanComponent implements OnInit { - constructor(private http:HttpClient,private token:CacheTokenService,public route: ActivatedRoute,private sanitizer: DomSanitizer) { } - planId:any//预案id + constructor(private http: HttpClient, private token: CacheTokenService, public route: ActivatedRoute, private sanitizer: DomSanitizer) { } + planId: any//预案id viewer//全景图对象 fetchUrl//预案文件地址 showType//预案类型 1:全景图 planData//预案信息 async ngOnInit(): Promise { await this.login()//登录存储token - this.route.queryParams.subscribe(paramsData=>{ + this.route.queryParams.subscribe(paramsData => { this.planId = paramsData.planId let planId = paramsData.planId - this.http.get(`/api/PlanComponents/${planId}`).subscribe((data:any)=>{ - console.log('单个预案详细信息',data) + this.http.get(`/api/PlanComponents/${planId}`).subscribe((data: any) => { + console.log('单个预案详细信息', data) this.planData = data - if(data.planType != 1 && data.planType != 2){ + if (data.planType != 1 && data.planType != 2) { this.fetchUrl = data.attachmentUrls[0] var index = this.fetchUrl.indexOf("\/") - if(this.fetchUrl.substr(0,index) == 'psw'){ + if (this.fetchUrl.substr(0, index) == 'psw') { this.showType = 1 var obj = document.getElementById('viewer') - if(obj != null){ - obj.innerHTML='' + if (obj != null) { + obj.innerHTML = '' } - window.setTimeout(()=>{ + window.setTimeout(() => { this.viewer = new Viewer({ container: document.querySelector('#viewer'), - panorama:'/api/Objects/PlanPlatform/'+ this.fetchUrl, + panorama: '/api/Objects/PlanPlatform/' + this.fetchUrl, }); }) - }else{ + } else { //毕生 this.lookWord() } - }else{ + } else { // 二维三维预案 this.handleData() } @@ -54,46 +54,47 @@ export class ExternalLinksPlanComponent implements OnInit { }) } - async login(){ + async login() { await new Promise((resolve, reject) => { - this.http.post('/api/Account/SignIn',{ + this.http.post('/api/Account/SignIn', { name: 'zhuzhouyuanchakan', - password: '12345678'}).subscribe((data:any)=>{ - sessionStorage.setItem("level",data.level); - sessionStorage.setItem("token",data.token); - sessionStorage.setItem("refreshToken",data.refreshToken); - console.log('登录成功',data) - resolve(data) - this.token.startUp() + password: '12345678' + }).subscribe((data: any) => { + sessionStorage.setItem("level", data.level); + sessionStorage.setItem("token", data.token); + sessionStorage.setItem("refreshToken", data.refreshToken); + console.log('登录成功', data) + resolve(data) + this.token.startUp() }) }) - + } iframeSrc//毕生服务器链接 src//文件存储地址 - lookWord(){ + lookWord() { let docIdWordArray = CryptoJS.enc.Utf8.parse(`PlanPlatform/` + this.fetchUrl); let docId = CryptoJS.enc.Base64.stringify(docIdWordArray); let jwt = sessionStorage.getItem("token"); let rawJwt = CryptoJS.enc.Base64.parse(jwt.split('.')[1]); let identityJson = CryptoJS.enc.Utf8.stringify(rawJwt); let identityJsonparse = JSON.parse(identityJson) - let filename:string - this.http.get(`/api/ObjectMetadata/PlanPlatform/${this.fetchUrl}`).subscribe((data:any)=>{ - filename = data.fileName + let filename: string + this.http.get(`/api/ObjectMetadata/PlanPlatform/${this.fetchUrl}`).subscribe((data: any) => { + filename = data.fileName let json = { doc: { - docId: docId, + docId: docId, title: filename, //title: filename, - fetchUrl: `http://${location.host}/api/Objects/PlanPlatform/`+this.fetchUrl + fetchUrl: `http://${location.host}/api/Objects/PlanPlatform/` + this.fetchUrl }, user: { uid: identityJsonparse.sub, nickName: identityJsonparse.name, avatar: "", privilege: [ - 'FILE_READ','FILE_DOWNLOAD', 'FILE_PRINT' + 'FILE_READ', 'FILE_DOWNLOAD', 'FILE_PRINT' ], }, } @@ -108,29 +109,29 @@ export class ExternalLinksPlanComponent implements OnInit { companyData//当前公司信息 thirdPartyURL - threedUrl:any - handleData () { + threedUrl: any + handleData() { let data = this.planData if (this.planData.planMode == 2) { //预案planMode=2时, 跳查看页面组件 - - this.http.get(`/api/Plans/${data.companyId}`).subscribe((data:any)=>{ + + this.http.get(`/api/Plans/${data.companyId}`).subscribe((data: any) => { console.log(data) - data && data.company? this.companyData = data.company : null - sessionStorage.setItem("buildingTypeId", this.companyData.buildingTypes.length? this.companyData.buildingTypes[0].id: undefined); - sessionStorage.setItem("companyId",data.companyId); - sessionStorage.setItem("planId",this.planId); - sessionStorage.setItem("editable",'0'); - sessionStorage.setItem("planName",this.planData.name) - this.showType = 3 + data && data.company ? this.companyData = data.company : null + sessionStorage.setItem("buildingTypeId", this.companyData.buildingTypes.length ? this.companyData.buildingTypes[0].id : undefined); + sessionStorage.setItem("companyId", data.companyId); + sessionStorage.setItem("planId", this.planId); + sessionStorage.setItem("editable", '0'); + sessionStorage.setItem("planName", this.planData.name) + this.showType = 3 // this.threedUrl = this.sanitizer.bypassSecurityTrustResourceUrl(`/keyUnit/viewunitinfoplans?id=${data.companyId}`) }) } else if (this.planData.planMode == 3) { //预案planMode=3时, 第三方网址' - this.http.get(`/api/Plans/${data.companyId}`).subscribe((data:any)=>{ - data && data.company? this.companyData = data.company : null + this.http.get(`/api/Plans/${data.companyId}`).subscribe((data: any) => { + data && data.company ? this.companyData = data.company : null this.threedUrl = this.sanitizer.bypassSecurityTrustResourceUrl(data.url) this.showType = 2 }) - + } } } diff --git a/src/app/statistic-analysis/plan-analysis-by-synthesis/plan-analysis-by-synthesis.component.html b/src/app/statistic-analysis/plan-analysis-by-synthesis/plan-analysis-by-synthesis.component.html index 0de004f..9e8f68d 100644 --- a/src/app/statistic-analysis/plan-analysis-by-synthesis/plan-analysis-by-synthesis.component.html +++ b/src/app/statistic-analysis/plan-analysis-by-synthesis/plan-analysis-by-synthesis.component.html @@ -140,7 +140,7 @@ 审核时间 - {{element.creationTime | date:'yyyy-MM-dd'}} + {{element.audittedTime | date:'yyyy-MM-dd'}} 预案类型 diff --git a/src/app/statistic-analysis/plan-analysis-by-synthesis/plan-analysis-by-synthesis.component.ts b/src/app/statistic-analysis/plan-analysis-by-synthesis/plan-analysis-by-synthesis.component.ts index 9fb2f69..e59c70a 100644 --- a/src/app/statistic-analysis/plan-analysis-by-synthesis/plan-analysis-by-synthesis.component.ts +++ b/src/app/statistic-analysis/plan-analysis-by-synthesis/plan-analysis-by-synthesis.component.ts @@ -4,7 +4,7 @@ import { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material/tree' import { MatPaginator } from '@angular/material/paginator'; import { FlatTreeControl } from '@angular/cdk/tree'; import { FormControl } from '@angular/forms'; -import { Router,ActivatedRoute } from '@angular/router' +import { Router, ActivatedRoute } from '@angular/router' import { PageEvent } from '@angular/material/paginator'; import { MatDialogRef, MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog'; import { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar'; @@ -19,8 +19,8 @@ declare var CryptoJS }) export class PlanAnalysisBySynthesisComponent implements OnInit { - constructor(private http:HttpClient,private router:Router,private route:ActivatedRoute,private tree: TreeService,public dialog: MatDialog,public snackBar: MatSnackBar) { } - + constructor(private http: HttpClient, private router: Router, private route: ActivatedRoute, private tree: TreeService, public dialog: MatDialog, public snackBar: MatSnackBar) { } + private _transformer = (node, level: number) => { //初始化tree return { expandable: !!node.children && node.children.length > 0, @@ -36,239 +36,239 @@ export class PlanAnalysisBySynthesisComponent implements OnInit { dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener); myControl = new FormControl(); hasChild = (_: number, node: any) => node.expandable; - //分页 - @ViewChild(MatPaginator, {static: true}) + //分页 + @ViewChild(MatPaginator, { static: true }) pageEvent: PageEvent; paginator: MatPaginator; - length:any; //共多少条数据 - pageSize:any; //每页条数 + length: any; //共多少条数据 + pageSize: any; //每页条数 pageSizeOptions: number[] = [10] //设置每页条数 - PageNumber:any; //第几页 + PageNumber: any; //第几页 - displayedColumns: string[] = ['planname', 'addpeople','level','addtime','plantype','auditStatus','openRange','projectlevel','operation']; - allorganizations:any //所有组织机构 - allunittype:any //所有单位类型 - tabledataSource:any //表格数据 + displayedColumns: string[] = ['planname', 'addpeople', 'level', 'addtime', 'plantype', 'auditStatus', 'openRange', 'projectlevel', 'operation']; + allorganizations: any //所有组织机构 + allunittype: any //所有单位类型 + tabledataSource: any //表格数据 url - preparelevels:any + preparelevels: any ngOnInit(): void { - if(window.matchMedia("(max-width: 1400px)").matches){ - this.pcMore=false - this.padMore=true - this.pcfind=false - this.padjt=true - }else{ - this.pcfind=true - this.pcMore=true - this.padMore=false - this.padjt=false + if (window.matchMedia("(max-width: 1400px)").matches) { + this.pcMore = false + this.padMore = true + this.pcfind = false + this.padjt = true + } else { + this.pcfind = true + this.pcMore = true + this.padMore = false + this.padjt = false } this.getunitdata(); this.getOrganizations(); this.getUnittype(); this.getAllPlanInfo(); let level = sessionStorage.getItem("level"); - if(level == "0"){//如果是总队 + if (level == "0") {//如果是总队 this.preparelevels = [ - {name:"总队",value:"1"}, - {name:"支队",value:"2"}, - {name:"大队",value:"4"}, - {name:"中队",value:"8"} + { name: "总队", value: "1" }, + { name: "支队", value: "2" }, + { name: "大队", value: "4" }, + { name: "中队", value: "8" } ] } - if(level == "1"){//如果是支队 + if (level == "1") {//如果是支队 this.preparelevels = [ - {name:"支队",value:"2"}, - {name:"大队",value:"4"}, - {name:"中队",value:"8"} + { name: "支队", value: "2" }, + { name: "大队", value: "4" }, + { name: "中队", value: "8" } ] } - if(level == "2"){//如果是大队 + if (level == "2") {//如果是大队 this.preparelevels = [ - {name:"大队",value:"4"}, - {name:"中队",value:"8"} + { name: "大队", value: "4" }, + { name: "中队", value: "8" } ] } - if(level == "3"){//如果是中队 + if (level == "3") {//如果是中队 this.preparelevels = [ - {name:"中队",value:"8"} + { name: "中队", value: "8" } ] } - this.url=window.location.href.substring(window.location.href.length-1,window.location.href.length) + this.url = window.location.href.substring(window.location.href.length - 1, window.location.href.length) //console.log(this.url) } pcMore//pc更多 - pcput=false//pc收起 + pcput = false//pc收起 pcfind//pc查询 - padjt=false - padMore=true//pad收缩控制 - padput=false//pad收起按钮 - imgsrcopen="../../../assets/images/routdown2.png" - imgsrcdown="../../../assets/images/routup2.png" - pcInfo(){ - this.pcMore=!this.pcMore - this.pcput=!this.pcput + padjt = false + padMore = true//pad收缩控制 + padput = false//pad收起按钮 + imgsrcopen = "../../../assets/images/routdown2.png" + imgsrcdown = "../../../assets/images/routup2.png" + pcInfo() { + this.pcMore = !this.pcMore + this.pcput = !this.pcput } - padInfo(){ - this.padMore=!this.padMore - this.padput=!this.padput + padInfo() { + this.padMore = !this.padMore + this.padput = !this.padput } - allPlanInfo:any //存储所有预案信息 + allPlanInfo: any //存储所有预案信息 //获得所有预案信息 - getAllPlanInfo(){ + getAllPlanInfo() { let reservePlanType this.reservePlanType ? reservePlanType = JSON.parse(JSON.stringify(this.reservePlanType)) : reservePlanType = '' - if(this.reservePlanType && this.reservePlanType.length != 0){ + if (this.reservePlanType && this.reservePlanType.length != 0) { reservePlanType = eval(this.reservePlanType.join("|")) - } - let paramsdata:any = { + } + let paramsdata: any = { CompanyName: this.companyName || '', OrganizationId: this.jsId || '', - HasChildrenOrganization:this.jscheck || '', - BuildingTypeId: this.unittype || '', + HasChildrenOrganization: this.jscheck || '', + BuildingTypeId: this.unittype || '', PlanType: this.reservePlanType || '', - AuditStatus:'', //审核状态 - PlanLevel: this.preparelevel || '', + AuditStatus: '', //审核状态 + PlanLevel: this.preparelevel || '', HasChildrenPlanLevel: this.plcheck || '', - CreationTimeRangeStart:this.addtime||'', - CreationTimeRangeEnd:this.endtime||'', + AduitTimeRangeStart: this.addtime || '', + AduitTimeRangeEnd: this.endtime || '', PageNumber: this.PageNumber || '1', - PageSize: this.pageSizeOptions[0], + PageSize: this.pageSizeOptions[0], Sort: '', - PlanCategories:this.planCategory + PlanCategories: this.planCategory } - this.http.get("/api/ApprovedPlans",{params:paramsdata}).subscribe((data:any)=>{ + this.http.get("/api/ApprovedPlans", { params: paramsdata }).subscribe((data: any) => { this.length = data.totalCount this.allPlanInfo = data - this.tabledataSource = data.items + this.tabledataSource = data.items }) } - colorRgb(sColor){ + colorRgb(sColor) { var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/; var sColor = sColor.toLowerCase(); if (sColor && reg.test(sColor)) { - if (sColor.length === 4) { - var sColorNew = "#"; - for (var i = 1; i < 4; i += 1) { - sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1)); - } - sColor = sColorNew; + if (sColor.length === 4) { + var sColorNew = "#"; + for (var i = 1; i < 4; i += 1) { + sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1)); } - //处理六位的颜色值 - var sColorChange = []; - for (var i = 1; i < 7; i += 2) { - sColorChange.push(parseInt("0x" + sColor.slice(i, i + 2))); - } - return sColorChange; + sColor = sColorNew; + } + //处理六位的颜色值 + var sColorChange = []; + for (var i = 1; i < 7; i += 2) { + sColorChange.push(parseInt("0x" + sColor.slice(i, i + 2))); + } + return sColorChange; } else { - return sColor; + return sColor; } } - colorHex(rgb){ + colorHex(rgb) { var _this = rgb; var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/; if (/^(rgb|RGB)/.test(_this)) { - var aColor = _this.replace(/(?:(|)|rgb|RGB)*/g, "").split(","); - var strHex = "#"; - for (var i = 0; i < aColor.length; i++) { - var hex:any = Number(aColor[i]).toString(16); - hex = hex < 10 ? 0 + '' + hex : hex;// 保证每个rgb的值为2位 - if (hex === "0") { - hex += hex; - } - strHex += hex; - } - if (strHex.length !== 7) { - strHex = _this; + var aColor = _this.replace(/(?:(|)|rgb|RGB)*/g, "").split(","); + var strHex = "#"; + for (var i = 0; i < aColor.length; i++) { + var hex: any = Number(aColor[i]).toString(16); + hex = hex < 10 ? 0 + '' + hex : hex;// 保证每个rgb的值为2位 + if (hex === "0") { + hex += hex; } - return strHex; + strHex += hex; + } + if (strHex.length !== 7) { + strHex = _this; + } + return strHex; } else if (reg.test(_this)) { - var aNum = _this.replace(/#/, "").split(""); - if (aNum.length === 6) { - return _this; - } else if (aNum.length === 3) { - var numHex = "#"; - for (var i = 0; i < aNum.length; i += 1) { - numHex += (aNum[i] + aNum[i]); - } - return numHex; + var aNum = _this.replace(/#/, "").split(""); + if (aNum.length === 6) { + return _this; + } else if (aNum.length === 3) { + var numHex = "#"; + for (var i = 0; i < aNum.length; i += 1) { + numHex += (aNum[i] + aNum[i]); } + return numHex; + } } else { - return _this; + return _this; } } gradientColor(startColor, endColor, step) { let _this = this - let startRGB = _this.colorRgb(startColor);//转换为rgb数组模式 - let startR = startRGB[0]; - let startG = startRGB[1]; - let startB = startRGB[2]; + let startRGB = _this.colorRgb(startColor);//转换为rgb数组模式 + let startR = startRGB[0]; + let startG = startRGB[1]; + let startB = startRGB[2]; - let endRGB = _this.colorRgb(endColor); - let endR = endRGB[0]; - let endG = endRGB[1]; - let endB = endRGB[2]; + let endRGB = _this.colorRgb(endColor); + let endR = endRGB[0]; + let endG = endRGB[1]; + let endB = endRGB[2]; - let sR = (endR - startR) / step;//总差值 - let sG = (endG - startG) / step; - let sB = (endB - startB) / step; + let sR = (endR - startR) / step;//总差值 + let sG = (endG - startG) / step; + let sB = (endB - startB) / step; var colorArr = []; for (var i = 0; i < step; i++) { - //计算每一步的hex值 - var hex = _this.colorHex('rgb('+ parseInt((sR * i + startR))+ ',' + parseInt((sG * i + startG))+ ',' + parseInt((sB * i + startB)) + ')'); - colorArr.push(hex); + //计算每一步的hex值 + var hex = _this.colorHex('rgb(' + parseInt((sR * i + startR)) + ',' + parseInt((sG * i + startG)) + ',' + parseInt((sB * i + startB)) + ')'); + colorArr.push(hex); } return colorArr; -} - integrity(width){ + } + integrity(width) { let _this = this - - let style:any = {} - style.width = width +'%'; - if(width < 30){ - let colorArr = this.gradientColor('#D50000', '#E53935', 30); - for(let i = 0; i < 30; i++){ - if( i == width){ + + let style: any = {} + style.width = width + '%'; + if (width < 30) { + let colorArr = this.gradientColor('#D50000', '#E53935', 30); + for (let i = 0; i < 30; i++) { + if (i == width) { style.background = colorArr[i] } } } - if(width >= 30 && width < 60){ - let colorArr = this.gradientColor('#FF9800', '#E65100', 30); - for(let i = 30; i < 60; i++){ - if( i == width){ - style.background = colorArr[i-30] + if (width >= 30 && width < 60) { + let colorArr = this.gradientColor('#FF9800', '#E65100', 30); + for (let i = 30; i < 60; i++) { + if (i == width) { + style.background = colorArr[i - 30] } } } - if(width >= 60){ - let colorArr = this.gradientColor('#81C784', '#2E7D32', 41); - for(let i = 60; i <= 100; i++){ - if( i == width){ - style.background = colorArr[i-60] + if (width >= 60) { + let colorArr = this.gradientColor('#81C784', '#2E7D32', 41); + for (let i = 60; i <= 100; i++) { + if (i == width) { + style.background = colorArr[i - 60] } } } return style } - integrityDetails(width,zong){ - let style:any = {} - style.width = (width/zong)*100 +'%'; + integrityDetails(width, zong) { + let style: any = {} + style.width = (width / zong) * 100 + '%'; return style } //得到当前单位信息 - getunitdata(){ + getunitdata() { this.http.get("/api/Account/Profiles").subscribe( - (data:any)=>{ - this.organizationName = data.organizationName + (data: any) => { + this.organizationName = data.organizationName } ) } @@ -276,41 +276,41 @@ export class PlanAnalysisBySynthesisComponent implements OnInit { endtime//结束时间 integrityScoreMin//完整度最小值 integrityScoreMax//完整度最大值 - organizationName:any //当前单位组织机构名称 - treedata:any //组织机构树型数据 - newArr:any = [] - newallorganizations:any //用于存储在原始数据基础上的每个机构增加children字段 + organizationName: any //当前单位组织机构名称 + treedata: any //组织机构树型数据 + newArr: any = [] + newallorganizations: any //用于存储在原始数据基础上的每个机构增加children字段 //得到当前单位所在组织机构的tree型数据 - getpresentOrganization(){ + getpresentOrganization() { this.newallorganizations = this.allorganizations this.newallorganizations.forEach(item => { item.children = [] this.newallorganizations.forEach(element => { - if(element.parentId == item.id){ + if (element.parentId == item.id) { item.children.push(element) } }); }); this.http.get("/api/Account/Profiles").subscribe( - (data:any)=>{ + (data: any) => { this.organizationName = data.organizationName - if(this.organizationName){ + if (this.organizationName) { this.newallorganizations.forEach(item => { - if(item.name == this.organizationName){ + if (item.name == this.organizationName) { this.dataSource.data = [item] } }); - }else{ + } else { this.dataSource.data = this.tree.toTree(this.treedata); } } ) - + } //获得所有组织机构 - getOrganizations(){ + getOrganizations() { this.http.get('/api/Organizations').subscribe( - (data:any)=>{ + (data: any) => { this.allorganizations = data this.treedata = this.tree.toTree(data); this.getpresentOrganization(); @@ -319,120 +319,120 @@ export class PlanAnalysisBySynthesisComponent implements OnInit { } //获得所有单位类型 - getUnittype(){ + getUnittype() { this.http.get('/api/BuildingTypes/Simple').subscribe( - data=>{ + data => { this.allunittype = data } ) } //查看单位信息 - lookUnitInfo(element){ + lookUnitInfo(element) { // console.log(element) // const dialogRef = this.dialog.open(UnitInfo, { // width: '1500px', // height:'800px' // }); - sessionStorage.setItem("editable","0") - sessionStorage.setItem("companyName",element.company.name) - sessionStorage.setItem("companyId",element.company.id) - sessionStorage.setItem(element.company.id,JSON.stringify(element.company.companyIntegrityScore)) - window.open(`/keyUnit/viewunitinfo?id=${element.company.id}&usci=${element.company.usci}`,'_blank'); + sessionStorage.setItem("editable", "0") + sessionStorage.setItem("companyName", element.company.name) + sessionStorage.setItem("companyId", element.company.id) + sessionStorage.setItem(element.company.id, JSON.stringify(element.company.companyIntegrityScore)) + window.open(`/keyUnit/viewunitinfo?id=${element.company.id}&usci=${element.company.usci}`, '_blank'); } //跳转查看预案页面 审核通过预案 - routerTo(e){ + routerTo(e) { // console.log(e) - if(e.planMode == 0||e.planMode == 1){ + if (e.planMode == 0 || e.planMode == 1) { //console.log(e.attachmentUrls) - var index=e.attachmentUrls[0].indexOf("\/") - if(e.attachmentUrls[0].substr(0,index)=='psw'){ + var index = e.attachmentUrls[0].indexOf("\/") + if (e.attachmentUrls[0].substr(0, index) == 'psw') { const dialogRef = this.dialog.open(GkPsViewer2, { width: '1500px', - height:'800px', + height: '800px', data: e.attachmentUrls[0] }); } else /* if(e.attachmentUrls[0].substr(e.attachmentUrls[0].length-4,e.attachmentUrls[0].length-1)=='docx'||e.attachmentUrls[0].substr(e.attachmentUrls[0].length-3,e.attachmentUrls[0].length)=='pdf' ||e.attachmentUrls[0].substr(e.attachmentUrls[0].length-3,e.attachmentUrls[0].length)=='doc'||e.attachmentUrls[0].substr(e.attachmentUrls[0].length-3,e.attachmentUrls[0].length)=='DOC' - ||e.attachmentUrls[0].substr(e.attachmentUrls[0].length-3,e.attachmentUrls[0].length)=='txt'||e.attachmentUrls[0].substr(e.attachmentUrls[0].length-3,e.attachmentUrls[0].length)=='JPG') */{ - let filename:string - let fetchUrl = e.attachmentUrls[0] - let docIdWordArray = CryptoJS.enc.Utf8.parse(`PlanPlatform/` + fetchUrl); - let docId = CryptoJS.enc.Base64.stringify(docIdWordArray); - let jwt = sessionStorage.getItem("token"); - let rawJwt = CryptoJS.enc.Base64.parse(jwt.split('.')[1]); - let identityJson = CryptoJS.enc.Utf8.stringify(rawJwt); - let identityJsonparse=JSON.parse(identityJson) - this.http.get(`/api/ObjectMetadata/PlanPlatform/${fetchUrl}`).subscribe((data:any)=>{ - filename=data.fileName - let json={ - doc: { - docId: docId, - title: filename, - fetchUrl: `http://39.106.78.171:8000/api/Objects/PlanPlatform/`+fetchUrl, - }, - user: { - uid: identityJsonparse.sub, - nickName: identityJsonparse.name, - avatar: "", - privilege: [ - 'FILE_READ','FILE_DOWNLOAD', 'FILE_PRINT' - ], - }, - } - var stringjson=JSON.stringify(json) - var wordArray = CryptoJS.enc.Utf8.parse(stringjson); - var base64 = CryptoJS.enc.Base64.stringify(wordArray); - window.open(`http://121.5.10.84:80/apps/editor/openPreview?data=${base64}`) - }) - } + ||e.attachmentUrls[0].substr(e.attachmentUrls[0].length-3,e.attachmentUrls[0].length)=='txt'||e.attachmentUrls[0].substr(e.attachmentUrls[0].length-3,e.attachmentUrls[0].length)=='JPG') */ { + let filename: string + let fetchUrl = e.attachmentUrls[0] + let docIdWordArray = CryptoJS.enc.Utf8.parse(`PlanPlatform/` + fetchUrl); + let docId = CryptoJS.enc.Base64.stringify(docIdWordArray); + let jwt = sessionStorage.getItem("token"); + let rawJwt = CryptoJS.enc.Base64.parse(jwt.split('.')[1]); + let identityJson = CryptoJS.enc.Utf8.stringify(rawJwt); + let identityJsonparse = JSON.parse(identityJson) + this.http.get(`/api/ObjectMetadata/PlanPlatform/${fetchUrl}`).subscribe((data: any) => { + filename = data.fileName + let json = { + doc: { + docId: docId, + title: filename, + fetchUrl: `http://39.106.78.171:8000/api/Objects/PlanPlatform/` + fetchUrl, + }, + user: { + uid: identityJsonparse.sub, + nickName: identityJsonparse.name, + avatar: "", + privilege: [ + 'FILE_READ', 'FILE_DOWNLOAD', 'FILE_PRINT' + ], + }, + } + var stringjson = JSON.stringify(json) + var wordArray = CryptoJS.enc.Utf8.parse(stringjson); + var base64 = CryptoJS.enc.Base64.stringify(wordArray); + window.open(`http://121.5.10.84:80/apps/editor/openPreview?data=${base64}`) + }) } - - if(e.planMode == 2){ //如果是在线编辑 - let id = e.id - sessionStorage.setItem("planId",id) - sessionStorage.setItem("companyId",e.companyId) + } + + if (e.planMode == 2) { //如果是在线编辑 + let id = e.id + sessionStorage.setItem("planId", id) + sessionStorage.setItem("companyId", e.companyId) //sessionStorage.setItem("buildingTypeId",this.unittypeId) - sessionStorage.setItem("editable","0") - sessionStorage.setItem("planName",e.name) + sessionStorage.setItem("editable", "0") + sessionStorage.setItem("planName", e.name) let companyId = sessionStorage.getItem("companyId") window.open(`/keyUnit/viewunitinfoplan?id=${companyId}`); } - if(e.planMode == 3){ //如果是跳转网页 - sessionStorage.setItem("url",e.url) + if (e.planMode == 3) { //如果是跳转网页 + sessionStorage.setItem("url", e.url) window.open(`/planManagement/webLook`) } } //预案公开 - openReserve (e) { - this.http.put(`/api/PlanAudits/${e.id}/Public`,[]).subscribe(data=>{ + openReserve(e) { + this.http.put(`/api/PlanAudits/${e.id}/Public`, []).subscribe(data => { const config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 - this.snackBar.open('预案已公开','确定',config); + this.snackBar.open('预案已公开', '确定', config); }) } //预案取消公开 - closeReserve (e) { - this.http.put(`/api/PlanAudits/${e.id}/Unpublic`,[]).subscribe(data=>{ + closeReserve(e) { + this.http.put(`/api/PlanAudits/${e.id}/Unpublic`, []).subscribe(data => { const config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 - this.snackBar.open('预案已取消公开','确定',config); + this.snackBar.open('预案已取消公开', '确定', config); }) } - + //分页事件 - chagePage(e){ - this.PageNumber = e.pageIndex+1 + chagePage(e) { + this.PageNumber = e.pageIndex + 1 this.getAllPlanInfo(); } //辖区中队div是否显示 - isorganizationbox:boolean = false + isorganizationbox: boolean = false //点击辖区中队树,将选择的辖区中队添加到变量 add(node) { this.isorganizationbox = false @@ -448,26 +448,26 @@ export class PlanAnalysisBySynthesisComponent implements OnInit { this.isorganizationbox = true } //关闭出现的组织机构div - closediv(){ + closediv() { this.isorganizationbox = false } //查询 - onSubmit (e) { + onSubmit(e) { this.PageNumber = 1 this.pageEvent.pageIndex = 0 this.getAllPlanInfo(); } - companyName:any //单位名称 - js:any //所选组织机构 - jsId:any //所选组织机构的id - jscheck:boolean //所选组织机构勾选框 - unittype:any //单位类型 - reservePlanType:any //预案类型 - preparelevel:any //编制级别 - plcheck:boolean //编制级别勾选框 - planCategory=[]//预案级别 + companyName: any //单位名称 + js: any //所选组织机构 + jsId: any //所选组织机构的id + jscheck: boolean //所选组织机构勾选框 + unittype: any //单位类型 + reservePlanType: any //预案类型 + preparelevel: any //编制级别 + plcheck: boolean //编制级别勾选框 + planCategory = []//预案级别 //重置 - reset(){ + reset() { this.companyName = '' this.js = '' this.jsId = '' @@ -475,13 +475,13 @@ export class PlanAnalysisBySynthesisComponent implements OnInit { this.unittype = '' this.reservePlanType = '' this.preparelevel = '' - this.addtime='' - this.endtime='' + this.addtime = '' + this.endtime = '' this.plcheck = false //重新获取初始化列表 this.pageEvent.pageIndex = 0 this.PageNumber = 1 - this.planCategory=[] + this.planCategory = [] this.getAllPlanInfo(); } } @@ -491,14 +491,14 @@ export class PlanAnalysisBySynthesisComponent implements OnInit { templateUrl: './PsvShow.html', styleUrls: ['./plan-analysis-by-synthesis.component.scss'] }) -export class GkPsViewer2{ - constructor(private router:Router,private http: HttpClient,public dialog: MatDialog,public snackBar: MatSnackBar,public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any) {} +export class GkPsViewer2 { + constructor(private router: Router, private http: HttpClient, public dialog: MatDialog, public snackBar: MatSnackBar, public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: any) { } ngOnInit(): void { // console.log(this.data) const viewer = new Viewer({ container: document.querySelector('#viewer'), - panorama:'/api/Objects/PlanPlatform/'+ this.data, - + panorama: '/api/Objects/PlanPlatform/' + this.data, + }); } } \ No newline at end of file diff --git a/src/app/statistic-analysis/real-monitoring/real-monitoring.component.ts b/src/app/statistic-analysis/real-monitoring/real-monitoring.component.ts index d655ff7..22c4a35 100644 --- a/src/app/statistic-analysis/real-monitoring/real-monitoring.component.ts +++ b/src/app/statistic-analysis/real-monitoring/real-monitoring.component.ts @@ -8,35 +8,35 @@ */ import { Component, OnInit } from '@angular/core'; import { ActivatedRoute, Router } from '@angular/router'; -import {FormGroup, FormControl} from '@angular/forms'; -import {EchartsDataService} from '../echarts-data.service'; +import { FormGroup, FormControl } from '@angular/forms'; +import { EchartsDataService } from '../echarts-data.service'; import { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar'; -import {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core'; +import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core'; declare var echarts: any; @Component({ selector: 'app-real-monitoring', templateUrl: './real-monitoring.component.html', styleUrls: ['./real-monitoring.component.scss'], - + }) export class RealMonitoringComponent implements OnInit { /* campaignOne: FormGroup; campaignTwo: FormGroup; */ - constructor(private router: Router,public EchartsData:EchartsDataService,private route:ActivatedRoute,public snackBar: MatSnackBar) { } + constructor(private router: Router, public EchartsData: EchartsDataService, private route: ActivatedRoute, public snackBar: MatSnackBar) { } - addtime= String(new Date().getFullYear())+'-01'//添加时间 - endtime= String(new Date().getFullYear())+'-0'+String(new Date().getMonth()+1) + addtime = String(new Date().getFullYear()) + '-01'//添加时间 + endtime = String(new Date().getFullYear()) + '-0' + String(new Date().getMonth() + 1) /* addtime=String(new Date().getFullYear()+new Date().getMonth()) endtime=String(new Date().getFullYear()+new Date().getMonth()) */ ngOnInit(): void { - window.setTimeout(()=>{ + window.setTimeout(() => { this.getechartsdata(true) - },0) + }, 0) } //获取echarts数据 - async getechartsdata(chushi:boolean){ + async getechartsdata(chushi: boolean) { /* var date=new Date() var year=date.getFullYear(); var month=date.getMonth()+1 @@ -59,90 +59,90 @@ export class RealMonitoringComponent implements OnInit { }); } */ - - for(var i=Number(this.addtime.split('-')[0]);i<=Number(this.endtime.split('-')[0]);i++){ - let paramdataleft={ - objectType:3, - TrendYear:i - } - //获取左侧柱状图的数据 - await this.EchartsData.getData(paramdataleft,'/api/StatisticsAnalysis/Trends') - this.leftzhuTable=JSON.parse(JSON.stringify(this.EchartsData.allDate)) + + for (var i = Number(this.addtime.split('-')[0]); i <= Number(this.endtime.split('-')[0]); i++) { + let paramdataleft = { + objectType: 3, + TrendYear: i + } + //获取左侧柱状图的数据 + await this.EchartsData.getData(paramdataleft, '/api/StatisticsAnalysis/Trends') + this.leftzhuTable = JSON.parse(JSON.stringify(this.EchartsData.allDate)) //console.log(this.leftzhuTable) - this.leftzhuTable[0].forEach((value,index,array) => { - if(this.addtime.split('-')[0]!=this.endtime.split('-')[0]){ - if((array[index].year==Number(this.addtime.split('-')[0])&&array[index].month>=Number(this.addtime.split('-')[1]))||(array[index].year==Number(this.endtime.split('-')[0])&&array[index].month<=Number(this.endtime.split('-')[1]))){ + this.leftzhuTable[0].forEach((value, index, array) => { + if (this.addtime.split('-')[0] != this.endtime.split('-')[0]) { + if ((array[index].year == Number(this.addtime.split('-')[0]) && array[index].month >= Number(this.addtime.split('-')[1])) || (array[index].year == Number(this.endtime.split('-')[0]) && array[index].month <= Number(this.endtime.split('-')[1]))) { this.dateNum.push(array[index].count) - this.dateyue.push(array[index].year+'-'+array[index].month) + this.dateyue.push(array[index].year + '-' + array[index].month) } - }else{ - if(array[index].month>=this.addtime.split('-')[1]&&array[index].month<=this.endtime.split('-')[1]){ + } else { + if (array[index].month >= this.addtime.split('-')[1] && array[index].month <= this.endtime.split('-')[1]) { this.dateNum.push(array[index].count) - this.dateyue.push(array[index].year+'-'+array[index].month) + this.dateyue.push(array[index].year + '-' + array[index].month) } } - + }); - } - + } + //获取底端柱状图数据 - let paramBottom={ - TimeIntervalStart:this.addtime=='0'?'':this.endtime, - TimeIntervalEnd:this.endtime=='0'?'':this.endtime + let paramBottom = { + TimeIntervalStart: this.addtime == '0' ? '' : this.endtime, + TimeIntervalEnd: this.endtime == '0' ? '' : this.endtime } - if(chushi){ - await this.EchartsData.getData(paramBottom,'/api/StatisticsAnalysis/Plans/AuditApproved/Organizations') - this.bottomTable=JSON.parse(JSON.stringify(this.EchartsData.allDate)) - this.addNum= this.bottomTable[0].totalCount - this.bottomTable[0].organizations.forEach((value,index,array) => { - this.zhiNameData.push(array[index].organizationName) - this.zhiNumData.push(array[index].count) - if(index>0&&index<4){ - this.addyuan.push(array[index].organizationName) - } - - }); - this.bottomzhutu() + if (chushi) { + await this.EchartsData.getData(paramBottom, '/api/StatisticsAnalysis/Plans/AuditApproved/Organizations') + this.bottomTable = JSON.parse(JSON.stringify(this.EchartsData.allDate)) + this.addNum = this.bottomTable[0].totalCount + this.bottomTable[0].organizations.forEach((value, index, array) => { + this.zhiNameData.push(array[index].organizationName) + this.zhiNumData.push(array[index].count) + if (index > 0 && index < 4) { + this.addyuan.push(array[index].organizationName) + } + + }); + this.bottomzhutu() } - + //右侧饼状图数据 - let param={ - TimeIntervalStart:this.addtime=='0'?'':this.addtime, - TimeIntervalEnd:this.endtime=='0'?'':this.endtime + let param = { + TimeIntervalStart: this.addtime == '0' ? '' : this.addtime, + TimeIntervalEnd: this.endtime == '0' ? '' : this.endtime } - await this.EchartsData.getData(param,'/api/StatisticsAnalysis/Plans/AuditApproved/PlanTypes') - this.rightbTable=JSON.parse(JSON.stringify(this.EchartsData.allDate)) + await this.EchartsData.getData(param, '/api/StatisticsAnalysis/Plans/AuditApproved/PlanTypes') + this.rightbTable = JSON.parse(JSON.stringify(this.EchartsData.allDate)) this.leftzhuzhuangtu() this.rightbingtu() - + } //查询按钮 - findClick(){ - console.log(this.addtime,this.endtime) + findClick() { + console.log(this.addtime, this.endtime) const config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 - if(this.addtime=='0'||this.endtime=='0'){ - this.snackBar.open('结束时间或者开始时间不能为空!','确定',config); - }else{ - if(this.endtime {//要给渲染节点传那些属性参数 @@ -36,36 +36,36 @@ export class CollectionToolsComponent 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 = [] //属性中的图片链接集合 @@ -74,28 +74,28 @@ export class CollectionToolsComponent 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 @@ -114,14 +114,14 @@ export class CollectionToolsComponent 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(item.PropertyName == '所属单位'){ - if(!item.PropertyValue){ + if (item.PropertyName == '所属单位') { + if (!item.PropertyValue) { item.PropertyValue = this.organizationName item.Tag = this.organizationId } @@ -129,9 +129,9 @@ export class CollectionToolsComponent implements OnInit { }) //如果存在图片则加载轮播图 - 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, // 如果需要前进后退按钮 @@ -139,8 +139,8 @@ export class CollectionToolsComponent implements OnInit { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev', }, - on:{ - click: function(){ + on: { + click: function () { _this.clickedIndex = this.clickedIndex }, } @@ -148,38 +148,38 @@ export class CollectionToolsComponent implements OnInit { }, 0); } //判断此时图片数量是否达到上限 - if(this.imagesArr.length < this.imagesArrNum){//如果不超出 + if (this.imagesArr.length < this.imagesArrNum) {//如果不超出 this.isImgNumCss = true - }else{ + } else { this.isImgNumCss = false } } //人或车选择所属单位 - changeOr(){ + changeOr() { let dialogRef = this.dialog.open(Organization); - dialogRef.afterClosed().subscribe(data=>{ - if(data && data.name){ + dialogRef.afterClosed().subscribe(data => { + if (data && data.name) { this.PropertyInfos.forEach(item => { - if(item.PropertyName == '所属单位'){ + if (item.PropertyName == '所属单位') { item.PropertyValue = data.name item.Tag = data.id } }) } - }); + }); } //截图 takeScreenshot() { this.canvas.takeScreenshot(); } - pattern:boolean = false//默认为基本信息编辑 + pattern: boolean = false//默认为基本信息编辑 //基本信息编辑模式 - baseInfo(){ + baseInfo() { if (!this.pattern) { this.basicInfo = true - this.canvas.setNameVisible(this.basicInfo,1) + this.canvas.setNameVisible(this.basicInfo, 1) this.pattern = true this.canvasData.gameMode = GameMode.BasicInformation @@ -192,11 +192,11 @@ export class CollectionToolsComponent implements OnInit { } //想定作业编辑模式 - wantWork(){ + wantWork() { if (this.pattern) { //让基本信息图标显示 this.basicInfo = false - this.canvas.setNameVisible(this.basicInfo,0) + this.canvas.setNameVisible(this.basicInfo, 0) this.pattern = false this.canvasData.gameMode = GameMode.Assignment @@ -205,122 +205,122 @@ export class CollectionToolsComponent 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){ + if (this.pos == 0 && event.node.origin.children.length == 1) { // console.log("移入,没有兄弟") - let key = event.dragNode.key + let key = event.dragNode.key orders[key] = 0 parentId = event.node.key - }else{ + } else { // console.log("移入,多个兄弟") 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]) { //如果移入到最后一个 // console.log("最后") 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]) {//如果移入到第一个 // console.log("第一") array.unshift(event.dragNode.origin) - }else{//如果移入中间位置 + } else {//如果移入中间位置 // console.log("中间") 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) @@ -330,35 +330,35 @@ export class CollectionToolsComponent 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 = () => { @@ -368,13 +368,13 @@ export class CollectionToolsComponent 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'; } } @@ -385,14 +385,14 @@ export class CollectionToolsComponent 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 = () => { @@ -402,13 +402,13 @@ export class CollectionToolsComponent 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'; } } @@ -419,41 +419,41 @@ export class CollectionToolsComponent implements OnInit { } //放大图标 - iconScale(){ + iconScale() { let number = Number(this.selected) this.canvas.setIconScale(number) } //素材宽度输入框改变 - assetWidthIunput(){ - this.canvasAssetObj.Width = this.assetWidth + 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() { } //判断是否是数字类型 @@ -461,11 +461,11 @@ export class CollectionToolsComponent 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 @@ -474,8 +474,8 @@ export class CollectionToolsComponent 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 @@ -485,35 +485,35 @@ export class CollectionToolsComponent 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 //上传文件的总大小 @@ -521,13 +521,13 @@ export class CollectionToolsComponent 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 = { @@ -543,12 +543,12 @@ export class CollectionToolsComponent 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, // 如果需要前进后退按钮 @@ -556,8 +556,8 @@ export class CollectionToolsComponent implements OnInit { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev', }, - on:{ - click: function(){ + on: { + click: function () { _this.clickedIndex = this.clickedIndex }, } @@ -566,44 +566,44 @@ export class CollectionToolsComponent 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); @@ -616,7 +616,7 @@ export class CollectionToolsComponent implements OnInit { //将上传的input框显示出来 this.isImgNumCss = true; //清除图片缓存 - if((document.getElementById('inputimg'))){ + if ((document.getElementById('inputimg'))) { (document.getElementById('inputimg')).value = null //清空input框缓存 } @@ -625,8 +625,8 @@ export class CollectionToolsComponent 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 @@ -634,8 +634,8 @@ export class CollectionToolsComponent 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 @@ -643,74 +643,74 @@ export class CollectionToolsComponent 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 this.canvasData.isChange = 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//当前多选的第一个素材 - organizationName:any = this.route.snapshot.queryParams.orName//当前预案单位所属机构名称 - organizationId:any = this.route.snapshot.queryParams.orId//当前预案单位所属机构名称 + multipleAssetData: any//当前多选的素材 + firstMultipleAssetData: any//当前多选的第一个素材 + organizationName: any = this.route.snapshot.queryParams.orName//当前预案单位所属机构名称 + organizationId: any = this.route.snapshot.queryParams.orId//当前预案单位所属机构名称 ngOnInit(): void { - this.canvasData.isInheritSky = { weather:'', airTemperature:'', windDirection:'', windScale:'', }; //缓存 节点 天气 - AxMessageSystem.addListener('selectionChanged', ()=>{ - if(this.canvas.selection.size() == 1){//如果是单选 + this.canvasData.isInheritSky = { weather: '', airTemperature: '', windDirection: '', windScale: '', }; //缓存 节点 天气 + 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()) { // console.log('多选') 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) @@ -730,7 +730,7 @@ export class CollectionToolsComponent implements OnInit { this.getAllFirePlan() //获取当前单位灾情 let that = this - window.setTimeout(()=>{ + window.setTimeout(() => { document.getElementById("functionalDomainContent").oncontextmenu = function (event) { // that.canvas.cancelPaint() that.selectImageIndex = -1 @@ -738,8 +738,8 @@ export class CollectionToolsComponent 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() } }) @@ -747,70 +747,70 @@ export class CollectionToolsComponent implements OnInit { } //多选宽度共同改变 - 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 => { 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 @@ -821,11 +821,11 @@ export class CollectionToolsComponent implements OnInit { }) } //多选状态动态属性素材radio框值改变 - multipleAssetRadioChange(i,value){ + multipleAssetRadioChange(i, value) { // 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 = value this.canvas.refreshIcon(item.assetData.Id) this.canvasData.isChange = true @@ -834,11 +834,11 @@ export class CollectionToolsComponent 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 @@ -850,414 +850,415 @@ export class CollectionToolsComponent implements OnInit { ngAfterViewInit(): void { this.getSitePlan() //监听数据变化后 - this.canvas.on('canvasDataChanged',()=>{ + this.canvas.on('canvasDataChanged', () => { // 收到数据表示共享数据发生变化 - this.canvasData.selectPanelPoint.BackgroundImageUrl? this.customizeNodes() : this.renovateTreeData(false) + this.canvasData.selectPanelPoint.BackgroundImageUrl ? this.customizeNodes() : this.renovateTreeData(false) }); } - copyAssetData:any //存储用于复制的素材 + copyAssetData: any //存储用于复制的素材 //复制素材 - copyAsset(){ - if(this.canvas.selection.allowEdit()){//如果当前选中素材可以编辑 + copyAsset() { + if (this.canvas.selection.allowEdit()) {//如果当前选中素材可以编辑 this.canvas.copy() - }else{ + } else { let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 - this.snackBar.open('当前选中素材不可复制','确定',config); + this.snackBar.open('当前选中素材不可复制', '确定', config); } } //粘贴素材 - pasteAsset(){ + pasteAsset() { let companyId = sessionStorage.getItem("companyId") let buildingId = this.beforeOneCheckedBuilding.id let floorId = this.selectingSitePlan.id - this.canvas.paste(companyId,buildingId,floorId) - this.canvasData.selectPanelPoint.BackgroundImageUrl? this.customizeNodes() : this.renovateTreeData(false) + this.canvas.paste(companyId, buildingId, floorId) + this.canvasData.selectPanelPoint.BackgroundImageUrl ? this.customizeNodes() : this.renovateTreeData(false) } - basicInfo:boolean = false //基本信息名称显隐 - wantToWork:boolean = true //想定作业名称显隐 + basicInfo: boolean = false //基本信息名称显隐 + 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) { this.saveNum = [] let SitePlanData = JSON.parse(JSON.stringify(this.canvasData.originaleveryStoreyData)); 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) {//如果是基本信息编辑模式 this.maskLayerService.sendMessage(true) 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) { let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 - this.snackBar.open('保存失败,毗邻存在相同方向','确定',config); + this.snackBar.open('保存失败,毗邻存在相同方向', '确定', config); this.maskLayerService.sendMessage(false) 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); } - },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); } - },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); } - },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); } - },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.canvasData.isChange = false let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 - this.snackBar.open('保存成功','确定',config); + this.snackBar.open('保存成功', '确定', config); } - },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.canvasData.isChange = false let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 - this.snackBar.open('保存成功','确定',config); + this.snackBar.open('保存成功', '确定', config); } - },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 let config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 - this.snackBar.open('保存成功','确定',config); + this.snackBar.open('保存成功', '确定', config); } - },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); } - },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); } - },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); } - },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 {//如果是想定作业编辑模式 const dialogRef = this.dialog.open(saveOneDialog, { - data: {allDisposalNode: this.canvasData.allDisposalNode, - selectedBuildingData:this.beforeOneCheckedBuilding, - selectedSiteData:this.selectingSitePlan, - siteOrbuilding:this.checkedBuildingIndex, - disasterId: this.allFirePlan[0].id || '' - } + data: { + allDisposalNode: this.canvasData.allDisposalNode, + selectedBuildingData: this.beforeOneCheckedBuilding, + selectedSiteData: this.selectingSitePlan, + siteOrbuilding: this.checkedBuildingIndex, + disasterId: this.allFirePlan[0].id || '' + } }); } //else } else { //if 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(CreateBuilding,{data}); - dialogRef.afterClosed().subscribe(data=>{ + let dialogRef = this.dialog.open(CreateBuilding, { 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('是否保存当前编辑数据') @@ -1266,7 +1267,7 @@ export class CollectionToolsComponent implements OnInit { if (isSuccess != false) { this.beforeOneCheckedBuilding = item this.checkedBuildingIndex = index - if (index==-1) { //总平面图数据 + if (index == -1) { //总平面图数据 this.getSitePlan() } else { //建筑楼层/区域数据 this.getBuildingSitePlan(item) @@ -1275,7 +1276,7 @@ export class CollectionToolsComponent implements OnInit { } else { this.beforeOneCheckedBuilding = item this.checkedBuildingIndex = index - if (index==-1) { //总平面图数据 + if (index == -1) { //总平面图数据 this.getSitePlan() } else { //建筑楼层/区域数据 this.getBuildingSitePlan(item) @@ -1284,7 +1285,7 @@ export class CollectionToolsComponent implements OnInit { } else { //flase 数据未被改动 this.beforeOneCheckedBuilding = item this.checkedBuildingIndex = index - if (index==-1) { //总平面图数据 + if (index == -1) { //总平面图数据 this.getSitePlan() } else { //建筑楼层/区域数据 this.getBuildingSitePlan(item) @@ -1295,58 +1296,58 @@ export class CollectionToolsComponent implements OnInit { } //编辑建筑 - editBuilding(e,item){ + editBuilding(e, item) { e.stopPropagation(); - let dialogRef = this.dialog.open(EditBuilding,{data: {item:item}}); - dialogRef.afterClosed().subscribe(data=>{ + let dialogRef = this.dialog.open(EditBuilding, { 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); } } } @@ -1354,7 +1355,7 @@ export class CollectionToolsComponent implements OnInit { storeyData //将建筑素材和当前楼层素材合二为一 selectPanelPoint //传过来的处置素材 //处理 tree 数据结构 - handleTreeData (storeyData,selectPanelPoint) { + handleTreeData(storeyData, selectPanelPoint) { this.hideAllTreenode = true this.storeyData = storeyData this.selectPanelPoint = selectPanelPoint @@ -1363,22 +1364,22 @@ export class CollectionToolsComponent 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 } }) @@ -1389,19 +1390,19 @@ export class CollectionToolsComponent implements OnInit { } } } - if(selectPanelPoint.Data){ - for(let key in selectPanelPoint.Data.Stock){ + if (selectPanelPoint.Data) { + for (let key in selectPanelPoint.Data.Stock) { selectPanelPoint.Data.Stock[key].isLookPattern = true selectPanelPoint.Data.Stock[key].isLook = true - if(element.id == selectPanelPoint.Data.Stock[key].FireElementId){ + if (element.id == selectPanelPoint.Data.Stock[key].FireElementId) { selectPanelPoint.Data.Stock[key].isTemplate = false 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 } }) @@ -1412,7 +1413,7 @@ export class CollectionToolsComponent 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) } @@ -1422,95 +1423,95 @@ export class CollectionToolsComponent 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 } } - if(this.selectPanelPoint && this.selectPanelPoint.Data){ - for(let key in this.selectPanelPoint.Data.Stock){ - if(key == node.id){ + if (this.selectPanelPoint && this.selectPanelPoint.Data) { + for (let key in this.selectPanelPoint.Data.Stock) { + if (key == node.id) { this.selectPanelPoint.Data.Stock[key].isLook = !this.selectPanelPoint.Data.Stock[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; @@ -1520,25 +1521,25 @@ export class CollectionToolsComponent 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 @@ -1564,43 +1565,43 @@ export class CollectionToolsComponent 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 //刷新 建筑楼层 火源/力量图标 this.beforeOneCheckedBuildingIsShow = false 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){ + 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]) } } - let selectPanelPoint:any = this.canvasData.selectPanelPoint || {} //当前 节点 数据 - if(selectPanelPoint.Data){ - for(let key in selectPanelPoint.Data.Stock){ //筛选数据 没有匹配全部放入到 其他 数组 - let noMatch = this.allFireElements.find( every=> every.id===selectPanelPoint.Data.Stock[key].FireElementId ) + let selectPanelPoint: any = this.canvasData.selectPanelPoint || {} //当前 节点 数据 + if (selectPanelPoint.Data) { + for (let key in selectPanelPoint.Data.Stock) { //筛选数据 没有匹配全部放入到 其他 数组 + let noMatch = this.allFireElements.find(every => every.id === selectPanelPoint.Data.Stock[key].FireElementId) if (!noMatch && selectPanelPoint.Data.Stock[key].Id != "图例") { - this.allFireElements[this.allFireElements.length-1].children.push(selectPanelPoint.Data.Stock[key]) + this.allFireElements[this.allFireElements.length - 1].children.push(selectPanelPoint.Data.Stock[key]) } } } - this.handleTreeData(storeyData,selectPanelPoint) //处理tree数据结构 + this.handleTreeData(storeyData, selectPanelPoint) //处理tree数据结构 } @@ -1608,61 +1609,61 @@ export class CollectionToolsComponent 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; //可展开面板处置预案 显隐 - beforeOneCheckedBuildingIsShow:boolean = false; //想定作业下 建筑是否显示 - togglebeforeOneCheckedBuilding () { this.beforeOneCheckedBuildingIsShow = !this.beforeOneCheckedBuildingIsShow } - 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) } + beforeOneCheckedBuildingIsShow: boolean = false; //想定作业下 建筑是否显示 + togglebeforeOneCheckedBuilding() { this.beforeOneCheckedBuildingIsShow = !this.beforeOneCheckedBuildingIsShow } + 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) } //可展开面板展开或关闭 - 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 = {id:null}; //选中的 平面图 楼层/区域 - selectSitePlanIndex:number; //选中的 平面图 楼层/区域 index + sitePlanData: any = []; //总平面图 楼层/区域 数据 + selectingSitePlan: any = { id: null }; //选中的 平面图 楼层/区域 + 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) //获取 平面图 楼层数据 }) @@ -1670,17 +1671,17 @@ export class CollectionToolsComponent 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) //获取 建筑 楼层数据 }) @@ -1688,10 +1689,10 @@ export class CollectionToolsComponent 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: [], @@ -1701,7 +1702,7 @@ export class CollectionToolsComponent implements OnInit { order: 999, parentId: null, tag: "INPUT", - isLookPattern : true + isLookPattern: true } this.allFireElements.push(other) resolve('success') @@ -1710,57 +1711,57 @@ export class CollectionToolsComponent 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.pattern && this.canvasData.isChange) { //true 数据被改动 @@ -1771,7 +1772,7 @@ export class CollectionToolsComponent 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) //获取 建筑 楼层数据 @@ -1781,7 +1782,7 @@ export class CollectionToolsComponent 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 { //楼层/区域时 @@ -1790,12 +1791,12 @@ export class CollectionToolsComponent 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) //获取 建筑 楼层数据 @@ -1806,45 +1807,45 @@ export class CollectionToolsComponent 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(leftFunctionalDomainComponent,{data}); - dialogRef.afterClosed().subscribe(data=>{ - if (data =='总平面图') { + let dialogRef = this.dialog.open(leftFunctionalDomainComponent, { data }); + dialogRef.afterClosed().subscribe(data => { + if (data == '总平面图') { this.renovateSitePlan() - } else if (data =='建筑') { + } else if (data == '建筑') { this.renovateBuilding() } }) } //编辑平面图 楼层/区域 - 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(editPlaneFigureComponent,{disableClose: true,hasBackdrop: false,position: {left:'150px',top:'200px'},data}); - dialogRef.keydownEvents().subscribe(data=>{ + let dialogRef = this.dialog.open(editPlaneFigureComponent, { 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 == '更新背景图') { @@ -1854,22 +1855,22 @@ export class CollectionToolsComponent 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() }) }) @@ -1879,22 +1880,22 @@ export class CollectionToolsComponent 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() }) }) @@ -1904,20 +1905,20 @@ export class CollectionToolsComponent 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) }) }) } @@ -1925,47 +1926,47 @@ export class CollectionToolsComponent 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] } @@ -1976,19 +1977,19 @@ export class CollectionToolsComponent 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 @@ -1996,19 +1997,19 @@ export class CollectionToolsComponent 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() }) @@ -2017,15 +2018,15 @@ export class CollectionToolsComponent 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() }) @@ -2034,32 +2035,32 @@ export class CollectionToolsComponent 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 @@ -2067,94 +2068,94 @@ export class CollectionToolsComponent 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 = [] }); @@ -2164,16 +2165,16 @@ export class CollectionToolsComponent 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 @@ -2184,31 +2185,31 @@ export class CollectionToolsComponent 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 this.getDisposalNode() }) }) } 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 this.getDisposalNode() }) @@ -2217,27 +2218,27 @@ export class CollectionToolsComponent implements OnInit { } //获取所有处置节点 - getDisposalNode () { + getDisposalNode() { this.selectDisposalNode = '' this.canvasData.selectPanelPoint = new DisposalNodeData(); - 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 @@ -2250,29 +2251,29 @@ export class CollectionToolsComponent 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 @@ -2284,39 +2285,39 @@ export class CollectionToolsComponent 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 } } @@ -2326,19 +2327,19 @@ export class CollectionToolsComponent 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 } } } @@ -2346,10 +2347,10 @@ export class CollectionToolsComponent 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 @@ -2361,24 +2362,24 @@ export class CollectionToolsComponent 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); }) } //新建 底图数据节点 - addBGCPanelPoint (e) { + addBGCPanelPoint(e) { e.stopPropagation() let dialogRef = this.dialog.open(addBGCDisposalNodeComponent); - dialogRef.afterClosed().subscribe(data=>{ + dialogRef.afterClosed().subscribe(data => { if (data) { this.canvasData.customizeDisposalNode = data //自定义数据节点 let imgURL = window.URL.createObjectURL(data.file) //将图片生成 url地址 @@ -2392,57 +2393,57 @@ export class CollectionToolsComponent implements OnInit { } //新建 处置预案 节点 - addPanelPoint (e,item,treeData) { + addPanelPoint(e, item, treeData) { e.stopPropagation() let order if (item) { - item.children.length? order = item.children[item.children.length-1].order+1 : order = 0 + item.children.length ? order = item.children[item.children.length - 1].order + 1 : order = 0 } else { - treeData.length? order = treeData[treeData.length-1].order+1 : order = 0 + treeData.length ? order = treeData[treeData.length - 1].order + 1 : order = 0 } let data = { name: '', - level: item? 1 : 0, + level: item ? 1 : 0, order: order, description: '', disasterId: this.allFirePlan[0].id || '', - parentId: item? item.id : null, + parentId: item ? item.id : null, planComponentId: sessionStorage.getItem('planId') || '', weather: this.canvasData.isInheritSky.weather, airTemperature: Number(this.canvasData.isInheritSky.airTemperature), windDirection: Number(this.canvasData.isInheritSky.windDirection), windScale: Number(this.canvasData.isInheritSky.windScale), } - let dialogRef = this.dialog.open(addDisposalNodeComponent,{data}); - dialogRef.afterClosed().subscribe(data=>{ + let dialogRef = this.dialog.open(addDisposalNodeComponent, { data }); + dialogRef.afterClosed().subscribe(data => { if (data) { this.refurbishTreeData() } }) } //编辑 处置预案 节点 - editPanelPoint (e,item) { + editPanelPoint(e, item) { e.stopPropagation() let data = item.origin - let dialogRef = this.dialog.open(editDisposalNodeComponent,{data}); - dialogRef.afterClosed().subscribe(data=>{ + let dialogRef = this.dialog.open(editDisposalNodeComponent, { data }); + dialogRef.afterClosed().subscribe(data => { if (data) { item.title = data - this.canvasData.allDisposalNode.forEach(element => { element.id === item.key? element.name=data : null }); + this.canvasData.allDisposalNode.forEach(element => { element.id === item.key ? element.name = data : null }); } }) } //复制 处置预案 节点 - 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 + '(副本)', @@ -2453,44 +2454,44 @@ export class CollectionToolsComponent 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:any)=>{ + this.http.get('/api/DisposalNodeData', { params: params }).subscribe((data: any) => { this.canvasData.selectPanelPoint = this.canvasData.deserialize(JSON.stringify(data || new DisposalNodeData())) //选择 当前 节点 this.canvasData.selectPanelPoint.Data = this.canvasData.deserialize(this.canvasData.selectPanelPoint.Data) - data.backgroundImageUrl? this.customizeNodes() : this.seekPanelPoint(parameter) + data.backgroundImageUrl ? this.customizeNodes() : this.seekPanelPoint(parameter) }) } //if @@ -2509,39 +2510,39 @@ export class CollectionToolsComponent implements OnInit { order: 999, parentId: null, tag: "INPUT", - isLookPattern : true + isLookPattern: true } this.allFireElements = [other] - this.canvas.setNameVisible(this.basicInfo,0) - this.canvas.setNameVisible(this.wantToWork,1) + this.canvas.setNameVisible(this.basicInfo, 0) + this.canvas.setNameVisible(this.wantToWork, 1) // this.canvas.setLegendVisible(this.isShowLegend) //图例显隐 this.beforeOneCheckedBuildingIsShow = false this.canvasData.isChange = false //服务中 数据是否改动 改为false this.isShowProperty = true this.isShowAttribute = true - let selectPanelPoint = JSON.parse(JSON.stringify(this.canvasData.selectPanelPoint || {} )) //当前 节点 数据 - if(selectPanelPoint.Data){ - for(let key in selectPanelPoint.Data.Stock){ //筛选数据 没有匹配全部放入到 其他 数组 - let noMatch = this.allFireElements.find( every=> every.id===selectPanelPoint.Data.Stock[key].FireElementId ) + let selectPanelPoint = JSON.parse(JSON.stringify(this.canvasData.selectPanelPoint || {})) //当前 节点 数据 + if (selectPanelPoint.Data) { + for (let key in selectPanelPoint.Data.Stock) { //筛选数据 没有匹配全部放入到 其他 数组 + let noMatch = this.allFireElements.find(every => every.id === selectPanelPoint.Data.Stock[key].FireElementId) if (!noMatch && selectPanelPoint.Data.Stock[key].Id != "图例") { - this.allFireElements[this.allFireElements.length-1].children.push(selectPanelPoint.Data.Stock[key]) + this.allFireElements[this.allFireElements.length - 1].children.push(selectPanelPoint.Data.Stock[key]) } } } - this.handleTreeData({data:{}},selectPanelPoint) //处理tree数据结构 + this.handleTreeData({ data: {} }, selectPanelPoint) //处理tree数据结构 } //查找 数据节点 对应 建筑/楼层 - 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 @@ -2549,21 +2550,21 @@ export class CollectionToolsComponent implements OnInit { const config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 - this.snackBar.open('匹配楼层已被删除','确定',config); + this.snackBar.open('匹配楼层已被删除', '确定', config); } - - 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 @@ -2571,10 +2572,10 @@ export class CollectionToolsComponent implements OnInit { const config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 - this.snackBar.open('匹配楼层已被删除','确定',config); + this.snackBar.open('匹配楼层已被删除', '确定', config); } - - Promise.all([fireData,planData]).then((res)=>{ + + Promise.all([fireData, planData]).then((res) => { this.getBuildingStorey(this.selectingSitePlan) //获取 建筑 楼层数据 }) }) //get @@ -2595,30 +2596,30 @@ export class CollectionToolsComponent implements OnInit { }) export class CreateBuilding { - 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: [ @@ -2628,13 +2629,13 @@ export class CreateBuilding { } ] } - 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("创建失败"); }) } @@ -2648,26 +2649,26 @@ export class CreateBuilding { }) export class EditBuilding { - 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, @@ -2681,14 +2682,14 @@ export class EditBuilding { } ] } - 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("修改失败"); }) } @@ -2702,8 +2703,8 @@ export class EditBuilding { }) export class Organization { - constructor(private tree:TreeService,private http:HttpClient,public dialog: MatDialog,public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data) { } - + constructor(private tree: TreeService, private http: HttpClient, public dialog: MatDialog, public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data) { } + private _transformer = (node, level: number) => {//要给渲染节点传那些属性参数 return { expandable: !!node.children && node.children.length > 0, @@ -2719,22 +2720,22 @@ export class Organization { ngOnInit(): void { this.getAllOrganization() } - selectedNodeId:any - selectedNodeName:any - selectedNode(node){ + selectedNodeId: any + selectedNodeName: any + selectedNode(node) { this.selectedNodeId = node.id this.selectedNodeName = node.name } - getAllOrganization(){ + getAllOrganization() { this.http.get('/api/Organizations').subscribe(data => { this.dataSource.data = this.tree.toTree(data); this.treeControl.expand(this.treeControl.dataNodes[0]); }) } - ok(){ + ok() { this.dialogRef.close({ - id:this.selectedNodeId, - name:this.selectedNodeName + id: this.selectedNodeId, + name: this.selectedNodeName }) } } \ No newline at end of file