邵佳豪 4 years ago
parent
commit
c1ec2a6eed
  1. 2
      src/app/key-unit/basicinfo-look/basicinfo.component.ts
  2. 2
      src/app/key-unit/basicinfo/basicinfo.component.ts
  3. 4
      src/app/key-unit/basicinfo/statisticsOfFireFightingFacilities.html
  4. 16
      src/app/key-unit/edit-plan-info/edit-plan-info.component.html
  5. 5
      src/app/key-unit/edit-plan-info/edit-plan-info.component.scss
  6. 16
      src/app/key-unit/view-unit-details/view-unit-details.component.html
  7. 5
      src/app/key-unit/view-unit-details/view-unit-details.component.scss
  8. 7
      src/app/plan-audit/plan-record/plan-record.component.scss
  9. 20
      src/app/plan-audit/wait-examineer/remark.html
  10. 26
      src/app/plan-audit/wait-examineer/wait-examineer.component.scss
  11. 22
      src/app/plan-audit/wait-examineer/wait-examineer.component.ts
  12. 10
      src/app/plan-management/entry-plan-look/AddPlanone.html
  13. 4
      src/app/plan-management/entry-plan-look/auditresult.html
  14. 1
      src/app/plan-management/entry-plan-look/entry-plan-look.component.ts
  15. 4
      src/app/plan-management/meet-plan/resultmeetPlan.html
  16. 4
      src/app/plan-management/onetwo-entry-plan/resultPlanonetwo.html
  17. 2
      src/app/plan-management/open-plan/open-plan.component.ts
  18. 2
      src/app/plan-management/pass-plan/pass-plan.component.ts
  19. 4
      src/app/plan-management/type-plan/resulttypePlan.html
  20. 4
      src/app/statistic-analysis/addUnit/add-unit-two-type-details/add-unit-two-type-details.component.ts
  21. 9
      src/app/statistic-analysis/all-plan/Photo-Sphere-Viewer.html
  22. 18
      src/app/statistic-analysis/all-plan/all-plan.component.html
  23. 111
      src/app/statistic-analysis/all-plan/all-plan.component.ts
  24. 1
      src/app/statistic-analysis/echarts-data.service.ts
  25. 11
      src/app/statistic-analysis/state/page-one/page-one.component.ts
  26. 4
      src/app/statistic-analysis/state/page-there-year/page-there-year.component.ts
  27. 18
      src/app/statistic-analysis/state/page-there/page-there.component.ts
  28. 5
      src/app/statistic-analysis/state/page-two-name/page-two-name.component.ts
  29. 16
      src/app/statistic-analysis/state/page-two-time/page-two-time.component.html
  30. 21
      src/app/statistic-analysis/state/page-two-time/page-two-time.component.ts
  31. 14
      src/app/statistic-analysis/state/page-zhong-dui-details/page-zhong-dui-details.component.ts
  32. 3
      src/app/statistic-analysis/statistic-analysis-routing.module.ts
  33. 3
      src/app/statistic-analysis/statistic-analysis.module.ts
  34. 2
      src/app/ui/collection-tools-plan/collection-tools.component.ts
  35. 6
      src/app/ui/collection-tools-plan/leftFunctionalDomain.ts

2
src/app/key-unit/basicinfo-look/basicinfo.component.ts

@ -31,7 +31,7 @@ export class BasicinfoLookComponent implements OnInit {
//查看消防设施统计 //查看消防设施统计
seeFirfightingDevice (e) { seeFirfightingDevice (e) {
e.stopPropagation() e.stopPropagation()
let dialogRef = this.dialog.open(StatisticsOfFireFightingFacilities); let dialogRef = this.dialog.open(StatisticsOfFireFightingFacilities,{hasBackdrop: false,position: {right:'55px',top:'165px'}});
dialogRef.afterClosed().subscribe(); dialogRef.afterClosed().subscribe();
} }

2
src/app/key-unit/basicinfo/basicinfo.component.ts

@ -32,7 +32,7 @@ export class BasicinfoComponent implements OnInit {
//查看消防设施统计 //查看消防设施统计
seeFirfightingDevice (e) { seeFirfightingDevice (e) {
e.stopPropagation() e.stopPropagation()
let dialogRef = this.dialog.open(StatisticsOfFireFightingFacilities); let dialogRef = this.dialog.open(StatisticsOfFireFightingFacilities,{hasBackdrop: false,position: {right:'55px',top:'165px'}});
dialogRef.afterClosed().subscribe(); dialogRef.afterClosed().subscribe();
} }

4
src/app/key-unit/basicinfo/statisticsOfFireFightingFacilities.html

@ -1,4 +1,4 @@
<div mat-dialog-title>消防设施统计</div>
<div> <div>
<p style="margin: 5px 0; font-size: 14px;" *ngFor="let item of allFireList">{{item}}</p> <div style="color: #2196f3; font-weight: 550;">消防设施统计<label style="float: right; cursor: pointer;" mat-dialog-close>×</label></div>
<p style="margin: 5px 0; font-size: 14px;" *ngFor="let item of allFireList;let key = index" [ngStyle]="{'background-color': key%2 != 0 ? '#F2F2F2' : 'none'}">{{item}}</p>
</div> </div>

16
src/app/key-unit/edit-plan-info/edit-plan-info.component.html

@ -1,12 +1,12 @@
<div class="fixedPrompt"> <div class="fixedPrompt">
<label class="scorePrompt" *ngIf="selected.value == 0"><label style="color: red;">*</label>单位信息,建筑信息填写完整可得满分</label> <label class="scorePrompt" *ngIf="selected.value == 0">*单位信息,建筑信息填写完整可得满分</label>
<label class="scorePrompt" *ngIf="selected.value == 1"><label style="color: red;">*</label>单位毗邻模块标注完整可得满分</label> <label class="scorePrompt" *ngIf="selected.value == 1">*单位毗邻模块标注完整可得满分</label>
<label class="scorePrompt" *ngIf="selected.value == 2"><label style="color: red;">*</label>消防设施,重点部位模块标注完整可得满分</label> <label class="scorePrompt" *ngIf="selected.value == 2">*消防设施,重点部位模块标注完整可得满分</label>
<label class="scorePrompt" *ngIf="selected.value == 3"><label style="color: red;">*</label>总平面图模块标注完整可得满分</label> <label class="scorePrompt" *ngIf="selected.value == 3">*总平面图模块标注完整可得满分</label>
<label class="scorePrompt" *ngIf="selected.value == 4 || selected.value == 5"><label style="color: red;">*</label>层平面图模块标注完整可得满分</label> <label class="scorePrompt" *ngIf="selected.value == 4 || selected.value == 5">*层平面图模块标注完整可得满分</label>
<label class="scorePrompt" *ngIf="selected.value == 6"><label style="color: red;">*</label>填写2条以上可得满分</label> <label class="scorePrompt" *ngIf="selected.value == 6">*填写2条以上可得满分</label>
<label class="scorePrompt" *ngIf="selected.value == 9"><label style="color: red;">*</label>外观,室内,安全出口上传图片可得满分</label> <label class="scorePrompt" *ngIf="selected.value == 9">*外观,室内,安全出口上传2张图片可得满分</label>
<label class="scorePrompt" *ngIf="selected.value == 10"><label style="color: red;">*</label>上传2张CAD图片可得满分</label> <label class="scorePrompt" *ngIf="selected.value == 10">*上传2张CAD图片可得满分</label>
</div> </div>
<mat-tab-group style="height: 100%;" [selectedIndex]="selected.value" (selectedIndexChange)="selected.setValue($event)"> <mat-tab-group style="height: 100%;" [selectedIndex]="selected.value" (selectedIndexChange)="selected.setValue($event)">
<mat-tab label="1.基本信息"> <mat-tab label="1.基本信息">

5
src/app/key-unit/edit-plan-info/edit-plan-info.component.scss

@ -9,8 +9,9 @@
width: 100%; width: 100%;
text-align: center; text-align: center;
position: absolute; position: absolute;
top: 35px; top: 88px;
font-size: 16px; font-size: 15px;
z-index: 111; z-index: 111;
color: red;
} }
} }

