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. 12
      src/app/key-unit/edit-plan-info/edit-plan-info.component.html
  6. 16
      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. 10
      src/app/key-unit/uploading-cad-look/uploading-cad.component.html
  16. 5
      src/app/key-unit/uploading-cad/uploading-cad.component.html
  17. 17
      src/app/key-unit/view-unit-details-plan/view-unit-details-plan.component.html
  18. 14
      src/app/key-unit/view-unit-details/view-unit-details.component.html
  19. 5
      src/app/navigation/navigation.component.ts
  20. 2
      src/app/plan-audit/detachment-level/detachment-level.component.html
  21. 2
      src/app/plan-audit/detachment-level/detachment-level.component.ts
  22. 2
      src/app/plan-audit/plan-audit/plan-audit.component.html
  23. 2
      src/app/plan-audit/plan-audit/plan-audit.component.ts
  24. 5
      src/app/plan-audit/plan-pass/plan-pass.component.html
  25. 25
      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. 4
      src/app/working-area/model/multipointIcon.ts
  60. 4
      src/app/working-area/model/polygonIcon.ts
  61. 68
      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 { LoginComponent } from './pages/login/login.component';
import { NavigationComponent } from './navigation/navigation.component';
import { LockscreenComponent } from './pages/lockscreen/lockscreen.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 = [
{path:'',redirectTo:'login',pathMatch:'full'},
{
path:'',
component:NavigationComponent,
canActivate: [AuthGuard],//守卫验证
path:'',component:NavigationComponent,canActivate: [AuthGuard],//守卫验证
children:[
{path:'ui',loadChildren:() => import('./ui/ui.module').then(m => m.UiModule)},
{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:'login',
component:LoginComponent},
{path:'getNoMToken',
component:MTokenK1Component, canActivate: [AuthGuard],}, //K1秘钥验证失败是跳转页面
{path:'lockscreen',
component:LockscreenComponent,
canActivate: [AuthGuard]}//守卫验证
{path:'login',component:LoginComponent},
{path:'getNoMToken',component:MTokenK1Component, canActivate: [AuthGuard],}, //K1秘钥验证失败是跳转页面
];
@NgModule({

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

@ -8,7 +8,6 @@ import { GameMode } from './working-area/model/gameMode';
export class CanvasShareDataService {
constructor() { }
private _sendMessage: ReplaySubject<any> = new ReplaySubject<any>(1);
GameMode: any;
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="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="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>
<div style="display: flex; margin-top: 10px;margin-left:8px"">

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

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

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

@ -10,7 +10,6 @@
<mat-tab label="2.平面图">
<ng-template matTabContent>
<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>
</mat-tab>
<mat-tab label="3.四周毗邻">
@ -43,15 +42,10 @@
<app-uploading-cad></app-uploading-cad>
</ng-template>
</mat-tab>
<mat-tab label="9.六熟悉记录">
<!-- <mat-tab label="9.unity平面图">
<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>
</mat-tab>
<mat-tab label="10.实战演练记录">
<ng-template matTabContent>
功能开发中~~
</ng-template>
</mat-tab>
</mat-tab> -->
</mat-tab-group>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@ -1,9 +1,5 @@
<div style="height: 100%; overflow-y: auto;">
<div class="header">
<!-- <button mat-raised-button color="primary" (click)="openReadFile()" *ngIf="!uploadisLoading">上传</button>
<button mat-raised-button color="primary" (click)='readFile()' *ngIf="!downloadisLoading">下载</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">
<button mat-raised-button style="margin-right: 5px;" (click)="cancel()">取消上传</button>
<span style="font-size: 12px;">上传中...</span>
@ -18,7 +14,7 @@
</div>
<div style="overflow-y: auto;height: 90%; padding: 10px; box-sizing: border-box;overflow-x: hidden;">
<div style="padding: 10px;">
<table mat-table [dataSource]="CADList">
<ng-container matColumnDef="checked">
@ -62,3 +58,5 @@
</table>
<p style="width: 100px; margin: 30px auto; text-align: center;" *ngIf="!CADList.length">暂无数据</p>
</div>
</div>

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

@ -1,3 +1,4 @@
<div style="height: 100%; overflow-y: auto;">
<div class="header">
<button mat-raised-button color="primary" (click)="openReadFile()" *ngIf="!uploadisLoading">上传</button>
<button mat-raised-button color="primary" (click)='readFile()' *ngIf="!downloadisLoading">下载</button>
@ -18,7 +19,7 @@
</div>
<div style="overflow-y: auto;height: 90%; padding: 10px; box-sizing: border-box;overflow-x: hidden;">
<div style="padding: 10px;">
<table mat-table [dataSource]="CADList">
<ng-container matColumnDef="checked">
@ -62,3 +63,5 @@
</table>
<p style="width: 100px; margin: 30px auto; text-align: center;" *ngIf="!CADList.length">暂无数据</p>
</div>
</div>

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

14
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.基本信息">
<ng-template matTabContent>
<app-basicinfo-look></app-basicinfo-look>
@ -6,7 +6,6 @@
</mat-tab>
<mat-tab label="2.平面图">
<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>
</ng-template>
</mat-tab>
@ -40,15 +39,10 @@
<app-uploading-cad-look></app-uploading-cad-look>
</ng-template>
</mat-tab>
<mat-tab label="9.六熟悉记录">
<!-- <mat-tab label="9.unity平面图">
<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>
</mat-tab>
<mat-tab label="10.实战演练记录">
<ng-template matTabContent>
功能开发中~~
</ng-template>
</mat-tab>
</mat-tab> -->
</mat-tab-group>

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

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

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

@ -1,3 +1,4 @@
<div style="height: 100%; overflow-y: auto;">
<div class="header">
<form (ngSubmit)="onSubmit(form.value)" #form="ngForm">
<div class="queryBox">
@ -159,3 +160,4 @@
</mat-paginator>
</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) {
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`);
}
//预案公开

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

@ -1,3 +1,4 @@
<div style="height: 100%; overflow-y: auto;">
<div class="header">
<form (ngSubmit)="onSubmit(form.value)" #form="ngForm">
<div class="queryBox">
@ -171,3 +172,4 @@
</mat-paginator>
</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) {
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`);
}
//预案公开

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

@ -1,3 +1,4 @@
<div style="height: 100%; overflow: hidden;">
<mat-accordion>
<mat-expansion-panel disabled>
@ -10,7 +11,7 @@
</div>
<div class="planBox">
<span>消防救援站: </span>
<span>{{compantData.organizationName?compantData.organizationName : '暂无数据'}}</span>
<span>{{organizationName}}</span>
</div>
<div class="planBox">
<span>单位类型: </span>
@ -63,3 +64,5 @@
</div>
</div>
</div>

25
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,
public snackBar: MatSnackBar,private sanitizer: DomSanitizer) { }
type:any //审核按钮是否出现
ngOnInit(): void {
this.type = this.route.snapshot.queryParams.type
this.getCompanyData()
this.getPlanData()
}
type:any //审核按钮是否出现
displayedColumns: string[] = ['filename','addtime','operation']; //表头
compantData:any = {name:'',organizationName: '', buildingTypes:[{name:''}], address:''}; //当前单位信息
organizationName:any = ''; //组织机构名称
planData:any; //审核预案信息
//获取当前单位信息
getCompanyData () {
let header = {
CompanyName: this.route.snapshot.queryParams.companyName || '',
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 } });
this.http.get(`/api/Plans/${this.route.snapshot.queryParams.id}`).subscribe((data:any)=>{
data && data.company? this.compantData = data.company : null
})
}
@ -62,19 +56,24 @@ export class PlanPassComponent implements OnInit {
AuditStatus: this.route.snapshot.queryParams.auditStatus || '',
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 => {
if (element.id===this.route.snapshot.queryParams.auditPlanId) {
this.planData = element
this.organizationName = element.committerOrganizationName
this.handleData()
return } });
return
}
});
})
}
planType:any; //展示预案类型
allFile:any = []; //类型=0时所有文件
thirdPartyURL:any; //类型=3时网址
handleData () {
this.planType = this.planData.planMode
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){
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`);
window.open(`/planAudit/planpass?id=${element.companyId}&companyName=${element.companyName}&auditPlanId=${element.id}&auditStatus=${element.auditStatus}&type=6&planType=2`);
}
//分页事件
chagePage(e){

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

@ -169,12 +169,10 @@ export class PassPlanComponent implements OnInit {
}
)
}
//跳转查看预案页面
//跳转查看预案页面 审核通过预案
routerTo(element){
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`);
window.open(`/planAudit/planpass?id=${element.companyId}&companyName=${element.companyName}&auditPlanId=${element.id}&auditStatus=${element.auditStatus}&type=6&planType=1`);
}
//分页事件
chagePage(e){

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

@ -8,7 +8,7 @@
}
#indexBzt{
width: 100%;
height: 93%;
height: 100%;
padding-top: 3%;
display: flex;
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{
width: 100%;
height: 92%;
height: 100%;
display: flex;
flex-direction: column;
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{
width: 100%;
height: 92%;
height: 100%;
display: flex;
flex-direction: column;
overflow: hidden;

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

@ -1,6 +1,6 @@
.box{
width: 100%;
height: 92%;
height: 100%;
display: flex;
flex-direction: column;
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{
width: 100%;
height: 92%;
height: 100%;
display: flex;
flex-direction: column;
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{
width: 100%;
height: 92%;
height: 100%;
display: flex;
flex-direction: column;
overflow: hidden;

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

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

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

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

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

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

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

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

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

@ -6,4 +6,4 @@
* @LastEditors: sueRimn
* @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{
width: 100%;
height: 92%;
height: 100%;
display: flex;
flex-direction: column;
overflow: hidden;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@ -1,6 +1,6 @@
.content {
width: 100%;
height: 93%;
height: 100%;
display: flex;
flex-direction: column;
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-node *matTreeNodeDef="let node" matTreeNodePadding>
<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 {
margin: 0 0 0 10px;
width: 100%;
height: 90%;
height: 100%;
overflow-y: auto;
display: flex;
.leftBox {

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

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

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

@ -1,7 +1,7 @@
.content {
padding: 0 0 0 10px;
width: 100%;
height: 90%;
height: 100%;
overflow-x: hidden;
overflow-y: auto;
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-node *matTreeNodeDef="let node" matTreeNodePadding>
<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>
<table mat-table [dataSource]="dataSource">

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

@ -1,7 +1,7 @@
.content {
margin: 0 0 0 10px;
width: 100%;
height: 90%;
height: 100%;
overflow-x: hidden;
overflow-y: auto;
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 { AxShape } from './axShape';
import { Sprite } from 'pixi.js';
import { GameMode } from './gameMode';
/**
*
@ -50,6 +51,7 @@ export class AxArrowConnector extends AxShape {
this.sortableChildren = true;
this.text.zIndex = this.children.length;
this.text.visible = this.showName;
this.text.angle = -this.workingArea.backgroundImage.angle;
}
public drawPoints() {
@ -115,11 +117,16 @@ export class AxArrowConnector extends AxShape {
}
// 设置缩放
public setItemScale(scale: number) {
this.text.scale.set(scale);
// this.text.scale.set(scale);
this.pointSprites.forEach(point => {
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();
// }
// }
this.text.angle = -this.workingArea.backgroundImage.angle;
}
paintMarker(c: PIXI.Graphics, ptX: number, ptY: number, nx: number, ny: number,
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;
constructor(assetData: any, workingArea: WorkingAreaComponent) {
super(assetData, workingArea);
this.angle = -this.workingArea.backgroundImage.angle;
this.x = this.assetData.Point.x;
this.y = this.assetData.Point.y;
this.name = this.assetData.Id;
@ -185,7 +186,7 @@ export class AxImageShape extends AxShape {
if (this.assetData.FixedSize) {
this.scale.set(scale);
} else {
this.text.scale.set(scale);
// this.text.scale.set(scale);
this.upLeft.scale.set(scale);
this.upRight.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.text.x = this.image.x;
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>) {
super(assetData, workingArea);
this.angle = -this.workingArea.backgroundImage.angle;
this.name = this.assetData.Id;
this.shapeMap = shapeMap;
this.refresh();
@ -42,15 +43,15 @@ export class AxLegend extends AxShape {
refresh() {
this.removeChildren();
let index = 1;
let offset = 50;
let number = 2;
let width = 450;
let height = 100;
let offset = 25;
let number = this.assetData.PropertyInfos[0].PropertyValue;
let width = 300;
let height = 50;
for (let i = 0; i < number; i++){
if (i >= this.shapeMap.size) break;
let x = width * i;
var textImage = new Text('图例',{
fontSize: 36,
fontSize: 20,
fill: ['#0000ff'],
});
textImage.anchor.set(0.5)
@ -59,7 +60,7 @@ export class AxLegend extends AxShape {
this.addChild(textImage);
var textName = new Text("名称"+' 【数量】',{
fontSize: 36,
fontSize: 20,
fill: ['#0000ff'],
});
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 y = Math.ceil(index / number) * height;
let image: Sprite = Sprite.from(item.ImageUrl);
image.width = 64;
image.height = 64;
image.width = 32;
image.height = 32;
image.anchor.set(0.5);
image.x = x;
image.y = y;
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.x = x + image.width/2 + offset;
textName.y = y;
@ -89,7 +92,7 @@ export class AxLegend extends AxShape {
let rect = this.getLocalBounds();
this.pen.clear();
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.lineTo(rect.right+offset, rect.top-offset);
this.pen.lineTo(rect.right+offset, rect.bottom+offset);
@ -98,6 +101,7 @@ export class AxLegend extends AxShape {
this.pen.endFill();
}
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 refresh() {
this.angle = -this.workingArea.backgroundImage.angle;
}
}

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

@ -46,6 +46,7 @@ export class MultipointIcon extends AxShape {
this.text.anchor.set(0.5,0.5);
// this.text.position = this.getLineCenter(this.pointsData[0], this.pointsData[1]);
this.text.visible = this.showName;
this.text.angle = -this.workingArea.backgroundImage.angle;
this.addChild(this.text);
// 画线图标
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) {
this.text.scale.set(scale);
// this.text.scale.set(scale);
this.pointsGraphics.forEach((item, index, array) => {
item.scale.set(scale);
});
@ -198,5 +199,6 @@ export class MultipointIcon extends AxShape {
this.text.text = this.assetData.Name
+ '\r\n'
+ 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.position = this.calculatePolygonGravityCenter(this.pointsData);
this.text.visible = this.showName;
this.text.angle = -this.workingArea.backgroundImage.angle;
// console.log(this.calculatePolygonGravityCenter(this.pointsData));
this.polygonGraphics.addChild(this.text);
// 添加圆点事件
@ -156,7 +157,7 @@ export class PolygonIcon extends AxShape {
}
// 设置缩放
public setItemScale(scale: number) {
this.text.scale.set(scale);
// this.text.scale.set(scale);
this.pointsGraphics.forEach(point => {
point.scale.set(scale);
});
@ -194,5 +195,6 @@ export class PolygonIcon extends AxShape {
this.polygonGraphics.beginFill(color, angle);
this.polygonGraphics.drawPolygon(this.getPoints());
this.polygonGraphics.endFill();
this.text.angle = -this.workingArea.backgroundImage.angle;
}
}

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

@ -141,7 +141,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
// Beta版: 该版本相对于α版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过多次测试来进一步消除,此版本主要的修改对像是软件的UI。
// RC版: 该版本已经相当成熟了,基本上不存在导致错误的BUG,与即将发行的正式版相差无几。
// Release版: 该版本意味“最终版本”,在前面版本的一系列测试版之后,终归会有一个正式版本,是最终交付用户使用的一个版本。该版本有时也称为标准版。一般情况下,Release不会以单词形式出现在软件封面上,取而代之的是符号®。
public VERSION = '1.0.0.20210107_beta';
public VERSION = '1.0.4.20210109_beta';
/**
*
*/
@ -354,6 +354,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
*
*/
this.on('createIcon', (axShape: AxShape) => {
console.log("新增图标:"+axShape.assetData.Name);
if (axShape.assetData.GameMode === GameMode.BasicInformation) { // 基本信息
// 添加楼层数据
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);
temp.addItem(itemLegend);
}
this.emit('canvasDataChanged');
this.canvasData.isChange = true;
});
/**
@ -420,6 +422,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
// }
this.backgroundImage.removeChild(axShape);
this.emit('canvasDataChanged');
this.canvasData.isChange = true;
});
}
@ -442,6 +445,8 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
item.setNameVisible(value, mode);
} else if (item instanceof PolygonIcon) {
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();
} else if (icon instanceof AxArrowConnector) {
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);
});
}
// /**
// * 创建背景图
// */
// 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
.on('pointerdown', event => {
if (event.data.button !== 0) return;
if (!event.currentTarget.dragging && this.selection.isMultiselection === false) {
this.selection.deselectAll();
event.currentTarget.data = event.data;
@ -662,6 +659,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
if (this.paintPoints.length >= 2) {
this.enterPaintEndButton.position = this.circleShadow.position;
this.enterPaintEndButton.visible = true;
this.enterPaintEndButton.zIndex = this.backgroundImage.children.length;
}
if (this.paintingIcon !== null) {
@ -719,6 +717,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
this.enterPaintEndButton.position = this.circleShadow.position;
} else if (this.paintPoints.length >= 3) {
this.enterPaintEndButton.visible = true;
this.enterPaintEndButton.zIndex = this.backgroundImage.children.length;
}
this.paintPoints.forEach((value, index, array) => {
if (index === 0) {
@ -747,6 +746,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
this.previewLineSegment.visible = true;
this.enterPaintEndButton.position = this.circleShadow.position;
this.enterPaintEndButton.visible = true;
this.enterPaintEndButton.zIndex = this.backgroundImage.children.length;
this.currentClickPoint.position = 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) {
@ -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> {
if (!imageUrl) {
if (imageUrl === undefined || imageUrl === null || imageUrl === "") {
this.backgroundImage.visible = false;
} else {
this.backgroundImage.visible = false;
@ -907,6 +907,12 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
let scale = wScale < hScale ? wScale : hScale;
// 设置图片缩放
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
*/
public async refresh(imageUrl: string = this.canvasData.selectStorey.imageUrl, imageAngle: number = this.canvasData.selectStorey.imageAngle): Promise<void> {
this.backgroundImage.visible = false;
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);
await this.refreshBackgroundImage();
// 清空所有图形
this.selection.deselectAll();
let itemList = [];
@ -951,7 +942,6 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
// 创建处置预案图形
this.createNodeShape(this.canvasData.selectPanelPoint.Data);
this.createAxLegend();
this.backgroundImage.visible = true;
}
/**
*
@ -960,7 +950,21 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
const tempAssetData = {
Id: "图例",//ObjectID.default.generate()
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>();

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 .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; }

Loading…
Cancel
Save