chenjingyu 4 years ago
parent
commit
476f010b67
  1. 16
      src/app/app-routing.module.ts
  2. 1
      src/app/canvas-share-data.service.ts
  3. 2
      src/app/gis-management/gis-labeling/gis-labeling.component.ts
  4. 3
      src/app/key-unit/allaround/allaround.component.scss
  5. 16
      src/app/key-unit/edit-plan-info/edit-plan-info.component.html
  6. 18
      src/app/key-unit/edit-unit-info/edit-unit-info.component.html
  7. 2
      src/app/key-unit/fire-fighting-device-look/fire-fighting-device.component.scss
  8. 2
      src/app/key-unit/fire-fighting-device/fire-fighting-device.component.scss
  9. 2
      src/app/key-unit/function-division-look/function-division.component.scss
  10. 2
      src/app/key-unit/function-division/function-division.component.scss
  11. 2
      src/app/key-unit/key-site-look/key-site.component.scss
  12. 2
      src/app/key-unit/key-site/key-site.component.scss
  13. 2
      src/app/key-unit/realistic-picture-look/realistic-picture.component.scss
  14. 2
      src/app/key-unit/realistic-picture/realistic-picture.component.scss
  15. 114
      src/app/key-unit/uploading-cad-look/uploading-cad.component.html
  16. 107
      src/app/key-unit/uploading-cad/uploading-cad.component.html
  17. 21
      src/app/key-unit/view-unit-details-plan/view-unit-details-plan.component.html
  18. 18
      src/app/key-unit/view-unit-details/view-unit-details.component.html
  19. 5
      src/app/navigation/navigation.component.ts
  20. 302
      src/app/plan-audit/detachment-level/detachment-level.component.html
  21. 2
      src/app/plan-audit/detachment-level/detachment-level.component.ts
  22. 324
      src/app/plan-audit/plan-audit/plan-audit.component.html
  23. 2
      src/app/plan-audit/plan-audit/plan-audit.component.ts
  24. 61
      src/app/plan-audit/plan-pass/plan-pass.component.html
  25. 27
      src/app/plan-audit/plan-pass/plan-pass.component.ts
  26. 6
      src/app/plan-management/open-plan/open-plan.component.ts
  27. 6
      src/app/plan-management/pass-plan/pass-plan.component.ts
  28. 2
      src/app/statistic-analysis/addUnit/add-unit-one/add-unit-one.component.scss
  29. 2
      src/app/statistic-analysis/addUnit/add-unit-three-bar-details/add-unit-three-bar-details.component.scss
  30. 2
      src/app/statistic-analysis/addUnit/add-unit-three-line-details/add-unit-three-line-details.component.scss
  31. 2
      src/app/statistic-analysis/addUnit/add-unit-two-time/add-unit-two-time.component.scss
  32. 2
      src/app/statistic-analysis/addUnit/add-unit-two-type-details/add-unit-two-type-details.component.scss
  33. 2
      src/app/statistic-analysis/addUnit/add-unit-two-type-statistics/add-unit-two-type-statistics.component.scss
  34. 2
      src/app/statistic-analysis/buildingType/building-type-one/building-type-one.component.html
  35. 2
      src/app/statistic-analysis/buildingType/building-type-three-details/building-type-three-details.component.scss
  36. 2
      src/app/statistic-analysis/buildingType/building-type-two-forward/building-type-two-forward.component.scss
  37. 2
      src/app/statistic-analysis/buildingType/building-type-two-reverse/building-type-two-reverse.component.scss
  38. 2
      src/app/statistic-analysis/deleteUnit/delete-one/delete-one.component.html
  39. 2
      src/app/statistic-analysis/deleteUnit/delete-there-line-details/delete-there-line-details.component.scss
  40. 2
      src/app/statistic-analysis/deleteUnit/delete-there/delete-there.component.scss
  41. 2
      src/app/statistic-analysis/deleteUnit/delete-two-newadd/delete-two-newadd.component.scss
  42. 2
      src/app/statistic-analysis/deleteUnit/delete-two/delete-two.component.scss
  43. 2
      src/app/statistic-analysis/scheduled-updates/scheduled-updates.component.scss
  44. 2
      src/app/statistic-analysis/state/page-one/page-one.component.html
  45. 2
      src/app/statistic-analysis/state/page-there-year/page-there-year.component.scss
  46. 2
      src/app/statistic-analysis/state/page-there/page-there.component.scss
  47. 2
      src/app/statistic-analysis/state/page-two-time/page-two-time.component.scss
  48. 2
      src/app/ui/authority/authority.component.html
  49. 2
      src/app/ui/fire-fighting-facilities-formwork/fire-fighting-facilities-formwork.component.scss
  50. 2
      src/app/ui/fire-protection-elements/fire-protection-elements.component.scss
  51. 2
      src/app/ui/material-bank/material-bank.component.scss
  52. 2
      src/app/ui/navmenus/navmenus.component.html
  53. 2
      src/app/ui/role/role.component.html
  54. 2
      src/app/ui/unit-information/unit-information.component.scss
  55. 10
      src/app/working-area/model/axArrowConnector.ts
  56. 4
      src/app/working-area/model/axImageShape.ts
  57. 24
      src/app/working-area/model/axLegend.ts
  58. 3
      src/app/working-area/model/axPreviewImageShape.ts
  59. 6
      src/app/working-area/model/multipointIcon.ts
  60. 4
      src/app/working-area/model/polygonIcon.ts
  61. 72
      src/app/working-area/working-area.component.ts
  62. 2
      src/assets/css/newStyle.css

16
src/app/app-routing.module.ts