16
src/app/key-unit/view-unit-details/view-unit-details.component.html

@ -1,12 +1,12 @@
<div class="fixedPrompt"> <div class="fixedPrompt">
<label class="scorePrompt" *ngIf="selected.value == 0"><label style="color: red;">*</label>单位信息,建筑信息填写完整可得满分</label> <label class="scorePrompt" *ngIf="selected.value == 0">*单位信息,建筑信息填写完整可得满分</label>
<label class="scorePrompt" *ngIf="selected.value == 1"><label style="color: red;">*</label>单位毗邻模块标注完整可得满分</label> <label class="scorePrompt" *ngIf="selected.value == 1">*单位毗邻模块标注完整可得满分</label>
<label class="scorePrompt" *ngIf="selected.value == 2"><label style="color: red;">*</label>消防设施,重点部位模块标注完整可得满分</label> <label class="scorePrompt" *ngIf="selected.value == 2">*消防设施,重点部位模块标注完整可得满分</label>
<label class="scorePrompt" *ngIf="selected.value == 3"><label style="color: red;">*</label>总平面图模块标注完整可得满分</label> <label class="scorePrompt" *ngIf="selected.value == 3">*总平面图模块标注完整可得满分</label>
<label class="scorePrompt" *ngIf="selected.value == 4 || selected.value == 5"><label style="color: red;">*</label>层平面图模块标注完整可得满分</label> <label class="scorePrompt" *ngIf="selected.value == 4 || selected.value == 5">*层平面图模块标注完整可得满分</label>
<label class="scorePrompt" *ngIf="selected.value == 6"><label style="color: red;">*</label>填写2条以上可得满分</label> <label class="scorePrompt" *ngIf="selected.value == 6">*填写2条以上可得满分</label>
<label class="scorePrompt" *ngIf="selected.value == 9"><label style="color: red;">*</label>外观,室内,安全出口上传图片可得满分</label> <label class="scorePrompt" *ngIf="selected.value == 9">*外观,室内,安全出口上传2张图片可得满分</label>
<label class="scorePrompt" *ngIf="selected.value == 10"><label style="color: red;">*</label>上传2张CAD图片可得满分</label> <label class="scorePrompt" *ngIf="selected.value == 10">*上传2张CAD图片可得满分</label>
</div> </div>
<mat-tab-group style="height:100%;" [selectedIndex]="selected.value" (selectedIndexChange)="selected.setValue($event)"> <mat-tab-group style="height:100%;" [selectedIndex]="selected.value" (selectedIndexChange)="selected.setValue($event)">
<mat-tab label="1.基本信息"> <mat-tab label="1.基本信息">

5
src/app/key-unit/view-unit-details/view-unit-details.component.scss

@ -9,8 +9,9 @@
width: 100%; width: 100%;
text-align: center; text-align: center;
position: absolute; position: absolute;
top: 35px; top: 88px;
font-size: 16px; font-size: 15px;
z-index: 111; z-index: 111;
color: red;
} }
} }

7
src/app/plan-audit/plan-record/plan-record.component.scss

