邵佳豪 4 years ago
parent
commit
a74ba60cf8
  1. 21
      src/app/canvas-share-data.service.ts
  2. 12
      src/app/interface.ts
  3. 12
      src/app/plan-management/entry-plan-look/AddPlanone.html
  4. 2
      src/app/plan-management/entry-plan-look/entry-plan-look.component.ts
  5. 36
      src/app/plan-management/entry-plan/entry-plan.component.html
  6. 5
      src/app/plan-management/entry-plan/entry-plan.component.ts
  7. 2
      src/app/plan-management/open-plan/open-plan.component.html
  8. 37
      src/app/plan-management/pass-plan/pass-plan.component.html
  9. 10
      src/app/plan-management/pass-plan/pass-plan.component.ts
  10. 10
      src/app/statistic-analysis/echarts-data.service.ts
  11. 61
      src/app/statistic-analysis/scheduled-updates/publicEcharts.html
  12. 102
      src/app/statistic-analysis/scheduled-updates/scheduled-updates.component.ts
  13. 14
      src/app/statistic-analysis/state/page-one/page-one.component.ts
  14. 2
      src/app/statistic-analysis/state/page-two-time/page-two-time.component.scss
  15. 3
      src/app/working-area/model/axLegend.ts
  16. 36
      src/app/working-area/working-area.component.ts

21
src/app/canvas-share-data.service.ts

