/* * @Descripttion: * @version: * @Author: sueRimn * @Date: 2020-12-25 10:19:31 * @LastEditors: sueRimn * @LastEditTime: 2021-04-22 10:47:06 */ import { Component, OnInit,Inject } from '@angular/core'; import { FormControl } from '@angular/forms'; import { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar'; import {MatDialog, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog'; import { HttpClient } from '@angular/common/http' import { DomSanitizer } from '@angular/platform-browser'; import { Viewer } from 'photo-sphere-viewer'; declare var CryptoJS @Component({ selector: 'app-plan-record', templateUrl: './plan-record.component.html', styleUrls: ['./plan-record.component.scss'] }) export class PlanRecordComponent implements OnInit { constructor(private http:HttpClient,public snackBar: MatSnackBar,private sanitizer: DomSanitizer,public dialog: MatDialog) { } pcshow ngOnInit(): void { if(window.matchMedia("(max-width: 1300px)").matches){ this.pcshow=false }else{ this.pcshow=true } let level = sessionStorage.getItem("level"); if(level == "0"){//如果是总队 this.preparelevels = [ {name:"总队",value:"0"}, {name:"支队",value:"1"}, {name:"大队",value:"2"}, {name:"中队",value:"3"} ] } if(level == "1"){//如果是支队 this.preparelevels = [ {name:"支队",value:"1"}, {name:"大队",value:"2"}, {name:"中队",value:"3"} ] } if(level == "2"){//如果是大队 this.preparelevels = [ {name:"大队",value:"2"}, {name:"中队",value:"3"} ] } if(level == "3"){//如果是中队 this.preparelevels = [ {name:"中队",value:"3"} ] } this.iframeSrc=this.sanitizer.bypassSecurityTrustResourceUrl(this.src); this.getAlltabledate() } wordShow=true iframeSrc src='' selected = new FormControl(0); //选项卡 实例 preparelevels:any level=''//类型 verifyState=''//审核状态 projectlevel//组织机构 PlanLevel//编制级别 addtime//时间 endtime//结束时间 count//一共多少条 tableDate showPvt=false//全景图是否显示 shenheTable=[]//选中要审核的对象 chuorzhong//判断初审还是终审 radioid//选中的id showtype=-1//0:word,1:全景图,2:二维三维,3:重点单位 compantData={name:'',buildingTypes:[],address:''} organizationName planData id itemid companyId fetchUrl companyName //获取表格数据 getAlltabledate(){ let paramsdata:any = { Operation:this.level||[], ContentType:Number(this.projectlevel)||[], Level:this.PlanLevel||[], verifyState:this.verifyState||[1,2,4,5], QueryStartTime:this.addtime||'', QueryEndTime:this.endtime||'' } this.http.get("/api/ContentVerifies",{params:paramsdata}).subscribe((data:any)=>{ //console.log(data) this.tableDate=data.items this.count=data.totalCount }) } //提交查询 onSubmit(value){ //console.log(value) this.getAlltabledate() } //刷新 record(){ this.verifyState='' this.level='' this.projectlevel='' this.addtime='' this.endtime='' let level = sessionStorage.getItem("level"); this.PlanLevel='' this.getAlltabledate() } //表格点击事件 viewer//全景图对象 waterData:any//需要传递给子组件的水源信息 LinkageForceDetailInfo:any//需要传递给子组件的联动力量信息 fireForceDetailInfo:any//需要传递给子组件的消防力量信息 postlevel:any tableClick(e,item){ this.showtype = -1 //e.target.parentElement.bgColor='#2196F3' // console.log(item) this.organizationName='' this.itemid=item.itemId this.id=item.id this.fetchUrl='' this.viewer={} if(item.contentType == 11){ window.setTimeout(()=>{ this.showtype = 3 sessionStorage.setItem('companyId',item.itemId) },0) }else if(item.contentType == 12){ //水源 this.http.get(`/api/WaterSources/${item.itemId}`).subscribe((data)=>{ this.waterData = data this.showtype = 12 }) }else if(item.contentType == 13){ //消防力量 this.http.get(`/api/CustomFireForce/${item.itemId}`).subscribe((data:any)=>{ if(data.forceType != 0){//如果是其他消防力量 this.postlevel = 4 }else{ this.postlevel = data.level } // console.log('xxx',data) data.fireForceDetailInfo.location ? null : data.fireForceDetailInfo.location={x:null,y:null} this.fireForceDetailInfo = data.fireForceDetailInfo this.showtype = 13 }) }else if(item.contentType == 14){ //联动力量 this.http.get(`/api/LinkageForces/${item.itemId}`).subscribe((data:any)=>{ data.location ? null : data.location={x:null,y:null} this.LinkageForceDetailInfo = data this.showtype = 14 }) }else{ this.http.get(`/api/PlanComponents/${item.itemId}`).subscribe((data:any)=>{ this.companyId=data.companyId this.companyName=data.companyName if(data.planType!=2&&data.planType!=1){ this.fetchUrl=data.attachmentUrls[0] var index=this.fetchUrl.indexOf("\/") if(this.fetchUrl.substr(0,index)=='psw'){ this.showtype=1 var obj=document.getElementById('viewer') if(obj!=null){ obj.innerHTML='' } window.setTimeout(()=>{ this.viewer = new Viewer({ container: document.querySelector('#viewer'), panorama:'/api/Objects/PlanPlatform/'+ this.fetchUrl, }); }) }else{ this.lookWord() } }else{ this.organizationName=item.organizationName this.planData = data this.handleData() return //this.src=`/planAudit/planpass?id=${data.companyId}&companyName=${data.companyName}&auditPlanId=${data.id}&auditStatus=${data.auditStatus}&planType=1` //this.iframeSrc=this.sanitizer.bypassSecurityTrustResourceUrl(this.src); //window.open(`/planAudit/planpass?id=${data.companyId}&companyName=${data.companyName}&auditPlanId=${data.id}&auditStatus=${data.auditStatus}&planType=1`) } }) } if(e.checked){ this.shenheTable.push(item) } else{ for(var i=0;i{ filename=data.fileName let json={ doc: { docId: docId, title: filename, //title: filename, fetchUrl: `http://${location.host}/api/Objects/PlanPlatform/`+this.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); this.src=`http://172.26.166.38:18080/apps/editor/openPreview?data=${base64}` this.iframeSrc=this.sanitizer.bypassSecurityTrustResourceUrl(this.src); //window.open(`http://172.26.166.38:18080/apps/editor/openPreview?data=${base64}`) }) } //查看按钮跳转 lookNew(){ window.open(this.src) } //查看二维三维预案 thirdPartyURL planType twoOrthree handleData () { this.compantData={name:'',buildingTypes:[],address:''} this.planType = this.planData.planMode let data = this.planData // console.log(data) if(data.planType==1){ this.twoOrthree=2 }else if(data.planType==2){ this.twoOrthree=3 } if (this.planData.planMode==0) { //预案planMode=0时, 查看word //this.lookWord() } else if (this.planData.planMode==1) { //预案planMode=1时, 解析文档 } else if (this.planData.planMode==2) { //预案planMode=2时, 跳查看页面组件 this.showtype=2 this.http.get(`/api/Plans/${data.companyId}`).subscribe((data:any)=>{ data && data.company? this.compantData = data.company : null }) sessionStorage.setItem("buildingTypeId", this.compantData.buildingTypes.length? this.compantData.buildingTypes[0].id: undefined); sessionStorage.setItem("companyId",this.companyId); sessionStorage.setItem("planId",this.itemid); sessionStorage.setItem("editable",'0'); sessionStorage.setItem("planName",data.name) let companyId = sessionStorage.getItem("companyId") this.thirdPartyURL=this.sanitizer.bypassSecurityTrustResourceUrl(`/keyUnit/viewunitinfoplans?id=${companyId}`); //window.open(`/keyUnit/viewunitinfoplan?id=${companyId}`) } else if (this.planData.planMode==3) { //预案planMode=3时, 第三方网址' this.showtype=2 this.http.get(`/api/Plans/${data.companyId}`).subscribe((data:any)=>{ data && data.company? this.compantData = data.company : null }) //this.dialog.open(show3D,{width:'1350px',height:'700px',data:{url:data.url}}); //打开图片弹窗 this.thirdPartyURL = this.sanitizer.bypassSecurityTrustResourceUrl(data.url) } } //打开三维预案弹窗 oopen3Dshow(){ this.dialog.open(recordshow3D,{width:'1650px',height:'850px',data:{url:this.thirdPartyURL,twoOrthree:this.twoOrthree}}); } } @Component({ selector: 'app-wait-examineer-show3D', templateUrl: './show3D.html', styleUrls: ['./plan-record.component.scss'] }) export class recordshow3D{ constructor(private sanitizer: DomSanitizer,public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data,public dialog: MatDialog) {} ngOnInit(): void { // console.log(this.data) this.threedUrl=this.sanitizer.bypassSecurityTrustResourceUrl(this.data.url.changingThisBreaksApplicationSecurity) } threedUrl }