Browse Source

[新增]预案公开功能添加

zhuzhou
chenjingyu 4 years ago
parent
commit
daf71a3636
  1. 4
      src/app/plan-audit/wait-examineer/wait-examineer.component.html
  2. 2
      src/app/plan-audit/wait-examineer/wait-examineer.component.scss
  3. 7
      src/app/plan-audit/wait-examineer/wait-examineer.component.ts
  4. 9
      src/app/plan-management/open-plan/PsvShow.html
  5. 3
      src/app/plan-management/open-plan/open-plan.component.scss
  6. 87
      src/app/plan-management/open-plan/open-plan.component.ts
  7. 9
      src/app/plan-management/pass-plan/PsvShow.html
  8. 2
      src/app/plan-management/pass-plan/pass-plan.component.html
  9. 100
      src/app/plan-management/pass-plan/pass-plan.component.ts
  10. 5
      src/app/plan-management/plan-management.module.ts

4
src/app/plan-audit/wait-examineer/wait-examineer.component.html

@ -280,9 +280,9 @@
<app-water-audit></app-water-audit>
</div> -->
<!-- 消防力量审核 -->
<div class="fireForceAudit">
<!-- <div class="fireForceAudit">
<app-fireforce-audit></app-fireforce-audit>
</div>
</div> -->
<!-- 联动力量审核 -->
<!-- <div class="LinkageForcesAudit">

2
src/app/plan-audit/wait-examineer/wait-examineer.component.scss