@ -53,8 +53,11 @@
height:48px; height:48px;
color: #FFFFFF; color: #FFFFFF;
background-color: #2196F3; background-color: #2196F3;
font-size: 16px; //font-size: 16px;
th{
font-weight:10;
font-size:16px
}
} }
tr:nth-child(odd){ tr:nth-child(odd){

20
src/app/plan-audit/wait-examineer/remark.html

@ -0,0 +1,20 @@
<!--
* @Descripttion:
* @version:
* @Author: sueRimn
* @Date: 2021-03-17 09:20:34
* @LastEditors: sueRimn
* @LastEditTime: 2021-03-17 09:43:49
-->
<div class="remarkbox">
<div class="remarkhead">
<span>审批意见</span>
</div>
<div class="remarktext">
<textarea placeholder="请填写审批意见"></textarea>
</div>
<div class="remarkbottom">
<button mat-raised-button color="primary">确定</button>
<button mat-raised-button>取消</button>
</div>
</div>

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

@ -53,6 +53,10 @@
.selectedTr{ .selectedTr{
background-color: #b3d3ee; background-color: #b3d3ee;
} }
td{
font-weight:10;
font-size:15px
}
} }
table{ table{
margin-left:10px; margin-left:10px;
@ -63,8 +67,11 @@
height:48px; height:48px;
color: #FFFFFF; color: #FFFFFF;
background-color: #2196F3; background-color: #2196F3;
font-size: 16px; //font-size: 10px;
th{
font-weight:10;
font-size:16px
}
} }
tr:nth-child(odd){ tr:nth-child(odd){
@ -231,3 +238,18 @@ th,td{
background-color: #2196F3; background-color: #2196F3;
} }
.remarkbox{
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
.remarkhead{
width: 100%;
span{
font-size: 20px;
text-align: center;
width: 80px;
margin-left: 40%;
}
}
}

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

@ -4,7 +4,7 @@
* @Author: sueRimn * @Author: sueRimn
* @Date: 2020-12-25 16:13:50 * @Date: 2020-12-25 16:13:50
* @LastEditors: sueRimn * @LastEditors: sueRimn
* @LastEditTime: 2021-03-15 15:51:30 * @LastEditTime: 2021-03-17 10:32:49
*/ */
import { Component, Inject, OnInit } from '@angular/core'; import { Component, Inject, OnInit } from '@angular/core';
import { FormControl } from '@angular/forms'; import { FormControl } from '@angular/forms';
@ -351,10 +351,9 @@ export class WaitExamineerComponent implements OnInit {
if(this.shenheTable.length==0){ if(this.shenheTable.length==0){
this.snackBar.open('请勾选要审核的条目!','确定',config); this.snackBar.open('请勾选要审核的条目!','确定',config);
} }
//else{this.dialog.open(remark,{width:'460px',height:'260px',data:{shenhedata:this.shenheTable}});}
//单个审核 //单个审核
else if(this.shenheTable.length == 1){ else if(this.shenheTable.length == 1){
let isTrue = window.confirm('确定同意选中条目的审核吗?')
if(isTrue){
//重点单位审核 //重点单位审核
if(this.shenheTable[0].contentType == 11){ if(this.shenheTable[0].contentType == 11){
let body:any = { let body:any = {
@ -397,7 +396,7 @@ export class WaitExamineerComponent implements OnInit {
} }
} }
this.shenheTable=[] this.shenheTable=[]
}
} }
//批量审核 //批量审核
@ -671,6 +670,7 @@ export class WaitExamineerComponent implements OnInit {
} }
//二三维预案查看
@Component({ @Component({
selector: 'app-wait-examineer-show3D', selector: 'app-wait-examineer-show3D',
templateUrl: './show3D.html', templateUrl: './show3D.html',
@ -684,3 +684,17 @@ export class show3D{
} }
threedUrl threedUrl
} }
//审批意见弹窗
@Component({
selector: 'app-wait-examineer-remark',
templateUrl: './remark.html',
styleUrls: ['./wait-examineer.component.scss']
})
export class remark{
constructor(private sanitizer: DomSanitizer,public dialogRef: MatDialogRef<show3D>,@Inject(MAT_DIALOG_DATA) public data,public dialog: MatDialog) {}
ngOnInit(): void {
console.log(this.data)
}
}

10
src/app/plan-management/entry-plan-look/AddPlanone.html

@ -4,7 +4,7 @@
* @Author: sueRimn * @Author: sueRimn
* @Date: 2020-12-24 10:59:48 * @Date: 2020-12-24 10:59:48
* @LastEditors: sueRimn * @LastEditors: sueRimn
* @LastEditTime: 2021-01-19 16:21:16 * @LastEditTime: 2021-03-16 10:16:30
--> -->
<form (ngSubmit)="onSubmit(form.value)" #form="ngForm" class="example-container"> <form (ngSubmit)="onSubmit(form.value)" #form="ngForm" class="example-container">
<div class="topbox" style="text-align: center;"> <div class="topbox" style="text-align: center;">
@ -24,7 +24,7 @@
<div> <div>
<!-- <label style="margin-right: 10px;">编制级别:</label> --> <!-- <label style="margin-right: 10px;">编制级别:</label> -->
<mat-form-field> <mat-form-field>
<mat-select placeholder='请选择预案类型' required formControlName="firstCtrltwo"> <mat-select placeholder='请选择预案类型' required formControlName="firstCtrltwo" [(ngModel)]='cadPlan'>
<mat-option value="8">卡片预案</mat-option> <mat-option value="8">卡片预案</mat-option>
<mat-option value="1">二维预案</mat-option> <mat-option value="1">二维预案</mat-option>
<mat-option value="2">三维预案</mat-option> <mat-option value="2">三维预案</mat-option>
@ -35,9 +35,9 @@
<div> <div>
<mat-form-field> <mat-form-field>
<mat-select name="reservePlanType" formControlName="firstCtrlthree" placeholder='请选择预案级别' required> <mat-select name="reservePlanType" formControlName="firstCtrlthree" placeholder='请选择预案级别' required>
<mat-option value='3'>Ⅲ级预案</mat-option> <mat-option value='3' *ngIf="cadPlan!='8'">Ⅲ级预案</mat-option>
<mat-option value='4' *ngIf="levels!='1'&&levels!='2'">Ⅳ级预案</mat-option> <mat-option value='4' *ngIf="cadPlan!='8'&&levels!='1'&&levels!='2'">Ⅳ级预案</mat-option>
<mat-option value='5' *ngIf="levels!='1'&&levels!='2'">Ⅴ级预案</mat-option> <mat-option value='5' *ngIf="cadPlan=='8'||(levels!='1'&&levels!='2')">Ⅴ级预案</mat-option>
</mat-select> </mat-select>
</mat-form-field> </mat-form-field>
</div> </div>

4
src/app/plan-management/entry-plan-look/auditresult.html

@ -4,7 +4,7 @@
* @Author: sueRimn * @Author: sueRimn
* @Date: 2020-12-24 10:59:48 * @Date: 2020-12-24 10:59:48
* @LastEditors: sueRimn * @LastEditors: sueRimn
* @LastEditTime: 2021-03-06 09:14:55 * @LastEditTime: 2021-03-16 14:34:07
--> -->
<div style="text-align: center;"> <div style="text-align: center;">
<span mat-dialog-title>审批结果</span> <span mat-dialog-title>审批结果</span>
@ -18,7 +18,7 @@
<p>初审时间:{{data.element.firstAudittedTime| date:'yyyy-MM-dd HH:mm:ss'}}</p> <p>初审时间:{{data.element.firstAudittedTime| date:'yyyy-MM-dd HH:mm:ss'}}</p>
<p>初审机构:{{data.element.firstAuditorOrganizationName}}</p> <p>初审机构:{{data.element.firstAuditorOrganizationName}}</p>
<p>初审意见:{{data.element.firstAuditOpinion}}</p> <p>初审意见:{{data.element.firstAuditOpinion}}</p>
<p>初审结果:{{data.element.auditStatus==16?'待终审':data.element.auditStatus==32?'初审退回':data.element.auditStatus==2||4?'初审通过':''}}</p> <p>初审结果:{{data.element.auditStatus==16?'待终审':data.element.auditStatus==32?'初审退回':data.element.auditStatus==2||data.element.auditStatus==4?'初审通过':''}}</p>
<mat-divider></mat-divider> <mat-divider></mat-divider>
<p>终审时间:{{data.element.audittedTime| date:'yyyy-MM-dd HH:mm:ss'}}</p> <p>终审时间:{{data.element.audittedTime| date:'yyyy-MM-dd HH:mm:ss'}}</p>
<p>终审机构:{{data.element.auditorOrganizationName}}</p> <p>终审机构:{{data.element.auditorOrganizationName}}</p>

1
src/app/plan-management/entry-plan-look/entry-plan-look.component.ts

@ -503,6 +503,7 @@ export class AddPlanone {
defaultisshow = '0' //默认显示上传input框 defaultisshow = '0' //默认显示上传input框
pswShow=false //是否为全景图选项默认不显示 pswShow=false //是否为全景图选项默认不显示
psw//是否为全景图 psw//是否为全景图
cadPlan//是否为卡片预案
//选择radio //选择radio
selectradio(e){ selectradio(e){
if(e.value == "0"){ //如果点击本地上传 if(e.value == "0"){ //如果点击本地上传

4
src/app/plan-management/meet-plan/resultmeetPlan.html

@ -4,7 +4,7 @@
* @Author: sueRimn * @Author: sueRimn
* @Date: 2021-01-20 09:31:24 * @Date: 2021-01-20 09:31:24
* @LastEditors: sueRimn * @LastEditors: sueRimn
* @LastEditTime: 2021-03-06 09:03:34 * @LastEditTime: 2021-03-16 14:34:24
--> -->
<div style="text-align: center;"> <div style="text-align: center;">
<span mat-dialog-title>审批结果</span> <span mat-dialog-title>审批结果</span>
@ -18,7 +18,7 @@
<p>初审时间:{{data.element.firstAudittedTime| date:'yyyy-MM-dd HH:mm:ss'}}</p> <p>初审时间:{{data.element.firstAudittedTime| date:'yyyy-MM-dd HH:mm:ss'}}</p>
<p>初审机构:{{data.element.firstAuditorOrganizationName}}</p> <p>初审机构:{{data.element.firstAuditorOrganizationName}}</p>
<p>初审意见:{{data.element.firstAuditOpinion}}</p> <p>初审意见:{{data.element.firstAuditOpinion}}</p>
<p>初审结果:{{data.element.auditStatus==16?'待终审':data.element.auditStatus==32?'初审退回':data.element.auditStatus==2||4?'初审通过':''}}</p> <p>初审结果:{{data.element.auditStatus==16?'待终审':data.element.auditStatus==32?'初审退回':data.element.auditStatus==2||data.element.auditStatus==4?'初审通过':''}}</p>
<mat-divider></mat-divider> <mat-divider></mat-divider>
<p>终审时间:{{data.element.audittedTime| date:'yyyy-MM-dd HH:mm:ss'}}</p> <p>终审时间:{{data.element.audittedTime| date:'yyyy-MM-dd HH:mm:ss'}}</p>
<p>终审机构:{{data.element.auditorOrganizationName}}</p> <p>终审机构:{{data.element.auditorOrganizationName}}</p>

4
src/app/plan-management/onetwo-entry-plan/resultPlanonetwo.html

@ -4,7 +4,7 @@
* @Author: sueRimn * @Author: sueRimn
* @Date: 2021-01-20 09:31:24 * @Date: 2021-01-20 09:31:24
* @LastEditors: sueRimn * @LastEditors: sueRimn
* @LastEditTime: 2021-03-06 09:13:25 * @LastEditTime: 2021-03-16 12:08:54
--> -->
<div style="text-align: center;"> <div style="text-align: center;">
<span mat-dialog-title>审批结果</span> <span mat-dialog-title>审批结果</span>
@ -18,7 +18,7 @@
<p>初审时间:{{data.element.firstAudittedTime| date:'yyyy-MM-dd HH:mm:ss'}}</p> <p>初审时间:{{data.element.firstAudittedTime| date:'yyyy-MM-dd HH:mm:ss'}}</p>
<p>初审机构:{{data.element.firstAuditorOrganizationName}}</p> <p>初审机构:{{data.element.firstAuditorOrganizationName}}</p>
<p>初审意见:{{data.element.firstAuditOpinion}}</p> <p>初审意见:{{data.element.firstAuditOpinion}}</p>
<p>初审结果:{{data.element.auditStatus==16?'待终审':data.element.auditStatus==32?'初审退回':data.element.auditStatus==2||4?'初审通过':''}}</p> <p>初审结果:{{data.element.auditStatus==16?'待终审':data.element.auditStatus==32?'初审退回':data.element.auditStatus==2||data.element.auditStatus==4?'初审通过':''}}</p>
<mat-divider></mat-divider> <mat-divider></mat-divider>
<p>终审时间:{{data.element.audittedTime| date:'yyyy-MM-dd HH:mm:ss'}}</p> <p>终审时间:{{data.element.audittedTime| date:'yyyy-MM-dd HH:mm:ss'}}</p>
<p>终审机构:{{data.element.auditorOrganizationName}}</p> <p>终审机构:{{data.element.auditorOrganizationName}}</p>

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

@ -202,7 +202,7 @@ export class OpenPlanComponent implements OnInit {
nickName: identityJsonparse.name, nickName: identityJsonparse.name,
avatar: "", avatar: "",
privilege: [ privilege: [
'FILE_READ','FILE_WRITE','FILE_DOWNLOAD', 'FILE_PRINT' 'FILE_READ','FILE_DOWNLOAD', 'FILE_PRINT'
], ],
}, },
} }

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

@ -343,7 +343,7 @@ export class PassPlanComponent implements OnInit {
nickName: identityJsonparse.name, nickName: identityJsonparse.name,
avatar: "", avatar: "",
privilege: [ privilege: [
'FILE_READ','FILE_WRITE','FILE_DOWNLOAD', 'FILE_PRINT' 'FILE_READ','FILE_DOWNLOAD', 'FILE_PRINT'
], ],
}, },
} }

4
src/app/plan-management/type-plan/resulttypePlan.html

@ -4,7 +4,7 @@
* @Author: sueRimn * @Author: sueRimn
* @Date: 2021-01-20 09:31:24 * @Date: 2021-01-20 09:31:24
* @LastEditors: sueRimn * @LastEditors: sueRimn
* @LastEditTime: 2021-03-06 09:11:10 * @LastEditTime: 2021-03-16 14:34:37
--> -->
<div style="text-align: center;"> <div style="text-align: center;">
<span mat-dialog-title>审批结果</span> <span mat-dialog-title>审批结果</span>
@ -18,7 +18,7 @@
<p>初审时间:{{data.element.firstAudittedTime| date:'yyyy-MM-dd HH:mm:ss'}}</p> <p>初审时间:{{data.element.firstAudittedTime| date:'yyyy-MM-dd HH:mm:ss'}}</p>
<p>初审机构:{{data.element.firstAuditorOrganizationName}}</p> <p>初审机构:{{data.element.firstAuditorOrganizationName}}</p>
<p>初审意见:{{data.element.firstAuditOpinion}}</p> <p>初审意见:{{data.element.firstAuditOpinion}}</p>
<p>初审结果:{{data.element.auditStatus==16?'待终审':data.element.auditStatus==32?'初审退回':data.element.auditStatus==2||4?'初审通过':''}}</p> <p>初审结果:{{data.element.auditStatus==16?'待终审':data.element.auditStatus==32?'初审退回':data.element.auditStatus==2||data.element.auditStatus==4?'初审通过':''}}</p>
<mat-divider></mat-divider> <mat-divider></mat-divider>
<p>终审时间:{{data.element.audittedTime| date:'yyyy-MM-dd HH:mm:ss'}}</p> <p>终审时间:{{data.element.audittedTime| date:'yyyy-MM-dd HH:mm:ss'}}</p>
<p>终审机构:{{data.element.auditorOrganizationName}}</p> <p>终审机构:{{data.element.auditorOrganizationName}}</p>

4
src/app/statistic-analysis/addUnit/add-unit-two-type-details/add-unit-two-type-details.component.ts

@ -102,6 +102,10 @@ export class AddUnitTwoTypeDetailsComponent implements OnInit {
fontSize: 30 fontSize: 30
} }
}, },
grid: {
top: 110,
//bottom: 10
},
xAxis: { xAxis: {
id:this.thisorId, id:this.thisorId,
type: 'category', type: 'category',

9
src/app/statistic-analysis/all-plan/Photo-Sphere-Viewer.html

@ -0,0 +1,9 @@
<!--
* @Descripttion:
* @version:
* @Author: sueRimn
* @Date: 2021-01-12 14:33:22
* @LastEditors: sueRimn
* @LastEditTime: 2021-03-16 13:55:52
-->
<div id="viewer" style="width: 100%;height: 100%;"></div>

18
src/app/statistic-analysis/all-plan/all-plan.component.html

@ -4,7 +4,7 @@
* @Author: sueRimn * @Author: sueRimn
* @Date: 2021-03-05 15:57:08 * @Date: 2021-03-05 15:57:08
* @LastEditors: sueRimn * @LastEditors: sueRimn
* @LastEditTime: 2021-03-15 13:52:29 * @LastEditTime: 2021-03-16 13:53:17
--> -->
<div class="body"> <div class="body">
<div class="topbox"> <div class="topbox">
@ -22,21 +22,23 @@
<td mat-cell *matCellDef="let element">{{element.name}}</td> <td mat-cell *matCellDef="let element">{{element.name}}</td>
</ng-container> </ng-container>
<ng-container matColumnDef="modifiedTime"> <ng-container matColumnDef="modifiedTime">
<th mat-header-cell *matHeaderCellDef style="width: 10%;">修改时间</th> <th mat-header-cell *matHeaderCellDef style="width: 10%;">添加时间</th>
<td mat-cell *matCellDef="let element">{{element.modifiedTime|date:'yyyy-MM-dd'}}</td> <td mat-cell *matCellDef="let element">{{element.creationTime|date:'yyyy-MM-dd'}}</td>
</ng-container> </ng-container>
<ng-container matColumnDef="organizationName"> <ng-container matColumnDef="organizationName">
<th mat-header-cell *matHeaderCellDef style="width: 10%;">消防救援站</th> <th mat-header-cell *matHeaderCellDef style="width: 10%;">预案级别</th>
<td mat-cell *matCellDef="let element">{{element.organizationName}}</td> <td mat-cell *matCellDef="let element">{{element.planCategory==1?'Ⅰ级预案':element.planCategory==2?'Ⅱ级预案':
element.planCategory==3?'Ⅲ级预案':element.planCategory==4?'Ⅳ级预案':element.planCategory==5?'Ⅴ级预案':element.planCategory==8?'类型预案':'应急预案'}}</td>
</ng-container> </ng-container>
<ng-container matColumnDef="buildingTypes"> <ng-container matColumnDef="buildingTypes">
<th mat-header-cell *matHeaderCellDef style="width: 10%;">类型</th> <th mat-header-cell *matHeaderCellDef style="width: 10%;">审核状态</th>
<td mat-cell *matCellDef="let element">{{element.buildingTypes.length != 0 ? element.buildingTypes[0].name : ''}}</td> <td mat-cell *matCellDef="let element">{{element.auditStatus=='8'?'未提交审核':element.auditStatus=='1'?'审核中':element.auditStatus=='2'?'审核通过':element.auditStatus=='4'?
'审核退回':element.auditStatus=='16'?'初审通过':'初审驳回'}}</td>
</ng-container> </ng-container>
<ng-container matColumnDef="operation"> <ng-container matColumnDef="operation">
<th mat-header-cell *matHeaderCellDef style="width: 10%;">操作</th> <th mat-header-cell *matHeaderCellDef style="width: 10%;">操作</th>
<td mat-cell *matCellDef="let element" style="white-space: nowrap;cursor: pointer;"> <td mat-cell *matCellDef="let element" style="white-space: nowrap;cursor: pointer;">
<span style="color: blue;" >详情</span> <span style="color: blue;" (click)='lookPlan(element)'>详情</span>
</td> </td>
</ng-container> </ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr> <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>

111
src/app/statistic-analysis/all-plan/all-plan.component.ts

@ -4,7 +4,7 @@
* @Author: sueRimn * @Author: sueRimn
* @Date: 2021-03-15 11:32:30 * @Date: 2021-03-15 11:32:30
* @LastEditors: sueRimn * @LastEditors: sueRimn
* @LastEditTime: 2021-03-15 13:51:48 * @LastEditTime: 2021-03-17 10:30:42
*/ */
import { Component, OnInit, ViewChild, Inject } from '@angular/core'; import { Component, OnInit, ViewChild, Inject } from '@angular/core';
import { HttpClient } from '@angular/common/http' import { HttpClient } from '@angular/common/http'
@ -18,6 +18,7 @@ import { MatDialogRef, MatDialog, MAT_DIALOG_DATA } from '@angular/material/dial
import { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar'; import { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';
import { TreeService } from '../../http-interceptors/tree.service' import { TreeService } from '../../http-interceptors/tree.service'
import { MatTableDataSource } from '@angular/material/table'; import { MatTableDataSource } from '@angular/material/table';
import { Viewer } from 'photo-sphere-viewer';
declare var CryptoJS declare var CryptoJS
@Component({ @Component({
@ -27,14 +28,15 @@ declare var CryptoJS
}) })
export class AllPlanComponent implements OnInit { export class AllPlanComponent implements OnInit {
constructor(private http: HttpClient,public snackBar: MatSnackBar,public route: ActivatedRoute,private router: Router) { } constructor(private http: HttpClient,public dialog: MatDialog,public snackBar: MatSnackBar,public route: ActivatedRoute,private router: Router) { }
ngOnInit(): void { ngOnInit(): void {
this.route.queryParams.subscribe(params => { this.route.queryParams.subscribe(params => {
this.titlename = params['name']; this.titlename = params['name'];
this.type = params['type']; this.type = params['type'];
this.jsId=params['jsid'] this.jsId=params['id']
}); });
this.getAlltabledate()
} }
displayedColumns: string[] = ['unitname','modifiedTime','organizationName','buildingTypes','operation']; displayedColumns: string[] = ['unitname','modifiedTime','organizationName','buildingTypes','operation'];
tabledataSource tabledataSource
@ -52,12 +54,113 @@ export class AllPlanComponent implements OnInit {
//分页事件 //分页事件
changePage(e){ changePage(e){
this.PageNumber = e.pageIndex+1 this.PageNumber = e.pageIndex+1
//this.getAlltabledate() this.getAlltabledate()
} }
//返回 //返回
goBack () { goBack () {
history.go(-1) history.go(-1)
//this.echartsData.statefulInspectionToggle = true //this.echartsData.statefulInspectionToggle = true
} }
//获得所有预案
getAlltabledate(){
let paramtedate:any={
organizationId:this.jsId||'',
PlanStatus:this.type,
PageNumber: this.PageNumber || '1',
PageSize: this.pageSizeOptions[0]
}
this.http.get(`/api/Plans/Organizations`,{params:paramtedate}).subscribe((data:any)=>{
this.tabledataSource=data.items
console.log(this.tabledataSource)
})
}
//查看详情
lookPlan(e){
console.log(e)
if(e.planMode == 0){
console.log(e.attachmentUrls)
var index=e.attachmentUrls[0].indexOf("\/")
if(e.attachmentUrls[0].substr(0,index)=='psw'){
const dialogRef = this.dialog.open(PsViewer, {
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_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 == 1){
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.snackBar.open('查看导入word文件','确定',config);
}
if(e.planMode == 2){ //如果是在线编辑
let id = e.id
sessionStorage.setItem("planId",id)
/* sessionStorage.setItem("companyId",this.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}&orName=${this.route.snapshot.queryParams.orName}&orId=${this.route.snapshot.queryParams.orId}`);
}
if(e.planMode == 3){ //如果是跳转网页
sessionStorage.setItem("url",e.url)
window.open(`/planManagement/webLook`)
}
}
}
//全景图弹出框
@Component({
selector: 'PsViewer',
templateUrl: './Photo-Sphere-Viewer.html',
styleUrls: ['./all-plan.component.scss']
})
export class PsViewer{
constructor(private router:Router,private http: HttpClient,public dialog: MatDialog,public snackBar: MatSnackBar,public dialogRef: MatDialogRef<PsViewer>,@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,
});
}
} }

1
src/app/statistic-analysis/echarts-data.service.ts

@ -575,6 +575,7 @@ export class EchartsDataService {
zhiNameData = ["浦东支队","黄浦支队","徐汇支队","长宁支队","静安支队","普陀支队","虹口支队","杨浦支队","闵行支队","宝山支队","嘉定支队","松江支队","金山支队","崇明支队"] zhiNameData = ["浦东支队","黄浦支队","徐汇支队","长宁支队","静安支队","普陀支队","虹口支队","杨浦支队","闵行支队","宝山支队","嘉定支队","松江支队","金山支队","崇明支队"]
zhiNumData = [200,190,180,170,160,150,140,130,120,110,100,90,80,70] zhiNumData = [200,190,180,170,160,150,140,130,120,110,100,90,80,70]
isQuery=true
/** /**

11
src/app/statistic-analysis/state/page-one/page-one.component.ts

@ -4,12 +4,13 @@
* @Author: sueRimn * @Author: sueRimn
* @Date: 2020-09-01 15:24:39 * @Date: 2020-09-01 15:24:39
* @LastEditors: sueRimn * @LastEditors: sueRimn
* @LastEditTime: 2021-03-15 11:19:36 * @LastEditTime: 2021-03-17 10:30:24
*/ */
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import {EchartsDataService,} from '../../echarts-data.service' import {EchartsDataService,} from '../../echarts-data.service'
declare var echarts: any; declare var echarts: any;
declare var CryptoJS
@Component({ @Component({
selector: 'app-page-one', selector: 'app-page-one',
@ -111,12 +112,18 @@ export class PageOneComponent implements OnInit {
] ]
}; };
this.indexBzt.on('click', (params) => { this.indexBzt.on('click', (params) => {
/* 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) */
if(this.echartsData.level=='0'||this.echartsData.level=='1'||this.echartsData.level=='2'){ if(this.echartsData.level=='0'||this.echartsData.level=='1'||this.echartsData.level=='2'){
window.setTimeout(()=>{
this.router.navigate(['/statisticanalysis/statePageOne/time'],{queryParams:{'level':params.name,'type':params.data.type}}); this.router.navigate(['/statisticanalysis/statePageOne/time'],{queryParams:{'level':params.name,'type':params.data.type}});
})
} }
else if(this.echartsData.level=='3'){ else if(this.echartsData.level=='3'){
//中队跳转 //中队跳转
this.router.navigate(['/statisticanalysis/CompangInfo'],{queryParams:{'name':params.name,'type':1}}); this.router.navigate(['/statisticanalysis/AllPlan'],{queryParams:{'name':params.name,'id':null,'type':params.data.type}});
} }
}); });
this.indexBzt.setOption(options); this.indexBzt.setOption(options);

4
src/app/statistic-analysis/state/page-there-year/page-there-year.component.ts

@ -131,13 +131,13 @@ export class PageThereYearComponent implements OnInit {
//提示框 //提示框
tooltip: { tooltip: {
trigger: 'axis', trigger: 'axis',
formatter: (params)=>{ /* formatter: (params)=>{
if(params[0].seriesName == "year"){ if(params[0].seriesName == "year"){
return this.serviceData.tableTooltip(this.serviceData.monthTooltip,params[0].name) return this.serviceData.tableTooltip(this.serviceData.monthTooltip,params[0].name)
}else{ }else{
return this.serviceData.tableTooltip(this.serviceData.tableDataZhi,params[0].name) return this.serviceData.tableTooltip(this.serviceData.tableDataZhi,params[0].name)
} }
}, }, */
position:this.serviceData.tableTooltipNoShow2 position:this.serviceData.tableTooltipNoShow2
}, },
// x轴 // x轴

18
src/app/statistic-analysis/state/page-there/page-there.component.ts

@ -155,15 +155,15 @@ export class PageThereComponent implements OnInit {
title: { title: {
text: headName, text: headName,
left: "center", left: "center",
top: "0", //bottom: "540",
textStyle: { textStyle: {
fontSize: 30 fontSize: 30
} }
}, },
/* grid: { grid: {
//left: '5%', top: 110,
bottom:'5%' //bottom: 10
}, */ },
xAxis: { xAxis: {
id:this.organizationId, id:this.organizationId,
type: 'category', type: 'category',
@ -183,9 +183,9 @@ export class PageThereComponent implements OnInit {
}, },
tooltip: { tooltip: {
trigger: 'item', trigger: 'item',
formatter: (params)=>{ /* formatter: (params)=>{
return this.echartsData.biaogeTishi(params.name) return this.echartsData.biaogeTishi(params.name)
}, }, */
position: this.echartsData.tableTooltipNoShowq position: this.echartsData.tableTooltipNoShowq
/* backgroundColor:'rgba(255,255,255,1)', /* backgroundColor:'rgba(255,255,255,1)',
borderWidth:'1', borderWidth:'1',
@ -211,10 +211,10 @@ export class PageThereComponent implements OnInit {
if (this.zhutu.containPixel('grid',pointInPixel)) { if (this.zhutu.containPixel('grid',pointInPixel)) {
let xIndex=this.zhutu.convertFromPixel({seriesIndex:0},[params.offsetX, params.offsetY])[0]; let xIndex=this.zhutu.convertFromPixel({seriesIndex:0},[params.offsetX, params.offsetY])[0];
/*事件处理代码书写位置*/ /*事件处理代码书写位置*/
if(this.echartsData.level=='0'||this.echartsData.level=='1'){ if((this.echartsData.level=='0'||this.echartsData.level=='1')&&this.tabledata[0].organizations[xIndex].subOrganizations.length>=1){
this.router.navigate(['/statisticanalysis/PageZhongDuiDetails'],{queryParams:{'level':this.option.xAxis.data[xIndex],'id':this.option.xAxis.id[xIndex],'type':this.type}}); this.router.navigate(['/statisticanalysis/PageZhongDuiDetails'],{queryParams:{'level':this.option.xAxis.data[xIndex],'id':this.option.xAxis.id[xIndex],'type':this.type}});
}else{ }else{
this.router.navigate(['/statisticanalysis/AllPlan'],{queryParams:{'name':params.name,'type':1}}); this.router.navigate(['/statisticanalysis/AllPlan'],{queryParams:{'name':this.option.xAxis.data[xIndex],'id':this.option.xAxis.id[xIndex],'type':this.type}});
} }
} }

5
src/app/statistic-analysis/state/page-two-name/page-two-name.component.ts

@ -166,11 +166,12 @@ export class PageTwoNameComponent implements OnInit {
if (this.addEchart.containPixel('grid',pointInPixel)) { if (this.addEchart.containPixel('grid',pointInPixel)) {
let xIndex=this.addEchart.convertFromPixel({seriesIndex:0},[params.offsetX, params.offsetY])[0]; let xIndex=this.addEchart.convertFromPixel({seriesIndex:0},[params.offsetX, params.offsetY])[0];
/*事件处理代码书写位置*/ /*事件处理代码书写位置*/
if(this.data.level=='0'||this.data.level=='1'){ if((this.data.level=='0'||this.data.level=='1')&&this.tabledata[0].organizations[xIndex].subOrganizations.length>=1){
this.router.navigate(['/statisticanalysis/stataPageThere'],{queryParams:{'level':option.xAxis.data[xIndex],'headtext':_this.headname,'id':option.xAxis.id[xIndex],'type':this.type}}); this.router.navigate(['/statisticanalysis/stataPageThere'],{queryParams:{'level':option.xAxis.data[xIndex],'headtext':_this.headname,'id':option.xAxis.id[xIndex],'type':this.type}});
}else{ }else{
this.router.navigate(['/statisticanalysis/CompangInfo'],{queryParams:{'name':params.name,'type':1,'jsid':option.xAxis.id[xIndex]}}); this.router.navigate(['/statisticanalysis/AllPlan'],{queryParams:{'name':option.xAxis.data[xIndex],'id':option.xAxis.id[xIndex],'type':this.type}});
} }
//this.router.navigate(['/statisticanalysis/AllPlan'],{queryParams:{'name':option.xAxis.data[xIndex],'id':option.xAxis.id[xIndex],'type':this.type}});
} }

16
src/app/statistic-analysis/state/page-two-time/page-two-time.component.html

@ -4,20 +4,20 @@
* @Author: sueRimn * @Author: sueRimn
* @Date: 2020-09-05 08:59:24 * @Date: 2020-09-05 08:59:24
* @LastEditors: sueRimn * @LastEditors: sueRimn
* @LastEditTime: 2021-03-10 15:16:52 * @LastEditTime: 2021-03-17 08:49:56
--> -->
<div class="content"> <div class="content">
<div class="header"> <div class="header">
<div class="queryField" *ngIf="!isQuery && echartsData.statefulInspectionToggle"> <div class="queryField" *ngIf="!this.echartsData.isQuery && echartsData.statefulInspectionToggle">
<mat-radio-group [(ngModel)]="selectType" (change)='changeTime($event)'> <mat-radio-group [(ngModel)]="selectType" (change)='changeTime($event)'>
<mat-radio-button value="month"></mat-radio-button> <mat-radio-button value="month"></mat-radio-button>
<mat-radio-button value="year" style="margin-left: 10px;"></mat-radio-button> <mat-radio-button value="year" style="margin-left: 10px;"></mat-radio-button>
</mat-radio-group> </mat-radio-group>
</div> </div>
<div class="queryField" *ngIf="selectType=='month' && !isQuery && echartsData.statefulInspectionToggle"> <div class="queryField" *ngIf="selectType=='month' && !this.echartsData.isQuery && echartsData.statefulInspectionToggle">
<form #form="ngForm" (ngSubmit)="monthSubmit(form.value)"> <form #form="ngForm" (ngSubmit)="monthSubmit(form.value)">
<!-- <span>开始年份:</span> <!-- <span>开始年份:</span>
<mat-form-field> <mat-form-field>
@ -47,7 +47,7 @@
</form> </form>
</div> </div>
<div class="queryField" *ngIf="selectType=='year' && !isQuery && echartsData.statefulInspectionToggle"> <div class="queryField" *ngIf="selectType=='year' && !this.echartsData.isQuery && echartsData.statefulInspectionToggle">
<form #form2="ngForm" (ngSubmit)="yearSubmit(form2.value)"> <form #form2="ngForm" (ngSubmit)="yearSubmit(form2.value)">
<span>开始年份:</span> <span>开始年份:</span>
<mat-form-field> <mat-form-field>
@ -67,16 +67,16 @@
<div class="fixedCss"> <div class="fixedCss">
<button mat-raised-button (click)='goBack()' >返回</button> <button mat-raised-button (click)='goBack()' >返回</button>
<button mat-raised-button (click)='toggleTrue()' [ngClass]="{'selectButton': isQuery}" style="margin:0 10px;" *ngIf="echartsData.statefulInspectionToggle">横向查询</button> <button mat-raised-button (click)='toggleTrue()' [ngClass]="{'selectButton': this.echartsData.isQuery}" style="margin:0 10px;" *ngIf="echartsData.statefulInspectionToggle">横向查询</button>
<button mat-raised-button (click)='toggleFalse()' [ngClass]="{'selectButton': !isQuery}" *ngIf="echartsData.statefulInspectionToggle">纵向查询</button> <button mat-raised-button (click)='toggleFalse()' [ngClass]="{'selectButton': !this.echartsData.isQuery}" *ngIf="echartsData.statefulInspectionToggle">纵向查询</button>
</div> </div>
</div> </div>
<div class="echarts" style="padding-top: 80px;"> <div class="echarts" style="padding-top: 80px;">
<div class="center"> <div class="center">
<app-echarts *ngIf="!isQuery" #appEcharts></app-echarts> <app-echarts *ngIf="!this.echartsData.isQuery" #appEcharts></app-echarts>
<app-page-two-name *ngIf="isQuery" #pageTwoName></app-page-two-name> <app-page-two-name *ngIf="this.echartsData.isQuery" #pageTwoName></app-page-two-name>
</div> </div>
</div> </div>

21
src/app/statistic-analysis/state/page-two-time/page-two-time.component.ts

@ -1,4 +1,4 @@
import { Component, OnInit, ViewChild } from '@angular/core'; import { Component, Input, OnInit, ViewChild } from '@angular/core';
import { MatDatepickerInputEvent } from '@angular/material/datepicker'; import { MatDatepickerInputEvent } from '@angular/material/datepicker';
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router } from '@angular/router';
import { MatSnackBarConfig, MatSnackBar } from '@angular/material/snack-bar'; import { MatSnackBarConfig, MatSnackBar } from '@angular/material/snack-bar';
@ -29,18 +29,22 @@ export class PageTwoTimeComponent implements OnInit {
this.dateInit() this.dateInit()
this.bianli() this.bianli()
} }
ngOnDestroy(): void {
}
isQuery:boolean = true; //横纵向查询 isQuery:boolean = true; //横纵向查询
type type
//shao //shao
toggleTrue () { toggleTrue () {
this.isQuery = true //this.isQuery = true
this.echartsData.isQuery=true
this.echartsData.statefulInspectionToggle = true this.echartsData.statefulInspectionToggle = true
} }
//chen //chen
toggleFalse () { toggleFalse () {
this.isQuery = false //this.isQuery = false
this.echartsData.isQuery=false
this.echartsData.statefulInspectionToggle = true this.echartsData.statefulInspectionToggle = true
this.selectType = 'month' this.selectType = 'month'
} }
@ -142,12 +146,14 @@ export class echartsComponent implements OnInit {
constructor(private router: Router,private activatedRoute: ActivatedRoute,public snackBar: MatSnackBar,private adapter: DateAdapter<any>,public echartsData:EchartsDataService) { } constructor(private router: Router,private activatedRoute: ActivatedRoute,public snackBar: MatSnackBar,private adapter: DateAdapter<any>,public echartsData:EchartsDataService) { }
type type
tiaoshiPao:any tiaoshiPao:any
datayuey=[] datayuey=[]
datayuex=[] datayuex=[]
dataYearX = ['2020','2021'] dataYearX = ['2020','2021']
dataYearY = ['0'] dataYearY = ['0']
toggleTrue (){}
//气泡提示数据获取 //气泡提示数据获取
bianli(){ bianli(){
var arrshuzu='['; var arrshuzu='[';
@ -271,9 +277,9 @@ export class echartsComponent implements OnInit {
tooltip: { tooltip: {
trigger: 'axis', trigger: 'axis',
position: this.echartsData.tableTooltipNoShowq, position: this.echartsData.tableTooltipNoShowq,
formatter: (params)=>{ /* formatter: (params)=>{
return this.echartsData.tableTooltip(this.echartsData.tableDataZhi,'预案新增') return this.echartsData.tableTooltip(this.echartsData.tableDataZhi,'预案新增')
} } */
}, },
// x轴 // x轴
xAxis: { xAxis: {
@ -344,7 +350,10 @@ export class echartsComponent implements OnInit {
}else{ }else{
/*事件处理代码书写位置*/ /*事件处理代码书写位置*/
if(this.echartsData.level=='0'||this.echartsData.level=='1'||this.echartsData.level=='2'){ if(this.echartsData.level=='0'||this.echartsData.level=='1'||this.echartsData.level=='2'){
this.router.navigate(['/statisticanalysis/stataPageThere'],{queryParams:{'level':option.xAxis.data[xIndex],'headtext':this.headtext,'type':this.type}}); this.twoExample.clear()
this.echartsData.isQuery=true
this.twoExample.setOption(option);
//this.router.navigate(['/statisticanalysis/statePageOne/name'],{queryParams:{'level':option.xAxis.data[xIndex],'headtext':this.headtext,'type':this.type}});
} else if(this.echartsData.level=='3'){ } else if(this.echartsData.level=='3'){
//中队跳转 //中队跳转
this.router.navigate(['/statisticanalysis/AllPlan'],{queryParams:{'name':params.name,'type':1}}); this.router.navigate(['/statisticanalysis/AllPlan'],{queryParams:{'name':params.name,'type':1}});

14
src/app/statistic-analysis/state/page-zhong-dui-details/page-zhong-dui-details.component.ts

@ -4,10 +4,10 @@
* @Author: sueRimn * @Author: sueRimn
* @Date: 2020-09-05 13:50:45 * @Date: 2020-09-05 13:50:45
* @LastEditors: sueRimn * @LastEditors: sueRimn
* @LastEditTime: 2021-03-15 14:17:36 * @LastEditTime: 2021-03-16 09:12:53
*/ */
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router'; import { ActivatedRoute, Router } from '@angular/router';
import {EchartsDataService} from '../../echarts-data.service' import {EchartsDataService} from '../../echarts-data.service'
declare var echarts: any; declare var echarts: any;
@Component({ @Component({
@ -17,7 +17,7 @@ declare var echarts: any;
}) })
export class PageZhongDuiDetailsComponent implements OnInit { export class PageZhongDuiDetailsComponent implements OnInit {
constructor( public route: ActivatedRoute,public data: EchartsDataService) { } constructor( public route: ActivatedRoute,public data: EchartsDataService,private router: Router) { }
zhongNameData = [] zhongNameData = []
zhongNumData = [] zhongNumData = []
@ -123,6 +123,14 @@ export class PageZhongDuiDetailsComponent implements OnInit {
}] }]
}; };
this.detailPlanEchart.setOption(option); this.detailPlanEchart.setOption(option);
this.detailPlanEchart.getZr().on('click', (params) => {
const pointInPixel= [params.offsetX, params.offsetY];
if (this.detailPlanEchart.containPixel('grid',pointInPixel)){
let xIndex=this.detailPlanEchart.convertFromPixel({seriesIndex:0},[params.offsetX, params.offsetY])[0];
this.router.navigate(['/statisticanalysis/AllPlan'],{queryParams:{'name':option.xAxis.data[xIndex],'id':option.xAxis.id[xIndex],'type':this.type}});
}
});
} }

3
src/app/statistic-analysis/statistic-analysis-routing.module.ts

@ -4,7 +4,7 @@
* @Author: sueRimn * @Author: sueRimn
* @Date: 2020-09-02 16:57:00 * @Date: 2020-09-02 16:57:00
* @LastEditors: sueRimn * @LastEditors: sueRimn
* @LastEditTime: 2021-03-15 14:04:09 * @LastEditTime: 2021-03-17 08:43:53
*/ */
import { Component, NgModule } from '@angular/core'; import { Component, NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router'; import { Routes, RouterModule } from '@angular/router';
@ -41,6 +41,7 @@ import { from } from 'rxjs';
const routes: Routes = [ const routes: Routes = [
{ path: 'statePageOne', component: PageOneComponent}, { path: 'statePageOne', component: PageOneComponent},
{ path: 'statePageOne/time', component: PageTwoTimeComponent}, { path: 'statePageOne/time', component: PageTwoTimeComponent},
{ path: 'statePageOne/name', component: PageTwoNameComponent},
{ path: 'stataPageThere',component:PageThereComponent}, { path: 'stataPageThere',component:PageThereComponent},
{ path: 'stataPageThereYearComponent',component:PageThereYearComponent}, { path: 'stataPageThereYearComponent',component:PageThereYearComponent},
{ path: 'PageZhongDuiDetails',component:PageZhongDuiDetailsComponent}, { path: 'PageZhongDuiDetails',component:PageZhongDuiDetailsComponent},

3
src/app/statistic-analysis/statistic-analysis.module.ts

@ -70,11 +70,12 @@ import { PageThereYearComponent } from './state/page-there-year/page-there-year.
import { DeleteTwoNewaddComponent } from './deleteUnit/delete-two-newadd/delete-two-newadd.component'; import { DeleteTwoNewaddComponent } from './deleteUnit/delete-two-newadd/delete-two-newadd.component';
import { CompangInfoComponent } from './compang-info/compang-info.component'; import { CompangInfoComponent } from './compang-info/compang-info.component';
import { AllPlanComponent } from './all-plan/all-plan.component'; import { AllPlanComponent } from './all-plan/all-plan.component';
import { PsViewer }from './all-plan/all-plan.component'
@NgModule({ @NgModule({
declarations: [PageOneComponent, PageTwoTimeComponent, PageTwoNameComponent, PageZhongDuiDetailsComponent,echartsComponent, DeleteOneComponent, DeleteTwoComponent, DeleteThereComponent, DeleteFourComponent, BuildingTypeOneComponent, ScheduledUpdatesComponent,publicEchartsComponent,verifiedComponent,notVerifiedComponent,detailedInformationComponent,moreTableComponent,yueDateComponent,yuebuildingDateComponent,indexConditionComponent, BuildingTypeTwoForwardComponent, BuildingTypeTwoReverseComponent, BuildingTypeThreeDetailsComponent, AddUnitOneComponent, AddUnitTwoTypeStatisticsComponent, AddUnitTwoTypeDetailsComponent, AddUnitTwoTimeComponent,AddUnitThreeLineDetailsComponent,AddUnitThreeBarDetailsComponent, HomeComponent, DeleteThereLineDetailsComponent, PageThereComponent, PageThereYearComponent, DeleteTwoNewaddComponent, CompangInfoComponent, AllPlanComponent], declarations: [PageOneComponent, PageTwoTimeComponent, PageTwoNameComponent, PageZhongDuiDetailsComponent,echartsComponent, DeleteOneComponent, DeleteTwoComponent, DeleteThereComponent, DeleteFourComponent, BuildingTypeOneComponent, ScheduledUpdatesComponent,publicEchartsComponent,verifiedComponent,notVerifiedComponent,detailedInformationComponent,moreTableComponent,yueDateComponent,yuebuildingDateComponent,indexConditionComponent, BuildingTypeTwoForwardComponent, BuildingTypeTwoReverseComponent, BuildingTypeThreeDetailsComponent, AddUnitOneComponent, AddUnitTwoTypeStatisticsComponent, AddUnitTwoTypeDetailsComponent, AddUnitTwoTimeComponent,AddUnitThreeLineDetailsComponent,AddUnitThreeBarDetailsComponent, HomeComponent, DeleteThereLineDetailsComponent, PageThereComponent, PageThereYearComponent, DeleteTwoNewaddComponent, CompangInfoComponent, AllPlanComponent,PsViewer],
imports: [ imports: [
CommonModule, CommonModule,
StatisticAnalysisRoutingModule, StatisticAnalysisRoutingModule,

2
src/app/ui/collection-tools-plan/collection-tools.component.ts

@ -1725,8 +1725,10 @@ export class CollectionToolsPlanComponent implements OnInit {
dialogRef.afterClosed().subscribe(data=>{ dialogRef.afterClosed().subscribe(data=>{
if (data =='总平面图') { if (data =='总平面图') {
this.sitePlanData.length? this.renovateSitePlan() : this.getSitePlan() this.sitePlanData.length? this.renovateSitePlan() : this.getSitePlan()
this.maskLayerService.sendMessage(false)
} else if (data =='建筑') { } else if (data =='建筑') {
this.renovateBuilding() this.renovateBuilding()
this.maskLayerService.sendMessage(false)
} }
}) })
} }

6
src/app/ui/collection-tools-plan/leftFunctionalDomain.ts

@ -4,6 +4,7 @@ import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dial
import { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar'; import { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';
import { CanvasShareDataService } from 'src/app/canvas-share-data.service'; import { CanvasShareDataService } from 'src/app/canvas-share-data.service';
import { EventManager } from '@angular/platform-browser'; import { EventManager } from '@angular/platform-browser';
import { MaskLayerService } from 'src/app/mask-layer.service';
@Component({ @Component({
selector: 'app-leftFunctionalDomain-plan', selector: 'app-leftFunctionalDomain-plan',
@ -17,7 +18,7 @@ export class leftFunctionalDomainComponentPlan implements OnInit {
public dialog: MatDialog, public dialog: MatDialog,
public snackBar: MatSnackBar, public snackBar: MatSnackBar,
public dialogRef: MatDialogRef<any>, public dialogRef: MatDialogRef<any>,
@Inject(MAT_DIALOG_DATA) public data,public canvasData: CanvasShareDataService,) { } @Inject(MAT_DIALOG_DATA) public data,public canvasData: CanvasShareDataService,private maskLayerService:MaskLayerService,) { }
ngOnInit(): void { ngOnInit(): void {
@ -37,7 +38,7 @@ export class leftFunctionalDomainComponentPlan implements OnInit {
const config = new MatSnackBarConfig(); const config = new MatSnackBarConfig();
config.verticalPosition = 'top'; config.verticalPosition = 'top';
config.duration = 3000 config.duration = 3000
this.snackBar.open('上传图片需小于5MB','确定',config); this.snackBar.open('上传图片需小于10MB','确定',config);
} }
} }
} }
@ -53,6 +54,7 @@ export class leftFunctionalDomainComponentPlan implements OnInit {
//提交表单创建平面图 //提交表单创建平面图
onSubmit (e) { onSubmit (e) {
if (this.file) { if (this.file) {
this.maskLayerService.sendMessage(true)
if (this.file.size<=5*1024*1024) { //小于5MB if (this.file.size<=5*1024*1024) { //小于5MB
let formData = new FormData() let formData = new FormData()
formData.append("file",this.file) formData.append("file",this.file)

Loading…
Cancel
Save