diff --git a/src/app/statistic-analysis/addUnit/add-unit-one/add-unit-one.component.ts b/src/app/statistic-analysis/addUnit/add-unit-one/add-unit-one.component.ts index dac3d69..371fdd1 100644 --- a/src/app/statistic-analysis/addUnit/add-unit-one/add-unit-one.component.ts +++ b/src/app/statistic-analysis/addUnit/add-unit-one/add-unit-one.component.ts @@ -12,13 +12,15 @@ export class AddUnitOneComponent implements OnInit { constructor(private router: Router,public echartsData:EchartsDataService) { } setTimeoutObj//延时器需要清除 - buildData=[] - orData + tabledata ngOnInit(): void { /* this.buildData.push(this.echartsData.getData(null,`/api/StatisticsAnalysis/BuildingTypes`)) this.orData=this.echartsData.getData(null,`/api/StatisticsAnalysis/Companies`) */ + this.echartsData.getData(null,`/api/StatisticsAnalysis/Companies`) this.setTimeoutObj = window.setTimeout(()=>{ + this.tabledata=JSON.parse(JSON.stringify(this.echartsData.allDate)) + console.log(this.tabledata) this.initCharts("pieone") this.initCharts("pietwo") },1000) @@ -45,12 +47,25 @@ export class AddUnitOneComponent implements OnInit { buildingData=["高层","地下","轨道交通","化工生产","储罐类","厂房","古建筑","商市场","医院","学校","宾馆","娱乐场所","餐饮业","影剧院","展览建筑","隧道"] indexBzt//首页饼状图实例 /* 首页饼状图 */ - initCharts(id){ - - this.indexBzt = echarts.init(document.getElementById(id),'walden'); + lengthBuildData=[] + lengthOrData=[] + buildData=[] + orData=[] + initCharts(tid){ + for(var i=0;i{return {name: v.buildingTypeName,value:v.count,id:v.buildingTypeId}}) + this.orData=this.orData.map(v=>{return {name: v.organizationName,value:v.count,id:v.organizationId}}) + this.indexBzt = echarts.init(document.getElementById(tid),'walden'); let options={ title: { - text:id=="pieone"? '组织机构统计(8900家)':'建筑类型统计(8900家)', + text:tid=="pieone"? `组织机构统计(${this.tabledata[0].organizationStatistics.totalCount}家)`:`建筑类型统计(${this.tabledata[0].buildingTypeStatistics.totalCount}家)`, left: 'center', top: "5%", textStyle: { @@ -60,7 +75,9 @@ export class AddUnitOneComponent implements OnInit { tooltip: { trigger: 'item', formatter: (params)=>{ - return this.echartsData.tableTooltip(id=="pieone"?this.echartsData.buildingType:this.echartsData.tableDataZhi,params.name) + console.log(params) + return tid=="pieone"?this.biaogeTishi(params.data,'one'):this.biaogeTishi(params.data,'two') + //return this.echartsData.tableTooltip(tid=="pieone"?this.echartsData.buildingType:this.echartsData.tableDataZhi,params.name) }, position:this.echartsData.tableTooltipNoShow2 }, @@ -72,7 +89,7 @@ export class AddUnitOneComponent implements OnInit { fontSize:14, color:"#000000" }, - data: id=="pieone"?this.zhiNameData:this.buildingData + data: tid=="pieone"?this.lengthOrData:this.lengthBuildData }, series: [ { @@ -91,39 +108,7 @@ export class AddUnitOneComponent implements OnInit { } }, }, - data:id=="pieone"?[ - {value: 500, name: this.zhiNameData[0]}, - {value: 800, name: this.zhiNameData[1]}, - {value: 900, name: this.zhiNameData[2]}, - {value: 800, name: this.zhiNameData[3]}, - {value: 1200, name: this.zhiNameData[4]}, - {value: 1500, name: this.zhiNameData[5]}, - {value: 1400, name: this.zhiNameData[6]}, - {value: 600, name: this.zhiNameData[7]}, - {value: 568, name: this.zhiNameData[8]}, - {value: 888, name: this.zhiNameData[9]}, - {value: 485, name: this.zhiNameData[10]}, - {value: 966, name: this.zhiNameData[11]}, - {value: 789, name: this.zhiNameData[12]}, - {value: 500, name: this.zhiNameData[13]}, - - ]:[ - {value: 500, name: '高层'}, - {value: 800, name: '地下'}, - {value: 900, name: '轨道交通'}, - {value: 800, name: '化工生产'}, - {value: 1200, name: '储罐类'}, - {value: 1500, name: '厂房'}, - {value: 1400, name: '古建筑'}, - {value: 600, name: '商市场'}, - {value: 568, name: '医院'}, - {value: 888, name: '学校'}, - {value: 485, name: '宾馆'}, - {value: 966, name: '娱乐场所'}, - {value: 789, name: '餐饮业'}, - {value: 500, name: '影剧院'}, - {value: 1025, name: '展览建筑'}, - {value: 600, name: '隧道'}], + data:tid=="pieone"?this.orData:this.buildData, emphasis: { itemStyle: { shadowBlur: 10, @@ -135,40 +120,72 @@ export class AddUnitOneComponent implements OnInit { ] }; this.indexBzt.on('click', (params) => { - this.router.navigate(['/statisticanalysis/addUnit_one/addUnit_two_type'],{queryParams:{'level':params.name}}); - id=="pieone"?this.echartsData.zuzhiorBuilding="zhi":this.echartsData.zuzhiorBuilding="building" + if(this.echartsData.level=='0'||this.echartsData.level=='1'||this.echartsData.level=='2'){ + //总队,支队,大队跳转 + this.router.navigate(['/statisticanalysis/addUnit_one/addUnit_two_type'],{queryParams:{'level':params.name,'id':params.data.id}}); + }else{ + //中队跳转 + this.router.navigate(['/statisticanalysis/CompangInfo'],{queryParams:{'name':params.name,'type':1}}); + } + + tid=="pieone"?this.echartsData.zuzhiorBuilding="zhi":this.echartsData.zuzhiorBuilding="building" }); this.indexBzt.setOption(options); } - biaogeTishi(biaotou:string){ - var shuju='[{"name":"浦东支队","number":"156","zhanbi":"3%"},{"name":"黄浦支队","number":"144","zhanbi":"2.8%"},' - shuju+='{"name":"徐汇支队","number":"133","zhanbi":"2.1%"},{"name":"长宁支队","number":"122","zhanbi":"1.6%"},' - shuju+='{"name":"静安支队","number":"120","zhanbi":"1.3%"},{"name":"普陀支队","number":"100","zhanbi":"1.1%"},' - shuju+='{"name":"虹口支队","number":"95","zhanbi":"1%"},{"name":"杨浦支队","number":"90","zhanbi":"0.9%"},' - shuju+='{"name":"闵行支队","number":"88","zhanbi":"0.8%"},{"name":"宝山支队","number":"83","zhanbi":"0.7%"},' - shuju+='{"name":"徐汇支队","number":"133","zhanbi":"2.1%"},{"name":"长宁支队","number":"122","zhanbi":"1.6%"},' - shuju+='{"name":"嘉定支队","number":"78","zhanbi":"0.6%"},{"name":"松江支队","number":"75","zhanbi":"0.5%"},' - shuju+='{"name":"金山支队","number":"65","zhanbi":"0.4%"},{"name":"崇明支队","number":"55","zhanbi":"0.3%"}]' - var jsonObj = JSON.parse(shuju); - var res = '
'+biaotou+'
' - res+='
'; - res+=''; - res+=''; - res+='' - res+='' - res+='' - res+=''; - for(var i=0;i' - res+='' - res+='' + res + tishiData + biaogeTishi(datas,type){ + console.log(datas) + this.res='' + this.tishiData='' + if(type=='two'){ + for(var a in this.echartsData.obdata[0].buildingTypeStatistics.buildingTypes){ + if(this.echartsData.obdata[0].buildingTypeStatistics.buildingTypes[a].buildingTypeName==datas.name){ + this.tishiData=this.echartsData.obdata[0].buildingTypeStatistics.buildingTypes[a].organizations + } + } + }else{ + for(var a in this.echartsData.obdata[0].organizationStatistics.organizations){ + if(this.echartsData.obdata[0].organizationStatistics.organizations[a].organizationId==datas.id){ + this.tishiData=this.echartsData.obdata[0].organizationStatistics.organizations[a].buildingTypes } - - res+='' - res+='' - res+='
名称数量总占比
'+jsonObj[i].number+''+jsonObj[i].zhanbi+'
总计135619%
' - return res + } + } + + console.log(this.tishiData) + var countall=0//总计 + var countbi=0//站比 + var allCountbi=0//总站比 + for(var i=0;i' + this.res+='
'; + this.res+=''; + this.res+=''; + this.res+='' + this.res+='' + this.res+='' + this.res+=''; + for(var i=0;i' + } + else{ + this.res+='' + } + + this.res+='' + this.res+='' + } + + this.res+='' + this.res+='' + this.res+='
名称数量总占比
'+this.tishiData[i].buildingTypeName+''+this.tishiData[i].count+''+countbi+'%
总计'+countall+''+allCountbi.toFixed(2)+'%
' + return this.res } diff --git a/src/app/statistic-analysis/addUnit/add-unit-three-bar-details/add-unit-three-bar-details.component.html b/src/app/statistic-analysis/addUnit/add-unit-three-bar-details/add-unit-three-bar-details.component.html index 1efb7b4..b0e3fa4 100644 --- a/src/app/statistic-analysis/addUnit/add-unit-three-bar-details/add-unit-three-bar-details.component.html +++ b/src/app/statistic-analysis/addUnit/add-unit-three-bar-details/add-unit-three-bar-details.component.html @@ -1,6 +1,14 @@ +
-
+
diff --git a/src/app/statistic-analysis/addUnit/add-unit-three-bar-details/add-unit-three-bar-details.component.ts b/src/app/statistic-analysis/addUnit/add-unit-three-bar-details/add-unit-three-bar-details.component.ts index 788ca67..328531b 100644 --- a/src/app/statistic-analysis/addUnit/add-unit-three-bar-details/add-unit-three-bar-details.component.ts +++ b/src/app/statistic-analysis/addUnit/add-unit-three-bar-details/add-unit-three-bar-details.component.ts @@ -15,22 +15,38 @@ export class AddUnitThreeBarDetailsComponent implements OnInit { constructor(private router: Router,public dialog: MatDialog,public snackBar: MatSnackBar,private serviceData: EchartsDataService,public route: ActivatedRoute) { } time:String buildingTypeName:String - level:String + //level:String + orId//上个页面传过来的组织id + buildId//上个页面传过来的建筑id setTimeoutObj//延时器需要清除 + tabledata + organizationId=[] ngOnInit(): void { this.dateInit () - this.route.queryParams.subscribe(params => { this.time = params['time']; this.buildingTypeName = params['buildingTpye']; - this.level = params['level']; - this.bianli() + this.buildId=params['id'] + this.orId=params['zhuid'] }); + let paramsdata={ + //id:this.buildId, + organizationId:this.orId + } + this.serviceData.getData(paramsdata,`/api/StatisticsAnalysis/Companies/BuildingTypes/${this.buildId}`) this.setTimeoutObj = window.setTimeout(()=>{ + this.tabledata=JSON.parse(JSON.stringify(this.serviceData.allDate)) + console.log(this.tabledata) + for(var i=0;i{ - return this.tableTooltip(params) + return this.tiao==false? this.serviceData.biaogeTishida(params):this.tableTooltip(params) }, position:this.serviceData.tableTooltipNoShowq }, @@ -154,35 +168,72 @@ export class AddUnitThreeBarDetailsComponent implements OnInit { }; this.detailPlanEchart.setOption(this.option); - this.detailPlanEchart.on("click",(params)=>{ - if(this.level == "zhidui"){//如果是支队则跳转 - // this.router.navigate(['/statisticanalysis/addUnit_one/addUnit_two_time/three_barDetails'],{queryParams:{'level':'zhongdui','time':params.name,'buildingTpye':this.buildingTypeName}}); - this.level = "zhongdui" + 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]; + console.log(this.organizationId,this.option.xAxis.id) + if(this.serviceData.level=="0"&&this.tiao==false&&this.tabledata[0].organizations[xIndex].subOrganizations.length>=1){ + //总队不跳 + console.log(params) + this.zhiNameData=[] + this.zhiNumData=[] + this.organizationId=[] + this.tiaoshiPao='' + let paramsdata={ + //id:this.buildId, + organizationId:this.option.xAxis.id[xIndex] + } + this.serviceData.getData(paramsdata,`/api/StatisticsAnalysis/Companies/BuildingTypes/${this.buildId}`) + this.setTimeoutObj = window.setTimeout(()=>{ + this.tabledata=JSON.parse(JSON.stringify(this.serviceData.allDate)) + console.log(this.tabledata) + for(var i=0;i100%' res+='
' return res } diff --git a/src/app/statistic-analysis/addUnit/add-unit-three-line-details/add-unit-three-line-details.component.html b/src/app/statistic-analysis/addUnit/add-unit-three-line-details/add-unit-three-line-details.component.html index 1ffb927..22ddb1b 100644 --- a/src/app/statistic-analysis/addUnit/add-unit-three-line-details/add-unit-three-line-details.component.html +++ b/src/app/statistic-analysis/addUnit/add-unit-three-line-details/add-unit-three-line-details.component.html @@ -1,6 +1,14 @@ +
-
+
diff --git a/src/app/statistic-analysis/addUnit/add-unit-three-line-details/add-unit-three-line-details.component.ts b/src/app/statistic-analysis/addUnit/add-unit-three-line-details/add-unit-three-line-details.component.ts index 04f363f..b39c046 100644 --- a/src/app/statistic-analysis/addUnit/add-unit-three-line-details/add-unit-three-line-details.component.ts +++ b/src/app/statistic-analysis/addUnit/add-unit-three-line-details/add-unit-three-line-details.component.ts @@ -18,16 +18,18 @@ export class AddUnitThreeLineDetailsComponent implements OnInit { level:String setTimeoutObj//延时器需要清除 qopao + lastId ngOnInit(): void { - this.qopao=this.serviceData.qipao(this.qopao,this.dateNum,this.zhiNameData) + this.serviceData.selectType=0 this.dateInit () this.route.queryParams.subscribe(params => { this.year = params['year']; this.buildingTypeName = params['buildingType']; + this.lastId=params['id'] }); this.setTimeoutObj = window.setTimeout(()=>{ - this.detailEcharts() - }) + this.getdata() + },1000) } ngOnDestroy(){ @@ -35,6 +37,37 @@ export class AddUnitThreeLineDetailsComponent implements OnInit { this.detailPlanEchart.clear() this.detailPlanEchart.dispose() } + tabledata + zongcount=0 + getdata(){ + let parzhi={ + BuildingTypeId:this.lastId, + TrendType:this.serviceData.selectType, + //TrendYear:this.year||'' + } + let parbuild={ + OrganizationId:this.lastId, + TrendType:this.serviceData.selectType, + //TrendYear:this.year||'' + } + this.serviceData.getData(this.serviceData.zuzhiorBuilding=='zhi'?parbuild:parzhi,`/api/StatisticsAnalysis`) + this.setTimeoutObj = window.setTimeout(() => { + this.tabledata=JSON.parse(JSON.stringify(this.serviceData.allDate)) + console.log(this.tabledata) + for(var i=0;i=this.serviceData.selectStartMonth||this.tabledata[0].companyStatistics.trendStatistics.added[i].month<=this.serviceData.selectEndMonth){ + this.date.push(this.tabledata[0].companyStatistics.trendStatistics.added[i].month) + this.dateNum.push(this.tabledata[0].companyStatistics.trendStatistics.added[i].count) + this.zongcount=this.zongcount+this.tabledata[0].companyStatistics.trendStatistics.added[i].count + } + } + + + //this.oneInit (this.date,this.dateNum) + this.qopao=this.serviceData.qipao(this.qopao,this.dateNum,this.zhiNameData) + this.detailEcharts() + }, 1000); + } selectType:string = 'month'; //选择当前的 查询类型 按月/年 @@ -75,8 +108,8 @@ export class AddUnitThreeLineDetailsComponent implements OnInit { detailPlanEchart option - date = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月','9月'] - dateNum = [270, 253, 244, 199, 189, 173, 160, 198,200] + date = [] + dateNum = [] detailEcharts(){ this.detailPlanEchart = echarts.init(document.getElementById('barEchart'), 'skinUpp'); @@ -171,7 +204,8 @@ export class AddUnitThreeLineDetailsComponent implements OnInit { if (this.detailPlanEchart.containPixel('grid',pointInPixel)) { let xIndex=this.detailPlanEchart.convertFromPixel({seriesIndex:0},[params.offsetX, params.offsetY])[0]; /*事件处理代码书写位置*/ - this.router.navigate(['/statisticanalysis/addUnit_one/addUnit_two_time/three_barDetails'],{queryParams:{'level':'zhidui','time':this.option.xAxis.data[xIndex],'buildingTpye':this.buildingTypeName}}); + this.router.navigate(['/statisticanalysis/addUnit_one/addUnit_two_type'],{queryParams:{'level':this.buildingTypeName,'id':this.lastId}}) + //this.router.navigate(['/statisticanalysis/addUnit_one/addUnit_two_time/three_barDetails'],{queryParams:{'level':'zhidui','time':this.option.xAxis.data[xIndex],'buildingTpye':this.buildingTypeName}}); } }); } diff --git a/src/app/statistic-analysis/addUnit/add-unit-two-time/add-unit-two-time.component.html b/src/app/statistic-analysis/addUnit/add-unit-two-time/add-unit-two-time.component.html index 37487ca..3e30b85 100644 --- a/src/app/statistic-analysis/addUnit/add-unit-two-time/add-unit-two-time.component.html +++ b/src/app/statistic-analysis/addUnit/add-unit-two-time/add-unit-two-time.component.html @@ -4,7 +4,7 @@ * @Author: sueRimn * @Date: 2020-09-05 13:50:45 * @LastEditors: sueRimn - * @LastEditTime: 2021-03-10 15:19:25 + * @LastEditTime: 2021-03-13 14:41:42 -->
diff --git a/src/app/statistic-analysis/addUnit/add-unit-two-time/add-unit-two-time.component.ts b/src/app/statistic-analysis/addUnit/add-unit-two-time/add-unit-two-time.component.ts index 431a95a..9084779 100644 --- a/src/app/statistic-analysis/addUnit/add-unit-two-time/add-unit-two-time.component.ts +++ b/src/app/statistic-analysis/addUnit/add-unit-two-time/add-unit-two-time.component.ts @@ -10,25 +10,24 @@ declare var echarts: any; styleUrls: ['./add-unit-two-time.component.scss'] }) export class AddUnitTwoTimeComponent implements OnInit { - forward(){ - this.router.navigate(['/statisticanalysis/addUnit_one/addUnit_two_type'],{queryParams:{'level':this.headname}}) - } - reverse(){ - this.router.navigate(['/statisticanalysis/addUnit_one/addUnit_two_time'],{queryParams:{'level':this.headname}}) - } + constructor(private router: Router,public dialog: MatDialog,public snackBar: MatSnackBar,private serviceData: EchartsDataService,private route:ActivatedRoute) { } setTimeoutObj//延时器需要清除 headname + type=1 + lastId + tabledata + zongcount=0 ngOnInit(): void { + console.log(this.serviceData.zuzhiorBuilding) + this.serviceData.selectType=0 this.dateInit () - this.bianli() this.route.queryParams.subscribe(param=>{ this.headname=param.level + //this.type=param.type + this.lastId=param.id }); - this.setTimeoutObj = setTimeout(() => { - //this.oneInit (this.date,this.dateNum) - this.twoInit (this.date,this.dateNum,'month') - }, 0); + this.getdata() } ngOnDestroy(){ window.clearTimeout(this.setTimeoutObj); @@ -38,17 +37,54 @@ export class AddUnitTwoTimeComponent implements OnInit { }) } + //获取数据 + yeardatee + getdata(){ + let parzhi={ + BuildingTypeId:this.lastId, + TrendType:this.serviceData.selectType, + TrendYear:this.yeardatee||'' + } + let parbuild={ + OrganizationId:this.lastId, + TrendType:this.serviceData.selectType, + TrendYear:this.yeardatee||'' + } + this.serviceData.getData(this.serviceData.zuzhiorBuilding=='zhi'?parbuild:parzhi,`/api/StatisticsAnalysis`) + this.setTimeoutObj = window.setTimeout(() => { + this.tabledata=JSON.parse(JSON.stringify(this.serviceData.allDate)) + console.log(this.tabledata) + for(var i=0;i=this.serviceData.selectStartMonth||this.tabledata[0].companyStatistics.trendStatistics.added[i].month<=this.serviceData.selectEndMonth){ + this.date.push(this.tabledata[0].companyStatistics.trendStatistics.added[i].month) + this.dateNum.push(this.tabledata[0].companyStatistics.trendStatistics.added[i].count) + this.zongcount=this.zongcount+this.tabledata[0].companyStatistics.trendStatistics.added[i].count + } + } + + + //this.oneInit (this.date,this.dateNum) + this.tiaoshiPao=this.serviceData.qipao(this.tiaoshiPao,this.dateNum,this.date) + this.twoInit (this.date,this.dateNum,'month') + }, 1000); + } + forward(){ + this.router.navigate(['/statisticanalysis/addUnit_one/addUnit_two_type'],{queryParams:{'level':this.headname,'id':this.lastId}}) + } + reverse(){ + this.router.navigate(['/statisticanalysis/addUnit_one/addUnit_two_time'],{queryParams:{'level':this.headname,'id':this.lastId}}) + } selectType:string = 'month'; //选择当前的 查询类型 按月/年 //查询数据 - years:any = [] + years:any = [2020,2021] selectMonth:any = [1,2,3,4,5,6,7,8,9,10,11,12] //日期初始化 dateInit () { let date = (new Date()).getFullYear() for (let i=date; i>=date-10;i--) { - this.years.unshift(i) + //this.years.unshift(i) } } selectOneYear:any = (new Date()).getFullYear() //开始年份 @@ -57,24 +93,27 @@ export class AddUnitTwoTimeComponent implements OnInit { selectEndMonth:any = (new Date()).getMonth()+1 //结束月份 //按月查询 monthSubmit (e) { - if (e.selectTwoYear > e.selectOneYear) { + this.serviceData.selectStartMonth=this.selectStartMonth + this.serviceData.selectEndMonth=this.selectEndMonth + console.log(this.selectStartMonth,this.selectEndMonth) + this.date=[] + this.dateNum=[] + this.zongcount=0 + if (e.selectEndMonth>=e.selectStartMonth) { let startTime = e.selectOneYear + '-' + e.selectStartMonth + '-' + 1 + ' ' + 0 + ':' + 0 +':'+ 0 let endTime = e.selectTwoYear + '-' + e.selectEndMonth + '-' + 31 + ' ' + 23 + ':' + 59 +':'+ 59 - //console.log(startTime) - //console.log(endTime) - } else if (e.selectTwoYear === e.selectOneYear) { - if(e.selectEndMonth >= e.selectStartMonth) { - let startTime = e.selectOneYear + '-' + e.selectStartMonth + '-' + 1 + ' ' + 0 + ':' + 0 +':'+ 0 - let endTime = e.selectTwoYear + '-' + e.selectEndMonth + '-' + 31 + ' ' + 23 + ':' + 59 +':'+ 59 - //console.log(startTime) - //console.log(endTime) - } else { - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('请选择正确时间区段','确定',config); + for(var i=0;i=this.serviceData.selectStartMonth&&this.tabledata[0].companyStatistics.trendStatistics.added[i].month<=this.serviceData.selectEndMonth){ + this.date.push(this.tabledata[0].companyStatistics.trendStatistics.added[i].month) + this.dateNum.push(this.tabledata[0].companyStatistics.trendStatistics.added[i].count) + this.zongcount=this.zongcount+this.tabledata[0].companyStatistics.trendStatistics.added[i].count + } } - }else { + console.log(this.dateNum) + //this.oneInit (this.date,this.dateNum) + this.tiaoshiPao=this.serviceData.qipao(this.tiaoshiPao,this.dateNum,this.date) + this.twoInit (this.date,this.dateNum,'month') + } else { const config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 @@ -105,11 +144,29 @@ export class AddUnitTwoTimeComponent implements OnInit { }) if(this.selectType == "year"){ - this.tiaoshiPao=this.serviceData.qipao(this.tiaoshiPao,this.dateNum2,this.date2) - //this.oneInit(this.date2,this.dateNum2) - this.twoInit(this.date2,this.dateNum2,'year') + this.zongcount=0 + this.serviceData.selectType=2 + let paramdata={ + BuildingTypeId:this.lastId, + TrendType:this.serviceData.selectType + } + this.serviceData.getData(paramdata,`/api/StatisticsAnalysis`) + this.setTimeoutObj = window.setTimeout(() => { + this.tabledata=JSON.parse(JSON.stringify(this.serviceData.allDate)) + console.log(this.tabledata) + for(var i=0;i { this.organizationName = params['organizationName']; this.buildingTypeName = params['buildingTypeName']; + this.lastId=params['id'] + this.canshuId=params['zhuId'] }); + let paramsdata:any = { + //id:this.echartsData.zuzhiorBuilding=='zhi'? this.canshuId:this.lastId, + organizationId:this.echartsData.zuzhiorBuilding=='zhi'?this.lastId:this.canshuId + } + this.echartsData.getData(paramsdata,`/api/StatisticsAnalysis/Companies/BuildingTypes/${this.echartsData.zuzhiorBuilding=='zhi'?this.canshuId:this.lastId}`) this.setTimeoutObj = window.setTimeout(()=>{ + this.tabledata=JSON.parse(JSON.stringify(this.echartsData.allDate)) + console.log(this.tabledata) + for(var i=0;i=1){ + var arrshuzu='['; for(var i=0;i{ - return this.tableTooltip(params) + return this.echartsData.biaogeTishida(params) } }, series: [{ @@ -124,11 +147,18 @@ export class AddUnitTwoTypeDetailsComponent implements OnInit { }] }; this.detailPlanEchart.setOption(option); - this.detailPlanEchart.on('click', (params) => { - this.router.navigate(['/statisticanalysis/CompangInfo'],{queryParams:{'name':params.name,'type':1}}); - /* const dialogRef = this.dialog.open(CompangInfoComponent, { - width:"400px", - }); */ + 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]; + if(this.echartsData.level=='0'||this.echartsData.level=='1'){ + //总队和支队跳转 + this.router.navigate(['/statisticanalysis/addUnit_one/addUnit_two_time/three_barDetails'],{queryParams:{'time':'','buildingTpye':option.xAxis.data[xIndex]+this.organizationName,'zhuid':option.xAxis.id[xIndex],'id':this.canshuId}}); + }else{ + this.router.navigate(['/statisticanalysis/CompangInfo'],{queryParams:{'name':params.name,'type':1}}); + } + } + }); } diff --git a/src/app/statistic-analysis/addUnit/add-unit-two-type-statistics/add-unit-two-type-statistics.component.ts b/src/app/statistic-analysis/addUnit/add-unit-two-type-statistics/add-unit-two-type-statistics.component.ts index 18bc1ee..7824e31 100644 --- a/src/app/statistic-analysis/addUnit/add-unit-two-type-statistics/add-unit-two-type-statistics.component.ts +++ b/src/app/statistic-analysis/addUnit/add-unit-two-type-statistics/add-unit-two-type-statistics.component.ts @@ -12,23 +12,49 @@ export class AddUnitTwoTypeStatisticsComponent implements OnInit { constructor(private router: Router,public data:EchartsDataService,private route:ActivatedRoute) { } forward(){ - this.router.navigate(['/statisticanalysis/addUnit_one/addUnit_two_type'],{queryParams:{'level':this.headname}}) + this.router.navigate(['/statisticanalysis/addUnit_one/addUnit_two_type'],{queryParams:{'level':this.headname,'id':this.lastId}}) } reverse(){ - this.router.navigate(['/statisticanalysis/addUnit_one/addUnit_two_time'],{queryParams:{'level':this.headname}}) + this.router.navigate(['/statisticanalysis/addUnit_one/addUnit_two_time'],{queryParams:{'level':this.headname,'id':this.lastId}}) } url = "/statisticanalysis/addUnit_one/addUnit_two_type" //当前路由地址 setTimeoutObj//延时器需要清除 headname + lastId + organizationId=[] + buildingTypeId=[] ngOnInit(): void { + //this.data.zuzhiorBuilding=="zhi" this.route.queryParams.subscribe(param=>{ this.headname=param.level + this.lastId=param.id }); + let paramsdata:any = { + id:this.lastId, + //organizationId:'1' + } + this.data.getData(paramsdata,this.data.zuzhiorBuilding=="zhi"?`/api/StatisticsAnalysis/Companies/Organizations/${this.lastId}`:`/api/StatisticsAnalysis/Companies/BuildingTypes/${this.lastId}`) this.setTimeoutObj = window.setTimeout(()=>{ - this.bianli() + this.tabledata=JSON.parse(JSON.stringify(this.data.allDate)) + console.log(this.tabledata) + if(this.data.zuzhiorBuilding=="zhi"){ + for(var i=0;i{ let _this = this item.echart = echarts.init(document.getElementById('gaoceng'),'walden'); let option = { title: { - text: this.headname+':总数(1024)', + text: this.headname+`:总数(${this.tabledata[0].totalCount})`, left: "center", top: "0", //bottom: '80%', @@ -276,6 +304,7 @@ export class AddUnitTwoTypeStatisticsComponent implements OnInit { } }, xAxis: { + id:this.data.zuzhiorBuilding=="zhi"?this.buildingTypeId:this.organizationId, type: 'category', data:this.data.zuzhiorBuilding=="zhi"?this.buildingData: this.zhiNameData, axisLabel:{ @@ -302,7 +331,7 @@ export class AddUnitTwoTypeStatisticsComponent implements OnInit { tooltip: { trigger: 'item', formatter: (params)=>{ - return this.tableTooltip(this.tableDataZhong,params.name) + return this.data.zuzhiorBuilding=="zhi"?this.data.biaogeTishiZhi(params): this.data.biaogeTishida(params) }, position: this.data.tableTooltipNoShow2 }, @@ -320,8 +349,20 @@ export class AddUnitTwoTypeStatisticsComponent implements OnInit { }] }; item.echart.setOption(option); - item.echart.on('click', (params) => { - this.router.navigate(['/statisticanalysis/addUnit_one/addUnit_two_typeDetails'],{queryParams:{'organizationName':params.name,'buildingTypeName':this.headname}}) + item.echart.getZr().on('click', (params) => { + const pointInPixel= [params.offsetX, params.offsetY]; + if (item.echart.containPixel('grid',pointInPixel)){ + let xIndex=item.echart.convertFromPixel({seriesIndex:0},[params.offsetX, params.offsetY])[0]; + if(this.data.level=='0'||this.data.level=='1'){ + //总队,支队跳转 + this.router.navigate(['/statisticanalysis/addUnit_one/addUnit_two_typeDetails'],{queryParams:{'organizationName':option.xAxis.data[xIndex],'buildingTypeName':this.headname,'id':this.lastId,'zhuId':option.xAxis.id[xIndex]}}) + } + else{ + this.router.navigate(['/statisticanalysis/CompangInfo'],{queryParams:{'name':params.name,'type':1}}); + } + } + + }); }) diff --git a/src/app/statistic-analysis/buildingType/building-type-one/building-type-one.component.ts b/src/app/statistic-analysis/buildingType/building-type-one/building-type-one.component.ts index 67491e9..1145a2f 100644 --- a/src/app/statistic-analysis/buildingType/building-type-one/building-type-one.component.ts +++ b/src/app/statistic-analysis/buildingType/building-type-one/building-type-one.component.ts @@ -14,6 +14,7 @@ export class BuildingTypeOneComponent implements OnInit { constructor(private http:HttpClient,private router: Router,public echartsData:EchartsDataService) { } ngOnInit(): void { + this.echartsData.getData(null,`/api/StatisticsAnalysis/BuildingTypes`) window.setTimeout(()=>{ this.initCharts() @@ -30,8 +31,8 @@ export class BuildingTypeOneComponent implements OnInit { indexData=[]//所有数据 tabledata initCharts(){ - console.log(this.echartsData.obdata) this.tabledata=JSON.parse(JSON.stringify(this.echartsData.allDate)) + console.log(this.tabledata) for(var i=0;i{ - console.log(params) this.echartsData.biaogeTishiZhi(params.data) return this.echartsData.res - } }, legend: { diff --git a/src/app/statistic-analysis/buildingType/building-type-three-details/building-type-three-details.component.ts b/src/app/statistic-analysis/buildingType/building-type-three-details/building-type-three-details.component.ts index 9be3fca..24a98d4 100644 --- a/src/app/statistic-analysis/buildingType/building-type-three-details/building-type-three-details.component.ts +++ b/src/app/statistic-analysis/buildingType/building-type-three-details/building-type-three-details.component.ts @@ -118,6 +118,7 @@ export class BuildingTypeThreeDetailsComponent implements OnInit { } }, series: [{ + id:this.organizationId, data: this.zhongNumData, type: 'bar', barWidth :'38', @@ -137,7 +138,7 @@ export class BuildingTypeThreeDetailsComponent implements OnInit { if (this.detailPlanEchart.containPixel('grid',pointInPixel)) { let xIndex=this.detailPlanEchart.convertFromPixel({seriesIndex:0},[params.offsetX, params.offsetY])[0]; /*事件处理代码书写位置*/ - if(this.echartsData.level=="0"&&this.tiao==false&&this.tabledata[0].organizations.length>1){ + if(this.echartsData.level=="0"&&this.tiao==false&&this.tabledata[0].organizations[xIndex].subOrganizations.length>=1){ //总队不跳转 console.log(params) this.zhongNameData=[] @@ -162,12 +163,17 @@ export class BuildingTypeThreeDetailsComponent implements OnInit { option.series[0].data = this.zhongNumData this.tiaoshiPao=this.echartsData.qipao(this.tiaoshiPao,this.zhongNumData,this.zhongNameData) option.series[0].markPoint.data=this.tiaoshiPao + //option.series[0].id=this.organizationId + option.xAxis.id=this.organizationId + this.detailPlanEchart.clear() this.detailPlanEchart.setOption(option) + //this.detailEcharts() },1000) this.tiao=true } else{ + console.log(option.series[0].id) this.router.navigate(['/statisticanalysis/CompangInfo'],{queryParams:{'name':option.xAxis.data[xIndex],'type':1,'jsid':option.xAxis.id[xIndex]}}); } @@ -176,30 +182,42 @@ export class BuildingTypeThreeDetailsComponent implements OnInit { } tiao=false - - tableTooltip(params:any){ - console.log(params) - var data = [ - {name:params.name,number:params.value,zhanbi:((params.value/this.tabledata[0].totalCount) * 100).toFixed(2) + "%"} - ] - var res = '
'+params.name+'
' - res+='
'; - res+=''; - res+=''; - res+='' - res+='' - res+='' - res+=''; - for(var i=0;i' - res+='' - res+='' - } - - res+='' - // res+='' - res+='
名称数量总占比
'+data[i].number+''+data[i].zhanbi+'
总计135619%
' - return res + tishiData + res + tableTooltip(datas:any){ + console.log(datas) + for(var a in this.echartsData.obdata[0].organizations){ + if(this.echartsData.obdata[0].organizations[a].organizationName==datas.name){ + this.tishiData=this.echartsData.obdata[0].organizations[a].subOrganizations + } + } + console.log(this.tishiData) + var countall=0//总计 + var countbi=0//站比 + var allCountbi=0//总站比 + for(var i=0;i
' + this.res+='
'; + this.res+=''; + this.res+=''; + this.res+='' + this.res+='' + this.res+='' + this.res+=''; + for(var i=0;i' + this.res+='' + this.res+='' + } + + this.res+='' + this.res+='' + this.res+='
名称数量总占比
'+this.tishiData[i].count+''+countbi+'%
总计'+countall+''+allCountbi.toFixed(2)+'%
' + return this.res } } diff --git a/src/app/statistic-analysis/buildingType/building-type-two-reverse/building-type-two-reverse.component.ts b/src/app/statistic-analysis/buildingType/building-type-two-reverse/building-type-two-reverse.component.ts index a0949f2..4cbd064 100644 --- a/src/app/statistic-analysis/buildingType/building-type-two-reverse/building-type-two-reverse.component.ts +++ b/src/app/statistic-analysis/buildingType/building-type-two-reverse/building-type-two-reverse.component.ts @@ -27,7 +27,7 @@ export class BuildingTypeTwoReverseComponent implements OnInit { }); let paramsdata:any = { id:this.buildId, - organizationId:'1' + //organizationId:'1' } this.data.getData(paramsdata,`/api/StatisticsAnalysis/Companies/BuildingTypes/${this.buildId}`) window.setTimeout(()=>{ @@ -37,7 +37,7 @@ export class BuildingTypeTwoReverseComponent implements OnInit { this.zhiNumData.push(this.tabledata[0].organizations[i].count) this.organizationId.push(this.tabledata[0].organizations[i].organizationId) } - this.bianli() + this.tiaoshiPao=this.data.qipao(this.tiaoshiPao,this.zhiNumData,this.zhiNameData) this.barEcharts() },1000); @@ -129,15 +129,16 @@ export class BuildingTypeTwoReverseComponent implements OnInit { tiaoshiPao:any //气泡提示数据获取 bianli(){ - console.log(this.zhiNameData,this.zhiNumData) - var arrshuzu='['; + if(this.zhiNumData.length>=1){ + var arrshuzu='['; for(var i=0;i{ - return this.tableTooltip(this.tableDataZhong,params.name) + console.log(params) + return this.tableTooltip(params) }, position: this.data.tableTooltipNoShow2 }, @@ -336,27 +338,42 @@ export class BuildingTypeTwoReverseComponent implements OnInit { } //提示框表格 - tableTooltip(dataArr,title:string){ - let data = dataArr - var res = '
'+title+'
' - res+='
'; - res+=''; - res+=''; - res+='' - res+='' - res+='' - res+=''; - //var res='
'+biaotou+'
' - for(var i=0;i' - res+='
' - res+='' - } - - res+='' - res+='' - res+='
名称数量总占比
'+this.tableDataZhong[i].number+''+this.tableDataZhong[i].zhanbi+'
总计135619%
' - return res + res + tishiData + tableTooltip(datas){ + console.log(datas) + for(var a in this.data.obdata[0].organizations){ + if(this.data.obdata[0].organizations[a].organizationName==datas.name){ + this.tishiData=this.data.obdata[0].organizations[a].subOrganizations + } + } + console.log(this.tishiData) + var countall=0//总计 + var countbi=0//站比 + var allCountbi=0//总站比 + for(var i=0;i
' + this.res+='
'; + this.res+=''; + this.res+=''; + this.res+='' + this.res+='' + this.res+='' + this.res+=''; + for(var i=0;i' + this.res+='' + this.res+='' + } + + this.res+='' + this.res+='' + this.res+='
名称数量总占比
'+this.tishiData[i].count+''+countbi+'%
总计'+countall+''+allCountbi.toFixed(2)+'%
' + return this.res } } diff --git a/src/app/statistic-analysis/compang-info/compang-info.component.ts b/src/app/statistic-analysis/compang-info/compang-info.component.ts index c314264..fe03854 100644 --- a/src/app/statistic-analysis/compang-info/compang-info.component.ts +++ b/src/app/statistic-analysis/compang-info/compang-info.component.ts @@ -4,7 +4,7 @@ * @Author: sueRimn * @Date: 2021-03-05 15:57:08 * @LastEditors: sueRimn - * @LastEditTime: 2021-03-10 17:02:33 + * @LastEditTime: 2021-03-12 10:05:29 */ import { Component, OnInit, ViewChild, Inject } from '@angular/core'; import { HttpClient } from '@angular/common/http' diff --git a/src/app/statistic-analysis/echarts-data.service.ts b/src/app/statistic-analysis/echarts-data.service.ts index 57a7cf9..2119436 100644 --- a/src/app/statistic-analysis/echarts-data.service.ts +++ b/src/app/statistic-analysis/echarts-data.service.ts @@ -397,7 +397,7 @@ export class EchartsDataService { return res } /** - * @name: 表格提示框封装 + * @name: 表格提示框封装(总队) * @test: test font * @msg: * @param {string(表头)} @@ -405,9 +405,11 @@ export class EchartsDataService { */ res tishiData + localData biaogeTishiZhi(datas){ + console.log(datas) for(var a in this.obdata[0].buildingTypes){ - if(this.obdata[0].buildingTypes[a].buildingTypeId==datas.id){ + if(this.obdata[0].buildingTypes[a].buildingTypeName==datas.name){ this.tishiData=this.obdata[0].buildingTypes[a].organizations } } @@ -440,7 +442,94 @@ export class EchartsDataService { this.res+='
' return this.res - } + } + + //支队表格提示 + biaogeTishida(datas){ + console.log(datas) + this.tishiData='' + for(var a in this.obdata[0].organizations){ + if(this.obdata[0].organizations[a].organizationName==datas.name){ + this.tishiData=this.obdata[0].organizations[a].subOrganizations + } + } + console.log(this.tishiData) + var countall=0//总计 + var countbi=0//站比 + var allCountbi=0//总站比 + for(var i=0;i
' + this.res+='
'; + this.res+=''; + this.res+=''; + this.res+='' + this.res+='' + this.res+='' + this.res+=''; + for(var i=0;i' + this.res+='' + this.res+='' + } + + this.res+='' + this.res+='' + this.res+='
名称数量总占比
'+this.tishiData[i].count+''+countbi+'%
总计'+countall+''+allCountbi.toFixed(2)+'%
' + return this.res + } + //预案表格提示 + apidata=[] + biaogeTishiyuan(datas){ + //localStorage.setItem('tishi',this.tishiData) + let paramdata={ + planStatus:datas.type + } + if(localStorage.getItem('tishi')==undefined){ + this.http.get(`/api/StatisticsAnalysis/Plans/Status`).subscribe((data:any)=>{ + this.tishiData=data.organizations + localStorage.setItem('tishi',JSON.stringify(this.tishiData)) + }) + } + this.localData=localStorage.getItem('tishi') + + + /* window.setTimeout(()=>{ + var countall=0//总计 + var countbi=0//站比 + var allCountbi=0//总站比 + for(var i=0;i' + this.res+='
'; + this.res+=''; + this.res+=''; + this.res+='' + this.res+='' + this.res+='' + this.res+=''; + for(var i=0;i' + this.res+='' + this.res+='' + } + this.res+='' + this.res+='' + this.res+='
名称数量总占比
'+this.tishiData[i].count+''+countbi+'%
总计'+countall+''+allCountbi.toFixed(2)+'%
' + return this.res + },1000) */ + + } + + zhiNameData = ["浦东支队","黄浦支队","徐汇支队","长宁支队","静安支队","普陀支队","虹口支队","杨浦支队","闵行支队","宝山支队","嘉定支队","松江支队","金山支队","崇明支队"] zhiNumData = [200,190,180,170,160,150,140,130,120,110,100,90,80,70] @@ -454,7 +543,8 @@ export class EchartsDataService { * @return {json对象} */ qipao(tiaoshiPao:any,yData,xData):any{ - var arrshuzu='['; + if(yData.length>=1){ + var arrshuzu='['; for(var i=0;i{ - console.log(params) - return this.echartsData.biaogeTishiZhi(params.data) - } */ + formatter: (params)=>{ + this.echartsData.biaogeTishiyuan(params.data) + return this.echartsData.res + } }, legend: { orient: 'vertical', @@ -94,11 +94,11 @@ export class PageOneComponent implements OnInit { }, data: [ - {value: 45, name: '预案新增'}, - {value: this.tabledata[0].planningStatistics.approvedCount, name: '预案审核通过',itemStyle:{color:'#02A7F0'}}, - {value: 37, name: '预案编制'}, - {value: this.tabledata[0].planningStatistics.rejectedCount, name: '预案审核退回'}, - {value: this.tabledata[0].planningStatistics.auditingCount, name: '预案审核中'} + {value: this.tabledata[0].planningStatistics.newCount, name: '预案新增',type:1}, + {value: this.tabledata[0].planningStatistics.approvedCount, name: '预案审核通过',itemStyle:{color:'#02A7F0'},type:3}, + {value: this.tabledata[0].planningStatistics.editingCount, name: '预案编制',type:5}, + {value: this.tabledata[0].planningStatistics.rejectedCount, name: '预案审核退回',type:4}, + {value: this.tabledata[0].planningStatistics.auditingCount, name: '预案审核中',type:2} ], emphasis: { itemStyle: { @@ -111,8 +111,13 @@ export class PageOneComponent implements OnInit { ] }; this.indexBzt.on('click', (params) => { - this.router.navigate(['/statisticanalysis/statePageOne/time'],{queryParams:{'level':params.name}}); - console.log(params) + if(this.echartsData.level=='0'||this.echartsData.level=='1'||this.echartsData.level=='2'){ + this.router.navigate(['/statisticanalysis/statePageOne/time'],{queryParams:{'level':params.name,'type':params.data.type}}); + } + else if(this.echartsData.level=='3'){ + //中队跳转 + this.router.navigate(['/statisticanalysis/CompangInfo'],{queryParams:{'name':params.name,'type':1}}); + } }); this.indexBzt.setOption(options); } diff --git a/src/app/statistic-analysis/state/page-there-year/page-there-year.component.html b/src/app/statistic-analysis/state/page-there-year/page-there-year.component.html index da3579f..a0b6c57 100644 --- a/src/app/statistic-analysis/state/page-there-year/page-there-year.component.html +++ b/src/app/statistic-analysis/state/page-there-year/page-there-year.component.html @@ -4,11 +4,11 @@ * @Author: sueRimn * @Date: 2020-09-17 10:56:18 * @LastEditors: sueRimn - * @LastEditTime: 2020-09-17 14:08:14 + * @LastEditTime: 2021-03-13 14:19:22 -->
-
+
diff --git a/src/app/statistic-analysis/state/page-there-year/page-there-year.component.ts b/src/app/statistic-analysis/state/page-there-year/page-there-year.component.ts index 1af1ab4..522bf39 100644 --- a/src/app/statistic-analysis/state/page-there-year/page-there-year.component.ts +++ b/src/app/statistic-analysis/state/page-there-year/page-there-year.component.ts @@ -19,16 +19,30 @@ export class PageThereYearComponent implements OnInit { buildingTypeName:String level:String setTimeoutObj//延时器需要清除 + type + tabledata ngOnInit(): void { this.dateInit () - this.bianli() this.route.queryParams.subscribe(params => { this.year = params['level']; this.buildingTypeName = params['headtext']; + this.type=params['type'] }); + let paramdata={ + planStatus:this.type, + TrendType:this.serviceData.selectType + } + this.serviceData.getData(paramdata,`/api/StatisticsAnalysis`) this.setTimeoutObj = window.setTimeout(()=>{ + this.tabledata=JSON.parse(JSON.stringify(this.serviceData.allDate)) + console.log(this.tabledata[0].planStatistics.trendStatistics.added) + for(var i=0;i
-
+
diff --git a/src/app/statistic-analysis/state/page-there/page-there.component.ts b/src/app/statistic-analysis/state/page-there/page-there.component.ts index 28579fa..3ee366c 100644 --- a/src/app/statistic-analysis/state/page-there/page-there.component.ts +++ b/src/app/statistic-analysis/state/page-there/page-there.component.ts @@ -21,6 +21,9 @@ export class PageThereComponent implements OnInit { setTimeoutObj//延时器需要清除 headtext:string; zhong:string + type + tabledata + organizationId=[] ngOnDestroy():void{ this.zhutu.clear() @@ -28,23 +31,33 @@ export class PageThereComponent implements OnInit { } ngOnInit(): void { - this.tiaoshiPao=this.echartsData.qipao(this.tiaoshiPao,this.zhiNumData,this.zhiNameData) this.dateInit(); - //let headtext:string; let datayuex:string; let headName:string; - // console.log(this.activatedRoute.queryParams.subscribe) - //headtext=this.activatedRoute.queryParams["headtext"]; this.activatedRoute.queryParams.subscribe(param=>{ + this.type=param.type this.headtext=param.headtext datayuex=param.level this.zhong=param.zhong - headName=datayuex+''+this.headtext; + headName=datayuex+'月'+this.headtext; //console.log(headName) }); + let paramdata={ + planStatus:this.type, + TrendType:this.echartsData.selectType + } + this.echartsData.getData(paramdata,`/api/StatisticsAnalysis`) window.setTimeout(()=>{ + this.tabledata=JSON.parse(JSON.stringify(this.echartsData.allDate)) + console.log(this.tabledata) + for(var i=0;i { diff --git a/src/app/statistic-analysis/state/page-two-name/page-two-name.component.ts b/src/app/statistic-analysis/state/page-two-name/page-two-name.component.ts index 517ff40..f523879 100644 --- a/src/app/statistic-analysis/state/page-two-name/page-two-name.component.ts +++ b/src/app/statistic-analysis/state/page-two-name/page-two-name.component.ts @@ -15,18 +15,31 @@ export class PageTwoNameComponent implements OnInit { @ViewChild('zhongDuiChild') zhongDuiChild:PageZhongDuiDetailsComponent; //父组件中获得子组件的引用 ngOnInit(): void { + this.route.queryParams.subscribe(param=>{ + this.headname=param.level + this.type=param.type + }); + let paramdata={ + planStatus:this.type + } + this.data.getData(paramdata,`/api/StatisticsAnalysis/Plans/Status`) setTimeout(() => { + this.tabledata=JSON.parse(JSON.stringify(this.data.allDate)) + console.log(this.tabledata) + for(var i=0;i{ - this.headname=param.level - }); this.planAdd() - }, 0); + },1000); } ngOnDestroy(): void { } headname//标题 + type//预案类型 axisLabel = { interval: 0, textStyle:{ @@ -67,8 +80,8 @@ export class PageTwoNameComponent implements OnInit { } }//柱状图上方显示数值 - zhiNameData = ["浦东支队","黄浦支队","徐汇支队","长宁支队","静安支队","普陀支队","虹口支队","杨浦支队","闵行支队","宝山支队","嘉定支队","松江支队","金山支队","崇明支队"] - zhiNumData = [200,190,180,170,160,150,140,130,120,110,100,90,80,70] + zhiNameData = [] + zhiNumData = [] tiaoshiPao:any //气泡提示数据获取 bianli(){ @@ -82,13 +95,15 @@ export class PageTwoNameComponent implements OnInit { //return tishiPao } addEchart + tabledata + organizationId=[] //预案新增统计 planAdd () { let _this = this this.addEchart = echarts.init(document.getElementById('pie'),'walden'); var option = { title: { - text: _this.headname+"总数(102)", + text: _this.headname+`总数(${this.tabledata[0].totalCount})`, left: "center", top: "0", bottom: '100%', @@ -96,8 +111,12 @@ export class PageTwoNameComponent implements OnInit { fontSize: 30 } }, - + grid: { + top: 110, + //bottom: 10 + }, xAxis: { + id:this.organizationId, type: 'category', data: this.zhiNameData, axisLabel:{ @@ -146,323 +165,18 @@ export class PageTwoNameComponent implements OnInit { if (this.addEchart.containPixel('grid',pointInPixel)) { let xIndex=this.addEchart.convertFromPixel({seriesIndex:0},[params.offsetX, params.offsetY])[0]; /*事件处理代码书写位置*/ - this.router.navigate(['/statisticanalysis/PageZhongDuiDetails'],{queryParams:{'level':option.xAxis.data[xIndex],'headtext':option.title.text}}); - } - - }); - } - passPlanEchartObj - //预案审核通过 - passPlanEchart (){ - let _this = this - this.passPlanEchartObj = echarts.init(document.getElementById('passPlanEchart'),'walden'); - var option = { - title: { - text: "预案审核通过:总数(1024)", - left: "center", - top: "0", - bottom: '100%', - textStyle: { - fontSize: 23 - } - }, - xAxis: { - type: 'category', - data: this.zhiNameData, - axisLabel: this.axisLabel - }, - yAxis: { - type: 'value', - axisLabel:{ - //this.axisLabel, - textStyle:{ - fontSize :16, - color:'#000000' - } - } - }, - tooltip: { - trigger: 'item', - formatter: (params)=>{ - return this.data.biaogeTishi(params.name) - }/* , - position: this.data.tableTooltipNoShow2 */ - }, - series: [{ - data: this.zhiNumData, - type: 'bar', - markPoint: { - data: this.tiaoshiPao - }, - backgroundStyle: { - color: 'rgba(220, 220, 220, 0.8)' - }, - barWidth :'28', - //label: this.topTextlabel - }] - }; - this.passPlanEchartObj.setOption(option); - this.passPlanEchartObj.getZr().on('click', (params) => { - const pointInPixel= [params.offsetX, params.offsetY]; - if (this.passPlanEchartObj.containPixel('grid',pointInPixel)) { - let xIndex=this.passPlanEchartObj.convertFromPixel({seriesIndex:0},[params.offsetX, params.offsetY])[0]; - /*事件处理代码书写位置*/ - this.router.navigate(['/statisticanalysis/PageZhongDuiDetails'],{queryParams:{'level':option.xAxis.data[xIndex],'headtext':option.title.text}}); - } - - }); - } - passMakeEchart - //预案编制 - planMake (){ - let _this = this - this.passMakeEchart = echarts.init(document.getElementById('planMake'),'walden'); - var option = { - title: { - text: "预案编制:总数(1024)", - left: "center", - top: "0", - bottom: '100%', - textStyle: { - fontSize: 23 - } - }, - xAxis: { - type: 'category', - data: this.zhiNameData, - axisLabel: this.axisLabel - }, - yAxis: { - type: 'value', - axisLabel:{ - //this.axisLabel, - textStyle:{ - fontSize :16, - color:'#000000' - } - } - }, - tooltip: { - trigger: 'item', - formatter: (params)=>{ - return this.data.biaogeTishi(params.name) - }/* , - position: this.data.tableTooltipNoShow2 */ - - }, - series: [{ - data: this.zhiNumData, - type: 'bar', - markPoint: { - data: this.tiaoshiPao - }, - backgroundStyle: { - color: 'rgba(220, 220, 220, 0.8)' - }, - barWidth :'28', - //label: this.topTextlabel - }] - }; - this.passMakeEchart.setOption(option); - this.passMakeEchart.getZr().on('click', (params) => { - const pointInPixel= [params.offsetX, params.offsetY]; - if (this.passMakeEchart.containPixel('grid',pointInPixel)) { - let xIndex=this.passMakeEchart.convertFromPixel({seriesIndex:0},[params.offsetX, params.offsetY])[0]; - /*事件处理代码书写位置*/ - this.router.navigate(['/statisticanalysis/PageZhongDuiDetails'],{queryParams:{'level':option.xAxis.data[xIndex],'headtext':option.title.text}}); - } - - }); - } - passBackEchart - //预案审核退回 - planBack (){ - let _this = this - this.passBackEchart = echarts.init(document.getElementById('planBack'),'walden'); - var option = { - title: { - text: "预案审核退回:总数(1024)", - left: "center", - top: "0", - bottom: '100%', - textStyle: { - fontSize: 23 - } - }, - xAxis: { - type: 'category', - data: this.zhiNameData, - axisLabel: this.axisLabel - }, - yAxis: { - type: 'value', - axisLabel:{ - //this.axisLabel, - textStyle:{ - fontSize :16, - color:'#000000' - } - } - }, - tooltip: { - trigger: 'item', - formatter: (params)=>{ - return this.data.biaogeTishi(params.name) - }/* , - position: this.data.tableTooltipNoShow2 */ - - }, - series: [{ - data: this.zhiNumData, - type: 'bar', - markPoint: { - data: this.tiaoshiPao - }, - backgroundStyle: { - color: 'rgba(220, 220, 220, 0.8)' - }, - barWidth :'28', - //label: this.topTextlabel - }] - }; - this.passBackEchart.setOption(option); - this.passBackEchart.getZr().on('click', (params) => { - const pointInPixel= [params.offsetX, params.offsetY]; - if (this.passBackEchart.containPixel('grid',pointInPixel)) { - let xIndex=this.passBackEchart.convertFromPixel({seriesIndex:0},[params.offsetX, params.offsetY])[0]; - /*事件处理代码书写位置*/ - this.router.navigate(['/statisticanalysis/PageZhongDuiDetails'],{queryParams:{'level':option.xAxis.data[xIndex],'headtext':option.title.text}}); - } - - }); - } - planAuditEchart - //预案审核中 - planAudit (){ - let _this = this - this.planAuditEchart = echarts.init(document.getElementById('planAudit'),'walden'); - var option = { - title: { - text: "预案审核中:总数(1024)", - left: "center", - top: "0", - bottom: '100%', - textStyle: { - fontSize: 23 + if(this.data.level=='0'||this.data.level=='1'){ + this.router.navigate(['/statisticanalysis/PageZhongDuiDetails'],{queryParams:{'level':option.xAxis.data[xIndex],'headtext':_this.headname,'id':option.xAxis.id[xIndex],'type':this.type}}); + }else{ + this.router.navigate(['/statisticanalysis/CompangInfo'],{queryParams:{'name':params.name,'type':1}}); } - }, - xAxis: { - type: 'category', - data: this.zhiNameData, - axisLabel: this.axisLabel - }, - yAxis: { - type: 'value', - axisLabel:{ - //this.axisLabel, - textStyle:{ - fontSize :16, - color:'#000000' - } - } - }, - tooltip: { - trigger: 'item', - formatter: (params)=>{ - return this.data.biaogeTishi(params.name) - }/* , - position: this.data.tableTooltipNoShow2 */ - }, - series: [{ - data: this.zhiNumData, - type: 'bar', - markPoint: { - data: this.tiaoshiPao - }, - backgroundStyle: { - color: 'rgba(220, 220, 220, 0.8)' - }, - barWidth :'28', - //label: this.topTextlabel - }] - }; - this.planAuditEchart.setOption(option); - this.planAuditEchart.getZr().on('click', (params) => { - const pointInPixel= [params.offsetX, params.offsetY]; - if (this.planAuditEchart.containPixel('grid',pointInPixel)) { - let xIndex=this.planAuditEchart.convertFromPixel({seriesIndex:0},[params.offsetX, params.offsetY])[0]; - /*事件处理代码书写位置*/ - this.router.navigate(['/statisticanalysis/PageZhongDuiDetails'],{queryParams:{'level':option.xAxis.data[xIndex],'headtext':option.title.text}}); } }); } - topEchart - //预案状态统计 - planState(){ - this.topEchart = echarts.init(document.getElementById('pie'),'walden'); - var option = { - title: { - text: '预案状态统计(7005份)', - left: 'center', - top: "6%", - textStyle: { - fontSize: 30 - } - }, - tooltip: { - trigger: 'item', - formatter: (params)=>{ - return this.data.biaogeTishiZhi(params.name) - }, - position: this.data.tableTooltipNoShow2 - }, - legend: { - orient: 'vertical', - right: '13%', - top: "26%", - textStyle:{ - fontSize:18, - color:"#000000" - }, - data: ['预案新增', '预案审核通过', '预案编制', '预案审核退回', '预案审核中'] - }, - series: [ - { - name: '访问来源', - type: 'pie', - radius: '75%', - center: ['50%', '60%'], - data: [ - {value: 1585, name: '预案新增'}, - {value: 2000, name: '预案审核通过'}, - {value: 2600, name: '预案编制'}, - {value: 1500, name: '预案审核退回'}, - {value: 1800, name: '预案审核中'} - ], - label: { - formatter: '{b}({c}份)\n{d|{d}%}', - fontSize :18, - rich: { - d: { - align: 'center', - fontSize :18 - } - }, - }, - emphasis: { - itemStyle: { - shadowBlur: 10, - shadowOffsetX: 0, - shadowColor: 'rgba(0, 0, 0, 0.5)' - } - } - } - ] - } - this.topEchart.setOption(option); - } + passPlanEchartObj + tableTooltip(biaotou:string){ var shuju='[{"name":"浦东支队","number":"156","zhanbi":"3%"},{"name":"黄浦支队","number":"144","zhanbi":"2.8%"},' diff --git a/src/app/statistic-analysis/state/page-two-time/page-two-time.component.ts b/src/app/statistic-analysis/state/page-two-time/page-two-time.component.ts index 43fc9ef..acd17d0 100644 --- a/src/app/statistic-analysis/state/page-two-time/page-two-time.component.ts +++ b/src/app/statistic-analysis/state/page-two-time/page-two-time.component.ts @@ -15,19 +15,23 @@ declare var echarts: any; }) export class PageTwoTimeComponent implements OnInit { - constructor(private router: Router,public snackBar: MatSnackBar,private adapter: DateAdapter,public echartsData:EchartsDataService) { } + constructor(private router: Router,public snackBar: MatSnackBar,private adapter: DateAdapter,public echartsData:EchartsDataService,private activatedRoute: ActivatedRoute) { } @ViewChild('appEcharts')appEcharts :echartsComponent; //父组件中获得子组件的引用 @ViewChild('pageTwoName')pageTwoName :PageTwoNameComponent; //父组件中获得子组件的引用 + @ViewChild('echartsComponent')echartsComponent :echartsComponent; //父组件中获得子组件的引用 ngOnInit(): void { + this.activatedRoute.queryParams.subscribe(param=>{ + this.type=param.type + }); this.echartsData.statefulInspectionToggle = true this.dateInit() this.bianli() } isQuery:boolean = true; //横纵向查询 - + type //shao toggleTrue () { this.isQuery = true @@ -52,10 +56,16 @@ export class PageTwoTimeComponent implements OnInit { changeTime (e) { let data = e.value this.appEcharts.changeTime(data) + if(e.value=='month'){ + this.echartsData.selectType=0 + } + else if(e.value=='year'){ + this.echartsData.selectType=2 + } } //查询数据 - years:any = [] + years:any = [2020,2021] selectMonth:any = [1,2,3,4,5,6,7,8,9,10,11,12] tiaoshiPao:any datayuey=[270, 253, 244, 199, 189, 173, 160, 198,200] @@ -76,34 +86,23 @@ export class PageTwoTimeComponent implements OnInit { dateInit () { let date = (new Date()).getFullYear() for (let i=date; i>=date-10;i--) { - this.years.unshift(i) + //this.years.unshift(i) } } selectOneYear:any = (new Date()).getFullYear() //开始年份 selectTwoYear:any = (new Date()).getFullYear() //结束年份 selectStartMonth:any = 1 //开始月份 - selectEndMonth:any = (new Date()).getMonth()+1 //结束月份 + selectEndMonth:any = 12 //结束月份 //按月查询 monthSubmit (e) { - if (e.selectTwoYear > e.selectOneYear) { + if(e.selectEndMonth >= e.selectStartMonth) { let startTime = e.selectOneYear + '-' + e.selectStartMonth + '-' + 1 + ' ' + 0 + ':' + 0 +':'+ 0 let endTime = e.selectTwoYear + '-' + e.selectEndMonth + '-' + 31 + ' ' + 23 + ':' + 59 +':'+ 59 - //console.log(startTime) - //console.log(endTime) - } else if (e.selectTwoYear === e.selectOneYear) { - if(e.selectEndMonth >= e.selectStartMonth) { - let startTime = e.selectOneYear + '-' + e.selectStartMonth + '-' + 1 + ' ' + 0 + ':' + 0 +':'+ 0 - let endTime = e.selectTwoYear + '-' + e.selectEndMonth + '-' + 31 + ' ' + 23 + ':' + 59 +':'+ 59 - //console.log(startTime) - //console.log(endTime) - } else { - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('请选择正确时间区段','确定',config); - } - }else { + this.echartsData.selectStartMonth=e.selectStartMonth + this.echartsData.selectEndMonth=e.selectEndMonth + this.appEcharts.findYue() + } else { const config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 @@ -113,15 +112,15 @@ export class PageTwoTimeComponent implements OnInit { - selectStartYear:any = (new Date()).getFullYear() //开始年份 + selectStartYear:any = (new Date()).getFullYear()-1 //开始年份 selectEndYear:any = (new Date()).getFullYear() //结束年份 //按年查询 yearSubmit (e) { if (e.selectEndYear >= e.selectStartYear) { let startTime = e.selectStartYear + '-' + 1 + '-' + 1 + ' ' + 0 + ':' + 0 +':'+ 0 let endTime = e.selectEndYear + '-' + 12 + '-' + 31 + ' ' + 23 + ':' + 59 +':'+ 59 - //console.log(startTime) - //console.log(endTime) + this.echartsData.selectOneYear=e.selectStartYear + this.echartsData.selectTwoYear=e.selectEndYear } else { const config = new MatSnackBarConfig(); config.verticalPosition = 'top'; @@ -143,11 +142,12 @@ export class echartsComponent implements OnInit { constructor(private router: Router,private activatedRoute: ActivatedRoute,public snackBar: MatSnackBar,private adapter: DateAdapter,public echartsData:EchartsDataService) { } + type tiaoshiPao:any - datayuey=[270, 253, 244, 199, 189, 173, 160, 198, 200] - datayuex=['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月','9月'] - dataYearX = ['2019','2020'] - dataYearY = [1078, 936] + datayuey=[] + datayuex=[] + dataYearX = ['2020','2021'] + dataYearY = ['0'] //气泡提示数据获取 bianli(){ var arrshuzu='['; @@ -159,18 +159,30 @@ export class echartsComponent implements OnInit { this.tiaoshiPao=JSON.parse(arrshuzu) } ngOnInit(): void { + this.activatedRoute.queryParams.subscribe(param=>{ + this.headtext=param.level + this.type=param.type + }); + let paramdata={ + //planStatus:this.type, + TrendType:this.echartsData.selectType + } + this.echartsData.getData(paramdata,`/api/StatisticsAnalysis`) window.setTimeout(()=>{ - this.tiaoshiPao=this.echartsData.qipao(this.tiaoshiPao,this.datayuey,this.datayuex) - this.activatedRoute.queryParams.subscribe(param=>{ - this.headtext=param.level - }); + this.tabledata=JSON.parse(JSON.stringify(this.echartsData.allDate)) + //console.log(this.tabledata[0].companyStatistics.trendStatistics.added) + for(var i=0;i=this.echartsData.selectStartMonth||this.tabledata[0].companyStatistics.trendStatistics.added[i].month<=this.echartsData.selectEndMonth){ + this.datayuex.push(this.tabledata[0].companyStatistics.trendStatistics.added[i].month) + this.datayuey.push(this.tabledata[0].companyStatistics.trendStatistics.added[i].count) + } + } + + + this.tiaoshiPao=this.echartsData.qipao(this.tiaoshiPao,this.datayuey,this.datayuex) //this.oneInit() this.twoInit() - /* this.threeInit() - this.fourInit() - this.fiveInit() - this.sixInit() */ - },0) + },1000) } ngOnDestroy () { @@ -185,110 +197,60 @@ export class echartsComponent implements OnInit { if (e=='year') { - this.tiaoshiPao=this.echartsData.qipao(this.tiaoshiPao,this.dataYearY,this.dataYearX) + //this.oneInit(this.dataYearX,this.dataYearY) - this.twoInit(this.dataYearX,this.dataYearY) + this.echartsData.selectType=2 + let paramdata={ + //planStatus:this.type, + TrendType:this.echartsData.selectType + } + this.echartsData.getData(paramdata,`/api/StatisticsAnalysis`) + window.setTimeout(()=>{ + this.tabledata=JSON.parse(JSON.stringify(this.echartsData.allDate)) + console.log(this.tabledata[0].companyStatistics.trendStatistics.added) + this.dataYearY.push(this.tabledata[0].companyStatistics.trendStatistics.added[0].count) + this.tiaoshiPao=this.echartsData.qipao(this.tiaoshiPao,this.datayuey,this.datayuex) + //this.oneInit() + this.tiaoshiPao=this.echartsData.qipao(this.tiaoshiPao,this.dataYearY,this.dataYearX) + this.twoInit(this.dataYearX,this.dataYearY) + },1000) + //this.twoInit(this.dataYearX,this.dataYearY) } else { this.tiaoshiPao=this.echartsData.qipao(this.tiaoshiPao,this.datayuey,this.datayuex) //this.oneInit() + this.echartsData.selectType=0 this.twoInit() } } - - oneExample:any; - oneInit (X=this.datayuex, Y=this.datayuey) { - this.oneExample = echarts.init(document.getElementById('one'),'walden'); - var option = { - grid: { - top: 50, - left:50, - right: 20, - }, - tooltip: { - trigger: 'axis', - formatter: (params)=>{ - return this.echartsData.tableTooltip(this.echartsData.planData,params[0].name) - }, - }, - // 标题 - title: { - text: '预案统计状态'+':总数(102)', - top: -4, - left: 'center', - subtext:'今年', -   //副标题文本样式 -   subtextStyle:{ - color:'#999', - fontWeight:'bold', - }, - textStyle:{ - //文字颜色 - color:'#000', - fontSize: 22, - } - }, - // x轴 - xAxis: { - type: 'category', - data: X, - boundaryGap: true, - axisLabel: { - color: "#000", //刻度线标签颜色 - textStyle:{ - fontSize :15, - color:'#000000' - }, - }, - //设置坐标轴字体颜色和宽度 - axisLine: { - lineStyle: { - color: "#000", - }, - }, - splitLine: {//分割线配置 - show:true, - lineStyle: { - color: '#999', - } - } - }, - // y轴 - yAxis: { - type: 'value', - name: '个', - axisLabel: { - textStyle:{ - fontSize :15, - color:'#000000' - }, - color: "#000" //刻度线标签颜色 - }, - //设置坐标轴字体颜色和宽度 - axisLine: { - lineStyle: { - color: "#000", + //按月查询 + findYue(){ + this.twoExample.clear() + this.datayuex=[] + this.datayuey=[] + let paramdata={ + planStatus:this.type, + TrendType:this.echartsData.selectType + } + this.echartsData.getData(paramdata,`/api/StatisticsAnalysis`) + window.setTimeout(()=>{ + this.tabledata=JSON.parse(JSON.stringify(this.echartsData.allDate)) + //console.log(this.tabledata[0].companyStatistics.trendStatistics.added) + for(var i=0;i=this.echartsData.selectStartMonth&&this.tabledata[0].companyStatistics.trendStatistics.added[i].month<=this.echartsData.selectEndMonth){ + this.datayuex.push(this.tabledata[0].companyStatistics.trendStatistics.added[i].month) + this.datayuey.push(this.tabledata[0].companyStatistics.trendStatistics.added[i].count) } } - }, - // 数据 - series: [{ - name: '单位预案编制数量', - type: 'line', - markPoint: { - symbolSize:[65, 65], - data: this.tiaoshiPao - }, - data: Y, - } - ], - }; - this.oneExample.setOption(option); + this.tiaoshiPao=this.echartsData.qipao(this.tiaoshiPao,this.datayuey,this.datayuex) + this.twoInit(this.datayuex,this.datayuey) + },1000) } headtext twoExample:any; + tabledata twoInit (X=this.datayuex, Y=this.datayuey) { let that = this this.twoExample = echarts.init(document.getElementById('two'), 'skinUpp'); @@ -377,112 +339,17 @@ export class echartsComponent implements OnInit { const pointInPixel= [params.offsetX, params.offsetY]; if (this.twoExample.containPixel('grid',pointInPixel)) { let xIndex=this.twoExample.convertFromPixel({seriesIndex:0},[params.offsetX, params.offsetY])[0]; - if(option.xAxis.data[xIndex]=='2019'||option.xAxis.data[xIndex]=='2020'){ - this.router.navigate(['/statisticanalysis/stataPageThereYearComponent'],{queryParams:{'level':option.xAxis.data[xIndex],'headtext':option.title.text}}); + if(this.echartsData.selectType==2){ + this.router.navigate(['/statisticanalysis/stataPageThereYearComponent'],{queryParams:{'level':option.xAxis.data[xIndex],'headtext':option.title.text,'type':this.type}}); }else{ /*事件处理代码书写位置*/ - this.router.navigate(['/statisticanalysis/stataPageThere'],{queryParams:{'level':option.xAxis.data[xIndex],'headtext':option.title.text}}); - } - - } - - }); - } - - threeExample:any; - threeInit (X=this.datayuex, Y=this.datayuey) { - let that = this - this.threeExample = echarts.init(document.getElementById('three'), 'skinUpp'); - var option = { - grid: { - top: 50, - left:50, - right: 20, - }, - // 标题 - title: { - text: '预案审核通过'+':总数(1024)', - top: -4, - left: 'center', - bottom: 100, - textStyle:{ - //文字颜色 - color:'#000', - } - }, - //提示框 - tooltip: { - trigger: 'axis', - formatter: (params)=>{ - return this.echartsData.tableTooltip(this.echartsData.tableDataZhi,'预案审核通过') - } - }, - // x轴 - xAxis: { - type: 'category', - data: X, - boundaryGap: true, - axisLabel: { - textStyle:{ - fontSize :15, - color:'#000000' - }, - color: "#000", //刻度线标签颜色 - }, - //设置坐标轴字体颜色和宽度 - axisLine: { - lineStyle: { - color: "#000", - }, - }, - splitLine: {//分割线配置 - show:true, - lineStyle: { - color: '#999', - } - } - }, - // y轴 - yAxis: { - type: 'value', - name: '个', - axisLabel: { - textStyle:{ - fontSize :15, - color:'#000000' - }, - color: "#000" //刻度线标签颜色 - }, - //设置坐标轴字体颜色和宽度 - axisLine: { - lineStyle: { - color: "#000", + 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}}); + } else if(this.echartsData.level=='3'){ + //中队跳转 + this.router.navigate(['/statisticanalysis/CompangInfo'],{queryParams:{'name':params.name,'type':1}}); } - } - }, - // 数据 - series: [{ - name: '单位预案编制数量', - type: 'line', - markPoint: { - - symbolSize:[65, 65], - data: this.tiaoshiPao - }, - data: Y, - } - ], - }; - this.threeExample.setOption(option); - this.threeExample.getZr().on('click', (params) => { - const pointInPixel= [params.offsetX, params.offsetY]; - if (this.threeExample.containPixel('grid',pointInPixel)) { - let xIndex=this.threeExample.convertFromPixel({seriesIndex:0},[params.offsetX, params.offsetY])[0]; - if(option.xAxis.data[xIndex]=='2019'||option.xAxis.data[xIndex]=='2020'){ - this.router.navigate(['/statisticanalysis/stataPageThereYearComponent'],{queryParams:{'level':option.xAxis.data[xIndex],'headtext':option.title.text}}); - }else{ - /*事件处理代码书写位置*/ - this.router.navigate(['/statisticanalysis/stataPageThere'],{queryParams:{'level':option.xAxis.data[xIndex],'headtext':option.title.text}}); + } } @@ -490,312 +357,8 @@ export class echartsComponent implements OnInit { }); } - fourExample:any; - fourInit (X=this.datayuex, Y=this.datayuey) { - let that = this - this.fourExample = echarts.init(document.getElementById('four'), 'skinUpp'); - var option = { - grid: { - top: 50, - left:50, - right: 20, - }, - // 标题 - title: { - text: '预案编制'+':总数(1024)', - top: -4, - left: 'center', - bottom: 100, - textStyle:{ - //文字颜色 - color:'#000', - } - }, - //提示框 - tooltip: { - trigger: 'axis', - - formatter: (params)=>{ - return this.echartsData.tableTooltip(this.echartsData.tableDataZhi,'预案编制') - } - }, - // x轴 - xAxis: { - type: 'category', - data: X, - boundaryGap: true, - axisLabel: { - textStyle:{ - fontSize :15, - color:'#000000' - }, - color: "#000", //刻度线标签颜色 - }, - //设置坐标轴字体颜色和宽度 - axisLine: { - lineStyle: { - color: "#000", - }, - }, - splitLine: {//分割线配置 - show:true, - lineStyle: { - color: '#999', - } - } - }, - // y轴 - yAxis: { - type: 'value', - name: '个', - axisLabel: { - textStyle:{ - fontSize :15, - color:'#000000' - }, - color: "#000" //刻度线标签颜色 - }, - //设置坐标轴字体颜色和宽度 - axisLine: { - lineStyle: { - color: "#000", - } - } - }, - // 数据 - series: [{ - name: '单位预案编制数量', - type: 'line', - markPoint: { - - symbolSize:[65, 65], - data: this.tiaoshiPao - }, - data: Y, - } - ], - }; - this.fourExample.setOption(option); - this.fourExample.getZr().on('click', (params) => { - const pointInPixel= [params.offsetX, params.offsetY]; - if (this.fourExample.containPixel('grid',pointInPixel)) { - let xIndex=this.fourExample.convertFromPixel({seriesIndex:0},[params.offsetX, params.offsetY])[0]; - if(option.xAxis.data[xIndex]=='2019'||option.xAxis.data[xIndex]=='2020'){ - this.router.navigate(['/statisticanalysis/stataPageThereYearComponent'],{queryParams:{'level':option.xAxis.data[xIndex],'headtext':option.title.text}}); - }else{ - /*事件处理代码书写位置*/ - this.router.navigate(['/statisticanalysis/stataPageThere'],{queryParams:{'level':option.xAxis.data[xIndex],'headtext':option.title.text}}); - } - - } - - }); - } - - fiveExample:any; - fiveInit (X=this.datayuex, Y=this.datayuey) { - let that = this - this.fiveExample = echarts.init(document.getElementById('five'), 'skinUpp'); - var option = { - grid: { - top: 50, - left:50, - right: 20, - bottom: 20, - }, - // 标题 - title: { - text: '预案审核退回'+':总数(1024)', - top: -4, - left: 'center', - bottom: 100, - textStyle:{ - //文字颜色 - color:'#000', - } - }, - //提示框 - tooltip: { - trigger: 'axis', - - formatter: (params)=>{ - return this.echartsData.tableTooltip(this.echartsData.tableDataZhi,'预案审核退回') - } - }, - // x轴 - xAxis: { - type: 'category', - data: X, - boundaryGap: true, - axisLabel: { - textStyle:{ - fontSize :15, - color:'#000000' - }, - color: "#000", //刻度线标签颜色 - }, - //设置坐标轴字体颜色和宽度 - axisLine: { - lineStyle: { - color: "#000", - }, - }, - splitLine: {//分割线配置 - show:true, - lineStyle: { - color: '#999', - } - } - }, - // y轴 - yAxis: { - type: 'value', - name: '个', - axisLabel: { - textStyle:{ - fontSize :15, - color:'#000000' - }, - color: "#000" //刻度线标签颜色 - }, - //设置坐标轴字体颜色和宽度 - axisLine: { - lineStyle: { - color: "#000", - } - } - }, - // 数据 - series: [{ - name: '单位预案编制数量', - type: 'line', - markPoint: { - - symbolSize:[65, 65], - data: this.tiaoshiPao - }, - data: Y, - } - ], - }; - this.fiveExample.setOption(option); - this.fiveExample.getZr().on('click', (params) => { - const pointInPixel= [params.offsetX, params.offsetY]; - if (this.fiveExample.containPixel('grid',pointInPixel)) { - let xIndex=this.fiveExample.convertFromPixel({seriesIndex:0},[params.offsetX, params.offsetY])[0]; - if(option.xAxis.data[xIndex]=='2019'||option.xAxis.data[xIndex]=='2020'){ - this.router.navigate(['/statisticanalysis/stataPageThereYearComponent'],{queryParams:{'level':option.xAxis.data[xIndex],'headtext':option.title.text}}); - }else{ - /*事件处理代码书写位置*/ - this.router.navigate(['/statisticanalysis/stataPageThere'],{queryParams:{'level':option.xAxis.data[xIndex],'headtext':option.title.text}}); - } - - } - - }); - } - - sixExample:any; - sixInit (X=this.datayuex, Y=this.datayuey) { - let that = this - this.sixExample = echarts.init(document.getElementById('six'), 'skinUpp'); - var option = { - grid: { - top: 50, - left:50, - right: 20, - bottom: 20, - }, - // 标题 - title: { - text: '预案审核中'+':总数(1024)', - top: -4, - left: 'center', - textStyle:{ - //文字颜色 - color:'#000', - } - }, - //提示框 - tooltip: { - trigger: 'axis', - - formatter: (params)=>{ - return this.echartsData.tableTooltip(this.echartsData.tableDataZhi,'预案审核中') - } - }, - // x轴 - xAxis: { - type: 'category', - data: X, - boundaryGap: true, - axisLabel: { - textStyle:{ - fontSize :15, - color:'#000000' - }, - color: "#000", //刻度线标签颜色 - }, - //设置坐标轴字体颜色和宽度 - axisLine: { - lineStyle: { - color: "#000", - }, - }, - splitLine: {//分割线配置 - show:true, - lineStyle: { - color: '#999', - } - } - }, - // y轴 - yAxis: { - type: 'value', - name: '个', - axisLabel: { - textStyle:{ - fontSize :15, - color:'#000000' - }, - color: "#000" //刻度线标签颜色 - }, - //设置坐标轴字体颜色和宽度 - axisLine: { - lineStyle: { - color: "#000", - } - } - }, - // 数据 - series: [{ - name: '单位预案编制数量', - type: 'line', - markPoint: { - - symbolSize:[65, 65], - data: this.tiaoshiPao - }, - data: Y, - } - ], - }; - this.sixExample.setOption(option); - this.sixExample.getZr().on('click', (params) => { - const pointInPixel= [params.offsetX, params.offsetY]; - if (this.sixExample.containPixel('grid',pointInPixel)) { - let xIndex=this.sixExample.convertFromPixel({seriesIndex:0},[params.offsetX, params.offsetY])[0]; - if(option.xAxis.data[xIndex]=='2019'||option.xAxis.data[xIndex]=='2020'){ - this.router.navigate(['/statisticanalysis/stataPageThereYearComponent'],{queryParams:{'level':option.xAxis.data[xIndex],'headtext':option.title.text}}); - }else{ - /*事件处理代码书写位置*/ - this.router.navigate(['/statisticanalysis/stataPageThere'],{queryParams:{'level':option.xAxis.data[xIndex],'headtext':option.title.text}}); - } - - } - - }); - } + threeExample:any; + diff --git a/src/app/statistic-analysis/state/page-zhong-dui-details/page-zhong-dui-details.component.ts b/src/app/statistic-analysis/state/page-zhong-dui-details/page-zhong-dui-details.component.ts index 244d925..da1545a 100644 --- a/src/app/statistic-analysis/state/page-zhong-dui-details/page-zhong-dui-details.component.ts +++ b/src/app/statistic-analysis/state/page-zhong-dui-details/page-zhong-dui-details.component.ts @@ -4,7 +4,7 @@ * @Author: sueRimn * @Date: 2020-09-05 13:50:45 * @LastEditors: sueRimn - * @LastEditTime: 2020-11-10 14:36:51 + * @LastEditTime: 2021-03-12 16:08:24 */ import { Component, OnInit } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; @@ -19,23 +19,40 @@ export class PageZhongDuiDetailsComponent implements OnInit { constructor( public route: ActivatedRoute,public data: EchartsDataService) { } - zhongNameData = ["浦东中队","黄浦中队","徐汇中队","长宁中队","静安中队","普陀中队","虹口中队","杨浦中队","闵行中队","宝山中队","嘉定中队"] - zhongNumData = [200,190,180,170,160,150,140,130,120,110,100] + zhongNameData = [] + zhongNumData = [] tiaoshiPao:any headtext:string; headName:string; + type + lastid + tabledata + organizationId=[] ngOnInit(): void { - window.setTimeout(()=>{ - let level:string; + let level:string; this.route.queryParams.subscribe(param=>{ this.headtext=param.headtext level=param.level this.headName=level+''+this.headtext; - //console.log(headName) + this.type=param.type + this.lastid=param.id }); + let paramdata={ + planStatus:this.type, + OrganizationId:this.lastid + } + this.data.getData(paramdata,`/api/StatisticsAnalysis/Plans/Status`) + window.setTimeout(()=>{ + this.tabledata=JSON.parse(JSON.stringify(this.data.allDate)) + console.log(this.tabledata) + for(var i=0;i