From 85d9c55de2bf1ef6c9a6aee110e6c86b988f81ac Mon Sep 17 00:00:00 2001 From: chenjingyu Date: Wed, 7 Oct 2020 14:43:11 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=8A=BD=E7=AD=BE=E4=BF=AE=E6=94=B9]=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E5=92=8C=E6=95=B4=E4=BD=93=E5=8A=9F=E8=83=BD=E5=AE=8C?= =?UTF-8?q?=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/collection-tools/addDisposalNode.html | 24 - .../ui/collection-tools/addPlaneFigure.html | 38 - .../collection-tools.component.html | 530 -- .../collection-tools.component.scss | 677 -- .../collection-tools.component.spec.ts | 25 - .../collection-tools.component.ts | 2153 ----- .../ui/collection-tools/createBuilding.html | 28 - src/app/ui/collection-tools/editBuilding.html | 23 - .../ui/collection-tools/editDisposalNode.html | 23 - .../ui/collection-tools/editPlaneFigure.html | 39 - .../collection-tools/leftFunctionalDomain.ts | 180 - src/app/ui/collection-tools/panel.scss | 297 - src/app/ui/collection-tools/save.ts | 250 - src/app/ui/collection-tools/saveOne.html | 5 - src/app/ui/collection-tools/saveTwo.html | 53 - src/app/ui/collection-tools/viewdetails.html | 24 - src/app/ui/dangerous/dangerous.component.html | 76 - src/app/ui/dangerous/dangerous.component.scss | 261 - .../ui/dangerous/dangerous.component.spec.ts | 25 - src/app/ui/dangerous/dangerous.component.ts | 267 - src/app/ui/dangerous/gis.html | 11 - src/app/ui/luck-draw/luck-draw.component.html | 24 +- src/app/ui/luck-draw/luck-draw.component.scss | 11 +- .../plan-assistance.component.html | 98 - .../plan-assistance.component.scss | 269 - .../plan-assistance.component.spec.ts | 25 - .../plan-assistance.component.ts | 7464 ----------------- .../ui/plan/collection-tools.component.html | 264 - .../ui/plan/collection-tools.component.scss | 495 -- src/app/ui/plan/collection-tools.component.ts | 1469 ---- src/app/ui/plan/panel.scss | 286 - src/app/ui/plan/saveOne.html | 5 - src/app/ui/plan/saveTwo.html | 53 - src/app/ui/plan/viewdetails.html | 24 - .../ui/real-cases/real-cases.component.html | 91 - .../ui/real-cases/real-cases.component.scss | 260 - .../real-cases/real-cases.component.spec.ts | 25 - src/app/ui/real-cases/real-cases.component.ts | 220 - .../similar-plans.component.html | 52 - .../similar-plans.component.scss | 122 - .../similar-plans.component.spec.ts | 25 - .../similar-plans/similar-plans.component.ts | 44 - src/app/ui/ui-routing.module.ts | 28 +- src/app/ui/ui.module.ts | 16 +- src/assets/js/zepto.min.js | 2 - src/assets/js/zhuanpan.js | 593 +- src/index.html | 4 +- 47 files changed, 475 insertions(+), 16503 deletions(-) delete mode 100644 src/app/ui/collection-tools/addDisposalNode.html delete mode 100644 src/app/ui/collection-tools/addPlaneFigure.html delete mode 100644 src/app/ui/collection-tools/collection-tools.component.html delete mode 100644 src/app/ui/collection-tools/collection-tools.component.scss delete mode 100644 src/app/ui/collection-tools/collection-tools.component.spec.ts delete mode 100644 src/app/ui/collection-tools/collection-tools.component.ts delete mode 100644 src/app/ui/collection-tools/createBuilding.html delete mode 100644 src/app/ui/collection-tools/editBuilding.html delete mode 100644 src/app/ui/collection-tools/editDisposalNode.html delete mode 100644 src/app/ui/collection-tools/editPlaneFigure.html delete mode 100644 src/app/ui/collection-tools/leftFunctionalDomain.ts delete mode 100644 src/app/ui/collection-tools/panel.scss delete mode 100644 src/app/ui/collection-tools/save.ts delete mode 100644 src/app/ui/collection-tools/saveOne.html delete mode 100644 src/app/ui/collection-tools/saveTwo.html delete mode 100644 src/app/ui/collection-tools/viewdetails.html delete mode 100644 src/app/ui/dangerous/dangerous.component.html delete mode 100644 src/app/ui/dangerous/dangerous.component.scss delete mode 100644 src/app/ui/dangerous/dangerous.component.spec.ts delete mode 100644 src/app/ui/dangerous/dangerous.component.ts delete mode 100644 src/app/ui/dangerous/gis.html delete mode 100644 src/app/ui/plan-assistance/plan-assistance.component.html delete mode 100644 src/app/ui/plan-assistance/plan-assistance.component.scss delete mode 100644 src/app/ui/plan-assistance/plan-assistance.component.spec.ts delete mode 100644 src/app/ui/plan-assistance/plan-assistance.component.ts delete mode 100644 src/app/ui/plan/collection-tools.component.html delete mode 100644 src/app/ui/plan/collection-tools.component.scss delete mode 100644 src/app/ui/plan/collection-tools.component.ts delete mode 100644 src/app/ui/plan/panel.scss delete mode 100644 src/app/ui/plan/saveOne.html delete mode 100644 src/app/ui/plan/saveTwo.html delete mode 100644 src/app/ui/plan/viewdetails.html delete mode 100644 src/app/ui/real-cases/real-cases.component.html delete mode 100644 src/app/ui/real-cases/real-cases.component.scss delete mode 100644 src/app/ui/real-cases/real-cases.component.spec.ts delete mode 100644 src/app/ui/real-cases/real-cases.component.ts delete mode 100644 src/app/ui/similar-plans/similar-plans.component.html delete mode 100644 src/app/ui/similar-plans/similar-plans.component.scss delete mode 100644 src/app/ui/similar-plans/similar-plans.component.spec.ts delete mode 100644 src/app/ui/similar-plans/similar-plans.component.ts delete mode 100644 src/assets/js/zepto.min.js diff --git a/src/app/ui/collection-tools/addDisposalNode.html b/src/app/ui/collection-tools/addDisposalNode.html deleted file mode 100644 index 27654e8..0000000 --- a/src/app/ui/collection-tools/addDisposalNode.html +++ /dev/null @@ -1,24 +0,0 @@ -
-
- - -
- -
- -
- - - -
- -
- - -
- -
- -
\ No newline at end of file diff --git a/src/app/ui/collection-tools/addPlaneFigure.html b/src/app/ui/collection-tools/addPlaneFigure.html deleted file mode 100644 index 930bf81..0000000 --- a/src/app/ui/collection-tools/addPlaneFigure.html +++ /dev/null @@ -1,38 +0,0 @@ -
-
- - -
- -
- -
- - - -
- -
- 是否为避难层 -
- -
- - - -
- -
- -
- -
- - -
- -
- -
\ No newline at end of file diff --git a/src/app/ui/collection-tools/collection-tools.component.html b/src/app/ui/collection-tools/collection-tools.component.html deleted file mode 100644 index 8069051..0000000 --- a/src/app/ui/collection-tools/collection-tools.component.html +++ /dev/null @@ -1,530 +0,0 @@ -
- - - - - - -
-
- 总平面图 -
-
- {{item.name}} -
- -
- -
-
- - - -
- - - - - - - - - - -
- -
- -
-
- - - - - - - - - - - - - - - -
-
- - -
- - -
- - -
-
- - -
-
-
-
-
- - - - - -
keyboard_arrow_up
-
-
-
- 节点详情 -
-
- 注意事项 -
-
expand_more
-
-
-
{{canvasData.selectPanelPointBaseData.description}}
-
{{canvasData.selectPanelPointBaseData.notes}}
-
-
-
- - -
- -
- - 属性 - - - 消防要素 - -
-
- -
- -
-

面积(平方米)

-
{{canvasData.selectStorey.area}}
-

详情

-
- {{canvasData.selectStorey.details}} -
-
- -
-

{{assetName}}

- -
-

宽度(像素)

-
{{assetWidth}}
-

高度(像素)

-
{{assetHeight}}
-

角度

-
- -
{{sliderValue}}
-
-
- -
-

厚度

-
- -
{{sliderValueThickness}}
-
-
- - -
-
- 颜色 -
- -
-
- -

透明度

- - -
{{colorDivSliderValue}}%
-
-
- -
-

{{item.PropertyName}}({{item.PhysicalUnit}})

- -
{{item.PropertyValue}}
-
- -
-

{{item.PropertyName}}({{item.PhysicalUnit}})

- -
{{item.PropertyValue}}
-
- -
-

{{item.PropertyName}}({{item.PhysicalUnit}})

-
{{item.PropertyValue}}
-
- -
-
- -

{{item.PropertyName}}

- {{imagesArr.length ? imagesArr.length : 0}} / {{item.PropertyValue}} - -
-
-
-
- -
-
-
-
-
- -
-

{{item.PropertyName}}

-
-
西
-
-
-
东南
-
西南
-
东北
-
西北
- -
- -
-

{{item.PropertyName}}

-
-
- - -
- -
-

{{item.PropertyName}}

-
全部
-
高区
-
中区
-
低区
-
高中区
-
高低区
-
中底区
-
- -
-

{{item.PropertyName}}

-
消火栓
-
喷淋
-
水幕
-
泡沫
-
消防
-
-
-
- -
- -
- -
- - - - - - - {{node.name}} - - ({{node.children.length}}) - visibility - - - - - - - {{node.name}} - - ({{node.children.length}}) - visibility - - - -
-
-
-
- - -
-
- -
\ No newline at end of file diff --git a/src/app/ui/collection-tools/collection-tools.component.scss b/src/app/ui/collection-tools/collection-tools.component.scss deleted file mode 100644 index 5015a0c..0000000 --- a/src/app/ui/collection-tools/collection-tools.component.scss +++ /dev/null @@ -1,677 +0,0 @@ -@import './panel.scss'; -.icongray{ - color: #D9D0DC; -} -.content { - width: 100%; - height: 100%; - overflow: hidden; - box-sizing: border-box; - padding: 1px; - display: flex; - flex-direction: column; - - .buildingbtnchecked{ - color: white; - background-image: url("../../../assets/images/标签选中.png")!important; - } -} - -//header头部 -.header { - position: relative; - flex: 5%; - display: flex; - align-items:center; - min-height: 40px; - background-color: #fff; - .nameShow{ - cursor: pointer; - user-select: none; - } - .copytobutn{ - width: 33px; - min-width: 33px; - display: flex; - justify-content: center; - } - font-size: 18px; - mat-icon{ - font-size: 26px; - vertical-align: text-top; - } - span{ - height: 24px; - line-height: 24px; - } - .patternSwitch{ - position: absolute; - right: 140px; - span{ - font-size: 18px; - cursor: pointer; - margin: 0 3px; - display: inline-block; - border: 1px solid gray; - border-radius: 3px; - padding: 0 5px; - } - .selectedPattern{ - background-color: #2196f3; - color: white; - } - } -} - -// //头部操作栏 -// .headerOperate { -// img { -// width: 24px; -// height: 24px; -// vertical-align: middle; -// margin-left: 1px; -// } -// span{ -// font-size: 18px; -// } -// flex: 5%; -// display: flex; -// align-items:center; -// min-height: 40px; -// box-sizing: border-box; -// margin: 3px 0; -// background-color: white; -// button{ -// border: 0.5px solid rgb(208, 211, 214); -// margin: 0 2px; -// } -// .editdeletebtn{ -// display: none; -// } -// .bigeditdeletebtn:hover{ -// .editdeletebtn{ -// display: inline-block; -// } -// } -// } -.headerOperate { - position: relative; - span{ - font-size: 18px; - } - flex: 2%; - display: flex; - align-items:center; - min-height: 40px; - box-sizing: border-box; - margin: 3px 0; - - .bigeditdeletebtn{ - margin-right: 12px; - height: 80%; - display: flex; - flex-direction: column; - // align-items:center;/*由于flex-direction: column,因此align-items代表的是水平方向*/ - justify-content: center; - user-select: none; - background-image: url("../../../assets/images/标签正常.png") ; - background-size:100% 100%; - color: white; - span{ - padding: 0 13px; - padding-right: 18px; - } - } - .bigeditdeletebtn:hover{ - cursor: pointer; - background-image: url("../../../assets/images/标签经过.png") ; - } - .bigTalkBox{ - user-select: none; - .titleIcon{ - font-size: 33px; - vertical-align: sub; - color: white; - } - .talkBox{ - width: 309px; - height: 326px; - border: 1px solid #30bbec; - background-color: #013a64; - opacity: .9 ; - position: absolute; - top: 32px; - right:4px; - z-index: 2000; - .btndiv{ - div{ - border-radius: 18px; - width: 70px; - height: 30px; - text-align: center; - line-height: 30px; - display: inline-block; - font-size: 13px; - color: white; - cursor: pointer; - - } - div:nth-child(1){ - background-color: #fe9400; - margin: 10px; - } - div:nth-child(2){ - background-color: #f95e5a; - } - } - .bottomDiv{ - position: absolute; - bottom:6px; - width: 100%; - height: 32px; - line-height: 32px; - display: flex; - color: white; - text-align: center; - div:nth-child(1){ - flex: 1; - } - div:nth-child(2){ - flex: 6; - color: #409eff; - background: url('../../../assets/images/输入框.png'); - background-size: 100% 100%; - } - div:nth-child(3){ - flex: 1; - - } - } - } - } -} -//功能区 -// icon统一样式 -.mat-icon { - cursor:pointer; - vertical-align: middle; -} -//左右两侧功能栏 统一样式 -.publicCss { - overflow: hidden; - border-radius: 5px; - top: 0; -} -.functionalDomain { - flex: 98%; - overflow: hidden; - .functionalDomainContent { - display: flex; - position: relative; - width: 100%; - height: 100%; - overflow: hidden; - } - .functionalDomainLeft { - flex: 1; - display: flex; - flex-direction: column; - margin-left: 0px; - transition: margin-left 0.5s; - border: 1px solid #30bbec; - left: 0; - z-index: 111; - .leftDragDiv{ - position: absolute; - right: 0; - height: 100%; - width: 3px; - z-index: 1000; - cursor: e-resize; - } - } - .canvas{ - flex: 5; - .closebottombtn{ - width: 30px; - vertical-align: sub; - } - .openbottombtn{ - width: 30px; - color: white; - text-align: center; - height: 30px; - line-height: 30px; - vertical-align: sub; - position: absolute; - left: 5px; - bottom: 5px; - background-color:rgba(2, 44, 73, 0.9); - } - //打开时 - .openBottom{ - margin-bottom: 0; - transition: margin-bottom 1s; - } - //关闭 - .closeBottom{ - margin-bottom: -300px!important; - transition: margin-bottom 1s; - } - //右侧 楼层UI - .rightStorey { - width: 100px; - height: 250px; - position: absolute; - left: 0; - top: 50%; - margin-top: -200px; - z-index: 9999; - display: flex; - flex-direction: column; - background-color:rgba(2, 44, 73, 0.9); - color: #fff; - font-weight: 300; - >div {text-align: center; line-height: 25px;} - } - .showRightStorey { - position: absolute; - right: 0; - top: 50%; - margin-top: -13px; - z-index: 9999; - width: 26px; - height: 26px; - line-height: 26px; - text-align: center; - background-color:rgba(2, 44, 73, 0.9); - color: #fff; - } - //打开关闭右侧 楼层 - .openRight { - margin-right: 0px; - transition: margin-right 0.5s; - } - .closeRight { - margin-right: -300px; - transition: margin-right 0.5s; - } - .canvasbottomCss{ - margin-bottom: 0; - transition: margin-bottom 0.5s; - position: absolute; - bottom: 0; - width: 100%; - height: 200px; - display: flex; - flex-direction: column; - .title{ - border-bottom: 1px solid #30bbec; - flex: 1; - div{ - cursor: pointer; - background-color: rgba(2, 44, 73, 0.9); - width: 120px; - height: 30px; - line-height: 35px; - text-align: center; - margin-right: 10px; - color: white; - font-style: italic; - font-size:18px; - - } - .closebottombtn{ - width: 30px; - vertical-align: sub; - } - .detailsAndattentBtn{ - background-color: #ed863b; - } - } - .body{ - flex: 10; - background-color:rgba(2, 44, 73, 0.9); - div{ - color: #d0e0f4; - font-size: 16px; - letter-spacing:5px; - margin: 5px 0 0 8px; - } - } - - } - } - .functionalDomainRight { - color: white; - // background-color: #113e5e; - z-index: 1001; - margin-right: 0px; - transition: margin-right 0.5s; - border: 1px solid #30bbec; - width: 235px; - right: 0; - flex: 1; - } - //右边导航栏显示隐藏 - .togglePanel2 { - margin-right: -2000px; - transition: margin-right 1s; - } - //左侧导航栏显示隐藏 - .togglePanel { - margin-left: -2000px; - transition: margin-left 1s; - } - -} - -//右边操作栏 -.title{ - width: 100%; - height: 40px; - line-height: 40px; - border-bottom:2px solid #accbf2; - display: flex; - align-content: center; - span{ - display: inline-block; - flex: 1; - text-align: center; - } - span:hover{ - cursor: pointer; - } -} -.selectedTitle{ - background: #0c2d44; -} - -//右侧属性 -.property{ - display: flex; - flex-flow: column; - .siteproperty{ - height: 100%; - overflow-y: auto; - p{ - color: #d0e0f4; - padding-left: 7px; - letter-spacing:3px; - margin: 5px 0; - } - .siteproperty_size{ - border-bottom:1px solid #d0e0f4; - width: 93%; - margin: 0 auto; - min-height: 21px; - color: #2399f1; - padding-bottom: 5px; - font-size: 16px; - letter-spacing:2px; - } - .rightAttribute{ - width: 12%; - height: 99.5%; - position: absolute; - top: 0; - right: 0; - bottom: 0; - border: 2px solid #464646; - } - } - .assetsproperty{ - overflow-y: auto; - height: 100%; - p{ - - color: #d0e0f4; - padding-left: 7px; - letter-spacing:3px; - margin: 5px 0; - } - .siteproperty_size{ - border-bottom:1px solid #d0e0f4; - width: 93%; - margin: 0 auto; - min-height: 21px; - color: #2399f1; - padding-bottom: 5px; - font-size: 16px; - letter-spacing:2px; - } - span{ - font-size: 15px; - } - input{ - height: 18px; - } - .biginput{ - display: block; - width: 88%; - margin: 0 auto; - } - .smallinput{ - display: block; - width: 19%; - margin-left: 8px; - } - .textarea{ - display: block; - width: 88%; - height: 50px; - margin: 0 auto; - } - .swiper-button-next{ - right: 6px; - } - .swiper-button-prev{ - left: 6px; - } - .swiper-container{ - // --swiper-theme-color: #ff6600;/* 设置Swiper风格 */ - // --swiper-navigation-color: #00ff33;/* 单独设置按钮颜色 */ - --swiper-navigation-size:20px;/* 设置按钮大小 */ - } - .hoverred:hover{ - color: rgb(187, 28, 28); - } - .selectDiv{ - height: 21px; - position: relative; - margin-bottom: 5px; - select{ - width: 98px; - height: 22px; - vertical-align: middle; - position: absolute; - right: 10px; - top: 1px; - border: 1px solid rgb(208, 211, 214); - border-radius: 2px; - } - } - .colorBigDiv{ - width: 88%; - margin-left: 8px; - - - .colorDiv{ - .colorLi{ - width: 24px; - height: 24px; - list-style: none; - float: left; - border: 2px solid white; - } - .coloractive{ - border: 2px solid black; - } - } - } - .colorBigTemplateDiv{ - span{ - color: #9c9fa5; - font-size: 14px; - height: 26px; - line-height: 26px; - } - .colorTemplateDiv{ - width: 65%; - height: 22px; - display: inline-block; - vertical-align: middle; - margin-left: 26px; - } - } - } -} -//右侧消防要素 -.firecategories{ - position: relative; - // display: flex; - // flex-flow: column; - .firecategoriesTree{ - overflow-y: auto; - height: 100%; - mat-tree-node{ - position: relative; - } - .isLookCss{ - position: absolute; - right: 6px; - z-index: 1000; - } - } - .mat-tree{ - background-color:transparent; - .mat-tree-node{ - color: white!important; - } - } -} - -// 解决轮播图蓝框问题 -div:focus { - outline: none; -} - -//没有图片时显示无图片背景图 -.noImgCss{ - background: url(../../../assets/images/noImg.png) ; - background-size: 100% 100%;/*按比例缩放*/ -} -.input{ - width: 18px; - height: 18px; - vertical-align: middle; - margin-left: 9px; - margin-right: 3px; -} - - -// tree -.mat-tree-node{ - min-height: 0; - height: 32px; - line-height: 32px; - font-size: 13px; - cursor: pointer; -} -.treeNode:hover{ - background-color: #ccebf8; -} -.isLookPattern{ - display: none; -} -.treeText{ - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - display: inline-block; - width: 65px; -} - -.bigBox{ - width: 700px; - height: 40px; - position: absolute; - overflow: hidden; - right: 0; -} -.weatherBox{ - height: 40px; - width: 700px; - line-height: 40px; - position: absolute; - right: 0; - transition: right linear .5s; - .openbtn{ - font-size: 45px; - height: 45px; - width: 40px; - } - .name{ - font-size: 16px; - vertical-align: middle; - margin-left: 3px; - } - input{ - width: 140px; - height: 22px; - margin-left: 3px; - } - select{ - width: 96px; - height: 25px; - margin-left: 3px; - vertical-align: middle; - } -} -.open{ - right: 0px; -} -.close{ - right:-622px; -} -.bottomCss{ - position: absolute; - left: 232px; - right: 0px; - bottom: 0; - height: 158px; - width: auto; - z-index: 100; - background-color: white; - border: 1px solid #464646; - .dragDiv{ - width: 100%; - height: 3px; - position: absolute; - top: 0; - z-index: 1000; - cursor: n-resize; - } - .title{ - height: 35px; - background-color: #464646; - div{ - background-color: #464646; - float: left; - width: 80px; - color: white; - font-size: 13px; - padding-left: 5px; - cursor: pointer; - } - .detailsAndattentBtn{ - background-color: #595959; - } - } - .body{ - textarea{ - width: 100%; - border-radius: 0px; - } - } -} \ No newline at end of file diff --git a/src/app/ui/collection-tools/collection-tools.component.spec.ts b/src/app/ui/collection-tools/collection-tools.component.spec.ts deleted file mode 100644 index acc7d5e..0000000 --- a/src/app/ui/collection-tools/collection-tools.component.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { CollectionToolsComponent } from './collection-tools.component'; - -describe('CollectionToolsComponent', () => { - let component: CollectionToolsComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ CollectionToolsComponent ] - }) - .compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(CollectionToolsComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/ui/collection-tools/collection-tools.component.ts b/src/app/ui/collection-tools/collection-tools.component.ts deleted file mode 100644 index 6821e07..0000000 --- a/src/app/ui/collection-tools/collection-tools.component.ts +++ /dev/null @@ -1,2153 +0,0 @@ -import { Component, OnInit, Inject, ViewChild,ElementRef,Renderer2, ViewContainerRef } from '@angular/core'; -import { HttpClient, HttpHeaders } from '@angular/common/http'; -import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; -import { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar'; -import {leftFunctionalDomainComponent,editPlaneFigureComponent,editDisposalNodeComponent,addDisposalNodeComponent} from './leftFunctionalDomain' -import Swiper from 'swiper'; -import {MatTreeFlatDataSource, MatTreeFlattener} from '@angular/material/tree'; -import {FlatTreeControl} from '@angular/cdk/tree'; -import {WorkingAreaComponent} from '../../working-area/working-area.component' -import {CanvasShareDataService,GameMode} from '../../canvas-share-data.service' //引入服务 -import {CacheTokenService} from '../../http-interceptors/cache-token.service' -import Viewer from 'viewerjs'; -import { saveOneDialog } from './save'; -@Component({ - selector: 'app-collection-tools', - templateUrl: './collection-tools.component.html', - styleUrls: ['./collection-tools.component.scss'] -}) -export class CollectionToolsComponent implements OnInit { - - @ViewChild('canvas',{static: true}) canvas:WorkingAreaComponent; //父组件中获得子组件的引用 - - constructor(private http:HttpClient,public dialog: MatDialog,public snackBar: MatSnackBar,private element: ElementRef,public canvasData: CanvasShareDataService,public token: CacheTokenService) { } - // tree配置 - private _transformer = (node, level: number) => {//要给渲染节点传那些属性参数 - return { - expandable: !!node.children && node.children.length > 0, - name: node.name || node.Name, - level: level, - id: node.id || node.Id, - children:node.children, - isTemplate:node.isTemplate, - isNewElement:node.isNewElement, - isLook:node.isLook, - isLookPattern:node.isLookPattern || null - }; - } - treeControl = new FlatTreeControl(node => node.level, node => node.expandable); - - treeFlattener = new MatTreeFlattener(this._transformer, node => node.level, node => node.expandable, node => node.children); - dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener); - hasChild = (_: number, node: any) => node.expandable; - - colors = ['#076eec','#4dd0e1','#00ee76','#ffff00','#eeb422', - '#FF6A6A','#ff0000','#ff6eb4','#00bfff','#54ff9f', - '#009688','#836fff','#ff8c00','#ee00ee','#ffa07a', - '#00C500','#00ffff','#6495ed','#ffdAb9','#AA00FF'] - selected = "1" //图标大小选择框 - - allBuildings //该单位所有建筑 - beforeOneCheckedBuilding:any = {name:"总平面图"}; //当前点击选择的建筑 - checkedBuildingIndex:number = -1 //当前点击选择的建筑index - isEditPat:boolean = true //当前是否是编辑模式 - - assetName:String//素材名称 - assetWidth:number//素材宽度 - assetHeight:number//素材高度 - sliderValue:number = 0//角度滑竿的值 - sliderValueThickness:number = 0//厚度滑竿的值 - isHighLight:boolean = false//是否高亮选择框 - PropertyInfos = [] //去除图片链接真正用于循环的内容 - imagesArrNum //素材属性图片数量上限 - imagesArr = [] //属性中的图片链接集合 - clickedIndex //点击图片时的索引值 - - //传入素材对象,设置右侧属性栏内容 - canvasAssetObj //传入的素材属性对象 - isImgNumCss = false //控制上传文件input显隐 - mySwiper:any //轮播图实例 - - gallery//viewerJs实例 - - rightIsShow = true; // 右侧楼层是否展示 - // 打开 右侧楼层 - openRight() { - this.rightIsShow = true; - } - - // 关闭 右侧楼层 - closeRight() { - console.log(123) - this.rightIsShow = false; - } - //设置属性框 - setAssetsProperty(obj){ - //初始化viewerJs实例 - setTimeout(() => { - obj.PropertyInfos.forEach(item => { - if(item.PropertyType == 4){ - this.gallery = new Viewer(document.getElementById('viewerjs'),{ - url: 'data-original' - }); - } - }) - }, 0); - - //从颜色中取出透明度 - let color = obj.Color - let strh = color.substring(color.length -2,color.length) - let opacity = Math.round(parseInt(strh,16)/255 * 100) - this.colorDivSliderValue = opacity - - this.isShowProperty = true - this.isShowAttribute = false - let _this = this - this.imagesArr = [] - this.imagesArrNum = "" - - this.canvasAssetObj = obj //将选中素材对象存到本地变量 - - this.assetName = obj.Name - this.assetWidth = obj.Width - this.assetHeight = obj.Height - this.sliderValue = obj.Angle - this.selectedcolor = obj.Color - this.PropertyInfos = obj.PropertyInfos - this.sliderValueThickness = obj.Thickness - this.PropertyInfos.forEach(item => { - if(item.PropertyType == 3){ //如果是图片链接类型 - this.imagesArr.push(item) - } - if(item.PropertyType == 4){//图片数值上线 - this.imagesArrNum = item.PropertyValue - } - }) - - //如果存在图片则加载轮播图 - if(this.imagesArr.length){ - setTimeout(() => { - this.mySwiper = new Swiper('.swiper-container',{ - loop: false, - // grabCursor: true, - // 如果需要前进后退按钮 - navigation: { - nextEl: '.swiper-button-next', - prevEl: '.swiper-button-prev', - }, - on:{ - click: function(){ - _this.clickedIndex = this.clickedIndex - }, - } - }); - }, 0); - } - //判断此时图片数量是否达到上限 - if(this.imagesArr.length < this.imagesArrNum){//如果不超出 - this.isImgNumCss = true - }else{ - this.isImgNumCss = false - } - } - pattern:boolean = true//默认为基本信息编辑 - - //基本信息编辑模式 - baseInfo(){ - if (!this.pattern) { - this.pattern = true - this.mateDeleteCustomize() - this.getAllLibrary() - } - this.canvasData.gameMode = GameMode.BasicInformation - } - - //想定作业编辑模式 - wantWork(){ - if (this.pattern) { - this.pattern = false - this.getAllLibrary('plan') - this.getDisposalNode() - } - this.canvasData.gameMode = GameMode.Assignment - } - - //天气栏目 - weatherBtn = true - weatherBtnShow(){ - this.weatherBtn = !this.weatherBtn - } - weatherBtnHidden(){ - this.weatherBtn = !this.weatherBtn - } - - //底部切换按钮div - detailsAndattentBtn = true - //节点详情 - details(){ - this.detailsAndattentBtn = true - console.log(this.canvasData.selectPanelPointBaseData) - - } - //注意事项 - attent(){ - this.detailsAndattentBtn = false - console.log(this.canvasData.selectPanelPointBaseData) - } - bottomIsShow = true//底部隐藏按钮 - //关闭底部 - closedbottom(){ - this.bottomIsShow = false - } - //打开底部 - openedbottom(){ - this.bottomIsShow = true - } - //消防要素div边框高度调节 - firecategoriesDivMouseDown(e){ - document.onmousemove = (ev) => { - let bodyHeight = document.body.clientHeight //网页宽度 - let maxHeight = this.element.nativeElement.querySelector('#rightDiv').clientHeight - 35 //最大宽度 - if(bodyHeight - ev.clientY >= maxHeight){ - this.element.nativeElement.querySelector('#firecategories').style.height = maxHeight+ 'px' - this.element.nativeElement.querySelector('#property').style.height = 35+ 'px' - }else{ - this.element.nativeElement.querySelector('#firecategories').style.height = (bodyHeight - ev.clientY) + 'px' ; - this.element.nativeElement.querySelector('#property').style.height = (this.element.nativeElement.querySelector('#rightDiv').clientHeight - this.element.nativeElement.querySelector('#firecategories').clientHeight) + 'px' - } - } - document.onmouseup = () => { - document.onmousemove = null; - document.onmouseup = null; - } - } - - //左侧div边框宽度调节 - leftDivMouseDown(e){ - document.onmousemove = (ev) => { - let bodyWidth = document.body.clientWidth //网页宽度 - let maxWidth = bodyWidth - 260 - this.element.nativeElement.querySelector('#rightDiv').clientWidth //最大宽度 - if(ev.clientX - 240 >= maxWidth){ - this.element.nativeElement.querySelector('#leftDiv').style.width = maxWidth + 'px' - }else{ - this.element.nativeElement.querySelector('#leftDiv').style.width = ev.clientX - 260 + 'px'; - } - } - document.onmouseup = () => { - document.onmousemove = null; - document.onmouseup = null; - } - } - - //底部div高度调节 - bottomDivMouseDown(e){ - document.onmousemove = (ev) => { - let bodyHeight = document.body.clientHeight //网页高度 - let maxHeight = this.element.nativeElement.querySelector('#rightDiv').clientHeight //最大高度 - if(bodyHeight - ev.clientY >= maxHeight){ - this.element.nativeElement.querySelector('#bottomDiv').style.height = maxHeight + 'px' - }else{ - this.element.nativeElement.querySelector('#bottomDiv').style.height = (bodyHeight - ev.clientY) + 'px' ; - } - } - document.onmouseup = () => { - document.onmousemove = null; - document.onmouseup = null; - } - } - - //右侧div边框宽度调节 - rightDivMouseDown(e){ - document.onmousemove = (ev) => { - let bodyWidth = document.body.clientWidth //网页宽度 - let maxWidth = bodyWidth - 240 - this.element.nativeElement.querySelector('#leftDiv').clientWidth //最大宽度 - if(bodyWidth - ev.clientX >= maxWidth){ - this.element.nativeElement.querySelector('#rightDiv').style.width = maxWidth + 'px' - }else{ - this.element.nativeElement.querySelector('#rightDiv').style.width = bodyWidth - ev.clientX + 'px'; - } - } - document.onmouseup = () => { - document.onmousemove = null; - document.onmouseup = null; - } - } - - //放大图标 - iconScale(){ - let number = Number(this.selected) - this.canvas.setIconScale(number) - } - - //素材宽度输入框改变 - assetWidthIunput(){ - this.canvasAssetObj.Width = this.assetWidth - this.canvasData.isChange = true - this.canvas.refreshIcon(this.canvasAssetObj.Id) - } - - //素材高度输入框改变 - assetHeightIunput(){ - this.canvasAssetObj.Height = this.assetHeight - this.canvasData.isChange = true - this.canvas.refreshIcon(this.canvasAssetObj.Id) - } - - //素材角度输入框改变 - assetAngleIunput(){ - this.canvasAssetObj.Angle = this.sliderValue - this.canvasData.isChange = true - this.canvas.refreshIcon(this.canvasAssetObj.Id) - } - - //素材厚度输入框改变 - assetThicknessIunput(){ - this.canvasAssetObj.Thickness = this.sliderValueThickness - this.canvasData.isChange = true - this.canvas.refreshIcon(this.canvasAssetObj.Id) - } - - //素材是否高亮改变----->本地操作行为 - assetHighLightIunput(){ - - } - - //动态属性素材input框值改变 - assetInputChange(i,e){ - let index = this.canvasAssetObj.PropertyInfos.findIndex((item)=>{ - return i.PropertyName == item.PropertyName - }) - this.canvasAssetObj.PropertyInfos[index].PropertyValue = e.target.value - this.canvasData.isChange = true - this.canvas.refreshIcon(this.canvasAssetObj.Id) - } - - //动态属性素材布尔值框改变radio - assetRadioChange(i,boolean){ - let index = this.canvasAssetObj.PropertyInfos.findIndex((item)=>{ - return i.PropertyName == item.PropertyName - }) - this.canvasAssetObj.PropertyInfos[index].PropertyValue = boolean - this.canvasData.isChange = true - } - - colorIndex//默认素材颜色 - selectedcolor//点击选择的颜色 - //选择素材颜色 - selectcolor(item,key){ - //在当前透明度基础上改变颜色 - this.selectedcolor = item + this.selectedcolor.substring(this.selectedcolor.length-2) - this.canvasAssetObj.Color = this.selectedcolor - this.canvasData.isChange = true - this.canvas.refreshIcon(this.canvasAssetObj.Id) - } - //颜色选择滑竿的值 - colorDivSliderValue - colorDivSliderChange(){ - let colorOpacity = Math.round(255 * this.colorDivSliderValue * 0.01) - //根据滑竿值改变16进制颜色后两位 - function replacepos(text,start,stop,replacetext){ - let mystr = text.substring(0,stop-1)+replacetext+text.substring(stop+1); - return mystr; - } - this.selectedcolor = replacepos(this.selectedcolor,7,8,colorOpacity.toString(16)) - this.canvasAssetObj.Color = this.selectedcolor - this.canvasData.isChange = true - this.canvas.refreshIcon(this.canvasAssetObj.Id) - } - - //查看图片详情 - lookImg(){ - const dialogRef = this.dialog.open(ViewDetails, {//调用open方法打开对话框并且携带参数过去 - data: {imagesArr:this.imagesArr,index:this.clickedIndex} - }); - dialogRef.afterClosed().subscribe(data=>{ }); - } - - //上传素材图片 - selectFile(e){ - let imgFile = e.target.files[0] || null //上传的文件 - this.startUploading(imgFile) - } - objectName:any //上传对象名 - startUploading (imgFile) { - let _this = this - let file = imgFile || null //获取上传的文件 - let fileSize = file.size || null //上传文件的总大小 - let shardSize = 5 * 1024 * 1024 //5MB一个分片 - let companyId = sessionStorage.getItem("companyId") - if (file && fileSize <= shardSize) { //上传文件<=5MB时 - let formData = new FormData() - formData.append("file",file) - this.http.post(`api/Objects/WebPlan2D/${companyId}`,formData).subscribe((data:any)=>{ - this.objectName = data.objectName - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('上传成功','确定',config) - - //在原始素材对象和需要循环图片的对象中分别push最新上传的图片 - let imgObj = { - "Tag": null, - "Order": 0, - "Enabled": false, - "Visible": false, - "Required": false, - "RuleName": null, - "RuleValue": null, - "PhysicalUnit": null, - "PropertyName": "图片", - "PropertyType": 3, - "PropertyValue": "/api/Objects/WebPlan2D/" + this.objectName - } - - this.imagesArr.push(imgObj) - this.canvasAssetObj.PropertyInfos.push(imgObj) - - setTimeout(() => { - this.mySwiper = new Swiper('.swiper-container',{ - loop: false, - // grabCursor: true, - // 如果需要前进后退按钮 - navigation: { - nextEl: '.swiper-button-next', - prevEl: '.swiper-button-prev', - }, - on:{ - click: function(){ - _this.clickedIndex = this.clickedIndex - }, - } - }); - - this.mySwiper.slideTo(this.imagesArr.length - 1) - this.gallery.update() - }, 0); - - //判断上传素材属性图片是否超出数量 超出数量则隐藏input框 - if(this.imagesArr.length < this.imagesArrNum){//不超出input才会显示 - this.isImgNumCss = true - }else{ - this.isImgNumCss = false - } - - this.canvasData.isChange = true - }) - } else if (file && fileSize>shardSize) { //上传文件>5MB时,分块上传 - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('上传图片文件不允许大于5mb','确定',config); - } - - } - - //不能上传图片提示 - imgNumBeyond(){ - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('图片数量已达上限','确定',config); - } - - //删除素材属性图片 - deleteImg(){ - if(this.imagesArr.length == 0){ - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('没有可删除的图片,请先上传','确定',config) - }else{ - // 在素材原始对象中将删除的图片去掉 - this.canvasAssetObj.PropertyInfos = [...this.canvasAssetObj.PropertyInfos.filter((item)=>{ - return item.PropertyValue != this.imagesArr[this.mySwiper.activeIndex].PropertyValue - })] - //在图片循环数组中将图片去掉 - this.imagesArr.splice(this.mySwiper.activeIndex, 1); - //更新swiper视图 - setTimeout(() => { - this.mySwiper.update(); - this.gallery.update() - }, 0); - - this.canvasData.isChange = true - } - } - - //动态属性方向select选择框 - direction(i,e){ - let index = this.canvasAssetObj.PropertyInfos.findIndex((item)=>{ - return i.PropertyName == item.PropertyName - }) - this.canvasAssetObj.PropertyInfos[index].PropertyValue = e.target.value - this.canvasData.isChange = true - } - - //动态属性供给区域select选择框 - supplyArea(i,e){ - let index = this.canvasAssetObj.PropertyInfos.findIndex((item)=>{ - return i.PropertyName == item.PropertyName - }) - this.canvasAssetObj.PropertyInfos[index].PropertyValue = e.target.value - this.canvasData.isChange = true - } - - //动态属性供给类型select选择框 - supplyType(i,e){ - let index = this.canvasAssetObj.PropertyInfos.findIndex((item)=>{ - return i.PropertyName == item.PropertyName - }) - this.canvasAssetObj.PropertyInfos[index].PropertyValue = e.target.value - this.canvasData.isChange = true - } - - ngOnInit(): void { - - let that = this - window.setTimeout(()=>{ - document.getElementById("functionalDomainContent").oncontextmenu = function (event) { - that.canvas.cancelPaint() - that.selectImageIndex = -1 - event.preventDefault(); - }; - }) - - this.canvasData.getMessage().subscribe((message: any)=>{ - console.log(message);//send a message - }) - - } - - //右侧属性和消防要素切换 - isProperty = true - rightSwitch(type){ - if(type == 1){ - this.isProperty = true - }else{ - this.isProperty = false - } - } - //打开说话框 - isOpenTalk = false - openTalkDiv(){ - this.isOpenTalk = !this.isOpenTalk - } - - ngAfterViewInit(): void { - // 监听canvas组件选中素材事件 - this.canvas.on("select",obj=>{ - //选中素材属性注入函数 - this.setAssetsProperty(obj.assetData) - }) - // 监听canvas组件取消选中素材事件 - this.canvas.on("deselect",obj=>{ - this.isShowProperty = false - }) - // 监听canvas组件新增素材事件 - this.canvas.on("createIcon",obj=>{ - this.renovateTreeData(false) - }) - // 监听canvas组件删除素材事件 - this.canvas.on("deleteIcon",obj=>{ - this.renovateTreeData(false) - }) - } - - copyAssetData:any //存储用于复制的素材 - //复制素材 - copyAsset(){ - this.canvas.copy() - } - //粘贴素材 - pasteAsset(){ - let companyId = sessionStorage.getItem("companyId") - let buildingId = this.beforeOneCheckedBuilding.id - let floorId = this.selectingSitePlan.id - this.canvas.paste(companyId,buildingId,floorId) - } - - basicInfo:boolean = true //基本信息名称显隐 - wantToWork:boolean = false //想定作业名称显隐 - //点击基本信息名称 - basicInfoClick(){ - this.basicInfo = !this.basicInfo - this.canvas.setNameVisible(this.basicInfo,0) - } - - //点击想定作业名称 - wantToWorkClick(){ - this.wantToWork = !this.wantToWork - this.canvas.setNameVisible(this.basicInfo,1) - } - - isEditPattern:boolean = true //是否为编辑模式 - //进入编辑模式 - editpat(){ - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('进入编辑模式','确定',config); - this.isEditPattern = true - } - - //进入查看模式 - lookpat(){ - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('进入查看模式','确定',config); - this.isEditPattern = false - } - - //保存平面图 - saveNum :any = [] - saveSite(){ - console.log(this.beforeOneCheckedBuilding) - this.saveNum = [] - let SitePlanData = JSON.parse(JSON.stringify(this.canvasData.originaleveryStoreyData)); - SitePlanData.data = JSON.stringify(SitePlanData.data) - let CompanyData = JSON.parse(JSON.stringify(this.canvasData.originalcompanyBuildingData)); - CompanyData.data = JSON.stringify(CompanyData.data) - - let object = this.canvasData.originalcompanyBuildingData.data - let adjoinArr = [] //毗邻数组 - - if(this.pattern){//如果是基本信息编辑模式 - for (const key in object) { - if (object[key].Name == "毗邻") {//如果是相同楼层,则筛选出毗邻 - - object[key].PropertyInfos.forEach(element => { - if(element.PropertyName == "方向"){ - adjoinArr.push(element.PropertyValue) - } - }); - } - } - - if((new Set(adjoinArr)).size != adjoinArr.length){ - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('保存失败,毗邻存在相同方向','确定',config); - return false - }else{ - //如果是单位 总平面图 - if(this.checkedBuildingIndex==-1){ - //保存平面图数据 - this.http.post("/api/SitePlanData",SitePlanData,{ - params:{ - companyId:this.params.companyId - } - }).subscribe(data => { - this.saveNum.push("1") - if(this.saveNum.length == 5){ - this.canvasData.isChange = false - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('保存成功','确定',config); - } - },err=>{ - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.canvasData.isChange = true - this.snackBar.open('平面图数据保存失败','确定',config); - }) - - //保存建筑数据 - this.http.post("/api/CompanyData",CompanyData,{ - params:{ - companyId:this.params.companyId - } - }).subscribe(data => { - this.saveNum.push("1") - if(this.saveNum.length == 5){ - this.canvasData.isChange = false - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('保存成功','确定',config); - } - },err=>{ - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.canvasData.isChange = true - this.snackBar.open('单位数据保存失败','确定',config); - }) - - //批量保存单位毗邻 - let CompanyAdjoins = this.canvasData.getCompanyAdjoinInfo() - this.http.post("/api/CompanyAdjoins/Batch",CompanyAdjoins,{ - params:{ - companyId:this.params.companyId - } - }).subscribe(data => { - this.saveNum.push("1") - if(this.saveNum.length == 5){ - this.canvasData.isChange = false - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('保存成功','确定',config); - } - },err=>{ - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.canvasData.isChange = true - this.snackBar.open('单位毗邻保存失败','确定',config); - }) - - //批量保存单位重点部位 - let CompanyImportantLocations = this.canvasData.getCompanyImportantLocations() - this.http.post("/api/CompanyImportantLocations/Batch",CompanyImportantLocations,{ - params:{ - companyId:this.params.companyId - } - }).subscribe(data => { - this.saveNum.push("1") - if(this.saveNum.length == 5){ - this.canvasData.isChange = false - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('保存成功','确定',config); - } - },err=>{ - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.canvasData.isChange = true - this.snackBar.open('单位重点部位保存失败','确定',config); - }) - - //批量保存单位消防设施素材 - let CompanyFacilityAssets = this.canvasData.getAllCompanyFacilityAssetInfo() - this.http.post("/api/CompanyFacilityAssets/Batch",CompanyFacilityAssets,{ - params:{ - companyId:this.params.companyId - } - }).subscribe(data => { - this.saveNum.push("1") - if(this.saveNum.length == 5){ - this.canvasData.isChange = false - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('保存成功','确定',config); - } - },err=>{ - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.canvasData.isChange = true - this.snackBar.open('单位消防设施素材保存失败','确定',config); - }) - - }else{ //如果是建筑 - - //建筑平面图数据 - this.http.post("/api/BuildingAreaData",SitePlanData,{ - params:{ - companyId:this.params.companyId - } - }).subscribe(data => { - this.saveNum.push("1") - if(this.saveNum.length == 5){ - this.canvasData.isChange = false - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('保存成功','确定',config); - } - },err=>{ - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.canvasData.isChange = true - this.snackBar.open('平面图数据保存失败','确定',config); - }) - - //建筑数据 - this.http.post("/api/BuildingData",CompanyData,{ - params:{ - companyId:this.params.companyId - } - }).subscribe(data => { - this.saveNum.push("1") - if(this.saveNum.length == 5){ - this.canvasData.isChange = false - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('保存成功','确定',config); - } - },err=>{ - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.canvasData.isChange = true - this.snackBar.open('单位数据保存失败','确定',config); - }) - - //批量保存建筑毗邻 - let buildingAdjoins = this.canvasData.getBuildingAdjoinInfo() - this.http.post(`/api/BuildingAdjoins/Batch?companyId=${this.params.companyId}&buildingId=${this.canvasData.selectStorey.buildingId}`,buildingAdjoins).subscribe(data => { - this.saveNum.push("1") - if(this.saveNum.length == 5){ - this.canvasData.isChange = false - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('保存成功','确定',config); - } - },err=>{ - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.canvasData.isChange = true - this.snackBar.open('建筑毗邻保存失败','确定',config); - }) - - //批量保存建筑重点部位 - let buildingImportantLocations = this.canvasData.getBuildingImportantLocations() - this.http.post(`/api/BuildingImportantLocations/Batch?companyId=${this.params.companyId}&buildingId=${this.canvasData.selectStorey.buildingId}`,buildingImportantLocations).subscribe(data => { - this.saveNum.push("1") - if(this.saveNum.length == 5){ - this.canvasData.isChange = false - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('保存成功','确定',config); - } - },err=>{ - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.canvasData.isChange = true - this.snackBar.open('建筑重点部位保存失败','确定',config); - }) - - //批量保存建筑消防设施素材 - let buildingFacilityAssets = this.canvasData.getAllBuildingFacilityAssetInfo() - this.http.post(`/api/BuildingFacilityAssets/Batch?companyId=${this.params.companyId}&buildingId=${this.canvasData.selectStorey.buildingId}`,buildingFacilityAssets).subscribe(data => { - this.saveNum.push("1") - if(this.saveNum.length == 5){ - this.canvasData.isChange = false - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('保存成功','确定',config); - } - },err=>{ - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.canvasData.isChange = true - this.snackBar.open('建筑消防设施素材保存失败','确定',config); - }) - - } - } - }else{//如果是想定作业编辑模式 - const dialogRef = this.dialog.open(saveOneDialog, { - data: {allDisposalNode: this.canvasData.allDisposalNode, - selectedBuildingData:this.beforeOneCheckedBuilding, - selectedSiteData:this.selectingSitePlan, - siteOrbuilding:this.checkedBuildingIndex, - disasterId: this.allFirePlan[0].id || '' - } - }); - - dialogRef.afterClosed().subscribe(result => { - console.log('The dialog was closed'); - }); - } - } - - //获得所有的建筑物 - getAllBuildings(){ - this.http.get("/api/Buildings",{ - params:{ - companyId : this.params.companyId - } - }).subscribe(data=>{ - this.allBuildings = data - }) - } - - //拖拽tree - drop(e){ - console.log(1111,e) - } - drop2(e){ - console.log(222,e) - } - - //创建建筑 - createBuilding(){ - let data = { - allBuildings:this.allBuildings, - companyId :this.params.companyId - } - let dialogRef = this.dialog.open(CreateBuilding,{data}); - dialogRef.afterClosed().subscribe(data=>{ - if (data == "创建成功") { - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('创建成功','确定',config); - this.getAllBuildings() - }else if (data == "创建失败") { - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('创建失败','确定',config); - } - }); - } - - //选择建筑 - checkedBuilding(item,index){ - if (this.checkedBuildingIndex!=index) { - this.beforeOneCheckedBuilding = item - this.checkedBuildingIndex = index - if (index==-1) { //总平面图数据 - this.getSitePlan() - } else { //建筑楼层/区域数据 - this.getBuildingSitePlan(item) - } - } - } - - //编辑建筑 - editBuilding(e,item){ - e.stopPropagation(); - let dialogRef = this.dialog.open(EditBuilding,{data: {item:item}}); - dialogRef.afterClosed().subscribe(data=>{ - if (data == "修改成功") { - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('修改成功','确定',config); - this.getAllBuildings() - }else if (data == "修改失败") { - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('修改失败','确定',config); - } - }); - } - - //删除建筑 - deleteBuilding(e,item){ - e.stopPropagation(); - if(confirm("是否删除该建筑") == true){ - this.http.delete(`/api/Buildings/${item.id}`).subscribe(data=>{ - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('删除成功','确定',config); - this.http.get("/api/Buildings",{ - params:{ - companyId :this.params.companyId - } - }).subscribe(data=>{ - this.allBuildings = data - this.beforeOneCheckedBuilding = {name:"总平面图"} - this.checkedBuildingIndex = -1 - this.getSitePlan() - }) - },err=>{ - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('删除失败','确定',config); - this.getAllBuildings() - }) - } - } - - storeyData //将建筑素材和当前楼层素材合二为一 - - //处理 tree 数据结构 - handleTreeData (storeyData) { - this.canvas.setNameVisible(this.basicInfo,0) - - this.storeyData = storeyData - let data = this.allFireElements //所有消防要素模板 - let treeData = [] //tree型 处理完成后的数据 - data.forEach(element => { - element.isTemplate = true //添加模板标识 - element.isLook = true //添加是否可见标识 - element.name!='其他'? element.children = [] : null - - if(storeyData){ - for(let key in storeyData.data){ - storeyData.data[key].isLookPattern = true - if(element.id == storeyData.data[key].FireElementId){ - storeyData.data[key].isTemplate = false - storeyData.data[key].isLook = true - - element.isNewElement = true //该节点children是否存在新添加的真实素材 标识 - - //定义查看模式下能看到的元素 - element.isLookPattern = true - if(element.parentId){ - data.forEach(i => { - if(i.id == element.parentId){ - i.isLookPattern = true - } - }) - } - // - - element.children.push(storeyData.data[key]) - } - } - } - data.forEach(item => { if (item.parentId == element.id) {element.children.push(item)} }); - }); - data.forEach(element => { - if (!element.parentId) { treeData.push(element) } - }); - this.dataSource.data = treeData - this.treeControl.expandAll() - } - - //点击树节点 - clickTreeNode(node){ - if(this.canvasData.originalcompanyBuildingData.data[node.id]){ - this.setAssetsProperty(this.canvasData.originalcompanyBuildingData.data[node.id]) - }else if(this.canvasData.originaleveryStoreyData.data[node.id]){ - this.setAssetsProperty(this.canvasData.originaleveryStoreyData.data[node.id]) - } - - //canvas上的素材高亮 - let iconHighLightArr:any = [] - if(node.isTemplate){//如果是模板,则开始向下找 - node.children.forEach(item => { - if(item.isTemplate){//如果子节点依旧是模板,则继续开始向下找 - item.children.forEach(i => { - iconHighLightArr.push(i.Id) - }) - }else{ - iconHighLightArr.push(item.Id) - } - }) - }else{ - iconHighLightArr.push(node.id) - } - this.canvas.setHighlight(iconHighLightArr) - } - - //点击数节点的显示隐藏icon - clickLookItem(node){ - - //修改真实素材islook属性 - for(let key in this.storeyData.data){ - if(key == node.id){ - this.storeyData.data[key].isLook = !this.storeyData.data[key].isLook - } - } - - //所有消防要素模板变化islook值 - if(node.isTemplate){ - this.allFireElements.forEach(item=>{ - if(item.id == node.id || item.name == "其他"){ - item.isLook = !item.isLook - } - }) - } - - - //子节点跟随父节点的islook变化 -   if(node.children && node.children.length != 0){ -      node.children.forEach(item=>{ -        item.isLook = !node.isLook  -        if(item.children && item.children.length != 0){ -          item.children.forEach(i=>{ -            i.isLook =  !node.isLook  -          }) -        } -      }) -     } - - - const nodes = this.treeControl.dataNodes; - const expandNodes = []; - nodes.forEach((item) => { - if(item.expandable && this.treeControl.isExpanded(item)){ - expandNodes.push(item.id); - } - }); - - - this.dataSource.data = [...this.dataSource.data] - let newNodes = this.treeControl.dataNodes; - newNodes = newNodes.filter(n => { - return expandNodes.indexOf(n.id) >= 0; - }); - newNodes.forEach(item => { - this.treeControl.expand(item); - }); - - //canvas上的素材显隐 - let iconVisibleArr:any = [] - if(node.isTemplate){//如果是模板,则开始向下找 - node.children.forEach(item => { - if(item.isTemplate){//如果子节点依旧是模板,则继续开始向下找 - item.children.forEach(i => { - iconVisibleArr.push(i.Id) - }) - }else{ - iconVisibleArr.push(item.Id) - } - }) - }else{ - iconVisibleArr.push(node.id) - } - this.canvas.setIconVisible(iconVisibleArr,!node.isLook) - } - - //计算 可视区域内宽度, 是否缩放背景图 - backGroundScale () { - let that = this - let dadWidth = document.querySelector('.canvas').clientWidth - let dadHeight = document.querySelector('.canvas').clientHeight - let img = new Image() - img.src = this.selectingSitePlan.imageUrl; - img.onload = function(){ - if (img.height > dadHeight && img.width > dadWidth) { - let width = dadWidth/img.width - let height = dadHeight/img.height - that.canvas.setBackgroundScale((width>height? height : width)-0.005) - return - } else if (img.height > dadHeight) { - that.canvas.setBackgroundScale((dadHeight/img.height)-0.005) - return - } else if (img.width > dadWidth) { - that.canvas.setBackgroundScale((dadWidth/img.width)-0.005) - return - } - }; - } - - //封装 刷新 tree 数据 - renovateTreeData (isRefresh:boolean = true) { - this.allFireElements[this.allFireElements.length-1].children = [] - isRefresh? this.canvas.refresh() : null - isRefresh? this.canvasData.isChange = false : null //服务中 数据是否改动 改为false - isRefresh? this.isShowProperty = true : null - isRefresh? this.isShowAttribute = true : null - isRefresh && this.selectingSitePlan.imageUrl? this.backGroundScale() : null - !this.pattern? this.mateFireForce() : null - - let beforeOneId = this.selectingSitePlan.id || '' //当前 选中 平面图 楼层/区域 id - let companyBuildingData = JSON.parse(JSON.stringify( this.canvasData.originalcompanyBuildingData || {} )) // 当前 单位/建筑 数据 - let storeyData = JSON.parse(JSON.stringify( this.canvasData.originaleveryStoreyData || {} )) //当前 楼层 数据 - - for(let key in companyBuildingData.data){ - if (companyBuildingData.data[key].FloorId === beforeOneId) { //处理 单位/建筑 数据是否归于当前楼层下 - storeyData.data[key] = companyBuildingData.data[key] - } - } - for(let key in storeyData.data){ //筛选数据 没有匹配全部放入到 其他 数组 - let noMatch = this.allFireElements.find( every=> every.id===storeyData.data[key].FireElementId ) - if (!noMatch) { - this.allFireElements[this.allFireElements.length-1].children.push(storeyData.data[key]) - } - } - this.handleTreeData(storeyData) //处理tree数据结构 - } - - - - //陈鹏飞↓↓↓ - //陈鹏飞↓↓↓ - //陈鹏飞↓↓↓ - params = {companyId: sessionStorage.getItem('companyId')} - allFireElements:any = []; //当前 单位/建筑 下的消防要素 - - isShowAttribute:boolean = true; //属性栏 是否显示 默认数据 - isShowProperty:boolean = false //属性栏 是否有东西 - - toggleExpandPanel:boolean = false; //左侧可展开面板展开或关闭 - toggleExpandPanelRight:boolean = false; //右侧可展开面板展开或关闭 - togglePlane:boolean = true; //可展开面板平面图 显隐 - toggleMaterialBank:boolean = false; //可展开面板素材库 显隐 - toggleHandlePlans:boolean = true; //可展开面板处置预案 显隐 - //可展开面板展开或关闭 - toggle () { - this.toggleExpandPanel = !this.toggleExpandPanel - } - //可展开面板展开或关闭 - toggle2 () { - this.toggleExpandPanelRight = !this.toggleExpandPanelRight - } - //可展开面板 平面图 展开或关闭 - togglePlanarGraph () { - this.togglePlane = !this.togglePlane - } - //可展开面板 素材库 展开或关闭 - toggleMaterial () { - this.toggleMaterialBank = !this.toggleMaterialBank - } - //可展开面板 处置预案 展开或关闭 - toggleHandlePlan () { - this.toggleHandlePlans = !this.toggleHandlePlans - } - - sitePlanData:any = []; //总平面图 楼层/区域 数据 - selectingSitePlan:any; //选中的 平面图 楼层/区域 - selectSitePlanIndex:number; //选中的 平面图 楼层/区域 index - - //获取总平面图 - getSitePlan () { - let fireData = this.getFireElements(sessionStorage.getItem('buildingTypeId')) //获取单位下 消防要素 - let planData = this.getSitePlanCompanyData() //获取 单位 数据 - this.http.get('/api/SitePlans',{params:this.params}).subscribe(data=>{ - this.sitePlanData = data - this.selectingSitePlan = this.sitePlanData[0] || {} - this.canvasData.selectStorey = this.sitePlanData[0] || {} //服务中 存一份数据 - this.selectSitePlanIndex = 0 - - Promise.all([fireData,planData]).then((res)=>{ - this.getSitePlanStorey(this.selectingSitePlan) //获取 平面图 楼层数据 - }) - - }) - } - - //获取建筑 楼层/区域 - getBuildingSitePlan (item) { - let params = { - buildingId: item.id - } - let fireData = this.getFireElements(item.buildingTypes[0].id || '') //获取建筑下 消防要素 - let planData = this.getBuildingData(params) //获取 建筑 数据 - this.http.get('/api/BuildingAreas',{params}).subscribe(data=>{ - this.sitePlanData = data - this.selectingSitePlan = this.sitePlanData[0] || {} - this.canvasData.selectStorey = this.sitePlanData[0] || {} //服务中 存一份数据 - this.selectSitePlanIndex = 0 - - Promise.all([fireData,planData]).then((res)=>{ - this.getBuildingStorey(this.selectingSitePlan) //获取 建筑 楼层数据 - }) - - }) - } - - //根据单位类型获得所有的消防要素 - getFireElements (e) { - let params = {ids:e} - return new Promise ((resolve,reject)=>{ - this.http.get('/api/Companies/FireElements',{params}).subscribe((data:any)=>{ - this.allFireElements = data //所有消防要素 - let other = { - children: [], - computed: true, - id: '', - name: '其他', - order: 999, - parentId: null, - tag: "INPUT", - isLookPattern : true - } - this.allFireElements.push(other) - resolve('success') - }) - }) - } - - //获取 单位 数据 - getSitePlanCompanyData () { - return new Promise ((resolve,reject)=>{ - this.http.get('/api/CompanyData',{params:this.params}).subscribe((data:any)=>{ - this.canvasData.originalcompanyBuildingData = data || {} // 单位原数据 - this.canvasData.originalcompanyBuildingData.data? this.canvasData.originalcompanyBuildingData.data = JSON.parse(this.canvasData.originalcompanyBuildingData.data) : this.canvasData.originalcompanyBuildingData.data = {} - this.canvasData.originalcompanyBuildingData.version? null : this.canvasData.originalcompanyBuildingData.version = "2.0" - this.canvasData.originalcompanyBuildingData.companyId? null : this.canvasData.originalcompanyBuildingData.companyId = sessionStorage.getItem('companyId') - resolve('success') - }) - }) - } - - //获取 平面图 楼层数据 - getSitePlanStorey (e) { - let params = {sitePlanId: e.id} - this.http.get(`/api/SitePlanData`,{params}).subscribe((data:any)=>{ - this.canvasData.originaleveryStoreyData = data || {} // 楼层原数据 - this.canvasData.originaleveryStoreyData.data? this.canvasData.originaleveryStoreyData.data = JSON.parse(this.canvasData.originaleveryStoreyData.data) : this.canvasData.originaleveryStoreyData.data = {} - this.canvasData.originaleveryStoreyData.version? null : this.canvasData.originaleveryStoreyData.version = "2.0" - this.canvasData.originaleveryStoreyData.sitePlanId? null : this.canvasData.originaleveryStoreyData.sitePlanId = e.id || null - this.renovateTreeData() - }) - } - - //获取 建筑 数据 - getBuildingData (e) { - return new Promise ((resolve,reject)=>{ - this.http.get(`/api/BuildingData`,{params:e}).subscribe((data:any)=>{ - this.canvasData.originalcompanyBuildingData = data || {} // 建筑原数据 - this.canvasData.originalcompanyBuildingData.data? this.canvasData.originalcompanyBuildingData.data = JSON.parse(this.canvasData.originalcompanyBuildingData.data) : this.canvasData.originalcompanyBuildingData.data = {} - this.canvasData.originalcompanyBuildingData.version? null : this.canvasData.originalcompanyBuildingData.version = "2.0" - this.canvasData.originalcompanyBuildingData.buildingId? null : this.canvasData.originalcompanyBuildingData.buildingId = e.buildingId - resolve('success') - }) - }) - } - - //获取 建筑 楼层数据 - getBuildingStorey (e) { - let params = {buildingAreaId: e.id} - this.http.get(`/api/BuildingAreaData`,{params}).subscribe((data:any)=>{ - this.canvasData.originaleveryStoreyData = data || {} // 楼层原数据 - this.canvasData.originaleveryStoreyData.data? this.canvasData.originaleveryStoreyData.data = JSON.parse(this.canvasData.originaleveryStoreyData.data) : this.canvasData.originaleveryStoreyData.data = {} - this.canvasData.originaleveryStoreyData.version? null : this.canvasData.originaleveryStoreyData.version = "2.0" - this.canvasData.originaleveryStoreyData.buildingAreaId? null : this.canvasData.originaleveryStoreyData.buildingAreaId = e.id || null - this.renovateTreeData() - }) - } - - //点击选中 平面图 楼层/区域 时 - selectSitePlan (item,index) { - if (this.selectSitePlanIndex != index) { - - if (this.canvasData.isChange) { //true 数据被改动 - let isTrue = confirm('是否保存当前编辑数据') - if (isTrue) { //先保存数据 在切换 - let isSuccess = this.saveSite()//true的时候 先保存数据 - if (isSuccess != false) { - this.selectingSitePlan = item - this.selectSitePlanIndex = index - this.canvasData.selectStorey = item //服务中 存一份数据 - if (this.checkedBuildingIndex==-1) { //总平面图时 - this.getSitePlanStorey(item) //获取 平面图 楼层数据 - } else { //楼层/区域时 - this.getBuildingStorey(item) //获取 建筑 楼层数据 - } - } - } else { //不保存数据 直接切换 - this.selectingSitePlan = item - this.selectSitePlanIndex = index - this.canvasData.selectStorey = item //服务中 存一份数据 - if (this.checkedBuildingIndex==-1) { //总平面图时 - this.getSitePlanStorey(item) //获取 平面图 楼层数据 - } else { //楼层/区域时 - this.getBuildingStorey(item) //获取 建筑 楼层数据 - } - } - - } else { //false 数据没被改动 - this.selectingSitePlan = item - this.selectSitePlanIndex = index - this.canvasData.selectStorey = item //服务中 存一份数据 - if (this.checkedBuildingIndex==-1) { //总平面图时 - this.getSitePlanStorey(item) //获取 平面图 楼层数据 - } else { //楼层/区域时 - this.getBuildingStorey(item) //获取 建筑 楼层数据 - } - } //if - - } - } - - //新增平面图 楼层/区域 - foundPanel (e) { - e.stopPropagation() - let data = { - isBuilding: this.checkedBuildingIndex==-1? false:true, - Panel: this.beforeOneCheckedBuilding, - order: this.sitePlanData.length? this.sitePlanData[this.sitePlanData.length-1].order+1:0, - } - let dialogRef = this.dialog.open(leftFunctionalDomainComponent,{data}); - dialogRef.afterClosed().subscribe(data=>{ - if (data =='总平面图') { - this.renovateSitePlan() - } else if (data =='建筑') { - this.renovateBuilding() - } - }) - } - - //编辑平面图 楼层/区域 - editPlaneData (e) { - let data = { - isBuilding: this.checkedBuildingIndex==-1? false:true, - Panel: this.beforeOneCheckedBuilding, - buildingData: e, - } - let dialogRef = this.dialog.open(editPlaneFigureComponent,{data}); - dialogRef.afterClosed().subscribe(data=>{ - if (data =='总平面图') { - this.renovateSitePlan() - } else if (data =='建筑') { - this.renovateBuilding() - } - }) - } - - //平面图 楼层/区域 上移 - moveUp (item,index) { - if (index != 0) { - let replaceIndex = this.sitePlanData[index].order - this.sitePlanData[index].order = this.sitePlanData[index-1].order - this.sitePlanData[index-1].order = replaceIndex - if (this.checkedBuildingIndex==-1) { //总平面图 - this.http.put(`/api/SitePlans/${this.sitePlanData[index-1].id}`,this.sitePlanData[index-1]).subscribe(data=>{ - this.http.put(`/api/SitePlans/${this.sitePlanData[index].id}`,this.sitePlanData[index]).subscribe(data=>{ - this.selectSitePlanIndex = this.selectSitePlanIndex-1 - this.renovateSitePlan() - }) - }) - } else { //楼层/区域 - this.http.put(`/api/BuildingAreas/${this.sitePlanData[index-1].id}`,this.sitePlanData[index-1],{params:this.params}).subscribe(data=>{ - this.http.put(`/api/BuildingAreas/${this.sitePlanData[index].id}`,this.sitePlanData[index],{params:this.params}).subscribe(data=>{ - this.selectSitePlanIndex = this.selectSitePlanIndex-1 - this.renovateBuilding() - }) - }) - } - - } //if index - } - - //平面图 楼层/区域 下移 - moveDown (item,index) { - if (index != this.sitePlanData.length-1) { - let replaceIndex = this.sitePlanData[index].order - this.sitePlanData[index].order = this.sitePlanData[index+1].order - this.sitePlanData[index+1].order = replaceIndex - if (this.checkedBuildingIndex==-1) { //总平面图 - this.http.put(`/api/SitePlans/${this.sitePlanData[index+1].id}`,this.sitePlanData[index+1]).subscribe(data=>{ - this.http.put(`/api/SitePlans/${this.sitePlanData[index].id}`,this.sitePlanData[index]).subscribe(data=>{ - this.selectSitePlanIndex = this.selectSitePlanIndex+1 - this.renovateSitePlan() - }) - }) - } else { //楼层/区域 - this.http.put(`/api/BuildingAreas/${this.sitePlanData[index+1].id}`,this.sitePlanData[index+1],{params:this.params}).subscribe(data=>{ - this.http.put(`/api/BuildingAreas/${this.sitePlanData[index].id}`,this.sitePlanData[index],{params:this.params}).subscribe(data=>{ - this.selectSitePlanIndex = this.selectSitePlanIndex+1 - this.renovateBuilding() - }) - }) - } - - } //if index - } - - //旋转底图 - revolveImg (item) { - item.imageAngle==270? item.imageAngle = 0 : item.imageAngle = item.imageAngle+90 - if (this.checkedBuildingIndex==-1) { //总平面图 - this.http.put(`/api/SitePlans/${item.id}`,item).subscribe(data=>{ - let isSuccess = this.renovateSitePlan() - isSuccess.then(res=>{ - this.canvas.refreshBackgroundImage() - }) - }) - } else { //楼层/区域 - this.http.put(`/api/BuildingAreas/${item.id}`,item,{params:this.params}).subscribe(data=>{ - let isSuccess = this.renovateBuilding() - isSuccess.then(res=>{ - this.canvas.refreshBackgroundImage() - }) - }) - } - - } - - //删除 平面图 楼层/区域 - deletePlaneData (item) { - let isDelete = confirm('您确定要删除吗') - if (isDelete) { - if (this.checkedBuildingIndex==-1) { //总平面图 - this.http.delete(`/api/SitePlans/${item.id}`).subscribe(data=>{ - this.deleteShareData(item,-1) - }) - } else { //楼层/区域 - this.http.delete(`/api/BuildingAreas/${item.id}`).subscribe(data=>{ - this.deleteShareData(item,1) - }) - } - } - } - - //删除当前 单位/建筑的 共享数据中 已删除data - deleteShareData (e,isCompany) { - this.sitePlanData.forEach((element,index) => { - if (element.id===e.id) { - this.sitePlanData.splice(index,1) - return - } - }); - let data = this.canvasData.originalcompanyBuildingData; - for(let key in data.data){ - if (data.data[key].FloorId === e.id) { //处理 单位/建筑 数据是否归于当前楼层下 - delete data.data[key] - } - } - let newData = JSON.parse(JSON.stringify(this.canvasData.originalcompanyBuildingData)); - newData.data = JSON.stringify(newData.data) // 转换JSON 数据格式 - this.selectingSitePlan = this.sitePlanData[0] || {} - this.canvasData.selectStorey = this.sitePlanData[0] || {} //服务中 存一份数据 - this.selectSitePlanIndex = 0 - if (isCompany===-1) { - this.http.post("/api/CompanyData",newData).subscribe(data => {}) - this.getSitePlanStorey(this.selectingSitePlan) //获取 平面图 楼层数据 - } else { - this.http.post("/api/BuildingData",newData,{params:this.params}).subscribe(data => {}) - this.getBuildingStorey(this.selectingSitePlan) //获取 建筑 楼层数据 - } - } - - //复制图层 平面图 楼层/区域 - duplicateLayer (item) { - if (this.checkedBuildingIndex==-1) { //总平面图 - item.id = "" - item.modifiedTime = new Date() - item.name = item.name + '(副本)' - item.order = this.sitePlanData[this.sitePlanData.length-1].order+1 - this.http.post('/api/SitePlans',item).subscribe((data:any)=>{ - let newData = { - version: this.canvasData.originaleveryStoreyData.version || "2.0", - id: "", - data: JSON.stringify( JSON.parse(JSON.stringify(this.canvasData.originaleveryStoreyData.data)) ) || null, - sitePlanId: data.id - } - this.http.post('/api/SitePlanData',newData,{params:this.params}).subscribe(data=>{ - this.renovateSitePlan() - }) - - }) - } else { //楼层/区域 - item.id = "" - item.modifiedTime = new Date() - item.name = item.name + '(副本)' - item.order = this.sitePlanData[this.sitePlanData.length-1].order+1 - this.http.post('/api/BuildingAreas',item,{params:this.params}).subscribe((data:any)=>{ - let newData = { - version: this.canvasData.originaleveryStoreyData.version || "2.0", - id: "", - data: JSON.stringify( JSON.parse(JSON.stringify(this.canvasData.originaleveryStoreyData.data)) ) || null, - buildingAreaId: data.id - } - this.http.post('/api/BuildingAreaData',newData,{params:this.params}).subscribe(data=>{ - this.renovateBuilding() - }) - - }) - } - } - - //平面图 楼层/区域 替换底图 - replaceBaseMap (e,item) { - e.stopPropagation(); - let file = e.target.files[0] || null //获取上传的文件 - let fileSize = file.size || null //上传文件的总大小 - let maxSize = 5 * 1024 * 1024 //5MB一个分片 - - if (file && fileSize<=maxSize) { //上传文件<=5MB时 - let formData = new FormData() - formData.append("file",file) - this.http.post(`/api/Objects/WebPlan2D/${sessionStorage.getItem('companyId')}`,formData).subscribe((data:any)=>{ - this.renovateBaseMap(data.objectName,item) - }) - } else { - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('上传底图需小于5MB','确定',config); - } - } - - //封装 替换底图 function - renovateBaseMap (e,item) { - item.imageUrl = '/api/Objects/WebPlan2D/' + e - if (this.checkedBuildingIndex ==-1) { //总平面图 - this.http.put(`/api/SitePlans/${item.id}`,item).subscribe(data=>{ - let isSuccess = this.renovateSitePlan() - isSuccess.then(res=>{ - this.canvas.refreshBackgroundImage() - this.backGroundScale() - }) - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('上传底图成功','确定',config); - }) - } else { //楼层/区域 - this.http.put(`/api/BuildingAreas/${item.id}`,item,{params:this.params}).subscribe(data=>{ - let isSuccess = this.renovateBuilding() - isSuccess.then(res=>{ - this.canvas.refreshBackgroundImage() - this.backGroundScale() - }) - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('上传底图成功','确定',config); - }) - } - } - - //封装 刷新总平面图 数据 - renovateSitePlan () { - return new Promise ((resolve,reject)=>{ - this.http.get('/api/SitePlans',{params:this.params}).subscribe(data=>{ - this.sitePlanData = data - this.selectingSitePlan = this.sitePlanData[this.selectSitePlanIndex] - this.canvasData.selectStorey = this.sitePlanData[this.selectSitePlanIndex] //服务中 存一份数据 - this.canvasData.originaleveryStoreyData.sitePlanId? null : this.canvasData.originaleveryStoreyData.sitePlanId = this.selectingSitePlan.id || null - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('数据更新成功','确定',config); - resolve('success') - }) - }) - } - - //封装 刷新 楼层/区域 数据 - renovateBuilding () { - let params = { - buildingId: this.beforeOneCheckedBuilding.id - } - return new Promise ((resolve,reject)=>{ - this.http.get('/api/BuildingAreas',{params}).subscribe(data=>{ - this.sitePlanData = data - this.selectingSitePlan = this.sitePlanData[this.selectSitePlanIndex] - this.canvasData.selectStorey = this.sitePlanData[this.selectSitePlanIndex] //服务中 存一份数据 - this.canvasData.originaleveryStoreyData.buildingAreaId? null : this.canvasData.originaleveryStoreyData.buildingAreaId = this.selectingSitePlan.id || null - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('数据更新成功','确定',config); - resolve('success') - }) - }) - } - - allLibrary:any = []; //所有素材库 + 素材 - selectLibrary:any; //选中的素材库 - selectImage:any; //选中的素材库图片 - selectImageIndex:number; //选中的素材库图片index - - //获取素材库 - getAllLibrary (type:string='input') { - this.http.get(`/api/AssetLibraries?tag=${type}`).subscribe((data:any)=>{ - data.forEach(element => { - element.images = [] - }); - this.allLibrary = data - this.selectImageIndex = -1 - this.canvas.cancelPaint() - }) - } - - //素材库展开面板展开时 - opened (e) { - if (!e.images.length) { //当前素材库没加载素材时 - this.http.get(`/api/Assets?libraryId=${e.id}`).subscribe((data:any)=>{ - e.images = data - }) - } - } - - //点击选中素材库图片时 - selectImg (item,items,index) { - this.selectLibrary = item.name - this.selectImage = items - this.selectImageIndex = index - this.canvasData.selectTemplateData = items - this.canvas.beginPaint() - } - - - - //处置预案 - // tree配置 - private transformer = (node, level: number) => {//要给渲染节点传那些属性参数 - return { - expandable: !!node.children && node.children.length > 0, - name: node.name || node.Name, - level: level, - id: node.id || node.Id, - children: node.children, - airTemperature: node.airTemperature, - buildingAreaId: node.buildingAreaId, - buildingId: node.buildingId, - companyId: node.companyId, - description: node.description, - disasterId: node.disasterId, - imageNames: node.imageNames, - imageUrls: node.imageUrls, - notes: node.notes, - order: node.order, - parentId: node.parentId, - planComponentId: node.planComponentId, - sitePlanId: node.sitePlanId, - weather: node.weather, - windDirection: node.windDirection, - windScale: node.windScale, - }; - } - fireTreeControl = new FlatTreeControl(node => node.level, node => node.expandable); - fireTreeFlattener = new MatTreeFlattener(this.transformer, node => node.level, node => node.expandable, node => node.children); - fireTreeData = new MatTreeFlatDataSource(this.fireTreeControl, this.fireTreeFlattener); - - allFirePlan:any = []; //所有灾情 - selectDisposalNode:string = ''; //当前 点击的 节点 - - //获取所有灾情 - getAllFirePlan () { - let params = {componentId: sessionStorage.getItem('planId')} - this.http.get('/api/Disasters',{params:params}).subscribe((data:any)=>{ - this.allFirePlan = data - this.getDisposalNode() - if (!data.length) { - let msg = { - name: '灾情', - modifiedTime: new Date(), - planComponentId: sessionStorage.getItem('planId') - } - this.http.post('/api/Disasters',msg).subscribe(data=>{ this.allFirePlan.push(data) }) - } //if - }) - } - - //获取所有处置节点 - getDisposalNode () { - this.selectDisposalNode = '' - let params = {disasterId: this.allFirePlan[0].id || ''} - this.http.get('/api/DisasterData/Markers',{params:params}).subscribe(data=>{ //灾情标签信息 - this.canvasData.allNodeMarkers = data - this.mateFireForce() - }) - this.http.get('/api/DisposalNodes',{params:params}).subscribe(data=>{ //处置节点 - this.canvasData.allDisposalNode = data - this.handleHybridTree() - }) - } - - //处理 节点 Tree数据 - handleHybridTree () { - let treeData = [] - let data = JSON.parse(JSON.stringify( this.canvasData.allDisposalNode || [] )) - data.forEach(element => { - element.children = [] - data.forEach(item=>{ - item.parentId === element.id? element.children.push(item) : null - }) - }); - data.forEach(element=>{ - !element.parentId? treeData.push(element) : null - }) - this.fireTreeData.data = treeData - this.fireTreeControl.expandAll() - } - - //刷新 treeData 保存已展开节点 - refurbishTreeData () { - let params = {disasterId: this.allFirePlan[0].id || ''} - this.http.get('/api/DisposalNodes',{params:params}).subscribe(nodeData=>{ //处置节点 - this.canvasData.allDisposalNode = nodeData - let nodes = this.fireTreeControl.dataNodes; - let treeData = [] - let expandNodes = []; - let data = JSON.parse(JSON.stringify( this.canvasData.allDisposalNode || [] )) - data.forEach(element => { - element.children = [] - data.forEach(item=>{ - item.parentId === element.id? element.children.push(item) : null - }) - }); - data.forEach(element=>{ - !element.parentId? treeData.push(element) : null - }) - - //保存 已展开节点数据 - nodes.forEach((item) => { - if(item.expandable && this.fireTreeControl.isExpanded(item)){ - expandNodes.push(item.id); - } - }); - this.fireTreeData.data = treeData; - let newNodes = this.fireTreeControl.dataNodes; - newNodes = newNodes.filter(n => { - return expandNodes.indexOf(n.id) >= 0; - }); - newNodes.forEach(item => { - this.fireTreeControl.expand(item); - }); - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('数据更新成功','确定',config); - }) - } - - sitePlanIcon = {fire:0,force:0} // 总平面图 火源/力量 图标 是否展示 - sitePlanBuildingID:string = ''; //选择 数据节点的 建筑id - storeyID:string = ''; //选择 数据节点的 楼层id - - //刷新 建筑楼层 匹配 火源/力量 图标 - mateFireForce () { - let data = this.canvasData.allNodeMarkers.markers - for(let key in data){ //遍历 火/力量 图标 - this.sitePlanData.forEach(element => { //楼层 - if (element.id==key) { // 相匹配时 - data[key].fireCount != 0? element.fire=1 : element.fire=0 - data[key].forceCount != 0? element.force=1 : element.force=0 - } - }); - this.allBuildings.forEach(element => { //建筑 - if (element.id==key) { // 相匹配时 - data[key].fireCount != 0? element.fire=1 : element.fire=0 - data[key].forceCount != 0? element.force=1 : element.force=0 - } - }); - if (this.params.companyId==key) { //总平面图时 - data[key].fireCount != 0? this.sitePlanIcon.fire=1 : this.sitePlanIcon.fire=0 - data[key].forceCount != 0? this.sitePlanIcon.force=1 : this.sitePlanIcon.force=0 - } - } - } - - // 切换 基本信息时 刷新 删除 建筑楼层 自定义属性 - mateDeleteCustomize () { - this.sitePlanBuildingID = '' - this.storeyID = '' - this.sitePlanIcon = {fire:0,force:0} - this.sitePlanData.forEach(element => { //楼层 - delete element.fire - delete element.force - }); - this.allBuildings.forEach(element => { //建筑 - delete element.fire - delete element.force - }); - } - - //计算差异 - countValue (e) { - e.stopPropagation() - let params = {disasterId: this.allFirePlan[0].id || ''} - this.http.get('/api/DisasterData/Diffs',{params:params}).subscribe(data=>{ - this.canvasData.allNodeMarkers = data - this.sitePlanBuildingID = '' - this.storeyID = '' - this.mateFireForce() - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('计算差异完成','确定',config); - }) - } - - //新建 处置预案 节点 - addPanelPoint (e,item,treeData) { - e.stopPropagation() - let order - if (item) { - item.children.length? order = item.children[item.children.length-1].order+1 : order = 0 - } else { - treeData && treeData._data._value.length? order = treeData._data._value[treeData._data._value.length-1].order+1 : order = 0 - } - let data = { - name: '', - level: item? 1 : 0, - order: order, - description: '', - disasterId: this.allFirePlan[0].id || '', - parentId: item? item.id : null, - planComponentId: sessionStorage.getItem('planId') || '', - } - let dialogRef = this.dialog.open(addDisposalNodeComponent,{data}); - dialogRef.afterClosed().subscribe(data=>{ - if (data) { this.refurbishTreeData() } - }) - } - - //编辑 处置预案 节点 - editPanelPoint (e,item) { - e.stopPropagation() - let data = item - let dialogRef = this.dialog.open(editDisposalNodeComponent,{data}); - dialogRef.afterClosed().subscribe(data=>{ - if (data) { - this.canvasData.allDisposalNode.forEach(element => { element.id === item.id? element.name=item.name : null }); - } - }) - } - - //复制 处置预案 节点 - copyPanelPoint (e,item,treeData) { - e.stopPropagation() - if (confirm(`确定要复制 ${item.name} ?`)) { - let params = {id: item.id} - let order - if (item.level==0) { - treeData._data._value.length? order = treeData._data._value[treeData._data._value.length-1].order+1 : order = 0 - } else { - let index = treeData._data._value.findIndex(items=>{return items.id===item.parentId}) - treeData._data._value[index] && treeData._data._value[index].children.length? order = treeData._data._value[index].children[treeData._data._value[index].children.length-1].order+1 : order = 0 - } - let data = { - name: item.name + '(副本)', - level: item.level, - order: order, - description: '', - disasterId: item.disasterId || '', - parentId: item.parentId || null, - planComponentId: item.planComponentId || '', - } - this.http.post('/api/DisposalNodes/Clone',data,{params:params}).subscribe(data=>{ - this.refurbishTreeData() - }) - } //isTrue - } - - //删除 处置预案 节点 - deletePanelPoint (e,item) { - e.stopPropagation() - if (confirm(`确定要删除 ${item.name} ?`)) { - this.http.delete(`/api/DisposalNodes/${item.id}`).subscribe(data=>{ - this.refurbishTreeData() - }) - } - } - - //点击 处置Tree节点 - selectanelPoint (e) { - if (!e.buildingAreaId && !e.sitePlanId) { //当前节点 不是 数据节点 时 - let msg = this.canvasData.findDisposalNode(e.id) - this.canvasData.selectPanelPointBaseData = msg - this.selectDisposalNode == msg.id? this.selectDisposalNode = '' : this.selectDisposalNode = msg.id //选中 节点 - - } else if (e.buildingAreaId || e.sitePlanId) { //当前节点 是 数据节点 时 - let msg = this.canvasData.findDisposalNode(e.parentId) - this.canvasData.selectPanelPointBaseData = msg - - e.sitePlanId? this.sitePlanBuildingID = this.params.companyId : this.sitePlanBuildingID = e.buildingId //火源/力量图标高亮 - e.sitePlanId? this.storeyID = e.sitePlanId : this.storeyID = e.buildingAreaId //火源/力量图标高亮 - this.selectDisposalNode = e.parentId //选中 节点 - if (this.canvasData.selectPanelPoint.disposalNodeId != e.id) { //选择节点 不是当前节点时 - let params = {nodeId: e.id} - let parameter = { //查询 节点 对应 建筑/楼层 index,id - buildingIndex: e.sitePlanId? -1 : this.allBuildings.findIndex(item=>{ return item.id===e.buildingId }), //总平面图/建筑 index - storeyId: e.sitePlanId? e.sitePlanId : e.buildingAreaId, //楼层id - } - this.http.get('/api/DisposalNodeData',{params:params}).subscribe(data=>{ - this.canvasData.selectPanelPoint = data //选择 当前 节点 - this.canvasData.selectPanelPoint.data = JSON.parse(this.canvasData.selectPanelPoint.data || {}) - this.seekPanelPoint(parameter) - }) - } //if - - } //else if - } - - //查找 数据节点 对应 建筑/楼层 - seekPanelPoint (paramsData) { - this.checkedBuildingIndex = paramsData.buildingIndex - if (paramsData.buildingIndex ==-1) { //总平面图时 - this.beforeOneCheckedBuilding={name:"总平面图"} - let fireData = this.getFireElements(sessionStorage.getItem('buildingTypeId')) //获取单位下 消防要素 - let planData = this.getSitePlanCompanyData() //获取 单位 数据 - this.http.get('/api/SitePlans',{params:this.params}).subscribe(data=>{ - this.sitePlanData = data - let index = this.sitePlanData.findIndex(item=>{ return item.id===paramsData.storeyId }) - this.selectingSitePlan = this.sitePlanData[index] || {} - this.canvasData.selectStorey = this.sitePlanData[index] || {} //服务中 存一份数据 - this.selectSitePlanIndex = index - - Promise.all([fireData,planData]).then((res)=>{ - this.getSitePlanStorey(this.selectingSitePlan) //获取 平面图 楼层数据 - }) - }) //get - } else { //建筑时 - this.beforeOneCheckedBuilding=this.allBuildings[paramsData.buildingIndex] - let params = { buildingId: this.beforeOneCheckedBuilding.id } - let fireData = this.getFireElements(this.beforeOneCheckedBuilding.buildingTypes[0].id || '') //获取建筑下 消防要素 - let planData = this.getBuildingData(params) //获取 建筑 数据 - this.http.get('/api/BuildingAreas',{params}).subscribe(data=>{ - this.sitePlanData = data - let index = this.sitePlanData.findIndex(item=>{ return item.id===paramsData.storeyId }) - this.selectingSitePlan = this.sitePlanData[index] || {} - this.canvasData.selectStorey = this.sitePlanData[index] || {} //服务中 存一份数据 - this.selectSitePlanIndex = index - - Promise.all([fireData,planData]).then((res)=>{ - this.getBuildingStorey(this.selectingSitePlan) //获取 建筑 楼层数据 - }) - }) //get - } - } - - - -} - - - -//创建建筑 -@Component({ - selector: 'app-createBuilding', - templateUrl: './createBuilding.html', - styleUrls: ['./collection-tools.component.scss'] -}) -export class CreateBuilding { - - constructor(private http:HttpClient,public dialog: MatDialog,public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data) { } - - allBuildingType:any//所有的建筑类型 - selected:any; //选中的建筑 - ngOnInit(): void { - this.getAllBuildingType() - } - - //获得所有单位类型 - getAllBuildingType(){ - this.http.get("/api/BuildingTypes/Simple").subscribe(data=>{ - this.allBuildingType = data - }) - } - - //创建建筑功能分区 - onSubmit (e) { - let companyId = sessionStorage.getItem("companyId") - let lastBuildingOrder = this.data.allBuildings.length != 0 ? this.data.allBuildings[this.data.allBuildings.length - 1].order + 1 : 0 - let data = - { - id: "", - name: e.propertyName, - order: lastBuildingOrder , - enabled: true, - companyId: companyId, - buildingTypes: [ - { - id: e.buildingId, - name: "" - } - ] - } - this.http.post("/api/Buildings",data,{ - params:{ - companyId : this.data.companyId - } - }).subscribe(data=>{ - this.dialogRef.close("创建成功"); - },err=>{ - this.dialogRef.close("创建失败"); - }) - } -} - -//编辑建筑 -@Component({ - selector: 'app-editBuilding', - templateUrl: './editBuilding.html', - styleUrls: ['./collection-tools.component.scss'] -}) -export class EditBuilding { - - constructor(private http:HttpClient,public dialog: MatDialog,public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data) { } - - defaultName:String = this.data.item.name//默认建筑名称 - defaultBuildingType:String = this.data.item.buildingTypes[0].id//默认建筑类型 - allBuildingType:any//所有的建筑类型 - - ngOnInit(): void { - this.getAllBuildingType() - } - - getAllBuildingType(){ - this.http.get("/api/BuildingTypes/Simple").subscribe(data=>{ - this.allBuildingType = data - }) - } - - //编辑建筑信息 - onSubmit (e) { - let companyId = sessionStorage.getItem("companyId") - let data = - { - id: this.data.item.id, - name: e.propertyName, - order: this.data.item.order, - enabled: true, - companyId: companyId, - buildingTypes: [ - { - id: e.buildingId, - name: "" - } - ] - } - this.http.put(`/api/Buildings/${this.data.item.id}`,data,{ - params:{ - id:this.data.item.id, - companyId:companyId - } - }).subscribe(data=>{ - this.dialogRef.close("修改成功"); - },err=>{ - this.dialogRef.close("修改失败"); - }) - } -} - -//查看图片大图 -@Component({ - selector: 'viewdetails', - templateUrl: './viewdetails.html', - styleUrls: ['./collection-tools.component.scss'] -}) -export class ViewDetails { - // myControl = new FormControl(); - //注入MatDialogRef,可以用来关闭对话框 - //要访问对话框组件中的数据,必须使用MAT_DIALOG_DATA注入令牌 - constructor(private http: HttpClient,public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data,private element: ElementRef) {} - imagesArr = this.data.imagesArr - onNoClick(): void { - this.dialogRef.close(); - } - ngOnInit(): void { - setTimeout(() => { - var mySwiper = new Swiper('.swiper-container',{ - loop: false, - initialSlide :this.data.index,//默认索引 - // 如果需要前进后退按钮 - navigation: { - nextEl: '.swiper-button-next', - prevEl: '.swiper-button-prev', - } - //其他设置 - }); - }, 0); - } - closeDialog(){ - this.dialogRef.close(); - } - count = 10 - zoomimg(e) { - if(this.count != 1 || e.wheelDelta >= 120){ - if(e.wheelDelta >= 120){ - this.count++ - }else{ - this.count-- - } - } - e.srcElement.style.zoom = this.count + '0%' - e.srcElement.style.maxWidth = null - e.srcElement.style.maxHeight = null - } - -} diff --git a/src/app/ui/collection-tools/createBuilding.html b/src/app/ui/collection-tools/createBuilding.html deleted file mode 100644 index 16fdd7b..0000000 --- a/src/app/ui/collection-tools/createBuilding.html +++ /dev/null @@ -1,28 +0,0 @@ -
新增建筑
-
-
- -
- - - -
-
- - - - {{item.name}} - - - -
-
- - -
-
-
\ No newline at end of file diff --git a/src/app/ui/collection-tools/editBuilding.html b/src/app/ui/collection-tools/editBuilding.html deleted file mode 100644 index 433316d..0000000 --- a/src/app/ui/collection-tools/editBuilding.html +++ /dev/null @@ -1,23 +0,0 @@ -
编辑建筑
-
-
-
- - - -
-
- - - - {{item.name}} - - - -
-
- - -
-
-
\ No newline at end of file diff --git a/src/app/ui/collection-tools/editDisposalNode.html b/src/app/ui/collection-tools/editDisposalNode.html deleted file mode 100644 index 40b2270..0000000 --- a/src/app/ui/collection-tools/editDisposalNode.html +++ /dev/null @@ -1,23 +0,0 @@ -
-
- -
- -
- -
- - - -
- -
- - -
- -
- -
\ No newline at end of file diff --git a/src/app/ui/collection-tools/editPlaneFigure.html b/src/app/ui/collection-tools/editPlaneFigure.html deleted file mode 100644 index a0f8016..0000000 --- a/src/app/ui/collection-tools/editPlaneFigure.html +++ /dev/null @@ -1,39 +0,0 @@ -
- -
- - -
- -
- -
- - - -
- -
- 是否为避难层 -
- -
- - - -
- -
- -
- -
- - -
- -
- -
\ No newline at end of file diff --git a/src/app/ui/collection-tools/leftFunctionalDomain.ts b/src/app/ui/collection-tools/leftFunctionalDomain.ts deleted file mode 100644 index 3838dd5..0000000 --- a/src/app/ui/collection-tools/leftFunctionalDomain.ts +++ /dev/null @@ -1,180 +0,0 @@ -import { Component, OnInit, Inject } from '@angular/core'; -import { HttpClient, HttpHeaders } from '@angular/common/http'; -import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; -import { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar'; - -@Component({ - selector: 'app-leftFunctionalDomain', - templateUrl: './addPlaneFigure.html', - styleUrls: ['./panel.scss'] -}) -export class leftFunctionalDomainComponent implements OnInit { - - constructor( - private http:HttpClient, - public dialog: MatDialog, - public snackBar: MatSnackBar, - public dialogRef: MatDialogRef, - @Inject(MAT_DIALOG_DATA) public data) { } - - ngOnInit(): void { - - } - - params = {companyId: sessionStorage.getItem('companyId')} - checked:boolean = false;//是否为避难层 - - //提交表单创建平面图 - onSubmit (e) { - if (!this.data.isBuilding) { //总平面图 创建平面图 - let data = { - companyId: sessionStorage.getItem('companyId'), - name: e.name, - order: this.data.order, - area:e.area, - details:e.details, - enabled: true, - modifiedTime: new Date(), - } - this.http.post('/api/SitePlans',data).subscribe(data=>{ - this.dialogRef.close('总平面图'); - }) - } else { //建筑 创建楼层/区域 - let data = { - isRefugeStorey: e.isRefugeStorey, - buildingId: this.data.Panel.id, - name: e.name, - order: this.data.order, - area:e.area, - details:e.details, - enabled: true, - modifiedTime: new Date(), - } - this.http.post('/api/BuildingAreas',data,{params:this.params}).subscribe(data=>{ - this.dialogRef.close('建筑'); - }) - } - } - - - -} - -//编辑平面图 楼层/区域 -@Component({ - selector: 'app-editPlaneFigure', - templateUrl: './editPlaneFigure.html', - styleUrls: ['./panel.scss'] -}) -export class editPlaneFigureComponent implements OnInit { - - constructor(private http:HttpClient,public dialog: MatDialog,public snackBar: MatSnackBar,public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data) { } - - ngOnInit(): void { - this.name = this.data.buildingData.name || '' - this.checked = this.data.buildingData.isRefugeStorey || false - this.area = this.data.buildingData.area || 0 - this.details = this.data.buildingData.details || '' - } - - params = {companyId: sessionStorage.getItem('companyId')} - name:any; //name - checked:boolean = false;//是否为避难层 - area:number; //面积 - details:string; //详情 - - //提交表单修改平面图 - onSubmit (e) { - if (!this.data.isBuilding) { //总平面图 修改平面图 - let data = { - companyId: sessionStorage.getItem('companyId'), - id: this.data.buildingData.id, - name: e.name, - cadUrl: this.data.buildingData.cadUrl, - imageUrl: this.data.buildingData.imageUrl, - imageAngle: this.data.buildingData.imageAngle, - order: this.data.buildingData.order, - area:e.area, - details:e.details, - enabled: this.data.buildingData.enabled, - modifiedTime: new Date(), - } - this.http.put(`/api/SitePlans/${this.data.buildingData.id}`,data).subscribe(data=>{ - this.dialogRef.close('总平面图'); - }) - } else { //建筑 修改楼层/区域 - let data = { - isRefugeStorey: e.isRefugeStorey, - buildingId: this.data.Panel.id, - id: this.data.buildingData.id, - name: e.name, - cadUrl: this.data.buildingData.cadUrl, - imageUrl: this.data.buildingData.imageUrl, - imageAngle: this.data.buildingData.imageAngle, - order: this.data.buildingData.order, - area:e.area, - details:e.details, - enabled: this.data.buildingData.enabled, - modifiedTime: new Date(), - } - this.http.put(`/api/BuildingAreas/${this.data.buildingData.id}`,data,{params:this.params}).subscribe(data=>{ - this.dialogRef.close('建筑'); - }) - } - } - - - -} - - - -//创建 处置预案 节点 -@Component({ - selector: 'app-addDisposalNode', - templateUrl: './addDisposalNode.html', - styleUrls: ['./panel.scss'] -}) -export class addDisposalNodeComponent implements OnInit { - - constructor(private http:HttpClient,public dialog: MatDialog,public snackBar: MatSnackBar,public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data) { } - - ngOnInit(): void { - } - - //提交表单 - onSubmit (e) { - this.data.name = e.name - this.http.post('/api/DisposalNodes',this.data).subscribe(data=>{ - this.dialogRef.close('success'); - }) - } - -} - - - -//编辑 处置预案 节点 -@Component({ - selector: 'app-editDisposalNode', - templateUrl: './editDisposalNode.html', - styleUrls: ['./panel.scss'] -}) -export class editDisposalNodeComponent implements OnInit { - - constructor(private http:HttpClient,public dialog: MatDialog,public snackBar: MatSnackBar,public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data) { } - - ngOnInit(): void { - this.nodeName = JSON.parse(JSON.stringify( this.data.name || '' )) - } - nodeName:string; - - //提交表单 - onSubmit (e) { - this.data.name = e.name - this.http.put(`/api/DisposalNodes/${this.data.id}`,this.data).subscribe(data=>{ - this.dialogRef.close('success'); - }) - } - -} \ No newline at end of file diff --git a/src/app/ui/collection-tools/panel.scss b/src/app/ui/collection-tools/panel.scss deleted file mode 100644 index bcfc82f..0000000 --- a/src/app/ui/collection-tools/panel.scss +++ /dev/null @@ -1,297 +0,0 @@ -.matIcons { - color: #8E909F; -} - - - -//平面图 素材库 公共样式 头部 -.planarGraphHeader{ - width: 100%; - text-align: center; - height: 40px; - line-height: 40px; - min-height: 40px; - cursor: pointer; - text-align: center; - font-style: italic; - font-size: 20px; - color: white; - border-bottom:2px solid #accbf2; -} -//平面图头部字体图标样式 -.hover { - width: 18px; - height: 18px; - margin-left: 90px; - border: 1px solid #999; - border-radius: 3px; - .mat-icon {font-size: 18px; color: #999;} -} -.hover:hover { - background-color: #4DA5FA; - .mat-icon {color: #fff;} -} - -//平面图 -.sitePlanContent { - position: relative; - width: 100%; - height: 35px; - line-height: 35px; - box-sizing: border-box; - padding: 0 10px 0 25px; - .mat-icon { - font-size: 20px; - } -} - -//火源/力量 图标 -.fireForce { - display: block; - float: right; - margin: 8px 5px 0 0; - width: 40px; - height: 20px; - line-height: 20px; - text-align: center; - position: relative; - overflow: hidden; - img{ - width: 20px; - height: 20px; - } -} -//替换底图 inputfile -.a-upload { - display: block; - float: right; - margin: 8px 18px 0 0; - width: 20px; - height: 20px; - line-height: 20px; - text-align: center; - position: relative; - overflow: hidden; - input { - position: absolute; - width: 20px; - height: 20px; - left: 0; - top: 0; - opacity: 0; - } -} -.a-upload:hover { - .mat-icon { - color: #fff; - } -} -//上传底图 inputfile -#a-uploadImg { - display: block; - width: 300px; - height: 170px; - position: fixed; - top: 40%; - left: 48%; - overflow: hidden; - border-radius: 5px; - border: 1px solid #999; - z-index: 999; - input { - position: absolute; - width: 300px; - height: 170px; - left: 0; - top: 0; - opacity: 0; - } - img { - width: 100%; - height: auto; - } -} -#a-uploadImg:hover { - border: 5px solid skyblue; -} - -//hover时显示右边操作栏 -.sitePlanContent:hover { - #rightOperate { - display: block; - } -} -//右边操作栏 -#rightOperate{ - width: 50px; - height: 100px; - position: absolute; - top: -32px; - right: -48px; - z-index: 99999; - border-radius: 0 100px 100px 0; - background-color: #F0F4F7; - // #F0F4F7 cdced1 - display: none; - .functionButton { - height: 25%; - line-height: 25px; - } - .bigFunctionIcon { - font-size: 24px; - } - .functionIcon { - color: #999; - } - .functionIcon:hover { - color: #4DA5FA; - } -} - -//处置预案 素材库 公用div -.publiclBankPlan { - flex: 1; - display: flex; - flex-direction: column; - overflow: hidden; - padding-bottom: 10px; - // border-top: 1px dashed #999; -} - - - -// 基本信息/想定作业 切换 -.scenarioAssignment { - overflow-y: auto; -} -.selectEditMode { - flex: 1; - display: flex; - flex-direction: column; - overflow: hidden; -} -.materialBankDIV{ - flex: 1; - overflow-x: hidden; - overflow-y: auto; -} -// 基本信息/想定作业 切换 -//处置预案 -#terrNodePublic { - height: 35px; - line-height: 35px; - .textNode {flex: 1;} -} -//字体图标 -.planIconDiv { - display: inline-block; - .mat-icon{ - font-size: 20px; - width: 20px; - height: 20px; - color: white; - margin-right: 3px; - } -} - - - -.mat-expansion-panel-header { - height: 40px !important; -} -//素材库溢出隐藏 -#materialBank { - margin: 1px 0; -} -//素材库图片flex -#panelLibrary .text{ - box-sizing: border-box; - margin-left: 10px; -} -.panelLibraryFlex { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-between; /* 水平居中 */ - .imgBox { - width: 70px; - height: 100px; - display: inline-block; - text-align: center; - border-radius: 3px; - margin: 5px 0; - img { - width: 70px; - height: auto; - max-height: 70px; - cursor:pointer; - } - p { - font-size: 12px; - cursor:pointer; - } - } -} - -//文本溢出 -.overflowText { - overflow: hidden; - text-overflow:ellipsis; - white-space: nowrap; -} -// 楼层/区域 是避难层时 -.isRefugeStorey { - color: #fff; - background-color: rgb(238, 186, 186); -} -//选中平面图时 -.selectSitePlan { - color: #fff; - background-color: #6BC2FF; -} -//选中素材库图片时 -.selectImg { - color: #fff; - background-color: #4DA5FA; -} -//选中 处置节点时 -.selectanelPoint { - background-color: #0c2d44; -} - - - -//左侧功能区弹出框样式 -.keyMargin { - width: 100%; - margin: 5px 0; - .mat-form-field { - width: 100%; - } -} -.submitBottom { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-between; /* 水平居中 */ -} -.functionalDomainContent { - // width: 300px; - height: 100%; - textarea { - border-radius: 5px; - border: 1px solid #999; - width: 100%; - height: 120px; - resize:none; - } -} -.mat-tree{ - background-color:transparent; - .mat-tree-node{ - color: white; - } - .mat-tree-node:hover{ - background-color: #0c2d44; - } -} \ No newline at end of file diff --git a/src/app/ui/collection-tools/save.ts b/src/app/ui/collection-tools/save.ts deleted file mode 100644 index ac9345c..0000000 --- a/src/app/ui/collection-tools/save.ts +++ /dev/null @@ -1,250 +0,0 @@ -import { Component, OnInit, Inject } from '@angular/core'; -import { HttpClient, HttpHeaders } from '@angular/common/http'; -import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; -import { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar'; -import {CanvasShareDataService} from '../../canvas-share-data.service' //引入服务 -// 保存想定作业第一个弹窗 -@Component({ - selector: 'dialog-overview-example-dialog', - templateUrl: 'saveOne.html', - styleUrls: ['./collection-tools.component.scss'] -}) -export class saveOneDialog { - - constructor( - private http:HttpClient, - public dialog: MatDialog, - public snackBar: MatSnackBar, - public dialogRef: MatDialogRef, - @Inject(MAT_DIALOG_DATA) public data) {} - - onNoClick(): void { - this.dialogRef.close() - } - allDisposalNode = this.data.allDisposalNode - - saveType(type){ - this.dialogRef.close() - const dialogRef = this.dialog.open(saveTwoDialog, { - data: {type: type, - allDisposalNode: this.data.allDisposalNode, - selectedBuildingData:this.data.selectedBuildingData, - selectedSiteData:this.data.selectedSiteData, - siteOrbuilding:this.data.siteOrbuilding, - disasterId:this.data.disasterId} - }); - dialogRef.afterClosed().subscribe(result => { - }); - } - -} - - // 保存想定作业第二个弹窗 -@Component({ - selector: 'dialog-overview-example-dialog', - templateUrl: 'saveTwo.html', - styleUrls: ['./collection-tools.component.scss'] -}) - export class saveTwoDialog { - - constructor( - private http:HttpClient, - public dialogRef: MatDialogRef, - public canvasData: CanvasShareDataService, - @Inject(MAT_DIALOG_DATA) public data) {} - - type = this.data.type - allDisposalNode = this.data.allDisposalNode - allPlanDisposalNode = [] - allRootDisposalNode = [{name:"根节点",id:null}] - allDisposalNodeChild = [] - ngOnInit(): void { - //所有非数据节点 - this.allDisposalNode.forEach(item => { - if(!item.sitePlanId && !item.buildingAreaId){ - this.allPlanDisposalNode.push(item) - } - }) - - //所有一级节点 - this.allDisposalNode.forEach(item => { - if(!item.parentId){ - this.allRootDisposalNode.push(item) - } - }) - this.allDisposalNodeChild = JSON.parse(JSON.stringify(this.allDisposalNode)) - this.allDisposalNodeChild.forEach(item => { - item.children = [] - this.allDisposalNodeChild.forEach(i => { - if(i.parentId == item.id){ - item.children.push(i) - } - }) - }) - // console.log(this.nodeItem.id) - } - onNoClick(): void { - this.dialogRef.close(); - } - nodeItem - itemChildNum = 0 //点击处置节点子数据节点的数量 - clickNode(item){ - console.log(item) - this.nodeItem = item - this.allDisposalNodeChild.forEach(item => { - if(item.id == this.nodeItem.id){ - this.itemChildNum = item.children.length - } - }) - } - - selectedBuildingData = this.data.selectedBuildingData - selectedSiteData = this.data.selectedSiteData - onSubmit(value,type){ - console.log(type) - let name = this.selectedBuildingData.name + '-' + this.selectedSiteData.name - //如果保存到已有节点 - var postdata = { - id: "", - name: name, - level: 0, - order: this.itemChildNum, - description: "", - notes: "", - weather: null, - airTemperature: null, - windDirection: null, - windScale: null, - imageNames: null, - imageUrls: null, - parentId: this.nodeItem ? this.nodeItem.id : null, - disasterId: this.data.disasterId, - planComponentId: sessionStorage.getItem('planId') || '', - companyId: this.data.siteOrbuilding == -1 ? sessionStorage.getItem('companyId') : null, - sitePlanId: this.data.siteOrbuilding==-1 ? this.selectedSiteData.id : null, - buildingId: this.selectedBuildingData.id || null, - buildingAreaId: this.data.siteOrbuilding!=-1 ? this.selectedSiteData.id : null - } - if(type == 'old'){ - let istrue = this.canvasData.findDisposalNode(this.nodeItem.id,name) - let putdata = this.nodeItem - putdata.weather = this.canvasData.selectPanelPointBaseData.weather - putdata.airTemperature = Number(this.canvasData.selectPanelPointBaseData.airTemperature) - putdata.windScale = Number(this.canvasData.selectPanelPointBaseData.windScale) - putdata.windDirection = Number(this.canvasData.selectPanelPointBaseData.windDirection) - putdata.description = this.canvasData.selectPanelPointBaseData.description - putdata.notes = this.canvasData.selectPanelPointBaseData.notes - - - if(istrue){//如果该处置节点下已有同名数据节点 则只修改 2个接口 - new Promise((resolve,reject)=>{ - this.http.put(`/api/DisposalNodes/${value.nodeId}`,putdata).subscribe(data => { - resolve("更新处置节点成功,将天气 节点详情等信息保存到点击的节点") - }) - }).then((values)=>{ - console.log(9999,values) - this.canvasData.sendMessage('send a message');//发布一条消息 - // 保存平面图数据到当前节点 - // let postdata = {} - // this.http.post(`/api/DisposalNodeData`,postdata).subscribe(data => { - // console.log("提交数据成功") - // }) - }) - - }else{//需要3个接口 - new Promise((resolve,reject)=>{ - this.http.put(`/api/DisposalNodes/${value.nodeId}`,putdata).subscribe(data => { - resolve("更新处置节点成功,将天气 节点详情等信息保存到点击的节点") - }) - }).then((values)=>{ - console.log(values) - postdata.level = putdata.level + 1 - new Promise((resolve,reject) => { - this.http.post(`/api/DisposalNodes`,postdata).subscribe(data => { - resolve("创建数据节点成功") - }) - }).then((values)=>{ - console.log(values) - // 保存平面图数据到当前节点 - // let postdata = {} - // this.http.post(`/api/DisposalNodeData`,postdata).subscribe(data => { - // console.log("提交数据成功") - // }) - this.canvasData.sendMessage('send a message');//发布一条消息 - }) - }) - } - - }else{//如果保存到新建节点 - let dispositionNodeData //处置节点data - let order - let oneLevelNum = [] - //将order赋值为所有一级节点最后一个+1 - this.allDisposalNode.forEach(item => { - if(!item.parentId){ - oneLevelNum.push(item) - } - }) - order = oneLevelNum[oneLevelNum.length - 1].order + 1 - if(this.nodeItem){//如果点击了下拉选择框 - if(this.nodeItem.id != null){ - this.allDisposalNodeChild.forEach(item => { - if(item.id == this.nodeItem.id){ - order = item.children.length - } - }) - } - } - dispositionNodeData = { - id: "", - name: value.name, - level: this.nodeItem && this.nodeItem.id != null ? this.nodeItem.level + 1 : 0, - order: order, - description: "", - notes: "", - weather: null, - airTemperature: 0, - windDirection: 0, - windScale: 0, - imageNames: null, - imageUrls: null, - parentId: this.nodeItem ? this.nodeItem.id : null, - disasterId: this.data.disasterId, - planComponentId: sessionStorage.getItem('planId') || '', - companyId: null, - sitePlanId: null, - buildingId: null, - buildingAreaId: null - } - - dispositionNodeData.weather = this.canvasData.selectPanelPointBaseData.weather - dispositionNodeData.airTemperature = Number(this.canvasData.selectPanelPointBaseData.airTemperature) - dispositionNodeData.windScale = Number(this.canvasData.selectPanelPointBaseData.windScale) - dispositionNodeData.windDirection = Number(this.canvasData.selectPanelPointBaseData.windDirection) - dispositionNodeData.description = this.canvasData.selectPanelPointBaseData.description - dispositionNodeData.notes = this.canvasData.selectPanelPointBaseData.notes - //1.先创建一个处置节点 然后 .then 2.创建数据节点到刚创建的处置节点 3.然后拿着创建好的数据节点的id 将平面图data保存 - new Promise((resolve,reject) => { - this.http.post("/api/DisposalNodes",dispositionNodeData).subscribe((data:any) => { - resolve(data.id) - }) - }).then((id) => { - let dataNodeData - console.log("qnm",id) - new Promise((resolve,reject) => { - postdata.parentId = id - postdata.level = dispositionNodeData.level + 1 - this.http.post("/api/DisposalNodes",postdata).subscribe((data:any) => { - resolve(data.id) - }) - }).then((id) => { - // 保存平面图数据到当前节点 - // let postdata = {} - // this.http.post(`/api/DisposalNodeData`,postdata).subscribe(data => { - // console.log("提交数据成功") - // }) - }) - }) - } - } -} \ No newline at end of file diff --git a/src/app/ui/collection-tools/saveOne.html b/src/app/ui/collection-tools/saveOne.html deleted file mode 100644 index a6b0b32..0000000 --- a/src/app/ui/collection-tools/saveOne.html +++ /dev/null @@ -1,5 +0,0 @@ -
处置节点保存
-
- - -
\ No newline at end of file diff --git a/src/app/ui/collection-tools/saveTwo.html b/src/app/ui/collection-tools/saveTwo.html deleted file mode 100644 index fec97ff..0000000 --- a/src/app/ui/collection-tools/saveTwo.html +++ /dev/null @@ -1,53 +0,0 @@ -
-
新增节点
-
-
- -
- - - -
-
- - - - {{item.name}} - - - -
-
- - -
-
-
-
-
-
保存到已有节点
-
-
-
- - - - {{item.name}} - - - -
-
- - -
-
-
-
\ No newline at end of file diff --git a/src/app/ui/collection-tools/viewdetails.html b/src/app/ui/collection-tools/viewdetails.html deleted file mode 100644 index 76638c2..0000000 --- a/src/app/ui/collection-tools/viewdetails.html +++ /dev/null @@ -1,24 +0,0 @@ -
-
- clear -
- -
-
- -
-
- -
-
-
\ No newline at end of file diff --git a/src/app/ui/dangerous/dangerous.component.html b/src/app/ui/dangerous/dangerous.component.html deleted file mode 100644 index 829b567..0000000 --- a/src/app/ui/dangerous/dangerous.component.html +++ /dev/null @@ -1,76 +0,0 @@ -
-
-
危化品类型
-
危化品分布
-
- volume_up -
-
-
泵房
-
控制室
- -
-
-
- settings_voice -
-
- 按住说话 -
-
- search -
-
-
-
-
-
- -
-
-
{{item.name}}
-
-
- - - - - - - - - - - - - - - - -
品名英文名分子式分类查看详情
{{item.name}}{{item.englishname}}{{item.molecularformula}}{{item.type}}查看详情
-
-
- - - -
-
-

{{detailNode.name}}

- -
x
-
-
-
-
品名
-
理化属性
-
危害特性
-
灭火剂
-
储运注意事项
-
-
- -
-
-
-
-
diff --git a/src/app/ui/dangerous/dangerous.component.scss b/src/app/ui/dangerous/dangerous.component.scss deleted file mode 100644 index 35e823d..0000000 --- a/src/app/ui/dangerous/dangerous.component.scss +++ /dev/null @@ -1,261 +0,0 @@ -.box{ - width: 100%; - height: 100%; - // border: 1px solid red; - display: flex; - flex-direction: column; - .title{ - flex: 2%; - width: 100%; - padding-top: 10px; - font-size: 20px; - .divtype{ - display: inline-block; - width: 126px; - height: 35px; - line-height: 35px; - text-align: center; - border:1px solid #26b5fb; - color: white; - cursor: pointer; - } - .selectedBtn{ - background-color: #e88108; - } - .bigTalkBox{ - user-select: none; - .titleIcon{ - font-size: 33px; - vertical-align: sub; - color: white; - cursor: pointer; - } - .talkBox{ - width: 309px; - height: 326px; - border: 1px solid #30bbec; - background-color: #013a64; - opacity: .9 ; - position: absolute; - top: 32px; - right:4px; - z-index: 2000; - .btndiv{ - div{ - border-radius: 18px; - width: 70px; - height: 30px; - text-align: center; - line-height: 30px; - display: inline-block; - font-size: 13px; - color: white; - cursor: pointer; - - } - div:nth-child(1){ - background-color: #fe9400; - margin: 10px; - } - div:nth-child(2){ - background-color: #f95e5a; - } - } - .bottomDiv{ - position: absolute; - bottom:6px; - width: 100%; - height: 32px; - line-height: 32px; - display: flex; - color: white; - text-align: center; - mat-icon{ - vertical-align: sub; - } - div:nth-child(1){ - flex: 1; - } - div:nth-child(2){ - flex: 6; - color: #409eff; - background: url('../../../assets/images/输入框.png'); - background-size: 100% 100%; - } - div:nth-child(3){ - flex: 1; - - } - } - } - } - } - .body{ - width: 99.9%; - height: 100%; - border:1px solid #26b5fb; - .type{ - width: 100%; - height: 100%; - display: flex; - .leftbox{ - height: 100%; - // flex: 20%; - width: 16%; - border-right: 1px solid #26b5fb; - div{ - white-space: nowrap;/*一行显示*/ - overflow: hidden;/*超出部分隐藏*/ - text-overflow: ellipsis;/*用...代替超出部分*/ - width: 100%; - height:46px; - line-height:46px; - letter-spacing: 3px; - font-size: 20px; - color: white; - // padding-left: 5px; - cursor: pointer; - span{ - margin-left: 6px; - } - } - div:hover{ - background-color: #e6963c; - } - .divselected{ - background-color: #e88108; - } - } - .rightbox{ - width: 100%; - height: 100%; - table{ - width: 100%; - height: 100%; - tr{ - width: 100%; - display: flex; - height: 38px; - line-height: 38px; - th{ - text-align: center; - flex: 1; - color: #f7ba2a; - font-size: 20px; - height: 30px; - line-height: 30px; - } - td{ - text-align: center; - flex: 1; - color: white; - } - td:last-child{ - cursor: pointer; - color: #f0c398; - } - td:last-child:hover{ - color: #f7ba2a; - } - } - tr:first-child{ - margin-top:6px; - border-bottom: 1px solid #26b5fb; - width: 100%; - } - tr:nth-child(2){ - margin-top: 8px; - } - } - - } - } - - .openDiv{ - z-index: 3000; - width:600px; - height: 500px; - position: fixed; - left: 0; - top:0; - right: 0; - bottom: 0; - margin:auto; - background: #063659; - opacity: 0.9; - border: 1px solid #26b5fb; - div{ - float: left; - } - .top{ - width: 100%; - height: 32px; - line-height: 32px; - text-align: center; - border-bottom: 1px solid #ff4949; - font-size: 18px; - position: relative; - h4{ - color: red; - } - .btn{ - width: 30px; - height: 30px; - position: absolute; - top: 0; - right: 0; - color: #919191; - cursor: pointer; - font-size: 18px; - } - } - .details{ - width: 100%; - height: 468px; - display: flex; - .left{ - height: 100%; - flex: 2; - border-right:1px solid #26b5fb; - div{ - width: 100%; - height: 33px; - line-height: 33px; - text-align: center; - color: #8aadce; - border-bottom:1px solid #999b9d ; - cursor: pointer; - } - div:hover{ - background: #041f33; - } - } - .right{ - flex: 8; - height: 468px; - color: white; - letter-spacing: 2px; - padding: 5px 8px; - } - } - } - } -} - -.size{ - width: 100%; - height: 100%; - position: relative; - z-index: 100; -} -#selectedBox{ - width: 120px; - height: 20px; - position: absolute; - z-index: 101; - left: 6px; - top: 0; - -} - - diff --git a/src/app/ui/dangerous/dangerous.component.spec.ts b/src/app/ui/dangerous/dangerous.component.spec.ts deleted file mode 100644 index 60c7332..0000000 --- a/src/app/ui/dangerous/dangerous.component.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { DangerousComponent } from './dangerous.component'; - -describe('DangerousComponent', () => { - let component: DangerousComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ DangerousComponent ] - }) - .compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(DangerousComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/ui/dangerous/dangerous.component.ts b/src/app/ui/dangerous/dangerous.component.ts deleted file mode 100644 index 3cf7dbc..0000000 --- a/src/app/ui/dangerous/dangerous.component.ts +++ /dev/null @@ -1,267 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -declare var AMap: any; -@Component({ - selector: 'app-dangerous', - templateUrl: './dangerous.component.html', - styleUrls: ['./dangerous.component.scss'] -}) -export class DangerousComponent implements OnInit { - - constructor() { } - map:any //地图 - ngOnInit(): void { - - } - //打开说话框 - isOpenTalk = false - openTalkDiv(){ - this.isOpenTalk = !this.isOpenTalk - } - selectedIndex = 0 - typedata = [ - {name:"爆炸品",details:[ - {name:"点火绳",englishname:"Det donating Cords",molecularformula:"无",type:"点火绳"}, - {name:"乙二硝胺",englishname:"Ethylene Dinitramine",molecularformula:"(CH2NHNO2)2",type:"炸药及爆炸性药品"}, - {name:"导爆锁",englishname:"Detonating Cords",molecularformula:"无",type:"起爆器材"} - ]}, - {name:"气体",details:[ - {name:"乙炔",englishname:"Acetylene",molecularformula:"C2H2",type:"易燃气体"}, - {name:"二氟氯甲烷",englishname:"Chlorodifluoromethane",molecularformula:"CHCF2",type:"非易燃无毒气体"}, - {name:"二氧化硫",englishname:"Sulfur die oxIde",molecularformula:"SO2",type:"毒性气体"} - ]}, - {name:"易燃液体",details:[ - {name:"2-乙基-1-丁烯",englishname:"2-Ethyl-1-butene",molecularformula:"CH3CH2(C2Hb)CCH2",type:"低闪点液体",content:[ - {data:"2-乙基-1-丁烯"}, - {data:"无色液体,不溶于水,能溶于乙醇丙酮和乙醚。相对密度:0.69(20℃) ,沸点:62℃ ,闪点:<-20℃, 自燃点:315℃"}, - {data:`易燃,遇热、明火、强氧化剂,均有引起燃烧爆炸的危险。
其蒸气能与空气形成爆炸性混合物,遇火星易爆炸。`}, - {data:"泡沫、二氧化碳、干粉、1211。"}, - {data:"储存于阴凉通风仓间内,仓温不超过30℃,远离火种、热源,防止阳光直射。应与硝酸等氧化剂分仓间储存。不宜久储,以防聚合变质。搬运时应轻装轻卸,防止包装破损。"}, - ]}, - {name:"2-乙基丁醛",englishname:"Diethyl Acetaldehyde",molecularformula:"C212 CHCHO",type:"中闪点液体",content:[ - {data:"2-乙基丁醛"}, - {data:`无色液体,不溶于水。能与乙醇、乙燃醚混溶。 - 相对密度:0.8164(20℃) - 凝固点:-89℃ - 沸点:116.8℃ - 闪点:21.1℃(开杯 - 爆炸极限:1.2%~7.7% - 蒸气压:1.827kPa(20℃)`}, - {data:`遇明火、高温、氧化剂,有引起燃烧爆 - 炸的危险。`}, - {data:`泡沫、干粉、二氧化碳、砂土。`}, - {data:`包装要密封。储存于阴凉通风 - 的仓间内,防止阳光直射,仓温不超过30℃,远离火 - 种、热源。应与酸类、氧化剂分仓间存放,切勿混储混 - 运。搬运时轻装轻卸,防止包装破损。不宜久储。若 - 触及皮肤,应及时用水冲洗。`}, - ]}, - {name:"乙二醇一乙醚",englishname:"Ethylene Glycol Monoethyl Ether",molecularformula:"CH2OHCH2OC2H5",type:"高闪点液体",content:[ - {data:`乙二醇一乙醚`}, - {data:`无色液体,几无气味。能与水和醇等 - 大多数有机溶剂混溶。稍有毒,空气中的最高容许浓 - 度为2.0×10-4。 - 相对密度:0.9360(15℃) - 凝固点:-70 - 沸点:135.1℃ - 闪点:43℃ - 自燃点:235℃ - 爆炸极限:1.8%~14% - 蒸气压:506.6Pa(20℃)`}, - {data:`遇明火、高温或氧化剂,有发生燃烧 - 的危险。`}, - {data:`泡沫、二氧化碳、砂土、干粉。`}, - {data:`储存于阴凉通风仓间内,远离火 - 种、热源。应与氧化剂分开堆放。包装要密封,防止损 - 耗和变质。搬运时轻装轻卸,保持包装完整`}, - ]} - ]}, - {name:"易燃固体",details:[ - {name:"N,N-二亚硝基五亚甲基四胺",englishname:"N,N- Dinitrosopentamethylene",molecularformula:"(CH2)(NO)2N",type:"一级易燃固体",content:[ - {data:`N,N-二亚硝基五亚甲基四胺`}, - {data:`淡黄色粉末或砂粒状固体。易燃,有毒。易溶于丙酮,略溶于醇,微溶于氯仿,不溶于乙醚及水。温度≥199℃时分解,与酸或酸雾接触,将迅速起火燃烧。 - 相对密度:1.4~1.4 - 熔点:200℃(分解)`}, - {data:`遇高温、明火或与酸(无机酸、有机酸)接触,容易引起剧烈燃烧。与氧化剂混和,能成为爆炸性混合物`}, - {data:"水、砂土。"}, - {data:"储存于阴凉通风干燥的库房内。远离火种及热源。严禁与无机酸、有机酸、碱性物质、氧化剂混储混运。要经常检查同库混放物质观其性能是否抵触。储存期最长不超过6个月(自出厂日起)。搬运时应轻装轻卸,防止摩擦、撞击引起燃烧"}, - ]}, - {name:"2,4-二亚硝基间苯二酚",englishname:"2,4- Dinitrosores",molecularformula:"C6H2(OH)2(NO)2",type:"二级易燃固体",content:[ - {data:`2,4-二亚硝基间苯二酚`}, - {data:`从50%乙醇中析出者,呈黄褐色叶片 - 状结晶。易溶于乙醚和苯,难溶于冷水和乙醇。遇铜铁和钴盐溶液,分别显褐色、黄绿色和黄褐色。受热剧烈分解。自甲醇及水中析出者,具有1个分子结晶水, - 不溶于水,其熔点为162~163℃ - 熔点:168℃ - 自燃点:115℃`}, - {data:`受热或与氧化剂接触,有燃烧爆炸的 - 危险。`}, - {data:`砂土、二氧化碳、雾状水。`}, - {data:`储存于阴凉通风仓间内。最高仓温不宜超过30℃。远离火种及热源。应与氧化剂分仓间存放,与金属粉末及酸类隔离堆放。搬运时应轻装轻卸,防止猛撞引起爆炸。`}, - ]}, - {name:"乙基膦",englishname:"Ethylphosphine",molecularformula:"C2H5PH2",type:"一级易于自燃物质",content:[ - {data:`乙基膦`}, - {data:`无色液体。遇水分解。 - 相对密度:<1 - 沸点:25℃`}, - {data:`在空气中能自燃,接触溴、氯和发烟 - 硝酸会发生爆炸。遇浓硫酸会燃烧`}, - {data:`干砂、干粉。禁止用水、泡沫`}, - {data:`储存于阴凉干燥仓间内。最高仓温不超过20℃。包装必须完整、密封,防止与空气接触。堆放时应与卤素、酸类、潮解性物质、氧化剂分开。远离火种、热源。搬运时轻装轻卸,保持包装完整。`}, - ]} - ]}, - {name:"氧化物和有机过氧化物",details:[ - {name:"三氟化溴",englishname:"Bromine Trifluoride",molecularformula:"BrF3",type:"一级氧化性物质"}, - {name:"三氧化铬(无水)",englishname:"Chromic Anhydride",molecularformula:"CrO3",type:"二级氧化性物质"}, - {name:"2,5-二甲基-2,5-双",englishname:"2,5- Dimethyl-2",molecularformula:"C16H30O4",type:"有机过氧化物"} - ]}, - {name:"毒性物质",details:[ - {name:"二氧化硒",englishname:"Selenium dioxide",molecularformula:"SeO2",type:"一级无机毒性物质"}, - {name:"一氯乙醛",englishname:"Chloroacetaldehyde",molecularformula:"C2H3OCl",type:"一级有机毒性物质"}, - {name:"一氧化铅",englishname:"Lead Oxide",molecularformula:"PbO",type:"二级无机毒性物质"} - ]}, - {name:"化学毒剂",details:[ - {name:"二氧二甲胺基氰磷酸乙酯化硒",englishname:"Tabun",molecularformula:"(CH3)2 NPOCNO2H5O",type:"化学毒剂"} - ]}, - {name:"生物战剂",details:[ - {name:"炭疽杆菌",englishname:"Bacillus Anthracis",molecularformula:"无",type:"生物战剂"} - ]}, - {name:"杂项危险物质",details:[ - {name:"乙二醇",englishname:"Ethylene Glycol",molecularformula:"HOCH2CH2OH",type:"杂项危险物质"} - ]}, - ] - - - num = 0 - clickNode(num){ - this.num = num - } - - - - - detaildata = this.typedata[0].details - selectedDiv(index,item){ - this.selectedIndex = index - this.detaildata = item.details - } - //类型选择 - istype = true//默认选择危化品类型 - typeSelect(type){ - if(type == 1){ - this.istype = true - }else{ - this.istype = false - } - - } - //查看详情框打开 - isOpen = false - closeDiv(){ - this.isOpen = false - } - - detailNode = null - openDetails(item){ - this.detailNode = item - if(item.content){ - this.isOpen = true - } - - this.num = 0 - } - - -} - - -@Component({ - selector: 'app-gis', - templateUrl: './gis.html', - styleUrls: ['./dangerous.component.scss'] -}) -export class GisComponent implements OnInit { - - constructor() { } - map:any //地图 - ngOnInit(): void { - setTimeout(() => { - this.creatMap() - }, 0); - } - - markerIcon = new AMap.Icon({ - image:"//a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-default.png", - size: new AMap.Size(52, 52), //图标大小 - imageSize: new AMap.Size(26,36) - }) - //地图范围圆圈 - circle = new AMap.Circle({ - center: [109.660144, 23.100172], - radius: 500, //半径 - strokeOpacity: 1, - fillOpacity: 0.4, - strokeStyle: 'dashed', - strokeDasharray: [10, 10], - // 线样式还支持 'dashed' - fillColor: '#1791fc', - zIndex: 50, - }) - - creatMap(){ - var satellite = new AMap.TileLayer.Satellite(); - var roadNet = new AMap.TileLayer.RoadNet(); - - // 创建一个 icon - var startIcon = new AMap.Icon({ - // 图标尺寸 - // size: new AMap.Size(150, 60), - // 图标的取图地址 - image: '../../../assets/images/fire.png', - // // 图标所用图片大小 - imageSize: new AMap.Size(60, 60), - // // 图标取图偏移量 - // imageOffset: new AMap.Pixel(-9, -3) - }); - var viaMarker = new AMap.Marker({ - position: new AMap.LngLat(109.660144, 23.100172), - icon: startIcon, - offset: new AMap.Pixel(-20, -30) - }); - let marker1 = new AMap.Marker({ - icon: this.markerIcon, - position: [109.644436,23.101842], - offset: new AMap.Pixel(-7, -34) - }); - let marker2 = new AMap.Marker({ - icon: this.markerIcon, - position: [109.666768,23.104276], - offset: new AMap.Pixel(0, -20) - }); - let marker3 = new AMap.Marker({ - icon: this.markerIcon, - position: [109.660118,23.095472], - offset: new AMap.Pixel(-13, -8) - }); - - this.map = new AMap.Map('size',{ - center: [109.661536,23.098726],//中心点坐标 - zoom: 15.8, - layers:[ - satellite, - roadNet - ] - }); - this.circle.setMap(this.map);//增加范围圆圈 - this.map.add([viaMarker]);//火源标点 - marker1.setMap(this.map); - marker2.setMap(this.map); - marker3.setMap(this.map); - } - - //范围选择 - rangevalue = 500 - - rangeSelect(e){ - this.circle.setRadius(Number(this.rangevalue)) - this.circle.setMap(this.map);//增加范围圆圈 - } -} \ No newline at end of file diff --git a/src/app/ui/dangerous/gis.html b/src/app/ui/dangerous/gis.html deleted file mode 100644 index c4a8e15..0000000 --- a/src/app/ui/dangerous/gis.html +++ /dev/null @@ -1,11 +0,0 @@ -
-
- -
-
- -
-
diff --git a/src/app/ui/luck-draw/luck-draw.component.html b/src/app/ui/luck-draw/luck-draw.component.html index 611abad..c4f29e1 100644 --- a/src/app/ui/luck-draw/luck-draw.component.html +++ b/src/app/ui/luck-draw/luck-draw.component.html @@ -4,7 +4,7 @@ * @Author: sueRimn * @Date: 2020-09-25 08:48:50 * @LastEditors: sueRimn - * @LastEditTime: 2020-09-28 13:48:30 + * @LastEditTime: 2020-10-07 09:54:29 --> @@ -12,13 +12,22 @@
-
+
请选择支队 - {{item.name}} + {{item.name}}done
-
+
+
+
+ 抽签结果: + +
+
+
+ +
+
diff --git a/src/app/ui/luck-draw/luck-draw.component.scss b/src/app/ui/luck-draw/luck-draw.component.scss index 14609b5..e680017 100644 --- a/src/app/ui/luck-draw/luck-draw.component.scss +++ b/src/app/ui/luck-draw/luck-draw.component.scss @@ -31,7 +31,9 @@ flex-direction: column; user-select: none; background-size:100% 100%; span{ - width: 300px; + z-index:99; + width: 350px; + height: 50px; cursor:pointer; border-bottom:1px solid #30bbec; padding: 8px ; @@ -41,7 +43,7 @@ span{ } } .colum{ - height: 100%; + height: 85%; //width: 100%; display:table-cell; vertical-align:middle; @@ -52,6 +54,11 @@ span{ //padding-top: 50%; } } +.stop{ + pointer-events: none; +} + + //选择后加背景色 .beijicolor{ background-color: #F7BA2A ; diff --git a/src/app/ui/plan-assistance/plan-assistance.component.html b/src/app/ui/plan-assistance/plan-assistance.component.html deleted file mode 100644 index d7a3c2e..0000000 --- a/src/app/ui/plan-assistance/plan-assistance.component.html +++ /dev/null @@ -1,98 +0,0 @@ -
- -
-
到场力量
-
-
-
-
-

{{item.Name}}

-

{{item.FireTeamName}}

-
-
已到场
-
- -
-
-
-
-
- - -
-
-
总平面图
-
- - -
-
- volume_up -
-
-
冷却
-
登罐
-
注入泡沫
-
-
- settings_voice - - search -
-
-
-
-
- -
-
- -
-
-
-
-

载水量

-

载泡沫

-

载人数

-

吨位

-

执行任务

-

连接车辆

-

水源占用

-
-
-

{{canvasData.selectCar.WaterYield}}

-

{{canvasData.selectCar.Foam}}

-

{{canvasData.selectCar.PeopleNum}}

-

{{canvasData.selectCar.Tonnage}}

-

- -

-

{{canvasData.selectCar.LinkCar}}

-

{{canvasData.selectCar.WaterOccupy}}

-
-
-
- -
-
-
- - -
keyboard_arrow_left
-
-
- -
-
-
-
-
- - -
- -
- -
diff --git a/src/app/ui/plan-assistance/plan-assistance.component.scss b/src/app/ui/plan-assistance/plan-assistance.component.scss deleted file mode 100644 index 5558547..0000000 --- a/src/app/ui/plan-assistance/plan-assistance.component.scss +++ /dev/null @@ -1,269 +0,0 @@ -.content { - width: 100%; - height: 100%; - box-sizing: border-box; - padding: 1px; - overflow: hidden; - display: flex; -} - -//左右侧 header -.header { - width: 100%; - height: 40px; - min-height: 40px; -} -.leftHeader { - line-height: 40px; - text-align: center; - font-size: 20px; - font-weight: 550; - color: #F7bA2A; - cursor: pointer; -} -.title { - display: inline-block; - margin: 1px 0; - width: 120px; - height: 38px; - line-height: 38px; - background: url('../../../assets/images/标签正常.png'); - -moz-background-size:100% 100%; - background-size:100% 100%; - font-size: 20px; - color: #fff; - padding-left: 25px; - cursor: pointer; -} - -//左侧菜单 -.left { - width: 300px; - height: 100%; - min-width: 200px; - box-sizing: border-box; - padding: 1px; - display: flex; - flex-direction: column; - .list { - flex: 1; - overflow: hidden; - .tableDiv { - height: 100%; - overflow-y: auto; - border-left: 1px solid #30bbec; - border-top: 1px solid #30bbec; - } - } - //每一行 - .tableRows { - height: 50px; - overflow: hidden; - display: flex; - margin: 13px 0; - .contentText { - font-size: 12px; - color: #fff; - cursor: pointer; - overflow: hidden; - text-overflow:ellipsis; - white-space: nowrap; - } - .countdown{ - flex: 40%; - line-height: 50px; - font-weight: 550; - text-align: center; - } - } -} -//打开关闭左侧 车辆 -.openLeft { - width: 300px; - transition: width 0.5s; -} -.closeLeft { - width: 0px; - min-width: 0px; - transition: width 0.5s; -} - -//选中状态 -.selectIcon { - background-color: rgba(13, 139, 241, 0.7); -} -//小于五分钟 css -.smallFive { - color: rgb(245, 166, 19); -} -//大于十分钟 css -.bigTen { - color: #fff; -} - -//右侧工作区 -.center { - flex: 1; - min-width: 810px; - box-sizing: border-box; - display: flex; - flex-direction: column; - .canvas { - flex: 1; - position: relative; - } -} - -.mat-icon { vertical-align: middle; cursor: pointer; } -//下方 车辆信息 UI -.bottomWork { - width: 800px; - height: 100px; - position: absolute; - bottom: 5px; - left: 50%; - margin-left: -400px; - z-index: 10; - display: flex; - flex-direction: column; - >div{ background-color:rgba(2, 44, 73, 0.9); } - button { width: 50px; height: 40px; background-color: #67c23a; color: #fff; } - //table表格 - .publicRow { - height: 50%; - display: flex; - align-items: center; - justify-content: center; - p { - flex: 1; - text-align: center; - line-height: 35px; - overflow: hidden; - text-overflow:ellipsis; - white-space: nowrap; - cursor: pointer; - } - } - .taskInput { - width: 100px; - height: 24px; - padding-left: 5px; - outline: none; - border: none; - background-color:rgba(255,255,255,0); - background: url('../../../assets/images/输入框.png') no-repeat; - background-size: 100% 100%; - color: #fff; - } -} - -//右侧 楼层UI -.rightStorey { - width: 100px; - height: 250px; - position: absolute; - right: 2px; - top: 50%; - margin-top: -125px; - z-index: 10; - display: flex; - flex-direction: column; - background-color:rgba(2, 44, 73, 0.9); - color: #fff; - font-weight: 300; - >div {text-align: center; line-height: 25px;} -} -.showRightStorey { - position: absolute; - right: 0; - top: 50%; - margin-top: -13px; - z-index: 10; - width: 26px; - height: 26px; - line-height: 26px; - text-align: center; - background-color:rgba(2, 44, 73, 0.9); - color: #fff; -} -//打开关闭右侧 楼层 -.openRight { - margin-right: 0px; - transition: margin-right 0.5s; -} -.closeRight { - margin-right: -300px; - transition: margin-right 0.5s; -} - -//右侧语音 UI -.rightSpeak { - position: absolute; - top: 40px; - left: -275px; - width: 310px; - height: 320px; - z-index: 11; - box-sizing: border-box; - padding: 3px; - border: 1px solid #30bbec; - background-color:rgba(2, 44, 73, 0.9); - color: #fff; - display: flex; - flex-direction: column; - .mat-icon { - font-size: 28px; - width: 28px; - height: 28px; - margin: 3px 10px; - } - .sayBgc { - flex: 1; - box-sizing: border-box; - background: url('../../../assets/images/输入框.png'); - background-size: 100% 100%; - color: #30bbec; - } - .iconButton { - margin: 10px; - border-radius: 18px; - width: 70px; - height: 30px; - text-align: center; - line-height: 30px; - display: inline-block; - font-size: 13px; - color: white; - cursor: pointer; - } -} - -//右侧 绘制工具 -.draw { - display: inline-block; - position: absolute; - width: 80px; - height: 38px; - top: 1px; - left: 50%; - margin-left: -40px; - padding-top: 6px; - label { - display: inline-block; - width: 24px; - height: 24px; - margin: 0 5px; - border-radius: 50%; - cursor: pointer; - } - :first-child { - background: url('../../../assets/images/route.png') no-repeat center center; - background-size: 16px 16px; - background-color: #fff; - } - :last-child { - background: url('../../../assets/images/direction.png') no-repeat center center; - background-size: 16px 16px; - background-color: #fff; - } -} \ No newline at end of file diff --git a/src/app/ui/plan-assistance/plan-assistance.component.spec.ts b/src/app/ui/plan-assistance/plan-assistance.component.spec.ts deleted file mode 100644 index f0a2929..0000000 --- a/src/app/ui/plan-assistance/plan-assistance.component.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { PlanAssistanceComponent } from './plan-assistance.component'; - -describe('PlanAssistanceComponent', () => { - let component: PlanAssistanceComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ PlanAssistanceComponent ] - }) - .compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(PlanAssistanceComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/ui/plan-assistance/plan-assistance.component.ts b/src/app/ui/plan-assistance/plan-assistance.component.ts deleted file mode 100644 index fdae6ff..0000000 --- a/src/app/ui/plan-assistance/plan-assistance.component.ts +++ /dev/null @@ -1,7464 +0,0 @@ -import { Component, OnInit, AfterViewInit, ViewChild, } from '@angular/core'; -import { WorkingAreaComponent } from 'src/app/working-area/working-area.component'; -import {CanvasShareDataService} from '../../canvas-share-data.service'; -import { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar'; -import * as ObjectID from 'bson-objectid'; - -@Component({ - selector: 'app-plan-assistance', - templateUrl: './plan-assistance.component.html', - styleUrls: ['./plan-assistance.component.scss'] -}) -export class PlanAssistanceComponent implements OnInit, AfterViewInit { - constructor(public canvasData: CanvasShareDataService, public snackBar: MatSnackBar, ) { } - - @ViewChild('workingArea') - workingArea: WorkingAreaComponent; - - demoData = [ - { - Id: '5f670ceae03abe3856d87d3e', - Name: '消防泵房', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '80', - Point: { - x: 538.0725371265185, - y: 790.8249488152024 - }, - Width: 45, - Border: null, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7c0ff1bb3cf106508afaed.png', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - MultiPoint: null, - TemplateId: '5e7c0ff961550e2754d461b9', - FireElementId: '5e7967a80814180f1c1ecaa4', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '位置', - PropertyType: 0, - PropertyValue: '' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f670d5c8db9a325049fa971.jpg' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f670d638db9a325049fa972.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f670dd3e03abe3856d87d3f', - Name: '地上消火栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: -854.3835678799273, - y: 688.1144590593601 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7aaebaefc8471c94ff19eb.png', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - MultiPoint: null, - TemplateId: '5e7aaef87ba7ea2e4ce5a550', - FireElementId: '5e7967810814180f1c1ecaa2', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '1' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '牙口', - PropertyType: 0, - PropertyValue: '65*2/100' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管径', - PropertyType: 0, - PropertyValue: 'DN200' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: 'MPa', - PropertyName: '压力', - PropertyType: 2, - PropertyValue: '0.12' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '开关类型', - PropertyType: 0, - PropertyValue: '扳手' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管网形式', - PropertyType: 0, - PropertyValue: '环状' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6711aa8db9a325049fa973.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f6711f5e03abe3856d87d43', - Name: '泡沫栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: -539.9645631808662, - y: 271.248256281619 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b3a628121c2286c0cb294.png', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - MultiPoint: null, - TemplateId: '5e7b3a6a0137e12020bd7f7f', - FireElementId: '5e796b4a0814180f1c1ecabb', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '1' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '型号', - PropertyType: 0, - PropertyValue: 'PS100-65*2' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '出口', - PropertyType: 0, - PropertyValue: '法兰' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6715768db9a325049fa974.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f67128ae03abe3856d87d44', - Name: '地上消火栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: -563.1123674185176, - y: 272.12837517909185 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7aaebaefc8471c94ff19eb.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7aaef87ba7ea2e4ce5a550', - FireElementId: '5e7967810814180f1c1ecaa2', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '2' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '牙口', - PropertyType: 0, - PropertyValue: '65*2/100' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管径', - PropertyType: 0, - PropertyValue: 'DN200' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: 'MPa', - PropertyName: '压力', - PropertyType: 2, - PropertyValue: '0.12' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '开关类型', - PropertyType: 0, - PropertyValue: '扳手' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管网形式', - PropertyType: 0, - PropertyValue: '环状' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6711aa8db9a325049fa973.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f671330e03abe3856d87d45', - Name: '地上消火栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: -51.57937113008251, - y: 271.9224183841443 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7aaebaefc8471c94ff19eb.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7aaef87ba7ea2e4ce5a550', - FireElementId: '5e7967810814180f1c1ecaa2', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '3' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '牙口', - PropertyType: 0, - PropertyValue: '65*2/100' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管径', - PropertyType: 0, - PropertyValue: 'DN200' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: 'MPa', - PropertyName: '压力', - PropertyType: 2, - PropertyValue: '0.12' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '开关类型', - PropertyType: 0, - PropertyValue: '扳手' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管网形式', - PropertyType: 0, - PropertyValue: '环状' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6711aa8db9a325049fa973.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f671341e03abe3856d87d47', - Name: '地上消火栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 299.11560093170795, - y: 5.1063714995351575 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7aaebaefc8471c94ff19eb.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7aaef87ba7ea2e4ce5a550', - FireElementId: '5e7967810814180f1c1ecaa2', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '4' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '牙口', - PropertyType: 0, - PropertyValue: '65*2/100' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管径', - PropertyType: 0, - PropertyValue: 'DN200' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: 'MPa', - PropertyName: '压力', - PropertyType: 2, - PropertyValue: '0.12' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '开关类型', - PropertyType: 0, - PropertyValue: '扳手' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管网形式', - PropertyType: 0, - PropertyValue: '环状' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6711aa8db9a325049fa973.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f671357e03abe3856d87d49', - Name: '地上消火栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 500.9012712134421, - y: 432.9232113342218 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7aaebaefc8471c94ff19eb.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7aaef87ba7ea2e4ce5a550', - FireElementId: '5e7967810814180f1c1ecaa2', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '5' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '牙口', - PropertyType: 0, - PropertyValue: '65*2/100' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管径', - PropertyType: 0, - PropertyValue: 'DN200' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: 'MPa', - PropertyName: '压力', - PropertyType: 2, - PropertyValue: '0.12' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '开关类型', - PropertyType: 0, - PropertyValue: '扳手' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管网形式', - PropertyType: 0, - PropertyValue: '环状' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6711aa8db9a325049fa973.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f67136fe03abe3856d87d4a', - Name: '地上消火栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 88.60901628649833, - y: -362.81780743424156 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7aaebaefc8471c94ff19eb.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7aaef87ba7ea2e4ce5a550', - FireElementId: '5e7967810814180f1c1ecaa2', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '6' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '牙口', - PropertyType: 0, - PropertyValue: '65*2/100' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管径', - PropertyType: 0, - PropertyValue: 'DN200' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: 'MPa', - PropertyName: '压力', - PropertyType: 2, - PropertyValue: '0.12' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '开关类型', - PropertyType: 0, - PropertyValue: '扳手' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管网形式', - PropertyType: 0, - PropertyValue: '环状' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6711aa8db9a325049fa973.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f671382e03abe3856d87d4b', - Name: '地上消火栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 1089.647824545333, - y: -680.096209373906 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7aaebaefc8471c94ff19eb.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7aaef87ba7ea2e4ce5a550', - FireElementId: '5e7967810814180f1c1ecaa2', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '7' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '牙口', - PropertyType: 0, - PropertyValue: '65*2/100' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管径', - PropertyType: 0, - PropertyValue: 'DN200' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: 'MPa', - PropertyName: '压力', - PropertyType: 2, - PropertyValue: '0.12' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '开关类型', - PropertyType: 0, - PropertyValue: '扳手' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管网形式', - PropertyType: 0, - PropertyValue: '环状' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6711aa8db9a325049fa973.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f671396e03abe3856d87d4c', - Name: '地上消火栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 916.5868780327887, - y: -357.72777959563734 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7aaebaefc8471c94ff19eb.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7aaef87ba7ea2e4ce5a550', - FireElementId: '5e7967810814180f1c1ecaa2', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '8' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '牙口', - PropertyType: 0, - PropertyValue: '65*2/100' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管径', - PropertyType: 0, - PropertyValue: 'DN200' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: 'MPa', - PropertyName: '压力', - PropertyType: 2, - PropertyValue: '0.12' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '开关类型', - PropertyType: 0, - PropertyValue: '扳手' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管网形式', - PropertyType: 0, - PropertyValue: '环状' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6711aa8db9a325049fa973.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f6713afe03abe3856d87d4d', - Name: '地上消火栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 1267.7987988964815, - y: -374.6945390576514 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7aaebaefc8471c94ff19eb.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7aaef87ba7ea2e4ce5a550', - FireElementId: '5e7967810814180f1c1ecaa2', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '9' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '牙口', - PropertyType: 0, - PropertyValue: '65*2/100' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管径', - PropertyType: 0, - PropertyValue: 'DN200' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: 'MPa', - PropertyName: '压力', - PropertyType: 2, - PropertyValue: '0.12' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '开关类型', - PropertyType: 0, - PropertyValue: '扳手' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管网形式', - PropertyType: 0, - PropertyValue: '环状' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6711aa8db9a325049fa973.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f6713c0e03abe3856d87d4e', - Name: '地上消火栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 1507.3371984219418, - y: -451.51880641310424 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7aaebaefc8471c94ff19eb.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7aaef87ba7ea2e4ce5a550', - FireElementId: '5e7967810814180f1c1ecaa2', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '10' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '牙口', - PropertyType: 0, - PropertyValue: '65*2/100' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管径', - PropertyType: 0, - PropertyValue: 'DN200' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: 'MPa', - PropertyName: '压力', - PropertyType: 2, - PropertyValue: '0.12' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '开关类型', - PropertyType: 0, - PropertyValue: '扳手' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管网形式', - PropertyType: 0, - PropertyValue: '环状' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6711aa8db9a325049fa973.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f671412e03abe3856d87d4f', - Name: '地上消火栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 2114.4400960509874, - y: -142.24993442805783 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7aaebaefc8471c94ff19eb.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7aaef87ba7ea2e4ce5a550', - FireElementId: '5e7967810814180f1c1ecaa2', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '11' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '牙口', - PropertyType: 0, - PropertyValue: '65*2/100' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管径', - PropertyType: 0, - PropertyValue: 'DN200' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: 'MPa', - PropertyName: '压力', - PropertyType: 2, - PropertyValue: '0.12' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '开关类型', - PropertyType: 0, - PropertyValue: '扳手' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管网形式', - PropertyType: 0, - PropertyValue: '环状' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6711aa8db9a325049fa973.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f671425e03abe3856d87d50', - Name: '地上消火栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 1936.2891216998387, - y: 278.525700229893 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7aaebaefc8471c94ff19eb.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7aaef87ba7ea2e4ce5a550', - FireElementId: '5e7967810814180f1c1ecaa2', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '12' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '牙口', - PropertyType: 0, - PropertyValue: '65*2/100' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管径', - PropertyType: 0, - PropertyValue: 'DN200' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: 'MPa', - PropertyName: '压力', - PropertyType: 2, - PropertyValue: '0.12' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '开关类型', - PropertyType: 0, - PropertyValue: '扳手' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管网形式', - PropertyType: 0, - PropertyValue: '环状' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6711aa8db9a325049fa973.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f671434e03abe3856d87d51', - Name: '地上消火栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 1656.3375905766052, - y: 275.1323483374903 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7aaebaefc8471c94ff19eb.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7aaef87ba7ea2e4ce5a550', - FireElementId: '5e7967810814180f1c1ecaa2', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '13' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '牙口', - PropertyType: 0, - PropertyValue: '65*2/100' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管径', - PropertyType: 0, - PropertyValue: 'DN200' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: 'MPa', - PropertyName: '压力', - PropertyType: 2, - PropertyValue: '0.12' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '开关类型', - PropertyType: 0, - PropertyValue: '扳手' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管网形式', - PropertyType: 0, - PropertyValue: '环状' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6711aa8db9a325049fa973.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f671441e03abe3856d87d52', - Name: '地上消火栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 1155.818186447188, - y: -8.212534678145914 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7aaebaefc8471c94ff19eb.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7aaef87ba7ea2e4ce5a550', - FireElementId: '5e7967810814180f1c1ecaa2', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '14' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '牙口', - PropertyType: 0, - PropertyValue: '65*2/100' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管径', - PropertyType: 0, - PropertyValue: 'DN200' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: 'MPa', - PropertyName: '压力', - PropertyType: 2, - PropertyValue: '0.12' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '开关类型', - PropertyType: 0, - PropertyValue: '扳手' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管网形式', - PropertyType: 0, - PropertyValue: '环状' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6711aa8db9a325049fa973.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f67144de03abe3856d87d53', - Name: '地上消火栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 2915.2711426580545, - y: -347.5477239184288 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7aaebaefc8471c94ff19eb.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7aaef87ba7ea2e4ce5a550', - FireElementId: '5e7967810814180f1c1ecaa2', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '15' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '牙口', - PropertyType: 0, - PropertyValue: '65*2/100' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管径', - PropertyType: 0, - PropertyValue: 'DN200' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: 'MPa', - PropertyName: '压力', - PropertyType: 2, - PropertyValue: '0.12' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '开关类型', - PropertyType: 0, - PropertyValue: '扳手' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管网形式', - PropertyType: 0, - PropertyValue: '环状' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6711aa8db9a325049fa973.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f67145be03abe3856d87d54', - Name: '地上消火栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 2913.5744667118533, - y: 185.20852318881538 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7aaebaefc8471c94ff19eb.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7aaef87ba7ea2e4ce5a550', - FireElementId: '5e7967810814180f1c1ecaa2', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '16' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '牙口', - PropertyType: 0, - PropertyValue: '65*2/100' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管径', - PropertyType: 0, - PropertyValue: 'DN200' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: 'MPa', - PropertyName: '压力', - PropertyType: 2, - PropertyValue: '0.12' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '开关类型', - PropertyType: 0, - PropertyValue: '扳手' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管网形式', - PropertyType: 0, - PropertyValue: '环状' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6711aa8db9a325049fa973.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f67146ee03abe3856d87d55', - Name: '地上消火栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 2096.1298123494207, - y: 649.4948028638328 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7aaebaefc8471c94ff19eb.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7aaef87ba7ea2e4ce5a550', - FireElementId: '5e7967810814180f1c1ecaa2', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '17' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '牙口', - PropertyType: 0, - PropertyValue: '65*2/100' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管径', - PropertyType: 0, - PropertyValue: 'DN200' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: 'MPa', - PropertyName: '压力', - PropertyType: 2, - PropertyValue: '0.12' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '开关类型', - PropertyType: 0, - PropertyValue: '扳手' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管网形式', - PropertyType: 0, - PropertyValue: '环状' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6711aa8db9a325049fa973.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f671481e03abe3856d87d56', - Name: '地上消火栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 1901.6453605180648, - y: 1239.3597336930006 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7aaebaefc8471c94ff19eb.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7aaef87ba7ea2e4ce5a550', - FireElementId: '5e7967810814180f1c1ecaa2', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '18' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '牙口', - PropertyType: 0, - PropertyValue: '65*2/100' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管径', - PropertyType: 0, - PropertyValue: 'DN200' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: 'MPa', - PropertyName: '压力', - PropertyType: 2, - PropertyValue: '0.12' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '开关类型', - PropertyType: 0, - PropertyValue: '扳手' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管网形式', - PropertyType: 0, - PropertyValue: '环状' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6711aa8db9a325049fa973.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f67148be03abe3856d87d57', - Name: '地上消火栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 1354.5242652562279, - y: 1235.0853501362674 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7aaebaefc8471c94ff19eb.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7aaef87ba7ea2e4ce5a550', - FireElementId: '5e7967810814180f1c1ecaa2', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '19' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '牙口', - PropertyType: 0, - PropertyValue: '65*2/100' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管径', - PropertyType: 0, - PropertyValue: 'DN200' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: 'MPa', - PropertyName: '压力', - PropertyType: 2, - PropertyValue: '0.12' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '开关类型', - PropertyType: 0, - PropertyValue: '扳手' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管网形式', - PropertyType: 0, - PropertyValue: '环状' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6711aa8db9a325049fa973.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f6714ade03abe3856d87d58', - Name: '地上消火栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 1160.7655915494565, - y: 783.9050578476852 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7aaebaefc8471c94ff19eb.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7aaef87ba7ea2e4ce5a550', - FireElementId: '5e7967810814180f1c1ecaa2', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '20' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '牙口', - PropertyType: 0, - PropertyValue: '65*2/100' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管径', - PropertyType: 0, - PropertyValue: 'DN200' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: 'MPa', - PropertyName: '压力', - PropertyType: 2, - PropertyValue: '0.12' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '开关类型', - PropertyType: 0, - PropertyValue: '扳手' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管网形式', - PropertyType: 0, - PropertyValue: '环状' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6711aa8db9a325049fa973.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f6714bde03abe3856d87d59', - Name: '地上消火栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 993.7723947424533, - y: 1345.901393255869 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7aaebaefc8471c94ff19eb.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7aaef87ba7ea2e4ce5a550', - FireElementId: '5e7967810814180f1c1ecaa2', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '21' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '牙口', - PropertyType: 0, - PropertyValue: '65*2/100' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管径', - PropertyType: 0, - PropertyValue: 'DN200' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: 'MPa', - PropertyName: '压力', - PropertyType: 2, - PropertyValue: '0.12' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '开关类型', - PropertyType: 0, - PropertyValue: '扳手' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管网形式', - PropertyType: 0, - PropertyValue: '环状' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6711aa8db9a325049fa973.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f6714c5e03abe3856d87d5a', - Name: '地上消火栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 577.8951065403974, - y: 1345.9013932558687 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7aaebaefc8471c94ff19eb.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7aaef87ba7ea2e4ce5a550', - FireElementId: '5e7967810814180f1c1ecaa2', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '22' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '牙口', - PropertyType: 0, - PropertyValue: '65*2/100' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管径', - PropertyType: 0, - PropertyValue: 'DN200' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: 'MPa', - PropertyName: '压力', - PropertyType: 2, - PropertyValue: '0.12' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '开关类型', - PropertyType: 0, - PropertyValue: '扳手' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管网形式', - PropertyType: 0, - PropertyValue: '环状' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6711aa8db9a325049fa973.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f6714d4e03abe3856d87d5b', - Name: '地上消火栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 126.55162198821722, - y: 1029.7104791062238 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7aaebaefc8471c94ff19eb.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7aaef87ba7ea2e4ce5a550', - FireElementId: '5e7967810814180f1c1ecaa2', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '23' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '牙口', - PropertyType: 0, - PropertyValue: '65*2/100' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管径', - PropertyType: 0, - PropertyValue: 'DN200' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: 'MPa', - PropertyName: '压力', - PropertyType: 2, - PropertyValue: '0.12' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '开关类型', - PropertyType: 0, - PropertyValue: '扳手' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管网形式', - PropertyType: 0, - PropertyValue: '环状' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6711aa8db9a325049fa973.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f6714ebe03abe3856d87d5c', - Name: '地上消火栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: -179.95583881318612, - y: 1030.9615299666377 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7aaebaefc8471c94ff19eb.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7aaef87ba7ea2e4ce5a550', - FireElementId: '5e7967810814180f1c1ecaa2', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '24' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '牙口', - PropertyType: 0, - PropertyValue: '65*2/100' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管径', - PropertyType: 0, - PropertyValue: 'DN200' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: 'MPa', - PropertyName: '压力', - PropertyType: 2, - PropertyValue: '0.12' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '开关类型', - PropertyType: 0, - PropertyValue: '扳手' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管网形式', - PropertyType: 0, - PropertyValue: '环状' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6711aa8db9a325049fa973.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f6714ffe03abe3856d87d5d', - Name: '地上消火栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: -435.1702143376199, - y: 1028.45942824581 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7aaebaefc8471c94ff19eb.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7aaef87ba7ea2e4ce5a550', - FireElementId: '5e7967810814180f1c1ecaa2', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '25' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '牙口', - PropertyType: 0, - PropertyValue: '65*2/100' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管径', - PropertyType: 0, - PropertyValue: 'DN200' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: 'MPa', - PropertyName: '压力', - PropertyType: 2, - PropertyValue: '0.12' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '开关类型', - PropertyType: 0, - PropertyValue: '扳手' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '管网形式', - PropertyType: 0, - PropertyValue: '环状' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6711aa8db9a325049fa973.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f67158fe03abe3856d87d5e', - Name: '泡沫栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: -5.796097596718141, - y: 273.14583520021273 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b3a628121c2286c0cb294.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b3a6a0137e12020bd7f7f', - FireElementId: '5e796b4a0814180f1c1ecabb', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '2' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '型号', - PropertyType: 0, - PropertyValue: 'PS100-65*2' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '出口', - PropertyType: 0, - PropertyValue: '法兰' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6715768db9a325049fa974.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f67165ce03abe3856d87d5f', - Name: '泡沫栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 462.9058952959447, - y: 432.54246436208996 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b3a628121c2286c0cb294.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b3a6a0137e12020bd7f7f', - FireElementId: '5e796b4a0814180f1c1ecabb', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '3' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '型号', - PropertyType: 0, - PropertyValue: 'PS100-65*2' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '出口', - PropertyType: 0, - PropertyValue: '法兰' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6715768db9a325049fa974.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f671670e03abe3856d87d60', - Name: '泡沫栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 1155.2026113881834, - y: 36.88757093210626 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b3a628121c2286c0cb294.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b3a6a0137e12020bd7f7f', - FireElementId: '5e796b4a0814180f1c1ecabb', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '4' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '型号', - PropertyType: 0, - PropertyValue: 'PS100-65*2' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '出口', - PropertyType: 0, - PropertyValue: '法兰' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6715768db9a325049fa974.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f67167ee03abe3856d87d61', - Name: '泡沫栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 1218.8312292956107, - y: -356.45297613199 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b3a628121c2286c0cb294.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b3a6a0137e12020bd7f7f', - FireElementId: '5e796b4a0814180f1c1ecabb', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '5' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '型号', - PropertyType: 0, - PropertyValue: 'PS100-65*2' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '出口', - PropertyType: 0, - PropertyValue: '法兰' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6715768db9a325049fa974.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f671690e03abe3856d87d62', - Name: '泡沫栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 1561.5581030242533, - y: -469.2491624224295 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b3a628121c2286c0cb294.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b3a6a0137e12020bd7f7f', - FireElementId: '5e796b4a0814180f1c1ecabb', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '6' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '型号', - PropertyType: 0, - PropertyValue: 'PS100-65*2' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '出口', - PropertyType: 0, - PropertyValue: '法兰' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6715768db9a325049fa974.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f67169de03abe3856d87d63', - Name: '泡沫栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 1046.7447399550688, - y: -664.473331002036 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b3a628121c2286c0cb294.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b3a6a0137e12020bd7f7f', - FireElementId: '5e796b4a0814180f1c1ecabb', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '7' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '型号', - PropertyType: 0, - PropertyValue: 'PS100-65*2' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '出口', - PropertyType: 0, - PropertyValue: '法兰' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6715768db9a325049fa974.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f6716bce03abe3856d87d64', - Name: '泡沫栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 2115.4162998093598, - y: -15.172207355788942 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b3a628121c2286c0cb294.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b3a6a0137e12020bd7f7f', - FireElementId: '5e796b4a0814180f1c1ecabb', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '8' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '型号', - PropertyType: 0, - PropertyValue: 'PS100-65*2' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '出口', - PropertyType: 0, - PropertyValue: '法兰' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6715768db9a325049fa974.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f6716c9e03abe3856d87d65', - Name: '泡沫栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 2915.112338509526, - y: -292.8243582245628 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b3a628121c2286c0cb294.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b3a6a0137e12020bd7f7f', - FireElementId: '5e796b4a0814180f1c1ecabb', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '9' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '型号', - PropertyType: 0, - PropertyValue: 'PS100-65*2' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '出口', - PropertyType: 0, - PropertyValue: '法兰' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6715768db9a325049fa974.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f6716e0e03abe3856d87d66', - Name: '泡沫栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 1988.5158013887126, - y: 278.0216677369151 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b3a628121c2286c0cb294.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b3a6a0137e12020bd7f7f', - FireElementId: '5e796b4a0814180f1c1ecabb', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '11' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '型号', - PropertyType: 0, - PropertyValue: 'PS100-65*2' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '出口', - PropertyType: 0, - PropertyValue: '法兰' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6715768db9a325049fa974.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f6716f6e03abe3856d87d67', - Name: '泡沫栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 2975.3868020413206, - y: 191.2124158152834 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b3a628121c2286c0cb294.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b3a6a0137e12020bd7f7f', - FireElementId: '5e796b4a0814180f1c1ecabb', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '10' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '型号', - PropertyType: 0, - PropertyValue: 'PS100-65*2' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '出口', - PropertyType: 0, - PropertyValue: '法兰' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6715768db9a325049fa974.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f671701e03abe3856d87d68', - Name: '泡沫栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 1703.0254066222362, - y: 272.97200813738664 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b3a628121c2286c0cb294.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b3a6a0137e12020bd7f7f', - FireElementId: '5e796b4a0814180f1c1ecabb', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '12' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '型号', - PropertyType: 0, - PropertyValue: 'PS100-65*2' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '出口', - PropertyType: 0, - PropertyValue: '法兰' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6715768db9a325049fa974.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f671717e03abe3856d87d69', - Name: '泡沫栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 2092.983870088383, - y: 819.7323282038833 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b3a628121c2286c0cb294.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b3a6a0137e12020bd7f7f', - FireElementId: '5e796b4a0814180f1c1ecabb', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '13' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '型号', - PropertyType: 0, - PropertyValue: 'PS100-65*2' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '出口', - PropertyType: 0, - PropertyValue: '法兰' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6715768db9a325049fa974.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f671730e03abe3856d87d6a', - Name: '泡沫栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 1951.9378727440935, - y: 1239.7359647402122 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b3a628121c2286c0cb294.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b3a6a0137e12020bd7f7f', - FireElementId: '5e796b4a0814180f1c1ecabb', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '14' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '型号', - PropertyType: 0, - PropertyValue: 'PS100-65*2' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '出口', - PropertyType: 0, - PropertyValue: '法兰' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6715768db9a325049fa974.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f67173be03abe3856d87d6b', - Name: '泡沫栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 1408.1271940944434, - y: 1236.6016092436726 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b3a628121c2286c0cb294.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b3a6a0137e12020bd7f7f', - FireElementId: '5e796b4a0814180f1c1ecabb', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '15' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '型号', - PropertyType: 0, - PropertyValue: 'PS100-65*2' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '出口', - PropertyType: 0, - PropertyValue: '法兰' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6715768db9a325049fa974.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f671744e03abe3856d87d6c', - Name: '泡沫栓', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 1160.4571509862274, - y: 942.5243236030998 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b3a628121c2286c0cb294.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b3a6a0137e12020bd7f7f', - FireElementId: '5e796b4a0814180f1c1ecabb', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '16' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '型号', - PropertyType: 0, - PropertyValue: 'PS100-65*2' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '出口', - PropertyType: 0, - PropertyValue: '法兰' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6715768db9a325049fa974.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f671767e03abe3856d87d6d', - Name: '固定水炮', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: -592.1952057948927, - y: 271.2807226550343 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b384e8121c2286c0cb290.png', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - MultiPoint: null, - TemplateId: '5e7b38610137e12020bd7f7b', - FireElementId: '5e7967f30814180f1c1ecaab', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '1' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '压力', - PropertyType: 0, - PropertyValue: '0.1Mpa' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6717b48db9a325049fa975.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f671842e03abe3856d87d6e', - Name: '固定水炮', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: -97.79605019753274, - y: 272.1435484065131 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b384e8121c2286c0cb290.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b38610137e12020bd7f7b', - FireElementId: '5e7967f30814180f1c1ecaab', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '2' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '压力', - PropertyType: 0, - PropertyValue: '0.1Mpa' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6717b48db9a325049fa975.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f671853e03abe3856d87d6f', - Name: '固定水炮', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 1150.6880828651256, - y: -69.45260716773461 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b384e8121c2286c0cb290.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b38610137e12020bd7f7b', - FireElementId: '5e7967f30814180f1c1ecaab', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '3' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '压力', - PropertyType: 0, - PropertyValue: '0.1Mpa' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6717b48db9a325049fa975.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f671863e03abe3856d87d70', - Name: '固定水炮', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 1152.4040527919356, - y: -333.2077578697689 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b384e8121c2286c0cb290.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b38610137e12020bd7f7b', - FireElementId: '5e7967f30814180f1c1ecaab', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '4' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '压力', - PropertyType: 0, - PropertyValue: '0.1Mpa' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6717b48db9a325049fa975.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f6718dbe03abe3856d87d71', - Name: '固定水炮', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 1456.632463331941, - y: -431.236912377104 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b384e8121c2286c0cb290.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b38610137e12020bd7f7b', - FireElementId: '5e7967f30814180f1c1ecaab', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '5' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '压力', - PropertyType: 0, - PropertyValue: '0.1Mpa' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6717b48db9a325049fa975.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f6718ece03abe3856d87d72', - Name: '固定水炮', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 2115.794019501953, - y: -194.61481529043306 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b384e8121c2286c0cb290.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b38610137e12020bd7f7b', - FireElementId: '5e7967f30814180f1c1ecaab', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '6' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '压力', - PropertyType: 0, - PropertyValue: '0.1Mpa' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6717b48db9a325049fa975.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f6718fce03abe3856d87d73', - Name: '固定水炮', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 2918.6189917603, - y: -79.68408241976437 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b384e8121c2286c0cb290.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b38610137e12020bd7f7b', - FireElementId: '5e7967f30814180f1c1ecaab', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '7' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '压力', - PropertyType: 0, - PropertyValue: '0.1Mpa' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6717b48db9a325049fa975.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f67190ce03abe3856d87d74', - Name: '固定水炮', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 1887.6227115969486, - y: 278.62937888290867 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b384e8121c2286c0cb290.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b38610137e12020bd7f7b', - FireElementId: '5e7967f30814180f1c1ecaab', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '8' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '压力', - PropertyType: 0, - PropertyValue: '0.1Mpa' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6717b48db9a325049fa975.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f671916e03abe3856d87d75', - Name: '固定水炮', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 1609.5189625658177, - y: 276.4352097691058 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b384e8121c2286c0cb290.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b38610137e12020bd7f7b', - FireElementId: '5e7967f30814180f1c1ecaab', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '9' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '压力', - PropertyType: 0, - PropertyValue: '0.1Mpa' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6717b48db9a325049fa975.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f671945e03abe3856d87d76', - Name: '固定水炮', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 2095.5215915504127, - y: 596.2041604311792 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b384e8121c2286c0cb290.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b38610137e12020bd7f7b', - FireElementId: '5e7967f30814180f1c1ecaab', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '10' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '压力', - PropertyType: 0, - PropertyValue: '0.1Mpa' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6717b48db9a325049fa975.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f671954e03abe3856d87d77', - Name: '固定水炮', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 1851.9430767861622, - y: 1238.0508628431387 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b384e8121c2286c0cb290.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b38610137e12020bd7f7b', - FireElementId: '5e7967f30814180f1c1ecaab', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '11' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '压力', - PropertyType: 0, - PropertyValue: '0.1Mpa' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6717b48db9a325049fa975.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f67195de03abe3856d87d78', - Name: '固定水炮', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 1286.183169018807, - y: 1239.7943307666721 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b384e8121c2286c0cb290.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b38610137e12020bd7f7b', - FireElementId: '5e7967f30814180f1c1ecaab', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '12' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '压力', - PropertyType: 0, - PropertyValue: '0.1Mpa' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6717b48db9a325049fa975.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f671978e03abe3856d87d79', - Name: '固定水炮', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: 1159.3027504423208, - y: 738.1954273316667 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b384e8121c2286c0cb290.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b38610137e12020bd7f7b', - FireElementId: '5e7967f30814180f1c1ecaab', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '13' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '压力', - PropertyType: 0, - PropertyValue: '0.1Mpa' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6717b48db9a325049fa975.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f67198ce03abe3856d87d7a', - Name: '固定水炮', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: -32.3318372843471, - y: 1029.7104791062238 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b384e8121c2286c0cb290.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b38610137e12020bd7f7b', - FireElementId: '5e7967f30814180f1c1ecaab', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '14' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '压力', - PropertyType: 0, - PropertyValue: '0.1Mpa' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6717b48db9a325049fa975.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - }, - { - Id: '5f6719a4e03abe3856d87d7b', - Name: '固定水炮', - Angle: 0, - Pipelines: [], - Type: 0, - Color: '#066eed80', - Point: { - x: -276.2867550650558, - y: 1028.4594282458097 - }, - Width: 45, - Border: { - w: 0, - x: 0, - y: 0, - z: 0 - }, - Height: 45, - Enabled: true, - FloorId: '5f670bb79e91f4410005f564', - DrawMode: 0, - FillMode: 1, - GameMode: 0, - ImageUrl: '/api/Objects/PlanPlatform/5e7b384e8121c2286c0cb290.png', - CompanyId: '5f67042b9e91f4410005f55c', - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Thickness: 0, - BuildingId: '5f6704859e91f4410005f55f', - MultiPoint: null, - TemplateId: '5e7b38610137e12020bd7f7b', - FireElementId: '5e7967f30814180f1c1ecaab', - PropertyInfos: [ - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '名称/编号', - PropertyType: 0, - PropertyValue: '15' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '', - PropertyName: '压力', - PropertyType: 0, - PropertyValue: '0.1Mpa' - }, - { - Tag: '', - Order: 0, - Enabled: true, - Visible: true, - Required: false, - RuleName: '', - RuleValue: '', - PhysicalUnit: '张', - PropertyName: '图片', - PropertyType: 4, - PropertyValue: '5' - }, - { - Tag: null, - Order: 0, - Enabled: false, - Visible: false, - Required: false, - RuleName: null, - RuleValue: null, - PhysicalUnit: null, - PropertyName: '图片', - PropertyType: 3, - PropertyValue: '/api/Objects/WebPlan2D/5f67042b9e91f4410005f55c/5f6717b48db9a325049fa975.jpg' - } - ], - IsFromBuilding: true, - InteractiveMode: 0 - } - ]; - // 所有车辆信息 - allCarsData = [ - { - TemplateId: null, - FloorId: null, - Angle: 0, - Pipelines: [], - Type: 3, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Height: 45, - Width: 45, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/水罐消防车.png', - InteractiveMode: 0, - MultiPoint: null, - Point: { - x: 1295, - y: 1237 - }, - Name: '水罐消防车', - FireTeamName: '港北区解放路消防救援站', // 所属消防队 - ReachTime: 0, // 到场剩余时间 - WaterYield: '8t', // 载水量 - Foam: '0t', // 载泡沫 - PeopleNum: 6, // 载人数 - Tonnage: '10t', // 吨位 - Assignment: '供液', // 执行任务 - LinkCar: [], // 连接车辆 - WaterOccupy: [], // 水源占用 - 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: 2 - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Pipelines: [], - Type: 2, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Height: 45, - Width: 45, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/泡沫消防车.png', - InteractiveMode: 0, - MultiPoint: null, - Point: { - x: 1295, - y: 1237 - }, - Name: '泡沫消防车', - FireTeamName: '港北区解放路消防救援站', // 所属消防队 - ReachTime: 0, // 到场剩余时间 - WaterYield: '10t', // 载水量 - Foam: '2t', // 载泡沫 - PeopleNum: 6, // 载人数 - Tonnage: '12t', // 吨位 - Assignment: '灭火', // 执行任务 - LinkCar: [], // 连接车辆 - WaterOccupy: [], // 水源占用 - 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: 2 - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Pipelines: [], - Type: 2, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Height: 45, - Width: 45, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/泡沫消防车.png', - InteractiveMode: 0, - MultiPoint: null, - Point: { - x: 1295, - y: 1237 - }, - Name: '泡沫消防车', - FireTeamName: '港北区解放路消防救援站', // 所属消防队 - ReachTime: 0, // 到场剩余时间 - WaterYield: '4t', // 载水量 - Foam: '1t', // 载泡沫 - PeopleNum: 6, // 载人数 - Tonnage: '6t', // 吨位 - Assignment: '灭火', // 执行任务 - LinkCar: [], // 连接车辆 - WaterOccupy: [], // 水源占用 - 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: 2 - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Pipelines: [], - Type: 1, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Height: 45, - Width: 45, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/举高喷射消防车.png', - InteractiveMode: 0, - MultiPoint: null, - Point: { - x: 1295, - y: 1237 - }, - Name: '举高喷射消防车', - FireTeamName: '港北区解放路消防救援站', // 所属消防队 - ReachTime: 0, // 到场剩余时间 - WaterYield: '18t', // 载水量 - Foam: '2t', // 载泡沫 - PeopleNum: 6, // 载人数 - Tonnage: '20t', // 吨位 - Assignment: '灭火', // 执行任务 - LinkCar: [], // 连接车辆 - WaterOccupy: [], // 水源占用 - 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: 2 - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Pipelines: [], - Type: 3, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Height: 45, - Width: 45, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/水罐消防车.png', - InteractiveMode: 0, - MultiPoint: null, - Point: { - x: 1295, - y: 1237 - }, - Name: '水罐消防车', - FireTeamName: '八塘消防救援站', // 所属消防队 - ReachTime: 237, // 到场剩余时间 - WaterYield: '12t', // 载水量 - Foam: '0t', // 载泡沫 - PeopleNum: 6, // 载人数 - Tonnage: '14t', // 吨位 - Assignment: '冷却', // 执行任务 - LinkCar: [], // 连接车辆 - WaterOccupy: [], // 水源占用 - 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: 2 - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Pipelines: [], - Type: 2, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Height: 45, - Width: 45, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/泡沫消防车.png', - InteractiveMode: 0, - MultiPoint: null, - Point: { - x: 1295, - y: 1237 - }, - Name: '泡沫消防车', - FireTeamName: '八塘消防救援站', // 所属消防队 - ReachTime: 249, // 到场剩余时间 - WaterYield: '6t', // 载水量 - Foam: '2t', // 载泡沫 - PeopleNum: 6, // 载人数 - Tonnage: '8t', // 吨位 - Assignment: '冷却', // 执行任务 - LinkCar: [], // 连接车辆 - WaterOccupy: [], // 水源占用 - 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: 2 - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Pipelines: [], - Type: 2, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Height: 45, - Width: 45, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/泡沫消防车.png', - InteractiveMode: 0, - MultiPoint: null, - Point: { - x: 1295, - y: 1237 - }, - Name: '泡沫消防车', - FireTeamName: '八塘消防救援站', // 所属消防队 - ReachTime: 277, // 到场剩余时间 - WaterYield: '3t', // 载水量 - Foam: '1t', // 载泡沫 - PeopleNum: 8, // 载人数 - Tonnage: '5t', // 吨位 - Assignment: '堵截', // 执行任务 - LinkCar: [], // 连接车辆 - WaterOccupy: [], // 水源占用 - 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: 2 - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Pipelines: [], - Type: 1, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Height: 45, - Width: 45, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/举高喷射消防车.png', - InteractiveMode: 0, - MultiPoint: null, - Point: { - x: 1295, - y: 1237 - }, - Name: '举高喷射消防车', - FireTeamName: '八塘消防救援站', // 所属消防队 - ReachTime: 310, // 到场剩余时间 - WaterYield: '16t', // 载水量 - Foam: '2t', // 载泡沫 - PeopleNum: 4, // 载人数 - Tonnage: '18t', // 吨位 - Assignment: '灭火', // 执行任务 - LinkCar: [], // 连接车辆 - WaterOccupy: [], // 水源占用 - 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: 2 - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Pipelines: [], - Type: 2, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Height: 45, - Width: 45, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/泡沫消防车.png', - InteractiveMode: 0, - MultiPoint: null, - Point: { - x: 1295, - y: 1237 - }, - Name: '泡沫消防车', - FireTeamName: '龚州消防救援站', // 所属消防队 - ReachTime: 666, // 到场剩余时间 - WaterYield: '6t', // 载水量 - Foam: '2t', // 载泡沫 - PeopleNum: 6, // 载人数 - Tonnage: '8t', // 吨位 - Assignment: '供液', // 执行任务 - LinkCar: [], // 连接车辆 - WaterOccupy: [], // 水源占用 - 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: 2 - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Pipelines: [], - Type: 2, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Height: 45, - Width: 45, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/泡沫消防车.png', - InteractiveMode: 0, - MultiPoint: null, - Point: { - x: 1295, - y: 1237 - }, - Name: '泡沫消防车', - FireTeamName: '龚州消防救援站', // 所属消防队 - ReachTime: 721, // 到场剩余时间 - WaterYield: '5t', // 载水量 - Foam: '1t', // 载泡沫 - PeopleNum: 6, // 载人数 - Tonnage: '7t', // 吨位 - Assignment: '供液', // 执行任务 - LinkCar: [], // 连接车辆 - WaterOccupy: [], // 水源占用 - 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: 2 - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Pipelines: [], - Type: 2, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Height: 45, - Width: 45, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/泡沫消防车.png', - InteractiveMode: 0, - MultiPoint: null, - Point: { - x: 1295, - y: 1237 - }, - Name: '泡沫消防车', - FireTeamName: '龚州消防救援站', // 所属消防队 - ReachTime: 978, // 到场剩余时间 - WaterYield: '3t', // 载水量 - Foam: '1t', // 载泡沫 - PeopleNum: 6, // 载人数 - Tonnage: '5t', // 吨位 - Assignment: '供液', // 执行任务 - LinkCar: [], // 连接车辆 - WaterOccupy: [], // 水源占用 - 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: 2 - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Pipelines: [], - Type: 1, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: false, - CanConnection: true, - ConnectionObjs: [], - Height: 45, - Width: 45, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/举高喷射消防车.png', - InteractiveMode: 0, - MultiPoint: null, - Point: { - x: 1295, - y: 1237 - }, - Name: '举高喷射消防车', - FireTeamName: '龚州消防救援站', // 所属消防队 - ReachTime: 999, // 到场剩余时间 - WaterYield: '18t', // 载水量 - Foam: '2t', // 载泡沫 - PeopleNum: 4, // 载人数 - Tonnage: '20t', // 吨位 - Assignment: '灭火', // 执行任务 - LinkCar: [], // 连接车辆 - WaterOccupy: [], // 水源占用 - 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: 2 - } - ]; - - bottomIsShow = false; // 底部车辆信息是否展示 - rightIsShow = true; // 右侧楼层是否展示 - rightSayIsShow = false; // 右侧语音是否展示 - selectCarID = ''; // 选中车辆ID 选中效果css - - ngOnInit(): void { - const that = this; - window.setTimeout(() => { - document.getElementById('center').oncontextmenu = function(event) { - that.workingArea.cancelPaint(); - event.preventDefault(); - }; - }); - } - - ngAfterViewInit(): void { - this.workingArea.loadDemoScene(this.demoData, 0.149); - - this.dataInit(); - // 监听canvas组件选中素材事件 - this.workingArea.on('select', obj => { - // 选中素材属性注入函数 - if (obj && obj.assetData && obj.assetData.ReachTime != undefined) { - this.selectCarID = JSON.parse(JSON.stringify( obj.assetData.Id || '' )); // 选中样式 赋值ID - const linkCar = this.canvasData.getLinkCarName(obj); // 连接车辆 - const waterOccupy = this.canvasData.getWaterOccupyName(obj); // 水源占用 - obj.assetData.LinkCar = linkCar; // 连接车辆 - obj.assetData.WaterOccupy = waterOccupy; // 水源占用 - this.canvasData.selectCar = obj.assetData; - this.bottomIsShow = true; - } - }); - // 监听canvas组件取消选中素材事件 - this.workingArea.on('deselect', obj => { - this.bottomIsShow = false; - this.selectCarID = ''; - }); - } - - // 开始绘制 - plot(e) { - e == 0 ? this.workingArea.beginPaintingArrows() : this.workingArea.beginPaintPipeline(); - } - - // 到场车辆初始化 - dataInit() { - this.allCarsData.forEach(item => { - item.ReachTime == 0 ? this.workingArea.ShowCarIcon(item) : null; - }); - } - - // 倒计时结束 - handleEvent(e, item) { - if (e.left == 0) { - item.ReachTime = 0; - this.workingArea.ShowCarIcon(item); - } else { - item.ReachTime = e.left / 1000; - } - } - - // 选择 车辆 - selectCar(e, isSelect: boolean = true) { - if (e.ReachTime == 0) { - const list = []; - list.push(e.Id); - isSelect ? this.workingArea.setHighlight(list) : null; - } else if (e.ReachTime && e.ReachTime != 0) { - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000; - this.snackBar.open('车辆目前未到场', '确定', config); - } - } - - // 关闭 底部车辆信息 - closeBottom() { - this.bottomIsShow = false; - } - - // 打开 右侧楼层 - openRight() { - this.rightIsShow = true; - } - - // 关闭 右侧楼层 - closeRight() { - this.rightIsShow = false; - } - - // 打开 关闭 右侧语音 - toggleSay() { - this.rightSayIsShow = !this.rightSayIsShow; - } - - - -} diff --git a/src/app/ui/plan/collection-tools.component.html b/src/app/ui/plan/collection-tools.component.html deleted file mode 100644 index 83a7929..0000000 --- a/src/app/ui/plan/collection-tools.component.html +++ /dev/null @@ -1,264 +0,0 @@ -
- - -
-
- 总平面图 -
-
- {{item.name}} -
- -
- volume_up -
-
-
泵房
-
控制室
- -
-
-
- settings_voice -
-
- 按住说话 -
-
- search -
-
-
-
- -
- - -
-
-
- -
-
- -
-
-
- -
-
- -
- -
- -
- -
- - - -
- -
- - 属性 - - - 消防要素 - -
-
- -
- -
-

面积(平方米)

-
{{canvasData.selectStorey.area}}
-

详情

-
- {{canvasData.selectStorey.details}} -
-
- -
-

{{assetName}}

- -
-

宽度(像素)

-
{{assetWidth}}
-

高度(像素)

-
{{assetHeight}}
-

角度

-
- -
{{sliderValue}}
-
-
- -
-

厚度

-
- -
{{sliderValueThickness}}
-
-
- - -
-
- 颜色 -
- -
-
- -

透明度

- - -
{{colorDivSliderValue}}%
-
-
- -
-

{{item.PropertyName}}({{item.PhysicalUnit}})

- -
{{item.PropertyValue}}
-
- -
-

{{item.PropertyName}}({{item.PhysicalUnit}})

- -
{{item.PropertyValue}}
-
- -
-

{{item.PropertyName}}({{item.PhysicalUnit}})

-
{{item.PropertyValue}}
-
- -
-
- -

{{item.PropertyName}}

- {{imagesArr.length ? imagesArr.length : 0}} / {{item.PropertyValue}} - -
-
-
-
- -
-
-
-
-
- -
-

{{item.PropertyName}}

-
-
西
-
-
-
东南
-
西南
-
东北
-
西北
- -
- -
-

{{item.PropertyName}}

-
-
- - -
- -
-

{{item.PropertyName}}

-
全部
-
高区
-
中区
-
低区
-
高中区
-
高低区
-
中底区
-
- -
-

{{item.PropertyName}}

-
消火栓
-
喷淋
-
水幕
-
泡沫
-
消防
-
-
-
- -
- -
- -
- - - - - - - {{node.name}} - - ({{node.children.length}}) - visibility - - - - - - - {{node.name}} - - ({{node.children.length}}) - visibility - - - -
-
-
-
- -
-
- -
\ No newline at end of file diff --git a/src/app/ui/plan/collection-tools.component.scss b/src/app/ui/plan/collection-tools.component.scss deleted file mode 100644 index 7ab6623..0000000 --- a/src/app/ui/plan/collection-tools.component.scss +++ /dev/null @@ -1,495 +0,0 @@ -@import './panel.scss'; -.icongray{ - color: #D9D0DC; -} -.content111 { - width: 100%; - height: 100%; - overflow: hidden; - box-sizing: border-box; - padding: 1px; - display: flex; - flex-direction: column; - .buildingbtnchecked{ - color: white; - background-image: url("../../../assets/images/标签选中.png")!important; - } -} - -//头部操作栏 -.headerOperate { - position: relative; - span{ - font-size: 18px; - } - flex: 2%; - display: flex; - align-items:center; - min-height: 40px; - box-sizing: border-box; - margin: 3px 0; - - .bigeditdeletebtn{ - margin-right: 12px; - height: 80%; - display: flex; - flex-direction: column; - // align-items:center;/*由于flex-direction: column,因此align-items代表的是水平方向*/ - justify-content: center; - user-select: none; - background-image: url("../../../assets/images/标签正常.png") ; - background-size:100% 100%; - color: white; - span{ - padding: 0 13px; - padding-right: 18px; - } - } - .bigeditdeletebtn:hover{ - cursor: pointer; - background-image: url("../../../assets/images/标签经过.png") ; - } - .bigTalkBox{ - user-select: none; - .titleIcon{ - font-size: 33px; - vertical-align: sub; - color: white; - } - .talkBox{ - width: 309px; - height: 326px; - border: 1px solid #30bbec; - background-color: #013a64; - opacity: .9 ; - position: absolute; - top: 32px; - right:4px; - z-index: 2000; - .btndiv{ - div{ - border-radius: 18px; - width: 70px; - height: 30px; - text-align: center; - line-height: 30px; - display: inline-block; - font-size: 13px; - color: white; - cursor: pointer; - - } - div:nth-child(1){ - background-color: #fe9400; - margin: 10px; - } - div:nth-child(2){ - background-color: #f95e5a; - } - } - .bottomDiv{ - position: absolute; - bottom:6px; - width: 100%; - height: 32px; - line-height: 32px; - display: flex; - color: white; - text-align: center; - div:nth-child(1){ - flex: 1; - } - div:nth-child(2){ - flex: 6; - color: #409eff; - background: url('../../../assets/images/输入框.png'); - background-size: 100% 100%; - } - div:nth-child(3){ - flex: 1; - - } - } - } - } -} - -//功能区 -// icon统一样式 -.mat-icon { - cursor:pointer; - vertical-align: middle; -} -//左右两侧功能栏 统一样式 -.publicCss { - overflow: hidden; - border-radius: 5px; - top: 0; -} -.functionalDomain { - flex: 98%; - overflow: hidden; - .functionalDomainContent { - // position: relative; - width: 100%; - height: 100%; - display: flex; - overflow: hidden; - } - .canvas{ - flex: 5; - } - .functionalDomainLeft { - // background: url("../../../assets/images/列表背景.png"); - background-size: 100% 100%; - display: flex; - flex-direction: column; - margin-left: 0px; - transition: margin-left 0.5s; - // min-width: 235px; - border: 1px solid #30bbec; - width: 235px; - left: 0; - z-index: 111; - .leftDragDiv{ - position: absolute; - right: 0; - height: 100%; - width: 3px; - z-index: 1000; - cursor: e-resize; - } - flex: 1; - } - .functionalDomainRight { - color: white; - z-index: 1001; - margin-right: 0px; - transition: margin-right 0.5s; - border: 1px solid #30bbec; - width: 235px; - right: 0; - flex: 1; - } - //右边导航栏显示隐藏 - .togglePanel2 { - margin-right: -2000px; - transition: margin-right 1s; - } - //左侧导航栏显示隐藏 - .togglePanel { - margin-left: -2000px; - transition: margin-left 1s; - } - -} - -//右边操作栏 -.title{ - width: 100%; - height: 40px; - line-height: 40px; - border-bottom:2px solid #accbf2; - display: flex; - align-content: center; - span{ - display: inline-block; - flex: 1; - text-align: center; - } - span:hover{ - cursor: pointer; - } -} -.selectedTitle{ - background: #0c2d44; -} - -//右侧属性 -.property{ - display: flex; - flex-flow: column; - .siteproperty{ - height: 100%; - overflow-y: auto; - p{ - color: #d0e0f4; - padding-left: 7px; - letter-spacing:3px; - margin: 5px 0; - } - .siteproperty_size{ - border-bottom:1px solid #d0e0f4; - width: 93%; - margin: 0 auto; - min-height: 21px; - color: #2399f1; - padding-bottom: 5px; - font-size: 16px; - letter-spacing:2px; - } - .rightAttribute{ - width: 12%; - height: 99.5%; - position: absolute; - top: 0; - right: 0; - bottom: 0; - border: 2px solid #464646; - } - } - .assetsproperty{ - overflow-y: auto; - height: 100%; - p{ - - color: #d0e0f4; - padding-left: 7px; - letter-spacing:3px; - margin: 5px 0; - } - .siteproperty_size{ - border-bottom:1px solid #d0e0f4; - width: 93%; - margin: 0 auto; - min-height: 21px; - color: #2399f1; - padding-bottom: 5px; - font-size: 16px; - letter-spacing:2px; - } - span{ - font-size: 15px; - } - input{ - height: 18px; - } - .biginput{ - display: block; - width: 88%; - margin: 0 auto; - } - .smallinput{ - display: block; - width: 19%; - margin-left: 8px; - } - .textarea{ - display: block; - width: 88%; - height: 50px; - margin: 0 auto; - } - .swiper-button-next{ - right: 6px; - } - .swiper-button-prev{ - left: 6px; - } - .swiper-container{ - // --swiper-theme-color: #ff6600;/* 设置Swiper风格 */ - // --swiper-navigation-color: #00ff33;/* 单独设置按钮颜色 */ - --swiper-navigation-size:20px;/* 设置按钮大小 */ - } - .hoverred:hover{ - color: rgb(187, 28, 28); - } - .selectDiv{ - height: 21px; - position: relative; - margin-bottom: 5px; - select{ - width: 98px; - height: 22px; - vertical-align: middle; - position: absolute; - right: 10px; - top: 1px; - border: 1px solid rgb(208, 211, 214); - border-radius: 2px; - } - } - .colorBigDiv{ - width: 88%; - margin-left: 8px; - - - .colorDiv{ - .colorLi{ - width: 24px; - height: 24px; - list-style: none; - float: left; - border: 2px solid white; - } - .coloractive{ - border: 2px solid black; - } - } - } - .colorBigTemplateDiv{ - span{ - color: #9c9fa5; - font-size: 14px; - height: 26px; - line-height: 26px; - } - .colorTemplateDiv{ - width: 65%; - height: 22px; - display: inline-block; - vertical-align: middle; - margin-left: 26px; - } - } - } -} -//右侧消防要素 -.firecategories{ - position: relative; - // display: flex; - // flex-flow: column; - .firecategoriesTree{ - overflow-y: auto; - height: 100%; - mat-tree-node{ - position: relative; - } - .isLookCss{ - position: absolute; - right: 6px; - z-index: 1000; - } - } - .mat-tree{ - background-color:transparent; - .mat-tree-node{ - color: white!important; - } - } -} - -// 解决轮播图蓝框问题 -div:focus { - outline: none; -} - -//没有图片时显示无图片背景图 -.noImgCss{ - background: url(../../../assets/images/noImg.png) repeat center center; - background-size: 88% 100%;/*按比例缩放*/ -} -.input{ - width: 18px; - height: 18px; - vertical-align: middle; - margin-left: 9px; - margin-right: 3px; -} - - -// tree -.mat-tree-node{ - min-height: 0; - height: 32px; - line-height: 32px; - font-size: 13px; - cursor: pointer; -} -.treeNode:hover{ - background-color: #105a8f -} -.isLookPattern{ - display: none; -} -.treeText{ - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - display: inline-block; - width: 65px; -} - -.bigBox{ - width: 700px; - height: 40px; - position: absolute; - overflow: hidden; - right: 0; -} -.weatherBox{ - height: 40px; - width: 700px; - line-height: 40px; - position: absolute; - right: 0; - transition: right linear .5s; - .openbtn{ - font-size: 45px; - height: 45px; - width: 40px; - } - .name{ - font-size: 16px; - vertical-align: middle; - margin-left: 3px; - } - input{ - width: 140px; - height: 22px; - margin-left: 3px; - } - select{ - width: 96px; - height: 25px; - margin-left: 3px; - vertical-align: middle; - } -} -.open{ - right: 0px; -} -.close{ - right:-622px; -} -.bottomCss{ - position: absolute; - left: 232px; - right: 0px; - bottom: 0; - height: 158px; - width: auto; - z-index: 100; - background-color: white; - border: 1px solid #464646; - .dragDiv{ - width: 100%; - height: 3px; - position: absolute; - top: 0; - z-index: 1000; - cursor: n-resize; - } - .title{ - height: 35px; - background-color: #464646; - div{ - background-color: #464646; - float: left; - width: 80px; - color: white; - font-size: 13px; - padding-left: 5px; - cursor: pointer; - } - .detailsAndattentBtn{ - background-color: #595959; - } - } - .body{ - textarea{ - width: 100%; - border-radius: 0px; - } - } -} \ No newline at end of file diff --git a/src/app/ui/plan/collection-tools.component.ts b/src/app/ui/plan/collection-tools.component.ts deleted file mode 100644 index 63062ad..0000000 --- a/src/app/ui/plan/collection-tools.component.ts +++ /dev/null @@ -1,1469 +0,0 @@ -import { Component, OnInit, Inject, ViewChild,ElementRef,Renderer2, ViewContainerRef } from '@angular/core'; -import { HttpClient, HttpHeaders } from '@angular/common/http'; -import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; -import { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar'; -import Swiper from 'swiper'; -import {MatTreeFlatDataSource, MatTreeFlattener} from '@angular/material/tree'; -import {FlatTreeControl} from '@angular/cdk/tree'; -import {WorkingAreaComponent} from '../../working-area/working-area.component' -import {CanvasShareDataService,GameMode} from '../../canvas-share-data.service' //引入服务 -import Viewer from 'viewerjs'; -@Component({ - selector: 'plan', - templateUrl: './collection-tools.component.html', - styleUrls: ['./collection-tools.component.scss'] -}) -export class planComponent implements OnInit { - - @ViewChild('canvas',{static: true}) canvas:WorkingAreaComponent; //父组件中获得子组件的引用 - - constructor(private http:HttpClient,public dialog: MatDialog,public snackBar: MatSnackBar,private element: ElementRef,public canvasData: CanvasShareDataService) { } - // tree配置 - private _transformer = (node, level: number) => {//要给渲染节点传那些属性参数 - return { - expandable: !!node.children && node.children.length > 0, - name: node.name || node.Name, - level: level, - id: node.id || node.Id, - children:node.children, - isTemplate:node.isTemplate, - isNewElement:node.isNewElement, - isLook:node.isLook, - isLookPattern:node.isLookPattern || null - }; - } - treeControl = new FlatTreeControl(node => node.level, node => node.expandable); - - treeFlattener = new MatTreeFlattener(this._transformer, node => node.level, node => node.expandable, node => node.children); - dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener); - hasChild = (_: number, node: any) => node.expandable; - - colors = ['#076eec','#4dd0e1','#00ee76','#ffff00','#eeb422', - '#FF6A6A','#ff0000','#ff6eb4','#00bfff','#54ff9f', - '#009688','#836fff','#ff8c00','#ee00ee','#ffa07a', - '#00C500','#00ffff','#6495ed','#ffdAb9','#AA00FF'] - selected = "1" //图标大小选择框 - - allBuildings //该单位所有建筑 - beforeOneCheckedBuilding:any = {name:"总平面图"}; //当前点击选择的建筑 - checkedBuildingIndex:number = -1 //当前点击选择的建筑index - isEditPat:boolean = true //当前是否是编辑模式 - - assetName:String//素材名称 - assetWidth:number//素材宽度 - assetHeight:number//素材高度 - sliderValue:number = 0//角度滑竿的值 - sliderValueThickness:number = 0//厚度滑竿的值 - isHighLight:boolean = false//是否高亮选择框 - PropertyInfos = [] //去除图片链接真正用于循环的内容 - imagesArrNum //素材属性图片数量上限 - imagesArr = [] //属性中的图片链接集合 - clickedIndex //点击图片时的索引值 - - //传入素材对象,设置右侧属性栏内容 - canvasAssetObj //传入的素材属性对象 - isImgNumCss = false //控制上传文件input显隐 - mySwiper:any //轮播图实例 - - gallery//viewerJs实例 - //设置属性框 - setAssetsProperty(obj){ - //初始化viewerJs实例 - setTimeout(() => { - obj.PropertyInfos.forEach(item => { - if(item.PropertyType == 4){ - this.gallery = new Viewer(document.getElementById('viewerjs'),{ - url: 'data-original' - }); - } - }) - }, 0); - - //从颜色中取出透明度 - let color = obj.Color - let strh = color.substring(color.length -2,color.length) - let opacity = Math.round(parseInt(strh,16)/255 * 100) - this.colorDivSliderValue = opacity - - this.isShowProperty = true - this.isShowAttribute = false - let _this = this - this.imagesArr = [] - this.imagesArrNum = "" - - this.canvasAssetObj = obj //将选中素材对象存到本地变量 - - this.assetName = obj.Name - this.assetWidth = obj.Width - this.assetHeight = obj.Height - this.sliderValue = obj.Angle - this.selectedcolor = obj.Color - this.PropertyInfos = obj.PropertyInfos - this.sliderValueThickness = obj.Thickness - this.PropertyInfos.forEach(item => { - if(item.PropertyType == 3){ //如果是图片链接类型 - this.imagesArr.push(item) - } - if(item.PropertyType == 4){//图片数值上线 - this.imagesArrNum = item.PropertyValue - } - }) - - //如果存在图片则加载轮播图 - if(this.imagesArr.length){ - setTimeout(() => { - this.mySwiper = new Swiper('.swiper-container',{ - loop: false, - // grabCursor: true, - // 如果需要前进后退按钮 - navigation: { - nextEl: '.swiper-button-next', - prevEl: '.swiper-button-prev', - }, - on:{ - click: function(){ - _this.clickedIndex = this.clickedIndex - }, - } - }); - }, 0); - } - //判断此时图片数量是否达到上限 - if(this.imagesArr.length < this.imagesArrNum){//如果不超出 - this.isImgNumCss = true - }else{ - this.isImgNumCss = false - } - } - - //右侧属性和消防要素切换 - isProperty = true - rightSwitch(type){ - if(type == 1){ - this.isProperty = true - }else{ - this.isProperty = false - } - } - //打开说话框 - isOpenTalk = false - openTalkDiv(){ - this.isOpenTalk = !this.isOpenTalk - } - - - //消防要素div边框高度调节 - firecategoriesDivMouseDown(e){ - document.onmousemove = (ev) => { - let bodyHeight = document.body.clientHeight //网页宽度 - let maxHeight = this.element.nativeElement.querySelector('#rightDiv').clientHeight - 35 //最大宽度 - if(bodyHeight - ev.clientY >= maxHeight){ - this.element.nativeElement.querySelector('#firecategories').style.height = maxHeight+ 'px' - this.element.nativeElement.querySelector('#property').style.height = 35+ 'px' - }else{ - this.element.nativeElement.querySelector('#firecategories').style.height = (bodyHeight - ev.clientY) + 'px' ; - this.element.nativeElement.querySelector('#property').style.height = (this.element.nativeElement.querySelector('#rightDiv').clientHeight - this.element.nativeElement.querySelector('#firecategories').clientHeight) + 'px' - } - } - document.onmouseup = () => { - document.onmousemove = null; - document.onmouseup = null; - } - } - - //左侧div边框宽度调节 - leftDivMouseDown(e){ - document.onmousemove = (ev) => { - let bodyWidth = document.body.clientWidth //网页宽度 - let maxWidth = bodyWidth - 260 - this.element.nativeElement.querySelector('#rightDiv').clientWidth //最大宽度 - if(ev.clientX - 240 >= maxWidth){ - this.element.nativeElement.querySelector('#leftDiv').style.width = maxWidth + 'px' - }else{ - this.element.nativeElement.querySelector('#leftDiv').style.width = ev.clientX - 260 + 'px'; - } - } - document.onmouseup = () => { - document.onmousemove = null; - document.onmouseup = null; - } - } - - - - //右侧div边框宽度调节 - rightDivMouseDown(e){ - document.onmousemove = (ev) => { - let bodyWidth = document.body.clientWidth //网页宽度 - let maxWidth = bodyWidth - 240 - this.element.nativeElement.querySelector('#leftDiv').clientWidth //最大宽度 - if(bodyWidth - ev.clientX >= maxWidth){ - this.element.nativeElement.querySelector('#rightDiv').style.width = maxWidth + 'px' - }else{ - this.element.nativeElement.querySelector('#rightDiv').style.width = bodyWidth - ev.clientX + 'px'; - } - } - document.onmouseup = () => { - document.onmousemove = null; - document.onmouseup = null; - } - } - - - //素材宽度输入框改变 - assetWidthIunput(){ - this.canvasAssetObj.Width = this.assetWidth - this.canvasData.isChange = true - this.canvas.refreshIcon(this.canvasAssetObj.Id) - } - - //素材高度输入框改变 - assetHeightIunput(){ - this.canvasAssetObj.Height = this.assetHeight - this.canvasData.isChange = true - this.canvas.refreshIcon(this.canvasAssetObj.Id) - } - - //素材角度输入框改变 - assetAngleIunput(){ - this.canvasAssetObj.Angle = this.sliderValue - this.canvasData.isChange = true - this.canvas.refreshIcon(this.canvasAssetObj.Id) - } - - //素材厚度输入框改变 - assetThicknessIunput(){ - this.canvasAssetObj.Thickness = this.sliderValueThickness - this.canvasData.isChange = true - this.canvas.refreshIcon(this.canvasAssetObj.Id) - } - - //素材是否高亮改变----->本地操作行为 - assetHighLightIunput(){ - - } - - //动态属性素材input框值改变 - assetInputChange(i,e){ - let index = this.canvasAssetObj.PropertyInfos.findIndex((item)=>{ - return i.PropertyName == item.PropertyName - }) - this.canvasAssetObj.PropertyInfos[index].PropertyValue = e.target.value - this.canvasData.isChange = true - this.canvas.refreshIcon(this.canvasAssetObj.Id) - } - - //动态属性素材布尔值框改变radio - assetRadioChange(i,boolean){ - let index = this.canvasAssetObj.PropertyInfos.findIndex((item)=>{ - return i.PropertyName == item.PropertyName - }) - this.canvasAssetObj.PropertyInfos[index].PropertyValue = boolean - this.canvasData.isChange = true - } - - colorIndex//默认素材颜色 - selectedcolor//点击选择的颜色 - //选择素材颜色 - selectcolor(item,key){ - //在当前透明度基础上改变颜色 - this.selectedcolor = item + this.selectedcolor.substring(this.selectedcolor.length-2) - this.canvasAssetObj.Color = this.selectedcolor - this.canvasData.isChange = true - this.canvas.refreshIcon(this.canvasAssetObj.Id) - } - //颜色选择滑竿的值 - colorDivSliderValue - colorDivSliderChange(){ - let colorOpacity = Math.round(255 * this.colorDivSliderValue * 0.01) - //根据滑竿值改变16进制颜色后两位 - function replacepos(text,start,stop,replacetext){ - let mystr = text.substring(0,stop-1)+replacetext+text.substring(stop+1); - return mystr; - } - this.selectedcolor = replacepos(this.selectedcolor,7,8,colorOpacity.toString(16)) - this.canvasAssetObj.Color = this.selectedcolor - this.canvasData.isChange = true - this.canvas.refreshIcon(this.canvasAssetObj.Id) - } - - - //上传素材图片 - selectFile(e){ - let imgFile = e.target.files[0] || null //上传的文件 - this.startUploading(imgFile) - } - objectName:any //上传对象名 - startUploading (imgFile) { - let _this = this - let file = imgFile || null //获取上传的文件 - let fileSize = file.size || null //上传文件的总大小 - let shardSize = 5 * 1024 * 1024 //5MB一个分片 - let companyId = sessionStorage.getItem("companyId") - if (file && fileSize <= shardSize) { //上传文件<=5MB时 - let formData = new FormData() - formData.append("file",file) - this.http.post(`api/Objects/WebPlan2D/${companyId}`,formData).subscribe((data:any)=>{ - this.objectName = data.objectName - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('上传成功','确定',config) - - //在原始素材对象和需要循环图片的对象中分别push最新上传的图片 - let imgObj = { - "Tag": null, - "Order": 0, - "Enabled": false, - "Visible": false, - "Required": false, - "RuleName": null, - "RuleValue": null, - "PhysicalUnit": null, - "PropertyName": "图片", - "PropertyType": 3, - "PropertyValue": "/api/Objects/WebPlan2D/" + this.objectName - } - - this.imagesArr.push(imgObj) - this.canvasAssetObj.PropertyInfos.push(imgObj) - - setTimeout(() => { - this.mySwiper = new Swiper('.swiper-container',{ - loop: false, - // grabCursor: true, - // 如果需要前进后退按钮 - navigation: { - nextEl: '.swiper-button-next', - prevEl: '.swiper-button-prev', - }, - on:{ - click: function(){ - _this.clickedIndex = this.clickedIndex - }, - } - }); - - this.mySwiper.slideTo(this.imagesArr.length - 1) - this.gallery.update() - }, 0); - - //判断上传素材属性图片是否超出数量 超出数量则隐藏input框 - if(this.imagesArr.length < this.imagesArrNum){//不超出input才会显示 - this.isImgNumCss = true - }else{ - this.isImgNumCss = false - } - - this.canvasData.isChange = true - }) - } else if (file && fileSize>shardSize) { //上传文件>5MB时,分块上传 - let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('上传图片文件不允许大于5mb','确定',config); - } - - } - - //不能上传图片提示 - imgNumBeyond(){ - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('图片数量已达上限','确定',config); - } - - //删除素材属性图片 - deleteImg(){ - if(this.imagesArr.length == 0){ - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('没有可删除的图片,请先上传','确定',config) - }else{ - // 在素材原始对象中将删除的图片去掉 - this.canvasAssetObj.PropertyInfos = [...this.canvasAssetObj.PropertyInfos.filter((item)=>{ - return item.PropertyValue != this.imagesArr[this.mySwiper.activeIndex].PropertyValue - })] - //在图片循环数组中将图片去掉 - this.imagesArr.splice(this.mySwiper.activeIndex, 1); - //更新swiper视图 - setTimeout(() => { - this.mySwiper.update(); - this.gallery.update() - }, 0); - - this.canvasData.isChange = true - } - } - - //动态属性方向select选择框 - direction(i,e){ - let index = this.canvasAssetObj.PropertyInfos.findIndex((item)=>{ - return i.PropertyName == item.PropertyName - }) - this.canvasAssetObj.PropertyInfos[index].PropertyValue = e.target.value - this.canvasData.isChange = true - } - - //动态属性供给区域select选择框 - supplyArea(i,e){ - let index = this.canvasAssetObj.PropertyInfos.findIndex((item)=>{ - return i.PropertyName == item.PropertyName - }) - this.canvasAssetObj.PropertyInfos[index].PropertyValue = e.target.value - this.canvasData.isChange = true - } - - //动态属性供给类型select选择框 - supplyType(i,e){ - let index = this.canvasAssetObj.PropertyInfos.findIndex((item)=>{ - return i.PropertyName == item.PropertyName - }) - this.canvasAssetObj.PropertyInfos[index].PropertyValue = e.target.value - this.canvasData.isChange = true - } - - ngOnInit(): void { - - let that = this - window.setTimeout(()=>{ - document.getElementById("functionalDomainContent").oncontextmenu = function (event) { - that.canvas.cancelPaint() - that.selectImageIndex = -1 - event.preventDefault(); - }; - }) - - this.canvasData.getMessage().subscribe((message: any)=>{ - console.log(message);//send a message - }) - } - - - - ngAfterViewInit(): void { - // 监听canvas组件选中素材事件 - this.canvas.on("select",obj=>{ - //选中素材属性注入函数 - this.setAssetsProperty(obj.assetData) - }) - // 监听canvas组件取消选中素材事件 - this.canvas.on("deselect",obj=>{ - this.isShowProperty = false - }) - // 监听canvas组件新增素材事件 - this.canvas.on("createIcon",obj=>{ - this.renovateTreeData(false) - }) - // 监听canvas组件删除素材事件 - this.canvas.on("deleteIcon",obj=>{ - this.renovateTreeData(false) - }) - } - - copyAssetData:any //存储用于复制的素材 - //复制素材 - copyAsset(){ - this.canvas.copy() - } - //粘贴素材 - pasteAsset(){ - let companyId = sessionStorage.getItem("companyId") - let buildingId = this.beforeOneCheckedBuilding.id - let floorId = this.selectingSitePlan.id - this.canvas.paste(companyId,buildingId,floorId) - } - - - //获得所有的建筑物 - getAllBuildings(){ - this.http.get("/api/Buildings",{ - params:{ - companyId : this.params.companyId - } - }).subscribe(data=>{ - this.allBuildings = data - }) - } - - //拖拽tree - drop(e){ - console.log(1111,e) - } - drop2(e){ - console.log(222,e) - } - - - - //选择建筑 - checkedBuilding(item,index){ - if (this.checkedBuildingIndex!=index) { - this.beforeOneCheckedBuilding = item - this.checkedBuildingIndex = index - if (index==-1) { //总平面图数据 - this.getSitePlan() - } else { //建筑楼层/区域数据 - this.getBuildingSitePlan(item) - } - } - } - - - storeyData //将建筑素材和当前楼层素材合二为一 - - //处理 tree 数据结构 - handleTreeData (storeyData) { - - this.storeyData = storeyData - let data = this.allFireElements //所有消防要素模板 - let treeData = [] //tree型 处理完成后的数据 - data.forEach(element => { - element.isTemplate = true //添加模板标识 - element.isLook = true //添加是否可见标识 - element.name!='其他'? element.children = [] : null - - if(storeyData){ - for(let key in storeyData.data){ - storeyData.data[key].isLookPattern = true - if(element.id == storeyData.data[key].FireElementId){ - storeyData.data[key].isTemplate = false - storeyData.data[key].isLook = true - - element.isNewElement = true //该节点children是否存在新添加的真实素材 标识 - - //定义查看模式下能看到的元素 - element.isLookPattern = true - if(element.parentId){ - data.forEach(i => { - if(i.id == element.parentId){ - i.isLookPattern = true - } - }) - } - // - - element.children.push(storeyData.data[key]) - } - } - } - data.forEach(item => { if (item.parentId == element.id) {element.children.push(item)} }); - }); - data.forEach(element => { - if (!element.parentId) { treeData.push(element) } - }); - this.dataSource.data = treeData - this.treeControl.expandAll() - } - - //点击树节点 - clickTreeNode(node,e){ - if(this.canvasData.originalcompanyBuildingData.data[node.id]){ - this.setAssetsProperty(this.canvasData.originalcompanyBuildingData.data[node.id]) - }else if(this.canvasData.originaleveryStoreyData.data[node.id]){ - this.setAssetsProperty(this.canvasData.originaleveryStoreyData.data[node.id]) - } - - //canvas上的素材高亮 - let iconHighLightArr:any = [] - if(node.isTemplate){//如果是模板,则开始向下找 - node.children.forEach(item => { - if(item.isTemplate){//如果子节点依旧是模板,则继续开始向下找 - item.children.forEach(i => { - iconHighLightArr.push(i.Id) - }) - }else{ - iconHighLightArr.push(item.Id) - } - }) - }else{ - iconHighLightArr.push(node.id) - } - this.canvas.setHighlight(iconHighLightArr) - } - - //点击数节点的显示隐藏icon - clickLookItem(node,e){ - // e.stopPropation() - //修改真实素材islook属性 - for(let key in this.storeyData.data){ - if(key == node.id){ - this.storeyData.data[key].isLook = !this.storeyData.data[key].isLook - } - } - - //所有消防要素模板变化islook值 - if(node.isTemplate){ - this.allFireElements.forEach(item=>{ - if(item.id == node.id || item.name == "其他"){ - item.isLook = !item.isLook - } - }) - } - - - //子节点跟随父节点的islook变化 -   if(node.children && node.children.length != 0){ -      node.children.forEach(item=>{ -        item.isLook = !node.isLook  -        if(item.children && item.children.length != 0){ -          item.children.forEach(i=>{ -            i.isLook =  !node.isLook  -          }) -        } -      }) -     } - - - - - const nodes = this.treeControl.dataNodes; - const expandNodes = []; - nodes.forEach((item) => { - if(item.expandable && this.treeControl.isExpanded(item)){ - expandNodes.push(item.id); - } - }); - - - this.dataSource.data = [...this.dataSource.data] - let newNodes = this.treeControl.dataNodes; - newNodes = newNodes.filter(n => { - return expandNodes.indexOf(n.id) >= 0; - }); - newNodes.forEach(item => { - this.treeControl.expand(item); - }); - - //canvas上的素材显隐 - let iconVisibleArr:any = [] - if(node.isTemplate){//如果是模板,则开始向下找 - node.children.forEach(item => { - if(item.isTemplate){//如果子节点依旧是模板,则继续开始向下找 - item.children.forEach(i => { - iconVisibleArr.push(i.Id) - }) - }else{ - iconVisibleArr.push(item.Id) - } - }) - }else{ - iconVisibleArr.push(node.id) - } - this.canvas.setIconVisible(iconVisibleArr,!node.isLook) - } - - //计算 可视区域内宽度, 是否缩放背景图 - backGroundScale () { - let that = this - let dadWidth = document.querySelector('.canvas').clientWidth - let dadHeight = document.querySelector('.canvas').clientHeight - let img = new Image() - img.src = this.selectingSitePlan.imageUrl; - img.onload = function(){ - if (img.height > dadHeight && img.width > dadWidth) { - let width = dadWidth/img.width - let height = dadHeight/img.height - that.canvas.setBackgroundScale((width>height? height : width)-0.005) - return - } else if (img.height > dadHeight) { - that.canvas.setBackgroundScale((dadHeight/img.height)-0.005) - return - } else if (img.width > dadWidth) { - that.canvas.setBackgroundScale((dadWidth/img.width)-0.005) - return - } - }; - } - - //封装 刷新 tree 数据 - renovateTreeData (isRefresh:boolean = true) { - this.allFireElements[this.allFireElements.length-1].children = [] - isRefresh? this.canvas.refresh() : null - isRefresh? this.canvasData.isChange = false : null //服务中 数据是否改动 改为false - isRefresh? this.isShowProperty = true : null - isRefresh? this.isShowAttribute = true : null - isRefresh && this.selectingSitePlan.imageUrl? this.backGroundScale() : null - // !this.pattern? this.mateFireForce() : null - - let beforeOneId = this.selectingSitePlan.id || '' //当前 选中 平面图 楼层/区域 id - let companyBuildingData = JSON.parse(JSON.stringify( this.canvasData.originalcompanyBuildingData || {} )) // 当前 单位/建筑 数据 - let storeyData = JSON.parse(JSON.stringify( this.canvasData.originaleveryStoreyData || {} )) //当前 楼层 数据 - - for(let key in companyBuildingData.data){ - if (companyBuildingData.data[key].FloorId === beforeOneId) { //处理 单位/建筑 数据是否归于当前楼层下 - storeyData.data[key] = companyBuildingData.data[key] - } - } - for(let key in storeyData.data){ //筛选数据 没有匹配全部放入到 其他 数组 - let noMatch = this.allFireElements.find( every=> every.id===storeyData.data[key].FireElementId ) - if (!noMatch) { - this.allFireElements[this.allFireElements.length-1].children.push(storeyData.data[key]) - } - } - this.handleTreeData(storeyData) //处理tree数据结构 - } - - - - //陈鹏飞↓↓↓ - //陈鹏飞↓↓↓ - //陈鹏飞↓↓↓ - params = {companyId: sessionStorage.getItem('companyId')} - allFireElements:any = []; //当前 单位/建筑 下的消防要素 - - isShowAttribute:boolean = true; //属性栏 是否显示 默认数据 - isShowProperty:boolean = false //属性栏 是否有东西 - - toggleExpandPanel:boolean = false; //左侧可展开面板展开或关闭 - toggleExpandPanelRight:boolean = false; //右侧可展开面板展开或关闭 - togglePlane:boolean = true; //可展开面板平面图 显隐 - toggleMaterialBank:boolean = false; //可展开面板素材库 显隐 - toggleHandlePlans:boolean = true; //可展开面板处置预案 显隐 - //可展开面板展开或关闭 - toggle () { - this.toggleExpandPanel = !this.toggleExpandPanel - } - //可展开面板展开或关闭 - toggle2 () { - this.toggleExpandPanelRight = !this.toggleExpandPanelRight - } - //可展开面板 平面图 展开或关闭 - togglePlanarGraph () { - this.togglePlane = !this.togglePlane - } - //可展开面板 素材库 展开或关闭 - toggleMaterial () { - this.toggleMaterialBank = !this.toggleMaterialBank - } - //可展开面板 处置预案 展开或关闭 - toggleHandlePlan () { - this.toggleHandlePlans = !this.toggleHandlePlans - } - - sitePlanData:any = []; //总平面图 楼层/区域 数据 - selectingSitePlan:any; //选中的 平面图 楼层/区域 - selectSitePlanIndex:number; //选中的 平面图 楼层/区域 index - - //获取总平面图 - getSitePlan () { - let fireData = this.getFireElements(sessionStorage.getItem('buildingTypeId')) //获取单位下 消防要素 - let planData = this.getSitePlanCompanyData() //获取 单位 数据 - this.http.get('/api/SitePlans',{params:this.params}).subscribe(data=>{ - this.sitePlanData = data - this.selectingSitePlan = this.sitePlanData[0] || {} - this.canvasData.selectStorey = this.sitePlanData[0] || {} //服务中 存一份数据 - this.selectSitePlanIndex = 0 - - Promise.all([fireData,planData]).then((res)=>{ - this.getSitePlanStorey(this.selectingSitePlan) //获取 平面图 楼层数据 - }) - - }) - } - - //获取建筑 楼层/区域 - getBuildingSitePlan (item) { - let params = { - buildingId: item.id - } - let fireData = this.getFireElements(item.buildingTypes[0].id || '') //获取建筑下 消防要素 - let planData = this.getBuildingData(params) //获取 建筑 数据 - this.http.get('/api/BuildingAreas',{params}).subscribe(data=>{ - this.sitePlanData = data - this.selectingSitePlan = this.sitePlanData[0] || {} - this.canvasData.selectStorey = this.sitePlanData[0] || {} //服务中 存一份数据 - this.selectSitePlanIndex = 0 - - Promise.all([fireData,planData]).then((res)=>{ - this.getBuildingStorey(this.selectingSitePlan) //获取 建筑 楼层数据 - }) - - }) - } - - //根据单位类型获得所有的消防要素 - getFireElements (e) { - let params = {ids:e} - return new Promise ((resolve,reject)=>{ - this.http.get('/api/Companies/FireElements',{params}).subscribe((data:any)=>{ - this.allFireElements = data //所有消防要素 - let other = { - children: [], - computed: true, - id: '', - name: '其他', - order: 999, - parentId: null, - tag: "INPUT", - isLookPattern : true - } - this.allFireElements.push(other) - resolve('success') - }) - }) - } - - //获取 单位 数据 - getSitePlanCompanyData () { - return new Promise ((resolve,reject)=>{ - this.http.get('/api/CompanyData',{params:this.params}).subscribe((data:any)=>{ - this.canvasData.originalcompanyBuildingData = data || {} // 单位原数据 - this.canvasData.originalcompanyBuildingData.data? this.canvasData.originalcompanyBuildingData.data = JSON.parse(this.canvasData.originalcompanyBuildingData.data) : this.canvasData.originalcompanyBuildingData.data = {} - this.canvasData.originalcompanyBuildingData.version? null : this.canvasData.originalcompanyBuildingData.version = "2.0" - this.canvasData.originalcompanyBuildingData.companyId? null : this.canvasData.originalcompanyBuildingData.companyId = sessionStorage.getItem('companyId') - resolve('success') - }) - }) - } - - //获取 平面图 楼层数据 - getSitePlanStorey (e) { - let params = {sitePlanId: e.id} - this.http.get(`/api/SitePlanData`,{params}).subscribe((data:any)=>{ - this.canvasData.originaleveryStoreyData = data || {} // 楼层原数据 - this.canvasData.originaleveryStoreyData.data? this.canvasData.originaleveryStoreyData.data = JSON.parse(this.canvasData.originaleveryStoreyData.data) : this.canvasData.originaleveryStoreyData.data = {} - this.canvasData.originaleveryStoreyData.version? null : this.canvasData.originaleveryStoreyData.version = "2.0" - this.canvasData.originaleveryStoreyData.sitePlanId? null : this.canvasData.originaleveryStoreyData.sitePlanId = e.id || null - this.renovateTreeData() - }) - } - - //获取 建筑 数据 - getBuildingData (e) { - return new Promise ((resolve,reject)=>{ - this.http.get(`/api/BuildingData`,{params:e}).subscribe((data:any)=>{ - this.canvasData.originalcompanyBuildingData = data || {} // 建筑原数据 - this.canvasData.originalcompanyBuildingData.data? this.canvasData.originalcompanyBuildingData.data = JSON.parse(this.canvasData.originalcompanyBuildingData.data) : this.canvasData.originalcompanyBuildingData.data = {} - this.canvasData.originalcompanyBuildingData.version? null : this.canvasData.originalcompanyBuildingData.version = "2.0" - this.canvasData.originalcompanyBuildingData.buildingId? null : this.canvasData.originalcompanyBuildingData.buildingId = e.buildingId - resolve('success') - }) - }) - } - - //获取 建筑 楼层数据 - getBuildingStorey (e) { - let params = {buildingAreaId: e.id} - this.http.get(`/api/BuildingAreaData`,{params}).subscribe((data:any)=>{ - this.canvasData.originaleveryStoreyData = data || {} // 楼层原数据 - this.canvasData.originaleveryStoreyData.data? this.canvasData.originaleveryStoreyData.data = JSON.parse(this.canvasData.originaleveryStoreyData.data) : this.canvasData.originaleveryStoreyData.data = {} - this.canvasData.originaleveryStoreyData.version? null : this.canvasData.originaleveryStoreyData.version = "2.0" - this.canvasData.originaleveryStoreyData.buildingAreaId? null : this.canvasData.originaleveryStoreyData.buildingAreaId = e.id || null - this.renovateTreeData() - }) - } - - //点击选中 平面图 楼层/区域 时 - selectSitePlan (item,index) { - if (this.selectSitePlanIndex != index) { - - if (this.canvasData.isChange) { //true 数据被改动 - let isTrue = confirm('是否保存当前编辑数据') - if (isTrue) { //先保存数据 在切换 - // let isSuccess = this.saveSite()//true的时候 先保存数据 - // if (isSuccess != false) { - // this.selectingSitePlan = item - // this.selectSitePlanIndex = index - // this.canvasData.selectStorey = item //服务中 存一份数据 - // if (this.checkedBuildingIndex==-1) { //总平面图时 - // this.getSitePlanStorey(item) //获取 平面图 楼层数据 - // } else { //楼层/区域时 - // this.getBuildingStorey(item) //获取 建筑 楼层数据 - // } - // } - } else { //不保存数据 直接切换 - this.selectingSitePlan = item - this.selectSitePlanIndex = index - this.canvasData.selectStorey = item //服务中 存一份数据 - if (this.checkedBuildingIndex==-1) { //总平面图时 - this.getSitePlanStorey(item) //获取 平面图 楼层数据 - } else { //楼层/区域时 - this.getBuildingStorey(item) //获取 建筑 楼层数据 - } - } - - } else { //false 数据没被改动 - this.selectingSitePlan = item - this.selectSitePlanIndex = index - this.canvasData.selectStorey = item //服务中 存一份数据 - if (this.checkedBuildingIndex==-1) { //总平面图时 - this.getSitePlanStorey(item) //获取 平面图 楼层数据 - } else { //楼层/区域时 - this.getBuildingStorey(item) //获取 建筑 楼层数据 - } - } //if - - } - } - - - - //平面图 楼层/区域 上移 - moveUp (item,index) { - if (index != 0) { - let replaceIndex = this.sitePlanData[index].order - this.sitePlanData[index].order = this.sitePlanData[index-1].order - this.sitePlanData[index-1].order = replaceIndex - if (this.checkedBuildingIndex==-1) { //总平面图 - this.http.put(`/api/SitePlans/${this.sitePlanData[index-1].id}`,this.sitePlanData[index-1]).subscribe(data=>{ - this.http.put(`/api/SitePlans/${this.sitePlanData[index].id}`,this.sitePlanData[index]).subscribe(data=>{ - this.selectSitePlanIndex = this.selectSitePlanIndex-1 - this.renovateSitePlan() - }) - }) - } else { //楼层/区域 - this.http.put(`/api/BuildingAreas/${this.sitePlanData[index-1].id}`,this.sitePlanData[index-1],{params:this.params}).subscribe(data=>{ - this.http.put(`/api/BuildingAreas/${this.sitePlanData[index].id}`,this.sitePlanData[index],{params:this.params}).subscribe(data=>{ - this.selectSitePlanIndex = this.selectSitePlanIndex-1 - this.renovateBuilding() - }) - }) - } - - } //if index - } - - //平面图 楼层/区域 下移 - moveDown (item,index) { - if (index != this.sitePlanData.length-1) { - let replaceIndex = this.sitePlanData[index].order - this.sitePlanData[index].order = this.sitePlanData[index+1].order - this.sitePlanData[index+1].order = replaceIndex - if (this.checkedBuildingIndex==-1) { //总平面图 - this.http.put(`/api/SitePlans/${this.sitePlanData[index+1].id}`,this.sitePlanData[index+1]).subscribe(data=>{ - this.http.put(`/api/SitePlans/${this.sitePlanData[index].id}`,this.sitePlanData[index]).subscribe(data=>{ - this.selectSitePlanIndex = this.selectSitePlanIndex+1 - this.renovateSitePlan() - }) - }) - } else { //楼层/区域 - this.http.put(`/api/BuildingAreas/${this.sitePlanData[index+1].id}`,this.sitePlanData[index+1],{params:this.params}).subscribe(data=>{ - this.http.put(`/api/BuildingAreas/${this.sitePlanData[index].id}`,this.sitePlanData[index],{params:this.params}).subscribe(data=>{ - this.selectSitePlanIndex = this.selectSitePlanIndex+1 - this.renovateBuilding() - }) - }) - } - - } //if index - } - - //旋转底图 - revolveImg (item) { - item.imageAngle==270? item.imageAngle = 0 : item.imageAngle = item.imageAngle+90 - if (this.checkedBuildingIndex==-1) { //总平面图 - this.http.put(`/api/SitePlans/${item.id}`,item).subscribe(data=>{ - let isSuccess = this.renovateSitePlan() - isSuccess.then(res=>{ - this.canvas.refreshBackgroundImage() - }) - }) - } else { //楼层/区域 - this.http.put(`/api/BuildingAreas/${item.id}`,item,{params:this.params}).subscribe(data=>{ - let isSuccess = this.renovateBuilding() - isSuccess.then(res=>{ - this.canvas.refreshBackgroundImage() - }) - }) - } - - } - - //删除 平面图 楼层/区域 - deletePlaneData (item) { - let isDelete = confirm('您确定要删除吗') - if (isDelete) { - if (this.checkedBuildingIndex==-1) { //总平面图 - this.http.delete(`/api/SitePlans/${item.id}`).subscribe(data=>{ - this.deleteShareData(item,-1) - }) - } else { //楼层/区域 - this.http.delete(`/api/BuildingAreas/${item.id}`).subscribe(data=>{ - this.deleteShareData(item,1) - }) - } - } - } - - //删除当前 单位/建筑的 共享数据中 已删除data - deleteShareData (e,isCompany) { - this.sitePlanData.forEach((element,index) => { - if (element.id===e.id) { - this.sitePlanData.splice(index,1) - return - } - }); - let data = this.canvasData.originalcompanyBuildingData; - for(let key in data.data){ - if (data.data[key].FloorId === e.id) { //处理 单位/建筑 数据是否归于当前楼层下 - delete data.data[key] - } - } - let newData = JSON.parse(JSON.stringify(this.canvasData.originalcompanyBuildingData)); - newData.data = JSON.stringify(newData.data) // 转换JSON 数据格式 - this.selectingSitePlan = this.sitePlanData[0] || {} - this.canvasData.selectStorey = this.sitePlanData[0] || {} //服务中 存一份数据 - this.selectSitePlanIndex = 0 - if (isCompany===-1) { - this.http.post("/api/CompanyData",newData).subscribe(data => {}) - this.getSitePlanStorey(this.selectingSitePlan) //获取 平面图 楼层数据 - } else { - this.http.post("/api/BuildingData",newData,{params:this.params}).subscribe(data => {}) - this.getBuildingStorey(this.selectingSitePlan) //获取 建筑 楼层数据 - } - } - - //复制图层 平面图 楼层/区域 - duplicateLayer (item) { - if (this.checkedBuildingIndex==-1) { //总平面图 - item.id = "" - item.modifiedTime = new Date() - item.name = item.name + '(副本)' - item.order = this.sitePlanData[this.sitePlanData.length-1].order+1 - this.http.post('/api/SitePlans',item).subscribe((data:any)=>{ - let newData = { - version: this.canvasData.originaleveryStoreyData.version || "2.0", - id: "", - data: JSON.stringify( JSON.parse(JSON.stringify(this.canvasData.originaleveryStoreyData.data)) ) || null, - sitePlanId: data.id - } - this.http.post('/api/SitePlanData',newData,{params:this.params}).subscribe(data=>{ - this.renovateSitePlan() - }) - - }) - } else { //楼层/区域 - item.id = "" - item.modifiedTime = new Date() - item.name = item.name + '(副本)' - item.order = this.sitePlanData[this.sitePlanData.length-1].order+1 - this.http.post('/api/BuildingAreas',item,{params:this.params}).subscribe((data:any)=>{ - let newData = { - version: this.canvasData.originaleveryStoreyData.version || "2.0", - id: "", - data: JSON.stringify( JSON.parse(JSON.stringify(this.canvasData.originaleveryStoreyData.data)) ) || null, - buildingAreaId: data.id - } - this.http.post('/api/BuildingAreaData',newData,{params:this.params}).subscribe(data=>{ - this.renovateBuilding() - }) - - }) - } - } - - //平面图 楼层/区域 替换底图 - replaceBaseMap (e,item) { - e.stopPropagation(); - let file = e.target.files[0] || null //获取上传的文件 - let fileSize = file.size || null //上传文件的总大小 - let maxSize = 5 * 1024 * 1024 //5MB一个分片 - - if (file && fileSize<=maxSize) { //上传文件<=5MB时 - let formData = new FormData() - formData.append("file",file) - this.http.post(`/api/Objects/WebPlan2D/${sessionStorage.getItem('companyId')}`,formData).subscribe((data:any)=>{ - this.renovateBaseMap(data.objectName,item) - }) - } else { - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('上传底图需小于5MB','确定',config); - } - } - - //封装 替换底图 function - renovateBaseMap (e,item) { - item.imageUrl = '/api/Objects/WebPlan2D/' + e - if (this.checkedBuildingIndex ==-1) { //总平面图 - this.http.put(`/api/SitePlans/${item.id}`,item).subscribe(data=>{ - let isSuccess = this.renovateSitePlan() - isSuccess.then(res=>{ - this.canvas.refreshBackgroundImage() - this.backGroundScale() - }) - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('上传底图成功','确定',config); - }) - } else { //楼层/区域 - this.http.put(`/api/BuildingAreas/${item.id}`,item,{params:this.params}).subscribe(data=>{ - let isSuccess = this.renovateBuilding() - isSuccess.then(res=>{ - this.canvas.refreshBackgroundImage() - this.backGroundScale() - }) - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('上传底图成功','确定',config); - }) - } - } - - //封装 刷新总平面图 数据 - renovateSitePlan () { - return new Promise ((resolve,reject)=>{ - this.http.get('/api/SitePlans',{params:this.params}).subscribe(data=>{ - this.sitePlanData = data - this.selectingSitePlan = this.sitePlanData[this.selectSitePlanIndex] - this.canvasData.selectStorey = this.sitePlanData[this.selectSitePlanIndex] //服务中 存一份数据 - this.canvasData.originaleveryStoreyData.sitePlanId? null : this.canvasData.originaleveryStoreyData.sitePlanId = this.selectingSitePlan.id || null - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('数据更新成功','确定',config); - resolve('success') - }) - }) - } - - //封装 刷新 楼层/区域 数据 - renovateBuilding () { - let params = { - buildingId: this.beforeOneCheckedBuilding.id - } - return new Promise ((resolve,reject)=>{ - this.http.get('/api/BuildingAreas',{params}).subscribe(data=>{ - this.sitePlanData = data - this.selectingSitePlan = this.sitePlanData[this.selectSitePlanIndex] - this.canvasData.selectStorey = this.sitePlanData[this.selectSitePlanIndex] //服务中 存一份数据 - this.canvasData.originaleveryStoreyData.buildingAreaId? null : this.canvasData.originaleveryStoreyData.buildingAreaId = this.selectingSitePlan.id || null - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('数据更新成功','确定',config); - resolve('success') - }) - }) - } - - allLibrary:any = []; //所有素材库 + 素材 - selectLibrary:any; //选中的素材库 - selectImage:any; //选中的素材库图片 - selectImageIndex:number; //选中的素材库图片index - - //获取素材库 - getAllLibrary (type:string='input') { - this.http.get(`/api/AssetLibraries?tag=${type}`).subscribe((data:any)=>{ - data.forEach(element => { - element.images = [] - }); - this.allLibrary = data - this.selectImageIndex = -1 - this.canvas.cancelPaint() - }) - } - - //素材库展开面板展开时 - opened (e) { - if (!e.images.length) { //当前素材库没加载素材时 - this.http.get(`/api/Assets?libraryId=${e.id}`).subscribe((data:any)=>{ - e.images = data - }) - } - } - - //点击选中素材库图片时 - selectImg (item,items,index) { - this.selectLibrary = item.name - this.selectImage = items - this.selectImageIndex = index - this.canvasData.selectTemplateData = items - this.canvas.beginPaint() - } - - - - //处置预案 - // tree配置 - private transformer = (node, level: number) => {//要给渲染节点传那些属性参数 - return { - expandable: !!node.children && node.children.length > 0, - name: node.name || node.Name, - level: level, - id: node.id || node.Id, - children: node.children, - airTemperature: node.airTemperature, - buildingAreaId: node.buildingAreaId, - buildingId: node.buildingId, - companyId: node.companyId, - description: node.description, - disasterId: node.disasterId, - imageNames: node.imageNames, - imageUrls: node.imageUrls, - notes: node.notes, - order: node.order, - parentId: node.parentId, - planComponentId: node.planComponentId, - sitePlanId: node.sitePlanId, - weather: node.weather, - windDirection: node.windDirection, - windScale: node.windScale, - }; - } - fireTreeControl = new FlatTreeControl(node => node.level, node => node.expandable); - fireTreeFlattener = new MatTreeFlattener(this.transformer, node => node.level, node => node.expandable, node => node.children); - fireTreeData = new MatTreeFlatDataSource(this.fireTreeControl, this.fireTreeFlattener); - - allFirePlan:any = []; //所有灾情 - selectDisposalNode:string = ''; //当前 点击的 节点 - - //获取所有灾情 - getAllFirePlan () { - // let params = {componentId: sessionStorage.getItem('planId')} - // this.http.get('/api/Disasters',{params:params}).subscribe((data:any)=>{ - // this.allFirePlan = data - // if (!data.length) { - // let msg = { - // name: '灾情', - // modifiedTime: new Date(), - // planComponentId: sessionStorage.getItem('planId') - // } - // this.http.post('/api/Disasters',msg).subscribe(data=>{ this.allFirePlan.push(data) }) - // } //if - // }) - } - - //获取所有处置节点 - getDisposalNode () { - this.selectDisposalNode = '' - let params = {disasterId: this.allFirePlan[0].id || ''} - this.http.get('/api/DisasterData/Markers',{params:params}).subscribe(data=>{ //灾情标签信息 - this.canvasData.allNodeMarkers = data - this.mateFireForce() - }) - this.http.get('/api/DisposalNodes',{params:params}).subscribe(data=>{ //处置节点 - this.canvasData.allDisposalNode = data - this.handleHybridTree() - }) - } - - //处理 节点 Tree数据 - handleHybridTree () { - let treeData = [] - let data = JSON.parse(JSON.stringify( this.canvasData.allDisposalNode || [] )) - data.forEach(element => { - element.children = [] - data.forEach(item=>{ - item.parentId === element.id? element.children.push(item) : null - }) - }); - data.forEach(element=>{ - !element.parentId? treeData.push(element) : null - }) - this.fireTreeData.data = treeData - this.fireTreeControl.expandAll() - } - - //刷新 treeData 保存已展开节点 - refurbishTreeData () { - let params = {disasterId: this.allFirePlan[0].id || ''} - this.http.get('/api/DisposalNodes',{params:params}).subscribe(nodeData=>{ //处置节点 - this.canvasData.allDisposalNode = nodeData - let nodes = this.fireTreeControl.dataNodes; - let treeData = [] - let expandNodes = []; - let data = JSON.parse(JSON.stringify( this.canvasData.allDisposalNode || [] )) - data.forEach(element => { - element.children = [] - data.forEach(item=>{ - item.parentId === element.id? element.children.push(item) : null - }) - }); - data.forEach(element=>{ - !element.parentId? treeData.push(element) : null - }) - - //保存 已展开节点数据 - nodes.forEach((item) => { - if(item.expandable && this.fireTreeControl.isExpanded(item)){ - expandNodes.push(item.id); - } - }); - this.fireTreeData.data = treeData; - let newNodes = this.fireTreeControl.dataNodes; - newNodes = newNodes.filter(n => { - return expandNodes.indexOf(n.id) >= 0; - }); - newNodes.forEach(item => { - this.fireTreeControl.expand(item); - }); - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('数据更新成功','确定',config); - }) - } - - sitePlanIcon = {fire:0,force:0} // 总平面图 火源/力量 图标 是否展示 - sitePlanBuildingID:string = ''; //选择 数据节点的 建筑id - storeyID:string = ''; //选择 数据节点的 楼层id - - //刷新 建筑楼层 匹配 火源/力量 图标 - mateFireForce () { - let data = this.canvasData.allNodeMarkers.markers - for(let key in data){ //遍历 火/力量 图标 - this.sitePlanData.forEach(element => { //楼层 - if (element.id==key) { // 相匹配时 - data[key].fireCount != 0? element.fire=1 : element.fire=0 - data[key].forceCount != 0? element.force=1 : element.force=0 - } - }); - this.allBuildings.forEach(element => { //建筑 - if (element.id==key) { // 相匹配时 - data[key].fireCount != 0? element.fire=1 : element.fire=0 - data[key].forceCount != 0? element.force=1 : element.force=0 - } - }); - if (this.params.companyId==key) { //总平面图时 - data[key].fireCount != 0? this.sitePlanIcon.fire=1 : this.sitePlanIcon.fire=0 - data[key].forceCount != 0? this.sitePlanIcon.force=1 : this.sitePlanIcon.force=0 - } - } - } - - // 切换 基本信息时 刷新 删除 建筑楼层 自定义属性 - mateDeleteCustomize () { - this.sitePlanBuildingID = '' - this.storeyID = '' - this.sitePlanIcon = {fire:0,force:0} - this.sitePlanData.forEach(element => { //楼层 - delete element.fire - delete element.force - }); - this.allBuildings.forEach(element => { //建筑 - delete element.fire - delete element.force - }); - } - - //计算差异 - countValue (e) { - e.stopPropagation() - let params = {disasterId: this.allFirePlan[0].id || ''} - this.http.get('/api/DisasterData/Diffs',{params:params}).subscribe(data=>{ - this.canvasData.allNodeMarkers = data - this.sitePlanBuildingID = '' - this.storeyID = '' - this.mateFireForce() - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('计算差异完成','确定',config); - }) - } - - - - //复制 处置预案 节点 - copyPanelPoint (e,item,treeData) { - e.stopPropagation() - if (confirm(`确定要复制 ${item.name} ?`)) { - let params = {id: item.id} - let order - if (item.level==0) { - treeData._data._value.length? order = treeData._data._value[treeData._data._value.length-1].order+1 : order = 0 - } else { - let index = treeData._data._value.findIndex(items=>{return items.id===item.parentId}) - treeData._data._value[index] && treeData._data._value[index].children.length? order = treeData._data._value[index].children[treeData._data._value[index].children.length-1].order+1 : order = 0 - } - let data = { - name: item.name + '(副本)', - level: item.level, - order: order, - description: '', - disasterId: item.disasterId || '', - parentId: item.parentId || null, - planComponentId: item.planComponentId || '', - } - this.http.post('/api/DisposalNodes/Clone',data,{params:params}).subscribe(data=>{ - this.refurbishTreeData() - }) - } //isTrue - } - - //删除 处置预案 节点 - deletePanelPoint (e,item) { - e.stopPropagation() - if (confirm(`确定要删除 ${item.name} ?`)) { - this.http.delete(`/api/DisposalNodes/${item.id}`).subscribe(data=>{ - this.refurbishTreeData() - }) - } - } - - //点击 处置Tree节点 - selectanelPoint (e) { - if (!e.buildingAreaId && !e.sitePlanId) { //当前节点 不是 数据节点 时 - let msg = this.canvasData.findDisposalNode(e.id) - this.canvasData.selectPanelPointBaseData = msg - this.selectDisposalNode == msg.id? this.selectDisposalNode = '' : this.selectDisposalNode = msg.id //选中 节点 - - } else if (e.buildingAreaId || e.sitePlanId) { //当前节点 是 数据节点 时 - let msg = this.canvasData.findDisposalNode(e.parentId) - this.canvasData.selectPanelPointBaseData = msg - - e.sitePlanId? this.sitePlanBuildingID = this.params.companyId : this.sitePlanBuildingID = e.buildingId //火源/力量图标高亮 - e.sitePlanId? this.storeyID = e.sitePlanId : this.storeyID = e.buildingAreaId //火源/力量图标高亮 - this.selectDisposalNode = e.parentId //选中 节点 - if (this.canvasData.selectPanelPoint.disposalNodeId != e.id) { //选择节点 不是当前节点时 - let params = {nodeId: e.id} - let parameter = { //查询 节点 对应 建筑/楼层 index,id - buildingIndex: e.sitePlanId? -1 : this.allBuildings.findIndex(item=>{ return item.id===e.buildingId }), //总平面图/建筑 index - storeyId: e.sitePlanId? e.sitePlanId : e.buildingAreaId, //楼层id - } - this.http.get('/api/DisposalNodeData',{params:params}).subscribe(data=>{ - this.canvasData.selectPanelPoint = data //选择 当前 节点 - this.canvasData.selectPanelPoint.data = JSON.parse(this.canvasData.selectPanelPoint.data || {}) - this.seekPanelPoint(parameter) - }) - } //if - - } //else if - } - - //查找 数据节点 对应 建筑/楼层 - seekPanelPoint (paramsData) { - this.checkedBuildingIndex = paramsData.buildingIndex - if (paramsData.buildingIndex ==-1) { //总平面图时 - this.beforeOneCheckedBuilding={name:"总平面图"} - let fireData = this.getFireElements(sessionStorage.getItem('buildingTypeId')) //获取单位下 消防要素 - let planData = this.getSitePlanCompanyData() //获取 单位 数据 - this.http.get('/api/SitePlans',{params:this.params}).subscribe(data=>{ - this.sitePlanData = data - let index = this.sitePlanData.findIndex(item=>{ return item.id===paramsData.storeyId }) - this.selectingSitePlan = this.sitePlanData[index] || {} - this.canvasData.selectStorey = this.sitePlanData[index] || {} //服务中 存一份数据 - this.selectSitePlanIndex = index - - Promise.all([fireData,planData]).then((res)=>{ - this.getSitePlanStorey(this.selectingSitePlan) //获取 平面图 楼层数据 - }) - }) //get - } else { //建筑时 - this.beforeOneCheckedBuilding=this.allBuildings[paramsData.buildingIndex] - let params = { buildingId: this.beforeOneCheckedBuilding.id } - let fireData = this.getFireElements(this.beforeOneCheckedBuilding.buildingTypes[0].id || '') //获取建筑下 消防要素 - let planData = this.getBuildingData(params) //获取 建筑 数据 - this.http.get('/api/BuildingAreas',{params}).subscribe(data=>{ - this.sitePlanData = data - let index = this.sitePlanData.findIndex(item=>{ return item.id===paramsData.storeyId }) - this.selectingSitePlan = this.sitePlanData[index] || {} - this.canvasData.selectStorey = this.sitePlanData[index] || {} //服务中 存一份数据 - this.selectSitePlanIndex = index - - Promise.all([fireData,planData]).then((res)=>{ - this.getBuildingStorey(this.selectingSitePlan) //获取 建筑 楼层数据 - }) - }) //get - } - } - - - -} - diff --git a/src/app/ui/plan/panel.scss b/src/app/ui/plan/panel.scss deleted file mode 100644 index b9359c6..0000000 --- a/src/app/ui/plan/panel.scss +++ /dev/null @@ -1,286 +0,0 @@ -.matIcons { - color: #8E909F; -} - - - -//平面图 素材库 公共样式 头部 -.planarGraphHeader{ - width: 100%; - text-align: center; - height: 40px; - line-height: 40px; - min-height: 40px; - cursor: pointer; - text-align: center; - font-style: italic; - font-size: 20px; - color: white; - border-bottom:2px solid #accbf2; -} -//平面图头部字体图标样式 -.hover { - width: 18px; - height: 18px; - margin-left: 90px; - border: 1px solid #999; - border-radius: 3px; - .mat-icon {font-size: 18px; color: #999;} -} -.hover:hover { - background-color: #4DA5FA; - .mat-icon {color: #fff;} -} - -//平面图 -.sitePlanContent { - position: relative; - width: 100%; - height: 37px; - line-height: 37px; - box-sizing: border-box; - text-align: center; - color: white; -} - -//火源/力量 图标 -.fireForce { - display: block; - float: right; - margin: 8px 5px 0 0; - width: 40px; - height: 20px; - line-height: 20px; - text-align: center; - position: relative; - overflow: hidden; - img{ - width: 20px; - height: 20px; - } -} -//替换底图 inputfile -.a-upload { - display: block; - float: right; - margin: 8px 18px 0 0; - width: 20px; - height: 20px; - line-height: 20px; - text-align: center; - position: relative; - overflow: hidden; - input { - position: absolute; - width: 20px; - height: 20px; - left: 0; - top: 0; - opacity: 0; - } -} -.a-upload:hover { - .mat-icon { - color: #fff; - } -} -//上传底图 inputfile -#a-uploadImg { - display: block; - width: 300px; - height: 170px; - position: fixed; - top: 40%; - left: 48%; - overflow: hidden; - border-radius: 5px; - border: 1px solid #999; - z-index: 999; - input { - position: absolute; - width: 300px; - height: 170px; - left: 0; - top: 0; - opacity: 0; - } - img { - width: 100%; - height: auto; - } -} -#a-uploadImg:hover { - border: 5px solid skyblue; -} - -//hover时显示右边操作栏 -.sitePlanContent:hover { - cursor: pointer; - #rightOperate { - display: block; - } -} -//右边操作栏 -#rightOperate{ - width: 50px; - height: 100px; - position: absolute; - top: -32px; - right: -48px; - z-index: 99999; - border-radius: 0 100px 100px 0; - background-color: #F0F4F7; - // #F0F4F7 cdced1 - display: none; - .functionButton { - height: 25%; - line-height: 25px; - } - .bigFunctionIcon { - font-size: 24px; - } - .functionIcon { - color: #999; - } - .functionIcon:hover { - color: #4DA5FA; - } -} - -//处置预案 素材库 公用div -.publiclBankPlan { - flex: 1; - display: flex; - flex-direction: column; - overflow: hidden; - padding-bottom: 10px; - // border-top: 1px dashed #999; -} - - - -// 基本信息/想定作业 切换 -.scenarioAssignment { - overflow-y: auto; -} -.selectEditMode { - flex: 1; - display: flex; - flex-direction: column; - overflow: hidden; -} -.materialBankDIV{ - flex: 1; - overflow-x: hidden; - overflow-y: auto; -} -// 基本信息/想定作业 切换 -//处置预案 -#terrNodePublic { - height: 35px; - line-height: 35px; - .textNode {flex: 1;} -} -//字体图标 -.planIconDiv { - display: inline-block; - .mat-icon{ - font-size: 20px; - width: 20px; - height: 20px; - color: #666; - margin-right: 3px; - } -} - - - -.mat-expansion-panel-header { - height: 40px !important; -} -//素材库溢出隐藏 -#materialBank { - margin: 1px 0; -} -//素材库图片flex -#panelLibrary .text{ - box-sizing: border-box; - margin-left: 10px; -} -.panelLibraryFlex { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-between; /* 水平居中 */ - .imgBox { - width: 70px; - height: 100px; - display: inline-block; - text-align: center; - border-radius: 3px; - margin: 5px 0; - img { - width: 70px; - height: auto; - max-height: 70px; - cursor:pointer; - } - p { - font-size: 12px; - cursor:pointer; - } - } -} - -//文本溢出 -.overflowText { - overflow: hidden; - text-overflow:ellipsis; - white-space: nowrap; -} -// 楼层/区域 是避难层时 -.isRefugeStorey { - color: #fff; - background-color: rgb(238, 186, 186); -} -//选中平面图时 -.selectSitePlan { - background-color: #105a8f; -} -//选中素材库图片时 -.selectImg { - color: #fff; - background-color: #4DA5FA; -} -//选中 处置节点时 -.selectanelPoint { - background-color: #F4C235; -} - - - -//左侧功能区弹出框样式 -.keyMargin { - width: 100%; - margin: 5px 0; - .mat-form-field { - width: 100%; - } -} -.submitBottom { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-between; /* 水平居中 */ -} -.functionalDomainContent { - width: 300px; - height: 100%; - textarea { - border-radius: 5px; - border: 1px solid #999; - width: 100%; - height: 120px; - resize:none; - } -} diff --git a/src/app/ui/plan/saveOne.html b/src/app/ui/plan/saveOne.html deleted file mode 100644 index a6b0b32..0000000 --- a/src/app/ui/plan/saveOne.html +++ /dev/null @@ -1,5 +0,0 @@ -
处置节点保存
-
- - -
\ No newline at end of file diff --git a/src/app/ui/plan/saveTwo.html b/src/app/ui/plan/saveTwo.html deleted file mode 100644 index fec97ff..0000000 --- a/src/app/ui/plan/saveTwo.html +++ /dev/null @@ -1,53 +0,0 @@ -
-
新增节点
-
-
- -
- - - -
-
- - - - {{item.name}} - - - -
-
- - -
-
-
-
-
-
保存到已有节点
-
-
-
- - - - {{item.name}} - - - -
-
- - -
-
-
-
\ No newline at end of file diff --git a/src/app/ui/plan/viewdetails.html b/src/app/ui/plan/viewdetails.html deleted file mode 100644 index 76638c2..0000000 --- a/src/app/ui/plan/viewdetails.html +++ /dev/null @@ -1,24 +0,0 @@ -
-
- clear -
- -
-
- -
-
- -
-
-
\ No newline at end of file diff --git a/src/app/ui/real-cases/real-cases.component.html b/src/app/ui/real-cases/real-cases.component.html deleted file mode 100644 index f851039..0000000 --- a/src/app/ui/real-cases/real-cases.component.html +++ /dev/null @@ -1,91 +0,0 @@ -
-
- volume_up -
-
-
泵房
-
控制室
- -
-
-
- settings_voice -
-
- 按住说话 -
-
- search -
-
-
-
-
- - - -
- - - - - - - - - - - - - - - - - - - -
单位名称始建于着火物点火位置相近度详情
{{leisi.danweiName}}{{leisi.year}}{{leisi.zhoahuo}}{{leisi.weizhi}}{{leisi.xiangjin}}%查看详情
-
- -
- -
-
- 基本信息 -
-
- 事故特点 -
-
- 处置经过 -
-
- 几点体会 -
-
- 存在不足 -
-
- - - clear -
- -
- -
- -
-
- {{item.name}} -
-
- -
- {{zjxinxi}} -
-
- -
-
-
diff --git a/src/app/ui/real-cases/real-cases.component.scss b/src/app/ui/real-cases/real-cases.component.scss deleted file mode 100644 index f291888..0000000 --- a/src/app/ui/real-cases/real-cases.component.scss +++ /dev/null @@ -1,260 +0,0 @@ -.headerOperate { - position: relative; - flex: 2%; - display: flex; - align-items:center; - box-sizing: border-box; - margin: 0 0; - .bigTalkBox{ - user-select: none; - .titleIcon{ - font-size: 33px; - vertical-align: sub; - color: white; - } - .talkBox{ - width: 309px; - height: 326px; - border: 1px solid #30bbec; - background-color: #013a64; - opacity: .9 ; - position: absolute; - top: 32px; - right:4px; - z-index: 2000; - .btndiv{ - div{ - border-radius: 18px; - width: 70px; - height: 30px; - text-align: center; - line-height: 30px; - display: inline-block; - font-size: 13px; - color: white; - cursor: pointer; - - } - div:nth-child(1){ - background-color: #fe9400; - margin: 10px; - } - div:nth-child(2){ - background-color: #f95e5a; - } - } - .bottomDiv{ - position: absolute; - bottom:6px; - width: 100%; - height: 32px; - line-height: 32px; - display: flex; - color: white; - text-align: center; - div:nth-child(1){ - flex: 1; - } - div:nth-child(2){ - flex: 6; - color: #409eff; - background: url('../../../assets/images/输入框.png'); - background-size: 100% 100%; - } - div:nth-child(3){ - flex: 1; - - } - } - } - } -} - -.leisiTable{ - border:1px solid #0E79A9; - height: 95%; - width: 100%; - background-color: #05385E; - //margin-top: 50px; - table{ - width: 100%; - height: 50%; - border-collapse:collapse; - thead{ - td{ - color:#F7BA2A; - height: 50px; - text-align:center; - border-bottom: 1px solid #0E79A9; - } - } - tbody{ - td{ - text-align:center; - //height: 10%; - } - } - } -} -.tdyanse56{ - color:#3BA9F2 -} -.tdyanse78{ - color:#28BC69 -} -.tdyanse{ - color: #FFFFFF; -} -//弹窗 -.tanchuang{ - width: 50%; - height: 70%; - border:1px solid #0E79A9; - background-color: #05385E; - z-index: 99; - position: absolute; - top: 15%; - left: 20%; -} -.headerOperate { - position: relative; - span{ - font-size: 18px; - } - flex: 2%; - display: flex; - align-items:center; - min-height: 40px; - box-sizing: border-box; - margin: 0 0; - - .bigeditdeletebtn{ - margin-top: 5px; - border: 1px solid #30bbec; - margin-right: 0px; - height: 100%; - display: flex; - flex-direction: column; - justify-content: center; - user-select: none; - background-size:100% 100%; - color: white; - span{ - padding: 13px 13px; - //padding-right: 18px; - font-size: 24px; - } - } - .bigeditdeletebtn:hover{ - cursor: pointer; - //background-image: url("../../../assets/images/标签经过.png") ; - } - .close { - top: 20px; - right: 20px; - position: absolute; - color: #778087; - /* make a round button */ - border-radius: 12px; - /* center text */ - line-height: 20px; - text-align: center; - height: 20px; - width: 20px; - font-size: 18px; - padding: 1px; - font-size: 40px; - } - .xiao{ - top: 20px; - right: 50px; - position: absolute; - color: #778087; - /* make a round button */ - border-radius: 12px; - /* center text */ - line-height: 20px; - text-align: center; - height: 20px; - width: 20px; - font-size: 38px; - padding: 1px; - font-size: 40px; - } - - } - .tanCenter{ - width: 100%; - height: 90%; - .centerLeft{ - float: left; - height: 100%; - width: 30%; - position: relative; - flex-direction: column; - span{ - font-size: 18px; - } - flex: 2%; - display: flex; - align-items:center; - box-sizing: border-box; - margin: 0 0; - .tanCenterbtn{ - //margin-top: 5px; - width: 100%; - height: 100%; - border: 1px solid #30bbec; - //margin-right: 0px; - display: flex; - flex-direction: column; - // align-items:center;/*由于flex-direction: column,因此align-items代表的是水平方向*/ - //justify-content: center; - user-select: none; - //background-image: url("../../../assets/images/标签正常.png") ; - background-size:100% 100%; - color: white; - span{ - cursor:pointer; - border-bottom:1px solid #30bbec; - padding: 8px ; - text-align: center; - //padding-right: 18px; - font-size: 24px; - } - } - } - .centerRight{ - overflow: auto; - padding-top: 10px; - height: 90%; - width: 65%; - float:right ; - span{ - margin: 15px 15px; - color: #FFFFFF; - font-size: 18px; - line-height: 38px; - } - } - } - .button { - border-radius: 2px; - background-color: #4CAF50; - border: none; - color: white; - padding: 15px 32px; - text-align: center; - text-decoration: none; - display: inline-block; - font-size: 16px; - margin: 4px 2px; - cursor: pointer; -} - -//点击后边框变色 -.biankuang{ - //border:1px solid red; - background-color: #F7BA2A; -} - diff --git a/src/app/ui/real-cases/real-cases.component.spec.ts b/src/app/ui/real-cases/real-cases.component.spec.ts deleted file mode 100644 index 49c4468..0000000 --- a/src/app/ui/real-cases/real-cases.component.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { RealCasesComponent } from './real-cases.component'; - -describe('RealCasesComponent', () => { - let component: RealCasesComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ RealCasesComponent ] - }) - .compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(RealCasesComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/ui/real-cases/real-cases.component.ts b/src/app/ui/real-cases/real-cases.component.ts deleted file mode 100644 index f084d0f..0000000 --- a/src/app/ui/real-cases/real-cases.component.ts +++ /dev/null @@ -1,220 +0,0 @@ -import { Component, OnInit } from '@angular/core'; - -@Component({ - selector: 'app-real-cases', - templateUrl: './real-cases.component.html', - styleUrls: ['./real-cases.component.scss'] -}) -export class RealCasesComponent implements OnInit { - - constructor() { } - - ngOnInit(): void { - } - - leisiYuan=[ - {danweiName:"江苏南京扬子石化",year:"2017年",zhoahuo:"液态丙烯",weizhi:"烴泵区",xiangjin:parseFloat("50%")}, - {danweiName:"河北张家口中国化工集团盛华化工公司",year:"2018年",zhoahuo:"氯乙烯",weizhi:"氯乙烯一号气柜",xiangjin:parseFloat("40%")}, - {danweiName:"山东临沂金誉石化",year:"2017年",zhoahuo:"液化气",weizhi:"装卸区东北侧11号卸车位",xiangjin:parseFloat("30%")}, - {danweiName:"江苏省靖江市德桥化工仓储有限公司",year:"2016年",zhoahuo:"汽油",weizhi:"2号交换站",xiangjin:parseFloat("20%")}, - {danweiName:"海南东方市八所港危化品码头",year:"2016年",zhoahuo:"石脑油",weizhi:"丰盛油8油轮发动机舱",xiangjin:parseFloat("10%")} - - ] - //弹窗数据 - tandata=[ - {key:0,zongdata:[ - {name:"基本信息",xinxidata:[ - {name:"单位基本情况",xinxi:"江苏德桥化工仓储有限公司位于江苏省靖江市新港园区,是由新加坡恒阳石化物流有限公司投资组建的液体石化产品储运公司," - +"占地面积31.5万m2,现有员工130人,罐区13个、储罐139个,储存能力约58.3万m3。事故发生时储存有汽油、石脑油、甲醇、二氯乙烷、三氯乙烯、四氯乙烯、" - +"液化烃、芳烃、醋酸乙酯、醋酸丁酯、冰醋酸等25种危化品,共计21.12万吨,其中:油品约14万吨、液态化学品近7万吨、主要组分为C3、C4的液化烃约1420吨。" - +"事故单位北侧400m为村庄,东侧120m为储存能力52万m3、22个易燃易爆危化品储罐的联合安能石化有限公司,南侧300m为长江主航道,西侧50m为长江丹华港。"}, - {name:"主要工艺流程",xinxi:"德桥化工仓储有限公司是典型的危化品储运企业,主要从事液态散化、油品及液化气体的仓储中转、分拨、灌装业务。厂区设有2个软管交换站," - +"作为物料集中配输中心,通过输送管线分别连接长江码头、罐区储罐和厂区装卸台,实现危化品物料从码头—罐区—装卸台间的进出双向输转。其中,1号交换站:设有发船泵5台、" - +"发车泵30台,对应11、12、21、22罐区60个储罐的物料分输;2号交换站:设有发船泵6台、发车泵36台,对应13、14、15、23、24、25罐区58个储罐的物料分输。" - +"事故所在的2号交换站,位于厂区中间,24罐区北侧,为半敞开式框架结构,建筑面积1482m2,交换站下层管廊设有码头管线12根,连接长江码头,长度741-1102m、" - +"管径200-300mm;上层管廊设有发车管线36根,连接厂区装卸台,长度477-601m、管径100mm;底部分布有储罐内管线58根,分别连向各罐区储罐的罐根,因各罐区位置不同," - +"管线长度也不一样,总长约为1.1km。事故发生时,长江码头上的码头海油318(船名)、赣华强化016(船名),正在通过2号交换站,分别利用码头206号管线(管径250mm)、" - +"305号管线(管径200mm)进行卸汽油至2411储罐、卸醋酸乙酯至2307储罐的作业。其他10条管线内有残留物料。"}, - {name:"重点危险罐区",xinxi:"厂区危险等级最高的物料:燃烧或爆炸能产生剧毒光气的2406号二氯乙烷罐(存量4274吨)、1108号三氯乙烯罐(存量1988吨)和1105、1109、" - +"2210、2213、2214号四氯乙烯罐(存量9315吨)以及燃烧爆炸后威力巨大、主要组分为C3、C4 的901-926号液化烃罐(存量1536吨)。二氯乙烷:无色或浅黄色透明液体,有类似氯仿的气味," - +"微溶于水,可混溶于醇、醚、氯仿等,主要用于作蜡、脂肪、橡胶等的溶剂及谷物杀虫剂;属高毒类,对眼睛及呼吸道有刺激作用,吸入可引起肺水肿,抑制中枢神经系统、刺激胃肠道和引起肝、肾及肾上腺损害;" - +"其蒸气与空气形成爆炸性混合物,遇明火、高热能引起燃烧爆炸,与氧化剂能发生强烈反应,受高热分解产生有毒的腐蚀性气体。熔点-35.7℃、闪点13℃、沸点83.5℃、饱和蒸气压13.33Kpa/29.4℃,爆炸极限6.2%-16%。" - +"有害燃烧产物:一氧化碳、二氧化碳、氯化氢、光气。三氯乙烯:无色透明液体,有似氯仿的气味,不溶于水,可混溶于乙醇、乙醚等多数有机溶剂,主要用于脱脂、冷冻、农药、香料、橡胶工业、洗涤织物等;吸入后出现头痛、" - +"头晕、酩酊感、嗜睡等,重者发生谵妄、抽搐,甚至昏迷、呼吸麻痹或循环衰竭;其蒸气与空气形成爆炸性混合物,遇明火、高热能引起燃烧爆炸,与强氧化剂可发生反应,受高热分解产生有毒的腐蚀性气体。熔点-87.1℃、闪点32.2℃、" - +"沸点87.1℃、饱和蒸气压13.33Kpa/32℃,爆炸极限12.5%-90%。有害燃烧产物:一氧化碳、二氧化碳、氯化氢、光气。" - +"四氯乙烯:无色液体,有氯仿样气味,不溶于水,可混溶于乙醇、乙醚等多数有机溶剂,主要用作溶剂;吸入急性中毒者有上呼吸道刺激症状、流泪、流涎,随之出现头晕、头痛、恶心、运动失调及酒醉样症状;一般不会燃烧," - +"但长时间暴露在明火及高温下仍能燃烧;若遇高热可发生剧烈分解,引起容器破裂或爆炸事故;受高热分解产生有毒的腐蚀性气体。熔点-22.2℃、沸点121.2℃、饱和蒸气压2.11Kpa/20℃。有害燃烧产物:氯化氢、光气。"}, - {name:"着火区域情况",xinxi:"1、起火区域。起火位置为2号交换站。事故发生时,2号交换站进出料管线内存有汽油、石脑油、甲醇、芳烃、醋酸乙酯、醋酸丁酯、冰醋酸等物料,与其相连的罐区共存储12种、约15.8万吨的危化品。" - +"后期起火的2401罐所在罐区,位于厂区中部,共有12个储罐,呈东、西两排分布,罐区防火堤长170m、宽70m、高1.1m,罐组隔堤高1m,最小罐间距10m。其中,2401-2408号为内浮顶罐、2409-2412号为拱顶罐,2401、2402罐罐容2500m3," - +"其余均为3750m3。事故发生时,2401、2402、2403、2404、2407、2409、2410、2411罐储存汽油共计13482吨,2408、2412罐储存甲醇共计1895吨,2405罐储存汽油添加剂MTBE(又称甲基叔丁基醚)1675吨,2406罐储存二氯乙烷4274吨。" - +"2、毗邻情况。距离着火区域南侧7-8m为2401-2412罐区,储存裂解汽油、石脑油、甲醇、二氯乙烷等约1.8万吨;北侧66m为1301-1308罐区,储存甲醇约2.3万吨;东侧36m为2301-2316罐区,储存醋酸乙酯、醋酸丁酯、冰醋酸等约1.6万吨;" - +"西侧36m为2501-2504罐区,储存混合芳烃约1.5万吨;西侧100m为液化烃罐区,储存主要组分为C3、C4的液化烃约1536吨。"}, - {name:"单位消防设施及水源情况",xinxi:"事故单位设有消防水池1个,容积4864m3;消防水泵房位于厂区东侧,设有消防水泵3台,每台功率480kW、流量250L∕s、扬程130m;消防给水管网为环状、管径500mm,采用稳高压系统,平时压力0.7Mpa;" - +"厂区共有消火栓132只、固定水炮54门。泡沫站位于2号交换站北侧,设有泡沫储罐2座,储存3%型抗溶性水成膜泡沫18吨,泡沫混合液主管道管径200-250mm。各罐区均设有水喷淋冷却系统,除液化烃罐区外,其他罐区还设有泡沫灭火系统;" - +"1、2号交换站未设置自动消防设施。厂区四面有人工河流(护仓河)环绕,南临长江航道,西连丹华港,均可作为消防取水码头。"}, - {name:"单位及周边消防力量情况",xinxi:"德桥化工仓储有限公司只建有微型消防站,没有企业专职消防队。周边20km范围有1个现役消防队、1个政府专职消防队,共有消防车11辆、队员53人,总载水量59吨、泡沫量12.4吨,距离最近的新港城专职队约5公里。"}, - {name:"当日气象情况",xinxi:"气象资料显示:22日-23日,白天多云,夜里多云转阴有小雨,东南风3-4级,最低气温15-16℃,最高气温26-27℃。"} - ]}, - {name:"事故特点",xinxidata:[ - {name:"化学品种类多,危险性大",xinxi:"事故厂区储存有汽油、石脑油、甲醇、二氯乙烷、三氯乙烯、四氯乙烯、液化烃、芳烃、醋酸乙酯、" - +"醋酸丁酯等各类危化品共计25种、21万余吨,且分储在13个罐区内。库区、罐区、罐组、罐与罐的安全间距小,同一罐区、罐组内存有多种易燃易爆、" - +"有毒有害物料,成分复杂,风险极高。特别是厂区储存4274吨二氯乙烷、1988吨三氯乙烯、9315吨四氯乙烯,一旦遇到高热或发生爆炸、燃烧,会快速释放大量的剧毒光气。"}, - {name:"储罐类型复杂,处置难度高",xinxi:"罐区内有拱顶、内浮顶、全压力球型、半冷冻球型等多种储罐类型,储存物料有油、烷烃、醇、酯等," - +"处置方法和灭火药剂类型不同,特别是厂区南侧的二氯乙烷、东北侧的三氯乙烯和四氯乙烯罐以及主要组分为C3、C4的液化烃罐区,危险性大、处置难度高。"}, - {name:"地势落差大,流淌火蔓延快",xinxi:"厂区地势“中间高、南北低”,地面绝对标高相差约1.55m,道路坡度近1%。发生爆炸后,位于厂区中部的2号交换站上方管线被拉断," - +"大量易燃易爆物料外泄并沿地势急速流淌燃烧,将邻近罐区两侧的冷却管线和泡沫灭火管线烧毁。扑救过程中,大面积流淌火先后5次突破灭火防线,烧毁部分器材装备,严重威胁参战官兵生命安全。"}, - {name:"周边环境复杂,指挥决策难度大",xinxi:"事故单位距离长江主航道仅300m,有相邻的危险品码头2个,事发时正在作业的危险品运输船只2艘,其他危险品船只若干;" - +"周边5公里范围有19个村镇6万余名群众。加之事故单位有139个危化品储罐,与其一路之隔的联合安能化工有限公司还有22个、总储量达52万m3的易燃易爆物料储罐,火势一旦失控,极易引起连锁反应,给周边数十平方公里区域和长江水域带来不可估量的灾难。"} - ]}, - {name:"处置过程",xinxidata:[ - {name:"辖区力量到场",xinxi:"4月22日7时许,江苏德桥仓储有限公司组织承包商(华东建设安装有限公司)3名工人进入厂区2号交换站进行检修作业;" - +"8时10分,在未实施有效监护的情况下动火作业;9时13分,因作业产生的明火引起2号交换站排污沟内残留油体燃烧,烧裂正在进料作业的206、305号管线" - +"与储罐间的连接软管,造成管线内的裂解汽油和醋酸乙酯大量外泄燃烧;现场人员关闭了206、305号管线的紧急切断阀,并进行自救;9时16分,DCS系统发出指令," - +"关闭与2号交换站相连的物料输送管道的电动阀;9时18分,现场人员撤离前对2401罐未完全关闭的电动阀实施手动关阀(旋转了4圈);9时18分55秒、9时19分38秒," - +"大火烧裂交换站部分管线,物料外泄加剧,先后发生2次较大规模爆炸;9时26分,事故单位向119报警。9时34分至49分,辖区中队新港城专职队和靖江中队相继到场。" - +"此时,2号交换站一片火海,燃烧面积约2000㎡,火焰高达几十米,上层管廊出现局部坍塌。经询问单位技术人员,厂区所有生产系统已紧急停车,着火区域及邻近罐区的消防泵、" - +"喷淋系统和固定炮已开启,燃烧物质为醇、脂、油类等易燃液体(主要为206、305号管线内的裂解汽油和醋酸乙酯)。到场力量迅速进行战斗部署:新港城专职队一号车泡沫水罐车" - +"停靠1号交换站附近,从着火区域东侧架设1门移动炮阻截火势、1门移动炮冷却2402罐;二号车水罐车占据氮气站附近消火栓,向一号车供水;三号车抢险救援车停靠厂区东门外," - +"负责外围警戒和增援车辆引导。靖江中队一号车压缩空气泡沫车停靠南侧2411罐附近,从着火区域西南侧架设1门移动炮冷却2401罐(后期改为2支泡沫枪灭火);二号车泡沫水罐车占据" - +"南侧人工河,向一号车供水;三号车高喷车停靠西侧2501罐附近,从着火区域西北侧压制火势;四号车泡沫水罐车占据西侧926罐附近消火栓,向三号车供水;五号车泡沫水罐车占据北侧人工河," - +"从着火区域北侧架设1门移动炮阻截火势;六号车抢险救援车停靠厂区东门外,负责外围警戒和增援车辆引导。10时40分,2号交换站发生第三次爆炸,站内承重结构严重受损,管廊呈V型坍塌," - +"与装卸台相连的36条管线以及与码头相连的12条管线被拉断,大量带压物料加速外泄,顺地势沿罐区东、西两侧道路急速流淌,瞬间形成“全路面”流淌火。现场指挥员立即下达紧急撤退命令," - +"参战官兵按照既定路线,迅速撤离至邻近的2502罐南侧未使用的罐区防火堤内。在西南侧承担主攻任务的靖江中队泡沫车驾驶员朱军军,为保证火场供水不间断、掩护战友及时撤退、抢救车辆装备,被流淌火围困,瞬间被大火吞噬,壮烈牺牲。"}, - {name:"支队增援力量到场",xinxi:"10时50分,支队全勤指挥部和特勤、泰兴、通扬路中队到场。此时,交换站及其东、南、西侧道路的流淌火近5000m2,火焰高度约40-50m,严重威胁位于" - +"厂区南侧的液化烃输送管道及24、25罐区的16个储罐安全。指挥部立即组织力量从东、南、西侧部署1门暴雪泡沫炮、2支泡沫枪梯次掩护、强攻推进压制地面流淌火,并重新部署2门移动炮在西侧" - +"道路设置阻截阵地。同时,组织相继到场的姜堰、兴化、滨江、春晖路中队,分别从着火区域西南、东北、东南方向共增设6门移动炮,阻截火势,强行对邻近的2401、2402、2403、2404、2502罐实施冷却、抑制爆炸。"}, - {name:"总队增援力量到场",xinxi:"总队全勤指挥部出动途中,周详总队长通过指挥中心和移动视频终端实时跟踪灾情发展态势、了解战斗部署情况,并及时向前方指挥员下达指示要求:一是迅速查明燃烧物料的种类、性质和储量;" - +"二是力量到场后不得盲目靠近事故核心区,应边行进边侦检,在相对安全区域设置移动炮、车载炮等阵地,确保官兵自身安全;三是组织单位技术人员采取关阀断料、紧急停车、氮封保护、启动固定消防设施等工艺措施,有效控制灾情发展;" - +"四是根据火场态势和力量到场情况,集中全力加强对着火区域邻近罐体的冷却,防止火势扩大蔓延;五是及时关闭罐区雨排系统,安排力量提前筑堤设防,防止流淌火蔓延;六是派出安全哨,实时观察灾情发展态势,不间断监测罐体结构变化和" - +"罐壁温度,明确紧急撤离路线。11时50分至12时,总队全勤指挥部和周详总队长相继到达现场,第一时间在距离2号交换站120m的配电房附近设立火场总指挥部,由周详总队长担任总指挥、高宁宇参谋长担任前沿指挥,朱晖副参谋长负责火情侦察" - +"和通信保障、王士军副参谋长负责统筹协调和药剂保障,责令事故单位指派熟悉厂区情况和工艺安全的技术人员到指挥部全程值守,同时架设无人机高空侦察。指挥部第一时间调取厂区平面图和DCS系统实时监测数据,并围绕着火区域进行火情侦察," - +"确认着火区域南侧为混存裂解汽油、石脑油和燃烧爆炸产生剧毒光气的二氯乙烷罐区;北侧为甲醇罐区;东侧为冰醋酸、醋酸乙酯罐区;西侧为混合芳烃及主要组分为C3、C4的液化烃罐区。无人机航拍发现,2号交换站燃烧猛烈,直接烘烤南侧2401、" - +"2402罐和西侧2502、2504罐;东、西两侧道路形成大面积流淌火迅速向南蔓延;2401-2404罐组防火隔堤内充满流淌火。根据DCS系统监测和无人机侦察结果,考虑到现场力量与灾情态势不对等的现状,指挥部确定了“控制燃烧、冷却抑爆、筑堤设防、" - +"全程监测”的战术原则,并研究制定七项处置措施:一是明确将2406罐和液化烃罐区作为保护重点,集中力量冷却南侧的2401、2402、2403、2404罐和西侧2502、2504罐,阻止火势蔓延;二是组织力量在着火区域东南、西南、西北方向道路上筑堤设防," - +"防止地面流淌火蔓延,威胁战斗阵地和官兵生命安全;三是核查着火罐区关阀断料情况;四是密切监视邻近储罐的结构变化,时刻监测罐体温度以及厂区可燃、有毒气体浓度;五是组织力量接应灭火药剂、装备器材厂家,做好向战斗阵地的输送投放;六是通知" - +"交通部门对长江航道采取禁航措施,撤离事故码头上下游船舶;七是通知环保部门做好防范水域污染的应对措施。12时05分至13时10分,无锡、南通、扬州支队增援力量相继到场。指挥部命令:泰州支队占据着火区域西北侧阵地,继续阻截流淌火向西侧芳烃罐区" - +"蔓延,重点冷却2502、2504罐,防止火势威胁液化烃罐区;无锡支队在着火区域东、西侧道路及南侧设置阵地,扑灭地面流淌火,加强冷却2401、2402、2403、2404罐进行,死保2406罐;扬州支队占据着火区域北侧阵地,阻截流淌火蔓延,加强冷却1307、1406罐;" - +"南通支队2套远程供水泵组分别利用东南侧消防水池和北侧人工河,向无锡和泰州支队阵地供水。12时15分许,着火区域接连传出十几声“嘭嘭”的爆炸声。侦察发现,由于长时间火焰烧烤,与2号交换站相连的部分进出料管线及盲板炸裂,管线内残存的汽油、甲醇、芳烃、" - +"醋酸乙酯、冰醋酸等物料大量外泄(约260吨)。随着火势猛烈燃烧,流淌火再次向东、西两侧排水明渠和道路翻腾外溢,并流淌至厂区南侧人工河流,同时越过西侧道路向芳烃罐区蔓延,2502、2504罐被浓烈的烟火笼罩,2502罐保温层局部脱落。根据火情,指挥部调整" - +"力量部署:在2502罐南侧未使用的罐区防火堤内设置4支泡沫枪阻截扑灭堤外流淌火;在2405—2408罐组防火堤内架设4门移动炮,加强对2403、2404罐冷却控制,继续死保2406罐;在西北侧架设2门移动炮,加强冷却2502、2504罐;在厂区南侧河面上,利用15m拉梯搭建" - +"紧急撤离通道;依托罐区道路和防火堤,从东南、西南、西北三个方向利用沙袋构筑防护堤。同时,考虑2406罐存在爆炸危险,为在紧急情况下掩护官兵撤退,指挥部调集2台涡喷消防车增援现场。随即,指挥部前移至距离着火点30m左右的地点。" - +"12时30分,省委常委、政法委书记、公安厅厅长王立科,省公安厅副厅长程建东到达现场,实地勘察灾情。王立科书记就事故处置工作提出六点要求:一是始终将参战官兵安全放在第一位,加强个人防护;二是发挥厂方技术人员作用,科学制定处置方案;" - +"三是全力控制灾情扩大,做好长时间作战准备;四是如实发布信息,客观规范舆论导向;五是加强外围警戒,严禁无关人员进入现场;六是尽快组织专家评估灾情发展态势。" - +"13时30分至17时45分,常州、苏州、镇江、南京、盐城支队和总队培训基地、公安消防部队士官学校的增援力量陆续到场。指挥部随即将整个火场划分为前、后方两个战区。" - +"前方以事故区域为中心,划分东、西、南、北四个战斗段,要求着火区域必须使用“全泡沫”灭火与冷却。西侧阵地:泰州、苏州、南通、镇江支队和总队培训基地部署4门移动炮、" - +"1门车载炮、1门高喷炮,阻截火势,加强对2401、2403、2502罐冷却,重点保护液化烃罐区。南侧阵地:无锡、常州支队部署8门移动炮,阻截火势,加强对2401、2402、2403、" - +"2404、2405、2406罐冷却,持续死保2406号二氯乙烷罐。东侧阵地:南京、常州、盐城、泰州支队部署8门移动炮,阻截火势,加强对2401、2402、2404、2301、2303罐冷却。" - +"北侧阵地:南京、扬州、泰州、南通、苏州支队部署10门移动炮、2门高喷炮、2门暴雪泡沫炮,阻截火势,加强对1307、1308罐冷却。" - +"后方调集全省10套远程供水泵组、4辆泡沫原液供给车、40台泡沫输转泵、1200吨抗溶性泡沫,依托厂区人工河和长江航道设立取水点,设置2个泡沫补给点,全力保障火场不间断供水、" - +"供液。远程供水:常州、无锡支队2套泵组利用厂区东南侧消防水池,向南侧、东侧阵地供水;苏州支队1套泵组利用北侧人工河,向北侧阵地供水;南通支队3套泵组分别利用厂区东南侧消防" - +"水池、北侧人工河和南面长江干道,向南侧、北侧阵地供水;扬州支队1套泵组利用北侧人工河,向北侧阵地供水;泰州支队2套泵组分别利用南侧人工河和长江主干道,向消防水池和东侧阵地供水;" - +"培训基地1套泵组利用北侧人工河,向西侧阵地供水。泡沫供给:分别在东、西门附近设置2个泡沫补给点,采取泡沫原液供给车输转、泡沫输转泵输转、人工搬运等多种方法,向各战斗阵地不间断补给泡沫药剂。" - +"14时50分,指挥部决定:组织公安消防部队士官学校132名官兵,分别在东、西、北侧进攻路线上布设第二道防护堤,组织力量死看死守,牢牢将火势控制在交换站周边区域内。" - +"16时11分,2号交换站火势突然急剧增大,巨大的火球腾空而起,近百米高的浓烟烈火笼罩厂区上空,东、西两侧部分道路和2401-2404罐防火隔堤内瞬间布满流淌火。加之厂区邻近" - +"长江、风向多次突变,固定泡沫站被大火完全吞噬,强大的热辐射对邻近2号交换站北侧的甲醇和西北侧的芳烃等罐区安全构成了极大的威胁,人员难以靠近。指挥部根据物料泄漏量、" - +"流淌速度及燃烧时间推断,2401-2404罐组存在储罐阀门未完全关闭,提出了“加强筑堤保护、全力阻截流淌火、持续强化冷却、伺机抵近关阀”的针对性措施。鉴于1307、1308罐体外壁温度均已超过300℃," - +"命令北侧阵地的扬州、泰州、苏州支队尽全力冷却1307、1308甲醇罐。" - +"16时45分,紧急调集的2万米水带、30门移动炮、100套隔热服、30台泡沫输转泵、300套防毒面具全部到场,做好了打持久战的准备。" - +"18时,指挥部根据兵力部署、火场态势和泡沫药剂、水源准备情况,发动第一次总攻,共部署30门移动炮、3门高喷炮、1门车载炮、2门暴雪泡沫炮、21支泡沫管枪强攻灭火。" - +"18时30分,交换站东、西两侧地面流淌火被陆续扑灭,前期丢失的部分阵地重新占领,灭火力量与灾情态势相对均衡,火场进入拉锯相持阶段。" - +"18时40分,指挥部明确四项措施:一是各阵地灭火冷却强度保持均衡;二是确保泡沫药剂、油料、供水不间断;三是加紧筑堤,巩固阵地;四是战斗预备队做好轮换准备。" - +"19时许,淮安、宿迁、连云港、徐州4个支队,中石化华东片区的扬子石化、金陵石化、仪征化纤、南化公司、管道分公司、高桥石化6个企业专职消防队,共51辆重型泡沫车、342名队员," - +"以及总队2套单车400L/s的超重型化工编队,到达现场。按照指挥部要求,立即组成战斗预备队,做好随时轮换投入战斗的准备。" - +"19时45分,伴随着几声巨响,数个火球接连腾起,管道再次爆裂,交换站东、西两侧道路再次出现大面积流淌火,2401罐顶鼓起,呼吸阀和泡沫产生器罐壁连接处起火," - +"呈火炬型燃烧。指挥部要求前沿指挥长密切监控火情,必要时有权决定撤退,确保安全。囿于高喷车难以抵近作战、移动炮和车载炮射程不足,指挥部要求加大供给强度,加强2401罐冷却,责成企业调集氮气车沿2401罐的东南侧道路停靠,强制向2401罐实施充氮保护。"}, - {name:"部局领导到场",xinxi:"20时10分,罗永强副局长一行到达现场。在听取情况汇报、查看无人机视频后,罗永强副局长率领部局专家组深入现场,抵近着火点侦察,与化工专家研判商讨后," - +"作出战斗部署:一是即将到场的上海增援力量配合无锡支队在重点防御的西南侧阵地展开战斗;二是再次确认所有储罐阀门关闭情况;三是调用高喷车对受火势威胁较大的1307、1308罐进一步强化冷却。" - +"20时30分,上海总队汪永明副总队长率领增援力量到场。根据罗永强副局长指示,组织力量从着火区域西南侧架设6门移动炮,协助无锡支队阻截交换站火势,并对2401、2403罐实施冷却。" - +"21时50分,部消防局于建华局长带领工作组到达现场,详细听取现场情况汇报,深入前沿阵地勘察火情,准确研判火灾发展态势,迅速召集各战斗段指挥员和事故单位工程技术人员,提出五项处置措施:" - +"一是保持足够力量对着火邻近储罐进行大强度冷却,确保不发生问题;二是从临近地区调集氮气,架设临时管线,对受火势威胁的储罐进行充氮保护;三是外接临时电源,启动西侧半冷冻球罐冰机;" - +"四是备足力量和药剂,择机对交换站及罐区实施强攻灭火;五是树立底线意识,组织疏散半径5公里范围内的群众。" - +"根据于建华局长指示,4个战斗区段分别增设1门移动炮加强对邻近罐冷却;组织对2401-2404罐组防火堤进行凿孔导流,降低液面、防止漫堤;" - +"加强对2401-2404罐补充氮气保护;协调当地政府疏散周边5公里范围内的群众;各战斗阵地迅速补足泡沫和油料,组织预备力量轮换,做好总攻准备。" - +"23日0时左右,2号交换站内火势仍呈喷射状燃烧。根据现场情况,于建华局长召集专家分析认定,罐区内仍有管线阀门未关闭,随即要求0时至1时再次发动总攻,为关阀断料创造条件。" - +"0时30分,各阵地共部署42门移动炮、1门高喷炮、2门车载炮、2门暴雪泡沫炮、21支泡沫管枪,对着火区域及邻近罐区发起第二次总攻,2401-2404罐组内的流淌火、" - +"2401罐顶呼吸阀和泡沫产生器罐壁连接处的明火被全部扑灭,2号交换站火势有所减弱。前沿侦察小组冒着强辐射热,抵近火场最前沿,反复观察火情,认为现场已具备关阀条件," - +"当即向于建华局长报告。于建华局长当机立断、果断决策,命令实施关阀断料。随后,罗永强副局长亲自排查罐区管线,制定关阀方案,指挥南京支队关阀攻坚小组," - +"在雾状水掩护下深入罐区防火堤内实施关阀断料。0时40分,2403、2404罐的进出料阀门被彻底关闭。" - +"1时10分,2401罐的进出料阀门被彻底关闭。随后,火势明显减弱。指挥部命令,在保证冷却力量的前提下,各战斗段抢抓战机,梯次掩护推进,全力围剿火势。3时10分,大火被彻底扑灭。"}, - {name:"冷却监护、移交现场",xinxi:"大火扑灭后,现场指挥部命令参战力量继续向着火区域液面喷射泡沫,增加泡沫覆盖厚度,防止复燃。同时继续冷却相邻罐体、持续降温," - +"安排专人对罐体温度和水样、空气进行不间断检测。4时25分,2401、2403、2404罐壁温度降至40℃以下,其它罐降至20℃左右,空气、水体检测结果基本正常。" - +"9时30分,指挥部召集参战队伍指挥员进行战斗小结,明确苏州、无锡、南通、镇江、扬州5个支队,25辆消防车、150名官兵留守现场,配合泰州支队实施监护,其余力量陆续返回。" - +"25日12时,现场所有储罐温度均降至常温,增援支队全部撤回,泰州支队17辆消防车、102名官兵继续监护。"} - ]}, - {name:"几点体会",xinxidata:[ - {name:"领导高度重视、正确指挥是先决条件",xinxi:"事故发生后,按照习近平总书记、李克强总理作出的批示指示,郭声琨部长,黄明、李伟副部长坐镇公安部指挥中心," - +"通过音视频系统指导现场处置工作,尤其是李伟副部长全程、实时跟踪指导一线战斗行动,明确了5条富有实效的战斗措施,为整个灭火救援战斗提供了科学遵循。江苏省委书记罗志军、" - +"省长石泰峰,省委常委、政法委书记、公安厅厅长王立科,公安部消防局局长于建华、副局长罗永强深入火场前沿阵地,指导事故处置工作,鼓舞士气、凝聚警心,为全体参战官兵注入了强大的精神动力。" - +"特别是于建华局长、罗永强副局长率先垂范、靠前指挥,准确研判、抢抓战机、果断决策,采取了一系列行之有效的灭火措施,从根本上遏制了火灾态势,为最终圆满打赢了这场险象环生的战斗起到了决定性作用。"}, - {name:"力量调集充分、响应迅速是有力支撑",xinxi:"针对石油化工火灾的特殊复杂性和灾情预判情况,总队第一时间提请省政府启动重特大灾害事故应急处置预案,按火灾最高等级调集全省13个支队和总队培训基地28个化工编队、" - +"4个战勤保障编队、10套远程供水泵组、124辆大功率泡沫水罐车、161门移动炮、1200吨抗溶性泡沫以及通信、侦检、洗消等装备器材,部消防局紧急调派公安消防部队士官学校和上海总队40辆车、332名官兵到场增援,为打好初战控制、有效遏制灾情扩大提供了有力保障。"}, - {name:"发挥专家作用、科学施救是关键所在",xinxi:"事故发生后,部消防局和总队紧急调派化工灭火专家遂行出动、辅助决策。专家组根据侦察结果,实时评估灾情发展态势和罐体设备安全,及时提出了筑堤设防、全力冷却、" - +"注氮排险等处置建议。尤其是公安部灭火救援专家组郝伟同志,在事故单位2次关阀未果的情况下,多次抵近罐区侦察,与罗永强副局长一起全程指导攻坚组关阀,对成功扑灭大火起到了十分关键的作用。"}, - {name:"应急联动高效、保障有力是重要基础",xinxi:"事故发生后,省、市两级市政府迅速启动应急预案和联动机制,公安、安监、交通、气象、卫生、供水、供电、环保等部门第一时间响应,调集了客运车、环境检测车、" - +"120救护车、叉车、运沙车等各种车辆40余辆和砂土、水泥等应急物资,协同开展了外围警戒、人员疏散、物资保障、环境监测、医疗急救等工作。总、支队两级战勤保障和应急通信力量遂行作战,调集战勤保障车辆22辆、" - +"器材装备600余件套、水带2万多米、泡沫灭火剂约1200吨、油料约52吨,综合利用4G球机、3G单兵、卫星通信指挥车、无人机等设备,实时采集全景视频、火点分布、罐体温度等数据,不间断上传重点部位图像,为现场指挥决策提供了科学参考。"}, - {name:"官兵英勇顽强、舍生忘死是根本保证",xinxi:"面对高温、浓烟、毒害气体和随时可能发生的爆炸,参战官兵从将军到士兵无一人退缩,始终战斗在灭火最前沿,面对生与死的考验,表现出应有的血性和担当。在多次进攻受阻的情况下,全体参战官兵顶着巨大压力,敢打敢拼、死守“红线”,与大火展开拉锯战、攻坚战,彰显了消防铁军英勇善战、敢打必胜的战斗精神。"} - ]} - ]}, - {key:1,zongdata:[ - {name:"基本信息",xinxidata:[ - {name:"码头基本情况",xinxi:"八所港危化品码头位于东方市滨海南路,东侧为中海石油建滔化工有限公司化工厂区(甲醇项目)、中海油东方石化有限责任公司化工厂区" - +"(DCC项目),西侧、北侧、南侧为大海。码头设置3个泊位,1号泊位为10000吨级,2号泊位为5000吨级,3号泊位为50000吨级。该码头目前运营工业园区六家公司的产品," - +"共有甲醇、原油、汽油、柴油、LPG、丙烯、MTBE等16种作业介质,年吞吐量约为520万吨。"},{name:"事故油轮基本情况",xinxi:"“丰盛油8 号”船体总长99.87m,型宽14.2m,吃水深度7.1m," - +"满载为4800 吨。船体前端和中段共有10 个储油舱,分布在船体左右两侧,每个储油舱480 吨。船尾甲板以上共3 层,分别为驾驶室、船员舱和生活舱。船尾负二层为船员舱,负一层底舱为机" - +"舱,机舱和货舱之间为泵舱。事故发生时油轮已装油完毕正准备离港。"},{name:"石脑油理化性质",xinxi:"石脑油化学俗名为溶剂油、粗汽油,是一种无色或浅黄色易燃液体,有特殊气味。其蒸汽与空气混合,能形成爆炸性混合物。" - +"相对密度为0.78~0.97,闪点小于-18℃,燃点为260℃,爆炸极限%(V/V)为1.2~6.8。不溶于水,溶于多数有机溶剂,主要成分为烷烃的-C4~C6-成分。蒸汽比空气重,沿地面扩散并易积存于低洼处,遇火源会着火回燃。" - +"能够通过呼吸道吸入、皮肤接触、食入等方式进入体内,石脑油蒸气可引起眼及上呼吸道刺激症状。如浓度过高,几分钟即可引起呼吸困难、紫绀等缺氧症状。"}, - {name:"消防水源及消防设施情况",xinxi:"该码头设施的消防用水采用两路供水,一路由后方甲醇项目厂区2 座各为容量4000m3 的消防水池提供,另外一路由后方精细化工项目厂区内2 座各为容量10000m3的消防水池提供,由2 条管" - +"径DN400mm 的消防供水干管接至码头,消防管网供水能力为600L/S,压力0.7~1.2MPa。码头设置46 套消防栓箱、1 套水幕系统、2 套ZPF3000 干粉灭火系统、8 座消防炮塔(每座炮塔上有" - +"电动遥控消防泡沫炮和水炮各一门,消防水炮和消防泡沫炮流量均为80L/s),备有抗溶性水成膜泡沫25 吨,存储在泡沫泵房内,通过比例混合器直接进入泡沫管线,向泡沫栓供给。码头周边" - +"1000m 范围内有可用市政消火栓10 个(园区三路2 个,疏港北路2 个,疏港三中路6 个),压力为0.2~0.3MPa,另距离码头约300m处有华能电厂码头可作为海水取水点。"} - ]} - ]} - ] - zongdata - centerdata - - //打开说话框 - isOpenTalk = false - openTalkDiv(){ - this.isOpenTalk = !this.isOpenTalk - } - //详情页 - isshow=false//控制显隐 - ShowHide (key){ - console.log(this.tandata) - this.zongdata=this.tandata[key].zongdata - this.centerdata=this.zongdata[0].xinxidata - console.log(this.zongdata) - this.isshow=true - } - ShoeFalse(){ - this.isshow=false - /* this.zongdata=null - this.centerdata=null */ - this.zjxinxi="" - this.chooseleft=-1 - this.chooseid=0 - } - //点击弹窗头部 - chooseid=0 - clickHead(num){ - this.zjxinxi="" - this.chooseid=num - this.centerdata=this.zongdata[num].xinxidata - this.chooseleft=-1 - console.log(this.centerdata) - } - - //点击弹窗左侧菜单栏 - zjxinxi - chooseleft - clickLift(key){ - this.chooseleft=key - console.log(key) - this.zjxinxi=this.centerdata[key].xinxi - } - - -} diff --git a/src/app/ui/similar-plans/similar-plans.component.html b/src/app/ui/similar-plans/similar-plans.component.html deleted file mode 100644 index 5483b3c..0000000 --- a/src/app/ui/similar-plans/similar-plans.component.html +++ /dev/null @@ -1,52 +0,0 @@ -
-
- 返回 -
-
- volume_up -
-
-
泵房
-
控制室
- -
-
-
- settings_voice -
-
- 按住说话 -
-
- search -
-
-
-
- -
- - - - - - - - - - - - - - - - - - - -
单位名称始建于着火物点火位置相近度详情
{{leisi.danweiName}}{{leisi.weizhi}}{{leisi.xiangjin}}%查看详情
-
-
- -
-
diff --git a/src/app/ui/similar-plans/similar-plans.component.scss b/src/app/ui/similar-plans/similar-plans.component.scss deleted file mode 100644 index 1586d5b..0000000 --- a/src/app/ui/similar-plans/similar-plans.component.scss +++ /dev/null @@ -1,122 +0,0 @@ -.leisiTable{ - border:1px solid #0E79A9; - height: 95%; - width: 100%; - background-color: #05385E; - margin-top: 50px; - table{ - width: 100%; - height: 100%; - border-collapse:collapse; - thead{ - td{ - color:#F7BA2A; - height: 50px; - text-align:center; - border-bottom: 1px solid #0E79A9; - } - } - tbody{ - td{ - text-align:center; - - } - } - } -} -.tdyanse56{ - color:#3BA9F2 -} -.tdyanse78{ - color:#28BC69 -} -.tdyanse{ - color: #FFFFFF; -} -.backBtn{ - position: absolute; - right: 60px; - top: 8px; - width: 80px; - height: 30px; - line-height: 30px; - text-align: center; - color: white; - cursor: pointer; - border: 1px solid #0E79A9; - border-radius: 5px; - z-index: 8999; -} -.backBtn:hover{ - background-color: #0c4c69; -} -.bigTalkBox{ - user-select: none; - .titleIcon{ - font-size: 33px; - vertical-align: sub; - color: white; - cursor: pointer; - } - .talkBox{ - width: 309px; - height: 326px; - border: 1px solid #30bbec; - background-color: #013a64; - opacity: .9 ; - position: absolute; - top: 32px; - right:4px; - z-index: 2000; - .btndiv{ - div{ - border-radius: 18px; - width: 70px; - height: 30px; - text-align: center; - line-height: 30px; - display: inline-block; - font-size: 13px; - color: white; - cursor: pointer; - - } - div:nth-child(1){ - background-color: #fe9400; - margin: 10px; - } - div:nth-child(2){ - background-color: #f95e5a; - } - } - .bottomDiv{ - position: absolute; - bottom:6px; - width: 100%; - height: 32px; - line-height: 32px; - display: flex; - color: white; - text-align: center; - mat-icon{ - vertical-align: sub; - } - div:nth-child(1){ - flex: 1; - } - div:nth-child(2){ - flex: 6; - color: #409eff; - background: url('../../../assets/images/输入框.png'); - background-size: 100% 100%; - } - div:nth-child(3){ - flex: 1; - - } - } - } - } - .cssClass{ - top: -42px!important; - } \ No newline at end of file diff --git a/src/app/ui/similar-plans/similar-plans.component.spec.ts b/src/app/ui/similar-plans/similar-plans.component.spec.ts deleted file mode 100644 index 4ef6afe..0000000 --- a/src/app/ui/similar-plans/similar-plans.component.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { SimilarPlansComponent } from './similar-plans.component'; - -describe('SimilarPlansComponent', () => { - let component: SimilarPlansComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ SimilarPlansComponent ] - }) - .compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(SimilarPlansComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/ui/similar-plans/similar-plans.component.ts b/src/app/ui/similar-plans/similar-plans.component.ts deleted file mode 100644 index 328c7aa..0000000 --- a/src/app/ui/similar-plans/similar-plans.component.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { Color } from 'cesium'; - -@Component({ - selector: 'app-similar-plans', - templateUrl: './similar-plans.component.html', - styleUrls: ['./similar-plans.component.scss'] -}) -export class SimilarPlansComponent implements OnInit { - - constructor() { } - - ngOnInit(): void { - - } - //打开说话框 - isOpenTalk = false - openTalkDiv(){ - this.isOpenTalk = !this.isOpenTalk - } - - leisiYuan=[ - {danweiName:"广西钦州志诚化工有限公司",year:"XXXX年",zhoahuo:"XXX",weizhi:"2#储罐",xiangjin:parseFloat("80%")}, - {danweiName:"南宁交能石化有限责任公司",year:"",zhoahuo:"XXX",weizhi:"3#储罐",xiangjin:parseFloat("75%")}, - {danweiName:"广西藤县通轩立信化学有限公司",year:"",zhoahuo:"XXX",weizhi:"1#储罐",xiangjin:parseFloat("70%")}, - {danweiName:"广西田东锦盛化工科技有限公司",year:"",zhoahuo:"XXXXXX",weizhi:"12#储罐",xiangjin:parseFloat("60%")}, - {danweiName:"梧州市联溢化工有限公司",year:"",zhoahuo:"XXX",weizhi:"5#储罐",xiangjin:parseFloat("50%")}, - {danweiName:"田东石油化工钦州港油品储运库",year:"",zhoahuo:"XXX",weizhi:"4-1#储罐",xiangjin:parseFloat("40%")}, - {danweiName:"中国石油进德油库",year:"",zhoahuo:"XXX",weizhi:"3#储罐",xiangjin:parseFloat("45%")}, - {danweiName:"广西华鑫化工有限公司",year:"",zhoahuo:"XXX",weizhi:"11#储罐",xiangjin:parseFloat("42%")}, - {danweiName:"广西中油能源有限公司",year:"",zhoahuo:"XXX",weizhi:"6#储罐",xiangjin:parseFloat("39%")}, - {danweiName:"广西钦州澄星化工科技有限公司",year:"",zhoahuo:"XXX",weizhi:"5-2#储罐",xiangjin:parseFloat("35%")}, - {danweiName:"中油广西田东石油化工总厂有限公司",year:"",zhoahuo:"XXX",weizhi:"3-1#储罐",xiangjin:parseFloat("30%")} - ] - - isResponsePlans = false //默认是否是处置预案 - - openDeatails(){ - this.isResponsePlans = true - } - back(){ - this.isResponsePlans = false - } -} diff --git a/src/app/ui/ui-routing.module.ts b/src/app/ui/ui-routing.module.ts index 4edafec..ed44e1a 100644 --- a/src/app/ui/ui-routing.module.ts +++ b/src/app/ui/ui-routing.module.ts @@ -1,25 +1,21 @@ +/* + * @Descripttion: + * @version: + * @Author: sueRimn + * @Date: 2020-09-25 08:48:50 + * @LastEditors: sueRimn + * @LastEditTime: 2020-10-06 10:13:25 + */ import { Routes, RouterModule } from '@angular/router'; import { NgModule } from '@angular/core'; -import { CollectionToolsComponent } from './collection-tools/collection-tools.component'; -import { planComponent } from './plan/collection-tools.component'; -import { DisposalNodeComponent } from './disposal-node/disposal-node.component'; -import { DangerousComponent } from './dangerous/dangerous.component'; -import { PlanAssistanceComponent } from './plan-assistance/plan-assistance.component'; -import { RealCasesComponent } from './real-cases/real-cases.component'; -import { SimilarPlansComponent } from './similar-plans/similar-plans.component'; + + const routes: Routes = [ - { path: 'collectionTools', component:CollectionToolsComponent }, - { path: 'plan', component:planComponent }, - { path: 'collectionTools', component:CollectionToolsComponent}, - { path: 'dangerous', component:DangerousComponent}, - { path: 'disposalNode', component:DisposalNodeComponent}, - { path: 'planAssistance', component:PlanAssistanceComponent}, - { path: 'realCases', component:RealCasesComponent}, - { path: 'similarPlans', component:SimilarPlansComponent}, -]; + +] @NgModule({ imports: [RouterModule.forChild(routes)], diff --git a/src/app/ui/ui.module.ts b/src/app/ui/ui.module.ts index 908eb79..a7d9e61 100644 --- a/src/app/ui/ui.module.ts +++ b/src/app/ui/ui.module.ts @@ -52,21 +52,17 @@ import { IsnoPipe, SafeHtmlPipe } from '../pipes/boolean.pipe'; import {ConfirmpswDirective} from './changepassword/equal-validator.directive' import { TimePipe } from '../pipes/time.pipe'; import { FileUploadModule } from 'ng2-file-upload' -import { CollectionToolsComponent, CreateBuilding, EditBuilding, ViewDetails } from './collection-tools/collection-tools.component'; + import { WorkingAreaComponent } from '../working-area/working-area.component'; -import {leftFunctionalDomainComponent,editPlaneFigureComponent,addDisposalNodeComponent,editDisposalNodeComponent} from './collection-tools/leftFunctionalDomain' -import { saveOneDialog, saveTwoDialog } from './collection-tools/save'; -import { planComponent } from './plan/collection-tools.component'; + + import { DisposalNodeComponent } from './disposal-node/disposal-node.component'; -import { DangerousComponent, GisComponent } from './dangerous/dangerous.component'; -import { SimilarPlansComponent } from './similar-plans/similar-plans.component'; -import { RealCasesComponent } from './real-cases/real-cases.component'; -import { PlanAssistanceComponent } from './plan-assistance/plan-assistance.component'; + import { CountdownModule } from 'ngx-countdown'; import { LuckDrawComponent } from './luck-draw/luck-draw.component'; @NgModule({ - declarations: [SafeHtmlPipe,GisComponent,UiComponent,PersonaldataComponent, ChangepasswordComponent,IsnoPipe,ConfirmpswDirective,TimePipe, CollectionToolsComponent,WorkingAreaComponent,CreateBuilding,EditBuilding,leftFunctionalDomainComponent,editPlaneFigureComponent,ViewDetails,saveOneDialog,saveTwoDialog,addDisposalNodeComponent,editDisposalNodeComponent, DisposalNodeComponent, DangerousComponent, SimilarPlansComponent, RealCasesComponent, PlanAssistanceComponent,planComponent, LuckDrawComponent], + declarations: [SafeHtmlPipe,UiComponent,PersonaldataComponent, ChangepasswordComponent,IsnoPipe,ConfirmpswDirective,TimePipe,WorkingAreaComponent, DisposalNodeComponent, LuckDrawComponent], imports: [ CommonModule, @@ -121,7 +117,7 @@ import { LuckDrawComponent } from './luck-draw/luck-draw.component'; exports:[ - CollectionToolsComponent + //CollectionToolsComponent ] }) export class UiModule { } diff --git a/src/assets/js/zepto.min.js b/src/assets/js/zepto.min.js deleted file mode 100644 index 4821a1c..0000000 --- a/src/assets/js/zepto.min.js +++ /dev/null @@ -1,2 +0,0 @@ -/* Zepto v1.2.0 - zepto event ajax form ie - zeptojs.com/license */ -!function(t,e){"function"==typeof define&&define.amd?define(function(){return e(t)}):e(t)}(this,function(t){var e=function(){function $(t){return null==t?String(t):S[C.call(t)]||"object"}function F(t){return"function"==$(t)}function k(t){return null!=t&&t==t.window}function M(t){return null!=t&&t.nodeType==t.DOCUMENT_NODE}function R(t){return"object"==$(t)}function Z(t){return R(t)&&!k(t)&&Object.getPrototypeOf(t)==Object.prototype}function z(t){var e=!!t&&"length"in t&&t.length,n=r.type(t);return"function"!=n&&!k(t)&&("array"==n||0===e||"number"==typeof e&&e>0&&e-1 in t)}function q(t){return a.call(t,function(t){return null!=t})}function H(t){return t.length>0?r.fn.concat.apply([],t):t}function I(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function V(t){return t in l?l[t]:l[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function _(t,e){return"number"!=typeof e||h[I(t)]?e:e+"px"}function B(t){var e,n;return c[t]||(e=f.createElement(t),f.body.appendChild(e),n=getComputedStyle(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==n&&(n="block"),c[t]=n),c[t]}function U(t){return"children"in t?u.call(t.children):r.map(t.childNodes,function(t){return 1==t.nodeType?t:void 0})}function X(t,e){var n,r=t?t.length:0;for(n=0;r>n;n++)this[n]=t[n];this.length=r,this.selector=e||""}function J(t,r,i){for(n in r)i&&(Z(r[n])||L(r[n]))?(Z(r[n])&&!Z(t[n])&&(t[n]={}),L(r[n])&&!L(t[n])&&(t[n]=[]),J(t[n],r[n],i)):r[n]!==e&&(t[n]=r[n])}function W(t,e){return null==e?r(t):r(t).filter(e)}function Y(t,e,n,r){return F(e)?e.call(t,n,r):e}function G(t,e,n){null==n?t.removeAttribute(e):t.setAttribute(e,n)}function K(t,n){var r=t.className||"",i=r&&r.baseVal!==e;return n===e?i?r.baseVal:r:void(i?r.baseVal=n:t.className=n)}function Q(t){try{return t?"true"==t||("false"==t?!1:"null"==t?null:+t+""==t?+t:/^[\[\{]/.test(t)?r.parseJSON(t):t):t}catch(e){return t}}function tt(t,e){e(t);for(var n=0,r=t.childNodes.length;r>n;n++)tt(t.childNodes[n],e)}var e,n,r,i,O,P,o=[],s=o.concat,a=o.filter,u=o.slice,f=t.document,c={},l={},h={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},p=/^\s*<(\w+|!)[^>]*>/,d=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,m=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,g=/^(?:body|html)$/i,v=/([A-Z])/g,y=["val","css","html","text","data","width","height","offset"],x=["after","prepend","before","append"],b=f.createElement("table"),E=f.createElement("tr"),j={tr:f.createElement("tbody"),tbody:b,thead:b,tfoot:b,td:E,th:E,"*":f.createElement("div")},w=/complete|loaded|interactive/,T=/^[\w-]*$/,S={},C=S.toString,N={},A=f.createElement("div"),D={tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},L=Array.isArray||function(t){return t instanceof Array};return N.matches=function(t,e){if(!e||!t||1!==t.nodeType)return!1;var n=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.oMatchesSelector||t.matchesSelector;if(n)return n.call(t,e);var r,i=t.parentNode,o=!i;return o&&(i=A).appendChild(t),r=~N.qsa(i,e).indexOf(t),o&&A.removeChild(t),r},O=function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},P=function(t){return a.call(t,function(e,n){return t.indexOf(e)==n})},N.fragment=function(t,n,i){var o,s,a;return d.test(t)&&(o=r(f.createElement(RegExp.$1))),o||(t.replace&&(t=t.replace(m,"<$1>")),n===e&&(n=p.test(t)&&RegExp.$1),n in j||(n="*"),a=j[n],a.innerHTML=""+t,o=r.each(u.call(a.childNodes),function(){a.removeChild(this)})),Z(i)&&(s=r(o),r.each(i,function(t,e){y.indexOf(t)>-1?s[t](e):s.attr(t,e)})),o},N.Z=function(t,e){return new X(t,e)},N.isZ=function(t){return t instanceof N.Z},N.init=function(t,n){var i;if(!t)return N.Z();if("string"==typeof t)if(t=t.trim(),"<"==t[0]&&p.test(t))i=N.fragment(t,RegExp.$1,n),t=null;else{if(n!==e)return r(n).find(t);i=N.qsa(f,t)}else{if(F(t))return r(f).ready(t);if(N.isZ(t))return t;if(L(t))i=q(t);else if(R(t))i=[t],t=null;else if(p.test(t))i=N.fragment(t.trim(),RegExp.$1,n),t=null;else{if(n!==e)return r(n).find(t);i=N.qsa(f,t)}}return N.Z(i,t)},r=function(t,e){return N.init(t,e)},r.extend=function(t){var e,n=u.call(arguments,1);return"boolean"==typeof t&&(e=t,t=n.shift()),n.forEach(function(n){J(t,n,e)}),t},N.qsa=function(t,e){var n,r="#"==e[0],i=!r&&"."==e[0],o=r||i?e.slice(1):e,s=T.test(o);return t.getElementById&&s&&r?(n=t.getElementById(o))?[n]:[]:1!==t.nodeType&&9!==t.nodeType&&11!==t.nodeType?[]:u.call(s&&!r&&t.getElementsByClassName?i?t.getElementsByClassName(o):t.getElementsByTagName(e):t.querySelectorAll(e))},r.contains=f.documentElement.contains?function(t,e){return t!==e&&t.contains(e)}:function(t,e){for(;e&&(e=e.parentNode);)if(e===t)return!0;return!1},r.type=$,r.isFunction=F,r.isWindow=k,r.isArray=L,r.isPlainObject=Z,r.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},r.isNumeric=function(t){var e=Number(t),n=typeof t;return null!=t&&"boolean"!=n&&("string"!=n||t.length)&&!isNaN(e)&&isFinite(e)||!1},r.inArray=function(t,e,n){return o.indexOf.call(e,t,n)},r.camelCase=O,r.trim=function(t){return null==t?"":String.prototype.trim.call(t)},r.uuid=0,r.support={},r.expr={},r.noop=function(){},r.map=function(t,e){var n,i,o,r=[];if(z(t))for(i=0;i=0?t:t+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(t){return o.every.call(this,function(e,n){return t.call(e,n,e)!==!1}),this},filter:function(t){return F(t)?this.not(this.not(t)):r(a.call(this,function(e){return N.matches(e,t)}))},add:function(t,e){return r(P(this.concat(r(t,e))))},is:function(t){return this.length>0&&N.matches(this[0],t)},not:function(t){var n=[];if(F(t)&&t.call!==e)this.each(function(e){t.call(this,e)||n.push(this)});else{var i="string"==typeof t?this.filter(t):z(t)&&F(t.item)?u.call(t):r(t);this.forEach(function(t){i.indexOf(t)<0&&n.push(t)})}return r(n)},has:function(t){return this.filter(function(){return R(t)?r.contains(this,t):r(this).find(t).size()})},eq:function(t){return-1===t?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!R(t)?t:r(t)},last:function(){var t=this[this.length-1];return t&&!R(t)?t:r(t)},find:function(t){var e,n=this;return e=t?"object"==typeof t?r(t).filter(function(){var t=this;return o.some.call(n,function(e){return r.contains(e,t)})}):1==this.length?r(N.qsa(this[0],t)):this.map(function(){return N.qsa(this,t)}):r()},closest:function(t,e){var n=[],i="object"==typeof t&&r(t);return this.each(function(r,o){for(;o&&!(i?i.indexOf(o)>=0:N.matches(o,t));)o=o!==e&&!M(o)&&o.parentNode;o&&n.indexOf(o)<0&&n.push(o)}),r(n)},parents:function(t){for(var e=[],n=this;n.length>0;)n=r.map(n,function(t){return(t=t.parentNode)&&!M(t)&&e.indexOf(t)<0?(e.push(t),t):void 0});return W(e,t)},parent:function(t){return W(P(this.pluck("parentNode")),t)},children:function(t){return W(this.map(function(){return U(this)}),t)},contents:function(){return this.map(function(){return this.contentDocument||u.call(this.childNodes)})},siblings:function(t){return W(this.map(function(t,e){return a.call(U(e.parentNode),function(t){return t!==e})}),t)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(t){return r.map(this,function(e){return e[t]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=B(this.nodeName))})},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var e=F(t);if(this[0]&&!e)var n=r(t).get(0),i=n.parentNode||this.length>1;return this.each(function(o){r(this).wrapAll(e?t.call(this,o):i?n.cloneNode(!0):n)})},wrapAll:function(t){if(this[0]){r(this[0]).before(t=r(t));for(var e;(e=t.children()).length;)t=e.first();r(t).append(this)}return this},wrapInner:function(t){var e=F(t);return this.each(function(n){var i=r(this),o=i.contents(),s=e?t.call(this,n):t;o.length?o.wrapAll(s):i.append(s)})},unwrap:function(){return this.parent().each(function(){r(this).replaceWith(r(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(t){return this.each(function(){var n=r(this);(t===e?"none"==n.css("display"):t)?n.show():n.hide()})},prev:function(t){return r(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return r(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return 0 in arguments?this.each(function(e){var n=this.innerHTML;r(this).empty().append(Y(this,t,e,n))}):0 in this?this[0].innerHTML:null},text:function(t){return 0 in arguments?this.each(function(e){var n=Y(this,t,e,this.textContent);this.textContent=null==n?"":""+n}):0 in this?this.pluck("textContent").join(""):null},attr:function(t,r){var i;return"string"!=typeof t||1 in arguments?this.each(function(e){if(1===this.nodeType)if(R(t))for(n in t)G(this,n,t[n]);else G(this,t,Y(this,r,e,this.getAttribute(t)))}):0 in this&&1==this[0].nodeType&&null!=(i=this[0].getAttribute(t))?i:e},removeAttr:function(t){return this.each(function(){1===this.nodeType&&t.split(" ").forEach(function(t){G(this,t)},this)})},prop:function(t,e){return t=D[t]||t,1 in arguments?this.each(function(n){this[t]=Y(this,e,n,this[t])}):this[0]&&this[0][t]},removeProp:function(t){return t=D[t]||t,this.each(function(){delete this[t]})},data:function(t,n){var r="data-"+t.replace(v,"-$1").toLowerCase(),i=1 in arguments?this.attr(r,n):this.attr(r);return null!==i?Q(i):e},val:function(t){return 0 in arguments?(null==t&&(t=""),this.each(function(e){this.value=Y(this,t,e,this.value)})):this[0]&&(this[0].multiple?r(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value)},offset:function(e){if(e)return this.each(function(t){var n=r(this),i=Y(this,e,t,n.offset()),o=n.offsetParent().offset(),s={top:i.top-o.top,left:i.left-o.left};"static"==n.css("position")&&(s.position="relative"),n.css(s)});if(!this.length)return null;if(f.documentElement!==this[0]&&!r.contains(f.documentElement,this[0]))return{top:0,left:0};var n=this[0].getBoundingClientRect();return{left:n.left+t.pageXOffset,top:n.top+t.pageYOffset,width:Math.round(n.width),height:Math.round(n.height)}},css:function(t,e){if(arguments.length<2){var i=this[0];if("string"==typeof t){if(!i)return;return i.style[O(t)]||getComputedStyle(i,"").getPropertyValue(t)}if(L(t)){if(!i)return;var o={},s=getComputedStyle(i,"");return r.each(t,function(t,e){o[e]=i.style[O(e)]||s.getPropertyValue(e)}),o}}var a="";if("string"==$(t))e||0===e?a=I(t)+":"+_(t,e):this.each(function(){this.style.removeProperty(I(t))});else for(n in t)t[n]||0===t[n]?a+=I(n)+":"+_(n,t[n])+";":this.each(function(){this.style.removeProperty(I(n))});return this.each(function(){this.style.cssText+=";"+a})},index:function(t){return t?this.indexOf(r(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return t?o.some.call(this,function(t){return this.test(K(t))},V(t)):!1},addClass:function(t){return t?this.each(function(e){if("className"in this){i=[];var n=K(this),o=Y(this,t,e,n);o.split(/\s+/g).forEach(function(t){r(this).hasClass(t)||i.push(t)},this),i.length&&K(this,n+(n?" ":"")+i.join(" "))}}):this},removeClass:function(t){return this.each(function(n){if("className"in this){if(t===e)return K(this,"");i=K(this),Y(this,t,n,i).split(/\s+/g).forEach(function(t){i=i.replace(V(t)," ")}),K(this,i.trim())}})},toggleClass:function(t,n){return t?this.each(function(i){var o=r(this),s=Y(this,t,i,K(this));s.split(/\s+/g).forEach(function(t){(n===e?!o.hasClass(t):n)?o.addClass(t):o.removeClass(t)})}):this},scrollTop:function(t){if(this.length){var n="scrollTop"in this[0];return t===e?n?this[0].scrollTop:this[0].pageYOffset:this.each(n?function(){this.scrollTop=t}:function(){this.scrollTo(this.scrollX,t)})}},scrollLeft:function(t){if(this.length){var n="scrollLeft"in this[0];return t===e?n?this[0].scrollLeft:this[0].pageXOffset:this.each(n?function(){this.scrollLeft=t}:function(){this.scrollTo(t,this.scrollY)})}},position:function(){if(this.length){var t=this[0],e=this.offsetParent(),n=this.offset(),i=g.test(e[0].nodeName)?{top:0,left:0}:e.offset();return n.top-=parseFloat(r(t).css("margin-top"))||0,n.left-=parseFloat(r(t).css("margin-left"))||0,i.top+=parseFloat(r(e[0]).css("border-top-width"))||0,i.left+=parseFloat(r(e[0]).css("border-left-width"))||0,{top:n.top-i.top,left:n.left-i.left}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent||f.body;t&&!g.test(t.nodeName)&&"static"==r(t).css("position");)t=t.offsetParent;return t})}},r.fn.detach=r.fn.remove,["width","height"].forEach(function(t){var n=t.replace(/./,function(t){return t[0].toUpperCase()});r.fn[t]=function(i){var o,s=this[0];return i===e?k(s)?s["inner"+n]:M(s)?s.documentElement["scroll"+n]:(o=this.offset())&&o[t]:this.each(function(e){s=r(this),s.css(t,Y(this,i,e,s[t]()))})}}),x.forEach(function(n,i){var o=i%2;r.fn[n]=function(){var n,a,s=r.map(arguments,function(t){var i=[];return n=$(t),"array"==n?(t.forEach(function(t){return t.nodeType!==e?i.push(t):r.zepto.isZ(t)?i=i.concat(t.get()):void(i=i.concat(N.fragment(t)))}),i):"object"==n||null==t?t:N.fragment(t)}),u=this.length>1;return s.length<1?this:this.each(function(e,n){a=o?n:n.parentNode,n=0==i?n.nextSibling:1==i?n.firstChild:2==i?n:null;var c=r.contains(f.documentElement,a);s.forEach(function(e){if(u)e=e.cloneNode(!0);else if(!a)return r(e).remove();a.insertBefore(e,n),c&&tt(e,function(e){if(!(null==e.nodeName||"SCRIPT"!==e.nodeName.toUpperCase()||e.type&&"text/javascript"!==e.type||e.src)){var n=e.ownerDocument?e.ownerDocument.defaultView:t;n.eval.call(n,e.innerHTML)}})})})},r.fn[o?n+"To":"insert"+(i?"Before":"After")]=function(t){return r(t)[n](this),this}}),N.Z.prototype=X.prototype=r.fn,N.uniq=P,N.deserializeValue=Q,r.zepto=N,r}();return t.Zepto=e,void 0===t.$&&(t.$=e),function(e){function h(t){return t._zid||(t._zid=n++)}function p(t,e,n,r){if(e=d(e),e.ns)var i=m(e.ns);return(a[h(t)]||[]).filter(function(t){return t&&(!e.e||t.e==e.e)&&(!e.ns||i.test(t.ns))&&(!n||h(t.fn)===h(n))&&(!r||t.sel==r)})}function d(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function m(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function g(t,e){return t.del&&!f&&t.e in c||!!e}function v(t){return l[t]||f&&c[t]||t}function y(t,n,i,o,s,u,f){var c=h(t),p=a[c]||(a[c]=[]);n.split(/\s/).forEach(function(n){if("ready"==n)return e(document).ready(i);var a=d(n);a.fn=i,a.sel=s,a.e in l&&(i=function(t){var n=t.relatedTarget;return!n||n!==this&&!e.contains(this,n)?a.fn.apply(this,arguments):void 0}),a.del=u;var c=u||i;a.proxy=function(e){if(e=T(e),!e.isImmediatePropagationStopped()){e.data=o;var n=c.apply(t,e._args==r?[e]:[e].concat(e._args));return n===!1&&(e.preventDefault(),e.stopPropagation()),n}},a.i=p.length,p.push(a),"addEventListener"in t&&t.addEventListener(v(a.e),a.proxy,g(a,f))})}function x(t,e,n,r,i){var o=h(t);(e||"").split(/\s/).forEach(function(e){p(t,e,n,r).forEach(function(e){delete a[o][e.i],"removeEventListener"in t&&t.removeEventListener(v(e.e),e.proxy,g(e,i))})})}function T(t,n){return(n||!t.isDefaultPrevented)&&(n||(n=t),e.each(w,function(e,r){var i=n[e];t[e]=function(){return this[r]=b,i&&i.apply(n,arguments)},t[r]=E}),t.timeStamp||(t.timeStamp=Date.now()),(n.defaultPrevented!==r?n.defaultPrevented:"returnValue"in n?n.returnValue===!1:n.getPreventDefault&&n.getPreventDefault())&&(t.isDefaultPrevented=b)),t}function S(t){var e,n={originalEvent:t};for(e in t)j.test(e)||t[e]===r||(n[e]=t[e]);return T(n,t)}var r,n=1,i=Array.prototype.slice,o=e.isFunction,s=function(t){return"string"==typeof t},a={},u={},f="onfocusin"in t,c={focus:"focusin",blur:"focusout"},l={mouseenter:"mouseover",mouseleave:"mouseout"};u.click=u.mousedown=u.mouseup=u.mousemove="MouseEvents",e.event={add:y,remove:x},e.proxy=function(t,n){var r=2 in arguments&&i.call(arguments,2);if(o(t)){var a=function(){return t.apply(n,r?r.concat(i.call(arguments)):arguments)};return a._zid=h(t),a}if(s(n))return r?(r.unshift(t[n],t),e.proxy.apply(null,r)):e.proxy(t[n],t);throw new TypeError("expected function")},e.fn.bind=function(t,e,n){return this.on(t,e,n)},e.fn.unbind=function(t,e){return this.off(t,e)},e.fn.one=function(t,e,n,r){return this.on(t,e,n,r,1)};var b=function(){return!0},E=function(){return!1},j=/^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/,w={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};e.fn.delegate=function(t,e,n){return this.on(e,t,n)},e.fn.undelegate=function(t,e,n){return this.off(e,t,n)},e.fn.live=function(t,n){return e(document.body).delegate(this.selector,t,n),this},e.fn.die=function(t,n){return e(document.body).undelegate(this.selector,t,n),this},e.fn.on=function(t,n,a,u,f){var c,l,h=this;return t&&!s(t)?(e.each(t,function(t,e){h.on(t,n,a,e,f)}),h):(s(n)||o(u)||u===!1||(u=a,a=n,n=r),(u===r||a===!1)&&(u=a,a=r),u===!1&&(u=E),h.each(function(r,o){f&&(c=function(t){return x(o,t.type,u),u.apply(this,arguments)}),n&&(l=function(t){var r,s=e(t.target).closest(n,o).get(0);return s&&s!==o?(r=e.extend(S(t),{currentTarget:s,liveFired:o}),(c||u).apply(s,[r].concat(i.call(arguments,1)))):void 0}),y(o,t,u,a,n,l||c)}))},e.fn.off=function(t,n,i){var a=this;return t&&!s(t)?(e.each(t,function(t,e){a.off(t,n,e)}),a):(s(n)||o(i)||i===!1||(i=n,n=r),i===!1&&(i=E),a.each(function(){x(this,t,i,n)}))},e.fn.trigger=function(t,n){return t=s(t)||e.isPlainObject(t)?e.Event(t):T(t),t._args=n,this.each(function(){t.type in c&&"function"==typeof this[t.type]?this[t.type]():"dispatchEvent"in this?this.dispatchEvent(t):e(this).triggerHandler(t,n)})},e.fn.triggerHandler=function(t,n){var r,i;return this.each(function(o,a){r=S(s(t)?e.Event(t):t),r._args=n,r.target=a,e.each(p(a,t.type||t),function(t,e){return i=e.proxy(r),r.isImmediatePropagationStopped()?!1:void 0})}),i},"focusin focusout focus blur load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(t){e.fn[t]=function(e){return 0 in arguments?this.bind(t,e):this.trigger(t)}}),e.Event=function(t,e){s(t)||(e=t,t=e.type);var n=document.createEvent(u[t]||"Events"),r=!0;if(e)for(var i in e)"bubbles"==i?r=!!e[i]:n[i]=e[i];return n.initEvent(t,r,!0),T(n)}}(e),function(e){function p(t,n,r){var i=e.Event(n);return e(t).trigger(i,r),!i.isDefaultPrevented()}function d(t,e,n,i){return t.global?p(e||r,n,i):void 0}function m(t){t.global&&0===e.active++&&d(t,null,"ajaxStart")}function g(t){t.global&&!--e.active&&d(t,null,"ajaxStop")}function v(t,e){var n=e.context;return e.beforeSend.call(n,t,e)===!1||d(e,n,"ajaxBeforeSend",[t,e])===!1?!1:void d(e,n,"ajaxSend",[t,e])}function y(t,e,n,r){var i=n.context,o="success";n.success.call(i,t,o,e),r&&r.resolveWith(i,[t,o,e]),d(n,i,"ajaxSuccess",[e,n,t]),b(o,e,n)}function x(t,e,n,r,i){var o=r.context;r.error.call(o,n,e,t),i&&i.rejectWith(o,[n,e,t]),d(r,o,"ajaxError",[n,r,t||e]),b(e,n,r)}function b(t,e,n){var r=n.context;n.complete.call(r,e,t),d(n,r,"ajaxComplete",[e,n]),g(n)}function E(t,e,n){if(n.dataFilter==j)return t;var r=n.context;return n.dataFilter.call(r,t,e)}function j(){}function w(t){return t&&(t=t.split(";",2)[0]),t&&(t==c?"html":t==f?"json":a.test(t)?"script":u.test(t)&&"xml")||"text"}function T(t,e){return""==e?t:(t+"&"+e).replace(/[&?]{1,2}/,"?")}function S(t){t.processData&&t.data&&"string"!=e.type(t.data)&&(t.data=e.param(t.data,t.traditional)),!t.data||t.type&&"GET"!=t.type.toUpperCase()&&"jsonp"!=t.dataType||(t.url=T(t.url,t.data),t.data=void 0)}function C(t,n,r,i){return e.isFunction(n)&&(i=r,r=n,n=void 0),e.isFunction(r)||(i=r,r=void 0),{url:t,data:n,success:r,dataType:i}}function O(t,n,r,i){var o,s=e.isArray(n),a=e.isPlainObject(n);e.each(n,function(n,u){o=e.type(u),i&&(n=r?i:i+"["+(a||"object"==o||"array"==o?n:"")+"]"),!i&&s?t.add(u.name,u.value):"array"==o||!r&&"object"==o?O(t,u,r,n):t.add(n,u)})}var i,o,n=+new Date,r=t.document,s=/)<[^<]*)*<\/script>/gi,a=/^(?:text|application)\/javascript/i,u=/^(?:text|application)\/xml/i,f="application/json",c="text/html",l=/^\s*$/,h=r.createElement("a");h.href=t.location.href,e.active=0,e.ajaxJSONP=function(i,o){if(!("type"in i))return e.ajax(i);var c,p,s=i.jsonpCallback,a=(e.isFunction(s)?s():s)||"Zepto"+n++,u=r.createElement("script"),f=t[a],l=function(t){e(u).triggerHandler("error",t||"abort")},h={abort:l};return o&&o.promise(h),e(u).on("load error",function(n,r){clearTimeout(p),e(u).off().remove(),"error"!=n.type&&c?y(c[0],h,i,o):x(null,r||"error",h,i,o),t[a]=f,c&&e.isFunction(f)&&f(c[0]),f=c=void 0}),v(h,i)===!1?(l("abort"),h):(t[a]=function(){c=arguments},u.src=i.url.replace(/\?(.+)=\?/,"?$1="+a),r.head.appendChild(u),i.timeout>0&&(p=setTimeout(function(){l("timeout")},i.timeout)),h)},e.ajaxSettings={type:"GET",beforeSend:j,success:j,error:j,complete:j,context:null,global:!0,xhr:function(){return new t.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:f,xml:"application/xml, text/xml",html:c,text:"text/plain"},crossDomain:!1,timeout:0,processData:!0,cache:!0,dataFilter:j},e.ajax=function(n){var u,f,s=e.extend({},n||{}),a=e.Deferred&&e.Deferred();for(i in e.ajaxSettings)void 0===s[i]&&(s[i]=e.ajaxSettings[i]);m(s),s.crossDomain||(u=r.createElement("a"),u.href=s.url,u.href=u.href,s.crossDomain=h.protocol+"//"+h.host!=u.protocol+"//"+u.host),s.url||(s.url=t.location.toString()),(f=s.url.indexOf("#"))>-1&&(s.url=s.url.slice(0,f)),S(s);var c=s.dataType,p=/\?.+=\?/.test(s.url);if(p&&(c="jsonp"),s.cache!==!1&&(n&&n.cache===!0||"script"!=c&&"jsonp"!=c)||(s.url=T(s.url,"_="+Date.now())),"jsonp"==c)return p||(s.url=T(s.url,s.jsonp?s.jsonp+"=?":s.jsonp===!1?"":"callback=?")),e.ajaxJSONP(s,a);var P,d=s.accepts[c],g={},b=function(t,e){g[t.toLowerCase()]=[t,e]},C=/^([\w-]+:)\/\//.test(s.url)?RegExp.$1:t.location.protocol,N=s.xhr(),O=N.setRequestHeader;if(a&&a.promise(N),s.crossDomain||b("X-Requested-With","XMLHttpRequest"),b("Accept",d||"*/*"),(d=s.mimeType||d)&&(d.indexOf(",")>-1&&(d=d.split(",",2)[0]),N.overrideMimeType&&N.overrideMimeType(d)),(s.contentType||s.contentType!==!1&&s.data&&"GET"!=s.type.toUpperCase())&&b("Content-Type",s.contentType||"application/x-www-form-urlencoded"),s.headers)for(o in s.headers)b(o,s.headers[o]);if(N.setRequestHeader=b,N.onreadystatechange=function(){if(4==N.readyState){N.onreadystatechange=j,clearTimeout(P);var t,n=!1;if(N.status>=200&&N.status<300||304==N.status||0==N.status&&"file:"==C){if(c=c||w(s.mimeType||N.getResponseHeader("content-type")),"arraybuffer"==N.responseType||"blob"==N.responseType)t=N.response;else{t=N.responseText;try{t=E(t,c,s),"script"==c?(1,eval)(t):"xml"==c?t=N.responseXML:"json"==c&&(t=l.test(t)?null:e.parseJSON(t))}catch(r){n=r}if(n)return x(n,"parsererror",N,s,a)}y(t,N,s,a)}else x(N.statusText||null,N.status?"error":"abort",N,s,a)}},v(N,s)===!1)return N.abort(),x(null,"abort",N,s,a),N;var A="async"in s?s.async:!0;if(N.open(s.type,s.url,A,s.username,s.password),s.xhrFields)for(o in s.xhrFields)N[o]=s.xhrFields[o];for(o in g)O.apply(N,g[o]);return s.timeout>0&&(P=setTimeout(function(){N.onreadystatechange=j,N.abort(),x(null,"timeout",N,s,a)},s.timeout)),N.send(s.data?s.data:null),N},e.get=function(){return e.ajax(C.apply(null,arguments))},e.post=function(){var t=C.apply(null,arguments);return t.type="POST",e.ajax(t)},e.getJSON=function(){var t=C.apply(null,arguments);return t.dataType="json",e.ajax(t)},e.fn.load=function(t,n,r){if(!this.length)return this;var a,i=this,o=t.split(/\s/),u=C(t,n,r),f=u.success;return o.length>1&&(u.url=o[0],a=o[1]),u.success=function(t){i.html(a?e("
").html(t.replace(s,"")).find(a):t),f&&f.apply(i,arguments)},e.ajax(u),this};var N=encodeURIComponent;e.param=function(t,n){var r=[];return r.add=function(t,n){e.isFunction(n)&&(n=n()),null==n&&(n=""),this.push(N(t)+"="+N(n))},O(r,t,n),r.join("&").replace(/%20/g,"+")}}(e),function(t){t.fn.serializeArray=function(){var e,n,r=[],i=function(t){return t.forEach?t.forEach(i):void r.push({name:e,value:t})};return this[0]&&t.each(this[0].elements,function(r,o){n=o.type,e=o.name,e&&"fieldset"!=o.nodeName.toLowerCase()&&!o.disabled&&"submit"!=n&&"reset"!=n&&"button"!=n&&"file"!=n&&("radio"!=n&&"checkbox"!=n||o.checked)&&i(t(o).val())}),r},t.fn.serialize=function(){var t=[];return this.serializeArray().forEach(function(e){t.push(encodeURIComponent(e.name)+"="+encodeURIComponent(e.value))}),t.join("&")},t.fn.submit=function(e){if(0 in arguments)this.bind("submit",e);else if(this.length){var n=t.Event("submit");this.eq(0).trigger(n),n.isDefaultPrevented()||this.get(0).submit()}return this}}(e),function(){try{getComputedStyle(void 0)}catch(e){var n=getComputedStyle;t.getComputedStyle=function(t,e){try{return n(t,e)}catch(r){return null}}}}(),e}); \ No newline at end of file diff --git a/src/assets/js/zhuanpan.js b/src/assets/js/zhuanpan.js index 27d6559..ae0073e 100644 --- a/src/assets/js/zhuanpan.js +++ b/src/assets/js/zhuanpan.js @@ -1,4 +1,5 @@ + var turnplate={ restaraunts:[], //大转盘奖品名称 colors:[], //大转盘奖品区块对应背景颜色 @@ -14,244 +15,241 @@ var turnplate={ num=-1 $(document).ready(function(){ //var chooseid = $( "span[name='zhidui']").attr('id'); + for(var i=0;i<14;i++){ + if(window.localStorage[i]!=undefined){ + $("#endjieguo span").eq(i+1).html(window.localStorage[i]) + $("#chooseZhi mat-icon").eq(i).show() + //$(".check-style-unequal-width").show() + } + } $("span[name='aaa']").on("click",function(){ - //console.log($(this).html()) - if($(this).html()=="钦州支队"){ - turnplate.restaraunts = ["广西东油沥青有限公司", "钦州吾悦广场", "钦州天亿石化有限公司"]; - turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6"]; + //console.log($(this).html().substring(0,3)) + if($(this).html().substring(0,4)=="钦州支队"){ + console.log(turnplate.startAngle) + turnplate.restaraunts = ["帝王财富中心(模板)", "龙城地下商业街(模板)","广西东油沥青有限公司", "钦州吾悦广场"]; + turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF"]; num=0 if(window.localStorage["0"]==undefined) { - $("#zhuanpan").show() - $("#end").hide(); - $("#jieguo").empty() + turnplate.startAngle=0 + $("#endjieguo span").eq(1).html("") + $('.pointer').removeClass("stop") }else{ - $("#zhuanpan").hide() - $("#end").show(); - $("#jieguo").empty() - $("#jieguo").append("您的抽签结果为:
钦州吾悦广场") + turnplate.startAngle=5.48 + $('.pointer').addClass("stop") + $("#endjieguo span").eq(1).html(window.localStorage["0"]) + //$("#endjieguo").append("
"+"您的抽签结果为:
"+window.localStorage["0"]+"
") } drawRouletteWheel() - }else if($(this).html()=="南宁支队") + }else if($(this).html().substring(0,4)=="南宁支队") { - turnplate.restaraunts = ["九洲国际(超高层)", "南宁国际会展中心", "维景国际酒店", "荔园山庄 "]; + turnplate.restaraunts = ["钦州吾悦广场(模板)", "龙城地下商业街(模板)", "崇左油库(模板) ","九洲国际"]; turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF"]; num=1 if(window.localStorage["1"]==undefined) { - $("#zhuanpan").show() - $("#end").hide(); - $("#jieguo").empty() + turnplate.startAngle=0 + $("#endjieguo span").eq(2).html("") + $('.pointer').removeClass("stop") }else{ - $("#zhuanpan").hide() - $("#end").show(); - $("#jieguo").empty() - $("#jieguo").append("您的抽签结果为:
九洲国际(超高层)") + turnplate.startAngle=5.48 + $('.pointer').addClass("stop") + $("#endjieguo span").eq(2).html(window.localStorage["1"]) } drawRouletteWheel() - }else if($(this).html()=="柳州支队") + }else if($(this).html().substring(0,4)=="柳州支队") { - turnplate.restaraunts = ["广西柳州莲花山庄", "柳州万达广场", "龙城地下商业街", "板栗园加气站 ","地王财富中心"]; - turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF", "#FFF4D6"]; + turnplate.restaraunts = ["柳州万达广场", "龙城地下商业街(模板)", "板栗园加气站 ","地王财富中心(模板)"]; + turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF"]; num=2 if(window.localStorage["2"]==undefined) { - $("#zhuanpan").show() - $("#end").hide(); - $("#jieguo").empty() + turnplate.startAngle=0 + $("#endjieguo span").eq(3).html("") + $('.pointer').removeClass("stop") }else{ - $("#zhuanpan").hide() - $("#end").show(); - $("#jieguo").empty() - $("#jieguo").append("您的抽签结果为:
"+window.localStorage["2"]) + turnplate.startAngle=5.48 + $('.pointer').addClass("stop") + $("#endjieguo span").eq(3).html(window.localStorage["2"]) } drawRouletteWheel() - }else if($(this).html()=="河池支队") + }else if($(this).html().substring(0,4)=="河池支队") { - turnplate.restaraunts = ["河池市中石化金城江油库", "河池市宜州区地下商业街", "南城百货(地下) ","宁铁燃气有限责任公司","广西河池市大洋购物中心"]; - turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF", "#FFF4D6"]; + turnplate.restaraunts = ["帝王财富中心(模板)", "河池市宜州区地下商业街", "河池市中石化金城江油库 ","广西河池市大洋购物中心"]; + turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF"]; num=3 if(window.localStorage["3"]==undefined) { - $("#zhuanpan").show() - $("#end").hide(); - $("#jieguo").empty() + turnplate.startAngle=0 + $("#endjieguo span").eq(4).html("") + $('.pointer').removeClass("stop") }else{ - $("#zhuanpan").hide() - $("#end").show(); - $("#jieguo").empty() - $("#jieguo").append("您的抽签结果为:
"+window.localStorage["3"]) + turnplate.startAngle=5.48 + $('.pointer').addClass("stop") + $("#endjieguo span").eq(4).html(window.localStorage["3"]) } drawRouletteWheel() - }else if($(this).html()=="来宾支队") + }else if($(this).html().substring(0,4)=="来宾支队") { - turnplate.restaraunts = ["来宾饭店(高层)", "宝晨化工", "天成百货(地下) ","百悦商业广场(地下)","来宾市方盛广场(人员密集)"]; - turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF", "#FFF4D6"]; + turnplate.restaraunts = ["来宾饭店", "宝晨化工", "天成百货","来宾市方盛广场"]; + turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF"]; num=4 if(window.localStorage["4"]==undefined) { - $("#zhuanpan").show() - $("#end").hide(); - $("#jieguo").empty() + $("#endjieguo span").eq(5).html("") + turnplate.startAngle=0 + $('.pointer').removeClass("stop") }else{ - $("#zhuanpan").hide() - $("#end").show(); - $("#jieguo").empty() - $("#jieguo").append("您的抽签结果为:
"+window.localStorage["4"]) + turnplate.startAngle=5.48 + $('.pointer').addClass("stop") + $("#endjieguo span").eq(5).html(window.localStorage["4"]) } drawRouletteWheel() - }else if($(this).html()=="贺州支队") + }else if($(this).html().substring(0,4)=="贺州支队") { - turnplate.restaraunts = ["贺州市国际酒店(高层)", "宝晨化工有限公司", "贺州市南宁百货大楼", "远东国贸地下停车场 "]; + turnplate.restaraunts = ["远东国贸地下停车场", "宝晨化工有限公司", "贺州市南宁百货大楼", "贺州市国际酒店 "]; turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF"]; num=5 if(window.localStorage["5"]==undefined) { - $("#zhuanpan").show() - $("#end").hide(); - $("#jieguo").empty() + $("#endjieguo span").eq(6).html("") + turnplate.startAngle=0 + $('.pointer').removeClass("stop") }else{ - $("#zhuanpan").hide() - $("#end").show(); - $("#jieguo").empty() - $("#jieguo").append("您的抽签结果为:
"+window.localStorage["5"]) + turnplate.startAngle=5.48 + $('.pointer').addClass("stop") + $("#endjieguo span").eq(6).html(window.localStorage["5"]) } drawRouletteWheel() } - else if($(this).html()=="防城港支队") + else if($(this).html().substring(0,5)=="防城港支队") { - turnplate.restaraunts = ["防城港供电局", "北京华联超市桂海东盟店", "港宸国际大酒店(高层)", "永旺天和商贸有限公司(只做地下一) ", "广西中油能源有限公司 ","中海油广西防城港天然气有限责任公司 "]; - turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF"]; + turnplate.restaraunts = ["港宸国际大酒店", "钦州吾悦广场(模板)", "龙城地下商业街(模板)", "广西中油能源有限公司 "]; + turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF"]; num=6 if(window.localStorage["6"]==undefined) { - $("#zhuanpan").show() - $("#end").hide(); - $("#jieguo").empty() + $("#endjieguo span").eq(7).html("") + turnplate.startAngle=0 + $('.pointer').removeClass("stop") }else{ - $("#zhuanpan").hide() - $("#end").show(); - $("#jieguo").empty() - $("#jieguo").append("您的抽签结果为:
"+window.localStorage["6"]) + turnplate.startAngle=5.48 + $('.pointer').addClass("stop") + $("#endjieguo span").eq(7).html(window.localStorage["6"]) } drawRouletteWheel() - }else if($(this).html()=="崇左支队") + }else if($(this).html().substring(0,4)=="崇左支队") { - turnplate.restaraunts = ["崇左油库","崇左市雅图影视广场(6层商场)"]; - turnplate.colors = ["#FFF4D6", "#FFFFFF"]; + turnplate.restaraunts = ["钦州吾悦广场(模板)","龙城地下商业街(模板)","帝王财富中心(模板)","崇左油库"]; + turnplate.colors = ["#FFF4D6", "#FFFFFF","#FFF4D6", "#FFFFFF"]; num=7 if(window.localStorage["7"]==undefined) { - $("#zhuanpan").show() - $("#end").hide(); - $("#jieguo").empty() + turnplate.startAngle=0 + $('.pointer').removeClass("stop") + $("#endjieguo span").eq(8).html(window.localStorage["7"]) }else{ - $("#zhuanpan").hide() - $("#end").show(); - $("#jieguo").empty() - $("#jieguo").append("您的抽签结果为:
"+window.localStorage["7"]) + turnplate.startAngle=5.48 + $('.pointer').addClass("stop") + $("#endjieguo span").eq(8).html(window.localStorage["7"]) } drawRouletteWheel() - }else if($(this).html()=="贵港支队") + }else if($(this).html().substring(0,4)=="贵港支队") { - turnplate.restaraunts = ["广西威汉鞋业有限公司", "贵港市嘉龙海杰电子科技有限公司", "贵港市覃塘区人民医院综合楼", "贵港市中国石油分公司油库 ", "维多利亚酒店(高层)","平南中心购物广场(地下)"]; - turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF"]; + turnplate.restaraunts = ["钦州吾悦广场(模板)", "平南中心购物广场", "贵港市中国石油分公司油库", "维多利亚酒店"]; + turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF"]; + num=8 if(window.localStorage["8"]==undefined) { - $("#zhuanpan").show() - $("#end").hide(); - $("#jieguo").empty() + $("#endjieguo span").eq(9).html("") + turnplate.startAngle=0 + $('.pointer').removeClass("stop") }else{ - $("#zhuanpan").hide() - $("#end").show(); - $("#jieguo").empty() - $("#jieguo").append("您的抽签结果为:
"+window.localStorage["8"]) + $("#endjieguo span").eq(9).html(window.localStorage["8"]) + turnplate.startAngle=5.48 + $('.pointer').addClass("stop") } drawRouletteWheel() - }else if($(this).html()=="梧州支队") + }else if($(this).html().substring(0,4)=="梧州支队") { - turnplate.restaraunts = ["广西威汉鞋业有限公司", "贵港市嘉龙海杰电子科技有限公司", "贵港市覃塘区人民医院综合楼", "贵港市中国石油分公司油库 ", "梧州市中石化火山油库","平南中心购物广场(地下)", ]; - turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF"]; + turnplate.restaraunts = ["帝王财富中心(模板)", "钦州吾悦广场(模板)", "龙城地下商业街(模板)", "梧州市中石化火山油库" ]; + turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF"]; num=9 if(window.localStorage["9"]==undefined) { - $("#zhuanpan").show() - $("#end").hide(); - $("#jieguo").empty() + turnplate.startAngle=0 + $('.pointer').removeClass("stop") + $("#endjieguo span").eq(10).html("") }else{ - $("#zhuanpan").hide() - $("#end").show(); - $("#jieguo").empty() - $("#jieguo").append("您的抽签结果为:
"+window.localStorage["9"]) + $('.pointer').addClass("stop") + turnplate.startAngle=5.48 + $("#endjieguo span").eq(10).html(window.localStorage["9"]) } drawRouletteWheel() - }else if($(this).html()=="百色支队") + }else if($(this).html().substring(0,4)=="百色支队") { - turnplate.restaraunts = ["平果地下商业街", "三雷油库", "安达曼国际酒店(高层)", "恒宁城市广场(大型城市综合体) "]; + turnplate.restaraunts = ["安达曼国际酒店", "恒宁城市广场", "三雷油库", "平果地下商业街 "]; turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF"]; num=10 if(window.localStorage["10"]==undefined) { - $("#zhuanpan").show() - $("#end").hide(); - $("#jieguo").empty() + turnplate.startAngle=0 + $('.pointer').removeClass("stop") + $("#endjieguo span").eq(11).html() }else{ - $("#zhuanpan").hide() - $("#end").show(); - $("#jieguo").empty() - $("#jieguo").append("您的抽签结果为:
"+window.localStorage["10"]) + $('.pointer').addClass("stop") + turnplate.startAngle=5.48 + $("#endjieguo span").eq(11).html(window.localStorage["10"]) } drawRouletteWheel() - }else if($(this).html()=="玉林支队") + }else if($(this).html().substring(0,4)=="玉林支队") { - turnplate.restaraunts = ["平果地下商业街", "三雷油库", "安达曼国际酒店(高层)", "恒宁城市广场(大型城市综合体) ","玉林市中医医院"]; - turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF","#FFF4D6"]; + turnplate.restaraunts = ["帝王财富中心(模板)", "钦州吾悦广场(模板)", "龙城地下商业街(模板)", "兴安油库(模板) "]; + turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF"]; num=11 if(window.localStorage["11"]==undefined) { - $("#zhuanpan").show() - $("#end").hide(); - $("#jieguo").empty() + turnplate.startAngle=0 + $('.pointer').removeClass("stop") + $("#endjieguo span").eq(12).html("") }else{ - $("#zhuanpan").hide() - $("#end").show(); - $("#jieguo").empty() - $("#jieguo").append("您的抽签结果为:
"+window.localStorage["11"]) + $('.pointer').addClass("stop") + turnplate.startAngle=5.48 + $("#endjieguo span").eq(12).html(window.localStorage["11"]) } drawRouletteWheel() - }else if($(this).html()=="北海支队") + }else if($(this).html().substring(0,4)=="北海支队") { - turnplate.restaraunts = ["平果地下商业街", "三雷油库", "安达曼国际酒店(高层)", "恒宁城市广场(大型城市综合体) ","和安宁春城(大型城市综合体)"]; - turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF","#FFF4D6"]; + console.log(turnplate.startAngle) + turnplate.restaraunts = ["帝王财富中心(模板)", "龙城地下商业街(模板)", "广西东油沥青有限公司(模板)","和安宁春城"]; + turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF"]; num=12 if(window.localStorage["12"]==undefined) { - $("#zhuanpan").show() - $("#end").hide(); - $("#jieguo").empty() + turnplate.startAngle=0 + $('.pointer').removeClass("stop") + $("#endjieguo span").eq(13).html("") }else{ - $("#zhuanpan").hide() - $("#end").show(); - $("#jieguo").empty() - $("#jieguo").append("您的抽签结果为:
"+window.localStorage["12"]) + $('.pointer').addClass("stop") + turnplate.startAngle=5.48 + $("#endjieguo span").eq(13).html(window.localStorage["12"]) } drawRouletteWheel() - }else if($(this).html()=="桂林支队") + }else if($(this).html().substring(0,4)=="桂林支队") { - turnplate.restaraunts = ["兴安油库", "宏谋酒店(高层)"]; - turnplate.colors = ["#FFF4D6", "#FFFFFF"]; + turnplate.restaraunts = ["钦州吾悦广场(模板)", "龙城地下商业街(模板)","兴安油库","宏谋酒店"]; + turnplate.colors = ["#FFF4D6", "#FFFFFF","#FFF4D6", "#FFFFFF"]; num=13 if(window.localStorage["13"]==undefined) { - $("#zhuanpan").show() - $("#end").hide(); - $("#jieguo").empty() + turnplate.startAngle=0 + $('.pointer').removeClass("stop") + $("#endjieguo span").eq(14).html("") }else{ - $("#zhuanpan").hide() - $("#end").show(); - $("#jieguo").empty() - $("#jieguo").append("您的抽签结果为:
"+window.localStorage["13"]) + $('.pointer').addClass("stop") + turnplate.startAngle=5.48 + $("#endjieguo span").eq(14).html(window.localStorage["13"]) } drawRouletteWheel() } @@ -289,53 +287,320 @@ var rotateFn = function (item, txt){ animateTo:angles+1800, duration:8000, callback:function (){ - console.log(turnplate.restaraunts.length) - $("#zhuanpan").hide() - $("#end").show(); + $("span[name='aaa']").on("click",function(){ + //console.log($(this).html().substring(0,3)) + if($(this).html().substring(0,4)=="钦州支队"){ + console.log(turnplate.startAngle) + turnplate.restaraunts = ["帝王财富中心(模板)", "龙城地下商业街(模板)","广西东油沥青有限公司", "钦州吾悦广场"]; + turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF"]; + num=0 + if(window.localStorage["0"]==undefined) + { + turnplate.startAngle=0 + $("#endjieguo span").eq(1).html("") + $('.pointer').removeClass("stop") + }else{ + turnplate.startAngle=0 + $('.pointer').addClass("stop") + $("#endjieguo span").eq(1).html(window.localStorage["0"]) + //$("#endjieguo").append("
"+"您的抽签结果为:
"+window.localStorage["0"]+"
") + } + drawRouletteWheel() + }else if($(this).html().substring(0,4)=="南宁支队") + { + turnplate.restaraunts = ["钦州吾悦广场(模板)", "龙城地下商业街(模板)", "崇左油库(模板) ","九洲国际"]; + turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF"]; + num=1 + if(window.localStorage["1"]==undefined) + { + turnplate.startAngle=0 + $("#endjieguo span").eq(2).html("") + $('.pointer').removeClass("stop") + }else{ + turnplate.startAngle=0 + $('.pointer').addClass("stop") + $("#endjieguo span").eq(2).html(window.localStorage["1"]) + } + drawRouletteWheel() + }else if($(this).html().substring(0,4)=="柳州支队") + { + turnplate.restaraunts = ["柳州万达广场", "龙城地下商业街(模板)", "板栗园加气站 ","地王财富中心(模板)"]; + turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF"]; + num=2 + if(window.localStorage["2"]==undefined) + { + turnplate.startAngle=0 + $("#endjieguo span").eq(3).html("") + $('.pointer').removeClass("stop") + }else{ + turnplate.startAngle=0 + $('.pointer').addClass("stop") + $("#endjieguo span").eq(3).html(window.localStorage["2"]) + } + drawRouletteWheel() + }else if($(this).html().substring(0,4)=="河池支队") + { + turnplate.restaraunts = ["帝王财富中心(模板)", "河池市宜州区地下商业街", "河池市中石化金城江油库 ","广西河池市大洋购物中心"]; + turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF"]; + num=3 + if(window.localStorage["3"]==undefined) + { + turnplate.startAngle=0 + $("#endjieguo span").eq(4).html("") + $('.pointer').removeClass("stop") + }else{ + turnplate.startAngle=0 + $('.pointer').addClass("stop") + $("#endjieguo span").eq(4).html(window.localStorage["3"]) + } + drawRouletteWheel() + }else if($(this).html().substring(0,4)=="来宾支队") + { + turnplate.restaraunts = ["来宾饭店", "宝晨化工", "天成百货","来宾市方盛广场"]; + turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF"]; + num=4 + if(window.localStorage["4"]==undefined) + { + $("#endjieguo span").eq(5).html("") + turnplate.startAngle=0 + $('.pointer').removeClass("stop") + }else{ + turnplate.startAngle=0 + $('.pointer').addClass("stop") + $("#endjieguo span").eq(5).html(window.localStorage["4"]) + } + drawRouletteWheel() + }else if($(this).html().substring(0,4)=="贺州支队") + { + turnplate.restaraunts = ["远东国贸地下停车场", "宝晨化工有限公司", "贺州市南宁百货大楼", "贺州市国际酒店 "]; + turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF"]; + num=5 + if(window.localStorage["5"]==undefined) + { + $("#endjieguo span").eq(6).html("") + turnplate.startAngle=0 + $('.pointer').removeClass("stop") + }else{ + turnplate.startAngle=0 + $('.pointer').addClass("stop") + $("#endjieguo span").eq(6).html(window.localStorage["5"]) + } + drawRouletteWheel() + } + else if($(this).html().substring(0,5)=="防城港支队") + { + turnplate.restaraunts = ["港宸国际大酒店", "钦州吾悦广场(模板)", "龙城地下商业街(模板)", "广西中油能源有限公司 "]; + turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF"]; + num=6 + if(window.localStorage["6"]==undefined) + { + $("#endjieguo span").eq(7).html("") + turnplate.startAngle=0 + $('.pointer').removeClass("stop") + }else{ + turnplate.startAngle=0 + $('.pointer').addClass("stop") + $("#endjieguo span").eq(7).html(window.localStorage["6"]) + } + drawRouletteWheel() + }else if($(this).html().substring(0,4)=="崇左支队") + { + turnplate.restaraunts = ["钦州吾悦广场(模板)","龙城地下商业街(模板)","帝王财富中心(模板)","崇左油库"]; + turnplate.colors = ["#FFF4D6", "#FFFFFF","#FFF4D6", "#FFFFFF"]; + num=7 + if(window.localStorage["7"]==undefined) + { + turnplate.startAngle=0 + $('.pointer').removeClass("stop") + $("#endjieguo span").eq(8).html(window.localStorage["7"]) + }else{ + turnplate.startAngle=0 + $('.pointer').addClass("stop") + $("#endjieguo span").eq(8).html(window.localStorage["7"]) + } + drawRouletteWheel() + }else if($(this).html().substring(0,4)=="贵港支队") + { + turnplate.restaraunts = ["钦州吾悦广场(模板)", "平南中心购物广场", "贵港市中国石油分公司油库", "维多利亚酒店"]; + turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF"]; + + num=8 + if(window.localStorage["8"]==undefined) + { + $("#endjieguo span").eq(9).html("") + turnplate.startAngle=0 + $('.pointer').removeClass("stop") + }else{ + $("#endjieguo span").eq(9).html(window.localStorage["8"]) + turnplate.startAngle=0 + $('.pointer').addClass("stop") + } + drawRouletteWheel() + }else if($(this).html().substring(0,4)=="梧州支队") + { + turnplate.restaraunts = ["帝王财富中心(模板)", "钦州吾悦广场(模板)", "龙城地下商业街(模板)", "梧州市中石化火山油库" ]; + turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF"]; + num=9 + if(window.localStorage["9"]==undefined) + { + turnplate.startAngle=0 + $('.pointer').removeClass("stop") + $("#endjieguo span").eq(10).html("") + }else{ + $('.pointer').addClass("stop") + turnplate.startAngle=0 + $("#endjieguo span").eq(10).html(window.localStorage["9"]) + } + drawRouletteWheel() + }else if($(this).html().substring(0,4)=="百色支队") + { + turnplate.restaraunts = ["安达曼国际酒店", "恒宁城市广场", "三雷油库", "平果地下商业街 "]; + turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF"]; + num=10 + if(window.localStorage["10"]==undefined) + { + turnplate.startAngle=0 + $('.pointer').removeClass("stop") + $("#endjieguo span").eq(11).html() + }else{ + $('.pointer').addClass("stop") + turnplate.startAngle=0 + $("#endjieguo span").eq(11).html(window.localStorage["10"]) + } + drawRouletteWheel() + }else if($(this).html().substring(0,4)=="玉林支队") + { + turnplate.restaraunts = ["帝王财富中心(模板)", "钦州吾悦广场(模板)", "龙城地下商业街(模板)", "兴安油库(模板) "]; + turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF"]; + num=11 + if(window.localStorage["11"]==undefined) + { + turnplate.startAngle=0 + $('.pointer').removeClass("stop") + $("#endjieguo span").eq(12).html("") + }else{ + $('.pointer').addClass("stop") + turnplate.startAngle=0 + $("#endjieguo span").eq(12).html(window.localStorage["11"]) + } + drawRouletteWheel() + }else if($(this).html().substring(0,4)=="北海支队") + { + console.log(turnplate.startAngle) + turnplate.restaraunts = ["帝王财富中心(模板)", "龙城地下商业街(模板)", "广西东油沥青有限公司(模板)","和安宁春城"]; + turnplate.colors = ["#FFF4D6", "#FFFFFF", "#FFF4D6", "#FFFFFF"]; + num=12 + if(window.localStorage["12"]==undefined) + { + turnplate.startAngle=0 + $('.pointer').removeClass("stop") + $("#endjieguo span").eq(13).html("") + }else{ + $('.pointer').addClass("stop") + turnplate.startAngle=0 + $("#endjieguo span").eq(13).html(window.localStorage["12"]) + } + drawRouletteWheel() + }else if($(this).html().substring(0,4)=="桂林支队") + { + turnplate.restaraunts = ["钦州吾悦广场(模板)", "龙城地下商业街(模板)","兴安油库","宏谋酒店"]; + turnplate.colors = ["#FFF4D6", "#FFFFFF","#FFF4D6", "#FFFFFF"]; + num=13 + if(window.localStorage["13"]==undefined) + { + turnplate.startAngle=0 + $('.pointer').removeClass("stop") + $("#endjieguo span").eq(14).html("") + }else{ + $('.pointer').addClass("stop") + turnplate.startAngle=0 + $("#endjieguo span").eq(14).html(window.localStorage["13"]) + } + drawRouletteWheel() + } + }); + console.log(turnplate.startAngle) + var zhuanpan=document.getElementById("zhuanpan") + var con1=document.getElementById("con1") + /* var shuaxin="" + zhuanpan.remove() + $("#con1").append(shuaxin) */ var dataLength=turnplate.restaraunts.length if(num==0){ window.localStorage.setItem( 0, "钦州吾悦广场"); - $("#jieguo").append("您的抽签结果为:
钦州吾悦广场") + $("#endjieguo span").eq(1).html(window.localStorage["0"]) + $("#chooseZhi mat-icon").eq(0).show() + $('.pointer').addClass("stop") }else if(num==1){ - window.localStorage.setItem( 1, "九洲国际(超高层)"); - $("#jieguo").append("您的抽签结果为:
九洲国际(超高层)") + window.localStorage.setItem( 1, "九洲国际"); + $("#endjieguo span").eq(2).html(window.localStorage["1"]) + $("#chooseZhi mat-icon").eq(1).show() + $('.pointer').addClass("stop") }else if(num==2){ - window.localStorage.setItem( 2, "地王财富中心"); - $("#jieguo").append("您的抽签结果为:
地王财富中心") + window.localStorage.setItem( 2, "地王财富中心(模板)"); + $("#endjieguo span").eq(3).html(window.localStorage["2"]) + $("#chooseZhi mat-icon").eq(2).show() + $('.pointer').addClass("stop") }else if(num==3){ window.localStorage.setItem( 3, "广西河池市大洋购物中心"); - $("#jieguo").append("您的抽签结果为:
广西河池市大洋购物中心") + $("#endjieguo span").eq(4).html(window.localStorage["3"]) + $("#chooseZhi mat-icon").eq(3).show() + $('.pointer').addClass("stop") } else if(num==4){ - window.localStorage.setItem( 4, "来宾市方盛广场(人员密集)"); - $("#jieguo").append("您的抽签结果为:
来宾市方盛广场(人员密集)") + window.localStorage.setItem( 4, "来宾市方盛广场"); + $("#endjieguo span").eq(5).html(window.localStorage["4"]) + $("#chooseZhi mat-icon").eq(4).show() + $('.pointer').addClass("stop") }else if(num==5){ - window.localStorage.setItem( 5, "贺州市国际酒店(高层)"); - $("#jieguo").append("您的抽签结果为:
贺州市国际酒店(高层)") + window.localStorage.setItem( 5, "贺州市国际酒店"); + $("#endjieguo span").eq(6).html(window.localStorage["5"]) + $("#chooseZhi mat-icon").eq(5).show() + $('.pointer').addClass("stop") }else if(num==6){ window.localStorage.setItem( 6, "广西中油能源有限公司"); - $("#jieguo").append("您的抽签结果为:
广西中油能源有限公司") + $("#endjieguo span").eq(7).html(window.localStorage["6"]) + $("#chooseZhi mat-icon").eq(6).show() + $('.pointer').addClass("stop") }else if(num==7){ window.localStorage.setItem( 7, "崇左油库"); - $("#jieguo").append("您的抽签结果为:
崇左油库") + $("#endjieguo span").eq(8).html(window.localStorage["7"]) + $("#chooseZhi mat-icon").eq(7).show() + $('.pointer').addClass("stop") }else if(num==8){ - window.localStorage.setItem( 8, "维多利亚酒店(高层)"); - $("#jieguo").append("您的抽签结果为:
维多利亚酒店(高层)") + window.localStorage.setItem( 8, "维多利亚酒店"); + $("#endjieguo span").eq(9).html(window.localStorage["8"]) + $("#chooseZhi mat-icon").eq(8).show() + $('.pointer').addClass("stop") }else if(num==9){ window.localStorage.setItem( 9, "梧州市中石化火山油库"); - $("#jieguo").append("您的抽签结果为:
梧州市中石化火山油库") + $("#endjieguo span").eq(10).html(window.localStorage["9"]) + $("#chooseZhi mat-icon").eq(9).show() + $('.pointer').addClass("stop") }else if(num==10){ window.localStorage.setItem( 10, "平果地下商业街"); - $("#jieguo").append("您的抽签结果为:
平果地下商业街") + $("#endjieguo span").eq(11).html(window.localStorage["10"]) + $("#chooseZhi mat-icon").eq(10).show() + $('.pointer').addClass("stop") }else if(num==11){ - window.localStorage.setItem( 11, "玉林市中医医院"); - $("#jieguo").append("您的抽签结果为:
玉林市中医医院") + window.localStorage.setItem( 11, "兴安油库(模板)"); + $("#endjieguo span").eq(12).html(window.localStorage["11"]) + $("#chooseZhi mat-icon").eq(11).show() + $('.pointer').addClass("stop") }else if(num==12){ - window.localStorage.setItem( 12, "和安宁春城(大型城市综合体)"); - $("#jieguo").append("您的抽签结果为:
和安宁春城(大型城市综合体)") + window.localStorage.setItem( 12, "和安宁春城"); + $("#endjieguo span").eq(13).html(window.localStorage["12"]) + $("#chooseZhi mat-icon").eq(12).show() + $('.pointer').addClass("stop") }else if(num==13){ - window.localStorage.setItem( 13, "兴安油库"); - $("#jieguo").append("您的抽签结果为:
兴安油库") + window.localStorage.setItem( 13, "宏谋酒店"); + $("#endjieguo span").eq(14).html(window.localStorage["13"]) + $("#chooseZhi mat-icon").eq(13).show() + $('.pointer').addClass("stop") } /* if(dataLength>=5) { @@ -397,7 +662,7 @@ $('.pointer').click(function (){ //控制中奖结果 function rnd(n, m){ -var random = 5; +var random = 4; //var random = Math.floor(Math.random()*(m-n+1)+n); return random; diff --git a/src/index.html b/src/index.html index 56a9352..13afb2d 100644 --- a/src/index.html +++ b/src/index.html @@ -4,13 +4,13 @@ * @Author: sueRimn * @Date: 2020-09-25 08:48:54 * @LastEditors: sueRimn - * @LastEditTime: 2020-09-27 11:39:39 + * @LastEditTime: 2020-10-07 14:13:32 --> - 智能实战指挥平台 + 指挥员指挥能力考评抽签