Browse Source

[完善]修改bug

tianjin
邵佳豪 2 years ago
parent
commit
bdc4b6ced9
  1. 28
      package-lock.json
  2. 2
      proxy.config.json
  3. 4
      src/app/key-unit/basicinfo-look/basicinfo.component.html
  4. 4
      src/app/key-unit/basicinfo/basicinfo.component.html
  5. 23
      src/app/key-unit/edit-plan-info/edit-plan-info.component.html
  6. 8
      src/app/key-unit/key-unit-management/createunit.component.html
  7. 271
      src/app/key-unit/key-unit-management/key-unit-management.component.html
  8. 2
      src/app/key-unit/key-unit-management/key-unit-management.component.scss
  9. 93
      src/app/key-unit/key-unit-management/key-unit-management.component.ts
  10. 8
      src/app/key-unit/view-unit-details-plan/view-unit-details-plan.component.html
  11. 8
      src/app/key-unit/view-unit-details/view-unit-details.component.html
  12. 4
      src/app/plan-audit/detachment-level/detachment-level.component.html
  13. 4
      src/app/plan-audit/plan-audit/plan-audit.component.html
  14. 2
      src/app/plan-audit/plan-pass/plan-pass.component.html
  15. 2
      src/app/plan-audit/plan-record/plan-record.component.html
  16. 2
      src/app/plan-audit/wait-examineer/wait-examineer.component.html
  17. 2
      src/app/plan-management/entry-plan-look/entry-plan-look.component.html
  18. 229
      src/app/plan-management/entry-plan/entry-plan.component.html
  19. 3
      src/app/plan-management/entry-plan/entry-plan.component.ts
  20. 6
      src/app/plan-management/maintain-up/maintain-up.component.html
  21. 4
      src/app/plan-management/pass-plan/pass-plan.component.html
  22. 2
      src/app/plan-management/plan-deduction/plan-deduction.component.html
  23. 4
      src/app/plan-management/reinforce-plan/reinforce-plan.component.html
  24. 18
      src/app/statistic-analysis/addUnit/add-unit-one/add-unit-one.component.ts
  25. 24
      src/app/statistic-analysis/addUnit/add-unit-two-type-statistics/add-unit-two-type-statistics.component.ts
  26. 6
      src/app/statistic-analysis/combined-query/combined-query.component.html
  27. 8
      src/app/statistic-analysis/combined-query/combined-query.component.ts
  28. 2
      src/app/statistic-analysis/compang-info/compang-info.component.html
  29. 63
      src/app/statistic-analysis/home/home.component.html
  30. 42
      src/app/statistic-analysis/home/home.component.scss
  31. 45
      src/app/statistic-analysis/home/home.component.ts
  32. 2
      src/app/statistic-analysis/plan-analysis-by-synthesis/plan-analysis-by-synthesis.component.html
  33. 210
      src/app/tabbar/tabbar.component.html
  34. 2
      src/app/ui/unit-information/addunitinfo.component.html
  35. 2
      src/assets/css/newStyle.css
  36. 16
      yarn.lock

28
package-lock.json generated

@ -8464,11 +8464,11 @@
}
},
"node_modules/echarts": {
"version": "4.1.0",
"resolved": "https://registry.npmmirror.com/echarts/-/echarts-4.1.0.tgz",
"integrity": "sha512-gP1e1fNnAj9KJpTDLXV21brklbfJlqeINmpQDJCDta9TX3cPoqyQOiDVcEPzbOVHqgBRgTOwNxC5iGwJ89014A==",
"version": "4.9.0",
"resolved": "https://registry.npmmirror.com/echarts/-/echarts-4.9.0.tgz",
"integrity": "sha512-+ugizgtJ+KmsJyyDPxaw2Br5FqzuBnyOWwcxPKO6y0gc5caYcfnEUIlNStx02necw8jmKmTafmpHhGo4XDtEIA==",
"dependencies": {
"zrender": "4.0.4"
"zrender": "4.3.2"
}
},
"node_modules/ee-first": {
@ -19244,9 +19244,9 @@
"integrity": "sha1-Z8oISzEW/DP8QENeDV6kCiB+OS4="
},
"node_modules/zrender": {
"version": "4.0.4",
"resolved": "https://registry.npmmirror.com/zrender/-/zrender-4.0.4.tgz",
"integrity": "sha512-03Vd/BDl/cPXp8E61f5+Xbgr/a4vDyFA+uUtUc1s+5KgcPbyY2m+78R/9LQwkR6QwFYHG8qk25Q8ESGs/qpkZw=="
"version": "4.3.2",
"resolved": "https://registry.npmmirror.com/zrender/-/zrender-4.3.2.tgz",
"integrity": "sha512-bIusJLS8c4DkIcdiK+s13HiQ/zjQQVgpNohtd8d94Y2DnJqgM1yjh/jpDb8DoL6hd7r8Awagw8e3qK/oLaWr3g=="
}
},
"dependencies": {
@ -26715,11 +26715,11 @@
}
},
"echarts": {
"version": "4.1.0",
"resolved": "https://registry.npmmirror.com/echarts/-/echarts-4.1.0.tgz",
"integrity": "sha512-gP1e1fNnAj9KJpTDLXV21brklbfJlqeINmpQDJCDta9TX3cPoqyQOiDVcEPzbOVHqgBRgTOwNxC5iGwJ89014A==",
"version": "4.9.0",
"resolved": "https://registry.npmmirror.com/echarts/-/echarts-4.9.0.tgz",
"integrity": "sha512-+ugizgtJ+KmsJyyDPxaw2Br5FqzuBnyOWwcxPKO6y0gc5caYcfnEUIlNStx02necw8jmKmTafmpHhGo4XDtEIA==",
"requires": {
"zrender": "4.0.4"
"zrender": "4.3.2"
}
},
"ee-first": {
@ -35780,9 +35780,9 @@
"integrity": "sha1-Z8oISzEW/DP8QENeDV6kCiB+OS4="
},
"zrender": {
"version": "4.0.4",
"resolved": "https://registry.npmmirror.com/zrender/-/zrender-4.0.4.tgz",
"integrity": "sha512-03Vd/BDl/cPXp8E61f5+Xbgr/a4vDyFA+uUtUc1s+5KgcPbyY2m+78R/9LQwkR6QwFYHG8qk25Q8ESGs/qpkZw=="
"version": "4.3.2",
"resolved": "https://registry.npmmirror.com/zrender/-/zrender-4.3.2.tgz",
"integrity": "sha512-bIusJLS8c4DkIcdiK+s13HiQ/zjQQVgpNohtd8d94Y2DnJqgM1yjh/jpDb8DoL6hd7r8Awagw8e3qK/oLaWr3g=="
}
}
}

2
proxy.config.json