@ -2,7 +2,6 @@ import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router'; import { Routes, RouterModule } from '@angular/router';
import { LoginComponent } from './pages/login/login.component'; import { LoginComponent } from './pages/login/login.component';
import { NavigationComponent } from './navigation/navigation.component'; import { NavigationComponent } from './navigation/navigation.component';
import { LockscreenComponent } from './pages/lockscreen/lockscreen.component';
import {HomeComponent} from './home/home.component' import {HomeComponent} from './home/home.component'
//路由守卫 //路由守卫
@ -11,13 +10,10 @@ import {MTokenK1Component} from './m-token-k1/m-token-k1.component' //K1秘钥
const routes: Routes = [ const routes: Routes = [
{path:'',redirectTo:'login',pathMatch:'full'}, {path:'',redirectTo:'login',pathMatch:'full'},
{ {
path:'', path:'',component:NavigationComponent,canActivate: [AuthGuard],//守卫验证
component:NavigationComponent,
canActivate: [AuthGuard],//守卫验证
children:[ children:[
{path:'ui',loadChildren:() => import('./ui/ui.module').then(m => m.UiModule)}, {path:'ui',loadChildren:() => import('./ui/ui.module').then(m => m.UiModule)},
{path:'keyUnit',loadChildren:() => import('./key-unit/key-unit.module').then(m => m.KeyUnitModule)}, {path:'keyUnit',loadChildren:() => import('./key-unit/key-unit.module').then(m => m.KeyUnitModule)},
@ -30,15 +26,9 @@ const routes: Routes = [
{path:'dataCollection',loadChildren:() => import('./data-collection/data-collection.module').then(m => m.DataCollectionModule)}, {path:'dataCollection',loadChildren:() => import('./data-collection/data-collection.module').then(m => m.DataCollectionModule)},
] ]
}, },
{path:'login',
component:LoginComponent},
{path:'getNoMToken',
component:MTokenK1Component, canActivate: [AuthGuard],}, //K1秘钥验证失败是跳转页面
{path:'lockscreen', {path:'login',component:LoginComponent},
component:LockscreenComponent, {path:'getNoMToken',component:MTokenK1Component, canActivate: [AuthGuard],}, //K1秘钥验证失败是跳转页面
canActivate: [AuthGuard]}//守卫验证
]; ];
@NgModule({ @NgModule({

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

@ -8,7 +8,6 @@ import { GameMode } from './working-area/model/gameMode';
export class CanvasShareDataService { export class CanvasShareDataService {
constructor() { } constructor() { }
private _sendMessage: ReplaySubject<any> = new ReplaySubject<any>(1); private _sendMessage: ReplaySubject<any> = new ReplaySubject<any>(1);
GameMode: any;
isChange = false; // 数据 是否改动 isChange = false; // 数据 是否改动

2
src/app/gis-management/gis-labeling/gis-labeling.component.ts

@ -285,7 +285,7 @@ export class GisLabelingComponent implements OnInit {
`<div style="font-size: 14px" id="gispopupbox"> `<div style="font-size: 14px" id="gispopupbox">
<div style="color: #0080FF;"><span style="margin-left:8px">${item.name}</span><label style="font-size: 12px; color: #999; margin-left: 10px">${item.address}</label> </div> <div style="color: #0080FF;"><span style="margin-left:8px">${item.name}</span><label style="font-size: 12px; color: #999; margin-left: 10px">${item.address}</label> </div>
<div style="display: flex; margin-top: 10px;margin-left:8px"> <div style="display: flex; margin-top: 10px;margin-left:8px">
<div style="width:240px; overflow: hidden;">: <label style="margin-left: 10px;font-size: 12px;">${item.buildingTypes[0].name || "暂无数据"}</label></div> <div style="width:240px; overflow: hidden;">: <label style="margin-left: 10px;font-size: 12px;">${item.buildingTypes.length? item.buildingTypes[0].name : "暂无数据"}</label></div>
<div style="flex: 1; margin-left: 25px;">: <label style="margin-left: 10px;font-size: 12px;">${item.contacts || "暂无数据"}</label></div> <div style="flex: 1; margin-left: 25px;">: <label style="margin-left: 10px;font-size: 12px;">${item.contacts || "暂无数据"}</label></div>
</div> </div>
<div style="display: flex; margin-top: 10px;margin-left:8px""> <div style="display: flex; margin-top: 10px;margin-left:8px"">

3
src/app/key-unit/allaround/allaround.component.scss

@ -1,7 +1,8 @@
.content { .content {
width: 100%; width: 100%;
height: 90%; height: 100%;
padding: 10px; padding: 10px;
box-sizing: border-box;
overflow-y: auto; overflow-y: auto;
} }

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

@ -10,7 +10,6 @@
<mat-tab label="2.平面图"> <mat-tab label="2.平面图">
<ng-template matTabContent> <ng-template matTabContent>
<app-collection-tools-plan></app-collection-tools-plan> <app-collection-tools-plan></app-collection-tools-plan>
<!-- <iframe id="main" src="/unityApp2Basic/index.html" name="unityApp" frameborder="0" width="96%" height="100%" style="margin-left: 2%;"></iframe> -->
</ng-template> </ng-template>
</mat-tab> </mat-tab>
<mat-tab label="3.四周毗邻"> <mat-tab label="3.四周毗邻">
@ -43,15 +42,10 @@
<app-uploading-cad></app-uploading-cad> <app-uploading-cad></app-uploading-cad>
</ng-template> </ng-template>
</mat-tab> </mat-tab>
<mat-tab label="9.六熟悉记录"> <!-- <mat-tab label="9.unity平面图">
<ng-template matTabContent> <ng-template matTabContent>
<app-six-familiar-list></app-six-familiar-list> <iframe id="main" src="/unityApp2Basic/index.html" name="unityApp" frameborder="0" width="96%" height="100%" style="margin-left: 2%;"></iframe>
</ng-template> </ng-template>
</mat-tab> </mat-tab> -->
<mat-tab label="10.实战演练记录">
<ng-template matTabContent>
功能开发中~~
</ng-template>
</mat-tab>
</mat-tab-group> </mat-tab-group>

18
src/app/key-unit/edit-unit-info/edit-unit-info.component.html

@ -41,20 +41,14 @@
<app-uploading-cad></app-uploading-cad> <app-uploading-cad></app-uploading-cad>
</ng-template> </ng-template>
</mat-tab> </mat-tab>
<mat-tab label="8.六熟悉记录"> <mat-tab label="8.作战部署">
<ng-template matTabContent> <ng-template matTabContent>
功能开发中~~
</ng-template>
</mat-tab>
<mat-tab label="9.实战演练记录">
<ng-template matTabContent>
功能开发中~~
</ng-template>
</mat-tab>
<mat-tab label="10.作战部署">
<ng-template matTabContent>
<!-- <iframe id="main" src="/unityApp2/index.html" name="unityApp" frameborder="0" width="100%" height="98%"></iframe> -->
<app-collection-tools></app-collection-tools> <app-collection-tools></app-collection-tools>
</ng-template> </ng-template>
</mat-tab> </mat-tab>
<!-- <mat-tab label="9.unity作战部署">
<ng-template matTabContent>
<iframe id="main" src="/unityApp2/index.html" name="unityApp" frameborder="0" width="100%" height="98%"></iframe>
</ng-template>
</mat-tab> -->
</mat-tab-group> </mat-tab-group>

2
src/app/key-unit/fire-fighting-device-look/fire-fighting-device.component.scss

@ -1,6 +1,6 @@
.content { .content {
width: 100%; width: 100%;
height: 90%; height: 100%;
padding: 10px; padding: 10px;
overflow-y: auto; overflow-y: auto;
.contentBox { .contentBox {

2
src/app/key-unit/fire-fighting-device/fire-fighting-device.component.scss

@ -1,6 +1,6 @@
.content { .content {
width: 100%; width: 100%;
height: 90%; height: 100%;
padding: 10px; padding: 10px;
overflow-y: auto; overflow-y: auto;
.contentBox { .contentBox {

2
src/app/key-unit/function-division-look/function-division.component.scss

@ -1,6 +1,6 @@
.content { .content {
width: 100%; width: 100%;
height: 90%; height: 100%;
overflow-y: auto; overflow-y: auto;
padding: 10px 0 0 10px; padding: 10px 0 0 10px;
display: flex; display: flex;

2
src/app/key-unit/function-division/function-division.component.scss

@ -1,6 +1,6 @@
.content { .content {
width: 100%; width: 100%;
height: 90%; height: 100%;
overflow-y: auto; overflow-y: auto;
padding: 10px 0 0 10px; padding: 10px 0 0 10px;
display: flex; display: flex;

2
src/app/key-unit/key-site-look/key-site.component.scss

@ -1,6 +1,6 @@
.content { .content {
width: 100%; width: 100%;
height: 90%; height: 100%;
padding: 10px; padding: 10px;
overflow-y: auto; overflow-y: auto;
.contentBox{ .contentBox{

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

@ -1,6 +1,6 @@
.content { .content {
width: 100%; width: 100%;
height: 90%; height: 100%;
padding: 10px; padding: 10px;
overflow-y: auto; overflow-y: auto;
.contentBox{ .contentBox{

2
src/app/key-unit/realistic-picture-look/realistic-picture.component.scss

@ -1,7 +1,7 @@
.content { .content {
margin: 0 0 0 10px; margin: 0 0 0 10px;
width: 100%; width: 100%;
height: 90%; height: 100%;
overflow-y: auto; overflow-y: auto;
display: flex; display: flex;
.leftBox { .leftBox {

2
src/app/key-unit/realistic-picture/realistic-picture.component.scss

@ -1,7 +1,7 @@
.content { .content {
margin: 0 0 0 10px; margin: 0 0 0 10px;
width: 100%; width: 100%;
height: 90%; height: 100%;
overflow-y: auto; overflow-y: auto;
display: flex; display: flex;
.leftBox { .leftBox {

114
src/app/key-unit/uploading-cad-look/uploading-cad.component.html

@ -1,64 +1,62 @@
<div class="header"> <div style="height: 100%; overflow-y: auto;">
<!-- <button mat-raised-button color="primary" (click)="openReadFile()" *ngIf="!uploadisLoading">上传</button> <div class="header">
<button mat-raised-button color="primary" (click)='readFile()' *ngIf="!downloadisLoading">下载</button> <div class="progressBox" *ngIf="uploadisLoading">
<button mat-raised-button color="primary" (click)='editFile()'>编辑</button> <button mat-raised-button style="margin-right: 5px;" (click)="cancel()">取消上传</button>
<button mat-raised-button color="primary" (click)='deleteCAD()' style="margin-right: 25px;">删除</button> --> <span style="font-size: 12px;">上传中...</span>
<mat-progress-bar mode="determinate" [value]="uploadProgress" class="progress"></mat-progress-bar>
</div>
<div class="progressBox" *ngIf="downloadisLoading">
<!-- <button mat-raised-button style="margin-right: 5px;" (click)="cancelDowload()">取消下载</button> -->
<span style="font-size: 12px;">下载中...</span>
<mat-progress-bar mode="determinate" [value]="downloadProgress" class="progress" style="left: 52px;top: 13px;"></mat-progress-bar>
</div>
<div class="progressBox" *ngIf="uploadisLoading">
<button mat-raised-button style="margin-right: 5px;" (click)="cancel()">取消上传</button>
<span style="font-size: 12px;">上传中...</span>
<mat-progress-bar mode="determinate" [value]="uploadProgress" class="progress"></mat-progress-bar>
</div> </div>
<div class="progressBox" *ngIf="downloadisLoading"> <div style="padding: 10px;">
<!-- <button mat-raised-button style="margin-right: 5px;" (click)="cancelDowload()">取消下载</button> --> <table mat-table [dataSource]="CADList">
<span style="font-size: 12px;">下载中...</span>
<mat-progress-bar mode="determinate" [value]="downloadProgress" class="progress" style="left: 52px;top: 13px;"></mat-progress-bar> <ng-container matColumnDef="checked">
<th mat-header-cell *matHeaderCellDef></th>
<td mat-cell *matCellDef="let element">
<mat-checkbox disabled (change)='checkedCAD($event,element)'></mat-checkbox>
</td>
</ng-container>
<ng-container matColumnDef="name">
<th mat-header-cell *matHeaderCellDef>名称</th>
<td mat-cell *matCellDef="let element">
<mat-icon style="color: #FFC122;">insert_drive_file</mat-icon>{{element.name}}
</td>
</ng-container>
<ng-container matColumnDef="time">
<th mat-header-cell *matHeaderCellDef>时间</th>
<td mat-cell *matCellDef="let element">
{{element.creationTime|date:'yyyy-MM-dd'}}
</td>
</ng-container>
<ng-container matColumnDef="state">
<th mat-header-cell *matHeaderCellDef>状态</th>
<td mat-cell *matCellDef="let element">
<label *ngIf="!element.loading" ><mat-icon style="color: #00FF00;">check_circle</mat-icon></label>
<label *ngIf="element.loading" >正在下载...</label>
</td>
</ng-container>
<ng-container matColumnDef="size">
<th mat-header-cell *matHeaderCellDef>大小</th>
<td mat-cell *matCellDef="let element">
{{element.fileLength}}MB
</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</table>
<p style="width: 100px; margin: 30px auto; text-align: center;" *ngIf="!CADList.length">暂无数据</p>
</div> </div>
</div> </div>
<div style="overflow-y: auto;height: 90%; padding: 10px; box-sizing: border-box;overflow-x: hidden;">
<table mat-table [dataSource]="CADList">
<ng-container matColumnDef="checked">
<th mat-header-cell *matHeaderCellDef></th>
<td mat-cell *matCellDef="let element">
<mat-checkbox disabled (change)='checkedCAD($event,element)'></mat-checkbox>
</td>
</ng-container>
<ng-container matColumnDef="name">
<th mat-header-cell *matHeaderCellDef>名称</th>
<td mat-cell *matCellDef="let element">
<mat-icon style="color: #FFC122;">insert_drive_file</mat-icon>{{element.name}}
</td>
</ng-container>
<ng-container matColumnDef="time">
<th mat-header-cell *matHeaderCellDef>时间</th>
<td mat-cell *matCellDef="let element">
{{element.creationTime|date:'yyyy-MM-dd'}}
</td>
</ng-container>
<ng-container matColumnDef="state">
<th mat-header-cell *matHeaderCellDef>状态</th>
<td mat-cell *matCellDef="let element">
<label *ngIf="!element.loading" ><mat-icon style="color: #00FF00;">check_circle</mat-icon></label>
<label *ngIf="element.loading" >正在下载...</label>
</td>
</ng-container>
<ng-container matColumnDef="size">
<th mat-header-cell *matHeaderCellDef>大小</th>
<td mat-cell *matCellDef="let element">
{{element.fileLength}}MB
</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</table>
<p style="width: 100px; margin: 30px auto; text-align: center;" *ngIf="!CADList.length">暂无数据</p>
</div>

107
src/app/key-unit/uploading-cad/uploading-cad.component.html

@ -1,64 +1,67 @@
<div class="header"> <div style="height: 100%; overflow-y: auto;">
<button mat-raised-button color="primary" (click)="openReadFile()" *ngIf="!uploadisLoading">上传</button> <div class="header">
<button mat-raised-button color="primary" (click)='readFile()' *ngIf="!downloadisLoading">下载</button> <button mat-raised-button color="primary" (click)="openReadFile()" *ngIf="!uploadisLoading">上传</button>
<button mat-raised-button color="primary" (click)='editFile()'>编辑</button> <button mat-raised-button color="primary" (click)='readFile()' *ngIf="!downloadisLoading">下载</button>
<button mat-raised-button color="primary" (click)='deleteCAD()' style="margin-right: 25px;">删除</button> <button mat-raised-button color="primary" (click)='editFile()'>编辑</button>
<button mat-raised-button color="primary" (click)='deleteCAD()' style="margin-right: 25px;">删除</button>
<div class="progressBox" *ngIf="uploadisLoading"> <div class="progressBox" *ngIf="uploadisLoading">
<button mat-raised-button style="margin-right: 5px;" (click)="cancel()">取消上传</button> <button mat-raised-button style="margin-right: 5px;" (click)="cancel()">取消上传</button>
<span style="font-size: 12px;">上传中...</span> <span style="font-size: 12px;">上传中...</span>
<mat-progress-bar mode="determinate" [value]="uploadProgress" class="progress"></mat-progress-bar> <mat-progress-bar mode="determinate" [value]="uploadProgress" class="progress"></mat-progress-bar>
</div> </div>
<div class="progressBox" *ngIf="downloadisLoading">
<!-- <button mat-raised-button style="margin-right: 5px;" (click)="cancelDowload()">取消下载</button> -->
<span style="font-size: 12px;">下载中...</span>
<mat-progress-bar mode="determinate" [value]="downloadProgress" class="progress" style="left: 52px;top: 13px;"></mat-progress-bar>
</div>
<div class="progressBox" *ngIf="downloadisLoading">
<!-- <button mat-raised-button style="margin-right: 5px;" (click)="cancelDowload()">取消下载</button> -->
<span style="font-size: 12px;">下载中...</span>
<mat-progress-bar mode="determinate" [value]="downloadProgress" class="progress" style="left: 52px;top: 13px;"></mat-progress-bar>
</div> </div>
</div> <div style="padding: 10px;">
<table mat-table [dataSource]="CADList">
<div style="overflow-y: auto;height: 90%; padding: 10px; box-sizing: border-box;overflow-x: hidden;"> <ng-container matColumnDef="checked">
<table mat-table [dataSource]="CADList"> <th mat-header-cell *matHeaderCellDef></th>
<td mat-cell *matCellDef="let element">
<mat-checkbox (change)='checkedCAD($event,element)'></mat-checkbox>
</td>
</ng-container>
<ng-container matColumnDef="checked"> <ng-container matColumnDef="name">
<th mat-header-cell *matHeaderCellDef></th> <th mat-header-cell *matHeaderCellDef>名称</th>
<td mat-cell *matCellDef="let element"> <td mat-cell *matCellDef="let element">
<mat-checkbox (change)='checkedCAD($event,element)'></mat-checkbox> <mat-icon style="color: #FFC122;">insert_drive_file</mat-icon>{{element.name}}
</td> </td>
</ng-container> </ng-container>
<ng-container matColumnDef="name"> <ng-container matColumnDef="time">
<th mat-header-cell *matHeaderCellDef>名称</th> <th mat-header-cell *matHeaderCellDef>时间</th>
<td mat-cell *matCellDef="let element"> <td mat-cell *matCellDef="let element">
<mat-icon style="color: #FFC122;">insert_drive_file</mat-icon>{{element.name}} {{element.creationTime|date:'yyyy-MM-dd'}}
</td> </td>
</ng-container> </ng-container>
<ng-container matColumnDef="time"> <ng-container matColumnDef="state">
<th mat-header-cell *matHeaderCellDef>时间</th> <th mat-header-cell *matHeaderCellDef>状态</th>
<td mat-cell *matCellDef="let element"> <td mat-cell *matCellDef="let element">
{{element.creationTime|date:'yyyy-MM-dd'}} <label *ngIf="!element.loading" ><mat-icon style="color: #00FF00;">check_circle</mat-icon></label>
</td> <label *ngIf="element.loading" >正在下载...</label>
</ng-container> </td>
</ng-container>
<ng-container matColumnDef="state"> <ng-container matColumnDef="size">
<th mat-header-cell *matHeaderCellDef>状态</th> <th mat-header-cell *matHeaderCellDef>大小</th>
<td mat-cell *matCellDef="let element"> <td mat-cell *matCellDef="let element">
<label *ngIf="!element.loading" ><mat-icon style="color: #00FF00;">check_circle</mat-icon></label> {{element.fileLength}}MB
<label *ngIf="element.loading" >正在下载...</label> </td>
</td> </ng-container>
</ng-container>
<ng-container matColumnDef="size"> <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<th mat-header-cell *matHeaderCellDef>大小</th> <tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
<td mat-cell *matCellDef="let element"> </table>
{{element.fileLength}}MB <p style="width: 100px; margin: 30px auto; text-align: center;" *ngIf="!CADList.length">暂无数据</p>
</td> </div>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</table>
<p style="width: 100px; margin: 30px auto; text-align: center;" *ngIf="!CADList.length">暂无数据</p>
</div> </div>

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

@ -1,4 +1,4 @@
<mat-tab-group selectedIndex="9" style="height: 94%;" > <mat-tab-group selectedIndex="9" style="height: 99%;" >
<mat-tab label="1.基本信息"> <mat-tab label="1.基本信息">
<ng-template matTabContent> <ng-template matTabContent>
<app-basicinfo-look></app-basicinfo-look> <app-basicinfo-look></app-basicinfo-look>
@ -34,21 +34,16 @@
<app-uploading-cad-look></app-uploading-cad-look> <app-uploading-cad-look></app-uploading-cad-look>
</ng-template> </ng-template>
</mat-tab> </mat-tab>
<mat-tab label="8.六熟悉记录"> <mat-tab label="8.作战部署">
<ng-template matTabContent>
功能开发中~~
</ng-template>
</mat-tab>
<mat-tab label="9.实战演练记录">
<ng-template matTabContent>
功能开发中~~
</ng-template>
</mat-tab>
<mat-tab label="10.作战部署">
<ng-template matTabContent> <ng-template matTabContent>
<app-collection-tools></app-collection-tools> <app-collection-tools></app-collection-tools>
<!-- <iframe id="main" src="/unityApp2/index.html" name="unityApp" frameborder="0" width="100%" height="98%"></iframe> -->
</ng-template> </ng-template>
</mat-tab> </mat-tab>
<!-- <mat-tab label="9.unity作战部署">
<ng-template matTabContent>
<app-collection-tools></app-collection-tools>
<iframe id="main" src="/unityApp2/index.html" name="unityApp" frameborder="0" width="100%" height="98%"></iframe>
</ng-template>
</mat-tab> -->
</mat-tab-group> </mat-tab-group>

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

@ -1,4 +1,4 @@
<mat-tab-group selectedIndex="0" style="height:97%;" (selectedTabChange)="selectedtab($event)"> <mat-tab-group selectedIndex="0" style="height:99%;" (selectedTabChange)="selectedtab($event)">
<mat-tab label="1.基本信息"> <mat-tab label="1.基本信息">
<ng-template matTabContent> <ng-template matTabContent>
<app-basicinfo-look></app-basicinfo-look> <app-basicinfo-look></app-basicinfo-look>
@ -6,7 +6,6 @@
</mat-tab> </mat-tab>
<mat-tab label="2.平面图"> <mat-tab label="2.平面图">
<ng-template matTabContent> <ng-template matTabContent>
<!-- <iframe id="main" src="/unityApp2Basic/index.html" name="unityApp" frameborder="0" width="96%" height="100%" style="margin-left:2%;"></iframe> -->
<app-collection-tools-plan></app-collection-tools-plan> <app-collection-tools-plan></app-collection-tools-plan>
</ng-template> </ng-template>
</mat-tab> </mat-tab>
@ -40,15 +39,10 @@
<app-uploading-cad-look></app-uploading-cad-look> <app-uploading-cad-look></app-uploading-cad-look>
</ng-template> </ng-template>
</mat-tab> </mat-tab>
<mat-tab label="9.六熟悉记录"> <!-- <mat-tab label="9.unity平面图">
<ng-template matTabContent> <ng-template matTabContent>
<app-six-familiar-list></app-six-familiar-list> <iframe id="main" src="/unityApp2Basic/index.html" name="unityApp" frameborder="0" width="96%" height="100%" style="margin-left:2%;"></iframe>
</ng-template> </ng-template>
</mat-tab> </mat-tab> -->
<mat-tab label="10.实战演练记录">
<ng-template matTabContent>
功能开发中~~
</ng-template>
</mat-tab>
</mat-tab-group> </mat-tab-group>

5
src/app/navigation/navigation.component.ts

@ -51,10 +51,7 @@ export class NavigationComponent implements OnInit {
redtheme(){ redtheme(){
this.darktheme = true this.darktheme = true
} }
toGis(){
// console.log(123)
window.open(`http://39.106.78.171:8000`);
}
} }

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

@ -1,161 +1,163 @@
<div class="header"> <div style="height: 100%; overflow-y: auto;">
<form (ngSubmit)="onSubmit(form.value)" #form="ngForm"> <div class="header">
<div class="queryBox"> <form (ngSubmit)="onSubmit(form.value)" #form="ngForm">
<div class="queryField"> <div class="queryBox">
<label style="margin-right: 10px;">单位名称:</label> <div class="queryField">
<mat-form-field> <label style="margin-right: 10px;">单位名称:</label>
<input matInput placeholder="请输入单位名称" name="CompanyName" [(ngModel)]="CompanyName"> <mat-form-field>
</mat-form-field> <input matInput placeholder="请输入单位名称" name="CompanyName" [(ngModel)]="CompanyName">
</div> </mat-form-field>
</div>
<div class="queryField ordiv">
<label style="margin-right: 10px;">消防救援站:</label>
<mat-form-field>
<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>
<div class="organizationbox" *ngIf="isorganizationbox">
<div (click)="closediv()" class="closediv"><mat-icon>clear</mat-icon></div>
<mat-tree [dataSource]="dataSource" [treeControl]="treeControl">
<mat-tree-node *matTreeNodeDef="let node" matTreeNodePadding (click)='add(node)' class="organizationlist">
<button type="button" mat-icon-button disabled ></button>
<li>{{node.name}}</li>
</mat-tree-node>
<mat-tree-node *matTreeNodeDef="let node;when: hasChild" matTreeNodePadding (click)='add(node)' class="organizationlist">
<button type="button" mat-icon-button matTreeNodeToggle [attr.aria-label]="'toggle ' + node.name">
<mat-icon class="mat-icon-rtl-mirror">
{{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}
</mat-icon>
</button>
<li>{{node.name}}</li>
</mat-tree-node>
</mat-tree>
</div>
<div class="queryField ordiv">
<label style="margin-right: 10px;">消防救援站:</label>
<mat-form-field>
<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>
<div class="organizationbox" *ngIf="isorganizationbox">
<div (click)="closediv()" class="closediv"><mat-icon>clear</mat-icon></div>
<mat-tree [dataSource]="dataSource" [treeControl]="treeControl">
<mat-tree-node *matTreeNodeDef="let node" matTreeNodePadding (click)='add(node)' class="organizationlist">
<button type="button" mat-icon-button disabled ></button>
<li>{{node.name}}</li>
</mat-tree-node>
<mat-tree-node *matTreeNodeDef="let node;when: hasChild" matTreeNodePadding (click)='add(node)' class="organizationlist">
<button type="button" mat-icon-button matTreeNodeToggle [attr.aria-label]="'toggle ' + node.name">
<mat-icon class="mat-icon-rtl-mirror">
{{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}
</mat-icon>
</button>
<li>{{node.name}}</li>
</mat-tree-node>
</mat-tree>
</div> </div>
</div> <div class="queryField">
<label style="margin-right: 10px;">单位类型:</label>
<mat-form-field>
<mat-select placeholder='请选择单位类型' [(ngModel)]="BuildingTypeId" name="BuildingTypeId">
<mat-option *ngFor="let unit of allunittype" [value]="unit.id" >
{{unit.name}}
</mat-option>
</mat-select>
</mat-form-field>
</div>
<div class="queryField"> <div class="queryField">
<label style="margin-right: 10px;">单位类型:</label> <label style="margin-right: 10px;">预案类型:</label>
<mat-form-field> <mat-form-field class="maginleft">
<mat-select placeholder='请选择单位类型' [(ngModel)]="BuildingTypeId" name="BuildingTypeId"> <mat-select placeholder='请选择预案类型' [(ngModel)]="PlanType" name="PlanType">
<mat-option *ngFor="let unit of allunittype" [value]="unit.id" > <mat-option *ngFor="let plan of planpatterns" [value]="plan.value">
{{unit.name}} {{plan.name}}
</mat-option> </mat-option>
</mat-select> </mat-select>
</mat-form-field> </mat-form-field>
</div> </div>
<div class="queryField"> <div class="queryField">
<label style="margin-right: 10px;">预案类型:</label> <label style="margin-right: 10px;">审核状态:</label>
<mat-form-field class="maginleft"> <mat-form-field class="maginleft">
<mat-select placeholder='请选择预案类型' [(ngModel)]="PlanType" name="PlanType"> <mat-select placeholder='请选择审核状态' [(ngModel)]="AuditStatus" name="AuditStatus">
<mat-option *ngFor="let plan of planpatterns" [value]="plan.value"> <mat-option *ngFor="let state of passstates" [value]="state.value">
{{plan.name}} {{state.name}}
</mat-option> </mat-option>
</mat-select> </mat-select>
</mat-form-field> </mat-form-field>
</div> </div>
<div class="queryField">
<label style="margin-right: 10px;">审核状态:</label>
<mat-form-field class="maginleft">
<mat-select placeholder='请选择审核状态' [(ngModel)]="AuditStatus" name="AuditStatus">
<mat-option *ngFor="let state of passstates" [value]="state.value">
{{state.name}}
</mat-option>
</mat-select>
</mat-form-field>
</div> </div>
<div style="width: 100%;text-align: center;">
<button mat-raised-button color="primary">查询</button>
<button mat-raised-button style="margin-left: 25px;" type="button" (click)="reset()">重置</button>
</div>
</form>
</div>
<mat-divider></mat-divider>
<div class="body">
<div class="tablebox">
<table mat-table [dataSource]="tabledataSource">
<ng-container matColumnDef="unitname">
<th mat-header-cell *matHeaderCellDef>单位名称</th>
<td mat-cell *matCellDef="let element">{{element.companyName}}</td>
</ng-container>
<ng-container matColumnDef="planname">
<th mat-header-cell *matHeaderCellDef>预案名称</th>
<td mat-cell *matCellDef="let element">{{element.name}}</td>
</ng-container>
<ng-container matColumnDef="addpeople">
<th mat-header-cell *matHeaderCellDef>添加人</th>
<td mat-cell *matCellDef="let element">{{element.creatorName}}</td>
</ng-container>
<ng-container matColumnDef="addtime">
<th mat-header-cell *matHeaderCellDef>添加时间</th>
<td mat-cell *matCellDef="let element">
{{element.creationTime|date:'yyyy-MM-dd'}}
</td>
</ng-container>
<ng-container matColumnDef="plantype">
<th mat-header-cell *matHeaderCellDef>预案类型</th>
<td mat-cell *matCellDef="let element">
<label *ngIf="element.planType==8">卡片预案</label>
<label *ngIf="element.planType==1">二维预案</label>
<label *ngIf="element.planType==2">三维预案</label>
<label *ngIf="element.planType==4">其他预案</label>
</td>
</ng-container>
<ng-container matColumnDef="auditstate">
<th mat-header-cell *matHeaderCellDef>审核状态</th>
<td mat-cell *matCellDef="let element">
<label *ngIf="element.auditStatus==0">预案未审核</label>
<label *ngIf="element.auditStatus==1">审核中</label>
<label *ngIf="element.auditStatus==2">审核通过</label>
<label *ngIf="element.auditStatus==4">审核退回</label>
</td>
</ng-container>
<ng-container matColumnDef="isopen">
<th mat-header-cell *matHeaderCellDef>是否公开</th>
<td mat-cell *matCellDef="let element">{{element.openRange}}</td>
</ng-container>
<ng-container matColumnDef="preparethelevel">
<th mat-header-cell *matHeaderCellDef>编制级别</th>
<td mat-cell *matCellDef="let element">
<label *ngIf="element.planLevel==1">总队</label>
<label *ngIf="element.planLevel==2">支队</label>
<label *ngIf="element.planLevel==4">大队</label>
<label *ngIf="element.planLevel==8">中队</label>
</td>
</ng-container>
<ng-container matColumnDef="operation">
<th mat-header-cell *matHeaderCellDef>操作</th>
<td mat-cell *matCellDef="let element">
<label style="color: #0000FF;cursor: pointer;" (click)='toExamine(element)' *ngIf="element.auditStatus!=4">预案审核</label>
<label style="color: #0000FF;margin-left: 10px;cursor: pointer;" (click)='openReserve(element)' *ngIf="element.auditStatus==2">预案公开</label>
<label style="color: #0000FF;margin-left: 10px;cursor: pointer;" (click)='closeReserve(element)' *ngIf="element.auditStatus==2">预案取消公开</label>
<label style="color: #999;"*ngIf="element.auditStatus==4">预案已驳回</label>
</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</table>
<mat-paginator [length]="length"
[pageSize]="pageSize"
[pageSizeOptions]="pageSizeOptions"
(page)="chagePage($event)">
</mat-paginator>
</div> </div>
<div style="width: 100%;text-align: center;">
<button mat-raised-button color="primary">查询</button>
<button mat-raised-button style="margin-left: 25px;" type="button" (click)="reset()">重置</button>
</div>
</form>
</div>
<mat-divider></mat-divider>
<div class="body">
<div class="tablebox">
<table mat-table [dataSource]="tabledataSource">
<ng-container matColumnDef="unitname">
<th mat-header-cell *matHeaderCellDef>单位名称</th>
<td mat-cell *matCellDef="let element">{{element.companyName}}</td>
</ng-container>
<ng-container matColumnDef="planname">
<th mat-header-cell *matHeaderCellDef>预案名称</th>
<td mat-cell *matCellDef="let element">{{element.name}}</td>
</ng-container>
<ng-container matColumnDef="addpeople">
<th mat-header-cell *matHeaderCellDef>添加人</th>
<td mat-cell *matCellDef="let element">{{element.creatorName}}</td>
</ng-container>
<ng-container matColumnDef="addtime">
<th mat-header-cell *matHeaderCellDef>添加时间</th>
<td mat-cell *matCellDef="let element">
{{element.creationTime|date:'yyyy-MM-dd'}}
</td>
</ng-container>
<ng-container matColumnDef="plantype">
<th mat-header-cell *matHeaderCellDef>预案类型</th>
<td mat-cell *matCellDef="let element">
<label *ngIf="element.planType==8">卡片预案</label>
<label *ngIf="element.planType==1">二维预案</label>
<label *ngIf="element.planType==2">三维预案</label>
<label *ngIf="element.planType==4">其他预案</label>
</td>
</ng-container>
<ng-container matColumnDef="auditstate">
<th mat-header-cell *matHeaderCellDef>审核状态</th>
<td mat-cell *matCellDef="let element">
<label *ngIf="element.auditStatus==0">预案未审核</label>
<label *ngIf="element.auditStatus==1">审核中</label>
<label *ngIf="element.auditStatus==2">审核通过</label>
<label *ngIf="element.auditStatus==4">审核退回</label>
</td>
</ng-container>
<ng-container matColumnDef="isopen">
<th mat-header-cell *matHeaderCellDef>是否公开</th>
<td mat-cell *matCellDef="let element">{{element.openRange}}</td>
</ng-container>
<ng-container matColumnDef="preparethelevel">
<th mat-header-cell *matHeaderCellDef>编制级别</th>
<td mat-cell *matCellDef="let element">
<label *ngIf="element.planLevel==1">总队</label>
<label *ngIf="element.planLevel==2">支队</label>
<label *ngIf="element.planLevel==4">大队</label>
<label *ngIf="element.planLevel==8">中队</label>
</td>
</ng-container>
<ng-container matColumnDef="operation">
<th mat-header-cell *matHeaderCellDef>操作</th>
<td mat-cell *matCellDef="let element">
<label style="color: #0000FF;cursor: pointer;" (click)='toExamine(element)' *ngIf="element.auditStatus!=4">预案审核</label>
<label style="color: #0000FF;margin-left: 10px;cursor: pointer;" (click)='openReserve(element)' *ngIf="element.auditStatus==2">预案公开</label>
<label style="color: #0000FF;margin-left: 10px;cursor: pointer;" (click)='closeReserve(element)' *ngIf="element.auditStatus==2">预案取消公开</label>
<label style="color: #999;"*ngIf="element.auditStatus==4">预案已驳回</label>
</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</table>
<mat-paginator [length]="length"
[pageSize]="pageSize"
[pageSizeOptions]="pageSizeOptions"
(page)="chagePage($event)">
</mat-paginator>
</div> </div>
</div> </div>

2
src/app/plan-audit/detachment-level/detachment-level.component.ts

@ -199,7 +199,7 @@ export class DetachmentLevelComponent implements OnInit {
//预案审核 //预案审核
toExamine (e) { toExamine (e) {
window.open(`/planAudit/planpass?id=${e.companyId}&companyName=${e.companyName}&auditPlanId=${e.id}&auditStatus=${e.auditStatus}`); window.open(`/planAudit/planpass?id=${e.companyId}&companyName=${e.companyName}&auditPlanId=${e.id}&auditStatus=${e.auditStatus}&planType=1`);
} }
//预案公开 //预案公开

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

@ -1,173 +1,175 @@
<div class="header"> <div style="height: 100%; overflow-y: auto;">
<form (ngSubmit)="onSubmit(form.value)" #form="ngForm"> <div class="header">
<div class="queryBox"> <form (ngSubmit)="onSubmit(form.value)" #form="ngForm">
<div class="queryField"> <div class="queryBox">
<label style="margin-right: 10px;">单位名称:</label> <div class="queryField">
<mat-form-field> <label style="margin-right: 10px;">单位名称:</label>
<input matInput placeholder="请输入单位名称" name="CompanyName" [(ngModel)]="CompanyName"> <mat-form-field>
</mat-form-field> <input matInput placeholder="请输入单位名称" name="CompanyName" [(ngModel)]="CompanyName">
</div> </mat-form-field>
</div>
<div class="queryField ordiv">
<label style="margin-right: 10px;">消防救援站:</label>
<mat-form-field>
<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>
<div class="organizationbox" *ngIf="isorganizationbox">
<div (click)="closediv()" class="closediv"><mat-icon>clear</mat-icon></div>
<mat-tree [dataSource]="dataSource" [treeControl]="treeControl">
<mat-tree-node *matTreeNodeDef="let node" matTreeNodePadding (click)='add(node)' class="organizationlist">
<button type="button" mat-icon-button disabled ></button>
<li>{{node.name}}</li>
</mat-tree-node>
<mat-tree-node *matTreeNodeDef="let node;when: hasChild" matTreeNodePadding (click)='add(node)' class="organizationlist">
<button type="button" mat-icon-button matTreeNodeToggle [attr.aria-label]="'toggle ' + node.name">
<mat-icon class="mat-icon-rtl-mirror">
{{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}
</mat-icon>
</button>
<li>{{node.name}}</li>
</mat-tree-node>
</mat-tree>
</div>
<div class="queryField ordiv">
<label style="margin-right: 10px;">消防救援站:</label>
<mat-form-field>
<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>
<div class="organizationbox" *ngIf="isorganizationbox">
<div (click)="closediv()" class="closediv"><mat-icon>clear</mat-icon></div>
<mat-tree [dataSource]="dataSource" [treeControl]="treeControl">
<mat-tree-node *matTreeNodeDef="let node" matTreeNodePadding (click)='add(node)' class="organizationlist">
<button type="button" mat-icon-button disabled ></button>
<li>{{node.name}}</li>
</mat-tree-node>
<mat-tree-node *matTreeNodeDef="let node;when: hasChild" matTreeNodePadding (click)='add(node)' class="organizationlist">
<button type="button" mat-icon-button matTreeNodeToggle [attr.aria-label]="'toggle ' + node.name">
<mat-icon class="mat-icon-rtl-mirror">
{{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}
</mat-icon>
</button>
<li>{{node.name}}</li>
</mat-tree-node>
</mat-tree>
</div> </div>
</div> <div class="queryField">
<label style="margin-right: 10px;">单位类型:</label>
<mat-form-field>
<mat-select placeholder='请选择单位类型' [(ngModel)]="BuildingTypeId" name="BuildingTypeId">
<mat-option *ngFor="let unit of allunittype" [value]="unit.id" >
{{unit.name}}
</mat-option>
</mat-select>
</mat-form-field>
</div>
<div class="queryField"> <div class="queryField">
<label style="margin-right: 10px;">单位类型:</label> <label style="margin-right: 10px;">预案类型:</label>
<mat-form-field> <mat-form-field class="maginleft">
<mat-select placeholder='请选择单位类型' [(ngModel)]="BuildingTypeId" name="BuildingTypeId"> <mat-select placeholder='请选择预案类型' [(ngModel)]="PlanType" name="PlanType">
<mat-option *ngFor="let unit of allunittype" [value]="unit.id" > <mat-option *ngFor="let plan of planpatterns" [value]="plan.value">
{{unit.name}} {{plan.name}}
</mat-option> </mat-option>
</mat-select> </mat-select>
</mat-form-field> </mat-form-field>
</div> </div>
<div class="queryField"> <div class="queryField">
<label style="margin-right: 10px;">预案类型:</label> <label style="margin-right: 10px;">审核状态:</label>
<mat-form-field class="maginleft"> <mat-form-field class="maginleft">
<mat-select placeholder='请选择预案类型' [(ngModel)]="PlanType" name="PlanType"> <mat-select placeholder='请选择审核状态' [(ngModel)]="AuditStatus" name="AuditStatus">
<mat-option *ngFor="let plan of planpatterns" [value]="plan.value"> <mat-option *ngFor="let state of passstates" [value]="state.value">
{{plan.name}} {{state.name}}
</mat-option> </mat-option>
</mat-select> </mat-select>
</mat-form-field> </mat-form-field>
</div> </div>
<div class="queryField"> <div class="queryField">
<label style="margin-right: 10px;">审核状态:</label> <label style="margin-right: 10px;">编制级别:</label>
<mat-form-field class="maginleft"> <mat-form-field class="maginleft">
<mat-select placeholder='请选择审核状态' [(ngModel)]="AuditStatus" name="AuditStatus"> <mat-select placeholder='请选择编制级别' [(ngModel)]="PlanLevel" name="PlanLevel">
<mat-option *ngFor="let state of passstates" [value]="state.value"> <mat-option *ngFor="let level of preparelevels" [value]="level.value">
{{state.name}} {{level.name}}
</mat-option> </mat-option>
</mat-select> </mat-select>
</mat-form-field> </mat-form-field>
</div> <mat-checkbox style="margin-left: 5px;" [(ngModel)]="HasChildrenPlanLevel" name="HasChildrenPlanLevel">包含下级</mat-checkbox>
</div>
<div class="queryField">
<label style="margin-right: 10px;">编制级别:</label>
<mat-form-field class="maginleft">
<mat-select placeholder='请选择编制级别' [(ngModel)]="PlanLevel" name="PlanLevel">
<mat-option *ngFor="let level of preparelevels" [value]="level.value">
{{level.name}}
</mat-option>
</mat-select>
</mat-form-field>
<mat-checkbox style="margin-left: 5px;" [(ngModel)]="HasChildrenPlanLevel" name="HasChildrenPlanLevel">包含下级</mat-checkbox>
</div> </div>
<div style="width: 100%;text-align: center;">
<button mat-raised-button color="primary">查询</button>
<button mat-raised-button style="margin-left: 25px;" type="button" (click)="reset()">重置</button>
</div>
</form>
</div>
<mat-divider></mat-divider>
<div class="body">
<div class="tablebox">
<table mat-table [dataSource]="tabledataSource">
<ng-container matColumnDef="unitname">
<th mat-header-cell *matHeaderCellDef>单位名称</th>
<td mat-cell *matCellDef="let element">{{element.companyName}}</td>
</ng-container>
<ng-container matColumnDef="planname">
<th mat-header-cell *matHeaderCellDef>预案名称</th>
<td mat-cell *matCellDef="let element">{{element.name}}</td>
</ng-container>
<ng-container matColumnDef="addpeople">
<th mat-header-cell *matHeaderCellDef>添加人</th>
<td mat-cell *matCellDef="let element">{{element.creatorName}}</td>
</ng-container>
<ng-container matColumnDef="addtime">
<th mat-header-cell *matHeaderCellDef>添加时间</th>
<td mat-cell *matCellDef="let element">
{{element.creationTime|date:'yyyy-MM-dd'}}
</td>
</ng-container>
<ng-container matColumnDef="plantype">
<th mat-header-cell *matHeaderCellDef>预案类型</th>
<td mat-cell *matCellDef="let element">
<label *ngIf="element.planType==8">卡片预案</label>
<label *ngIf="element.planType==1">二维预案</label>
<label *ngIf="element.planType==2">三维预案</label>
<label *ngIf="element.planType==4">其他预案</label>
</td>
</ng-container>
<ng-container matColumnDef="auditstate">
<th mat-header-cell *matHeaderCellDef>审核状态</th>
<td mat-cell *matCellDef="let element">
<label *ngIf="element.auditStatus==0">预案未审核</label>
<label *ngIf="element.auditStatus==1">审核中</label>
<label *ngIf="element.auditStatus==2">审核通过</label>
<label *ngIf="element.auditStatus==4">审核退回</label>
</td>
</ng-container>
<ng-container matColumnDef="isopen">
<th mat-header-cell *matHeaderCellDef>是否公开</th>
<td mat-cell *matCellDef="let element">{{element.openRange}}</td>
</ng-container>
<ng-container matColumnDef="preparethelevel">
<th mat-header-cell *matHeaderCellDef>编制级别</th>
<td mat-cell *matCellDef="let element">
<label *ngIf="element.planLevel==1">总队</label>
<label *ngIf="element.planLevel==2">支队</label>
<label *ngIf="element.planLevel==4">大队</label>
<label *ngIf="element.planLevel==8">中队</label>
</td>
</ng-container>
<ng-container matColumnDef="operation">
<th mat-header-cell *matHeaderCellDef>操作</th>
<td mat-cell *matCellDef="let element">
<label style="color: #0000FF;cursor: pointer;" (click)='toExamine(element)' *ngIf="element.auditStatus!=4">预案审核</label>
<label style="color: #0000FF;margin-left: 10px;cursor: pointer;" (click)='openReserve(element)' *ngIf="element.auditStatus==2">预案公开</label>
<label style="color: #0000FF;margin-left: 10px;cursor: pointer;" (click)='closeReserve(element)' *ngIf="element.auditStatus==2">预案取消公开</label>
<label style="color: #999;"*ngIf="element.auditStatus==4">预案已驳回</label>
</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</table>
<mat-paginator [length]="length"
[pageSize]="pageSize"
[pageSizeOptions]="pageSizeOptions"
(page)="chagePage($event)">
</mat-paginator>
</div> </div>
<div style="width: 100%;text-align: center;">
<button mat-raised-button color="primary">查询</button>
<button mat-raised-button style="margin-left: 25px;" type="button" (click)="reset()">重置</button>
</div>
</form>
</div>
<mat-divider></mat-divider>
<div class="body">
<div class="tablebox">
<table mat-table [dataSource]="tabledataSource">
<ng-container matColumnDef="unitname">
<th mat-header-cell *matHeaderCellDef>单位名称</th>
<td mat-cell *matCellDef="let element">{{element.companyName}}</td>
</ng-container>
<ng-container matColumnDef="planname">
<th mat-header-cell *matHeaderCellDef>预案名称</th>
<td mat-cell *matCellDef="let element">{{element.name}}</td>
</ng-container>
<ng-container matColumnDef="addpeople">
<th mat-header-cell *matHeaderCellDef>添加人</th>
<td mat-cell *matCellDef="let element">{{element.creatorName}}</td>
</ng-container>
<ng-container matColumnDef="addtime">
<th mat-header-cell *matHeaderCellDef>添加时间</th>
<td mat-cell *matCellDef="let element">
{{element.creationTime|date:'yyyy-MM-dd'}}
</td>
</ng-container>
<ng-container matColumnDef="plantype">
<th mat-header-cell *matHeaderCellDef>预案类型</th>
<td mat-cell *matCellDef="let element">
<label *ngIf="element.planType==8">卡片预案</label>
<label *ngIf="element.planType==1">二维预案</label>
<label *ngIf="element.planType==2">三维预案</label>
<label *ngIf="element.planType==4">其他预案</label>
</td>
</ng-container>
<ng-container matColumnDef="auditstate">
<th mat-header-cell *matHeaderCellDef>审核状态</th>
<td mat-cell *matCellDef="let element">
<label *ngIf="element.auditStatus==0">预案未审核</label>
<label *ngIf="element.auditStatus==1">审核中</label>
<label *ngIf="element.auditStatus==2">审核通过</label>
<label *ngIf="element.auditStatus==4">审核退回</label>
</td>
</ng-container>
<ng-container matColumnDef="isopen">
<th mat-header-cell *matHeaderCellDef>是否公开</th>
<td mat-cell *matCellDef="let element">{{element.openRange}}</td>
</ng-container>
<ng-container matColumnDef="preparethelevel">
<th mat-header-cell *matHeaderCellDef>编制级别</th>
<td mat-cell *matCellDef="let element">
<label *ngIf="element.planLevel==1">总队</label>
<label *ngIf="element.planLevel==2">支队</label>
<label *ngIf="element.planLevel==4">大队</label>
<label *ngIf="element.planLevel==8">中队</label>
</td>
</ng-container>
<ng-container matColumnDef="operation">
<th mat-header-cell *matHeaderCellDef>操作</th>
<td mat-cell *matCellDef="let element">
<label style="color: #0000FF;cursor: pointer;" (click)='toExamine(element)' *ngIf="element.auditStatus!=4">预案审核</label>
<label style="color: #0000FF;margin-left: 10px;cursor: pointer;" (click)='openReserve(element)' *ngIf="element.auditStatus==2">预案公开</label>
<label style="color: #0000FF;margin-left: 10px;cursor: pointer;" (click)='closeReserve(element)' *ngIf="element.auditStatus==2">预案取消公开</label>
<label style="color: #999;"*ngIf="element.auditStatus==4">预案已驳回</label>
</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</table>
<mat-paginator [length]="length"
[pageSize]="pageSize"
[pageSizeOptions]="pageSizeOptions"
(page)="chagePage($event)">
</mat-paginator>
</div> </div>
</div> </div>

2
src/app/plan-audit/plan-audit/plan-audit.component.ts

@ -224,7 +224,7 @@ export class PlanAuditComponent implements OnInit {
//预案审核 //预案审核
toExamine (e) { toExamine (e) {
window.open(`/planAudit/planpass?id=${e.companyId}&companyName=${e.companyName}&auditPlanId=${e.id}&auditStatus=${e.auditStatus}`); window.open(`/planAudit/planpass?id=${e.companyId}&companyName=${e.companyName}&auditPlanId=${e.id}&auditStatus=${e.auditStatus}&planType=1`);
} }
//预案公开 //预案公开

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

@ -1,3 +1,4 @@
<div style="height: 100%; overflow: hidden;">
<mat-accordion> <mat-accordion>
<mat-expansion-panel disabled> <mat-expansion-panel disabled>
@ -10,7 +11,7 @@
</div> </div>
<div class="planBox"> <div class="planBox">
<span>消防救援站: </span> <span>消防救援站: </span>
<span>{{compantData.organizationName?compantData.organizationName : '暂无数据'}}</span> <span>{{organizationName}}</span>
</div> </div>
<div class="planBox"> <div class="planBox">
<span>单位类型: </span> <span>单位类型: </span>
@ -29,37 +30,39 @@
</mat-expansion-panel> </mat-expansion-panel>
</mat-accordion> </mat-accordion>
<div class="planBody" style="width: 100%;height: 100%;padding: 10px;box-sizing: border-box;overflow-y: auto;"> <div class="planBody" style="width: 100%;height: 100%;padding: 10px;box-sizing: border-box;overflow-y: auto;">
<div class="table" style="width: 100%;" *ngIf="planType==0"> <div class="table" style="width: 100%;" *ngIf="planType==0">
<table mat-table [dataSource]="allFile"> <table mat-table [dataSource]="allFile">
<ng-container matColumnDef="filename"> <ng-container matColumnDef="filename">
<th mat-header-cell *matHeaderCellDef>文件名称</th> <th mat-header-cell *matHeaderCellDef>文件名称</th>
<td mat-cell *matCellDef="let element">{{element.fileName?element.fileName : compantData.name}}</td> <td mat-cell *matCellDef="let element">{{element.fileName?element.fileName : compantData.name}}</td>
</ng-container> </ng-container>
<ng-container matColumnDef="addtime"> <ng-container matColumnDef="addtime">
<th mat-header-cell *matHeaderCellDef>上传时间</th> <th mat-header-cell *matHeaderCellDef>上传时间</th>
<td mat-cell *matCellDef="let element">{{element.lastModified | date:'yyyy-MM-dd'}}</td> <td mat-cell *matCellDef="let element">{{element.lastModified | date:'yyyy-MM-dd'}}</td>
</ng-container> </ng-container>
<ng-container matColumnDef="operation"> <ng-container matColumnDef="operation">
<th mat-header-cell *matHeaderCellDef>操作</th> <th mat-header-cell *matHeaderCellDef>操作</th>
<td mat-cell *matCellDef="let element"> <td mat-cell *matCellDef="let element">
<label style="color: #0000FF;cursor: pointer;" (click)='download(element)' *ngIf="!element.isLoading">下载</label> <label style="color: #0000FF;cursor: pointer;" (click)='download(element)' *ngIf="!element.isLoading">下载</label>
<label *ngIf="element.isLoading">正在下载... {{element.progress}}</label> <label *ngIf="element.isLoading">正在下载... {{element.progress}}</label>
<label></label> <label></label>
</td> </td>
</ng-container> </ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</table>
</div>
<div style="width: 100%; height: 100%;" *ngIf="planType==2">
<app-view-unit-details-plan></app-view-unit-details-plan>
</div>
<div style="width: 100%; height: 100%;" *ngIf="planType==3">
<iframe [src]='thirdPartyURL' frameborder="0" width="100%" height="100%" id="iframe"></iframe>
</div>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</table>
</div>
<div style="width: 100%; height: 100%;" *ngIf="planType==2">
<app-view-unit-details-plan></app-view-unit-details-plan>
</div>
<div style="width: 100%; height: 100%;" *ngIf="planType==3">
<iframe [src]='thirdPartyURL' frameborder="0" width="100%" height="100%" id="iframe"></iframe>
</div> </div>
</div> </div>

27
src/app/plan-audit/plan-pass/plan-pass.component.ts

@ -30,28 +30,22 @@ export class PlanPassComponent implements OnInit {
constructor(private http:HttpClient,private router:Router,private route:ActivatedRoute,private tree: TreeService,public dialog: MatDialog, constructor(private http:HttpClient,private router:Router,private route:ActivatedRoute,private tree: TreeService,public dialog: MatDialog,
public snackBar: MatSnackBar,private sanitizer: DomSanitizer) { } public snackBar: MatSnackBar,private sanitizer: DomSanitizer) { }
type:any //审核按钮是否出现
ngOnInit(): void { ngOnInit(): void {
this.type = this.route.snapshot.queryParams.type this.type = this.route.snapshot.queryParams.type
this.getCompanyData() this.getCompanyData()
this.getPlanData() this.getPlanData()
} }
type:any //审核按钮是否出现
displayedColumns: string[] = ['filename','addtime','operation']; //表头 displayedColumns: string[] = ['filename','addtime','operation']; //表头
compantData:any = {name:'',organizationName: '', buildingTypes:[{name:''}], address:''}; //当前单位信息 compantData:any = {name:'',organizationName: '', buildingTypes:[{name:''}], address:''}; //当前单位信息
organizationName:any = ''; //组织机构名称
planData:any; //审核预案信息 planData:any; //审核预案信息
//获取当前单位信息 //获取当前单位信息
getCompanyData () { getCompanyData () {
let header = { this.http.get(`/api/Plans/${this.route.snapshot.queryParams.id}`).subscribe((data:any)=>{
CompanyName: this.route.snapshot.queryParams.companyName || '', data && data.company? this.compantData = data.company : null
PageSize: '100'}
this.http.get('/api/Plans',{params:header}).subscribe((data:any)=>{
data.items.forEach(element => {
if (element.companyId===this.route.snapshot.queryParams.id) {
this.compantData = element.company
return } });
}) })
} }
@ -62,19 +56,24 @@ export class PlanPassComponent implements OnInit {
AuditStatus: this.route.snapshot.queryParams.auditStatus || '', AuditStatus: this.route.snapshot.queryParams.auditStatus || '',
PageSize: '100', PageSize: '100',
} }
this.http.get('/api/PlanAudits',{params:header}).subscribe((data:any)=>{ let api
this.route.snapshot.queryParams.planType == 1? api = '/api/PlanAudits' : api = '/api/PublicPlans' //1=预案审核 2=公开预案
this.http.get(api,{params:header}).subscribe((data:any)=>{
data.items.forEach(element => { data.items.forEach(element => {
if (element.id===this.route.snapshot.queryParams.auditPlanId) { if (element.id===this.route.snapshot.queryParams.auditPlanId) {
this.planData = element this.planData = element
this.organizationName = element.committerOrganizationName
this.handleData() this.handleData()
return } }); return
}
});
}) })
} }
planType:any; //展示预案类型 planType:any; //展示预案类型
allFile:any = []; //类型=0时所有文件 allFile:any = []; //类型=0时所有文件
thirdPartyURL:any; //类型=3时网址 thirdPartyURL:any; //类型=3时网址
handleData () { handleData () {
this.planType = this.planData.planMode this.planType = this.planData.planMode
let data = this.planData let data = this.planData

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

@ -160,12 +160,10 @@ export class OpenPlanComponent implements OnInit {
} }
) )
} }
//跳转查看预案页面 //跳转查看预案页面 公开预案
routerTo(element){ routerTo(element){
sessionStorage.setItem("companyName",element.companyName) sessionStorage.setItem("companyName",element.companyName)
// window.open(`/planManagement/entryPlandetail?unitId=${element.company.id}&unitTypeId=${element.company.buildingTypes.length == 0 ? null :element.company.buildingTypes[0].id}&operation=false&pagetype=openplan&unitName=${element.company.name}&orName=${element.company.organizationName}&unitType=${element.company.buildingTypes.length == 0 ? null :element.company.buildingTypes[0].name}&unitAdd=${element.company.address}`); window.open(`/planAudit/planpass?id=${element.companyId}&companyName=${element.companyName}&auditPlanId=${element.id}&auditStatus=${element.auditStatus}&type=6&planType=2`);
window.open(`/planAudit/planpass?id=${element.companyId}&companyName=${element.companyName}&auditPlanId=${element.id}&auditStatus=${element.auditStatus}&type=6`);
} }
//分页事件 //分页事件
chagePage(e){ chagePage(e){

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

@ -169,12 +169,10 @@ export class PassPlanComponent implements OnInit {
} }
) )
} }
//跳转查看预案页面 //跳转查看预案页面 审核通过预案
routerTo(element){ routerTo(element){
sessionStorage.setItem("companyName",element.companyName) sessionStorage.setItem("companyName",element.companyName)
// window.open(`/planManagement/entryPlandetail?unitId=${element.company.id}&unitTypeId=${element.company.buildingTypes.length == 0 ? null :element.company.buildingTypes[0].id}&operation=false&pagetype=passplan&unitName=${element.company.name}&orName=${element.company.organizationName}&unitType=${element.company.buildingTypes.length == 0 ? null :element.company.buildingTypes[0].name}&unitAdd=${element.company.address}`); window.open(`/planAudit/planpass?id=${element.companyId}&companyName=${element.companyName}&auditPlanId=${element.id}&auditStatus=${element.auditStatus}&type=6&planType=1`);
window.open(`/planAudit/planpass?id=${element.companyId}&companyName=${element.companyName}&auditPlanId=${element.id}&auditStatus=${element.auditStatus}&type=6`);
} }
//分页事件 //分页事件
chagePage(e){ chagePage(e){

2
src/app/statistic-analysis/addUnit/add-unit-one/add-unit-one.component.scss

@ -8,7 +8,7 @@
} }
#indexBzt{ #indexBzt{
width: 100%; width: 100%;
height: 93%; height: 100%;
padding-top: 3%; padding-top: 3%;
display: flex; display: flex;
flex-direction: row; flex-direction: row;

2
src/app/statistic-analysis/addUnit/add-unit-three-bar-details/add-unit-three-bar-details.component.scss

@ -1,6 +1,6 @@
.box{ .box{
width: 100%; width: 100%;
height: 92%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;

2
src/app/statistic-analysis/addUnit/add-unit-three-line-details/add-unit-three-line-details.component.scss

@ -1,6 +1,6 @@
.box{ .box{
width: 100%; width: 100%;
height: 92%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;

2
src/app/statistic-analysis/addUnit/add-unit-two-time/add-unit-two-time.component.scss

@ -1,6 +1,6 @@
.box{ .box{
width: 100%; width: 100%;
height: 92%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;

2
src/app/statistic-analysis/addUnit/add-unit-two-type-details/add-unit-two-type-details.component.scss

@ -1,6 +1,6 @@
.box{ .box{
width: 100%; width: 100%;
height: 92%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;

2
src/app/statistic-analysis/addUnit/add-unit-two-type-statistics/add-unit-two-type-statistics.component.scss

@ -1,6 +1,6 @@
.box{ .box{
width: 100%; width: 100%;
height: 92%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;

2
src/app/statistic-analysis/buildingType/building-type-one/building-type-one.component.html

@ -1,4 +1,4 @@
<body> <body>
<!--饼状图 --> <!--饼状图 -->
<div id="indexBzt" style="width: 100%;height: 93%;"></div> <div id="indexBzt" style="width: 100%;height: 100%;"></div>
</body> </body>

2
src/app/statistic-analysis/buildingType/building-type-three-details/building-type-three-details.component.scss

@ -1,6 +1,6 @@
.box{ .box{
width: 100%; width: 100%;
height: 92%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;

2
src/app/statistic-analysis/buildingType/building-type-two-forward/building-type-two-forward.component.scss

@ -1,6 +1,6 @@
.box{ .box{
width: 100%; width: 100%;
height: 92%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;

2
src/app/statistic-analysis/buildingType/building-type-two-reverse/building-type-two-reverse.component.scss

@ -1,6 +1,6 @@
.box{ .box{
width: 100%; width: 100%;
height: 92%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;

2
src/app/statistic-analysis/deleteUnit/delete-one/delete-one.component.html

@ -6,4 +6,4 @@
* @LastEditors: sueRimn * @LastEditors: sueRimn
* @LastEditTime: 2020-09-05 11:28:26 * @LastEditTime: 2020-09-05 11:28:26
--> -->
<div id="indexBzt" style="width: 100%;height: 93%;"></div> <div id="indexBzt" style="width: 100%;height: 100%;"></div>

2
src/app/statistic-analysis/deleteUnit/delete-there-line-details/delete-there-line-details.component.scss

@ -1,6 +1,6 @@
.box{ .box{
width: 100%; width: 100%;
height: 92%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;

2
src/app/statistic-analysis/deleteUnit/delete-there/delete-there.component.scss

@ -1,6 +1,6 @@
.box{ .box{
width: 100%; width: 100%;
height: 92%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;

2
src/app/statistic-analysis/deleteUnit/delete-two-newadd/delete-two-newadd.component.scss

@ -1,6 +1,6 @@
.box{ .box{
width: 100%; width: 100%;
height: 92%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;

2
src/app/statistic-analysis/deleteUnit/delete-two/delete-two.component.scss

@ -1,6 +1,6 @@
.box{ .box{
width: 100%; width: 100%;
height: 92%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;

2
src/app/statistic-analysis/scheduled-updates/scheduled-updates.component.scss

@ -27,7 +27,7 @@
} }
.box{ .box{
width: 100%; width: 100%;
height: 92%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;

2
src/app/statistic-analysis/state/page-one/page-one.component.html

@ -9,7 +9,7 @@
<body> <body>
<!--饼状图 --> <!--饼状图 -->
<div id="indexBzt" style="width: 100%;height: 93%;"></div> <div id="indexBzt" style="width: 100%;height: 100%;"></div>
</body> </body>

2
src/app/statistic-analysis/state/page-there-year/page-there-year.component.scss

@ -1,6 +1,6 @@
.box{ .box{
width: 100%; width: 100%;
height: 92%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;

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

@ -1,6 +1,6 @@
.box{ .box{
width: 100%; width: 100%;
height: 92%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;

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

@ -1,6 +1,6 @@
.content { .content {
width: 100%; width: 100%;
height: 93%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;

2
src/app/ui/authority/authority.component.html

@ -1,4 +1,4 @@
<div style="height: 90%; overflow-y: auto;"> <div style="height: 100%; overflow-y: auto;">
<mat-tree [dataSource]="dataSource" [treeControl]="treeControl" > <mat-tree [dataSource]="dataSource" [treeControl]="treeControl" >
<mat-tree-node *matTreeNodeDef="let node" matTreeNodePadding> <mat-tree-node *matTreeNodeDef="let node" matTreeNodePadding>
<button mat-icon-button disabled ></button> <button mat-icon-button disabled ></button>

2
src/app/ui/fire-fighting-facilities-formwork/fire-fighting-facilities-formwork.component.scss

@ -1,7 +1,7 @@
.content { .content {
margin: 0 0 0 10px; margin: 0 0 0 10px;
width: 100%; width: 100%;
height: 90%; height: 100%;
overflow-y: auto; overflow-y: auto;
display: flex; display: flex;
.leftBox { .leftBox {

2
src/app/ui/fire-protection-elements/fire-protection-elements.component.scss

@ -6,7 +6,7 @@
.Box { .Box {
width: 100%; width: 100%;
height: 90%; height: 100%;
overflow-y: auto; overflow-y: auto;
display: flex; display: flex;
padding-left: 10px; padding-left: 10px;

2
src/app/ui/material-bank/material-bank.component.scss

@ -1,7 +1,7 @@
.content { .content {
padding: 0 0 0 10px; padding: 0 0 0 10px;
width: 100%; width: 100%;
height: 90%; height: 100%;
overflow-x: hidden; overflow-x: hidden;
overflow-y: auto; overflow-y: auto;
display: flex; display: flex;

2
src/app/ui/navmenus/navmenus.component.html

@ -1,4 +1,4 @@
<div style="height: 90%; overflow-y: auto;"> <div style="height: 100%; overflow-y: auto;">
<mat-tree [dataSource]="dataSource" [treeControl]="treeControl" > <mat-tree [dataSource]="dataSource" [treeControl]="treeControl" >
<mat-tree-node *matTreeNodeDef="let node" matTreeNodePadding> <mat-tree-node *matTreeNodeDef="let node" matTreeNodePadding>
<button mat-icon-button disabled ></button> <button mat-icon-button disabled ></button>

2
src/app/ui/role/role.component.html

@ -1,4 +1,4 @@
<div style="height: 90%; overflow-y: auto;"> <div style="height: 100%; overflow-y: auto;">
<button mat-raised-button color="primary" (click)="createuser()" style=" margin: 10px">创建角色</button> <button mat-raised-button color="primary" (click)="createuser()" style=" margin: 10px">创建角色</button>
<table mat-table [dataSource]="dataSource"> <table mat-table [dataSource]="dataSource">

2
src/app/ui/unit-information/unit-information.component.scss

@ -1,7 +1,7 @@
.content { .content {
margin: 0 0 0 10px; margin: 0 0 0 10px;
width: 100%; width: 100%;
height: 90%; height: 100%;
overflow-x: hidden; overflow-x: hidden;
overflow-y: auto; overflow-y: auto;
display: flex; display: flex;

10
src/app/working-area/model/axArrowConnector.ts

@ -2,6 +2,7 @@ import { WorkingAreaComponent } from '../working-area.component';
import * as PIXI from 'pixi.js'; import * as PIXI from 'pixi.js';
import { AxShape } from './axShape'; import { AxShape } from './axShape';
import { Sprite } from 'pixi.js'; import { Sprite } from 'pixi.js';
import { GameMode } from './gameMode';
/** /**
* *
@ -50,6 +51,7 @@ export class AxArrowConnector extends AxShape {
this.sortableChildren = true; this.sortableChildren = true;
this.text.zIndex = this.children.length; this.text.zIndex = this.children.length;
this.text.visible = this.showName; this.text.visible = this.showName;
this.text.angle = -this.workingArea.backgroundImage.angle;
} }
public drawPoints() { public drawPoints() {
@ -115,11 +117,16 @@ export class AxArrowConnector extends AxShape {
} }
// 设置缩放 // 设置缩放
public setItemScale(scale: number) { public setItemScale(scale: number) {
this.text.scale.set(scale); // this.text.scale.set(scale);
this.pointSprites.forEach(point => { this.pointSprites.forEach(point => {
point.scale.set(scale); point.scale.set(scale);
}); });
} }
public setNameVisible(value: boolean, mode: GameMode) {
if (this.assetData.GameMode === mode) {
this.text.visible = value;
}
}
/** /**
* *
*/ */
@ -359,6 +366,7 @@ export class AxArrowConnector extends AxShape {
// c.end(); // c.end();
// } // }
// } // }
this.text.angle = -this.workingArea.backgroundImage.angle;
} }
paintMarker(c: PIXI.Graphics, ptX: number, ptY: number, nx: number, ny: number, paintMarker(c: PIXI.Graphics, ptX: number, ptY: number, nx: number, ny: number,
size: number, arrowWidth: number, edgeWidth: number, spacing: number, initialMove: boolean) { size: number, arrowWidth: number, edgeWidth: number, spacing: number, initialMove: boolean) {

4
src/app/working-area/model/axImageShape.ts

@ -50,6 +50,7 @@ export class AxImageShape extends AxShape {
downRight: PIXI.Sprite; downRight: PIXI.Sprite;
constructor(assetData: any, workingArea: WorkingAreaComponent) { constructor(assetData: any, workingArea: WorkingAreaComponent) {
super(assetData, workingArea); super(assetData, workingArea);
this.angle = -this.workingArea.backgroundImage.angle;
this.x = this.assetData.Point.x; this.x = this.assetData.Point.x;
this.y = this.assetData.Point.y; this.y = this.assetData.Point.y;
this.name = this.assetData.Id; this.name = this.assetData.Id;
@ -185,7 +186,7 @@ export class AxImageShape extends AxShape {
if (this.assetData.FixedSize) { if (this.assetData.FixedSize) {
this.scale.set(scale); this.scale.set(scale);
} else { } else {
this.text.scale.set(scale); // this.text.scale.set(scale);
this.upLeft.scale.set(scale); this.upLeft.scale.set(scale);
this.upRight.scale.set(scale); this.upRight.scale.set(scale);
this.downLeft.scale.set(scale); this.downLeft.scale.set(scale);
@ -265,5 +266,6 @@ export class AxImageShape extends AxShape {
+ this.assetData.PropertyInfos?.find(item => item.PropertyName === '名称/编号')?.PropertyValue; + this.assetData.PropertyInfos?.find(item => item.PropertyName === '名称/编号')?.PropertyValue;
this.text.x = this.image.x; this.text.x = this.image.x;
this.text.y = this.image.y - this.image.height / 2; this.text.y = this.image.y - this.image.height / 2;
this.angle = -this.workingArea.backgroundImage.angle;
} }
} }

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

@ -15,6 +15,7 @@ export class AxLegend extends AxShape {
*/ */
constructor(assetData: any, workingArea: WorkingAreaComponent,shapeMap:Map<string,Legend>) { constructor(assetData: any, workingArea: WorkingAreaComponent,shapeMap:Map<string,Legend>) {
super(assetData, workingArea); super(assetData, workingArea);
this.angle = -this.workingArea.backgroundImage.angle;
this.name = this.assetData.Id; this.name = this.assetData.Id;
this.shapeMap = shapeMap; this.shapeMap = shapeMap;
this.refresh(); this.refresh();
@ -42,15 +43,15 @@ export class AxLegend extends AxShape {
refresh() { refresh() {
this.removeChildren(); this.removeChildren();
let index = 1; let index = 1;
let offset = 50; let offset = 25;
let number = 2; let number = this.assetData.PropertyInfos[0].PropertyValue;
let width = 450; let width = 300;
let height = 100; let height = 50;
for (let i = 0; i < number; i++){ for (let i = 0; i < number; i++){
if (i >= this.shapeMap.size) break; if (i >= this.shapeMap.size) break;
let x = width * i; let x = width * i;
var textImage = new Text('图例',{ var textImage = new Text('图例',{
fontSize: 36, fontSize: 20,
fill: ['#0000ff'], fill: ['#0000ff'],
}); });
textImage.anchor.set(0.5) textImage.anchor.set(0.5)
@ -59,7 +60,7 @@ export class AxLegend extends AxShape {
this.addChild(textImage); this.addChild(textImage);
var textName = new Text("名称"+' 【数量】',{ var textName = new Text("名称"+' 【数量】',{
fontSize: 36, fontSize: 20,
fill: ['#0000ff'], fill: ['#0000ff'],
}); });
textName.anchor.set(0,0.5); textName.anchor.set(0,0.5);
@ -71,14 +72,16 @@ export class AxLegend extends AxShape {
let x = index % number === 0 ? (number -1) * width : (index % number - 1) * width; let x = index % number === 0 ? (number -1) * width : (index % number - 1) * width;
let y = Math.ceil(index / number) * height; let y = Math.ceil(index / number) * height;
let image: Sprite = Sprite.from(item.ImageUrl); let image: Sprite = Sprite.from(item.ImageUrl);
image.width = 64; image.width = 32;
image.height = 64; image.height = 32;
image.anchor.set(0.5); image.anchor.set(0.5);
image.x = x; image.x = x;
image.y = y; image.y = y;
this.addChild(image); this.addChild(image);
var textName = new Text(item.Name+' 【'+item.Count.toString()+'】'); var textName = new Text(item.Name+' 【'+item.Count.toString()+'】',{
fontSize: 20,
});
textName.anchor.set(0,0.5); textName.anchor.set(0,0.5);
textName.x = x + image.width/2 + offset; textName.x = x + image.width/2 + offset;
textName.y = y; textName.y = y;
@ -89,7 +92,7 @@ export class AxLegend extends AxShape {
let rect = this.getLocalBounds(); let rect = this.getLocalBounds();
this.pen.clear(); this.pen.clear();
this.pen.beginFill(0xffffff,0.01); this.pen.beginFill(0xffffff,0.01);
this.pen.lineStyle(5, 0x000000); this.pen.lineStyle(3, 0x000000);
this.pen.moveTo(rect.left-offset, rect.top-offset); this.pen.moveTo(rect.left-offset, rect.top-offset);
this.pen.lineTo(rect.right+offset, rect.top-offset); this.pen.lineTo(rect.right+offset, rect.top-offset);
this.pen.lineTo(rect.right+offset, rect.bottom+offset); this.pen.lineTo(rect.right+offset, rect.bottom+offset);
@ -98,6 +101,7 @@ export class AxLegend extends AxShape {
this.pen.endFill(); this.pen.endFill();
} }
this.addChild(this.pen); this.addChild(this.pen);
this.angle = -this.workingArea.backgroundImage.angle;
} }
} }

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

@ -33,4 +33,7 @@ export class AxPreviewImageShape extends AxShape {
*/ */
public drawBorder(scale: number) { public drawBorder(scale: number) {
} }
public refresh() {
this.angle = -this.workingArea.backgroundImage.angle;
}
} }

6
src/app/working-area/model/multipointIcon.ts

@ -36,7 +36,7 @@ export class MultipointIcon extends AxShape {
* @param points * @param points
*/ */
constructor(assetData: any,workingArea: WorkingAreaComponent) { constructor(assetData: any,workingArea: WorkingAreaComponent) {
super(assetData,workingArea); super(assetData, workingArea);
this.name = this.assetData.Id; this.name = this.assetData.Id;
this.pointsData = this.assetData.MultiPoint; this.pointsData = this.assetData.MultiPoint;
this.x = this.assetData.Point.x; this.x = this.assetData.Point.x;
@ -46,6 +46,7 @@ export class MultipointIcon extends AxShape {
this.text.anchor.set(0.5,0.5); this.text.anchor.set(0.5,0.5);
// this.text.position = this.getLineCenter(this.pointsData[0], this.pointsData[1]); // this.text.position = this.getLineCenter(this.pointsData[0], this.pointsData[1]);
this.text.visible = this.showName; this.text.visible = this.showName;
this.text.angle = -this.workingArea.backgroundImage.angle;
this.addChild(this.text); this.addChild(this.text);
// 画线图标 // 画线图标
for (let i = 0, count = this.pointsData.length - 1; i < count; i++) { for (let i = 0, count = this.pointsData.length - 1; i < count; i++) {
@ -184,7 +185,7 @@ export class MultipointIcon extends AxShape {
} }
// 设置缩放 // 设置缩放
public setItemScale(scale: number) { public setItemScale(scale: number) {
this.text.scale.set(scale); // this.text.scale.set(scale);
this.pointsGraphics.forEach((item, index, array) => { this.pointsGraphics.forEach((item, index, array) => {
item.scale.set(scale); item.scale.set(scale);
}); });
@ -198,5 +199,6 @@ export class MultipointIcon extends AxShape {
this.text.text = this.assetData.Name this.text.text = this.assetData.Name
+ '\r\n' + '\r\n'
+ this.assetData.PropertyInfos.find(item => item.PropertyName === '名称/编号')?.PropertyValue; + this.assetData.PropertyInfos.find(item => item.PropertyName === '名称/编号')?.PropertyValue;
this.text.angle = -this.workingArea.backgroundImage.angle;
} }
} }

4
src/app/working-area/model/polygonIcon.ts

@ -75,6 +75,7 @@ export class PolygonIcon extends AxShape {
this.text.anchor.set(0.5); this.text.anchor.set(0.5);
this.text.position = this.calculatePolygonGravityCenter(this.pointsData); this.text.position = this.calculatePolygonGravityCenter(this.pointsData);
this.text.visible = this.showName; this.text.visible = this.showName;
this.text.angle = -this.workingArea.backgroundImage.angle;
// console.log(this.calculatePolygonGravityCenter(this.pointsData)); // console.log(this.calculatePolygonGravityCenter(this.pointsData));
this.polygonGraphics.addChild(this.text); this.polygonGraphics.addChild(this.text);
// 添加圆点事件 // 添加圆点事件
@ -156,7 +157,7 @@ export class PolygonIcon extends AxShape {
} }
// 设置缩放 // 设置缩放
public setItemScale(scale: number) { public setItemScale(scale: number) {
this.text.scale.set(scale); // this.text.scale.set(scale);
this.pointsGraphics.forEach(point => { this.pointsGraphics.forEach(point => {
point.scale.set(scale); point.scale.set(scale);
}); });
@ -194,5 +195,6 @@ export class PolygonIcon extends AxShape {
this.polygonGraphics.beginFill(color, angle); this.polygonGraphics.beginFill(color, angle);
this.polygonGraphics.drawPolygon(this.getPoints()); this.polygonGraphics.drawPolygon(this.getPoints());
this.polygonGraphics.endFill(); this.polygonGraphics.endFill();
this.text.angle = -this.workingArea.backgroundImage.angle;
} }
} }

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

@ -141,7 +141,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
// Beta版: 该版本相对于α版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过多次测试来进一步消除,此版本主要的修改对像是软件的UI。 // Beta版: 该版本相对于α版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过多次测试来进一步消除,此版本主要的修改对像是软件的UI。
// RC版: 该版本已经相当成熟了,基本上不存在导致错误的BUG,与即将发行的正式版相差无几。 // RC版: 该版本已经相当成熟了,基本上不存在导致错误的BUG,与即将发行的正式版相差无几。
// Release版: 该版本意味“最终版本”,在前面版本的一系列测试版之后,终归会有一个正式版本,是最终交付用户使用的一个版本。该版本有时也称为标准版。一般情况下,Release不会以单词形式出现在软件封面上,取而代之的是符号®。 // Release版: 该版本意味“最终版本”,在前面版本的一系列测试版之后,终归会有一个正式版本,是最终交付用户使用的一个版本。该版本有时也称为标准版。一般情况下,Release不会以单词形式出现在软件封面上,取而代之的是符号®。
public VERSION = '1.0.0.20210107_beta'; public VERSION = '1.0.4.20210109_beta';
/** /**
* *
*/ */
@ -353,7 +353,8 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
/** /**
* *
*/ */
this.on('createIcon', (axShape:AxShape)=> { this.on('createIcon', (axShape: AxShape) => {
console.log("新增图标:"+axShape.assetData.Name);
if (axShape.assetData.GameMode === GameMode.BasicInformation) { // 基本信息 if (axShape.assetData.GameMode === GameMode.BasicInformation) { // 基本信息
// 添加楼层数据 // 添加楼层数据
this.canvasData.originaleveryStoreyData.data[axShape.assetData.Id] = axShape.assetData; this.canvasData.originaleveryStoreyData.data[axShape.assetData.Id] = axShape.assetData;
@ -383,6 +384,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
var itemLegend = new Legend(axShape.assetData.Name, axShape.assetData.ImageUrl, 1); var itemLegend = new Legend(axShape.assetData.Name, axShape.assetData.ImageUrl, 1);
temp.addItem(itemLegend); temp.addItem(itemLegend);
} }
this.emit('canvasDataChanged');
this.canvasData.isChange = true; this.canvasData.isChange = true;
}); });
/** /**
@ -420,6 +422,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
// } // }
this.backgroundImage.removeChild(axShape); this.backgroundImage.removeChild(axShape);
this.emit('canvasDataChanged');
this.canvasData.isChange = true; this.canvasData.isChange = true;
}); });
} }
@ -442,6 +445,8 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
item.setNameVisible(value, mode); item.setNameVisible(value, mode);
} else if (item instanceof PolygonIcon) { } else if (item instanceof PolygonIcon) {
item.setNameVisible(value, mode); item.setNameVisible(value, mode);
} else if (item instanceof AxArrowConnector) {
item.setNameVisible(value, mode);
} }
}); });
} }
@ -460,6 +465,8 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
icon.refresh(); icon.refresh();
} else if (icon instanceof AxArrowConnector) { } else if (icon instanceof AxArrowConnector) {
icon.redraw(); icon.redraw();
} else if (icon instanceof AxLegend) {
icon.refresh();
} }
} }
/** /**
@ -491,17 +498,6 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
this.selection.select(obj); this.selection.select(obj);
}); });
} }
// /**
// * 创建背景图
// */
// public createBackground(imageUrl:string,imageAngle:number) {
// if (this.backgroundImage !== null) {
// this.backgroundImage.destroy();
// this.backgroundImage = null;
// }
// this.createBackgroundImage()
// this.refreshBackgroundImage(imageUrl,imageAngle);
// }
/** /**
* *
*/ */
@ -605,6 +601,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
this.backgroundImage.sortableChildren = true; this.backgroundImage.sortableChildren = true;
this.backgroundImage this.backgroundImage
.on('pointerdown', event => { .on('pointerdown', event => {
if (event.data.button !== 0) return;
if (!event.currentTarget.dragging && this.selection.isMultiselection === false) { if (!event.currentTarget.dragging && this.selection.isMultiselection === false) {
this.selection.deselectAll(); this.selection.deselectAll();
event.currentTarget.data = event.data; event.currentTarget.data = event.data;
@ -662,6 +659,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
if (this.paintPoints.length >= 2) { if (this.paintPoints.length >= 2) {
this.enterPaintEndButton.position = this.circleShadow.position; this.enterPaintEndButton.position = this.circleShadow.position;
this.enterPaintEndButton.visible = true; this.enterPaintEndButton.visible = true;
this.enterPaintEndButton.zIndex = this.backgroundImage.children.length;
} }
if (this.paintingIcon !== null) { if (this.paintingIcon !== null) {
@ -719,6 +717,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
this.enterPaintEndButton.position = this.circleShadow.position; this.enterPaintEndButton.position = this.circleShadow.position;
} else if (this.paintPoints.length >= 3) { } else if (this.paintPoints.length >= 3) {
this.enterPaintEndButton.visible = true; this.enterPaintEndButton.visible = true;
this.enterPaintEndButton.zIndex = this.backgroundImage.children.length;
} }
this.paintPoints.forEach((value, index, array) => { this.paintPoints.forEach((value, index, array) => {
if (index === 0) { if (index === 0) {
@ -747,6 +746,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
this.previewLineSegment.visible = true; this.previewLineSegment.visible = true;
this.enterPaintEndButton.position = this.circleShadow.position; this.enterPaintEndButton.position = this.circleShadow.position;
this.enterPaintEndButton.visible = true; this.enterPaintEndButton.visible = true;
this.enterPaintEndButton.zIndex = this.backgroundImage.children.length;
this.currentClickPoint.position = new PIXI.Point(this.circleShadow.x, this.circleShadow.y); this.currentClickPoint.position = new PIXI.Point(this.circleShadow.x, this.circleShadow.y);
this.paintPoints.push(new PIXI.Point(this.circleShadow.x, this.circleShadow.y)); this.paintPoints.push(new PIXI.Point(this.circleShadow.x, this.circleShadow.y));
if (this.paintPoints.length < 2) { if (this.paintPoints.length < 2) {
@ -887,7 +887,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
* *
*/ */
public async refreshBackgroundImage(imageUrl:string = this.canvasData.selectStorey.imageUrl,imageAngle:number = this.canvasData.selectStorey.imageAngle): Promise<void> { public async refreshBackgroundImage(imageUrl:string = this.canvasData.selectStorey.imageUrl,imageAngle:number = this.canvasData.selectStorey.imageAngle): Promise<void> {
if (!imageUrl) { if (imageUrl === undefined || imageUrl === null || imageUrl === "") {
this.backgroundImage.visible = false; this.backgroundImage.visible = false;
} else { } else {
this.backgroundImage.visible = false; this.backgroundImage.visible = false;
@ -907,6 +907,12 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
let scale = wScale < hScale ? wScale : hScale; let scale = wScale < hScale ? wScale : hScale;
// 设置图片缩放 // 设置图片缩放
this.backgroundImage.scale.set(scale); this.backgroundImage.scale.set(scale);
this.backgroundImage.visible = true;
this.backgroundImage.children.forEach((item) => {
if (item instanceof AxShape) {
item.refresh();
}
})
} }
} }
/** /**
@ -915,23 +921,8 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
* @param imageAngle * @param imageAngle
*/ */
public async refresh(imageUrl: string = this.canvasData.selectStorey.imageUrl, imageAngle: number = this.canvasData.selectStorey.imageAngle): Promise<void> { public async refresh(imageUrl: string = this.canvasData.selectStorey.imageUrl, imageAngle: number = this.canvasData.selectStorey.imageAngle): Promise<void> {
this.backgroundImage.visible = false; await this.refreshBackgroundImage();
this.backgroundImage.scale.set(1);
this.backgroundImage.pivot.set(0);
this.backgroundImage.x = this.app.view.width / 2;
this.backgroundImage.y = this.app.view.height / 2;
this.backgroundImage.texture = await PIXI.Texture.fromURL(imageUrl);
this.backgroundImage.angle = imageAngle;
// 等待图片加载完成
let imageWidth = this.backgroundImage.texture.width;
let imageHeight = this.backgroundImage.texture.height;
let appWidth = this.app.view.width - 470;
let appHeight = this.app.view.height;
let wScale = appWidth / imageWidth;
let hScale = appHeight / imageHeight;
let scale = wScale < hScale ? wScale : hScale;
// 设置图片缩放
this.backgroundImage.scale.set(scale);
// 清空所有图形 // 清空所有图形
this.selection.deselectAll(); this.selection.deselectAll();
let itemList = []; let itemList = [];
@ -946,12 +937,11 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
// let child = this.backgroundImage.getChildByName(item); // let child = this.backgroundImage.getChildByName(item);
// this.backgroundImage.removeChild(child); // this.backgroundImage.removeChild(child);
}) })
//加载当前数据 //加载当前数据
this.createFloorShape(this.canvasData.originaleveryStoreyData.data); this.createFloorShape(this.canvasData.originaleveryStoreyData.data);
// 创建处置预案图形 // 创建处置预案图形
this.createNodeShape(this.canvasData.selectPanelPoint.Data); this.createNodeShape(this.canvasData.selectPanelPoint.Data);
this.createAxLegend(); this.createAxLegend();
this.backgroundImage.visible = true;
} }
/** /**
* *
@ -960,7 +950,21 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
const tempAssetData = { const tempAssetData = {
Id: "图例",//ObjectID.default.generate() Id: "图例",//ObjectID.default.generate()
Color: "#066EED80", Color: "#066EED80",
PropertyInfos:[] PropertyInfos: [
{
Tag : '',
Order : 0,
Enabled : true,
Visible : true,
Required : false,
RuleName : "",
RuleValue : "",
PhysicalUnit : "",
PropertyName : "列",
PropertyType : 2,
PropertyValue : 2,
},
]
}; };
let shapeMap: Map<string,Legend> = new Map<string,Legend>(); let shapeMap: Map<string,Legend> = new Map<string,Legend>();

2
src/assets/css/newStyle.css

@ -367,7 +367,7 @@ iframe { display: block; }
.num-item .num-text { color: #93FCFF; font-weight: 500; font-family: 'digiface'; font-size: 50px; line-height: 62px; letter-spacing: 0.1em; } .num-item .num-text { color: #93FCFF; font-weight: 500; font-family: 'digiface'; font-size: 50px; line-height: 62px; letter-spacing: 0.1em; }
.num-item .num-text .unit { font-size: 34px; margin-left: 10px; } .num-item .num-text .unit { font-size: 34px; margin-left: 10px; }
.main { display: flex; flex-direction: column; padding: 0 30px 10px; height: 93%; } .main { display: flex; flex-direction: column; padding: 0 30px 10px; height: 100%; }
.main-top { flex: 2; display: flex; padding: 30px 0 0; max-height: 699px; } .main-top { flex: 2; display: flex; padding: 30px 0 0; max-height: 699px; }

Loading…
Cancel
Save