邵佳豪 4 years ago
parent
commit
8db3f6b5ea
  1. 6
      src/app/plan-management/entry-plan-look/entry-plan-look.component.ts
  2. 16
      src/app/plan-management/entry-plan/entry-plan.component.ts
  3. 2
      src/app/plan-management/meet-plan/meet-plan.component.html
  4. 11
      src/app/plan-management/meet-plan/meet-plan.component.ts
  5. 4
      src/app/plan-management/onetwo-entry-plan/onetwo-entry-plan.component.html
  6. 13
      src/app/plan-management/onetwo-entry-plan/onetwo-entry-plan.component.ts
  7. 2
      src/app/plan-management/type-plan/type-plan.component.html
  8. 15
      src/app/plan-management/type-plan/type-plan.component.ts
  9. 56
      src/app/statistic-analysis/buildingType/building-type-one/building-type-one.component.ts
  10. 133
      src/app/statistic-analysis/buildingType/building-type-two-reverse/building-type-two-reverse.component.ts
  11. 8
      src/app/statistic-analysis/echarts-data.service.ts
  12. 21
      src/app/working-area/working-area.component.ts

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

@ -735,7 +735,7 @@ export class AddPlanone {
onlineedit:boolean = false //在线编辑 onlineedit:boolean = false //在线编辑
website:boolean = false //网页地址 website:boolean = false //网页地址
next(formdata){ next(formdata){
// console.log(formdata.value.firstCtrltwo) //console.log(formdata.value.firstCtrlthree)
//console.log(this.file) //console.log(this.file)
this.psw=false this.psw=false
this.selectedPLanName = formdata.value.firstCtrlone this.selectedPLanName = formdata.value.firstCtrlone
@ -772,7 +772,7 @@ export class AddPlanone {
this.psw=false this.psw=false
} }
closediv(){ closediv(){
console.log(this.file) //console.log(this.file)
if(this.file!=undefined){ if(this.file!=undefined){
this.cancel(); this.cancel();
} }
@ -852,6 +852,7 @@ export class AddPlanone {
url: this.webaddress, url: this.webaddress,
attachmentUrls: null attachmentUrls: null
} }
//console.log(body)
this.http.post("/api/PlanComponents",body,{params:{ this.http.post("/api/PlanComponents",body,{params:{
companyId : this.data.companyId companyId : this.data.companyId
}}).subscribe(data=>{ }}).subscribe(data=>{
@ -928,6 +929,7 @@ export class AddPlanone {
url: this.webaddress, url: this.webaddress,
attachmentUrls: null attachmentUrls: null
} }
//console.log(body)
this.http.post("/api/PlanComponents2D",body,{params:{ this.http.post("/api/PlanComponents2D",body,{params:{
companyId : this.data.companyId companyId : this.data.companyId
}}).subscribe(data=>{ }}).subscribe(data=>{

16
src/app/plan-management/entry-plan/entry-plan.component.ts

@ -168,13 +168,14 @@ export class EntryPlanComponent implements OnInit {
style.width = (width/zong)*100 +'%'; style.width = (width/zong)*100 +'%';
return style return style
} }
level
ngOnInit(): void { ngOnInit(): void {
this.getunitdata(); this.getunitdata();
this.getOrganizations(); this.getOrganizations();
this.getUnittype(); this.getUnittype();
this.getAllPlanInfo(); this.getAllPlanInfo();
let level = sessionStorage.getItem("level"); this.level = sessionStorage.getItem("level");
if(level == "0"){//如果是总队 if(this.level == "0"){//如果是总队
this.preparelevels = [ this.preparelevels = [
{name:"总队",value:"1"}, {name:"总队",value:"1"},
{name:"支队",value:"2"}, {name:"支队",value:"2"},
@ -182,20 +183,20 @@ export class EntryPlanComponent implements OnInit {
{name:"中队",value:"8"} {name:"中队",value:"8"}
] ]
} }
if(level == "1"){//如果是支队 if(this.level == "1"){//如果是支队
this.preparelevels = [ this.preparelevels = [
{name:"支队",value:"2"}, {name:"支队",value:"2"},
{name:"大队",value:"4"}, {name:"大队",value:"4"},
{name:"中队",value:"8"} {name:"中队",value:"8"}
] ]
} }
if(level == "2"){//如果是大队 if(this.level == "2"){//如果是大队
this.preparelevels = [ this.preparelevels = [
{name:"大队",value:"4"}, {name:"大队",value:"4"},
{name:"中队",value:"8"} {name:"中队",value:"8"}
] ]
} }
if(level == "3"){//如果是中队 if(this.level == "3"){//如果是中队
this.preparelevels = [ this.preparelevels = [
{name:"中队",value:"8"} {name:"中队",value:"8"}
] ]
@ -316,12 +317,13 @@ export class EntryPlanComponent implements OnInit {
}) })
} }
operation=true
//查看预案按钮跳转 //查看预案按钮跳转
routerTo(element){ routerTo(element){
// console.log(element) // console.log(element)
this.level=='0'?this.operation=false:true
sessionStorage.setItem("companyName",element.company.name) sessionStorage.setItem("companyName",element.company.name)
window.open(`/planManagement/entryPlandetail?unitId=${element.company.id}&unitTypeId=${element.company.buildingTypes.length == 0 ? null :element.company.buildingTypes[0].id}&operation=true&pagetype=entryplan&unitName=${element.company.name}&orName=${element.company.organizationName}&unitType=${element.company.buildingTypes.length == 0 ? null :element.company.buildingTypes[0].name}&unitAdd=${element.company.address}`); window.open(`/planManagement/entryPlandetail?unitId=${element.company.id}&unitTypeId=${element.company.buildingTypes.length == 0 ? null :element.company.buildingTypes[0].id}&operation=${this.operation}&pagetype=entryplan&unitName=${element.company.name}&orName=${element.company.organizationName}&unitType=${element.company.buildingTypes.length == 0 ? null :element.company.buildingTypes[0].name}&unitAdd=${element.company.address}`);
} }
//查询 //查询
onSubmit (value) { onSubmit (value) {

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

@ -83,7 +83,7 @@
<mat-divider></mat-divider> <mat-divider></mat-divider>
<div class="newadd"> <div class="newadd">
<div> <div>
<button mat-raised-button color="primary" (click)='addunit()'><img style="margin-bottom: 3px;" src="../../../assets/images/newadd.png"> 新增</button> <button *ngIf="levels=='0'" mat-raised-button color="primary" (click)='addunit()'><img style="margin-bottom: 3px;" src="../../../assets/images/newadd.png"> 新增</button>
</div> </div>
<div class="progressBox" style="margin-left: 100px;" *ngIf="downloadisLoading"> <div class="progressBox" style="margin-left: 100px;" *ngIf="downloadisLoading">

11
src/app/plan-management/meet-plan/meet-plan.component.ts

@ -20,8 +20,8 @@ export class MeetPlanComponent 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) { }
ngOnInit(): void { ngOnInit(): void {
let level = sessionStorage.getItem("level"); this.levels = sessionStorage.getItem("level");
if(level == "0"){//如果是总队 if(this.levels == "0"){//如果是总队
this.preparelevels = [ this.preparelevels = [
{name:"总队",value:"1"}, {name:"总队",value:"1"},
{name:"支队",value:"2"}, {name:"支队",value:"2"},
@ -29,26 +29,27 @@ export class MeetPlanComponent implements OnInit {
{name:"中队",value:"8"} {name:"中队",value:"8"}
] ]
} }
if(level == "1"){//如果是支队 if(this.levels == "1"){//如果是支队
this.preparelevels = [ this.preparelevels = [
{name:"支队",value:"2"}, {name:"支队",value:"2"},
{name:"大队",value:"4"}, {name:"大队",value:"4"},
{name:"中队",value:"8"} {name:"中队",value:"8"}
] ]
} }
if(level == "2"){//如果是大队 if(this.levels == "2"){//如果是大队
this.preparelevels = [ this.preparelevels = [
{name:"大队",value:"4"}, {name:"大队",value:"4"},
{name:"中队",value:"8"} {name:"中队",value:"8"}
] ]
} }
if(level == "3"){//如果是中队 if(this.levels == "3"){//如果是中队
this.preparelevels = [ this.preparelevels = [
{name:"中队",value:"8"} {name:"中队",value:"8"}
] ]
} }
this.getAlltabledate() this.getAlltabledate()
} }
levels
preparelevels:any preparelevels:any
plcheck:boolean //编制级别勾选框 plcheck:boolean //编制级别勾选框

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

@ -4,7 +4,7 @@
* @Author: sueRimn * @Author: sueRimn
* @Date: 2020-12-24 14:15:10 * @Date: 2020-12-24 14:15:10
* @LastEditors: sueRimn * @LastEditors: sueRimn
* @LastEditTime: 2021-01-27 16:55:08 * @LastEditTime: 2021-02-05 15:09:48
--> -->
<div style="height: 100%;overflow-y: auto;"> <div style="height: 100%;overflow-y: auto;">
<div class="header" > <div class="header" >
@ -83,7 +83,7 @@
<mat-divider></mat-divider> <mat-divider></mat-divider>
<div class="newadd"> <div class="newadd">
<div> <div>
<button mat-raised-button color="primary" (click)="addunit()"><img style="margin-bottom: 3px;" src="../../../assets/images/newadd.png"> 新增</button> <button *ngIf="levels=='0'||levels=='1'" mat-raised-button color="primary" (click)="addunit()"><img style="margin-bottom: 3px;" src="../../../assets/images/newadd.png"> 新增</button>
</div> </div>
<div class="progressBox" style="margin-left: 100px;" *ngIf="downloadisLoading"> <div class="progressBox" style="margin-left: 100px;" *ngIf="downloadisLoading">

13
src/app/plan-management/onetwo-entry-plan/onetwo-entry-plan.component.ts

@ -4,7 +4,7 @@
* @Author: sueRimn * @Author: sueRimn
* @Date: 2020-12-24 14:15:10 * @Date: 2020-12-24 14:15:10
* @LastEditors: sueRimn * @LastEditors: sueRimn
* @LastEditTime: 2021-02-04 10:01:46 * @LastEditTime: 2021-02-05 14:52:32
*/ */
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'
@ -33,8 +33,8 @@ export class OnetwoEntryPlanComponent 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) { }
ngOnInit(): void { ngOnInit(): void {
let level = sessionStorage.getItem("level"); this.levels = sessionStorage.getItem("level");
if(level == "0"){//如果是总队 if(this.levels == "0"){//如果是总队
this.preparelevels = [ this.preparelevels = [
{name:"总队",value:"1"}, {name:"总队",value:"1"},
{name:"支队",value:"2"}, {name:"支队",value:"2"},
@ -42,20 +42,20 @@ export class OnetwoEntryPlanComponent implements OnInit {
{name:"中队",value:"8"} {name:"中队",value:"8"}
] ]
} }
if(level == "1"){//如果是支队 if(this.levels == "1"){//如果是支队
this.preparelevels = [ this.preparelevels = [
{name:"支队",value:"2"}, {name:"支队",value:"2"},
{name:"大队",value:"4"}, {name:"大队",value:"4"},
{name:"中队",value:"8"} {name:"中队",value:"8"}
] ]
} }
if(level == "2"){//如果是大队 if(this.levels == "2"){//如果是大队
this.preparelevels = [ this.preparelevels = [
{name:"大队",value:"4"}, {name:"大队",value:"4"},
{name:"中队",value:"8"} {name:"中队",value:"8"}
] ]
} }
if(level == "3"){//如果是中队 if(this.levels == "3"){//如果是中队
this.preparelevels = [ this.preparelevels = [
{name:"中队",value:"8"} {name:"中队",value:"8"}
] ]
@ -64,6 +64,7 @@ export class OnetwoEntryPlanComponent implements OnInit {
this.getAlltabledate() this.getAlltabledate()
} }
levels
url url
preparelevels:any preparelevels:any
plcheck:boolean //编制级别勾选框 plcheck:boolean //编制级别勾选框

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

@ -62,7 +62,7 @@
<mat-divider></mat-divider> <mat-divider></mat-divider>
<div class="newadd"> <div class="newadd">
<div> <div>
<button mat-raised-button color="primary" (click)='addunit()'><img style="margin-bottom: 3px;" src="../../../assets/images/newadd.png"> 新增</button> <button mat-raised-button color="primary" (click)='addunit()' *ngIf="levels=='0'"><img style="margin-bottom: 3px;" src="../../../assets/images/newadd.png"> 新增</button>
</div> </div>
<div class="progressBox" style="margin-left: 100px;" *ngIf="downloadisLoading"> <div class="progressBox" style="margin-left: 100px;" *ngIf="downloadisLoading">

15
src/app/plan-management/type-plan/type-plan.component.ts

@ -4,7 +4,7 @@
* @Author: sueRimn * @Author: sueRimn
* @Date: 2021-01-06 09:47:43 * @Date: 2021-01-06 09:47:43
* @LastEditors: sueRimn * @LastEditors: sueRimn
* @LastEditTime: 2021-02-04 10:40:16 * @LastEditTime: 2021-02-06 09:12:05
*/ */
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'
@ -29,8 +29,8 @@ export class TypePlanComponent 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) { }
ngOnInit(): void { ngOnInit(): void {
let level = sessionStorage.getItem("level"); this.levels = sessionStorage.getItem("level");
if(level == "0"){//如果是总队 if(this.levels == "0"){//如果是总队
this.preparelevels = [ this.preparelevels = [
{name:"总队",value:"1"}, {name:"总队",value:"1"},
{name:"支队",value:"2"}, {name:"支队",value:"2"},
@ -38,27 +38,28 @@ export class TypePlanComponent implements OnInit {
{name:"中队",value:"8"} {name:"中队",value:"8"}
] ]
} }
if(level == "1"){//如果是支队 if(this.levels == "1"){//如果是支队
this.preparelevels = [ this.preparelevels = [
{name:"支队",value:"2"}, {name:"支队",value:"2"},
{name:"大队",value:"4"}, {name:"大队",value:"4"},
{name:"中队",value:"8"} {name:"中队",value:"8"}
] ]
} }
if(level == "2"){//如果是大队 if(this.levels == "2"){//如果是大队
this.preparelevels = [ this.preparelevels = [
{name:"大队",value:"4"}, {name:"大队",value:"4"},
{name:"中队",value:"8"} {name:"中队",value:"8"}
] ]
} }
if(level == "3"){//如果是中队 if(this.levels == "3"){//如果是中队
this.preparelevels = [ this.preparelevels = [
{name:"中队",value:"8"} {name:"中队",value:"8"}
] ]
} }
this.getAlltabledate() this.getAlltabledate()
} }
levels
preparelevels:any preparelevels:any
plcheck:boolean //编制级别勾选框 plcheck:boolean //编制级别勾选框
displayedColumns: string[] = ['unitname','addname','addtime', 'plantype', 'passstate','isopen','projectlevel','operation']; displayedColumns: string[] = ['unitname','addname','addtime', 'plantype', 'passstate','isopen','projectlevel','operation'];