@ -1,6 +1,6 @@
{
"/api": {
"target": "http://192.168.1.51:8201/",
"target": "http://111.33.20.154:8201/",
"secure": false,
"changeOrigin": true
}

4
src/app/key-unit/basicinfo-look/basicinfo.component.html

@ -12,7 +12,7 @@
<form (ngSubmit)="onSubmit(form.value,form.invalid,form)" #form="ngForm" class="example-container">
<div class="mainbox" >
<div class="mainleft">
<div class="inputbox" >
<!-- <div class="inputbox" >
<span style="color: red;">*</span>
<span>统一社会信用代码:</span>
<mat-form-field>
@ -27,7 +27,7 @@
统一社会信用代码格式不正确
</div>
</div>
</div>
</div> -->
<div class="inputbox">
<span style="color: red;">*</span>
<span>单位类型:</span>

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

@ -13,7 +13,7 @@
<form (ngSubmit)="onSubmit(form.value,form.invalid,form)" #form="ngForm" class="example-container">
<div class="mainbox">
<div class="mainleft">
<div class="inputbox">
<!-- <div class="inputbox">
<span style="color: red;">*</span>
<span>统一社会信用代码:</span>
<mat-form-field>
@ -27,7 +27,7 @@
统一社会信用代码格式不正确
</div>
</div>
</div>
</div> -->
<div class="inputbox">
<span style="color: red;">*</span>
<span>单位类型:</span>

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

@ -1,4 +1,4 @@
<div class="fixedPrompt">
<!-- <div class="fixedPrompt">
<label class="scorePrompt" *ngIf="selected.value == 0">*单位信息,建筑信息填写完整可得满分</label>
<label class="scorePrompt" *ngIf="selected.value == 1">*单位毗邻模块标注完整可得满分</label>
<label class="scorePrompt" *ngIf="selected.value == 2">*消防设施,重点部位模块标注完整可得满分</label>
@ -7,7 +7,7 @@
<label class="scorePrompt" *ngIf="selected.value == 6">*填写2条以上可得满分</label>
<label class="scorePrompt" *ngIf="selected.value == 9">*重点部位、安全出口、外观各自不低于两张图片方可满分</label>
<label class="scorePrompt" *ngIf="selected.value == 10">*保证至少有一个文件可得满分</label>
</div>
</div> -->
<mat-tab-group style="height: 100%;" [selectedIndex]="selected.value" (selectedIndexChange)="selected.setValue($event)">
<mat-tab label="1.基本信息">
@ -45,16 +45,6 @@
<app-function-division></app-function-division>
</ng-template>
</mat-tab>
<!-- <mat-tab label="8.行车路线">
<ng-template matTabContent>
<app-router-gis></app-router-gis>
</ng-template>
</mat-tab>
<mat-tab label="9.周边水源及力量">
<ng-template matTabContent>
<app-water-road></app-water-road>
</ng-template>
</mat-tab> -->
<mat-tab label="8.实景图">
<ng-template matTabContent>
<app-realistic-picture></app-realistic-picture>
@ -65,14 +55,9 @@
<app-uploading-cad></app-uploading-cad>
</ng-template>
</mat-tab>
<mat-tab label="10.特别警示">
<!-- <mat-tab label="10.特别警示">
<ng-template matTabContent>
<app-special-warning></app-special-warning>
</ng-template>
</mat-tab>
<!-- <mat-tab label="12.unity平面图">
<ng-template matTabContent>
<iframe id="main" src="/unityApp2Basic/index.html" name="unityApp" frameborder="0" width="96%" height="100%" style="margin-left: 2%;"></iframe>
</ng-template>
</mat-tab> -->
</mat-tab> -->
</mat-tab-group>

8
src/app/key-unit/key-unit-management/createunit.component.html

@ -8,11 +8,11 @@
ngModel #name="ngModel" placeholder="请输入单位名称">
</mat-form-field>
<mat-form-field>
<!-- <mat-form-field>
<input matInput id="usci" name="usci" type='text'
ngModel #usci="ngModel" placeholder="请输入统一社会信用代码" pattern="^[0-9A-HJ-NP-RTUW-Y]{2}\d{6}[0-9A-HJ-NP-RTUW-Y]{10}$">
</mat-form-field>
-->
<mat-form-field>
<mat-select placeholder='请选择单位类型' ngModel name="unittype" required>
@ -24,7 +24,7 @@
<mat-form-field>
<input matInput name="js" type='text' required
[(ngModel)]="js" placeholder="消防救援站" readonly>
[(ngModel)]="js" placeholder="所属消防救援支队" readonly>
</mat-form-field>
@ -38,7 +38,7 @@
</div>
<div class="treebox">
<span>请选择所属消防救援</span>
<span>请选择所属消防救援支队</span>
<mat-tree [dataSource]="dataSource" [treeControl]="treeControl">
<mat-tree-node *matTreeNodeDef="let node" matTreeNodePadding (click)='add(node)' class="organizationlist">
<button mat-icon-button disabled ></button>

271
src/app/key-unit/key-unit-management/key-unit-management.component.html

@ -10,31 +10,6 @@
</mat-form-field>
</div>
<div class="queryField">
<label style="margin-right: 10px;">统一社会信用代码:</label>
<mat-form-field class="example-full-width">
<input matInput placeholder="请输入统一社会信用代码" name="shehui" [(ngModel)]="shehui" autocomplete="off">
</mat-form-field>
<span *ngIf="padMore" style="margin-left: 10px; color: #0080FF;" (click)='padInfo()'>更多筛选条件<img
[src]='imgsrcopen'> </span>
<span *ngIf="padput" style="margin-left: 10px; color: #0080FF;width: 10px;height: 6px;"
(click)='padInfo()'>收起<img [src]='imgsrcdown'> </span>
</div>
<div class="queryField" *ngIf="!pcfind">
<button mat-raised-button color="primary">查询</button>
<button mat-raised-button style="margin-left: 25px;" type="button" (click)="reset()">重置</button>
</div>
<div class="queryField" *ngIf="!padMore">
<label style="margin-right: 10px;">重点单位:</label>
<mat-form-field>
<mat-select placeholder='请选择单位是否为重点' [(ngModel)]="follow" name="follow">
<mat-option value="0">一般单位</mat-option>
<mat-option value="1">重点单位</mat-option>
</mat-select>
</mat-form-field>
</div>
<div class="queryField" *ngIf="!padMore">
<label style="margin-right: 10px;">单位类型:</label>
<mat-form-field>
<mat-select placeholder='请选择单位类型' [(ngModel)]="unittype" name="unittype">
@ -43,23 +18,12 @@
</mat-option>
</mat-select>
</mat-form-field>
<span *ngIf="pcMore" style="margin-left: 10px; color: #0080FF; cursor: pointer;"
(click)='pcInfo()'>更多筛选条件<img [src]='imgsrcopen'
style="width: 10px;height: 6px;margin:0 0 3px 2px;"> </span>
<span *ngIf="pcput" style="margin-left: 10px; color: #0080FF; cursor: pointer;"
(click)='pcInfo()'>收起<img [src]='imgsrcdown'
style="width: 10px;height: 6px;margin:0 0 3px 2px;"> </span>
</div>
<div class="queryField" *ngIf="pcfind">
<button mat-raised-button color="primary">查询</button>
<button mat-raised-button style="margin-left: 25px;" type="button" (click)="reset()">重置</button>
</div>
<div class="queryField ordiv" *ngIf="!padMore&&!pcMore">
<label style="margin-right: 10px;">消防救援站:</label>
<div class="queryField ordiv">
<label style="margin-right: 10px;">所属消防救援支队:</label>
<mat-form-field class="example-full-width">
<input (click)="stopclose($event)" readonly matInput placeholder="请选择消防救援站" autocomplete="off"
[(ngModel)]="js" name="js" (focus)="openorganizationbox()">
<input (click)="stopclose($event)" readonly matInput placeholder="请选择所属消防救援支队"
autocomplete="off" [(ngModel)]="js" name="js" (focus)="openorganizationbox()">
</mat-form-field>
<mat-checkbox color="primary" style="margin-left: 6px;" [(ngModel)]="jscheck" name="jscheck">包含下级
</mat-checkbox>
@ -88,38 +52,9 @@
</div>
</div>
<div class="queryField" *ngIf="!padMore&&!pcMore">
<label style="margin-right: 10px;">信息完整度排序:</label>
<mat-form-field>
<mat-select placeholder='请选择排序方式' [(ngModel)]="integritySort" name="integritySort">
<mat-option value="desc">从高到低</mat-option>
<mat-option value="asc">从低到高</mat-option>
</mat-select>
</mat-form-field>
</div>
<div class="queryField" *ngIf="!padMore&&!pcMore">
<label style="margin-right: 10px;">完整度查询:</label>
<mat-form-field class="example-full-width">
<input type="number" oninput="if(value>100)value=100;if(value<0)value=0" matInput
placeholder="请输入完整度最小值" name="integrityScoreMin" [(ngModel)]="integrityScoreMin"
autocomplete="off">
</mat-form-field>
<mat-icon *ngIf="padjt" aria-hidden="false" style="position: relative;right: 120px;top: 5px;"
id="padshow">arrow forward</mat-icon>
<span style="margin-left: 15px;" id="pcshow" *ngIf="!padMore&&!padjt">🠊</span>
<mat-form-field class="example-full-width" style="margin-left: 5px;">
<input type="number" oninput="if(value>100)value=100;if(value<0)value=0" matInput
placeholder="请输入完整度最大值" name="integrityScoreMax" [(ngModel)]="integrityScoreMax"
autocomplete="off">
</mat-form-field>
</div>
<div class="queryField" *ngIf="!padMore&&!pcMore">
<input type="radio" [(ngModel)]="IsNewData"
style="height: 16px;width: 16px;position: relative;top: 2px;" name="whgx" [value]='true'>
<label style="margin-right: 10px;margin-left: 2px;">新增</label>
<input type="radio" [(ngModel)]="IsNewData"
style="height: 16px;width: 16px;position: relative;top: 2px;" name="whgx" [value]='false'>
<label style="margin-right: 10px;margin-left: 2px;">维护更新</label>
<div class="queryField">
<button mat-raised-button color="primary">查询</button>
<button mat-raised-button style="margin-left: 25px;" type="button" (click)="reset()">重置</button>
</div>
</div>
@ -149,20 +84,18 @@
<th mat-header-cell *matHeaderCellDef>
</th>
<td mat-cell *matCellDef="let element">
<span title="重点单位" *ngIf="element.isFollowed">
<mat-icon style="margin-top: 6px;color: red;">star</mat-icon>
</span>
</td>
</ng-container>
<ng-container matColumnDef="state">
<!-- <ng-container matColumnDef="state">
<th mat-header-cell *matHeaderCellDef style="width: 10%;">单位状态</th>
<td mat-cell *matCellDef="let element">
<span class="add" *ngIf="element.isNewData">新增</span>
<span class="weihu" *ngIf="!element.isNewData">维护更新</span>
</td>
</ng-container>
</ng-container> -->
<ng-container matColumnDef="unitname">
<th mat-header-cell *matHeaderCellDef>单位名称</th>
<td mat-cell *matCellDef="let element">
@ -170,154 +103,12 @@
<mat-icon class="editUnitName" (click)="editUnitName(element)">create</mat-icon>
</td>
</ng-container>
<ng-container matColumnDef="integrity">
<th mat-header-cell *matHeaderCellDef style="text-align: center;">信息完整度</th>
<td mat-cell *matCellDef="let element;let i = index">
<div class="integrityDiv">
<span class="integrityNum">
{{(element.companyIntegrityScore.totalScore.toFixed(2) * 100).toFixed()}}%
</span>
<div class="integrityColorDiv"
[style]="integrity((element.companyIntegrityScore.totalScore.toFixed(2) * 100).toFixed())">
</div>
<div class="integrityDetails" [ngClass]="{'bottomposition': i <= 5,'topposition': i > 5}">
<div class="integrityDetailsTop">
<span class="span1">分类名称</span>
<span class="span2">占比</span>
<span class="span3">总占比</span>
</div>
<div class="integrityDetailsBody">
<ul>
<li>
<div class="name">单位信息</div>
<div class="colorDiv">
<div class="colorDivBac">
<div class="colorDivCon"
[style]="integrityDetails((element.companyIntegrityScore.basicInfoScore * 5).toFixed(1),5)">
</div>
</div>
<span>{{(element.companyIntegrityScore.basicInfoScore *
5).toFixed(1)}}%</span>
</div>
<div class="number">5%</div>
</li>
<li>
<div class="name">建筑信息</div>
<div class="colorDiv">
<div class="colorDivBac">
<div class="colorDivCon"
[style]="integrityDetails((element.companyIntegrityScore.buildingInfoScore * 10).toFixed(1),10)">
</div>
</div>
<span>{{(element.companyIntegrityScore.buildingInfoScore *
10).toFixed(1)}}%</span>
</div>
<div class="number">10%</div>
</li>
<li>
<div class="name">平面图</div>
<div class="colorDiv">
<div class="colorDivBac">
<div class="colorDivCon"
[style]="integrityDetails((element.companyIntegrityScore.planImageScore * 10).toFixed(1),10)">
</div>
</div>
<span>{{(element.companyIntegrityScore.planImageScore *
10).toFixed(1)}}%</span>
</div>
<div class="number">10%</div>
</li>
<li>
<div class="name">四周毗邻</div>
<div class="colorDiv">
<div class="colorDivBac">
<div class="colorDivCon"
[style]="integrityDetails((element.companyIntegrityScore.adjoinScore * 10).toFixed(1),10)">
</div>
</div>
<span>{{(element.companyIntegrityScore.adjoinScore *
10).toFixed(1)}}%</span>
</div>
<div class="number">10%</div>
</li>
<li>
<div class="name">消防设施</div>
<div class="colorDiv">
<div class="colorDivBac">
<div class="colorDivCon"
[style]="integrityDetails((element.companyIntegrityScore.facilityScore * 25).toFixed(1),25)">
</div>
</div>
<span>{{(element.companyIntegrityScore.facilityScore *
25).toFixed(1)}}%</span>
</div>
<div class="number">25%</div>
</li>
<li>
<div class="name">重点部位</div>
<div class="colorDiv">
<div class="colorDivBac">
<div class="colorDivCon"
[style]="integrityDetails((element.companyIntegrityScore.importantLocationScore * 10).toFixed(1),10)">
</div>
</div>
<span>{{(element.companyIntegrityScore.importantLocationScore *
10).toFixed(1)}}%</span>
</div>
<div class="number">10%</div>
</li>
<li>
<div class="name">功能分区</div>
<div class="colorDiv">
<div class="colorDivBac">
<div class="colorDivCon"
[style]="integrityDetails((element.companyIntegrityScore.functionalDivisionScore * 10).toFixed(1),10)">
</div>
</div>
<span>{{(element.companyIntegrityScore.functionalDivisionScore *
10).toFixed(1)}}%</span>
</div>
<div class="number">10%</div>
</li>
<li>
<div class="name">实景图</div>
<div class="colorDiv">
<div class="colorDivBac">
<div class="colorDivCon"
[style]="integrityDetails((element.companyIntegrityScore.realityImageScore * 10).toFixed(1),10)">
</div>
</div>
<span>{{(element.companyIntegrityScore.realityImageScore *
10).toFixed(1)}}%</span>
</div>
<div class="number">10%</div>
</li>
<li>
<div class="name">CAD上传</div>
<div class="colorDiv">
<div class="colorDivBac">
<div class="colorDivCon"
[style]="integrityDetails((element.companyIntegrityScore.cadScore * 10).toFixed(1),10)">
</div>
</div>
<span>{{(element.companyIntegrityScore.cadScore *
10).toFixed(1)}}%</span>
</div>
<div class="number">10%</div>
</li>
</ul>
</div>
<div style="width: 100%;text-align: center;font-size: 13px;">
仅供参考
</div>
</div>
</div>
</td>
<ng-container matColumnDef="address">
<th mat-header-cell *matHeaderCellDef>单位地址</th>
<td mat-cell *matCellDef="let element" [title]="element.address">{{element.address}}</td>
</ng-container>
<ng-container matColumnDef="jurisdictionsquadron">
<th mat-header-cell *matHeaderCellDef>消防救援站</th>
<th mat-header-cell *matHeaderCellDef>所属消防救援支队</th>
<td mat-cell *matCellDef="let element">{{element.organizationName}}</td>
</ng-container>
@ -326,44 +117,14 @@
<td mat-cell *matCellDef="let element">{{element.buildingTypes.length != 0 ?
element.buildingTypes[0].name : ''}}</td>
</ng-container>
<ng-container matColumnDef="scc">
<th mat-header-cell *matHeaderCellDef>统一社会信用代码</th>
<td mat-cell *matCellDef="let element">{{element.usci}}</td>
</ng-container>
<ng-container matColumnDef="time">
<th mat-header-cell *matHeaderCellDef>修改时间</th>
<td mat-cell *matCellDef="let element">
{{element.modifiedTime|date:'yyyy-MM-dd'}}
</td>
</ng-container>
<ng-container matColumnDef="addstate">
<th mat-header-cell *matHeaderCellDef>新增审核</th>
<td mat-cell *matCellDef="let element">
{{element.newVerifyState}}
<!-- {{element.contentVerify==4?'审核通过':element.contentVerify==5?'审核退回':''}} -->
</td>
</ng-container>
<ng-container matColumnDef="weihustate">
<th mat-header-cell *matHeaderCellDef>维护审核</th>
<td mat-cell *matCellDef="let element">
{{element.maintenanceVerifyState}}
</td>
<ng-container matColumnDef="phone">
<th mat-header-cell *matHeaderCellDef>联系电话</th>
<td mat-cell *matCellDef="let element" [title]="element.phone">{{element.phone}}</td>
</ng-container>
<ng-container matColumnDef="operation">
<th mat-header-cell *matHeaderCellDef>操作</th>
<td mat-cell *matCellDef="let element" class="operation">
<!-- <span (click)="drill(element)">演练</span> -->
<span (click)="unitdetails(element)">查看详情</span>
<span style="color: blue;margin-left: 4px;"
*ngIf="(element.isNewData && (element.newVerifyState=='未提交审核'||element.newVerifyState=='审核通过'
||element.newVerifyState=='审核退回'))||(!element.isNewData&&(element.maintenanceVerifyState=='审核通过'||element.maintenanceVerifyState=='未提交审核'||element.maintenanceVerifyState=='审核退回'))"
(click)='submitAudit(element)'>提交审核</span>
<span style="color: blue;margin-left: 4px;"
*ngIf="element.contentVerify!=null&&(element.contentVerify.verifyState==0||element.contentVerify.verifyState==3) "
(click)="cancelAudit(element)">撤销审核</span>
<span style="color: blue;margin-left: 4px;" (click)="auditResult(element)">审批结果</span>
<span (click)="Follow(element)" *ngIf="!element.isFollowed">重点单位</span>
<span (click)="unFollow(element)" *ngIf="element.isFollowed">一般单位</span>
</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>