@ -23,24 +23,23 @@ export class CanvasShareDataService {
selectTemplateData: any; // 选择当前 模板数据 selectTemplateData: any; // 选择当前 模板数据
// 总平面图/建筑 楼层 // 总平面图/建筑 楼层
selectStorey:any = {area: '', details: ''}; // 选择当前 楼层 数据 selectStorey: any = { area: '', details: '' }; // 选择当前 楼层 数据
originalcompanyBuildingData:any; // 单位/建筑 数据 originalcompanyBuildingData: any; // 单位/建筑 数据
originaleveryStoreyData:any; // 总平面图/楼层/区域 楼层数据 originaleveryStoreyData: any; // 总平面图/楼层/区域 楼层数据
// 总平面图/建筑 楼层 // 总平面图/建筑 楼层
// 处置 节点 // 处置 节点
allDisposalNode:any = []; // 所有 处置节点 allDisposalNode: any = []; // 所有 处置节点
allNodeMarkers:any = { highlightMarkers:{}, markers:{} }; // 灾情 标签信息 allNodeMarkers: any = { highlightMarkers: {}, markers: {} }; // 灾情 标签信息
selectPanelPoint:DisposalNodeData = new DisposalNodeData(); // 当前数据节点 selectPanelPoint: DisposalNodeData = new DisposalNodeData(); // 当前数据节点
selectPanelPointBaseData:any = {description: '', notes: '', weather: '', airTemperature: '', windDirection: '', windScale: ''}; // 当前 数据节点 对应 父级节点 selectPanelPointBaseData: any = { description: '', notes: '', weather: '', airTemperature: '', windDirection: '', windScale: '' }; // 当前 数据节点 对应 父级节点
isInheritSky:any; //缓存 节点 天气 customizeDisposalNode: any; // 新建 自定义数据节点 底图+名称
customizeDisposalNode:any; // 新建 自定义数据节点 底图+名称
// 处置 节点 // 处置 节点
/** /**
* *
*/ */
gameMode:GameMode = GameMode.BasicInformation; gameMode: GameMode = GameMode.BasicInformation;
facilityAssetsName = new Map<string, string>([ facilityAssetsName = new Map<string, string>([
['消防水池', '消防水池'], ['消防水池', '消防水池'],
@ -263,6 +262,7 @@ export class CanvasShareDataService {
important.Id = ''; important.Id = '';
important.ImageUrls = []; important.ImageUrls = [];
important.BuildingId = this.selectStorey.buildingId; important.BuildingId = this.selectStorey.buildingId;
important.BuildingAreaId = item.FloorId;
item.PropertyInfos.forEach(element => { item.PropertyInfos.forEach(element => {
if (element.PropertyName === '名称/编号') { if (element.PropertyName === '名称/编号') {
important.Name = element.PropertyValue; important.Name = element.PropertyValue;
@ -409,6 +409,7 @@ export class BuildingAdjoinInfo {
*/ */
export class BuildingImportantLocationInfo { export class BuildingImportantLocationInfo {
public BuildingId: string; public BuildingId: string;
public BuildingAreaId: string;
public Id: string; public Id: string;
public Name: string; public Name: string;
public Position: string; public Position: string;

12
src/app/interface.ts

@ -4,7 +4,7 @@
* @Author: sueRimn * @Author: sueRimn
* @Date: 2020-12-24 10:59:48 * @Date: 2020-12-24 10:59:48
* @LastEditors: sueRimn * @LastEditors: sueRimn
* @LastEditTime: 2021-01-20 16:44:22 * @LastEditTime: 2021-04-09 17:12:59
*/ */
export interface Data { export interface Data {
token:string, token:string,
@ -31,7 +31,15 @@ export enum PlanTypeEnum {
"five", "five",
"six", "six",
"seven", "seven",
"卡片预案" "卡片预案",
"none",
"teen",
"shiyi",
"shier",
"shisan",
"shisi",
"shiwu",
"文本预案"
} }
export enum AuditStatusEnum { export enum AuditStatusEnum {

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

@ -4,7 +4,7 @@
* @Author: sueRimn * @Author: sueRimn
* @Date: 2020-12-24 10:59:48 * @Date: 2020-12-24 10:59:48
* @LastEditors: sueRimn * @LastEditors: sueRimn
* @LastEditTime: 2021-03-20 16:13:09 * @LastEditTime: 2021-04-08 10:33:33
--> -->
<form (ngSubmit)="onSubmit(form.value)" #form="ngForm" class="example-container"> <form (ngSubmit)="onSubmit(form.value)" #form="ngForm" class="example-container">
<div class="topbox" style="text-align: center;"> <div class="topbox" style="text-align: center;">
@ -25,7 +25,7 @@
<!-- <label style="margin-right: 10px;">编制级别:</label> --> <!-- <label style="margin-right: 10px;">编制级别:</label> -->
<mat-form-field> <mat-form-field>
<mat-select placeholder='请选择预案类型' required formControlName="firstCtrltwo" [(ngModel)]='cadPlan'> <mat-select placeholder='请选择预案类型' required formControlName="firstCtrltwo" [(ngModel)]='cadPlan'>
<mat-option value="8">卡片预案</mat-option> <mat-option value="16">文本预案</mat-option>
<mat-option value="1">二维预案</mat-option> <mat-option value="1">二维预案</mat-option>
<mat-option value="2">三维预案</mat-option> <mat-option value="2">三维预案</mat-option>
<mat-option value="4">其他预案</mat-option> <mat-option value="4">其他预案</mat-option>
@ -35,9 +35,9 @@
<div> <div>
<mat-form-field> <mat-form-field>
<mat-select name="reservePlanType" formControlName="firstCtrlthree" placeholder='请选择预案级别' required> <mat-select name="reservePlanType" formControlName="firstCtrlthree" placeholder='请选择预案级别' required>
<mat-option value='3' *ngIf="cadPlan!='8'">Ⅲ级预案</mat-option> <mat-option value='3'>Ⅲ级预案</mat-option>
<mat-option value='4' *ngIf="cadPlan!='8'&&levels!='1'&&levels!='2'">Ⅳ级预案</mat-option> <mat-option value='4' *ngIf="cadPlan=='16'||(levels!='1'&&levels!='2')">Ⅳ级预案</mat-option>
<mat-option value='5' *ngIf="cadPlan=='8'||(levels!='1'&&levels!='2')">Ⅴ级预案</mat-option> <mat-option value='5' *ngIf="cadPlan=='16'||(levels!='1'&&levels!='2')">Ⅴ级预案</mat-option>
</mat-select> </mat-select>
</mat-form-field> </mat-form-field>
</div> </div>
@ -51,7 +51,7 @@
<form (ngSubmit)="onSubmit(form)" #form="ngForm"> <form (ngSubmit)="onSubmit(form)" #form="ngForm">
<ng-template matStepLabel >上传预案完成创建</ng-template> <ng-template matStepLabel >上传预案完成创建</ng-template>
<div class="upbox"> <div class="upbox">
<div style="float: left;margin-top: 8px;"> <div style="float: left;margin-top: 10px;">
<span class="pigepadding">预案形式:</span> <span class="pigepadding">预案形式:</span>
</div> </div>

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

@ -762,7 +762,7 @@ export class AddPlanone {
this.selectedPLanName = formdata.value.firstCtrlone this.selectedPLanName = formdata.value.firstCtrlone
this.selectedPLanType = formdata.value.firstCtrltwo this.selectedPLanType = formdata.value.firstCtrltwo
this.selectedPLanLevel= formdata.value.firstCtrlthree this.selectedPLanLevel= formdata.value.firstCtrlthree
if(formdata.value.firstCtrltwo=='8'){ //如果是卡片预案 if(formdata.value.firstCtrltwo=='16'){ //如果是卡片预案
this.localup = true this.localup = true
this.inputword = true this.inputword = true
this.onlineedit = false this.onlineedit = false

36
src/app/plan-management/entry-plan/entry-plan.component.html

@ -58,10 +58,10 @@
<label style="margin-right: 10px;">预案类型:</label> <label style="margin-right: 10px;">预案类型:</label>
<mat-form-field> <mat-form-field>
<mat-select name="reservePlanType" [(ngModel)]="reservePlanType" placeholder='请选择预案类型' [multiple]="true"> <mat-select name="reservePlanType" [(ngModel)]="reservePlanType" placeholder='请选择预案类型' [multiple]="true">
<mat-option value=8>卡片预案</mat-option> <mat-option value=16>文本预案</mat-option>
<mat-option value=1>二维预案</mat-option> <mat-option value=1>二维预案</mat-option>
<mat-option value=2>三维预案</mat-option> <mat-option value=2>三维预案</mat-option>
<mat-option value=4>其他预案</mat-option> <mat-option value=4>其他预案</mat-option>
</mat-select> </mat-select>
</mat-form-field> </mat-form-field>
<span *ngIf="pcMore" style="margin-left: 15px; color: #0080FF; cursor: pointer;" (click)='pcInfo()'>更多筛选条件<img [src]='imgsrcopen'> </span> <span *ngIf="pcMore" style="margin-left: 15px; color: #0080FF; cursor: pointer;" (click)='pcInfo()'>更多筛选条件<img [src]='imgsrcopen'> </span>
@ -71,6 +71,16 @@
<button mat-raised-button color="primary">查询</button> <button mat-raised-button color="primary">查询</button>
<button mat-raised-button style="margin-left: 25px;" type="button" (click)="reset()">重置</button> <button mat-raised-button style="margin-left: 25px;" type="button" (click)="reset()">重置</button>
</div> </div>
<div class="queryField" *ngIf="!padMore&&!pcMore">
<label style="margin-right: 10px;">预案级别:</label>
<mat-form-field>
<mat-select placeholder='请选择预案级别' [(ngModel)]="planCategory" name="planCategory" [multiple]="true">
<mat-option value=3>Ⅲ级预案</mat-option>
<mat-option value=4>Ⅳ级预案</mat-option>
<mat-option value=5>Ⅴ级预案</mat-option>
</mat-select>
</mat-form-field>
</div>
<div class="queryField" *ngIf="!padMore&&!pcMore"> <div class="queryField" *ngIf="!padMore&&!pcMore">
<label style="margin-right: 10px;">编制级别:</label> <label style="margin-right: 10px;">编制级别:</label>
<mat-form-field> <mat-form-field>
@ -106,15 +116,15 @@
</mat-select> </mat-select>
</mat-form-field> </mat-form-field>
</div> </div>
<div class="queryField" *ngIf="!padMore&&!pcMore"> <div class="queryField" *ngIf="!padMore&&!pcMore">
<label style="margin-right: 10px;">制作情况:</label> <label style="margin-right: 10px;">制作情况:</label>
<mat-form-field> <mat-form-field>
<mat-select placeholder='请选择预案制作情况' [(ngModel)]="haveyuan" name="haveyuan"> <mat-select placeholder='请选择预案制作情况' [(ngModel)]="haveyuan" name="haveyuan">
<mat-option value='true'>有预案</mat-option> <mat-option value='true'>有预案</mat-option>
<mat-option value="false">无预案</mat-option> <mat-option value="false">无预案</mat-option>
</mat-select> </mat-select>
</mat-form-field> </mat-form-field>
</div> </div>
</div> </div>
</form> </form>
</div> </div>

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

@ -332,7 +332,8 @@ export class EntryPlanComponent implements OnInit {
PageSize: this.pageSizeOptions[0], PageSize: this.pageSizeOptions[0],
Sort: this.integritySort ? 'integrityscore' : '', Sort: this.integritySort ? 'integrityscore' : '',
SortType: this.integritySort || '', SortType: this.integritySort || '',
HasPlanComponents:this.haveyuan||'' HasPlanComponents:this.haveyuan||'',
PlanCategories:this.planCategory
} }
this.http.get("/api/Plans",{params:paramsdata}).subscribe((data:any)=>{ this.http.get("/api/Plans",{params:paramsdata}).subscribe((data:any)=>{
@ -366,6 +367,7 @@ export class EntryPlanComponent implements OnInit {
toExamine:any //审核状态 toExamine:any //审核状态
preparelevel:any //编制级别 preparelevel:any //编制级别
plcheck:boolean //编制级别勾选框 plcheck:boolean //编制级别勾选框
planCategory=[] //预案级别
//重置 //重置
reset(){ reset(){
this.companyName = '' this.companyName = ''
@ -379,6 +381,7 @@ export class EntryPlanComponent implements OnInit {
this.integritySort = '' this.integritySort = ''
this.plcheck = false this.plcheck = false
this.haveyuan='' this.haveyuan=''
this.planCategory=[]
//重新获取初始化列表 //重新获取初始化列表
// console.log(this.pageEvent) // console.log(this.pageEvent)
this.pageEvent.pageIndex = 0 this.pageEvent.pageIndex = 0

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

@ -39,7 +39,7 @@
<label style="margin-right: 10px;">预案类型:</label> <label style="margin-right: 10px;">预案类型:</label>
<mat-form-field> <mat-form-field>
<mat-select [(ngModel)]="reservePlanType" name="reservePlanType" placeholder='请选择预案类型'> <mat-select [(ngModel)]="reservePlanType" name="reservePlanType" placeholder='请选择预案类型'>
<mat-option value="8">卡片预案</mat-option> <mat-option value="16">文本预案</mat-option>
<mat-option value="1">二维预案</mat-option> <mat-option value="1">二维预案</mat-option>
<mat-option value="2">三维预案</mat-option> <mat-option value="2">三维预案</mat-option>
<mat-option value="4">其他预案</mat-option> <mat-option value="4">其他预案</mat-option>

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

@ -45,13 +45,16 @@
<button mat-raised-button style="margin-left: 25px;" type="button" (click)="reset()">重置</button> <button mat-raised-button style="margin-left: 25px;" type="button" (click)="reset()">重置</button>
</div> </div>
<div class="queryField" *ngIf="!padMore"> <div class="queryField" *ngIf="!padMore">
<label style="margin-right: 10px;">编制级别:</label> <label style="margin-right: 10px;">预案类型:</label>
<mat-form-field> <mat-form-field>
<mat-select [(ngModel)]="preparelevel" name="preparelevel" placeholder='请选择编制级别'> <mat-select [(ngModel)]="reservePlanType" name="reservePlanType" placeholder='请选择预案类型' [multiple]="true">
<mat-option *ngFor="let item of preparelevels" [value]="item.value">{{item.name}}</mat-option> <mat-option value=16>文本预案</mat-option>
<mat-option value=1>二维预案</mat-option>
<mat-option value=2>三维预案</mat-option>
<mat-option value=4>其他预案</mat-option>
</mat-select> </mat-select>
</mat-form-field> </mat-form-field>
<mat-checkbox style="margin-left: 6px;" [(ngModel)]="plcheck" name="plcheck">包含下级</mat-checkbox>
</div> </div>
<div class="queryField" *ngIf="!padMore"> <div class="queryField" *ngIf="!padMore">
<label style="margin-right: 10px;">单位类型:</label> <label style="margin-right: 10px;">单位类型:</label>
@ -70,18 +73,30 @@
<button mat-raised-button style="margin-left: 25px;" type="button" (click)="reset()">重置</button> <button mat-raised-button style="margin-left: 25px;" type="button" (click)="reset()">重置</button>
</div> </div>
<div class="queryField" *ngIf="!padMore&&!pcMore"> <div class="queryField" *ngIf="!padMore&&!pcMore">
<label style="margin-right: 10px;">预案类型:</label> <label style="margin-right: 10px;">编制级别:</label>
<mat-form-field> <mat-form-field>
<mat-select [(ngModel)]="reservePlanType" name="reservePlanType" placeholder='请选择预案类型'> <mat-select [(ngModel)]="preparelevel" name="preparelevel" placeholder='请选择编制级别'>
<mat-option value="8">卡片预案</mat-option> <mat-option *ngFor="let item of preparelevels" [value]="item.value">{{item.name}}</mat-option>
<mat-option value="1">二维预案</mat-option>
<mat-option value="2">三维预案</mat-option>
<mat-option value="4">其他预案</mat-option>
</mat-select> </mat-select>
</mat-form-field> </mat-form-field>
<mat-checkbox style="margin-left: 6px;" [(ngModel)]="plcheck" name="plcheck">包含下级</mat-checkbox>
</div> </div>
<div class="queryField" *ngIf="!padMore&&!pcMore">
<label style="margin-right: 10px;">预案级别:</label>
<mat-form-field>
<mat-select placeholder='请选择预案级别' [(ngModel)]="planCategory" name="planCategory" [multiple]="true">
<mat-option value=6>应急预案(国家级)</mat-option>
<mat-option value=7>应急预案(市级)</mat-option>
<mat-option value=8>类型预案</mat-option>
<mat-option value=1>Ⅰ级预案</mat-option>
<mat-option value=2>Ⅱ级预案</mat-option>
<mat-option value=3>Ⅲ级预案</mat-option>
<mat-option value=4>Ⅳ级预案</mat-option>
<mat-option value=5>Ⅴ级预案</mat-option>
</mat-select>
</mat-form-field>
</div>
<div class="queryField" *ngIf="!padMore&&!pcMore"> <div class="queryField" *ngIf="!padMore&&!pcMore">
<label style="margin-right: 10px;">添加时间:</label> <label style="margin-right: 10px;">添加时间:</label>

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

@ -117,6 +117,11 @@ export class PassPlanComponent implements OnInit {
allPlanInfo:any //存储所有预案信息 allPlanInfo:any //存储所有预案信息
//获得所有预案信息 //获得所有预案信息
getAllPlanInfo(){ getAllPlanInfo(){
let reservePlanType
this.reservePlanType ? reservePlanType = JSON.parse(JSON.stringify(this.reservePlanType)) : reservePlanType = ''
if(this.reservePlanType && this.reservePlanType.length != 0){
reservePlanType = eval(this.reservePlanType.join("|"))
}
let paramsdata:any = { let paramsdata:any = {
CompanyName: this.companyName || '', CompanyName: this.companyName || '',
OrganizationId: this.jsId || '', OrganizationId: this.jsId || '',
@ -130,7 +135,8 @@ export class PassPlanComponent implements OnInit {
CreationTimeRangeEnd:this.endtime||'', CreationTimeRangeEnd:this.endtime||'',
PageNumber: this.PageNumber || '1', PageNumber: this.PageNumber || '1',
PageSize: this.pageSizeOptions[0], PageSize: this.pageSizeOptions[0],
Sort: '' Sort: '',
PlanCategories:this.planCategory
} }
this.http.get("/api/ApprovedPlans",{params:paramsdata}).subscribe((data:any)=>{ this.http.get("/api/ApprovedPlans",{params:paramsdata}).subscribe((data:any)=>{
this.length = data.totalCount this.length = data.totalCount
@ -458,6 +464,7 @@ export class PassPlanComponent implements OnInit {
reservePlanType:any //预案类型 reservePlanType:any //预案类型
preparelevel:any //编制级别 preparelevel:any //编制级别
plcheck:boolean //编制级别勾选框 plcheck:boolean //编制级别勾选框
planCategory=[]//预案级别
//重置 //重置
reset(){ reset(){
this.companyName = '' this.companyName = ''
@ -473,6 +480,7 @@ export class PassPlanComponent implements OnInit {
//重新获取初始化列表 //重新获取初始化列表
this.pageEvent.pageIndex = 0 this.pageEvent.pageIndex = 0
this.PageNumber = 1 this.PageNumber = 1
this.planCategory=[]
this.getAllPlanInfo(); this.getAllPlanInfo();
} }
} }

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

@ -117,15 +117,7 @@ export class EchartsDataService {
{name:"十二月",number:"122",zhanbi:"1.6%"}/* , {name:"十二月",number:"122",zhanbi:"1.6%"}/* ,
{name:"总计",number:"984",zhanbi:"20%"} */ {name:"总计",number:"984",zhanbi:"20%"} */
] ]
//预案提示框
planData = [
{name:"预案新增",number:"156",zhanbi:"19%"},
{name:"预案审核通过",number:"144",zhanbi:"21%"},
{name:"预案编制",number:"133",zhanbi:"20%"},
{name:"预案审核退回",number:"122",zhanbi:"17%"},
{name:"预案审核中",number:"120",zhanbi:"23%"}/* ,
{name:"总计",number:"561",zhanbi:"100%"}, */
]
//提示框表格 //提示框表格
tableTooltip(dataArr,title:string){ tableTooltip(dataArr,title:string){

61
src/app/statistic-analysis/scheduled-updates/publicEcharts.html

@ -4,12 +4,12 @@
* @Author: sueRimn * @Author: sueRimn
* @Date: 2020-09-05 08:59:24 * @Date: 2020-09-05 08:59:24
* @LastEditors: sueRimn * @LastEditors: sueRimn
* @LastEditTime: 2020-12-28 16:21:07 * @LastEditTime: 2021-04-08 16:12:48
--> -->
<div class="content"> <div class="content">
<div class="header"> <div class="header">
<div class="findCss" style="padding-right: 150px;" *ngIf="echartsData.findShow"> <div style="padding-right: 150px;" *ngIf="echartsData.findShow">
<button mat-raised-button (click)="zhiFind()" [ngClass]="{'selectButton': echartsData.zhiorBuinding=='zhi'}" style="margin:0 10px;" >支队查询</button> <button mat-raised-button (click)="zhiFind()" [ngClass]="{'selectButton': echartsData.zhiorBuinding=='zhi'}" style="margin:0 10px;" >支队查询</button>
<button mat-raised-button (click)="buildingFind()" [ngClass]="{'selectButton': echartsData.zhiorBuinding=='building'}" >建筑类型查询</button> <button mat-raised-button (click)="buildingFind()" [ngClass]="{'selectButton': echartsData.zhiorBuinding=='building'}" >建筑类型查询</button>
</div> </div>
@ -19,7 +19,60 @@
<p style="display: inline-block; margin: 0 10px; font-size: 15px;">浦东支队1月份已核查案件高于平均值;黄浦支队1月份已核查案件高于平均值...</p> <p style="display: inline-block; margin: 0 10px; font-size: 15px;">浦东支队1月份已核查案件高于平均值;黄浦支队1月份已核查案件高于平均值...</p>
<button mat-raised-button (click)='moreOpen()'>更多</button> <button mat-raised-button (click)='moreOpen()'>更多</button>
</div> --> </div> -->
<div class="queryField" *ngIf=" echartsData.scheduledUpdatesToggle==1">
<mat-radio-group [(ngModel)]="selectType" (change)='changeTime($event)'>
<mat-radio-button value="month"></mat-radio-button>
<mat-radio-button value="year" style="margin-left: 10px;"></mat-radio-button>
</mat-radio-group>
</div>
<div class="queryField" *ngIf="selectType=='month' && echartsData.scheduledUpdatesToggle==1">
<form #form="ngForm" (ngSubmit)="monthSubmit(form.value)">
<!-- <span>开始年份:</span>
<mat-form-field>
<mat-select [(ngModel)]="selectOneYear" name='selectOneYear'>
<mat-option *ngFor="let item of years" [value]="item">{{item}}</mat-option>
</mat-select>
</mat-form-field> -->
<span>开始月份:</span>
<mat-form-field>
<mat-select [(ngModel)]="selectStartMonth" name='selectStartMonth'>
<mat-option *ngFor="let item of selectMonth" [value]="item">{{item}}</mat-option>
</mat-select>
</mat-form-field>
<!-- <span>结束年份:</span>
<mat-form-field>
<mat-select [(ngModel)]="selectTwoYear" name='selectTwoYear'>
<mat-option *ngFor="let item of years" [value]="item">{{item}}</mat-option>
</mat-select>
</mat-form-field> -->
<span>结束月份:</span>
<mat-form-field>
<mat-select [(ngModel)]="selectEndMonth" name='selectEndMonth'>
<mat-option *ngFor="let item of selectMonth" [value]="item">{{item}}</mat-option>
</mat-select>
</mat-form-field>
<button type="submit" mat-raised-button color="primary">查询</button>
</form>
</div>
<div class="queryField" *ngIf="selectType=='year' && echartsData.scheduledUpdatesToggle==1">
<form #form2="ngForm" (ngSubmit)="yearSubmit(form2.value)">
<span>开始年份:</span>
<mat-form-field>
<mat-select [(ngModel)]="selectStartYear" name='selectStartYear'>
<mat-option *ngFor="let item of years" [value]="item">{{item}}</mat-option>
</mat-select>
</mat-form-field>
<span>结束年份:</span>
<mat-form-field>
<mat-select [(ngModel)]="selectEndYear" name='selectEndYear'>
<mat-option *ngFor="let item of years" [value]="item">{{item}}</mat-option>
</mat-select>
</mat-form-field>
<button type="submit" mat-raised-button color="primary">查询</button>
</form>
</div>
<div class="fixedCss"> <div class="fixedCss">
<button mat-raised-button (click)='goBack()' >返回</button> <button mat-raised-button (click)='goBack()' >返回</button>
@ -31,7 +84,7 @@
<div class="echarts"> <div class="echarts">
<div class="center"> <div class="center">
<app-verified *ngIf="isToggle"></app-verified> <app-verified *ngIf="isToggle" #verified></app-verified>
<app-notVerified *ngIf="!isToggle"></app-notVerified> <app-notVerified *ngIf="!isToggle"></app-notVerified>
</div> </div>
</div> </div>

102
src/app/statistic-analysis/scheduled-updates/scheduled-updates.component.ts

@ -1,4 +1,4 @@
import { Component, OnInit } from '@angular/core'; import { Component, OnInit,ViewChild } from '@angular/core';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { ActivatedRoute } from '@angular/router'; import { ActivatedRoute } from '@angular/router';
import {EchartsDataService} from '../echarts-data.service' import {EchartsDataService} from '../echarts-data.service'
@ -176,13 +176,83 @@ export class indexConditionComponent implements OnInit {
}) })
export class publicEchartsComponent implements OnInit { export class publicEchartsComponent implements OnInit {
constructor(private router: Router,public echartsData:EchartsDataService,public dialog: MatDialog,) { } constructor(private router: Router,public echartsData:EchartsDataService,public dialog: MatDialog,public snackBar: MatSnackBar) { }
@ViewChild('verified')verifieds :verifiedComponent; //父组件中获得子组件的引用
ngOnInit(): void { ngOnInit(): void {
this.echartsData.scheduledUpdatesToggle = 1 this.echartsData.scheduledUpdatesToggle = 1
this.dateInit()
} }
isToggle:boolean = true; // 已核查/未核查 isToggle:boolean = true; // 已核查/未核查
selectType:string = 'month'; //选择当前的 查询类型 按月/年
//查询数据
years:any = []
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)
}
}
selectOneYear:any = (new Date()).getFullYear() //开始年份
selectTwoYear:any = (new Date()).getFullYear() //结束年份
selectStartMonth:any = 1 //开始月份
selectEndMonth:any = (new Date()).getMonth()+1 //结束月份
//点击月或年
changeTime(e){
console.log(e)
//this.echartsData.selectType=0
this.verifieds.changeTime(e.value)
}
//按月查询
monthSubmit (e) {
if (e.selectTwoYear > e.selectOneYear) {
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 {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.snackBar.open('请选择正确时间区段','确定',config);
}
}
selectStartYear:any = (new Date()).getFullYear() //开始年份
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
} else {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.snackBar.open('请选择正确时间区段','确定',config);
}
}
//已核查 //已核查
verified () { verified () {
@ -245,8 +315,8 @@ export class verifiedComponent implements OnInit {
ngOnInit(): void { ngOnInit(): void {
window.setTimeout(()=>{ window.setTimeout(()=>{
this.qipaotishi=this.echartsData.qipao(this.qipaotishi,this.ydata,this.xdata) this.qipaotishi=this.echartsData.qipao(this.qipaotishi,this.ydatayue,this.xdatayue)
this.oneInit() this.oneInit(this.xdatayue,this.ydatayue)
//this.twoInit() //this.twoInit()
},0) },0)
} }
@ -259,11 +329,25 @@ export class verifiedComponent implements OnInit {
element.echart.clear() element.echart.clear()
}); });
} */ } */
async changeTime (e){
this.oneEcharts.clear()
this.oneEcharts.dispose()
this.qipaotishi=''
if(e=='year'){
this.qipaotishi=this.echartsData.qipao(this.qipaotishi,this.ydataYear,this.xdataYear)
this.oneInit(this.xdataYear,this.ydataYear)
}else{
this.qipaotishi=this.echartsData.qipao(this.qipaotishi,this.ydatayue,this.xdatayue)
this.oneInit(this.xdatayue,this.ydatayue)
}
}
oneEcharts:any; oneEcharts:any;
qipaotishi qipaotishi
xdata=['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月','9月','10月','11月','12月'] xdatayue=['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月','9月','10月','11月','12月']
ydata=[1170, 953, 1144, 799, 789, 773, 660, 998, 790, 1004, 1345, 1245] ydatayue=[1170, 953, 1144, 799, 789, 773, 660, 998, 790, 1004, 1345, 1345]
xdataYear=['2020','2021']
ydataYear=['2','5']
//提示框表格 //提示框表格
tableTooltip(dataArr,title:string){ tableTooltip(dataArr,title:string){
let data = dataArr let data = dataArr
@ -290,7 +374,7 @@ export class verifiedComponent implements OnInit {
res+='</table></div></div>' res+='</table></div></div>'
return res return res
} }
oneInit () { oneInit (xdata,ydata) {
this.oneEcharts = echarts.init(document.getElementById('center'),'walden'); this.oneEcharts = echarts.init(document.getElementById('center'),'walden');
var option = { var option = {
@ -326,7 +410,7 @@ export class verifiedComponent implements OnInit {
xAxis: { xAxis: {
type: 'category', type: 'category',
boundaryGap:true, boundaryGap:true,
data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月','9月','10月','11月','12月'], data:xdata,
axisLabel:{ axisLabel:{
textStyle:{ textStyle:{
fontSize :18, fontSize :18,
@ -370,7 +454,7 @@ export class verifiedComponent implements OnInit {
symbolSize:[65, 65], symbolSize:[65, 65],
data: this.qipaotishi data: this.qipaotishi
}, },
data: [1170, 953, 1144, 799, 789, 773, 660, 998, 790, 1004, 1345, 1245], data:ydata,
clickable:false, clickable:false,
} }
], ],

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

@ -4,7 +4,7 @@
* @Author: sueRimn * @Author: sueRimn
* @Date: 2020-09-01 15:24:39 * @Date: 2020-09-01 15:24:39
* @LastEditors: sueRimn * @LastEditors: sueRimn
* @LastEditTime: 2021-04-01 14:22:36 * @LastEditTime: 2021-04-08 13:43:50
*/ */
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
@ -55,7 +55,7 @@ export class PageOneComponent implements OnInit {
indexData indexData
initCharts(){ initCharts(){
this.tabledata=JSON.parse(JSON.stringify(this.echartsData.allDate)) this.tabledata=JSON.parse(JSON.stringify(this.echartsData.allDate))
// console.log(this.tabledata) console.log(this.tabledata)
var ec = echarts as any; var ec = echarts as any;
this.indexBzt = ec.init(document.getElementById('indexBzt'),'walden'); this.indexBzt = ec.init(document.getElementById('indexBzt'),'walden');
@ -109,11 +109,11 @@ export class PageOneComponent implements OnInit {
}, },
data: [ data: [
{value: this.tabledata[0].plansStatuses[0].count, name: '预案新增',type:1,planStatusName:this.tabledata[0].plansStatuses[0].planStatusName}, {value:this.tabledata[0].plansStatuses[0]!=undefined? this.tabledata[0].plansStatuses[0].count:0, name: '预案新增',type:1,planStatusName:this.tabledata[0].plansStatuses[0]!=undefined?this.tabledata[0].plansStatuses[0].planStatusName:''},
{value: this.tabledata[0].plansStatuses[2].count, name: '预案审核通过',itemStyle:{color:'#02A7F0'},type:3,planStatusName:this.tabledata[0].plansStatuses[2].planStatusName}, {value:this.tabledata[0].plansStatuses[2]!=undefined? this.tabledata[0].plansStatuses[2].count:0, name: '预案审核通过',itemStyle:{color:'#02A7F0'},type:3,planStatusName:this.tabledata[0].plansStatuses[2]!=undefined? this.tabledata[0].plansStatuses[2].planStatusName:''},
{value: this.tabledata[0].plansStatuses[4].count, name: '预案编制',type:5,planStatusName:this.tabledata[0].plansStatuses[4].planStatusName}, {value:this.tabledata[0].plansStatuses[4]!=undefined?this.tabledata[0].plansStatuses[4].count:0, name: '预案编制',type:5,planStatusName:this.tabledata[0].plansStatuses[4]!=undefined?this.tabledata[0].plansStatuses[4].planStatusName:''},
{value: this.tabledata[0].plansStatuses[3].count, name: '预案审核退回',type:4,planStatusName:this.tabledata[0].plansStatuses[3].planStatusName}, {value:this.tabledata[0].plansStatuses[3]!=undefined? this.tabledata[0].plansStatuses[3].count:0, name: '预案审核退回',type:4,planStatusName:this.tabledata[0].plansStatuses[3]!=undefined? this.tabledata[0].plansStatuses[3].planStatusName:''},
{value: this.tabledata[0].plansStatuses[1].count, name: '预案审核中',type:2,planStatusName:this.tabledata[0].plansStatuses[1].planStatusName} {value:this.tabledata[0].plansStatuses[1]!=undefined? this.tabledata[0].plansStatuses[1].count:0, name: '预案审核中',type:2,planStatusName:this.tabledata[0].plansStatuses[1]!=undefined? this.tabledata[0].plansStatuses[1].planStatusName:''}
], ],
emphasis: { emphasis: {
itemStyle: { itemStyle: {

2
src/app/statistic-analysis/state/page-two-time/page-two-time.component.scss

@ -63,7 +63,7 @@
width: 88px; width: 88px;
height: 36px; height: 36px;
} }
margin-right:4%; margin-left:4%;
} }
@media screen and (max-device-width:1200px){ @media screen and (max-device-width:1200px){
justify-content: center; justify-content: center;

3
src/app/working-area/model/axLegend.ts

@ -41,6 +41,7 @@ export class AxLegend extends AxShape {
public addItem(item: Legend) { public addItem(item: Legend) {
if (this.shapeMap.has(item.Name)) { if (this.shapeMap.has(item.Name)) {
this.shapeMap.get(item.Name).Count++; this.shapeMap.get(item.Name).Count++;
this.shapeMap.get(item.Name).Index++;
} else { } else {
this.shapeMap.set(item.Name, item); this.shapeMap.set(item.Name, item);
} }
@ -449,6 +450,7 @@ export class Legend {
public Name: string; public Name: string;
public ImageUrl: string; public ImageUrl: string;
public Count: number; public Count: number;
public Index: number;
/** /**
* *
*/ */
@ -456,5 +458,6 @@ export class Legend {
this.Name = name; this.Name = name;
this.ImageUrl = imageUrl; this.ImageUrl = imageUrl;
this.Count = count; this.Count = count;
this.Index = 1;
} }
} }

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

@ -24,6 +24,7 @@ import { Viewport } from 'pixi-viewport';
import { EVENT_IMAGE_RESIZE, EVENT_SELECTION_CHANGED } from './model/events'; import { EVENT_IMAGE_RESIZE, EVENT_SELECTION_CHANGED } from './model/events';
import { Dimensioning } from './model/dimensioning'; import { Dimensioning } from './model/dimensioning';
import { Configuration, viewBounds } from './model/configuration'; import { Configuration, viewBounds } from './model/configuration';
import { id } from 'date-fns/locale';
@Component({ @Component({
@ -144,6 +145,10 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
* *
*/ */
public allowEdit = true; public allowEdit = true;
/**
*
*/
public shapesIndex: Map<string, number> = new Map<string, number>();
/** /**
* *
*/ */
@ -166,7 +171,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
* - * -
* - * -
*/ */
public VERSION = '1.4.2.20210325_rc'; public VERSION = '1.4.3.20210415_rc';
/** /**
* *
*/ */
@ -524,7 +529,6 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
*/ */
private createGrid2D(): void { private createGrid2D(): void {
this.grid2D = new Grid2D(this.camera2D, null); this.grid2D = new Grid2D(this.camera2D, null);
this.camera2D.addChild(this.grid2D); this.camera2D.addChild(this.grid2D);
} }
/** /**
@ -593,6 +597,18 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
&& axShape.assetData.Name !== '图例') { && axShape.assetData.Name !== '图例') {
const itemLegend = new Legend(axShape.assetData.Name, axShape.assetData.ImageUrl, 1); const itemLegend = new Legend(axShape.assetData.Name, axShape.assetData.ImageUrl, 1);
temp.addItem(itemLegend); temp.addItem(itemLegend);
// 设置新增图形的名称/编号
let Id = temp.shapeMap.get(axShape.assetData.Name).Index;
let index = "000";
// 检查Id的长度
if (Id < 10) {
index = axShape.assetData.Name + "00" + Id;
} else if (Id < 100) {
index = axShape.assetData.Name + "0" + Id;
} else {
index = axShape.assetData.Name + Id;
}
(axShape.assetData.PropertyInfos.find(i => i.PropertyName == "名称/编号")).PropertyValue = index;
} }
this.emit('canvasDataChanged'); this.emit('canvasDataChanged');
this.canvasData.isChange = true; this.canvasData.isChange = true;
@ -721,6 +737,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
}); });
} }
} }
/** /**
* *
*/ */
@ -757,13 +774,13 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
case PaintMode.endPaint: case PaintMode.endPaint:
break; break;
case PaintMode.singlePointIcon: case PaintMode.singlePointIcon:
// 整理数据
const json = JSON.parse(JSON.stringify(this.canvasData.selectTemplateData.propertyInfos)); const json = JSON.parse(JSON.stringify(this.canvasData.selectTemplateData.propertyInfos));
const list = []; const list = [];
json.forEach(element => { json.forEach(element => {
const property = new PropertyInfo(element); const property = new PropertyInfo(element);
list.push(property); list.push(property);
}); });
const assetData = { const assetData = {
TemplateId: this.canvasData.selectTemplateData.id, TemplateId: this.canvasData.selectTemplateData.id,
CanConnect: this.canvasData.selectTemplateData.canConnect, CanConnect: this.canvasData.selectTemplateData.canConnect,
@ -793,7 +810,6 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
}; };
const singleIcon = new AxImageShape(assetData, this); const singleIcon = new AxImageShape(assetData, this);
this.emit('createIcon', singleIcon); this.emit('createIcon', singleIcon);
// this.emit('backgroundScale', this.backgroundImage.scale.x);
break; break;
case PaintMode.lineIcon: case PaintMode.lineIcon:
this.previewLineSegment.visible = true; this.previewLineSegment.visible = true;
@ -859,18 +875,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
GameMode: this.canvasData.gameMode, GameMode: this.canvasData.gameMode,
Tag: this.canvasData.selectTemplateData.tag Tag: this.canvasData.selectTemplateData.tag
}; };
// const assetData1 = {
// ImageUrl: this.canvasData.selectTemplateData.imageUrl,
// Point: new PIXI.Point(0, 0),
// Width: 32,
// Height: 32,
// MultiPoint: this.paintPoints,
// Name: this.canvasData.selectTemplateData.name
// };
this.paintingIcon = new MultipointIcon(assetData1, this); this.paintingIcon = new MultipointIcon(assetData1, this);
// this.paintingIcon = new MultipointIcon(this.previewSinglePointIcon.texture, new PIXI.Point(0, 0), this.paintPoints, this,
// this.canvasData.selectTemplateData.name);
// this.emit('backgroundScale', this.backgroundImage.scale.x);
break; break;
case PaintMode.polygonIcon: case PaintMode.polygonIcon:
this.previewLineSegment.visible = true; this.previewLineSegment.visible = true;
@ -1427,6 +1432,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
this.enterPaintEndButton.visible = false; this.enterPaintEndButton.visible = false;
switch (this.paintMode) { switch (this.paintMode) {
case PaintMode.singlePointIcon: case PaintMode.singlePointIcon:
break; break;
case PaintMode.lineIcon: case PaintMode.lineIcon:
if (this.paintPoints.length >= 2) { if (this.paintPoints.length >= 2) {

Loading…
Cancel
Save