@ -109,7 +109,7 @@
#viewer{
margin: 10px 10px 10px 10px;
width: 97%;
height: 91%;
height: 93%;
}
.waterAudit,.fireForceAudit,.LinkageForcesAudit{
flex: 1;

7
src/app/plan-audit/wait-examineer/wait-examineer.component.ts

@ -4,7 +4,7 @@
* @Author: sueRimn
* @Date: 2020-12-25 16:13:50
* @LastEditors: sueRimn
* @LastEditTime: 2021-02-06 13:54:10
* @LastEditTime: 2021-02-06 16:44:05
*/
import { Component, Inject, OnInit } from '@angular/core';
import { FormControl } from '@angular/forms';
@ -79,6 +79,7 @@ export class WaitExamineerComponent implements OnInit {
ngOnDestroy () {
/* this.indexbar.clear()
this.indexbar.dispose() */
}
iframeSrc
@ -151,12 +152,12 @@ export class WaitExamineerComponent implements OnInit {
this.getAlltabledate()
}
//radio点击事件
viewer//全景图对象
radioClick(e,item){
//e.target.parentElement.bgColor='#2196F3'
console.log(e,item)
this.id=item.id
this.fetchUrl=''
this.http.get(`/api/PlanComponents/${item.itemId}`).subscribe((data:any)=>{
console.log(data)
this.companyId=data.companyId
@ -167,7 +168,7 @@ export class WaitExamineerComponent implements OnInit {
if(this.fetchUrl.substr(0,index)=='psw'){
this.showtype=1
window.setTimeout(()=>{
const viewer = new Viewer({
this.viewer = new Viewer({
container: document.querySelector('#viewer'),
panorama:'/api/Objects/PlanPlatform/'+ this.fetchUrl,

9
src/app/plan-management/open-plan/PsvShow.html

@ -0,0 +1,9 @@
<!--
* @Descripttion:
* @version:
* @Author: sueRimn
* @Date: 2021-02-06 16:23:53
* @LastEditors: sueRimn
* @LastEditTime: 2021-02-06 17:04:38
-->
<div id="viewer" style="width: 100%;height: 100%;"></div>

3
src/app/plan-management/open-plan/open-plan.component.scss

@ -77,6 +77,9 @@
width: 100%;
margin-top: 15px;
}
th,td{
text-align: center;
}
mat-paginator{
width: 100%;
}

87
src/app/plan-management/open-plan/open-plan.component.ts

@ -9,6 +9,8 @@ import { PageEvent } from '@angular/material/paginator';
import { MatDialogRef, MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';
import { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';
import { TreeService } from '../../http-interceptors/tree.service'
import { Viewer } from 'photo-sphere-viewer';
declare var CryptoJS
@Component({
selector: 'app-open-plan',
templateUrl: './open-plan.component.html',
@ -161,9 +163,71 @@ export class OpenPlanComponent implements OnInit {
)
}
//跳转查看预案页面 公开预案
routerTo(element){
sessionStorage.setItem("companyName",element.companyName)
window.open(`/planAudit/planpass?id=${element.companyId}&companyName=${element.companyName}&auditPlanId=${element.id}&auditStatus=${element.auditStatus}&type=6&planType=2`);
routerTo(e){
/* sessionStorage.setItem("companyName",element.companyName)
window.open(`/planAudit/planpass?id=${element.companyId}&companyName=${element.companyName}&auditPlanId=${element.id}&auditStatus=${element.auditStatus}&type=6&planType=2`); */
console.log(e)
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'){
const dialogRef = this.dialog.open(GkhtmlPsViewer, {
width: '1500px',
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_WRITE','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/apps/editor/openPreview?data=${base64}`)
})
}
}
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)
let companyId = sessionStorage.getItem("companyId")
window.open(`/keyUnit/viewunitinfoplan?id=${companyId}`);
}
if(e.planMode == 3){ //如果是跳转网页
sessionStorage.setItem("url",e.url)
window.open(`/planManagement/webLook`)
}
}
//分页事件
chagePage(e){
@ -219,3 +283,20 @@ export class OpenPlanComponent implements OnInit {
}
}
@Component({
selector: 'PsViewer',
templateUrl: './PsvShow.html',
styleUrls: ['./open-plan.component.scss']
})
export class GkhtmlPsViewer{
constructor(private router:Router,private http: HttpClient,public dialog: MatDialog,public snackBar: MatSnackBar,public dialogRef: MatDialogRef<GkhtmlPsViewer>,@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,
});
}
}

9
src/app/plan-management/pass-plan/PsvShow.html

@ -0,0 +1,9 @@
<!--
* @Descripttion:
* @version:
* @Author: sueRimn
* @Date: 2021-02-06 15:53:21
* @LastEditors: sueRimn
* @LastEditTime: 2021-02-06 17:04:14
-->
<div id="viewer" style="width: 100%;height: 100%;"></div>

2
src/app/plan-management/pass-plan/pass-plan.component.html

@ -139,6 +139,8 @@
<th mat-header-cell *matHeaderCellDef>操作</th>
<td mat-cell *matCellDef="let element">
<span (click)="routerTo(element)" style="color: blue;cursor: pointer;">{{url=='1'?'审核预案':'查看预案'}} </span>
<label style="color: #0000FF;margin-left: 10px;cursor: pointer;" (click)='openReserve(element)' *ngIf="element.auditStatus==2">预案公开</label>
<label style="color: #0000FF;margin-left: 10px;cursor: pointer;" (click)='closeReserve(element)' *ngIf="element.auditStatus==2">预案取消公开</label>
</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>

100
src/app/plan-management/pass-plan/pass-plan.component.ts

@ -9,6 +9,7 @@ import { PageEvent } from '@angular/material/paginator';
import { MatDialogRef, MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';
import { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';
import { TreeService } from '../../http-interceptors/tree.service'
import { Viewer } from 'photo-sphere-viewer';
declare var CryptoJS
@Component({
selector: 'app-pass-plan',
@ -292,45 +293,91 @@ export class PassPlanComponent implements OnInit {
)
}
//跳转查看预案页面 审核通过预案
routerTo(element){
if(element.attachmentUrls[0].substr(element.attachmentUrls[0].length-4,element.attachmentUrls[0].length-1)=='docx'||element.attachmentUrls[0].substr(element.attachmentUrls[0].length-3,element.attachmentUrls[0].length)=='pdf'
||element.attachmentUrls[0].substr(element.attachmentUrls[0].length-3,element.attachmentUrls[0].length)=='doc'||element.attachmentUrls[0].substr(element.attachmentUrls[0].length-3,element.attachmentUrls[0].length)=='DOC'
||element.attachmentUrls[0].substr(element.attachmentUrls[0].length-3,element.attachmentUrls[0].length)=='txt'){
routerTo(e){
console.log(e)
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'){
const dialogRef = this.dialog.open(GkPsViewer, {
width: '1500px',
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=element.attachmentUrls[0]
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: element.id,
docId: docId,
title: filename,
//title: filename,
fetchUrl: `http://${location.host}/api/Objects/PlanPlatform/`+fetchUrl
fetchUrl: `http://39.106.78.171:8000/api/Objects/PlanPlatform/`+fetchUrl,
},
user: {
uid: "test",
nickName: "test",
uid: identityJsonparse.sub,
nickName: identityJsonparse.name,
avatar: "",
privilege: [
'FILE_READ','FILE_DOWNLOAD', 'FILE_PRINT'
'FILE_READ','FILE_WRITE','FILE_DOWNLOAD', 'FILE_PRINT'
],
},
}
var stringjson=JSON.stringify(json)
var wordArray = CryptoJS.enc.Utf8.parse(stringjson);
var base64 = CryptoJS.enc.Base64.stringify(wordArray);
//let base64Date=this.BASE64.encode(stringjson)
//let filedata= CryptoJS.enc.Base64.stringify(json)
console.log(base64)
window.open(`http://121.5.10.84/apps/editor/openPreview?data=${base64}`)
})
}else{
sessionStorage.setItem("companyName",element.companyName)
window.open(`/planAudit/planpass?id=${element.companyId}&companyName=${element.companyName}&auditPlanId=${element.id}&auditStatus=${element.auditStatus}&type=6&planType=1`);
}
}
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)
let companyId = sessionStorage.getItem("companyId")
window.open(`/keyUnit/viewunitinfoplan?id=${companyId}`);
}
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=>{
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.snackBar.open('预案已公开','确定',config);
})
}
//预案取消公开
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);
})
}
//分页事件
chagePage(e){
this.PageNumber = e.pageIndex+1
@ -390,3 +437,20 @@ export class PassPlanComponent implements OnInit {
}
}
@Component({
selector: 'PsViewer',
templateUrl: './PsvShow.html',
styleUrls: ['./pass-plan.component.scss']
})
export class GkPsViewer{
constructor(private router:Router,private http: HttpClient,public dialog: MatDialog,public snackBar: MatSnackBar,public dialogRef: MatDialogRef<GkPsViewer>,@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,
});
}
}

5
src/app/plan-management/plan-management.module.ts

@ -61,12 +61,15 @@ import { onetwoAuditResult } from './onetwo-entry-plan/onetwo-entry-plan.compone
import { meetAuditResult }from './meet-plan/meet-plan.component';
import { typeAuditResult } from './type-plan/type-plan.component';
import { MaintainUpComponent } from './maintain-up/maintain-up.component'
import { GkPsViewer } from './pass-plan/pass-plan.component'
import { GkhtmlPsViewer }from './open-plan/open-plan.component'
@NgModule({
declarations: [EntryPlanComponent, PassPlanComponent, OpenPlanComponent, EntryPlanLookComponent,AddPlanone,PlanType,AuditSatus,PlanLevel,DownloadFile,AuditResult,ChangeName,
WebLookComponent, OnetwoEntryPlanComponent,newunitComponent, MeetPlanComponent,newunitMeet, TypePlanComponent,newunitType,PsViewer,onetwoAuditResult,meetAuditResult,typeAuditResult, MaintainUpComponent],
WebLookComponent, OnetwoEntryPlanComponent,newunitComponent, MeetPlanComponent,newunitMeet, TypePlanComponent,newunitType,PsViewer,onetwoAuditResult,meetAuditResult,
typeAuditResult, MaintainUpComponent,GkPsViewer,GkhtmlPsViewer],
imports: [
CommonModule,
PlanManagementRoutingModule,

Loading…
Cancel
Save