2
src/app/key-unit/key-unit-management/key-unit-management.component.scss

@ -150,7 +150,7 @@
.treebox{
float: left;
width: 325px;
height: 350px;
height: 310px;
overflow: auto;
.organizationlist{
list-style: none

93
src/app/key-unit/key-unit-management/key-unit-management.component.ts

@ -93,15 +93,11 @@ export class KeyUnitManagementComponent implements OnInit {
displayedColumns: string[] = [
"checked",
"Follow",
"state",
"unitname",
"integrity",
"address",
"jurisdictionsquadron",
"unittype",
"scc",
"time",
"addstate",
"weihustate",
"phone",
"operation",
];
tabledataSource: any;
@ -476,14 +472,10 @@ export class KeyUnitManagementComponent implements OnInit {
console.log(data);
this.length = data.totalCount;
this.allKeyUnitInfo = data;
// data.items.sort( (a,b) => {
// return a.usci - b.usci
// })
data.items.forEach((item, index) => {
item.integrity = this.wanzhengduArr[index];
});
//console.log(789,data.items)
this.tabledataSource = data.items;
this.tabledataSource = [...data.items];
});
}
//得到当前单位信息
@ -647,14 +639,12 @@ export class KeyUnitManagementComponent implements OnInit {
//删除单位信息
deleteAudia = []; //批量删除提交数组
deleteunit() {
this.deleteAudia = [];
const config = new MatSnackBarConfig();
config.verticalPosition = "top";
config.duration = 3000;
//console.log(this.deleteAll)
if (this.verifyState == 0 || this.verifyState == 3) {
this.snackBar.open("审核中,不能删除", "确定", config);
} else {
var result = confirm("确认要执删除选中单位吗?");
if (result) {
this.deleteAudia = [];
const config = new MatSnackBarConfig();
config.verticalPosition = "top";
config.duration = 3000;
let selectedunitArr = [];
this.allKeyUnitInfo.items.forEach((item) => {
if (item.checked) {
@ -664,61 +654,20 @@ export class KeyUnitManagementComponent implements OnInit {
if (selectedunitArr.length == 0) {
this.snackBar.open("请先选择要删除的单位", "确定", config);
return;
}
/* if(selectedunitArr.length != 1 && selectedunitArr.length != 0){
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.snackBar.open('只能选择一个单位删除','确定',config);
} */
if (this.deleteAll.length == 1) {
//带着id跳到删除页面
let isTrue = confirm("重点单位删除需审核员审核,审核通过方可删除");
if (isTrue) {
let body: any = {
title: this.deleteAll[0].name,
Operation: 2,
itemId: this.deleteAll[0].id,
verifyState: 3,
contentType: 11,
};
this.http.post(`/api/ContentVerifies`, body).subscribe(
(data) => {
this.snackBar.open("操作成功", "确定", config);
this.getAllKeyUnit();
},
(err) => {
this.snackBar.open(err, "确定", config);
}
);
}
} else if (this.deleteAll.length > 1) {
let isTrue = confirm("重点单位删除需审核员审核,审核通过方可删除");
if (isTrue) {
for (var i = 0; i < this.deleteAll.length; i++) {
let body: any = {
title: this.deleteAll[i].name,
Operation: 2,
itemId: this.deleteAll[i].id,
verifyState: 3,
contentType: 11,
};
this.deleteAudia.push(body);
}
console.log("删除的单位列表", selectedunitArr);
this.http
.post(`/api/ContentVerifies/Batch`, this.deleteAudia)
.subscribe(
(data) => {
this.snackBar.open("操作成功", "确定", config);
this.getAllKeyUnit();
this.deleteAll = [];
},
(err) => {
this.snackBar.open(err, "确定", config);
}
);
}
let num = 0;
for (let index = 0; index < selectedunitArr.length; index++) {
const element = selectedunitArr[index];
this.http.delete(`/api/Companies/${element}`).subscribe((data) => {
num++;
if (num === selectedunitArr.length) {
this.snackBar.open("删除成功", "确定", config);
this.getAllKeyUnit();
}
});
}
}
}

8
src/app/key-unit/view-unit-details-plan/view-unit-details-plan.component.html

@ -1,4 +1,4 @@
<mat-tab-group selectedIndex="10" style="height: 99%;">
<mat-tab-group selectedIndex="8" style="height: 99%;">
<mat-tab label="1.基本信息">
<ng-template matTabContent>
<app-basicinfo-look></app-basicinfo-look>
@ -44,12 +44,12 @@
<app-uploading-cad-look></app-uploading-cad-look>
</ng-template>
</mat-tab>
<mat-tab label="8.特别警示">
<!-- <mat-tab label="8.特别警示">
<ng-template matTabContent>
<app-special-warning></app-special-warning>
</ng-template>
</mat-tab>
<mat-tab label="9.作战部署">
</mat-tab> -->
<mat-tab label="8.作战部署">
<ng-template matTabContent>
<app-collection-tools></app-collection-tools>
</ng-template>

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

@ -1,4 +1,4 @@
<div class="fixedPrompt">
<!-- <div class="fixedPrompt">
<label class="scorePrompt" *ngIf="selected.value == 0">*单位信息,建筑信息填写完整可得满分</label>
<label class="scorePrompt" *ngIf="selected.value == 1">*单位毗邻模块标注完整可得满分</label>
<label class="scorePrompt" *ngIf="selected.value == 2">*消防设施,重点部位模块标注完整可得满分</label>
@ -7,7 +7,7 @@
<label class="scorePrompt" *ngIf="selected.value == 6">*填写2条以上可得满分</label>
<label class="scorePrompt" *ngIf="selected.value == 9">*重点部位、安全出口、外观各自不低于两张图片方可满分</label>
<label class="scorePrompt" *ngIf="selected.value == 10">*保证至少有一个文件可得满分</label>
</div>
</div> -->
<mat-tab-group style="height:100%;" [selectedIndex]="selected.value" (selectedIndexChange)="selected.setValue($event)">
<mat-tab label="1.基本信息">
<ng-template matTabContent>
@ -64,11 +64,11 @@
<app-uploading-cad-look></app-uploading-cad-look>
</ng-template>
</mat-tab>
<mat-tab label="10.特别警示">
<!-- <mat-tab label="10.特别警示">
<ng-template matTabContent>
<app-special-warning></app-special-warning>
</ng-template>
</mat-tab>
</mat-tab> -->
<!-- <mat-tab label="12.unity平面图">
<ng-template matTabContent>
<iframe id="main" src="/unityApp2Basic/index.html" name="unityApp" frameborder="0" width="96%" height="100%" style="margin-left:2%;"></iframe>

4
src/app/plan-audit/detachment-level/detachment-level.component.html

@ -10,9 +10,9 @@
</div>
<div class="queryField ordiv">
<label style="margin-right: 10px;">消防救援站:</label>
<label style="margin-right: 10px;">所属消防救援支队:</label>
<mat-form-field>
<input readonly matInput placeholder="请选择消防救援站" [(ngModel)]="selectOrganizationIName" name="selectOrganizationIName" (focus)="openorganizationbox()">
<input readonly matInput placeholder="请选择所属消防救援支队" [(ngModel)]="selectOrganizationIName" name="selectOrganizationIName" (focus)="openorganizationbox()">
</mat-form-field>
<mat-checkbox style="margin-left: 5px;" [(ngModel)]="HasChildrenOrganization" name="HasChildrenOrganization">包含下级</mat-checkbox>

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

@ -10,9 +10,9 @@
</div>
<div class="queryField ordiv">
<label style="margin-right: 10px;">消防救援站:</label>
<label style="margin-right: 10px;">所属消防救援支队:</label>
<mat-form-field>
<input readonly matInput placeholder="请选择消防救援站" [(ngModel)]="selectOrganizationIName"
<input readonly matInput placeholder="请选择所属消防救援支队" [(ngModel)]="selectOrganizationIName"
name="selectOrganizationIName" (focus)="openorganizationbox()">
</mat-form-field>
<mat-checkbox style="margin-left: 5px;" [(ngModel)]="HasChildrenOrganization"

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

@ -18,7 +18,7 @@
<span>{{compantData.name?compantData.name : '暂无数据'}}</span>
</div>
<div class="planBox">
<span>消防救援站: </span>
<span>所属消防救援支队: </span>
<span>{{organizationName}}</span>
</div>
<div class="planBox">

2
src/app/plan-audit/plan-record/plan-record.component.html

@ -196,7 +196,7 @@
<span>{{compantData.name?compantData.name : '暂无数据'}}</span>
</div>
<div class="planBox">
<span>消防救援站: </span>
<span>所属消防救援支队: </span>
<span>{{organizationName}}</span>
</div>
<div class="planBox">

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

@ -347,7 +347,7 @@
<span>{{compantData.name?compantData.name : '暂无数据'}}</span>
</div>
<div class="planBox">
<span>消防救援站: </span>
<span>所属消防救援支队: </span>
<span>{{organizationName}}</span>
</div>
<div class="planBox">

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

@ -16,7 +16,7 @@
<span>单位名称:{{unitdata.unitname == "null" ? "无" : unitdata.unitname}}</span>
</div>
<div>
<span>消防救援站:{{unitdata.organizationName == "null" ? "无" : unitdata.organizationName}}</span>
<span>所属消防救援支队:{{unitdata.organizationName == "null" ? "无" : unitdata.organizationName}}</span>
</div>
<div>
<span>单位类型:{{unitdata.unittype == "null" ? "无" : unitdata.unittype}}</span>

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

@ -27,10 +27,10 @@
<button mat-raised-button color="primary">查询</button>
<button mat-raised-button style="margin-left: 25px;" type="button" (click)="reset()">重置</button>
</div>
<div class="queryField ordiv" *ngIf="!padMore">
<label style="margin-right: 10px;">消防救援站:</label>
<div class="queryField ordiv">
<label style="margin-right: 10px;">所属消防救援支队:</label>
<mat-form-field class="example-full-width">
<input readonly matInput placeholder="请选择消防救援站" autocomplete="off" [(ngModel)]="js" name="js"
<input readonly matInput placeholder="请选择所属消防救援支队" autocomplete="off" [(ngModel)]="js" name="js"
(focus)="openorganizationbox()">
</mat-form-field>
<mat-checkbox style="margin-left: 6px;" [(ngModel)]="jscheck" name="jscheck">包含下级</mat-checkbox>
@ -58,7 +58,7 @@
</mat-tree>
</div>
</div>
<div class="queryField" *ngIf="!padMore">
<div class="queryField">
<label style="margin-right: 10px;">预案类型:</label>
<mat-form-field>
<mat-select name="reservePlanType" [(ngModel)]="reservePlanType" placeholder='请选择预案类型'
@ -69,18 +69,9 @@
<mat-option value=4>其他预案</mat-option>
</mat-select>
</mat-form-field>
<span *ngIf="pcMore" style="margin-left: 15px; color: #0080FF; cursor: pointer;"
(click)='pcInfo()'>更多筛选条件<img [src]='imgsrcopen'
style="width: 10px;height: 6px;margin:0 0 3px 2px;"> </span>
<span *ngIf="pcput" style="margin-left: 10px; color: #0080FF; cursor: pointer;"
(click)='pcInfo()'>收起<img [src]='imgsrcdown'
style="width: 10px;height: 6px;margin:0 0 3px 2px;"> </span>
</div>
<div class="queryField" *ngIf="pcfind">
<button mat-raised-button color="primary">查询</button>
<button mat-raised-button style="margin-left: 25px;" type="button" (click)="reset()">重置</button>
</div>
<div class="queryField" *ngIf="!padMore&&!pcMore">
<div class="queryField">
<label style="margin-right: 10px;">预案级别:</label>
<mat-form-field>
<mat-select placeholder='请选择预案级别' [(ngModel)]="planCategory" name="planCategory"
@ -92,26 +83,7 @@
</mat-form-field>
</div>
<div class="queryField" *ngIf="!padMore&&!pcMore">
<label style="margin-right: 10px;">重点单位:</label>
<mat-form-field>
<mat-select placeholder='是否为重点单位' [(ngModel)]="isFollowed" name="isFollowed">
<mat-option value=0>一般单位</mat-option>
<mat-option value=1>重点单位</mat-option>
</mat-select>
</mat-form-field>
</div>
<!-- <div class="queryField" *ngIf="!padMore&&!pcMore">
<label style="margin-right: 10px;">编制级别:</label>
<mat-form-field>
<mat-select name="preparelevel" [(ngModel)]="preparelevel" placeholder='请选择编制级别'>
<mat-option *ngFor="let item of preparelevels" [value]="item.value">{{item.name}}
</mat-option>
</mat-select>
</mat-form-field>
<mat-checkbox style="margin-left: 6px;" [(ngModel)]="plcheck" name="plcheck">包含下级</mat-checkbox>
</div> -->
<div class="queryField" *ngIf="!padMore&&!pcMore">
<div class="queryField">
<label style="margin-right: 10px;">审核状态:</label>
<mat-form-field>
<mat-select name="toExamine" [(ngModel)]="toExamine" placeholder='请选择审核状态'>
@ -122,16 +94,7 @@
</mat-select>
</mat-form-field>
</div>
<div class="queryField" *ngIf="!padMore&&!pcMore">
<label style="margin-right: 10px;">信息完整度排序:</label>
<mat-form-field>
<mat-select placeholder='请选择排序方式' [(ngModel)]="integritySort" name="integritySort">
<mat-option value="desc">从高到低</mat-option>
<mat-option value="asc">从低到高</mat-option>
</mat-select>
</mat-form-field>
</div>
<div class="queryField" *ngIf="!padMore&&!pcMore">
<div class="queryField">
<label style="margin-right: 10px;">制作情况:</label>
<mat-form-field>
<mat-select placeholder='请选择预案制作情况' [(ngModel)]="haveyuan" name="haveyuan">
@ -140,7 +103,7 @@
</mat-select>
</mat-form-field>
</div>
<div class="queryField" *ngIf="!padMore&&!pcMore">
<div class="queryField">
<label style="margin-right: 10px;">单位状态:</label>
<mat-form-field>
<mat-select placeholder='请选择单位状态' [(ngModel)]="IsNewCompanyData" name="IsNewCompanyData">
@ -149,7 +112,7 @@
</mat-select>
</mat-form-field>
</div>
<div class="queryField" *ngIf="!padMore&&!pcMore">
<div class="queryField">
<label style="margin-right: 10px;">预案状态:</label>
<mat-form-field>
<mat-select placeholder='请选择预案状态' [(ngModel)]="IsNewData" name="IsNewData">
@ -158,14 +121,10 @@
</mat-select>
</mat-form-field>
</div>
<!-- <div class="queryField" *ngIf="!padMore&&!pcMore">
<mat-checkbox (ngModelChange)="templatePlanChange($event,1)" [(ngModel)]="templatePlan"
name="templatePlan">模板录入预案</mat-checkbox>
<div class="queryField">
<button mat-raised-button color="primary">查询</button>
<button mat-raised-button style="margin-left: 25px;" type="button" (click)="reset()">重置</button>
</div>
<div class="queryField" *ngIf="!padMore&&!pcMore">
<mat-checkbox (ngModelChange)="templatePlanChange($event,2)" [(ngModel)]="customPlan"
name="customPlan">自定义预案</mat-checkbox>
</div> -->
</div>
</form>
</div>
@ -174,177 +133,17 @@
<div class="tablebox">
<table mat-table [dataSource]="tabledataSource" class="mat-elevation-z8">
<ng-container matColumnDef="state">
<th mat-header-cell *matHeaderCellDef style="width: 10%;">单位状态</th>
<td mat-cell *matCellDef="let element">
<span class="add" *ngIf="element.company.isNewData">新增</span>
<span class="weihu" *ngIf="!element.company.isNewData">维护更新</span>
</td>
</ng-container>
<ng-container matColumnDef="isFollowed">
<th mat-header-cell *matHeaderCellDef style="width: 3%;">重点单位</th>
<td mat-cell *matCellDef="let element">
<span title="重点单位" *ngIf="element.company.isFollowed">
<mat-icon style="margin-top: 6px;color: red;">star</mat-icon>
</span>
</td>
</ng-container>
<ng-container matColumnDef="unitname">
<th mat-header-cell *matHeaderCellDef>单位名称</th>
<td mat-cell *matCellDef="let element">{{element.company.name}}</td>
</ng-container>
<ng-container matColumnDef="integrity">
<th mat-header-cell *matHeaderCellDef style="text-align: center;">信息完整度</th>
<td mat-cell *matCellDef="let element;let i = index">
<div class="integrityDiv">
<span class="integrityNum">
{{(element.company.companyIntegrityScore.totalScore.toFixed(2) * 100).toFixed()}}%
</span>
<div class="integrityColorDiv"
[style]="integrity((element.company.companyIntegrityScore.totalScore.toFixed(2) * 100).toFixed())">
</div>
<div class="integrityDetails" [ngClass]="{'bottomposition': i <= 5,'topposition': i > 5}">
<div class="integrityDetailsTop">
<span class="span1">分类名称</span>
<span class="span2">占比</span>
<span class="span3">总占比</span>
</div>
<div class="integrityDetailsBody">
<ul>
<li>
<div class="name">单位信息</div>
<div class="colorDiv">
<div class="colorDivBac">
<div class="colorDivCon"
[style]="integrityDetails((element.company.companyIntegrityScore.basicInfoScore * 5).toFixed(1),5)">
</div>
</div>
<span>{{(element.company.companyIntegrityScore.basicInfoScore *
5).toFixed(1)}}%</span>
</div>
<div class="number">5%</div>
</li>
<li>
<div class="name">建筑信息</div>
<div class="colorDiv">
<div class="colorDivBac">
<div class="colorDivCon"
[style]="integrityDetails((element.company.companyIntegrityScore.buildingInfoScore * 10).toFixed(1),10)">
</div>
</div>
<span>{{(element.company.companyIntegrityScore.buildingInfoScore *
10).toFixed(1)}}%</span>
</div>
<div class="number">10%</div>
</li>
<li>
<div class="name">平面图</div>
<div class="colorDiv">
<div class="colorDivBac">
<div class="colorDivCon"
[style]="integrityDetails((element.company.companyIntegrityScore.planImageScore * 10).toFixed(1),10)">
</div>
</div>
<span>{{(element.company.companyIntegrityScore.planImageScore *
10).toFixed(1)}}%</span>
</div>
<div class="number">10%</div>
</li>
<li>
<div class="name">四周毗邻</div>
<div class="colorDiv">
<div class="colorDivBac">
<div class="colorDivCon"
[style]="integrityDetails((element.company.companyIntegrityScore.adjoinScore * 10).toFixed(1),10)">
</div>
</div>
<span>{{(element.company.companyIntegrityScore.adjoinScore *
10).toFixed(1)}}%</span>
</div>
<div class="number">10%</div>
</li>
<li>
<div class="name">消防设施</div>
<div class="colorDiv">
<div class="colorDivBac">
<div class="colorDivCon"
[style]="integrityDetails((element.company.companyIntegrityScore.facilityScore * 25).toFixed(1),25)">
</div>
</div>
<span>{{(element.company.companyIntegrityScore.facilityScore *
25).toFixed(1)}}%</span>
</div>
<div class="number">25%</div>
</li>
<li>
<div class="name">重点部位</div>
<div class="colorDiv">
<div class="colorDivBac">
<div class="colorDivCon"
[style]="integrityDetails((element.company.companyIntegrityScore.importantLocationScore * 10).toFixed(1),10)">
</div>
</div>
<span>{{(element.company.companyIntegrityScore.importantLocationScore *
10).toFixed(1)}}%</span>
</div>
<div class="number">10%</div>
</li>
<li>
<div class="name">功能分区</div>
<div class="colorDiv">
<div class="colorDivBac">
<div class="colorDivCon"
[style]="integrityDetails((element.company.companyIntegrityScore.functionalDivisionScore * 10).toFixed(1),10)">
</div>
</div>
<span>{{(element.company.companyIntegrityScore.functionalDivisionScore *
10).toFixed(1)}}%</span>
</div>
<div class="number">10%</div>
</li>
<li>
<div class="name">实景图</div>
<div class="colorDiv">
<div class="colorDivBac">
<div class="colorDivCon"
[style]="integrityDetails((element.company.companyIntegrityScore.realityImageScore * 10).toFixed(1),10)">
</div>
</div>
<span>{{(element.company.companyIntegrityScore.realityImageScore *
10).toFixed(1)}}%</span>
</div>
<div class="number">10%</div>
</li>
<li>
<div class="name">CAD上传</div>
<div class="colorDiv">
<div class="colorDivBac">
<div class="colorDivCon"
[style]="integrityDetails((element.company.companyIntegrityScore.cadScore * 10).toFixed(1),10)">
</div>
</div>
<span>{{(element.company.companyIntegrityScore.cadScore *
10).toFixed(1)}}%</span>
</div>
<div class="number">10%</div>
</li>
</ul>
</div>
<div style="width: 100%;text-align: center;font-size: 13px;">
仅供参考
</div>
</div>
</div>
</td>
</ng-container>
<ng-container matColumnDef="level">
<th mat-header-cell *matHeaderCellDef>预案级别</th>
<td mat-cell *matCellDef="let element">{{element.planCategory}}</td>
</ng-container>
<ng-container matColumnDef="jurisdictionsquadron">
<th mat-header-cell *matHeaderCellDef>消防救援站</th>
<th mat-header-cell *matHeaderCellDef>所属消防救援支队</th>
<td mat-cell *matCellDef="let element">{{element.company.organizationName}}</td>
</ng-container>

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

@ -68,10 +68,7 @@ export class EntryPlanComponent implements OnInit {
IsNewCompanyData = ""; //单位维护更新或者新增
displayedColumns: string[] = [
"state",
"isFollowed",
"unitname",
"integrity",
"level",
"jurisdictionsquadron",
"unittype",

6
src/app/plan-management/maintain-up/maintain-up.component.html

@ -11,9 +11,9 @@
</div>
<div class="queryField ordiv">
<label style="margin-right: 10px;">消防救援站:</label>
<label style="margin-right: 10px;">所属消防救援支队:</label>
<mat-form-field class="example-full-width">
<input (click)="stopclose($event)" readonly matInput placeholder="请选择消防救援站" autocomplete="off"
<input (click)="stopclose($event)" readonly matInput placeholder="请选择所属消防救援支队" autocomplete="off"
[(ngModel)]="js" name="js" (focus)="openorganizationbox()">
</mat-form-field>
<mat-checkbox color="primary" style="margin-left: 6px;" [(ngModel)]="jscheck" name="jscheck">包含下级
@ -296,7 +296,7 @@
</ng-container>
<ng-container matColumnDef="jurisdictionsquadron">
<th mat-header-cell *matHeaderCellDef>消防救援站</th>
<th mat-header-cell *matHeaderCellDef>所属消防救援支队</th>
<td mat-cell *matCellDef="let element">{{element.organizationName}}</td>
</ng-container>

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

@ -11,9 +11,9 @@
</div>
<div class="queryField ordiv">
<label style="margin-right: 10px;">消防救援站:</label>
<label style="margin-right: 10px;">所属消防救援支队:</label>
<mat-form-field class="example-full-width">
<input readonly matInput placeholder="请选择消防救援站" autocomplete="off" [(ngModel)]="js" name="js"
<input readonly matInput placeholder="请选择所属消防救援支队" autocomplete="off" [(ngModel)]="js" name="js"
(focus)="openorganizationbox()">
</mat-form-field>
<mat-checkbox style="margin-left: 6px;" [(ngModel)]="jscheck" name="jscheck">包含下级</mat-checkbox>

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

@ -11,7 +11,7 @@
<input name="companyname" nz-input placeholder="请输入单位名称" [(ngModel)]="companyname" />
</div>
<div class="queryField" style="margin-right: 35px;">
<span style="width: 153px;">创建人(消防救援站):</span>
<span style="width: 153px;">创建人(所属消防救援支队):</span>
<nz-tree-select [nzDropdownClassName]="'maxHeightTreeSelect'" style="width: 250px"
[nzExpandedKeys]="expandKeys" [nzNodes]="nodes" nzShowSearch nzPlaceHolder="请选择组织机构" name="orId"
[(ngModel)]="orId">

4
src/app/plan-management/reinforce-plan/reinforce-plan.component.html

@ -11,9 +11,9 @@
</div>
<div class="queryField ordiv">
<label style="margin-right: 10px;">消防救援站:</label>
<label style="margin-right: 10px;">所属消防救援支队:</label>
<mat-form-field class="example-full-width">
<input readonly matInput placeholder="请选择消防救援站" autocomplete="off" [(ngModel)]="js" name="js" (focus)="openorganizationbox()">
<input readonly matInput placeholder="请选择所属消防救援支队" autocomplete="off" [(ngModel)]="js" name="js" (focus)="openorganizationbox()">
</mat-form-field>
<mat-checkbox style="margin-left: 6px;" [(ngModel)]="jscheck" name="jscheck">包含下级</mat-checkbox>
<span *ngIf="padMore" style="margin-left: 10px; color: #0080FF;" (click)='padInfo()'>更多筛选条件<img [src]='imgsrcopen'> </span>

18
src/app/statistic-analysis/addUnit/add-unit-one/add-unit-one.component.ts

@ -107,27 +107,13 @@ export class AddUnitOneComponent implements OnInit {
},
position:this.echartsData.tableTooltipNoShow2
},
legend: {
//type: tid=="pieone"?'scroll':'',
//orient: 'vertical',
//left: tid=="pieone"?0:650,
//right:30,
//top:100,
//bottom:tid=="pieone"?600:500,
bottom: 90,
left: 'center',
textStyle:{
fontSize:14,
color:"#000000"
},
data: tid=="pieone"?this.lengthOrData:this.lengthBuildData
},
series: [
{
name: '访问来源',
type: 'pie',
radius:this.padHw?'42%':'50%',
center: ['48%', '53%'],
center: ['48%', '60%'],
bottom:130,
left:30,
label:{

24
src/app/statistic-analysis/addUnit/add-unit-two-type-statistics/add-unit-two-type-statistics.component.ts

@ -54,11 +54,12 @@ export class AddUnitTwoTypeStatisticsComponent implements OnInit {
location.reload();
}
this.route.queryParams.subscribe((param) => {
this.headname = param.level;
this.lastId = param.id;
this.zhiorbuild = param.type;
this.year = param.year || null;
this.month = param.month.substring(0, 1) || null;
console.log("param", param);
param.level ? (this.headname = param.level) : null;
param.id ? (this.lastId = param.id) : null;
param.type ? (this.zhiorbuild = param.type) : null;
param.year ? (this.year = param.year || null) : null;
param.month ? (this.month = param.month.substring(0, 1) || null) : null;
});
console.log(this.month);
this.setTimeoutObj = window.setTimeout(() => {
@ -520,7 +521,6 @@ export class AddUnitTwoTypeStatisticsComponent implements OnInit {
item.echart.setOption(option);
item.echart.getZr().on("click", (params) => {
const pointInPixel = [params.offsetX, params.offsetY];
console.log(this.data.level);
if (item.echart.containPixel("grid", pointInPixel)) {
let xIndex = item.echart.convertFromPixel({ seriesIndex: 0 }, [
params.offsetX,
@ -531,7 +531,6 @@ export class AddUnitTwoTypeStatisticsComponent implements OnInit {
(this.data.level == "0" || this.data.level == "1") &&
this.tabledata[0].buildingTypes[xIndex].organizations.length >= 1
) {
console.log("走这里了吗");
// 总队,支队跳转
this.router.navigate(
["/statisticanalysis/addUnit_one/addUnit_two_typeDetails"],
@ -556,6 +555,17 @@ export class AddUnitTwoTypeStatisticsComponent implements OnInit {
});
}
} else {
// console.log(this.data.level)
// console.log(this.tabledata[0].organizations[xIndex].subOrganizations)
// this.router.navigate(["/statisticanalysis/CompangInfo"], {
// queryParams: {
// name: option.xAxis.data[xIndex],
// type: 1,
// jsid: option.xAxis.id[xIndex],
// buildid: this.lastId,
// },
// });
// return
if (
(this.data.level == "0" || this.data.level == "1") &&
this.tabledata[0].organizations[xIndex].subOrganizations.length >= 1

6
src/app/statistic-analysis/combined-query/combined-query.component.html

@ -8,11 +8,11 @@
<div class="header">
<div class="queryBox">
<div class="queryField ordiv">
<label style="margin-right: 10px;">消防救援站:</label>
<label style="margin-right: 10px;">所属消防救援支队:</label>
<mat-form-field class="example-full-width">
<input readonly matInput placeholder="请选择消防救援站" autocomplete="off" *ngIf="preparelevels==0"
<input readonly matInput placeholder="请选择所属消防救援支队" autocomplete="off" *ngIf="preparelevels==0"
[(ngModel)]="js" name="js" (focus)="openorganizationbox()">
<input readonly matInput placeholder="请选择消防救援站" autocomplete="off" *ngIf="preparelevels==1"
<input readonly matInput placeholder="请选择所属消防救援支队" autocomplete="off" *ngIf="preparelevels==1"
[(ngModel)]="yuanjs" name="js" (focus)="openorganizationbox()">
</mat-form-field>
<mat-checkbox style="margin-left: 6px;" color="primary" *ngIf="preparelevels==0" [(ngModel)]="jscheck"

8
src/app/statistic-analysis/combined-query/combined-query.component.ts

@ -513,7 +513,7 @@ export class CombinedQueryComponent implements OnInit {
if (this.preparelevels == 0) {
if (element == this.js) {
this.snackBar.open(
"已在当前查询的消防救援站下,无法下钻",
"已在当前查询的所属消防救援支队下,无法下钻",
"确定",
config
);
@ -522,7 +522,7 @@ export class CombinedQueryComponent implements OnInit {
} else if (this.preparelevels == 1) {
if (element == this.yuanjs) {
this.snackBar.open(
"已在当前查询的消防救援站下,无法下钻",
"已在当前查询的所属消防救援支队下,无法下钻",
"确定",
config
);
@ -530,11 +530,11 @@ export class CombinedQueryComponent implements OnInit {
}
}
if (clickOr.children.length == 0 && this.excelData.length == 1) {
this.snackBar.open("无下级消防救援站,无法下钻", "确定", config);
this.snackBar.open("无下级所属消防救援支队,无法下钻", "确定", config);
return;
}
//记录点击过的消防救援站
//记录点击过的所属消防救援支队
this.orRecord.push({ name: this.js, id: this.jsId });
if (this.preparelevels == 0) {

2
src/app/statistic-analysis/compang-info/compang-info.component.html

@ -26,7 +26,7 @@
<td mat-cell *matCellDef="let element">{{element.modifiedTime|date:'yyyy-MM-dd'}}</td>
</ng-container>
<ng-container matColumnDef="organizationName">
<th mat-header-cell *matHeaderCellDef style="width: 10%;">消防救援站</th>
<th mat-header-cell *matHeaderCellDef style="width: 10%;">所属消防救援支队</th>
<td mat-cell *matCellDef="let element">{{element.organizationName}}</td>
</ng-container>
<ng-container matColumnDef="buildingTypes">

63
src/app/statistic-analysis/home/home.component.html

@ -2,58 +2,18 @@
<div class="main-top">
<!-- 左侧 -->
<div class="main-left">
<div class="panel panel04" style="flex: 2.3; max-height: 410px;">
<div class="panel-hd">
<!-- <a href="javascript:;" class="panel-more"><svg width="18" height="12" xmlns="http://www.w3.org/2000/svg"><g fill="#93FCFF" fill-rule="evenodd" opacity=".6"><path d="M0 0h18v2H0zM0 5h18v2H0zM0 10h18v2H0z"/></g></svg></a> -->
</div>
<div class="panel panel04" style="flex: 1;">
<div class="panel-bd">
<div id="chartHynyxf" class="chart-item"></div>
</div>
</div>
<div class="box-wrap mt plan" style="flex: 0.7;cursor: pointer;" (click)="scheduled()">
<div class="panel-hd" style="padding-top: 0px;">
<div class="panel-tit" style="color: white;">年度完成情况</div>
</div>
<div class="panel-bd" style="padding-top: 3px;">
<div class="progress-list">
<div class="progress-item">
<div class="progress-name">当月完成情况</div>
<div class="progress">
<div class="progress-num" style="color: white;">{{completeProgress.monthlyCompleteProgress}}%</div>
<div class="progress-bar">
<div [style]="integrity(completeProgress.monthlyCompleteProgress)"
class="progress-bar-inner progress-bar-gradient"></div>
</div>
</div>
</div>
<div class="progress-item">
<div class="progress-name">年计划完成率</div>
<div class="progress">
<div class="progress-num" style="color: white;">{{completeProgress.yearlyCompleteProgress}}%</div>
<div class="progress-bar">
<div [style]="integrity(completeProgress.yearlyCompleteProgress)" class=" progress-bar-inner
progress-bar-gradient"></div>
</div>
</div>
</div>
<!-- <div class="progress-item">
<div class="progress-name">日历进度差</div>
<div class="progress">
<div class="progress-num">82%</div>
<div class="progress-bar">
<div style="width: 82%;" class="progress-bar-inner progress-bar-gradient"></div>
</div>
</div>
</div> -->
</div>
</div>
</div>
</div>
<!-- 中间 -->
<div class="main-center" style="z-index: 99;">
<!-- 数量统计 -->
<div id="chartMap"></div>
<div class="number-area" id="number-area" style="z-index: 100;height: 125px;">
<div #chartContainer id="chartMap"></div>
<div class="number-area" id="number-area" style="z-index: 100;height: 125px;width: 185px;">
<div class="number-box">
<div class="number-tit" style="color: white;">预案编制总量</div>
<ul class="count-number">
@ -62,23 +22,19 @@
</li>
</ul>
</div>
<div class="number-item">
<!-- <div class="number-item">
<div class="item-tit">单位数量总计</div>
<div class="item-txt" id="number01">{{keyUnitNum}}</div>
</div>
<!-- <div class="number-item">
<div class="item-tit">数据采集总量</div>
<div class="item-txt" id="number02">{{dataGetNum}}</div>
</div> -->
</div> -->
</div>
</div>
</div>
<!-- 右侧 -->
<div class="main-right">
<div class="box-wrap planNum" style="flex: 0.7;position: relative;">
<span style="position: absolute;right: 3px;top: 3px;color: white;cursor: pointer;" (click)="changeNumList()">
<!-- <span style="position: absolute;right: 3px;top: 3px;color: white;cursor: pointer;" (click)="changeNumList()">
<mat-icon>autorenew</mat-icon>
</span>
</span> -->
<div class="panel-bd" style="padding-top: 13px;">
<div class="total-box" *ngIf="isNumList">
<div class="total-item" (click)="threePlan()">
@ -136,4 +92,5 @@
</div>
</div>
</div>
</div>

42
src/app/statistic-analysis/home/home.component.scss

@ -1,26 +1,30 @@
@import "../../../assets/css/newStyle.css";
.main-center{
position: relative;
// .main{
// }
.main-center {
position: relative;
}
#chartMap{
margin-left: 5px;
// border: 1px solid red;
#chartMap {
margin-left: 5px;
}
.number-area{
position: absolute;
top: 0;
display: block;
width:80%;
.number-area {
position: absolute;
top: 0;
display: block;
width: 80%;
}
.total-item{
z-index: 200;
cursor: pointer;
.total-item {
z-index: 200;
cursor: pointer;
}
.total-item div{
height: 23px!important;
line-height: 23px!important;
.total-item div {
height: 23px !important;
line-height: 23px !important;
}
.xxx div{
height: 20px!important;
line-height: 20px!important;
.xxx div {
height: 20px !important;
line-height: 20px !important;
}

45
src/app/statistic-analysis/home/home.component.ts

@ -1,9 +1,16 @@
import { Component, OnInit, Renderer2, ElementRef } from "@angular/core";
import {
Component,
OnInit,
Renderer2,
ElementRef,
ViewChild,
} from "@angular/core";
import { HttpClient } from "@angular/common/http";
import { Router } from "@angular/router";
import { EchartsDataService } from "../echarts-data.service";
import { MapFactory } from "@src/modules/map/declare/factory";
import { IMap } from "@src/modules/map/declare/map";
import { tr } from "date-fns/locale";
declare var echarts: any;
// import "../../../assets/echarts/tianjin.js";
// import * as echarts from "echarts";
@ -14,6 +21,7 @@ declare var echarts: any;
styleUrls: ["./home.component.scss"],
})
export class HomeComponent implements OnInit {
@ViewChild("chartContainer") chartContainer: ElementRef;
mapData;
constructor(
private http: HttpClient,
@ -27,20 +35,24 @@ export class HomeComponent implements OnInit {
yuandata;
ngOnInit() {
this.getechartsdata();
this.getYearlyCompleteProgress();
// this.getYearlyCompleteProgress();
}
ngAfterViewInit() {
setTimeout(() => {
this.http.get("assets/echarts/tianjin.json").subscribe((res) => {
this.mapData = res;
this.echartsMap();
console.log("--- result :: ", res);
});
}, 0);
}
myChart: any;
echartsMap() {
console.log(999);
let myChart = echarts.init(document.getElementById("chartMap"));
let option = {
this.myChart = echarts.init(document.getElementById("chartMap"));
let option: any = {
// tooltip: {
// show: true,
// },
geo: {
map: "tianjin", //这里的名称需要和shandong.js: echarts.registerMap('shandong',{})中的名称一致
// label: { show: true }, //显示地点
@ -72,14 +84,25 @@ export class HomeComponent implements OnInit {
borderType: "dotted", // 描边类型。
},
},
tooltip: {
tooltip: {
trigger: "item",
formatter: function (params) {
return params.name ;
},
},
},
},
series: [],
};
this.myChart.on("click", (params) => {
console.log("点击区域", params);
// this.showTooltip(params);
});
echarts.registerMap("tianjin", this.mapData);
myChart.setOption(option);
window.addEventListener("resize", function () {
myChart.resize();
this.myChart.setOption(option);
window.addEventListener("resize", () => {
this.myChart.resize();
});
}
@ -221,8 +244,6 @@ export class HomeComponent implements OnInit {
cPlan = "0";
dPlan = "0";
ePlan = "0";
ngAfterViewInit(): void {}
planState;
//预案状态统计

2
src/app/statistic-analysis/plan-analysis-by-synthesis/plan-analysis-by-synthesis.component.html

@ -14,7 +14,7 @@
<div class="queryField ordiv">
<label style="margin-right: 10px;">归属地:</label>
<mat-form-field class="example-full-width">
<input readonly matInput placeholder="请选择消防救援站" autocomplete="off" [(ngModel)]="js" name="js"
<input readonly matInput placeholder="请选择所属消防救援支队" autocomplete="off" [(ngModel)]="js" name="js"
(focus)="openorganizationbox()">
</mat-form-field>
<mat-checkbox style="margin-left: 6px;" [(ngModel)]="jscheck" name="jscheck">包含下级</mat-checkbox>

210
src/app/tabbar/tabbar.component.html

@ -1,217 +1,13 @@
<mat-toolbar [color]="theme?'primary':'accent'">
<!-- <mat-toolbar> -->
<h1 style="max-width: 240px;display: block;overflow: hidden;text-overflow: ellipsis;">{{title}} <span
<h1 style="max-width: 500px;display: block;overflow: hidden;text-overflow: ellipsis;">{{title}} <span
*ngIf="planName != null">: {{planName}}</span> </h1>
<!--分数框-->
<div class="grade" *ngIf="companyIntegrityScore" onmouseover="xiangqing.style.display='block';"
onmouseout="xiangqing.style.display='none';">
<a class="active"><span><a></a>{{(companyIntegrityScore.totalScore.toFixed(2) * 100).toFixed()}} %</span></a>
</div>
<div class="integrityDetails" id="xiangqing" *ngIf="companyIntegrityScore">
<div class="integrityDetailsTop">
<span class="span1">分类名称</span>
<span class="span2">占比</span>
<span class="span3">总占比</span>
</div>
<div class="integrityDetailsBody">
<ul>
<li>
<div class="name">单位信息</div>
<div class="colorDiv">
<div class="colorDivBac">
<div class="colorDivCon"
[style]="integrityDetails((companyIntegrityScore.basicInfoScore * 5).toFixed(1),5)">
</div>
</div>
<span>{{(companyIntegrityScore.basicInfoScore * 5).toFixed(1)}}%</span>
</div>
<div class="number">5%</div>
</li>
<li>
<div class="name">建筑信息</div>
<div class="colorDiv">
<div class="colorDivBac">
<div class="colorDivCon"
[style]="integrityDetails((companyIntegrityScore.buildingInfoScore * 10).toFixed(1),10)">
</div>
</div>
<span>{{(companyIntegrityScore.buildingInfoScore * 10).toFixed(1)}}%</span>
</div>
<div class="number">10%</div>
</li>
<li>
<div class="name">平面图</div>
<div class="colorDiv">
<div class="colorDivBac">
<div class="colorDivCon"
[style]="integrityDetails((companyIntegrityScore.planImageScore * 10).toFixed(1),10)">
</div>
</div>
<span>{{(companyIntegrityScore.planImageScore * 10).toFixed(1)}}%</span>
</div>
<div class="number">10%</div>
</li>
<li>
<div class="name">四周毗邻</div>
<div class="colorDiv">
<div class="colorDivBac">
<div class="colorDivCon"
[style]="integrityDetails((companyIntegrityScore.adjoinScore * 10).toFixed(1),10)">
</div>
</div>
<span>{{(companyIntegrityScore.adjoinScore * 10).toFixed(1)}}%</span>
</div>
<div class="number">10%</div>
</li>
<li>
<div class="name">消防设施</div>
<div class="colorDiv">
<div class="colorDivBac">
<div class="colorDivCon"
[style]="integrityDetails((companyIntegrityScore.facilityScore * 25).toFixed(1),25)">
</div>
</div>
<span>{{(companyIntegrityScore.facilityScore * 25).toFixed(1)}}%</span>
</div>
<div class="number">25%</div>
</li>
<li>
<div class="name">重点部位</div>
<div class="colorDiv">
<div class="colorDivBac">
<div class="colorDivCon"
[style]="integrityDetails((companyIntegrityScore.importantLocationScore * 10).toFixed(1),10)">
</div>
</div>
<span>{{(companyIntegrityScore.importantLocationScore * 10).toFixed(1)}}%</span>
</div>
<div class="number">10%</div>
</li>
<li>
<div class="name">功能分区</div>
<div class="colorDiv">
<div class="colorDivBac">
<div class="colorDivCon"
[style]="integrityDetails((companyIntegrityScore.functionalDivisionScore * 10).toFixed(1),10)">
</div>
</div>
<span>{{(companyIntegrityScore.functionalDivisionScore * 10).toFixed(1)}}%</span>
</div>
<div class="number">10%</div>
</li>
<li>
<div class="name">实景图</div>
<div class="colorDiv">
<div class="colorDivBac">
<div class="colorDivCon"
[style]="integrityDetails((companyIntegrityScore.realityImageScore * 10).toFixed(1),10)">
</div>
</div>
<span>{{(companyIntegrityScore.realityImageScore * 10).toFixed(1)}}%</span>
</div>
<div class="number">10%</div>
</li>
<li>
<div class="name">CAD上传</div>
<div class="colorDiv">
<div class="colorDivBac">
<div class="colorDivCon"
[style]="integrityDetails((companyIntegrityScore.cadScore * 10).toFixed(1),10)"></div>
</div>
<span>{{(companyIntegrityScore.cadScore * 10).toFixed(1)}}%</span>
</div>
<div class="number">10%</div>
</li>
</ul>
</div>
<div style="width: 100%;text-align: center;font-size: 13px;position: relative;">
仅供参考
<span class="closeScore" style="position: absolute;right: 12px;top: 0px;"
onmouseover="xiangqing.style.display='none';">关闭</span>
</div>
</div>
<p *ngIf="!isUpdates" style="font-size: 16px;position: absolute; right: 233px;">欢迎您, {{realName}}</p>
<div class="scoringRule" *ngIf="companyIntegrityScore">
<span class="name" (click)="scoringRule()">
信息完整度规则
</span>
<div class="scoringRuleImg" *ngIf="scoringRuleImg">
<div class="topbox">
<span style="font-size: 18px;margin-left: 20px;font-weight: 600;">信息完整度规则 &nbsp;</span>
<!-- <span style="font-size: 12px;">单位基本信息部分共计100分</span> -->
<span class="imgbox">
<img src="../../assets/images/ruletopimg.png" alt="">
</span>
<span class="close" (click)="closebtn()">
<mat-icon>clear</mat-icon>
</span>
</div>
<div class="tablebox">
<table>
<tr>
<td>名称</td>
<td>占比</td>
<td>规则说明</td>
</tr>
<tr>
<td>单位信息</td>
<td class="bulecolor">5%</td>
<td>填写项平分该项占比分值,信息填写完整即可</td>
</tr>
<tr>
<td>建筑信息</td>
<td class="bulecolor">10%</td>
<td>根据创建的建筑个数平分该分值,每个建筑根据实际填写的完整度再进行评判</td>
</tr>
<tr>
<td>平面图</td>
<td class="bulecolor">10%</td>
<td>总平面图<span class="bulecolor">1</span>张,层平面图<span class="bulecolor">1</span></td>
</tr>
<tr>
<td>四周毗邻</td>
<td class="bulecolor">10%</td>
<td><span class="bulecolor">4</span>个方向均分,每个方向的属性信息要填写完整,并且包含图片</td>
</tr>
<tr>
<td>消防设施</td>
<td class="bulecolor">25%</td>
<td>消防水源占<span class="bulecolor">30%</span> &nbsp;&nbsp;安全疏散设施/消防泡沫系统/安全疏散模块占<span
class="bulecolor">30%</span> <br> 消防水系统/自动消防设施/消防设施/消防灭火给水系统/消火栓系统模块占<span
class="bulecolor">30%</span>
&nbsp;&nbsp;&nbsp; 内部消防力量占<span class="bulecolor">10%</span></td>
</tr>
<tr>
<td>重点部位</td>
<td class="bulecolor">10%</td>
<td>层平面图中重点部位数量大于1个,并且属性信息填写完整(包含图片)</td>
</tr>
<tr>
<td>功能分区</td>
<td class="bulecolor">10%</td>
<td>任意建筑下功能分区信息填写两条以上并且信息填写完整</td>
</tr>
<tr>
<td>实景图</td>
<td class="bulecolor">10%</td>
<td>外观,保证有<span class="bulecolor">2</span>张照片(占<span class="bulecolor">30%</span>);
重点部位,保证有<span class="bulecolor">2</span>张照片(占<span
class="bulecolor">30%</span>);安全出口,保证有<span class="bulecolor">2</span>张照片(占<span
class="bulecolor">40%</span></td>
</tr>
<tr>
<td>CAD上传</td>
<td class="bulecolor">10%</td>
<td>保证至少有<span class="bulecolor">1</span>个文件,格式不限</td>
</tr>
</table>
</div>
</div>
</div>
<div class="isUpdates" *ngIf="isUpdates">
<span [matTooltip]="contentVerify.remark" class="span"

2
src/app/ui/unit-information/addunitinfo.component.html

@ -1,5 +1,5 @@
<form (ngSubmit)="onSubmit(form.value)" #form="ngForm" class="example-container">
<span mat-dialog-title>新增单位信息</span>
<span mat-dialog-title>新增模板信息</span>
<mat-form-field>
<input matInput id="name" name="templatename" type='text'
required minlength="1"

2
src/assets/css/newStyle.css

@ -280,7 +280,7 @@ iframe { display: block; }
.text-linear { background: linear-gradient(to bottom, #fff, #C0C2C2); -webkit-background-clip: text; color: transparent; }
.panel, .box-wrap { max-height: 270px; max-width: 590px; background-image: url(../images/panel-bg.png); background-size: 100% 100%; display: flex; flex-direction: column; width: 100%; }
.panel, .box-wrap { max-width: 590px; background-image: url(../images/panel-bg.png); background-size: 100% 100%; display: flex; flex-direction: column; width: 100%; }
.panel.panel-lg, .box-wrap.panel-lg { width: 120%; }
.panel.panel02, .box-wrap.panel02 { background-image: url(../images/panel-bg02.png); }
.panel.panel03, .box-wrap.panel03 { background-image: url(../images/panel-bg03.png); max-height: 226px; }

16
yarn.lock

@ -5329,11 +5329,11 @@
"safer-buffer" "^2.1.0"
"echarts@^4.1.0", "echarts@>=3.1.1":
"integrity" "sha512-gP1e1fNnAj9KJpTDLXV21brklbfJlqeINmpQDJCDta9TX3cPoqyQOiDVcEPzbOVHqgBRgTOwNxC5iGwJ89014A=="
"resolved" "https://registry.npmmirror.com/echarts/-/echarts-4.1.0.tgz"
"version" "4.1.0"
"integrity" "sha512-+ugizgtJ+KmsJyyDPxaw2Br5FqzuBnyOWwcxPKO6y0gc5caYcfnEUIlNStx02necw8jmKmTafmpHhGo4XDtEIA=="
"resolved" "https://registry.npmmirror.com/echarts/-/echarts-4.9.0.tgz"
"version" "4.9.0"
dependencies:
"zrender" "4.0.4"
"zrender" "4.3.2"
"ee-first@1.1.1":
"integrity" "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
@ -11607,7 +11607,7 @@
"resolved" "https://registry.npm.taobao.org/zone.js/download/zone.js-0.10.2.tgz"
"version" "0.10.2"
"zrender@4.0.4":
"integrity" "sha512-03Vd/BDl/cPXp8E61f5+Xbgr/a4vDyFA+uUtUc1s+5KgcPbyY2m+78R/9LQwkR6QwFYHG8qk25Q8ESGs/qpkZw=="
"resolved" "https://registry.npmmirror.com/zrender/-/zrender-4.0.4.tgz"
"version" "4.0.4"
"zrender@4.3.2":
"integrity" "sha512-bIusJLS8c4DkIcdiK+s13HiQ/zjQQVgpNohtd8d94Y2DnJqgM1yjh/jpDb8DoL6hd7r8Awagw8e3qK/oLaWr3g=="
"resolved" "https://registry.npmmirror.com/zrender/-/zrender-4.3.2.tgz"
"version" "4.3.2"

Loading…
Cancel
Save