56
src/app/statistic-analysis/buildingType/building-type-one/building-type-one.component.ts

@ -1,5 +1,6 @@
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { HttpClient } from '@angular/common/http'
import {EchartsDataService,} from '../../echarts-data.service' import {EchartsDataService,} from '../../echarts-data.service'
declare var echarts: any; declare var echarts: any;
@Component({ @Component({
@ -9,7 +10,7 @@ declare var echarts: any;
}) })
export class BuildingTypeOneComponent implements OnInit { export class BuildingTypeOneComponent implements OnInit {
constructor(private router: Router,public echartsData:EchartsDataService) { } constructor(private http:HttpClient,private router: Router,public echartsData:EchartsDataService) { }
ngOnInit(): void { ngOnInit(): void {
window.setTimeout(()=>{ window.setTimeout(()=>{
@ -22,11 +23,23 @@ export class BuildingTypeOneComponent implements OnInit {
} }
/* 首页饼状图 */ /* 首页饼状图 */
indexBzt indexBzt
lengthdata=[]//提示数据
count=0//总数
indexData=[]//所有数据
initCharts(){ initCharts(){
this.indexBzt = echarts.init(document.getElementById('indexBzt'),'walden'); this.http.get("/api/StatisticsAnalysis").subscribe((data:any)=>{
for(var i=0;i<data.companyStatistics.buildingTypeStatistics.buildingTypes.length;i++){
this.lengthdata.push(data.companyStatistics.buildingTypeStatistics.buildingTypes[i].buildingTypeName)
this.count=this.count+data.companyStatistics.buildingTypeStatistics.buildingTypes[i].count
this.indexData.push(data.companyStatistics.buildingTypeStatistics.buildingTypes[i])
}
//JSON.parse(JSON.stringify(this.indexData).replace(/buildingTypeName/g, 'name'))
this.indexData=this.indexData.map(v=>{return {name: v.buildingTypeName,value:v.count}})
console.log(this.indexData)
this.indexBzt = echarts.init(document.getElementById('indexBzt'),'walden');
let options={ let options={
title: { title: {
text: '建筑类型统计(8900家)', text: `建筑类型统计(${this.count}家)`,
left: 'center', left: 'center',
top: "7%", top: "7%",
textStyle: { textStyle: {
@ -48,7 +61,7 @@ export class BuildingTypeOneComponent implements OnInit {
fontSize:18, fontSize:18,
color:"#000000" color:"#000000"
}, },
data: ['高层', '地下', '轨道交通', '化工生产', '储罐类' , '厂房','古建筑', '商市场', '医院', '学校', '宾馆' , '娱乐场所','餐饮业', '影剧院', '展览建筑' , '隧道'] data: this.lengthdata
}, },
series: [ series: [
{ {
@ -67,24 +80,24 @@ export class BuildingTypeOneComponent implements OnInit {
} }
}, },
}, },
data: [ data:/* [
{value: 500, name: '高层'}, {value: this.indexData[0].count, name: this.indexData[0].buildingTypeName},
{value: 800, name: '地下'}, {value: this.indexData[1].count, name: this.indexData[1].buildingTypeName},
{value: 900, name: '轨道交通'}, {value: this.indexData[2].count, name: this.indexData[2].buildingTypeName},
{value: 800, name: '化工生产'}, {value: this.indexData[3].count, name: this.indexData[3].buildingTypeName},
{value: 1200, name: '储罐类'}, {value: this.indexData[4].count, name: this.indexData[4].buildingTypeName},
{value: 1500, name: '厂房'}, {value: this.indexData[5].count, name: this.indexData[5].buildingTypeName},
{value: 1400, name: '古建筑'}, {value: this.indexData[6].count, name: this.indexData[6].buildingTypeName},
{value: 600, name: '商市场'}, {value: this.indexData[7].count, name: this.indexData[7].buildingTypeName},
{value: 568, name: '医院'}, {value: this.indexData[8].count, name: this.indexData[8].buildingTypeName},
{value: 888, name: '学校'}, {value: this.indexData[9].count, name: this.indexData[9].buildingTypeName},
{value: 485, name: '宾馆'}, {value: this.indexData[10].count, name: this.indexData[0].buildingTypeName},
{value: 966, name: '娱乐场所'}, {value: this.indexData[0].count, name: this.indexData[0].buildingTypeName},
{value: 789, name: '餐饮业'}, {value: this.indexData[0].count, name: this.indexData[0].buildingTypeName},
{value: 500, name: '影剧院'}, {value: 500, name: '影剧院'},
{value: 1025, name: '展览建筑'}, {value: 1025, name: '展览建筑'},
{value: 600, name: '隧道'} {value: 600, name: '隧道'}
], ] */this.indexData,
emphasis: { emphasis: {
itemStyle: { itemStyle: {
shadowBlur: 10, shadowBlur: 10,
@ -99,6 +112,9 @@ export class BuildingTypeOneComponent implements OnInit {
this.router.navigate(['/statisticanalysis/buildingType_one/buildingType_two_reverse'],{queryParams:{'level':params.name}}); this.router.navigate(['/statisticanalysis/buildingType_one/buildingType_two_reverse'],{queryParams:{'level':params.name}});
}); });
this.indexBzt.setOption(options); this.indexBzt.setOption(options);
})
} }
biaogeTishi(biaotou:string){ biaogeTishi(biaotou:string){
var shuju='[{"name":"浦东支队","number":"156","zhanbi":"3%"},{"name":"黄浦支队","number":"144","zhanbi":"2.8%"},' var shuju='[{"name":"浦东支队","number":"156","zhanbi":"3%"},{"name":"黄浦支队","number":"144","zhanbi":"2.8%"},'

133
src/app/statistic-analysis/buildingType/building-type-two-reverse/building-type-two-reverse.component.ts

@ -1,6 +1,7 @@
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router } from '@angular/router';
import {EchartsDataService} from '../../echarts-data.service'; import {EchartsDataService} from '../../echarts-data.service';
import { HttpClient } from '@angular/common/http'
declare var echarts: any; declare var echarts: any;
@Component({ @Component({
selector: 'app-building-type-two-reverse', selector: 'app-building-type-two-reverse',
@ -9,7 +10,7 @@ declare var echarts: any;
}) })
export class BuildingTypeTwoReverseComponent implements OnInit { export class BuildingTypeTwoReverseComponent implements OnInit {
constructor(private router: Router,public data:EchartsDataService,private route:ActivatedRoute) { } constructor(private http:HttpClient,private router: Router,public data:EchartsDataService,private route:ActivatedRoute) { }
forward(){ forward(){
this.router.navigate(['/statisticanalysis/buildingType_one/buildingType_two_forward']) this.router.navigate(['/statisticanalysis/buildingType_one/buildingType_two_forward'])
@ -149,6 +150,7 @@ export class BuildingTypeTwoReverseComponent implements OnInit {
/* 顶部饼状图 */ /* 顶部饼状图 */
indexBzt indexBzt
initCharts(){ initCharts(){
this.indexBzt = echarts.init(document.getElementById('pie'),'walden'); this.indexBzt = echarts.init(document.getElementById('pie'),'walden');
let options={ let options={
title: { title: {
@ -227,71 +229,86 @@ export class BuildingTypeTwoReverseComponent implements OnInit {
this.indexBzt.setOption(options); this.indexBzt.setOption(options);
} }
//柱状图 //柱状图
lengthdata=[]//提示数据
count=0//总数
indexData=[]//所有数据
barEcharts(){ barEcharts(){
this.forArr.forEach(item=>{ this.http.get("/api/StatisticsAnalysis").subscribe((data:any)=>{
let _this = this for(var i=0;i<data.companyStatistics.buildingTypeStatistics.buildingTypes.length;i++){
item.echart = echarts.init(document.getElementById('gaoceng'),'walden'); this.lengthdata.push(data.companyStatistics.buildingTypeStatistics.buildingTypes[i].buildingTypeName)
let option = { this.count=this.count+data.companyStatistics.buildingTypeStatistics.buildingTypes[i].count
title: { this.indexData.push(data.companyStatistics.buildingTypeStatistics.buildingTypes[i])
text: this.headname+':总数(1024)', }
left: "center", //JSON.parse(JSON.stringify(this.indexData).replace(/buildingTypeName/g, 'name'))
top: "15", this.indexData=this.indexData.map(v=>{return {name: v.buildingTypeName,value:v.count}})
//bottom: '80', console.log(data)
textStyle: { this.forArr.forEach(item=>{
fontSize: 30 let _this = this
} item.echart = echarts.init(document.getElementById('gaoceng'),'walden');
}, let option = {
xAxis: { title: {
type: 'category', text: this.headname+':总数(1024)',
data: this.zhiNameData, left: "center",
axisLabel:{ top: "15",
//this.axisLabel, //bottom: '80',
interval: 0, textStyle: {
textStyle:{ fontSize: 30
fontSize :18,
color:'#000000'
}
} }
}, },
yAxis: { xAxis: {
type: 'value', type: 'category',
axisLabel:{ data: this.zhiNameData,
//this.axisLabel, axisLabel:{
textStyle:{ //this.axisLabel,
fontSize :16, interval: 0,
color:'#000000' textStyle:{
fontSize :18,
color:'#000000'
}
} }
}
},
tooltip: {
trigger: 'item',
formatter: (params)=>{
return this.tableTooltip(this.tableDataZhong,params.name)
}, },
position: this.data.tableTooltipNoShow2 yAxis: {
}, type: 'value',
series: [{ axisLabel:{
data: this.zhiNumData, //this.axisLabel,
type: 'bar', textStyle:{
markPoint: { fontSize :16,
data: this.tiaoshiPao color:'#000000'
}
}
}, },
//showBackground: true, tooltip: {
backgroundStyle: { trigger: 'item',
color: 'rgba(220, 220, 220, 0.8)' formatter: (params)=>{
return this.tableTooltip(this.tableDataZhong,params.name)
}, },
barWidth :'38', position: this.data.tableTooltipNoShow2
//label: this.topTextlabel },
}] series: [{
}; data: this.zhiNumData,
item.echart.setOption(option); type: 'bar',
item.echart.on('click', (params) => { markPoint: {
this.router.navigate(['/statisticanalysis/buildingType_one/buildingType_three_details'],{queryParams:{'organizationName':params.name,'buildingTypeName':this.headname}}) data: this.tiaoshiPao
}); },
//showBackground: true,
backgroundStyle: {
color: 'rgba(220, 220, 220, 0.8)'
},
barWidth :'38',
//label: this.topTextlabel
}]
};
item.echart.setOption(option);
item.echart.on('click', (params) => {
this.router.navigate(['/statisticanalysis/buildingType_one/buildingType_three_details'],{queryParams:{'organizationName':params.name,'buildingTypeName':this.headname}})
});
})
}) })
} }
//提示框表格 //提示框表格
tableTooltip(dataArr,title:string){ tableTooltip(dataArr,title:string){
let data = dataArr let data = dataArr

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

@ -1,11 +1,17 @@
import { Injectable, EventEmitter} from '@angular/core'; import { Injectable, EventEmitter} from '@angular/core';
import { Observable, ReplaySubject } from 'rxjs'; import { Observable, ReplaySubject } from 'rxjs';
import { HttpClient } from '@angular/common/http'
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
}) })
export class EchartsDataService { export class EchartsDataService {
constructor() { } constructor(private http:HttpClient) { }
echartsApi(){
this.allEcharts=this.http.get("/api/StatisticsAnalysis")
//return this.allEcharts.data
}
allEcharts
//计划首页 //计划首页
tableShow=false//控制首页表格显隐 tableShow=false//控制首页表格显隐
buildingName="" //建筑类型 buildingName="" //建筑类型

21
src/app/working-area/working-area.component.ts

@ -32,7 +32,7 @@ import { EVENT_SELECTION_CHANGED } from './model/events';
/** /**
* *
*/ */
export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterViewInit,OnDestroy { export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterViewInit, OnDestroy {
constructor(private eventManager: EventManager, public canvasData: CanvasShareDataService) { constructor(private eventManager: EventManager, public canvasData: CanvasShareDataService) {
super(); super();
@ -158,7 +158,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
* RC版: 该版本已经相当成熟了BUG * RC版: 该版本已经相当成熟了BUG
* Release版: 该版本意味使Release不会以单词形式出现在软件封面上® * Release版: 该版本意味使Release不会以单词形式出现在软件封面上®
*/ */
public VERSION = '1.0.17.20210204_beta'; public VERSION = '1.0.18.20210205_beta';
/** /**
* *
*/ */
@ -389,7 +389,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
// 判断2个矩形是否相交 // 判断2个矩形是否相交
const rect1 = this.rectToolGraphics.getBounds(); const rect1 = this.rectToolGraphics.getBounds();
const rect2 = item.getBounds(); const rect2 = item.getBounds();
if (this.isOverlap(rect1, rect2)) { if (this.isOverlap(rect1, rect2) && item.interactive) {
shapes.push(item); shapes.push(item);
} }
} }
@ -408,7 +408,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
// 判断2个矩形是否相交 // 判断2个矩形是否相交
const rect1 = this.rectToolGraphics.getBounds(); const rect1 = this.rectToolGraphics.getBounds();
const rect2 = item.getBounds(); const rect2 = item.getBounds();
if (this.isOverlap(rect1, rect2)) { if (this.isOverlap(rect1, rect2) && item.interactive) {
shapes.push(item); shapes.push(item);
} }
} }
@ -1021,7 +1021,9 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
// 创建处置预案图形 // 创建处置预案图形
this.createNodeShape(this.canvasData.selectPanelPoint.Data); this.createNodeShape(this.canvasData.selectPanelPoint.Data);
this.createAxLegend(); this.createAxLegend();
if (this.canvasData.gameMode == GameMode.Assignment) {
this.setLegendVisible(false);
}
this.updateCamera2D(); this.updateCamera2D();
} }
/** /**
@ -1409,7 +1411,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
* *
*/ */
public async onExamineeClickFloor() { public async onExamineeClickFloor() {
await this.refreshBackgroundImage(this.canvasData.selectStorey.imageUrl,this.canvasData.selectStorey.imageAngle); await this.refreshBackgroundImage(this.canvasData.selectStorey.imageUrl, this.canvasData.selectStorey.imageAngle);
// 清空所有图形 // 清空所有图形
this.deselectAll(); this.deselectAll();
const itemList = []; const itemList = [];
@ -1438,7 +1440,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
* - * -
*/ */
public async onExaminerClickFloor() { public async onExaminerClickFloor() {
await this.refreshBackgroundImage(this.canvasData.selectStorey.imageUrl,this.canvasData.selectStorey.imageAngle); await this.refreshBackgroundImage(this.canvasData.selectStorey.imageUrl, this.canvasData.selectStorey.imageAngle);
// 清空所有图形 // 清空所有图形
this.deselectAll(); this.deselectAll();
const itemList = []; const itemList = [];
@ -1466,7 +1468,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
* - * -
*/ */
public async onExaminerClickFloor_CreateTestpaper() { public async onExaminerClickFloor_CreateTestpaper() {
await this.refreshBackgroundImage(this.canvasData.selectStorey.imageUrl,this.canvasData.selectStorey.imageAngle); await this.refreshBackgroundImage(this.canvasData.selectStorey.imageUrl, this.canvasData.selectStorey.imageAngle);
// 清空所有图形 // 清空所有图形
this.deselectAll(); this.deselectAll();
const itemList = []; const itemList = [];
@ -1595,13 +1597,14 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
shape.hideBorder(); shape.hideBorder();
shape.setPointVisiable(false); shape.setPointVisiable(false);
} }
////////////////////////////////////////////////////////////////////////////////////////////////图例 //////////////////////////////////////////////////////////////////////////////////////////////// 图例
/** /**
* *
* @param b true false隐藏 * @param b true false隐藏
*/ */
public setLegendVisible(b: boolean): void { public setLegendVisible(b: boolean): void {
const legend = this.backgroundImage.getChildByName('图例') as AxLegend; const legend = this.backgroundImage.getChildByName('图例') as AxLegend;
legend.interactive = b;
legend.visible = b; legend.visible = b;
} }
} }

Loading…
Cancel
Save