邵佳豪 4 years ago
parent
commit
2583ab8a21
  1. 65
      src/app/canvas-share-data.service.ts
  2. 9
      src/app/ui/plan-assistance/plan-assistance.component.html
  3. 24
      src/app/ui/plan-assistance/plan-assistance.component.scss
  4. 313
      src/app/ui/plan-assistance/plan-assistance.component.ts
  5. 74
      src/app/working-area/working-area.component.ts

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

@ -19,16 +19,16 @@ export class CanvasShareDataService {
originaleveryStoreyData: any; // 总平面图/楼层/区域 楼层数据 originaleveryStoreyData: any; // 总平面图/楼层/区域 楼层数据
// 总平面图/建筑 楼层 // 总平面图/建筑 楼层
//处置 节点 // 处置 节点
allDisposalNode:any = []; //所有 处置节点 allDisposalNode: any = []; // 所有 处置节点
allNodeMarkers:any; //灾情 标签信息 allNodeMarkers: any; // 灾情 标签信息
selectPanelPoint:any = {disposalNodeId:''}; //选择当前 数据节点 selectPanelPoint: any = {disposalNodeId: ''}; // 选择当前 数据节点
selectPanelPointBaseData:any = {description: '', notes: '',weather: '',airTemperature: '',windDirection: '',windScale: ''}; //当前 数据节点 所对应的 天气,详情 数据节点 selectPanelPointBaseData: any = {description: '', notes: '', weather: '', airTemperature: '', windDirection: '', windScale: ''}; // 当前 数据节点 所对应的 天气,详情 数据节点
//处置 节点 // 处置 节点
//预案赋能 选择 车辆 // 预案赋能 选择 车辆
selectCar:any = {Id: '', WaterYield: '', Foam: '', PeopleNum: '', Tonnage: '', Assignment: '', LinkCar: '', WaterOccupy: ''} selectCar: any = {Id: '', WaterYield: '', Foam: '', PeopleNum: '', Tonnage: '', Assignment: '', LinkCar: '', WaterOccupy: ''};
//预案赋能 选择 车辆 // 预案赋能 选择 车辆
/** /**
* *
@ -67,23 +67,48 @@ export class CanvasShareDataService {
[ 'DCS控制室', 'DCS控制室'] [ 'DCS控制室', 'DCS控制室']
]); ]);
/** * *
* @param message * @returns {Observavle<any>} */ public getLinkCarName(car: any): any[] {
public sendMessage(message: any){ const linkCar = [];
car.assetData.Pipelines.forEach(pipeline => {
const icon = pipeline.assetData.LinkedObjects.find(i => i.assetData !== car);
if (icon.assetData.Type === 1) {
linkCar.push(icon.assetData.Name);
}
});
return linkCar;
}
public getWaterOccupyName(car: any): any[] {
const waterOccupy = [];
car.assetData.Pipelines.forEach(pipeline => {
const icon = pipeline.assetData.LinkedObjects.find(i => i.assetData !== car);
if (icon.assetData.Type === 0) {
car.assetData.WaterOccupy.push(icon.assetData.Name);
}
});
return waterOccupy;
}
/**
* *
* @param message
* @returns {Observavle<any>}
*/
public sendMessage(message: any) {
this._sendMessage.next(message); this._sendMessage.next(message);
} }
public getMessage(): Observable <any>{ public getMessage(): Observable <any> {
return this._sendMessage.asObservable(); return this._sendMessage.asObservable();
} }
// 处置节点 筛选出 匹配数据 匹配不到 return undefined // 处置节点 筛选出 匹配数据 匹配不到 return undefined
findDisposalNode (parentId:string=null, name:string=null) { findDisposalNode(parentId: string= null, name: string= null) {
if (parentId && name) { //匹配 父id, name if (parentId && name) { // 匹配 父id, name
let returnData = this.allDisposalNode.find(item=>{ return item.parentId === parentId && item.name === name }) const returnData = this.allDisposalNode.find(item => item.parentId === parentId && item.name === name);
return returnData return returnData;
} else { //匹配 id } else { // 匹配 id
let returnData = this.allDisposalNode.find(item=>{ return item.id === parentId }) const returnData = this.allDisposalNode.find(item => item.id === parentId);
return returnData return returnData;
} }
} }
/** /**

9
src/app/ui/plan-assistance/plan-assistance.component.html

@ -1,6 +1,7 @@
<div class="content"> <div class="content">
<!-- [ngClass]="{closeLeft: !rightIsShow,openLeft: rightIsShow}" -->
<div class="left"> <div class="left">
<div class="header leftHeader">到场力量</div> <div class="header leftHeader" style="overflow: hidden;">到场力量</div>
<div class="list"> <div class="list">
<div class="tableDiv"> <div class="tableDiv">
<div class="tableRows" *ngFor="let item of allCarsData;let key = index" (click)='selectCar(item)' [ngClass]="{selectIcon: selectCarID == item.Id}"> <div class="tableRows" *ngFor="let item of allCarsData;let key = index" (click)='selectCar(item)' [ngClass]="{selectIcon: selectCarID == item.Id}">
@ -11,7 +12,7 @@
<div class="countdown" style="color: #37f76D;" *ngIf="item.ReachTime < 1">已到场</div> <div class="countdown" style="color: #37f76D;" *ngIf="item.ReachTime < 1">已到场</div>
<div class="countdown" *ngIf="item.ReachTime > 0"> <div class="countdown" *ngIf="item.ReachTime > 0">
<label [ngClass]="{smallFive: item.ReachTime<=300,bigTen: item.ReachTime>300}"> <label [ngClass]="{smallFive: item.ReachTime<=300,bigTen: item.ReachTime>300}">
<countdown #key [config]="{leftTime: item.ReachTime,notify: [299],format: 'm分钟'}" (event)="handleEvent($event,item)"></countdown> <countdown #key [config]="{leftTime: item.ReachTime,notify: [299],format: 'm:ss内到场'}" (event)="handleEvent($event,item)"></countdown>
</label> </label>
</div> </div>
</div> </div>
@ -68,8 +69,8 @@
<p> <p>
<input type="text" class="taskInput" [(ngModel)]="canvasData.selectCar.Assignment"> <input type="text" class="taskInput" [(ngModel)]="canvasData.selectCar.Assignment">
</p> </p>
<p>{{canvasData.selectCar.LinkCar}}</p> <p title="{{canvasData.selectCar.LinkCar}}">{{canvasData.selectCar.LinkCar}}</p>
<p>{{canvasData.selectCar.WaterOccupy}}</p> <p title="{{canvasData.selectCar.WaterOccupy}}">{{canvasData.selectCar.WaterOccupy}}</p>
</div> </div>
</div> </div>
<div style="flex: 10%;text-align: center;line-height: 70px;"> <div style="flex: 10%;text-align: center;line-height: 70px;">

24
src/app/ui/plan-assistance/plan-assistance.component.scss

@ -40,7 +40,7 @@
.left { .left {
width: 300px; width: 300px;
height: 100%; height: 100%;
min-width: 250px; min-width: 200px;
box-sizing: border-box; box-sizing: border-box;
padding: 1px; padding: 1px;
display: flex; display: flex;
@ -77,6 +77,16 @@
} }
} }
} }
//打开关闭左侧 车辆
.openLeft {
width: 300px;
transition: width 0.5s;
}
.closeLeft {
width: 0px;
min-width: 0px;
transition: width 0.5s;
}
//选中状态 //选中状态
.selectIcon { .selectIcon {
@ -94,6 +104,7 @@
//右侧工作区 //右侧工作区
.center { .center {
flex: 1; flex: 1;
min-width: 810px;
box-sizing: border-box; box-sizing: border-box;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@ -123,7 +134,16 @@
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
p { flex: 1; text-align: center; line-height: 35px; } p {
color: #fff;
flex: 1;
text-align: center;
line-height: 35px;
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
cursor: pointer;
}
} }
.taskInput { .taskInput {
width: 100px; width: 100px;

313
src/app/ui/plan-assistance/plan-assistance.component.ts

@ -20,6 +20,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f670ceae03abe3856d87d3e', Id: '5f670ceae03abe3856d87d3e',
Name: '消防泵房', Name: '消防泵房',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '80', Color: '80',
Point: { Point: {
x: 538.0725371265185, x: 538.0725371265185,
@ -115,6 +117,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f670dd3e03abe3856d87d3f', Id: '5f670dd3e03abe3856d87d3f',
Name: '地上消火栓', Name: '地上消火栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: -854.3835678799273, x: -854.3835678799273,
@ -254,6 +258,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f6711f5e03abe3856d87d43', Id: '5f6711f5e03abe3856d87d43',
Name: '泡沫栓', Name: '泡沫栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: -539.9645631808662, x: -539.9645631808662,
@ -354,6 +360,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f67128ae03abe3856d87d44', Id: '5f67128ae03abe3856d87d44',
Name: '地上消火栓', Name: '地上消火栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: -563.1123674185176, x: -563.1123674185176,
@ -495,6 +503,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f671330e03abe3856d87d45', Id: '5f671330e03abe3856d87d45',
Name: '地上消火栓', Name: '地上消火栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: -51.57937113008251, x: -51.57937113008251,
@ -636,6 +646,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f671341e03abe3856d87d47', Id: '5f671341e03abe3856d87d47',
Name: '地上消火栓', Name: '地上消火栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 299.11560093170795, x: 299.11560093170795,
@ -777,6 +789,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f671357e03abe3856d87d49', Id: '5f671357e03abe3856d87d49',
Name: '地上消火栓', Name: '地上消火栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 500.9012712134421, x: 500.9012712134421,
@ -918,6 +932,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f67136fe03abe3856d87d4a', Id: '5f67136fe03abe3856d87d4a',
Name: '地上消火栓', Name: '地上消火栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 88.60901628649833, x: 88.60901628649833,
@ -1059,6 +1075,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f671382e03abe3856d87d4b', Id: '5f671382e03abe3856d87d4b',
Name: '地上消火栓', Name: '地上消火栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 1089.647824545333, x: 1089.647824545333,
@ -1200,6 +1218,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f671396e03abe3856d87d4c', Id: '5f671396e03abe3856d87d4c',
Name: '地上消火栓', Name: '地上消火栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 916.5868780327887, x: 916.5868780327887,
@ -1341,6 +1361,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f6713afe03abe3856d87d4d', Id: '5f6713afe03abe3856d87d4d',
Name: '地上消火栓', Name: '地上消火栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 1267.7987988964815, x: 1267.7987988964815,
@ -1482,6 +1504,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f6713c0e03abe3856d87d4e', Id: '5f6713c0e03abe3856d87d4e',
Name: '地上消火栓', Name: '地上消火栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 1507.3371984219418, x: 1507.3371984219418,
@ -1623,6 +1647,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f671412e03abe3856d87d4f', Id: '5f671412e03abe3856d87d4f',
Name: '地上消火栓', Name: '地上消火栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 2114.4400960509874, x: 2114.4400960509874,
@ -1764,6 +1790,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f671425e03abe3856d87d50', Id: '5f671425e03abe3856d87d50',
Name: '地上消火栓', Name: '地上消火栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 1936.2891216998387, x: 1936.2891216998387,
@ -1905,6 +1933,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f671434e03abe3856d87d51', Id: '5f671434e03abe3856d87d51',
Name: '地上消火栓', Name: '地上消火栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 1656.3375905766052, x: 1656.3375905766052,
@ -2046,6 +2076,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f671441e03abe3856d87d52', Id: '5f671441e03abe3856d87d52',
Name: '地上消火栓', Name: '地上消火栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 1155.818186447188, x: 1155.818186447188,
@ -2187,6 +2219,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f67144de03abe3856d87d53', Id: '5f67144de03abe3856d87d53',
Name: '地上消火栓', Name: '地上消火栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 2915.2711426580545, x: 2915.2711426580545,
@ -2328,6 +2362,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f67145be03abe3856d87d54', Id: '5f67145be03abe3856d87d54',
Name: '地上消火栓', Name: '地上消火栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 2913.5744667118533, x: 2913.5744667118533,
@ -2469,6 +2505,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f67146ee03abe3856d87d55', Id: '5f67146ee03abe3856d87d55',
Name: '地上消火栓', Name: '地上消火栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 2096.1298123494207, x: 2096.1298123494207,
@ -2610,6 +2648,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f671481e03abe3856d87d56', Id: '5f671481e03abe3856d87d56',
Name: '地上消火栓', Name: '地上消火栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 1901.6453605180648, x: 1901.6453605180648,
@ -2751,6 +2791,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f67148be03abe3856d87d57', Id: '5f67148be03abe3856d87d57',
Name: '地上消火栓', Name: '地上消火栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 1354.5242652562279, x: 1354.5242652562279,
@ -2892,6 +2934,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f6714ade03abe3856d87d58', Id: '5f6714ade03abe3856d87d58',
Name: '地上消火栓', Name: '地上消火栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 1160.7655915494565, x: 1160.7655915494565,
@ -3033,6 +3077,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f6714bde03abe3856d87d59', Id: '5f6714bde03abe3856d87d59',
Name: '地上消火栓', Name: '地上消火栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 993.7723947424533, x: 993.7723947424533,
@ -3174,6 +3220,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f6714c5e03abe3856d87d5a', Id: '5f6714c5e03abe3856d87d5a',
Name: '地上消火栓', Name: '地上消火栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 577.8951065403974, x: 577.8951065403974,
@ -3315,6 +3363,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f6714d4e03abe3856d87d5b', Id: '5f6714d4e03abe3856d87d5b',
Name: '地上消火栓', Name: '地上消火栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 126.55162198821722, x: 126.55162198821722,
@ -3456,6 +3506,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f6714ebe03abe3856d87d5c', Id: '5f6714ebe03abe3856d87d5c',
Name: '地上消火栓', Name: '地上消火栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: -179.95583881318612, x: -179.95583881318612,
@ -3597,6 +3649,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f6714ffe03abe3856d87d5d', Id: '5f6714ffe03abe3856d87d5d',
Name: '地上消火栓', Name: '地上消火栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: -435.1702143376199, x: -435.1702143376199,
@ -3738,6 +3792,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f67158fe03abe3856d87d5e', Id: '5f67158fe03abe3856d87d5e',
Name: '泡沫栓', Name: '泡沫栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: -5.796097596718141, x: -5.796097596718141,
@ -3840,6 +3896,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f67165ce03abe3856d87d5f', Id: '5f67165ce03abe3856d87d5f',
Name: '泡沫栓', Name: '泡沫栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 462.9058952959447, x: 462.9058952959447,
@ -3942,6 +4000,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f671670e03abe3856d87d60', Id: '5f671670e03abe3856d87d60',
Name: '泡沫栓', Name: '泡沫栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 1155.2026113881834, x: 1155.2026113881834,
@ -4044,6 +4104,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f67167ee03abe3856d87d61', Id: '5f67167ee03abe3856d87d61',
Name: '泡沫栓', Name: '泡沫栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 1218.8312292956107, x: 1218.8312292956107,
@ -4146,6 +4208,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f671690e03abe3856d87d62', Id: '5f671690e03abe3856d87d62',
Name: '泡沫栓', Name: '泡沫栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 1561.5581030242533, x: 1561.5581030242533,
@ -4248,6 +4312,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f67169de03abe3856d87d63', Id: '5f67169de03abe3856d87d63',
Name: '泡沫栓', Name: '泡沫栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 1046.7447399550688, x: 1046.7447399550688,
@ -4350,6 +4416,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f6716bce03abe3856d87d64', Id: '5f6716bce03abe3856d87d64',
Name: '泡沫栓', Name: '泡沫栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 2115.4162998093598, x: 2115.4162998093598,
@ -4452,6 +4520,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f6716c9e03abe3856d87d65', Id: '5f6716c9e03abe3856d87d65',
Name: '泡沫栓', Name: '泡沫栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 2915.112338509526, x: 2915.112338509526,
@ -4554,6 +4624,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f6716e0e03abe3856d87d66', Id: '5f6716e0e03abe3856d87d66',
Name: '泡沫栓', Name: '泡沫栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 1988.5158013887126, x: 1988.5158013887126,
@ -4656,6 +4728,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f6716f6e03abe3856d87d67', Id: '5f6716f6e03abe3856d87d67',
Name: '泡沫栓', Name: '泡沫栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 2975.3868020413206, x: 2975.3868020413206,
@ -4758,6 +4832,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f671701e03abe3856d87d68', Id: '5f671701e03abe3856d87d68',
Name: '泡沫栓', Name: '泡沫栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 1703.0254066222362, x: 1703.0254066222362,
@ -4860,6 +4936,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f671717e03abe3856d87d69', Id: '5f671717e03abe3856d87d69',
Name: '泡沫栓', Name: '泡沫栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 2092.983870088383, x: 2092.983870088383,
@ -4962,6 +5040,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f671730e03abe3856d87d6a', Id: '5f671730e03abe3856d87d6a',
Name: '泡沫栓', Name: '泡沫栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 1951.9378727440935, x: 1951.9378727440935,
@ -5064,6 +5144,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f67173be03abe3856d87d6b', Id: '5f67173be03abe3856d87d6b',
Name: '泡沫栓', Name: '泡沫栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 1408.1271940944434, x: 1408.1271940944434,
@ -5166,6 +5248,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f671744e03abe3856d87d6c', Id: '5f671744e03abe3856d87d6c',
Name: '泡沫栓', Name: '泡沫栓',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 1160.4571509862274, x: 1160.4571509862274,
@ -5268,6 +5352,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f671767e03abe3856d87d6d', Id: '5f671767e03abe3856d87d6d',
Name: '固定水炮', Name: '固定水炮',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: -592.1952057948927, x: -592.1952057948927,
@ -5355,6 +5441,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f671842e03abe3856d87d6e', Id: '5f671842e03abe3856d87d6e',
Name: '固定水炮', Name: '固定水炮',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: -97.79605019753274, x: -97.79605019753274,
@ -5444,6 +5532,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f671853e03abe3856d87d6f', Id: '5f671853e03abe3856d87d6f',
Name: '固定水炮', Name: '固定水炮',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 1150.6880828651256, x: 1150.6880828651256,
@ -5533,6 +5623,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f671863e03abe3856d87d70', Id: '5f671863e03abe3856d87d70',
Name: '固定水炮', Name: '固定水炮',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 1152.4040527919356, x: 1152.4040527919356,
@ -5622,6 +5714,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f6718dbe03abe3856d87d71', Id: '5f6718dbe03abe3856d87d71',
Name: '固定水炮', Name: '固定水炮',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 1456.632463331941, x: 1456.632463331941,
@ -5711,6 +5805,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f6718ece03abe3856d87d72', Id: '5f6718ece03abe3856d87d72',
Name: '固定水炮', Name: '固定水炮',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 2115.794019501953, x: 2115.794019501953,
@ -5800,6 +5896,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f6718fce03abe3856d87d73', Id: '5f6718fce03abe3856d87d73',
Name: '固定水炮', Name: '固定水炮',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 2918.6189917603, x: 2918.6189917603,
@ -5889,6 +5987,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f67190ce03abe3856d87d74', Id: '5f67190ce03abe3856d87d74',
Name: '固定水炮', Name: '固定水炮',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 1887.6227115969486, x: 1887.6227115969486,
@ -5978,6 +6078,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f671916e03abe3856d87d75', Id: '5f671916e03abe3856d87d75',
Name: '固定水炮', Name: '固定水炮',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 1609.5189625658177, x: 1609.5189625658177,
@ -6067,6 +6169,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f671945e03abe3856d87d76', Id: '5f671945e03abe3856d87d76',
Name: '固定水炮', Name: '固定水炮',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 2095.5215915504127, x: 2095.5215915504127,
@ -6156,6 +6260,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f671954e03abe3856d87d77', Id: '5f671954e03abe3856d87d77',
Name: '固定水炮', Name: '固定水炮',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 1851.9430767861622, x: 1851.9430767861622,
@ -6245,6 +6351,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f67195de03abe3856d87d78', Id: '5f67195de03abe3856d87d78',
Name: '固定水炮', Name: '固定水炮',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 1286.183169018807, x: 1286.183169018807,
@ -6334,6 +6442,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f671978e03abe3856d87d79', Id: '5f671978e03abe3856d87d79',
Name: '固定水炮', Name: '固定水炮',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: 1159.3027504423208, x: 1159.3027504423208,
@ -6423,6 +6533,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f67198ce03abe3856d87d7a', Id: '5f67198ce03abe3856d87d7a',
Name: '固定水炮', Name: '固定水炮',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: -32.3318372843471, x: -32.3318372843471,
@ -6512,6 +6624,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
Id: '5f6719a4e03abe3856d87d7b', Id: '5f6719a4e03abe3856d87d7b',
Name: '固定水炮', Name: '固定水炮',
Angle: 0, Angle: 0,
Pipelines: [],
Type: 0,
Color: '#066eed80', Color: '#066eed80',
Point: { Point: {
x: -276.2867550650558, x: -276.2867550650558,
@ -6598,62 +6712,21 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
InteractiveMode: 0 InteractiveMode: 0
} }
]; ];
tempCarData = {
TemplateId: null,
FloorId: null,
Angle: 0,
Color: 0,
Enabled: true,
FillMode: 0,
FireElementId: 0,
FixedSize: false,
CanConnection: true,
ConnectionObjs: [],
Height: 32,
Width: 32,
Id: '5f67f92238f13cd2048cae9d',
ImageUrl: './assets/images/泡沫消防车.png',
InteractiveMode: 0,
MultiPoint: null,
Point: {
x: 1295,
y: 1237
},
Name: '泡沫消防车',
PropertyInfos: [
{
Enabled: true,
Order: 0,
PhysicalUnit: '',
PropertyName: '名称/编号',
PropertyType: 0,
PropertyValue: '钦南区新兴消防',
Required: false,
RuleName: '',
RuleValue: '',
Tag: '',
Visible: true
}
],
Border: null,
DrawMode: null,
Thickness: 0,
IsFromBuilding: false,
GameMode: 0
};
// 所有车辆信息 // 所有车辆信息
allCarsData = [ allCarsData = [
{ {
TemplateId: null, TemplateId: null,
FloorId: null, FloorId: null,
Angle: 0, Angle: 0,
Pipelines: [],
Type: 1,
Color: 0, Color: 0,
Enabled: true, Enabled: true,
FillMode: 0, FillMode: 0,
FireElementId: 0, FireElementId: 0,
FixedSize: false, FixedSize: false,
CanConnection: true,
ConnectionObjs: [],
Height: 32, Height: 32,
Width: 32, Width: 32,
Id: ObjectID.default.generate(), Id: ObjectID.default.generate(),
@ -6672,8 +6745,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
PeopleNum: 6, // 载人数 PeopleNum: 6, // 载人数
Tonnage: '10t', // 吨位 Tonnage: '10t', // 吨位
Assignment: '供液', // 执行任务 Assignment: '供液', // 执行任务
LinkCar: '', // 连接车辆 LinkCar: [], // 连接车辆
WaterOccupy: '', // 水源占用 WaterOccupy: [], // 水源占用
PropertyInfos: [ PropertyInfos: [
{ {
Enabled: true, Enabled: true,
@ -6699,11 +6772,15 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
TemplateId: null, TemplateId: null,
FloorId: null, FloorId: null,
Angle: 0, Angle: 0,
Pipelines: [],
Type: 1,
Color: 0, Color: 0,
Enabled: true, Enabled: true,
FillMode: 0, FillMode: 0,
FireElementId: 0, FireElementId: 0,
FixedSize: false, FixedSize: false,
CanConnection: true,
ConnectionObjs: [],
Height: 32, Height: 32,
Width: 32, Width: 32,
Id: ObjectID.default.generate(), Id: ObjectID.default.generate(),
@ -6722,8 +6799,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
PeopleNum: 6, // 载人数 PeopleNum: 6, // 载人数
Tonnage: '12t', // 吨位 Tonnage: '12t', // 吨位
Assignment: '灭火', // 执行任务 Assignment: '灭火', // 执行任务
LinkCar: '', // 连接车辆 LinkCar: [], // 连接车辆
WaterOccupy: '', // 水源占用 WaterOccupy: [], // 水源占用
PropertyInfos: [ PropertyInfos: [
{ {
Enabled: true, Enabled: true,
@ -6749,11 +6826,15 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
TemplateId: null, TemplateId: null,
FloorId: null, FloorId: null,
Angle: 0, Angle: 0,
Pipelines: [],
Type: 1,
Color: 0, Color: 0,
Enabled: true, Enabled: true,
FillMode: 0, FillMode: 0,
FireElementId: 0, FireElementId: 0,
FixedSize: false, FixedSize: false,
CanConnection: true,
ConnectionObjs: [],
Height: 32, Height: 32,
Width: 32, Width: 32,
Id: ObjectID.default.generate(), Id: ObjectID.default.generate(),
@ -6772,8 +6853,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
PeopleNum: 6, // 载人数 PeopleNum: 6, // 载人数
Tonnage: '6t', // 吨位 Tonnage: '6t', // 吨位
Assignment: '灭火', // 执行任务 Assignment: '灭火', // 执行任务
LinkCar: '', // 连接车辆 LinkCar: [], // 连接车辆
WaterOccupy: '', // 水源占用 WaterOccupy: [], // 水源占用
PropertyInfos: [ PropertyInfos: [
{ {
Enabled: true, Enabled: true,
@ -6799,11 +6880,15 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
TemplateId: null, TemplateId: null,
FloorId: null, FloorId: null,
Angle: 0, Angle: 0,
Pipelines: [],
Type: 1,
Color: 0, Color: 0,
Enabled: true, Enabled: true,
FillMode: 0, FillMode: 0,
FireElementId: 0, FireElementId: 0,
FixedSize: false, FixedSize: false,
CanConnection: true,
ConnectionObjs: [],
Height: 32, Height: 32,
Width: 32, Width: 32,
Id: ObjectID.default.generate(), Id: ObjectID.default.generate(),
@ -6822,8 +6907,8 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
PeopleNum: 6, // 载人数 PeopleNum: 6, // 载人数
Tonnage: '20t', // 吨位 Tonnage: '20t', // 吨位
Assignment: '灭火', // 执行任务 Assignment: '灭火', // 执行任务
LinkCar: '', // 连接车辆 LinkCar: [], // 连接车辆
WaterOccupy: '', // 水源占用 WaterOccupy: [], // 水源占用
PropertyInfos: [ PropertyInfos: [
{ {
Enabled: true, Enabled: true,
@ -6849,11 +6934,15 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
TemplateId: null, TemplateId: null,
FloorId: null, FloorId: null,
Angle: 0, Angle: 0,
Pipelines: [],
Type: 1,
Color: 0, Color: 0,
Enabled: true, Enabled: true,
FillMode: 0, FillMode: 0,
FireElementId: 0, FireElementId: 0,
FixedSize: false, FixedSize: false,
CanConnection: true,
ConnectionObjs: [],
Height: 32, Height: 32,
Width: 32, Width: 32,
Id: ObjectID.default.generate(), Id: ObjectID.default.generate(),
@ -6866,14 +6955,14 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
}, },
Name: '水罐消防车', Name: '水罐消防车',
FireTeamName: '八塘消防救援站', // 所属消防队 FireTeamName: '八塘消防救援站', // 所属消防队
ReachTime: 240, // 到场剩余时间 ReachTime: 237, // 到场剩余时间
WaterYield: '12t', // 载水量 WaterYield: '12t', // 载水量
Foam: '0t', // 载泡沫 Foam: '0t', // 载泡沫
PeopleNum: 6, // 载人数 PeopleNum: 6, // 载人数
Tonnage: '14t', // 吨位 Tonnage: '14t', // 吨位
Assignment: '冷却', // 执行任务 Assignment: '冷却', // 执行任务
LinkCar: '', // 连接车辆 LinkCar: [], // 连接车辆
WaterOccupy: '', // 水源占用 WaterOccupy: [], // 水源占用
PropertyInfos: [ PropertyInfos: [
{ {
Enabled: true, Enabled: true,
@ -6899,11 +6988,15 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
TemplateId: null, TemplateId: null,
FloorId: null, FloorId: null,
Angle: 0, Angle: 0,
Pipelines: [],
Type: 1,
Color: 0, Color: 0,
Enabled: true, Enabled: true,
FillMode: 0, FillMode: 0,
FireElementId: 0, FireElementId: 0,
FixedSize: false, FixedSize: false,
CanConnection: true,
ConnectionObjs: [],
Height: 32, Height: 32,
Width: 32, Width: 32,
Id: ObjectID.default.generate(), Id: ObjectID.default.generate(),
@ -6916,14 +7009,14 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
}, },
Name: '水罐泡沫消防车', Name: '水罐泡沫消防车',
FireTeamName: '八塘消防救援站', // 所属消防队 FireTeamName: '八塘消防救援站', // 所属消防队
ReachTime: 240, // 到场剩余时间 ReachTime: 249, // 到场剩余时间
WaterYield: '6t', // 载水量 WaterYield: '6t', // 载水量
Foam: '2t', // 载泡沫 Foam: '2t', // 载泡沫
PeopleNum: 6, // 载人数 PeopleNum: 6, // 载人数
Tonnage: '8t', // 吨位 Tonnage: '8t', // 吨位
Assignment: '冷却', // 执行任务 Assignment: '冷却', // 执行任务
LinkCar: '', // 连接车辆 LinkCar: [], // 连接车辆
WaterOccupy: '', // 水源占用 WaterOccupy: [], // 水源占用
PropertyInfos: [ PropertyInfos: [
{ {
Enabled: true, Enabled: true,
@ -6949,11 +7042,15 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
TemplateId: null, TemplateId: null,
FloorId: null, FloorId: null,
Angle: 0, Angle: 0,
Pipelines: [],
Type: 1,
Color: 0, Color: 0,
Enabled: true, Enabled: true,
FillMode: 0, FillMode: 0,
FireElementId: 0, FireElementId: 0,
FixedSize: false, FixedSize: false,
CanConnection: true,
ConnectionObjs: [],
Height: 32, Height: 32,
Width: 32, Width: 32,
Id: ObjectID.default.generate(), Id: ObjectID.default.generate(),
@ -6966,14 +7063,14 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
}, },
Name: '水罐泡沫消防车', Name: '水罐泡沫消防车',
FireTeamName: '八塘消防救援站', // 所属消防队 FireTeamName: '八塘消防救援站', // 所属消防队
ReachTime: 240, // 到场剩余时间 ReachTime: 277, // 到场剩余时间
WaterYield: '3t', // 载水量 WaterYield: '3t', // 载水量
Foam: '1t', // 载泡沫 Foam: '1t', // 载泡沫
PeopleNum: 8, // 载人数 PeopleNum: 8, // 载人数
Tonnage: '5t', // 吨位 Tonnage: '5t', // 吨位
Assignment: '堵截', // 执行任务 Assignment: '堵截', // 执行任务
LinkCar: '', // 连接车辆 LinkCar: [], // 连接车辆
WaterOccupy: '', // 水源占用 WaterOccupy: [], // 水源占用
PropertyInfos: [ PropertyInfos: [
{ {
Enabled: true, Enabled: true,
@ -6999,11 +7096,15 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
TemplateId: null, TemplateId: null,
FloorId: null, FloorId: null,
Angle: 0, Angle: 0,
Pipelines: [],
Type: 1,
Color: 0, Color: 0,
Enabled: true, Enabled: true,
FillMode: 0, FillMode: 0,
FireElementId: 0, FireElementId: 0,
FixedSize: false, FixedSize: false,
CanConnection: true,
ConnectionObjs: [],
Height: 32, Height: 32,
Width: 32, Width: 32,
Id: ObjectID.default.generate(), Id: ObjectID.default.generate(),
@ -7016,14 +7117,14 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
}, },
Name: '举高喷射消防车', Name: '举高喷射消防车',
FireTeamName: '八塘消防救援站', // 所属消防队 FireTeamName: '八塘消防救援站', // 所属消防队
ReachTime: 300, // 到场剩余时间 ReachTime: 310, // 到场剩余时间
WaterYield: '16t', // 载水量 WaterYield: '16t', // 载水量
Foam: '2t', // 载泡沫 Foam: '2t', // 载泡沫
PeopleNum: 4, // 载人数 PeopleNum: 4, // 载人数
Tonnage: '18t', // 吨位 Tonnage: '18t', // 吨位
Assignment: '灭火', // 执行任务 Assignment: '灭火', // 执行任务
LinkCar: '', // 连接车辆 LinkCar: [], // 连接车辆
WaterOccupy: '', // 水源占用 WaterOccupy: [], // 水源占用
PropertyInfos: [ PropertyInfos: [
{ {
Enabled: true, Enabled: true,
@ -7049,11 +7150,15 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
TemplateId: null, TemplateId: null,
FloorId: null, FloorId: null,
Angle: 0, Angle: 0,
Pipelines: [],
Type: 1,
Color: 0, Color: 0,
Enabled: true, Enabled: true,
FillMode: 0, FillMode: 0,
FireElementId: 0, FireElementId: 0,
FixedSize: false, FixedSize: false,
CanConnection: true,
ConnectionObjs: [],
Height: 32, Height: 32,
Width: 32, Width: 32,
Id: ObjectID.default.generate(), Id: ObjectID.default.generate(),
@ -7066,14 +7171,14 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
}, },
Name: '水罐泡沫消防车', Name: '水罐泡沫消防车',
FireTeamName: '龚州消防救援站', // 所属消防队 FireTeamName: '龚州消防救援站', // 所属消防队
ReachTime: 660, // 到场剩余时间 ReachTime: 666, // 到场剩余时间
WaterYield: '6t', // 载水量 WaterYield: '6t', // 载水量
Foam: '2t', // 载泡沫 Foam: '2t', // 载泡沫
PeopleNum: 6, // 载人数 PeopleNum: 6, // 载人数
Tonnage: '8t', // 吨位 Tonnage: '8t', // 吨位
Assignment: '供液', // 执行任务 Assignment: '供液', // 执行任务
LinkCar: '', // 连接车辆 LinkCar: [], // 连接车辆
WaterOccupy: '', // 水源占用 WaterOccupy: [], // 水源占用
PropertyInfos: [ PropertyInfos: [
{ {
Enabled: true, Enabled: true,
@ -7099,11 +7204,15 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
TemplateId: null, TemplateId: null,
FloorId: null, FloorId: null,
Angle: 0, Angle: 0,
Pipelines: [],
Type: 1,
Color: 0, Color: 0,
Enabled: true, Enabled: true,
FillMode: 0, FillMode: 0,
FireElementId: 0, FireElementId: 0,
FixedSize: false, FixedSize: false,
CanConnection: true,
ConnectionObjs: [],
Height: 32, Height: 32,
Width: 32, Width: 32,
Id: ObjectID.default.generate(), Id: ObjectID.default.generate(),
@ -7116,14 +7225,14 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
}, },
Name: '水罐泡沫消防车', Name: '水罐泡沫消防车',
FireTeamName: '龚州消防救援站', // 所属消防队 FireTeamName: '龚州消防救援站', // 所属消防队
ReachTime: 720, // 到场剩余时间 ReachTime: 721, // 到场剩余时间
WaterYield: '5t', // 载水量 WaterYield: '5t', // 载水量
Foam: '1t', // 载泡沫 Foam: '1t', // 载泡沫
PeopleNum: 6, // 载人数 PeopleNum: 6, // 载人数
Tonnage: '7t', // 吨位 Tonnage: '7t', // 吨位
Assignment: '供液', // 执行任务 Assignment: '供液', // 执行任务
LinkCar: '', // 连接车辆 LinkCar: [], // 连接车辆
WaterOccupy: '', // 水源占用 WaterOccupy: [], // 水源占用
PropertyInfos: [ PropertyInfos: [
{ {
Enabled: true, Enabled: true,
@ -7149,11 +7258,15 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
TemplateId: null, TemplateId: null,
FloorId: null, FloorId: null,
Angle: 0, Angle: 0,
Pipelines: [],
Type: 1,
Color: 0, Color: 0,
Enabled: true, Enabled: true,
FillMode: 0, FillMode: 0,
FireElementId: 0, FireElementId: 0,
FixedSize: false, FixedSize: false,
CanConnection: true,
ConnectionObjs: [],
Height: 32, Height: 32,
Width: 32, Width: 32,
Id: ObjectID.default.generate(), Id: ObjectID.default.generate(),
@ -7166,14 +7279,14 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
}, },
Name: '水罐泡沫消防车', Name: '水罐泡沫消防车',
FireTeamName: '龚州消防救援站', // 所属消防队 FireTeamName: '龚州消防救援站', // 所属消防队
ReachTime: 960, // 到场剩余时间 ReachTime: 978, // 到场剩余时间
WaterYield: '3t', // 载水量 WaterYield: '3t', // 载水量
Foam: '1t', // 载泡沫 Foam: '1t', // 载泡沫
PeopleNum: 6, // 载人数 PeopleNum: 6, // 载人数
Tonnage: '5t', // 吨位 Tonnage: '5t', // 吨位
Assignment: '供液', // 执行任务 Assignment: '供液', // 执行任务
LinkCar: '', // 连接车辆 LinkCar: [], // 连接车辆
WaterOccupy: '', // 水源占用 WaterOccupy: [], // 水源占用
PropertyInfos: [ PropertyInfos: [
{ {
Enabled: true, Enabled: true,
@ -7199,11 +7312,15 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
TemplateId: null, TemplateId: null,
FloorId: null, FloorId: null,
Angle: 0, Angle: 0,
Pipelines: [],
Type: 1,
Color: 0, Color: 0,
Enabled: true, Enabled: true,
FillMode: 0, FillMode: 0,
FireElementId: 0, FireElementId: 0,
FixedSize: false, FixedSize: false,
CanConnection: true,
ConnectionObjs: [],
Height: 32, Height: 32,
Width: 32, Width: 32,
Id: ObjectID.default.generate(), Id: ObjectID.default.generate(),
@ -7216,14 +7333,14 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
}, },
Name: '举高喷射消防车', Name: '举高喷射消防车',
FireTeamName: '龚州消防救援站', // 所属消防队 FireTeamName: '龚州消防救援站', // 所属消防队
ReachTime: 960, // 到场剩余时间 ReachTime: 999, // 到场剩余时间
WaterYield: '18t', // 载水量 WaterYield: '18t', // 载水量
Foam: '2t', // 载泡沫 Foam: '2t', // 载泡沫
PeopleNum: 4, // 载人数 PeopleNum: 4, // 载人数
Tonnage: '20t', // 吨位 Tonnage: '20t', // 吨位
Assignment: '灭火', // 执行任务 Assignment: '灭火', // 执行任务
LinkCar: '', // 连接车辆 LinkCar: [], // 连接车辆
WaterOccupy: '', // 水源占用 WaterOccupy: [], // 水源占用
PropertyInfos: [ PropertyInfos: [
{ {
Enabled: true, Enabled: true,
@ -7247,11 +7364,6 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
} }
]; ];
bottomIsShow = false; // 底部车辆信息是否展示
rightIsShow = true; // 右侧楼层是否展示
rightSayIsShow = false; // 右侧语音是否展示
selectCarID:string = ''; // 选中车辆 样式
ngOnInit(): void { ngOnInit(): void {
const that = this; const that = this;
window.setTimeout(() => { window.setTimeout(() => {
@ -7267,21 +7379,30 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
this.dataInit(); this.dataInit();
// 监听canvas组件选中素材事件 // 监听canvas组件选中素材事件
this.workingArea.on("select",obj=>{ this.workingArea.on('select', obj => {
//选中素材属性注入函数 // 选中素材属性注入函数
if (obj && obj.assetData && obj.assetData.ReachTime!=undefined) { if (obj && obj.assetData && obj.assetData.ReachTime != undefined) {
this.canvasData.selectCar = obj.assetData this.selectCarID = JSON.parse(JSON.stringify( obj.assetData.Id || '' )); //选中样式 赋值ID
this.selectCarID = JSON.parse(JSON.stringify( obj.assetData.Id || '' )) let linkCar = this.canvasData.getLinkCarName(obj) //连接车辆
this.bottomIsShow = true let waterOccupy = this.canvasData.getWaterOccupyName(obj) //水源占用
obj.assetData.LinkCar = linkCar //连接车辆
obj.assetData.WaterOccupy = waterOccupy //水源占用
this.canvasData.selectCar = obj.assetData;
this.bottomIsShow = true;
} }
}) });
// 监听canvas组件取消选中素材事件 // 监听canvas组件取消选中素材事件
this.workingArea.on("deselect",obj=>{ this.workingArea.on('deselect', obj => {
this.bottomIsShow = false; this.bottomIsShow = false;
this.selectCarID = '' this.selectCarID = '';
}); });
} }
bottomIsShow:boolean = false; // 底部车辆信息是否展示
rightIsShow:boolean = true; // 右侧楼层是否展示
rightSayIsShow:boolean = false; // 右侧语音是否展示
selectCarID:string = ''; // 选中车辆ID 选中效果css
// 开始绘制 // 开始绘制
plot(e) { plot(e) {
e == 0 ? this.workingArea.beginPaintingArrows() : this.workingArea.beginPaintPipeline(); e == 0 ? this.workingArea.beginPaintingArrows() : this.workingArea.beginPaintPipeline();
@ -7304,12 +7425,12 @@ export class PlanAssistanceComponent implements OnInit, AfterViewInit {
} }
} }
//选择 车辆 // 选择 车辆
selectCar (e,isSelect:boolean = true) { selectCar(e, isSelect: boolean = true) {
if (e.ReachTime == 0) { if (e.ReachTime == 0) {
let list = [] const list = [];
list.push(e.Id) list.push(e.Id);
isSelect? this.workingArea.setHighlight(list) : null isSelect ? this.workingArea.setHighlight(list) : null;
} else if (e.ReachTime && e.ReachTime != 0) { } else if (e.ReachTime && e.ReachTime != 0) {
const config = new MatSnackBarConfig(); const config = new MatSnackBarConfig();
config.verticalPosition = 'top'; config.verticalPosition = 'top';

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

@ -157,7 +157,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
if (event.keyCode === 46) { if (event.keyCode === 46) {
this.selection.objects.forEach(item => { this.selection.objects.forEach(item => {
// 删除 选中的数据 // 删除 选中的数据
if (item.assetData.IsFromBuilding) { if (item.assetData?.IsFromBuilding) {
// console.log(this.canvasData.originaleveryStoreyData.data[item.assetData.Id]); // console.log(this.canvasData.originaleveryStoreyData.data[item.assetData.Id]);
delete this.canvasData.originalcompanyBuildingData?.data[item.assetData.Id]; delete this.canvasData.originalcompanyBuildingData?.data[item.assetData.Id];
// console.log(this.canvasData.originalcompanyBuildingData.data[item.assetData.Id]); // console.log(this.canvasData.originalcompanyBuildingData.data[item.assetData.Id]);
@ -251,7 +251,6 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
// this.createEnterPaintEndButton(); // this.createEnterPaintEndButton();
// this.backgroundImage.addChild(this.paintingLine); // this.backgroundImage.addChild(this.paintingLine);
this.on('select', obj => { this.on('select', obj => {
console.log('选择了' + obj);
if (this.allowEdit) { if (this.allowEdit) {
if (obj instanceof MultipointIcon) { if (obj instanceof MultipointIcon) {
obj.setPointVisiable(true); obj.setPointVisiable(true);
@ -318,7 +317,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
this.rectToolGraphics.closePath(); this.rectToolGraphics.closePath();
} }
if (this.paintingArrows !== null) { if (this.paintingArrows !== null) {
this.paintingArrows.data.pointB = new PIXI.Point(this.circleShadow.position.x, this.circleShadow.position.y); this.paintingArrows.assetData.pointB = new PIXI.Point(this.circleShadow.position.x, this.circleShadow.position.y);
this.paintingArrows.refresh(); this.paintingArrows.refresh();
} }
}); });
@ -776,10 +775,11 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
case PaintMode.Arrows: case PaintMode.Arrows:
if (this.paintingArrows === null) { if (this.paintingArrows === null) {
const data = { const data = {
Id: ObjectID.default.generate(),
name: 'string', name: 'string',
point: new PIXI.Point(this.circleShadow.x, this.circleShadow.y), point: new PIXI.Point(this.circleShadow.x, this.circleShadow.y),
pointA: new PIXI.Point(this.circleShadow.x, this.circleShadow.y), pointA: new PIXI.Point(this.circleShadow.x, this.circleShadow.y),
pointB: new PIXI.Point(this.circleShadow.x, this.circleShadow.y), pointB: new PIXI.Point(this.circleShadow.x, this.circleShadow.y),
source: 'assets/images/进攻方向.png', source: 'assets/images/进攻方向.png',
}; };
this.paintingArrows = new Arrows(data, this); this.paintingArrows = new Arrows(data, this);
@ -1162,12 +1162,6 @@ export class SinglePointIcon extends PIXI.Container {
+ '\r\n' + '\r\n'
+ this.assetData.PropertyInfos?.find(item => item.PropertyName === '名称/编号')?.PropertyValue, this.style); + this.assetData.PropertyInfos?.find(item => item.PropertyName === '名称/编号')?.PropertyValue, this.style);
private image = PIXI.Sprite.from(this.assetData.ImageUrl); private image = PIXI.Sprite.from(this.assetData.ImageUrl);
// 是否可以被链接
canConnection = false;
// 链接对象
connectionObjs: any[] = [];
// 链接的管线
pipelines: any[] = [];
constructor(public assetData: any, private workingArea: WorkingAreaComponent) { constructor(public assetData: any, private workingArea: WorkingAreaComponent) {
super(); super();
@ -1176,8 +1170,6 @@ export class SinglePointIcon extends PIXI.Container {
this.y = this.assetData.Point.y; this.y = this.assetData.Point.y;
this.name = this.assetData.Id; this.name = this.assetData.Id;
this.canConnection = this.assetData.CanConnection === undefined ? false : this.assetData.CanConnection;
this.image.angle = this.assetData.Angle; this.image.angle = this.assetData.Angle;
this.image.x = 0; this.image.x = 0;
@ -1190,10 +1182,10 @@ export class SinglePointIcon extends PIXI.Container {
this.image.interactive = true; this.image.interactive = true;
this.image this.image
.on('mousedown', event => { .on('mousedown', event => {
console.log(this.assetData); console.log(this.assetData.Pipelines);
event.stopPropagation(); event.stopPropagation();
this.workingArea.selection.selectOne(this); this.workingArea.selection.selectOne(this);
if (this.canConnection && this.parent === this.workingArea.backgroundImage) { if (this.assetData.CanConnection && this.parent === this.workingArea.backgroundImage) {
if (this.workingArea.paintMode === PaintMode.Pipeline) { if (this.workingArea.paintMode === PaintMode.Pipeline) {
if (this.workingArea.paintingPipeline === null) { if (this.workingArea.paintingPipeline === null) {
this.workingArea.previewLineSegment.visible = true; this.workingArea.previewLineSegment.visible = true;
@ -1205,21 +1197,26 @@ export class SinglePointIcon extends PIXI.Container {
MultiPoint: JSON.parse(JSON.stringify(this.workingArea.paintPoints)), MultiPoint: JSON.parse(JSON.stringify(this.workingArea.paintPoints)),
Point: new PIXI.Point(0, 0), Point: new PIXI.Point(0, 0),
Name: '管线', Name: '管线',
LinkedObjects: [],
}; };
this.workingArea.paintingPipeline = new Pipeline(tempData, this.workingArea); this.workingArea.paintingPipeline = new Pipeline(tempData, this.workingArea);
this.workingArea.paintingPipeline.assetData.LinkedObjects.push(this);
this.assetData.Pipelines.push(this.workingArea.paintingPipeline);
} else { } else {
this.workingArea.previewLineSegment.visible = false; this.workingArea.previewLineSegment.visible = false;
this.workingArea.currentClickPoint.position = this.workingArea.currentClickPoint.position =
new PIXI.Point(this.workingArea.circleShadow.x, this.workingArea.circleShadow.y); new PIXI.Point(this.workingArea.circleShadow.x, this.workingArea.circleShadow.y);
this.workingArea.paintPoints.push(new PIXI.Point(this.position.x, this.position.y)); this.workingArea.paintPoints.push(new PIXI.Point(this.position.x, this.position.y));
this.workingArea.paintingPipeline.assetData.MultiPoint = JSON.parse(JSON.stringify(this.workingArea.paintPoints)); this.workingArea.paintingPipeline.assetData.MultiPoint = JSON.parse(JSON.stringify(this.workingArea.paintPoints));
this.workingArea.paintingPipeline.assetData.LinkedObjects.push(this);
this.assetData.Pipelines.push(this.workingArea.paintingPipeline);
this.workingArea.paintingPipeline.refresh(); this.workingArea.paintingPipeline.refresh();
this.workingArea.paintingPipelineFinish(); this.workingArea.paintingPipelineFinish();
} }
} }
} }
// 如果链接对象不为空,禁止移动 // 如果链接对象不为空,禁止移动
if ((this.workingArea.allowEdit || this.assetData.GameMode === 2) && this.connectionObjs.length === 0) { if ((this.workingArea.allowEdit || this.assetData.GameMode === 2) ) {
event.currentTarget.parent.data = event.data; event.currentTarget.parent.data = event.data;
event.currentTarget.parent.alpha = 0.5; event.currentTarget.parent.alpha = 0.5;
event.currentTarget.parent.dragging = true; event.currentTarget.parent.dragging = true;
@ -1784,13 +1781,15 @@ export class Car extends SinglePointIcon {
/** /**
* 线 * 线
*/ */
export class Pipeline extends PIXI.Graphics { export class Pipeline extends PIXI.Container {
public line: PIXI.Graphics = new PIXI.Graphics();
constructor(public assetData: any, private workingArea: WorkingAreaComponent) { constructor(public assetData: any, private workingArea: WorkingAreaComponent) {
super(); super();
this.name = this.assetData.Id; this.name = this.assetData.Id;
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.workingArea.backgroundImage.addChild(this); this.workingArea.backgroundImage.addChild(this);
this.addChild(this.line);
// 画线图标 // 画线图标
this.refresh(); this.refresh();
this.interactive = true; this.interactive = true;
@ -1804,25 +1803,25 @@ export class Pipeline extends PIXI.Graphics {
* *
*/ */
public refresh() { public refresh() {
this.clear(); this.line.clear();
this.lineStyle(5, 0x0000ff, 1); this.line.lineStyle(5, 0x0000ff, 1);
for (let i = 0, count = this.assetData.MultiPoint.length; i < count; i++) { for (let i = 0, count = this.assetData.MultiPoint.length; i < count; i++) {
const pointA = this.assetData.MultiPoint[i]; const pointA = this.assetData.MultiPoint[i];
if (i === 0) { if (i === 0) {
this.moveTo(pointA.x, pointA.y); this.line.moveTo(pointA.x, pointA.y);
} else { } else {
this.lineTo(pointA.x, pointA.y); this.line.lineTo(pointA.x, pointA.y);
if (i === count - 1) { if (i === count - 1) {
const pointB = this.assetData.MultiPoint[i - 1]; const pointB = this.assetData.MultiPoint[i - 1];
const angle = Math.atan2((pointA.y - pointB.y), (pointA.x - pointB.x)) * (180 / Math.PI) + 90; const angle = Math.atan2((pointA.y - pointB.y), (pointA.x - pointB.x)) * (180 / Math.PI) + 90;
this.beginFill(0x0000ff); this.line.beginFill(0x0000ff);
this.drawStar(pointA.x, pointA.y, 3, 5, 0, (Math.PI / 180 * angle)); this.line.drawStar(pointA.x, pointA.y, 3, 5, 0, (Math.PI / 180 * angle));
} else { } else {
this.drawCircle(pointA.x, pointA.y, 5); this.line.drawCircle(pointA.x, pointA.y, 5);
} }
} }
} }
this.endFill(); this.line.endFill();
// if (this.assetData.MultiPoint.length >= 2) { // if (this.assetData.MultiPoint.length >= 2) {
// const pointA = this.assetData.MultiPoint[this.assetData.MultiPoint.length - 2]; // const pointA = this.assetData.MultiPoint[this.assetData.MultiPoint.length - 2];
// const pointB = this.assetData.MultiPoint[this.assetData.MultiPoint.length - 1]; // const pointB = this.assetData.MultiPoint[this.assetData.MultiPoint.length - 1];
@ -1838,20 +1837,13 @@ export class Pipeline extends PIXI.Graphics {
* 2 * 2
*/ */
export class Arrows extends PIXI.Container { export class Arrows extends PIXI.Container {
public data: any;
// public icon: PIXI.Sprite;
public line: PIXI.Graphics = new PIXI.Graphics(); public line: PIXI.Graphics = new PIXI.Graphics();
public san: PIXI.Graphics = new PIXI.Graphics();
public ready = false; public ready = false;
constructor(assetData: any, private workingArea: WorkingAreaComponent) { constructor(public assetData: any, private workingArea: WorkingAreaComponent) {
super(); super();
this.workingArea.backgroundImage.addChild(this); this.workingArea.backgroundImage.addChild(this);
this.data = assetData; this.name = this.assetData.Id;
// 画线图标
// this.icon = new PIXI.Sprite(PIXI.Texture.from(this.data.source));
this.addChild(this.line); this.addChild(this.line);
this.addChild(this.san);
// this.addChild(this.icon);
this.refresh(); this.refresh();
this.interactive = true; this.interactive = true;
this.on('mousedown', event => { this.on('mousedown', event => {
@ -1866,22 +1858,16 @@ export class Arrows extends PIXI.Container {
public refresh() { public refresh() {
this.line.clear(); this.line.clear();
this.line.lineStyle(5, 0xff0000, 1); this.line.lineStyle(5, 0xff0000, 1);
this.line.moveTo(this.data.pointA.x, this.data.pointA.y); this.line.moveTo(this.assetData.pointA.x, this.assetData.pointA.y);
this.line.lineTo(this.data.pointB.x, this.data.pointB.y); this.line.lineTo(this.assetData.pointB.x, this.assetData.pointB.y);
const angle = Math.atan2((this.data.pointB.y - this.data.pointA.y), (this.data.pointB.x - this.data.pointA.x)) * (180 / Math.PI) + 90; const angle = Math.atan2((this.assetData.pointB.y - this.assetData.pointA.y), (this.assetData.pointB.x - this.assetData.pointA.x))
* (180 / Math.PI) + 90;
// this.san.clear();
// this.san.lineStyle(5, 0xff0000, 1);
this.line.beginFill(0xff0000); this.line.beginFill(0xff0000);
console.log(Math.PI / 180 / 1.6); console.log(Math.PI / 180 / 1.6);
this.line.drawStar(this.data.pointB.x, this.data.pointB.y, 3, 10, 0, (Math.PI / 180 * angle)); this.line.drawStar(this.assetData.pointB.x, this.assetData.pointB.y, 3, 10, 0, (Math.PI / 180 * angle));
// this.san.angle = angle;
this.line.endFill(); this.line.endFill();
// this.icon.anchor.set(0, 0.5);
// this.icon.x = this.data.pointB.x;
// this.icon.y = this.data.pointB.y;
// this.icon.angle = angle;
} }
} }
/** /**

Loading…
Cancel
Save