From cc0fcb59ce3dabf3727975d85c61bfb6c0172600 Mon Sep 17 00:00:00 2001 From: SHAOJIAHAO <55341701@qq.com> Date: Fri, 21 May 2021 16:30:58 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BF=AE=E6=94=B9]=E4=BF=AE=E6=94=B9=E5=88=9D?= =?UTF-8?q?=E9=AA=8C=E9=9C=80=E6=B1=82=EF=BC=8C=E5=B7=AE=E5=BC=82=E5=AF=B9?= =?UTF-8?q?=E6=AF=94=E5=8A=9F=E8=83=BD=E5=92=8C=E5=AF=BC=E5=85=A5gis?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fire-fighting-device.component.html | 8 +- .../fire-fighting-device.component.scss | 2 +- .../fire-fighting-device.component.html | 6 +- .../fire-fighting-device.component.scss | 2 +- .../key-unit-management.component.html | 36 +- src/app/pipes/boolean.pipe.ts | 17 +- src/app/plan-audit/plan-audit.module.ts | 3 +- .../wait-examineer.component.html | 490 ++++----- .../wait-examineer.component.scss | 302 +++--- .../wait-examineer.component.ts | 955 +++++++++--------- .../entry-plan/entry-plan.component.html | 36 +- .../maintain-up/maintain-up.component.html | 36 +- src/app/tabbar/tabbar.component.html | 60 +- src/app/tabbar/tabbar.component.scss | 2 +- .../collection-tools-plan/addPlaneFigure.html | 10 +- .../collection-tools.component.html | 300 ++++-- .../collection-tools.component.ts | 276 ++--- .../leftFunctionalDomain.ts | 33 +- src/app/ui/collection-tools-plan/panel.scss | 4 + .../collection-tools.component.html | 4 +- src/styles.scss | 11 + 21 files changed, 1314 insertions(+), 1279 deletions(-) diff --git a/src/app/key-unit/fire-fighting-device-look/fire-fighting-device.component.html b/src/app/key-unit/fire-fighting-device-look/fire-fighting-device.component.html index 71f0bf9..9e63fd4 100644 --- a/src/app/key-unit/fire-fighting-device-look/fire-fighting-device.component.html +++ b/src/app/key-unit/fire-fighting-device-look/fire-fighting-device.component.html @@ -1,4 +1,4 @@ -
+
diff --git a/src/app/key-unit/fire-fighting-device-look/fire-fighting-device.component.scss b/src/app/key-unit/fire-fighting-device-look/fire-fighting-device.component.scss index f5b4a14..4861a3e 100644 --- a/src/app/key-unit/fire-fighting-device-look/fire-fighting-device.component.scss +++ b/src/app/key-unit/fire-fighting-device-look/fire-fighting-device.component.scss @@ -38,7 +38,7 @@ color: black; text-align: center; white-space: pre-line; - max-height: 48px; + // max-height: 48px; overflow-y: auto; } .lastTextContent { //textarea多行文本 diff --git a/src/app/key-unit/fire-fighting-device/fire-fighting-device.component.html b/src/app/key-unit/fire-fighting-device/fire-fighting-device.component.html index d2e59a5..b21169d 100644 --- a/src/app/key-unit/fire-fighting-device/fire-fighting-device.component.html +++ b/src/app/key-unit/fire-fighting-device/fire-fighting-device.component.html @@ -1,4 +1,4 @@ -
+
diff --git a/src/app/key-unit/fire-fighting-device/fire-fighting-device.component.scss b/src/app/key-unit/fire-fighting-device/fire-fighting-device.component.scss index 8669fda..2a14c4d 100644 --- a/src/app/key-unit/fire-fighting-device/fire-fighting-device.component.scss +++ b/src/app/key-unit/fire-fighting-device/fire-fighting-device.component.scss @@ -38,7 +38,7 @@ color: black; text-align: center; white-space: pre-line; - max-height: 48px; + // max-height: 48px; overflow-y: auto; } .lastTextContent { //textarea多行文本 diff --git a/src/app/key-unit/key-unit-management/key-unit-management.component.html b/src/app/key-unit/key-unit-management/key-unit-management.component.html index eb3c1c2..9fc5444 100644 --- a/src/app/key-unit/key-unit-management/key-unit-management.component.html +++ b/src/app/key-unit/key-unit-management/key-unit-management.component.html @@ -160,9 +160,9 @@
- {{(element.companyIntegrityScore.basicInfoScore * 5).toFixed(1)}}分 + {{(element.companyIntegrityScore.basicInfoScore * 5).toFixed(1)}}%
-
5分
+
5%
  • 建筑信息
    @@ -170,9 +170,9 @@
    - {{(element.companyIntegrityScore.buildingInfoScore * 10).toFixed(1)}}分 + {{(element.companyIntegrityScore.buildingInfoScore * 10).toFixed(1)}}%
  • -
    10分
    +
    10%
  • 平面图
    @@ -180,9 +180,9 @@
    - {{(element.companyIntegrityScore.planImageScore * 10).toFixed(1)}}分 + {{(element.companyIntegrityScore.planImageScore * 10).toFixed(1)}}%
  • -
    10分
    +
    10%
  • 四周毗邻
    @@ -190,9 +190,9 @@
    - {{(element.companyIntegrityScore.adjoinScore * 10).toFixed(1)}}分 + {{(element.companyIntegrityScore.adjoinScore * 10).toFixed(1)}}%
  • -
    10分
    +
    10%
  • 消防设施
    @@ -200,9 +200,9 @@
    - {{(element.companyIntegrityScore.facilityScore * 25).toFixed(1)}}分 + {{(element.companyIntegrityScore.facilityScore * 25).toFixed(1)}}%
  • -
    25分
    +
    25%
  • 重点部位
    @@ -210,9 +210,9 @@
    - {{(element.companyIntegrityScore.importantLocationScore * 10).toFixed(1)}}分 + {{(element.companyIntegrityScore.importantLocationScore * 10).toFixed(1)}}%
  • -
    10分
    +
    10%
  • 功能分区
    @@ -220,9 +220,9 @@
    - {{(element.companyIntegrityScore.functionalDivisionScore * 10).toFixed(1)}}分 + {{(element.companyIntegrityScore.functionalDivisionScore * 10).toFixed(1)}}% -
    10分
    +
    10%
  • 实景图
    @@ -230,9 +230,9 @@
    - {{(element.companyIntegrityScore.realityImageScore * 10).toFixed(1)}}分 + {{(element.companyIntegrityScore.realityImageScore * 10).toFixed(1)}}% -
    10分
    +
    10%
  • CAD上传
    @@ -240,9 +240,9 @@
    - {{(element.companyIntegrityScore.cadScore * 10).toFixed(1)}}分 + {{(element.companyIntegrityScore.cadScore * 10).toFixed(1)}}% -
    10分
    +
    10%
  • diff --git a/src/app/pipes/boolean.pipe.ts b/src/app/pipes/boolean.pipe.ts index 78ae821..0b10a0e 100644 --- a/src/app/pipes/boolean.pipe.ts +++ b/src/app/pipes/boolean.pipe.ts @@ -44,4 +44,19 @@ export class state implements PipeTransform { return '未维护' } } -} \ No newline at end of file +} + +@Pipe({name: 'differentContentTitle'}) +export class differentContentTitle implements PipeTransform { + transform(value: string): string { + console.log(666,typeof(value)) + if(typeof(value) == 'boolean' && value){ + return '是' + }else if(typeof(value) == 'boolean' && !value){ + return '否' + }else{ + return value + } + + } +} diff --git a/src/app/plan-audit/plan-audit.module.ts b/src/app/plan-audit/plan-audit.module.ts index 0a93d82..a4d9e76 100644 --- a/src/app/plan-audit/plan-audit.module.ts +++ b/src/app/plan-audit/plan-audit.module.ts @@ -72,11 +72,12 @@ import { previewImg3 } from './realistic-picture-look/realistic-picture.componen import { show3D } from './wait-examineer/wait-examineer.component'; import { recordshow3D } from './plan-record/plan-record.component' import { ViewDetailsComponent } from './view-details/view-details.component' +import { differentContentTitle } from '../pipes/boolean.pipe'; @NgModule({ declarations: [DetachmentLevelComponent, PlanAuditComponent, PlanPassComponent,PlanOpen, PlanRecordComponent, BasicInfoComponent, WaitExamineerComponent,AllaroundComponent,ImgDetails,FireFacilitiesComponent,ImagesData2,previewBigImg2,PlanListComponent,OpenPlanToolDialog, KeySiteLookComponent,KeySiteImgs2,FunctionPartitionComponent,CadDrawComponent,RealisticPictureLookComponent,previewImg3,show3D, WaterAuditComponent, - FireforceAuditComponent, LinkageforcesAuditComponent, ViewDetailsComponent,recordshow3D,remark], + FireforceAuditComponent, LinkageforcesAuditComponent, ViewDetailsComponent,recordshow3D,remark,differentContentTitle], imports: [ CommonModule, PlanAuditRoutingModule, diff --git a/src/app/plan-audit/wait-examineer/wait-examineer.component.html b/src/app/plan-audit/wait-examineer/wait-examineer.component.html index ebbc60d..a331ee7 100644 --- a/src/app/plan-audit/wait-examineer/wait-examineer.component.html +++ b/src/app/plan-audit/wait-examineer/wait-examineer.component.html @@ -1,103 +1,257 @@
    -
    -
    -
    -
    - 操作类型: - - 全部 - 更新 - 新增 - 删除 -
    - 共计:{{count}}条 -
    - +
    +
    + +
    + 操作类型: + 全部 + 更新 + 新增 + 删除 +
    + 共计:{{count}}条
    -
    - 类型: - - - Ⅰ级预案 - Ⅱ级预案 - Ⅲ级预案 - Ⅳ级预案 - Ⅴ级预案 - 应急预案(国家级) - 应急预案(市级) - 类型预案 - 重点单位 - 消防水源 - 消防力量 - 联动力量 - - - 编制级别: - - - {{item.name}} - - - - -
    - - -
    - - - - - - - - - - + +
    + 类型: + + + Ⅰ级预案 + Ⅱ级预案 + Ⅲ级预案 + Ⅳ级预案 + Ⅴ级预案 + 应急预案(国家级) + 应急预案(市级) + 类型预案 + 重点单位 + 消防水源 + 消防力量 + 联动力量 + + + 编制级别: + + + {{item.name}} + + + + +
    + + +
    +
    类型名称操作所属组织审核状态提交人提交时间
    + + + + + + + + + +
    类型名称操作所属组织审核状态提交人提交时间
    +
    + + + + + + + + + + +
    + + + {{item.contentType=='1'?'Ⅰ级预案':item.contentType=='2'?'Ⅱ级预案':item.contentType=='3'?'Ⅲ级预案':item.contentType=='4'?'Ⅳ级预案':item.contentType=='5'? + 'Ⅴ级预案':item.contentType=='6'?'应急预案(国家级)':item.contentType=='7'?'应急预案(市级)':item.contentType=='8'?'类型预案':item.contentType=='11'?'重点单位':item.contentType=='12'?'水源':item.contentType=='13'?'消防力量':item.contentType=='14'?'联动力量':'未知'}} + {{item.title}} + {{item.operation=='0'?'新增':item.operation=='1'?'更新':'删除'}}{{item.organizationName}} + {{item.verifyState=='0'?'待初审':item.verifyState=='1'? + '初审通过':item.verifyState=='2'?'初审驳回':item.verifyState=='3'?'待终审':item.verifyState=='4'?'终审通过':'终审驳回'}} + {{item.creatorName}}{{item.createTime|date:'yyyy-MM-dd'}}
    +
    + + +
    +
    + +
    + +
    + +
    +
    + + + +
    + +
    + + +
    +
    + + + + + + 基本信息 + + +
    + + + + + border_color + 修改-{{selectedItem.title}} + + + + + + + + + + + + +
    {{i.displayName}} : + + + 变更为 + + + + {{i.oldValue}} + 变更为 + {{i.newValue}} +
    +
    +
    +
    +
    + + + + + 建筑信息 + + +
    + + + + + border_color + {{item.propertyName}} + + + + + + +
    {{i.displayName}} : + + {{i.oldValue | differentContentTitle}} + 变更为 + {{i.newValue | differentContentTitle}} +
    -
    - - - - - - - - - - -
    - - {{item.contentType=='1'?'Ⅰ级预案':item.contentType=='2'?'Ⅱ级预案':item.contentType=='3'?'Ⅲ级预案':item.contentType=='4'?'Ⅳ级预案':item.contentType=='5'? - 'Ⅴ级预案':item.contentType=='6'?'应急预案(国家级)':item.contentType=='7'?'应急预案(市级)':item.contentType=='8'?'类型预案':item.contentType=='11'?'重点单位':item.contentType=='12'?'水源':item.contentType=='13'?'消防力量':item.contentType=='14'?'联动力量':'未知'}}{{item.title}}{{item.operation=='0'?'新增':item.operation=='1'?'更新':'删除'}}{{item.organizationName}}{{item.verifyState=='0'?'待初审':item.verifyState=='1'? - '初审通过':item.verifyState=='2'?'初审驳回':item.verifyState=='3'?'待终审':item.verifyState=='4'?'终审通过':'终审驳回'}}{{item.creatorName}}{{item.createTime|date:'yyyy-MM-dd'}}
    -
    - - +
    +
    -
    - + + + + + + 功能分区 + + +
    + + + + + border_color + {{item.propertyName}} + + + + + + + +
    {{i.displayName}} : + + {{i.oldValue | differentContentTitle}} + 变更为 + {{i.newValue | differentContentTitle}} +
    +
    +
    +
    +
    + + +
    -
    -
    - -
    - - - + + +
    + +
    + +
    + +
    +
    +
    + 单位名称: + {{compantData.name?compantData.name : '暂无数据'}} +
    +
    + 消防救援站: + {{organizationName}}
    - -
    - + +
    + @@ -145,158 +299,26 @@
    - -
    - - - - - 基本信息 - - -
    - - - - - 修改-沃尔玛(上海)职业发展有限公司 - - - - - - - - - - - - - - - -
    单位地址 : 上海市上海市黄浦区武胜路333号变更为 - 上海市上海市黄浦区金陵西路28号
    联系电话 :15069853369变更为 - 13869877764
    始建于(年):1991变更为 - 2003
    -
    -
    -
    -
    -
    - - - - - 基本信息 - - -
    - - - - - 修改-沃尔玛(上海)职业发展有限公司 - - - - - - - - - - - - - - - -
    单位地址 : 上海市上海市黄浦区武胜路333号变更为 - 上海市上海市黄浦区金陵西路28号
    联系电话 :15069853369变更为 - 13869877764
    始建于(年):1991变更为 - 2003
    -
    -
    -
    - - -
    -
    - - - - - 四周毗邻 - - -
    - - - - - 一号建筑 - - -
    -
    - 一号建筑: -
    -
    - - 变更为 -
    -
    -
    -
    -
    - -
    -
    -
    -
    - -
    -
    -
    -
    - 单位名称: - {{compantData.name?compantData.name : '暂无数据'}} -
    -
    - 消防救援站: - {{organizationName}} -
    -
    - 单位类型: - {{compantData.buildingTypes.length?compantData.buildingTypes[0].name : '暂无数据'}} -
    -
    - 单位地址: - {{compantData.address?compantData.address : '暂无数据'}} -
    -
    - 查看详情 -
    -
    - -
    -
    - 该提交内容为空,从未保存过,请驳回该审核 +
    +
    + 该提交内容为空,从未保存过,请驳回该审核 +
    +
    -
    -
    -
    -
    + +
    +
    +
    +
    \ No newline at end of file diff --git a/src/app/plan-audit/wait-examineer/wait-examineer.component.scss b/src/app/plan-audit/wait-examineer/wait-examineer.component.scss index 21613c6..6221e8a 100644 --- a/src/app/plan-audit/wait-examineer/wait-examineer.component.scss +++ b/src/app/plan-audit/wait-examineer/wait-examineer.component.scss @@ -1,217 +1,214 @@ -.box{ +.box { height: 100%; width: 100%; display: flex; - .boxleft{ + .boxleft { height: 100%; width: 45%; - background-color: #FFFFFF; + background-color: #ffffff; display: flex; flex-direction: column; overflow: auto; - .lefthead{ + .lefthead { display: flex; flex-direction: column; - .headdiv{ - @media screen and (min-device-width:1400px){ + .headdiv { + @media screen and (min-device-width: 1400px) { margin: 0 0 0 28px; } - @media screen and (max-device-width:1400px) and (min-device-width:1200px){ + @media screen and (max-device-width: 1400px) and (min-device-width: 1200px) { margin-left: 15px; } - @media screen and (max-device-width:1200px){ + @media screen and (max-device-width: 1200px) { margin-left: 5px; } height: 40px; display: flex; flex-direction: row; - .radio{ + .radio { height: 10px; } - span{ - @media screen and (min-device-width:1400px){ + span { + @media screen and (min-device-width: 1400px) { font-size: 16px; } - @media screen and (max-device-width:1400px) and (min-device-width:1200px){ + @media screen and (max-device-width: 1400px) and (min-device-width: 1200px) { font-size: 16px; } - @media screen and (max-device-width:1200px){ + @media screen and (max-device-width: 1200px) { font-size: 14px; } margin-left: 3px; } - input{ + input { position: relative; - @media screen and (min-device-width:1400px){ + @media screen and (min-device-width: 1400px) { margin-left: 50px; top: 6px; } - @media screen and (max-device-width:1200px){ + @media screen and (max-device-width: 1200px) { margin-left: 8px; top: 4px; } - @media screen and (max-device-width:1400px) and (min-device-width:1200px){ + @media screen and (max-device-width: 1400px) and (min-device-width: 1200px) { margin-left: 8px; top: 6px; } - } - .count{ - @media screen and (min-device-width:1400px){ + .count { + @media screen and (min-device-width: 1400px) { margin-left: 110px; } - @media screen and (max-device-width:1200px){ + @media screen and (max-device-width: 1200px) { margin-left: 20px; position: relative; bottom: 3px; } - @media screen and (max-device-width:1400px) and (min-device-width:1200px){ + @media screen and (max-device-width: 1400px) and (min-device-width: 1200px) { margin-left: 20px; /* position: relative; bottom: 3px; */ } } } - .headthree{ - @media screen and (min-device-width:1400px){ + .headthree { + @media screen and (min-device-width: 1400px) { margin-left: 30px; } - @media screen and (max-device-width:1200px){ + @media screen and (max-device-width: 1200px) { margin-left: 7px; font-size: 14px; - mat-form-field{ + mat-form-field { width: 120px; } } - @media screen and (max-device-width:1400px) and (min-device-width:1200px){ + @media screen and (max-device-width: 1400px) and (min-device-width: 1200px) { margin-left: 15px; //font-size: 14px; - mat-form-field{ + mat-form-field { width: 140px; } } - - button{ - - @media screen and (min-device-width:1400px){ + + button { + @media screen and (min-device-width: 1400px) { margin-left: 30px; font-size: 16px; width: 80px; height: 36px; } - @media screen and (max-device-width:1400px){ + @media screen and (max-device-width: 1400px) { margin-left: 90px; font-size: 14px; - } } - img{ - @media screen and (min-device-width:1400px){ + img { + @media screen and (min-device-width: 1400px) { height: 14px; width: 14px; } - @media screen and (max-device-width:1400px){ + @media screen and (max-device-width: 1400px) { height: 12px; width: 12px; } - } - } } - .tablediv{ + .tablediv { width: 100%; height: 100%; - .tbodycss{ - @media screen and (min-device-width:1400px){ + .tbodycss { + @media screen and (min-device-width: 1400px) { overflow-y: auto; } - + height: 650px; width: 100%; - .selectedTr{ + .selectedTr { background-color: #b3d3ee; } - td{ - font-weight:10; - @media screen and (min-device-width:1200px){ + td { + font-weight: 10; + @media screen and (min-device-width: 1200px) { font-size: 16px; } - @media screen and (max-device-width:1200px){ + @media screen and (max-device-width: 1200px) { font-size: 14px; } } } - table{ - margin-left:10px; + table { + margin-left: 10px; margin-right: 10px; width: 97.5%; //margin-bottom: 10px; - thead{ - height:48px; - color: #FFFFFF; - background-color: #2196F3; + thead { + height: 48px; + color: #ffffff; + background-color: #2196f3; //font-size: 10px; - th{ - font-weight:10; - @media screen and (min-device-width:1200px){ + th { + font-weight: 10; + @media screen and (min-device-width: 1200px) { font-size: 16px; } - @media screen and (max-device-width:1200px){ + @media screen and (max-device-width: 1200px) { font-size: 14px; } } } - - tr:nth-child(odd){ - background: #FAFAFA; - } + + tr:nth-child(odd) { + background: #fafafa; + } } } } - .boxright{ + .boxright { height: 100%; - @media screen and (max-device-width:1400px){ + width: 53%; + @media screen and (max-device-width: 1400px) { overflow-y: auto; } - width: 53%; + flex: 1; - background-color: #FFFFFF; + background-color: #ffffff; margin-left: 10px; display: flex; flex-direction: column; - .company{ + .company { //margin-left: 20px; - @media screen and (min-device-width:1400px){ + @media screen and (min-device-width: 1400px) { overflow-y: auto; } flex: 1; //overflow-y: auto; margin-top: 10px; } - .righthead{ + .righthead { width: 100%; display: flex; height: 50px; align-items: center; flex-direction: row-reverse; - button{ + button { margin-left: 10px; font-size: 16px; } - .rightheadone{ + .rightheadone { width: 40%; margin-right: 7%; } - .rightheadtwo{ + .rightheadtwo { width: 60%; margin-right: 2%; } } - .word{ + + .word { width: 100%; height: 100%; - iframe{ + iframe { height: 95%; width: 97%; margin: 10px 10px 10px 10px; @@ -219,82 +216,97 @@ border: medium none; } } - #viewer{ + #viewer { margin: 10px 10px 10px 10px; width: 97%; height: 93%; } - .waterAudit,.fireForceAudit,.LinkageForcesAudit{ + .waterAudit, + .fireForceAudit, + .LinkageForcesAudit { flex: 1; width: 100%; height: 100%; box-sizing: border-box; } - .emptyContent{ + .emptyContent { width: 100%; text-align: center; } } } -th,td{ - height:48px; - @media screen and (min-device-width:1400px){ +th, +td { + height: 43px; + @media screen and (min-device-width: 1400px) { font-size: 16px; } - @media screen and (max-device-width:1400px){ + @media screen and (max-device-width: 1400px) { font-size: 14px; } text-align: center; //white-space: nowrap; } -.green{color: #00C756;} -.red{color: #FF4D4D;} -.blue{color: #2196F3;} -.accordingin{ +.green { + color: #00c756; +} +.red { + color: #ff4d4d; +} +.blue { + color: #2196f3; +} +.accordingin { margin: 5px; - .panelhead{ - background-color:#E8F4FE; - color: #2196F3; + .panelhead { + background-color: #e8f4fe; + color: #2196f3; font-size: 16px; - span{ + span { margin-left: 10px; } } - table{ + table { margin: 5px 0; width: 100%; - th{ - background-color: #FAFAFA; + th { + background-color: #fafafa; width: 30%; font-size: 16px; text-align: right; } - td{ + td { text-align: left; font-size: 16px; margin-left: 3px; + .spantext{ + margin-left: 7px; + } + .buleColor{ + color: #2196f3; + } } } - .onebuilding{ + .onebuilding { display: flex; margin: 5px 0; width: 100%; - .accordingleft{ - background-color: #FAFAFA; + .accordingleft { + background-color: #fafafa; width: 30%; height: 120px; font-size: 16px; text-align: right; } - .accordingright{ + .accordingright { margin: 7px; height: 100px; font-size: 16px; - img{ + img { margin-left: 10px; //height: 80px; } - span{ + span { margin-left: 10px; position: relative; bottom: 90px; @@ -302,7 +314,7 @@ th,td{ } } } -.echarts{ +.echarts { width: 480px; height: 304px; display: flex; @@ -312,13 +324,13 @@ th,td{ top: 13%; left: 55%; z-index: 100; - .bar{ + .bar { height: 100%; width: 40%; opacity: 1; //margin: 40px 30px; } - .zhu{ + .zhu { margin-bottom: 100px; margin-right: 20px; height: 95%; @@ -333,51 +345,53 @@ th,td{ flex-direction: column; align-items: left; .planBox { - margin: 30px 30px; - color: black; - :first-child {margin-right: 10px;} + margin: 30px 30px; + color: black; + :first-child { + margin-right: 10px; + } } - } +} //滚动条样式 -::-webkit-scrollbar{ +::-webkit-scrollbar { width: 6px; background-color: white; - } - ::-webkit-scrollbar-thumb{ - background-color: #2196F3; - } +} +::-webkit-scrollbar-thumb { + background-color: #2196f3; +} - .remarkbox{ - width: 100%; - height: 100%; - display: flex; - flex-direction: column; - .remarkhead{ - width: 100%; - span{ - font-size: 20px; - text-align: center; - width: 80px; - margin-left: 40%; - } - } - .remarktext{ - width: 100%; - margin-top: 20px; - textarea{ - width: 420px; - height: 110px; - outline:none; - } - } - .remarkbottom{ - width: 100%; - margin-top: 22px; - button{ - width: 100px; - height: 36px; - font-size: 17px; - } - } - } +.remarkbox { + width: 100%; + height: 100%; + display: flex; + flex-direction: column; + .remarkhead { + width: 100%; + span { + font-size: 20px; + text-align: center; + width: 80px; + margin-left: 40%; + } + } + .remarktext { + width: 100%; + margin-top: 20px; + textarea { + width: 420px; + height: 110px; + outline: none; + } + } + .remarkbottom { + width: 100%; + margin-top: 22px; + button { + width: 100px; + height: 36px; + font-size: 17px; + } + } +} diff --git a/src/app/plan-audit/wait-examineer/wait-examineer.component.ts b/src/app/plan-audit/wait-examineer/wait-examineer.component.ts index a13eeda..5ba1b6a 100644 --- a/src/app/plan-audit/wait-examineer/wait-examineer.component.ts +++ b/src/app/plan-audit/wait-examineer/wait-examineer.component.ts @@ -9,7 +9,7 @@ import { Component, Inject, OnInit } from '@angular/core'; import { FormControl } from '@angular/forms'; import { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar'; -import {MatDialog, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog'; +import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; import { HttpClient } from '@angular/common/http' declare var CryptoJS import { DomSanitizer } from '@angular/platform-browser'; @@ -23,90 +23,69 @@ declare var echarts: any; }) export class WaitExamineerComponent implements OnInit { - constructor(private http:HttpClient,public snackBar: MatSnackBar,private sanitizer: DomSanitizer,public dialog: MatDialog) { - - } + constructor(private http: HttpClient, public snackBar: MatSnackBar, private sanitizer: DomSanitizer, public dialog: MatDialog) { + } + preparelevels: any//编制级别下拉框 ngOnInit(): void { - sessionStorage.setItem('gisplan','look') + sessionStorage.setItem('gisplan', 'look') let level = sessionStorage.getItem("level"); - if(level == "0"){//如果是总队 + //编制级别下拉框 + if (level == "0") {//如果是总队 this.preparelevels = [ - {name:"总队",value:"0"}, - {name:"支队",value:"1"}, - {name:"大队",value:"2"}, - {name:"中队",value:"3"} + { name: "总队", value: "0" }, + { name: "支队", value: "1" }, + { name: "大队", value: "2" }, + { name: "中队", value: "3" } ] - //this.PlanLevel=0 } - if(level == "1"){//如果是支队 + if (level == "1") {//如果是支队 this.preparelevels = [ - {name:"支队",value:"1"}, - {name:"大队",value:"2"}, - {name:"中队",value:"3"} + { name: "支队", value: "1" }, + { name: "大队", value: "2" }, + { name: "中队", value: "3" } ] - //this.PlanLevel=1 } - if(level == "2"){//如果是大队 + if (level == "2") {//如果是大队 this.preparelevels = [ - {name:"大队",value:"2"}, - {name:"中队",value:"3"} + { name: "大队", value: "2" }, + { name: "中队", value: "3" } ] - //this.PlanLevel=2 } - if(level == "3"){//如果是中队 + if (level == "3") {//如果是中队 this.preparelevels = [ - {name:"中队",value:"3"} + { name: "中队", value: "3" } ] - //this.PlanLevel=3 } - var scrollflaga = true; - var win=document.getElementById('tbodydiv') - /* window.setTimeout(()=>{ - var a = document.getElementById("table").offsetTop; - window.onscroll=function(){ - if(scrollflaga){ - if(a>=win.scrollTop&&a<(win.scrollTop+win.offsetHeight)){ - scrollflaga=false - this.getAlltabledate() - } - } - } - }) */ - - this.getAlltabledate() - this.iframeSrc=this.sanitizer.bypassSecurityTrustResourceUrl(this.src); + this.getAlltabledate() + // this.iframeSrc = this.sanitizer.bypassSecurityTrustResourceUrl(this.src); } - planTypeIndex //平面图类型 是总平面图还是层平面图 - selectedIndexChange(e){ + planTypeIndex //平面图类型 选择是总平面图还是层平面图 + selectedIndexChange(e) { this.selected.setValue(e) - // console.log(6666,e) - if(e == 1){ + if (e == 1) { this.planTypeIndex = 'zong' - }else if(e == 2){ + } else if (e == 2) { this.planTypeIndex = 'ceng' } } - ngOnDestroy () { - /* this.indexbar.clear() - this.indexbar.dispose() */ - - } - iframeSrc - src='' + src: any //毕生word文档地址 + iframeSrc: any //毕生word文档地址 ---> 主要转成frame安全链接 + + - preparelevels:any selected = new FormControl(0); //选项卡 实例 - level=''//操作类型 + + level = ''//操作类型 js//组织机构 addtime//时间 projectlevel//预案级别 - previewshow=false//预览得分是否显示 + previewshow = false//预览得分是否显示 tableDate - isallDate=true//是否显示完成数据,默认显示 - companyBuiltInGrouping=["基本信息","四周毗邻","消防设施"] + isallDate = true//是否显示完成数据,默认显示 + companyBuiltInGrouping = ["基本信息", "四周毗邻", "消防设施"] indexbar //饼状图实例 indexzhu PlanLevel//编制级别 @@ -114,9 +93,9 @@ export class WaitExamineerComponent implements OnInit { checked//是否选中 chuorzhong//判断初审还是终审 radioid//选中的id - shenheTable=[]//选中要审核的对象 - showtype=-1//0:word,1:全景图,2:二维三维,3:重点单位 - compantData={name:'',buildingTypes:[],address:''} + shenheTable = []//选中要审核的对象 + showtype = -1//0:word,1:全景图,2:二维三维,3:重点单位 + compantData = { name: '', buildingTypes: [], address: '' } organizationName planData id @@ -126,176 +105,211 @@ export class WaitExamineerComponent implements OnInit { companyName //获取表格数据 - getAlltabledate(){ - let paramsdata:any = { - Operation:this.level||[], - ContentType:Number(this.projectlevel)||[], - Level:this.PlanLevel||[], - verifyState:[0,3] + getAlltabledate() { + let paramsdata: any = { + Operation: this.level || [], + ContentType: Number(this.projectlevel) || [], + Level: this.PlanLevel || [], + verifyState: [0, 3] } - this.http.get("/api/ContentVerifies",{params:paramsdata}).subscribe((data:any)=>{ - this.tableDate=data.items - this.count=data.totalCount + this.http.get("/api/ContentVerifies", { params: paramsdata }).subscribe((data: any) => { + this.tableDate = data.items + this.count = data.totalCount }) } //提交查询 - onSubmit(value){ + onSubmit(value) { this.getAlltabledate() } //刷新 - record(){ - this.level='' - this.projectlevel='' - this.PlanLevel='' + record() { + this.level = '' + this.projectlevel = '' + this.PlanLevel = '' let level = sessionStorage.getItem("level"); this.getAlltabledate() } + + //radio点击事件 viewer//全景图对象 - waterData:any//需要传递给子组件的水源信息 - LinkageForceDetailInfo:any//需要传递给子组件的联动力量信息 - fireForceDetailInfo:any//需要传递给子组件的消防力量信息 - postlevel:any - radioClick(e,item){ + waterData: any//需要传递给子组件的水源信息 + LinkageForceDetailInfo: any//需要传递给子组件的联动力量信息 + fireForceDetailInfo: any//需要传递给子组件的消防力量信息 + postlevel: any + selectedItem: any + + differentContent: any//当前单位变更数据 + differentContentOfUnitInfo: any//当前单位变更数据 之 单位信息 + differentContentOfBuildingsInfo: any//当前单位变更数据 之 建筑信息 + differentContentOfFunction: any = []//当前单位变更数据 之 功能分区 + differentContentOfPicture: any//当前单位变更数据 之 实景图 + radioClick(e, item) { + this.selectedItem = item + // console.log('当前选择的单位',this.selectedItem) + // console.log('当前选择的信息',JSON.parse(this.selectedItem.differentContent) ) + let differentContent = JSON.parse(this.selectedItem.differentContent) + // 单位信息 + this.differentContentOfUnitInfo = differentContent.filter(item => item.propertyName == 'basicInfo') + + // 实景图 + this.differentContentOfPicture = differentContent.filter(item => item.propertyName == 'realityImageGroups') + //建筑信息 + this.differentContentOfBuildingsInfo = JSON.parse(JSON.stringify(differentContent.filter(item => item.propertyName == 'buildings')[0])) + this.differentContentOfBuildingsInfo.childrens.forEach(element => { + element.childrens = element.childrens.filter(item => item.isObj == false) + }); + + //功能分区 + let differentContentOfFunction = JSON.parse(JSON.stringify(differentContent.filter(item => item.propertyName == 'buildings')[0])) + this.differentContentOfFunction = [] + differentContentOfFunction.childrens.forEach(item => { + item.childrens.forEach(i => { + if (i.propertyName == "buildingFunctionalDivisions") { + i.propertyName = item.propertyName + this.differentContentOfFunction.push(i) + } + }); + }); + console.log('功能分区', this.differentContentOfFunction) + + + + this.showtype = -1 - this.organizationName='' - this.itemid=item.itemId - this.id=item.id - this.fetchUrl='' - this.viewer={} - if(item.contentType == 11){ - window.setTimeout(()=>{ + this.organizationName = '' + this.itemid = item.itemId + this.id = item.id + this.fetchUrl = '' + this.viewer = {} + if (item.contentType == 11) { + window.setTimeout(() => { this.showtype = 3 - sessionStorage.setItem('companyId',item.itemId) - },0) - }else if(item.contentType == 12){ + sessionStorage.setItem('companyId', item.itemId) + }, 0) + } else if (item.contentType == 12) { //水源 - this.http.get(`/api/WaterSources/${item.itemId}`).subscribe((data)=>{ + this.http.get(`/api/WaterSources/${item.itemId}`).subscribe((data) => { this.waterData = data this.showtype = 12 }) - }else if(item.contentType == 13){ + } else if (item.contentType == 13) { //消防力量 - this.http.get(`/api/CustomFireForce/${item.itemId}`).subscribe((data:any)=>{ - if(data.forceType != 0){//如果是其他消防力量 + this.http.get(`/api/CustomFireForce/${item.itemId}`).subscribe((data: any) => { + if (data.forceType != 0) {//如果是其他消防力量 this.postlevel = 4 - }else{ + } else { this.postlevel = data.level } - if(data.fireForceDetailInfo && data.fireForceDetailInfo.location){ + if (data.fireForceDetailInfo && data.fireForceDetailInfo.location) { this.fireForceDetailInfo = data.fireForceDetailInfo this.showtype = 13 - }else if(!data.fireForceDetailInfo){ + } else if (!data.fireForceDetailInfo) { //提示 该提交内容为空,从未保存过,请驳回该审核 this.showtype = 666 } else { - data.fireForceDetailInfo.location={x:null,y:null} + data.fireForceDetailInfo.location = { x: null, y: null } this.fireForceDetailInfo = data.fireForceDetailInfo this.showtype = 13 } - + }) - }else if(item.contentType == 14){ + } else if (item.contentType == 14) { //联动力量 - this.http.get(`/api/LinkageForces/${item.itemId}`).subscribe((data:any)=>{ + this.http.get(`/api/LinkageForces/${item.itemId}`).subscribe((data: any) => { - data.location ? null : data.location={x:null,y:null} + data.location ? null : data.location = { x: null, y: null } this.LinkageForceDetailInfo = data this.showtype = 14 }) - }else{ - this.http.get(`/api/PlanComponents/${item.itemId}`).subscribe((data:any)=>{ - this.companyId=data.companyId - this.companyName=data.companyName - if(data.planType!=2&&data.planType!=1){ - this.fetchUrl=data.attachmentUrls[0] - var index=this.fetchUrl.indexOf("\/") - if(this.fetchUrl.substr(0,index)=='psw'){ - this.showtype=1 - var obj=document.getElementById('viewer') - if(obj!=null){ - obj.innerHTML='' + } else { + this.http.get(`/api/PlanComponents/${item.itemId}`).subscribe((data: any) => { + this.companyId = data.companyId + this.companyName = data.companyName + if (data.planType != 2 && data.planType != 1) { + this.fetchUrl = data.attachmentUrls[0] + var index = this.fetchUrl.indexOf("\/") + if (this.fetchUrl.substr(0, index) == 'psw') { + this.showtype = 1 + var obj = document.getElementById('viewer') + if (obj != null) { + obj.innerHTML = '' } - window.setTimeout(()=>{ + window.setTimeout(() => { this.viewer = new Viewer({ container: document.querySelector('#viewer'), - panorama:'/api/Objects/PlanPlatform/'+ this.fetchUrl, - + panorama: '/api/Objects/PlanPlatform/' + this.fetchUrl, + }); }) - - }else{ + + } else { this.lookWord() } - }else{ - this.organizationName=item.organizationName + } else { + this.organizationName = item.organizationName this.planData = data this.handleData() return - + //this.src=`/planAudit/planpass?id=${data.companyId}&companyName=${data.companyName}&auditPlanId=${data.id}&auditStatus=${data.auditStatus}&planType=1` //this.iframeSrc=this.sanitizer.bypassSecurityTrustResourceUrl(this.src); //window.open(`/planAudit/planpass?id=${data.companyId}&companyName=${data.companyName}&auditPlanId=${data.id}&auditStatus=${data.auditStatus}&planType=1`) } - - + + }) } - - - if(e.checked){ + if (e.checked) { this.shenheTable.push(item) } - else{ - for(var i=0;i{ - filename=data.fileName - let json={ - doc: { - docId: docId, - title: filename, - //title: filename, - fetchUrl: `http://${location.host}/api/Objects/PlanPlatform/`+this.fetchUrl - }, - user: { - uid: identityJsonparse.sub, - nickName: identityJsonparse.name, - avatar: "", - privilege: [ - 'FILE_READ','FILE_DOWNLOAD', 'FILE_PRINT' - ], - }, - } - var stringjson=JSON.stringify(json) - var wordArray = CryptoJS.enc.Utf8.parse(stringjson); - var base64 = CryptoJS.enc.Base64.stringify(wordArray); - this.src=`http://121.5.10.84:80/apps/editor/openPreview?data=${base64}` - this.iframeSrc=this.sanitizer.bypassSecurityTrustResourceUrl(this.src); - //window.open(`http://121.5.10.84:80/apps/editor/openPreview?data=${base64}`) - }) + let identityJsonparse = JSON.parse(identityJson) + let filename: string + this.http.get(`/api/ObjectMetadata/PlanPlatform/${this.fetchUrl}`).subscribe((data: any) => { + filename = data.fileName + let json = { + doc: { + docId: docId, + title: filename, + //title: filename, + fetchUrl: `http://${location.host}/api/Objects/PlanPlatform/` + this.fetchUrl + }, + user: { + uid: identityJsonparse.sub, + nickName: identityJsonparse.name, + avatar: "", + privilege: [ + 'FILE_READ', 'FILE_DOWNLOAD', 'FILE_PRINT' + ], + }, + } + var stringjson = JSON.stringify(json) + var wordArray = CryptoJS.enc.Utf8.parse(stringjson); + var base64 = CryptoJS.enc.Base64.stringify(wordArray); + this.src = `http://121.5.10.84:80/apps/editor/openPreview?data=${base64}` + this.iframeSrc = this.sanitizer.bypassSecurityTrustResourceUrl(this.src); + }) } //查看按钮跳转 - lookNew(){ + lookNew() { window.open(this.src) } @@ -303,36 +317,36 @@ export class WaitExamineerComponent implements OnInit { thirdPartyURL planType twoOrthree - handleData () { - this.compantData={name:'',buildingTypes:[],address:''} + handleData() { + this.compantData = { name: '', buildingTypes: [], address: '' } this.planType = this.planData.planMode let data = this.planData - if(data.planType==1){ - this.twoOrthree=2 - }else if(data.planType==2){ - this.twoOrthree=3 + if (data.planType == 1) { + this.twoOrthree = 2 + } else if (data.planType == 2) { + this.twoOrthree = 3 } - if (this.planData.planMode==0) { //预案planMode=0时, 查看word + if (this.planData.planMode == 0) { //预案planMode=0时, 查看word //this.lookWord() - } else if (this.planData.planMode==1) { //预案planMode=1时, 解析文档 + } else if (this.planData.planMode == 1) { //预案planMode=1时, 解析文档 - } else if (this.planData.planMode==2) { //预案planMode=2时, 跳查看页面组件 - this.showtype=2 - this.http.get(`/api/Plans/${data.companyId}`).subscribe((data:any)=>{ - data && data.company? this.compantData = data.company : null + } else if (this.planData.planMode == 2) { //预案planMode=2时, 跳查看页面组件 + this.showtype = 2 + this.http.get(`/api/Plans/${data.companyId}`).subscribe((data: any) => { + data && data.company ? this.compantData = data.company : null }) - sessionStorage.setItem("buildingTypeId", this.compantData.buildingTypes.length? this.compantData.buildingTypes[0].id: undefined); - sessionStorage.setItem("companyId",this.companyId); - sessionStorage.setItem("planId",this.itemid); - sessionStorage.setItem("editable",'0'); - sessionStorage.setItem("planName",data.name) + sessionStorage.setItem("buildingTypeId", this.compantData.buildingTypes.length ? this.compantData.buildingTypes[0].id : undefined); + sessionStorage.setItem("companyId", this.companyId); + sessionStorage.setItem("planId", this.itemid); + sessionStorage.setItem("editable", '0'); + sessionStorage.setItem("planName", data.name) let companyId = sessionStorage.getItem("companyId") - this.thirdPartyURL=this.sanitizer.bypassSecurityTrustResourceUrl(`/keyUnit/viewunitinfoplans?id=${companyId}`); + this.thirdPartyURL = this.sanitizer.bypassSecurityTrustResourceUrl(`/keyUnit/viewunitinfoplans?id=${companyId}`); //window.open(`/keyUnit/viewunitinfoplan?id=${companyId}`) - } else if (this.planData.planMode==3) { //预案planMode=3时, 第三方网址' - this.showtype=2 - this.http.get(`/api/Plans/${data.companyId}`).subscribe((data:any)=>{ - data && data.company? this.compantData = data.company : null + } else if (this.planData.planMode == 3) { //预案planMode=3时, 第三方网址' + this.showtype = 2 + this.http.get(`/api/Plans/${data.companyId}`).subscribe((data: any) => { + data && data.company ? this.compantData = data.company : null }) //this.dialog.open(show3D,{width:'1350px',height:'700px',data:{url:data.url}}); //打开图片弹窗 this.thirdPartyURL = this.sanitizer.bypassSecurityTrustResourceUrl(data.url) @@ -341,46 +355,51 @@ export class WaitExamineerComponent implements OnInit { } //打开三维预案弹窗 - oopen3Dshow(){ - this.dialog.open(show3D,{width:'1650px',height:'850px',data:{url:this.thirdPartyURL,twoOrthree:this.twoOrthree,radioid:this.radioid}}); + oopen3Dshow() { + this.dialog.open(show3D, { width: '1650px', height: '850px', data: { url: this.thirdPartyURL, twoOrthree: this.twoOrthree, radioid: this.radioid } }); } + + //变更数据和全部数据切换按钮 - buttonChange(){ - this.isallDate=!this.isallDate - this.previewshow=false + + buttonChange() { + this.isallDate = !this.isallDate + this.previewshow = false } + + //同意操作 - agree(){ - var agreeList=[] - var companyAgreeList=[] + agree() { + var agreeList = [] + var companyAgreeList = [] const config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 - if(this.shenheTable.length==0){ - this.snackBar.open('请勾选要审核的条目!','确定',config); + if (this.shenheTable.length == 0) { + this.snackBar.open('请勾选要审核的条目!', '确定', config); } - else{ - const dialogRef =this.dialog.open(remark,{width:'460px',height:'290px',data:{shenhedata:this.shenheTable,type:1,radioid:this.radioid}}); + else { + const dialogRef = this.dialog.open(remark, { width: '460px', height: '290px', data: { shenhedata: this.shenheTable, type: 1, radioid: this.radioid } }); dialogRef.afterClosed().subscribe(result => { this.shenheTable = [] this.showtype = -1 this.getAlltabledate() }); } - + } //拒绝操作 - refuse(){ + refuse() { const config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 var refuseList = [] - var companyrefuseList=[] - if(this.shenheTable.length==0){ - this.snackBar.open('请选择要审核的预案!','确定',config); + var companyrefuseList = [] + if (this.shenheTable.length == 0) { + this.snackBar.open('请选择要审核的预案!', '确定', config); } - else{ - const dialogRef =this.dialog.open(remark,{width:'460px',height:'290px',data:{shenhedata:this.shenheTable,type:2,radioid:this.radioid}}); + else { + const dialogRef = this.dialog.open(remark, { width: '460px', height: '290px', data: { shenhedata: this.shenheTable, type: 2, radioid: this.radioid } }); dialogRef.afterClosed().subscribe(result => { this.shenheTable = [] this.showtype = -1 @@ -391,139 +410,139 @@ export class WaitExamineerComponent implements OnInit { } //分数饼状图 - bar(){ + bar() { var ec = echarts as any; - this.indexbar=ec.init(document.getElementById('indexbar'),'light'); + this.indexbar = ec.init(document.getElementById('indexbar'), 'light'); var option = { tooltip: { - trigger: 'item', - formatter: '{a}
    {b}: {c} ({d}%)' + trigger: 'item', + formatter: '{a}
    {b}: {c} ({d}%)' }, title: { text: '总分', left: 'center', - bottom:70, - textStyle:{ - color:'#FFFFFF', - fontSize:16 + bottom: 70, + textStyle: { + color: '#FFFFFF', + fontSize: 16 } - }, + }, series: [ - { - name: '分数', - type: 'pie', - radius: ['50%', '70%'], - bottom:50, - avoidLabelOverlap: false, - label: { - show: true, - position: 'center', - fontSize:16, - color:'#FFFFFF' - }, - - labelLine: { - show: false - }, - data: [ - {value: 93, name: '93分', itemStyle:{color:'#2196F3'}}, - {value:7, itemStyle:{color:'#FFFFFF'}} - ] - } + { + name: '分数', + type: 'pie', + radius: ['50%', '70%'], + bottom: 50, + avoidLabelOverlap: false, + label: { + show: true, + position: 'center', + fontSize: 16, + color: '#FFFFFF' + }, + + labelLine: { + show: false + }, + data: [ + { value: 93, name: '93分', itemStyle: { color: '#2196F3' } }, + { value: 7, itemStyle: { color: '#FFFFFF' } } + ] + } ] - }; - this.indexbar.setOption(option); + }; + this.indexbar.setOption(option); } //分数柱状图 - zhu(){ + zhu() { var ec = echarts as any; - this.indexzhu=ec.init(document.getElementById('zhu'),'light'); - var option={ + this.indexzhu = ec.init(document.getElementById('zhu'), 'light'); + var option = { grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true - }, - xAxis: { + }, + xAxis: { type: 'value', - show:false, - axisLine:{ - show:false + show: false, + axisLine: { + show: false }, - splitLine:{ - show:false + splitLine: { + show: false }, - axisTick:{ - show:false + axisTick: { + show: false }, - }, - yAxis: { + }, + yAxis: { type: 'category', - axisTick:{ - show:false + axisTick: { + show: false }, - axisLine:{ - show:false + axisLine: { + show: false }, - axisLabel:{ - color:"#FFFFFF", - fontSize:16 + axisLabel: { + color: "#FFFFFF", + fontSize: 16 }, - data: ['实战演练记录', '六熟悉记录', '上传CAD', '实景图', '功能分区', '重点单位', '消防设施','四周毗邻','基本信息'] - }, - series: [ + data: ['实战演练记录', '六熟悉记录', '上传CAD', '实景图', '功能分区', '重点单位', '消防设施', '四周毗邻', '基本信息'] + }, + series: [ { - - type: 'bar', - stack: '总量', - showBackground: true, - backgroundStyle: { - color: '#FFFFFF' - }, - label: { - show: true, - position: 'inside', - fontSize:14, - formatter: '{c}分' - }, - data: [ - {value:18, itemStyle:{color:'#58D091'}}, - {value:16, itemStyle:{color:'#58D091'}}, - {value:19, itemStyle:{color:'#58D091'}}, - {value:16, itemStyle:{color:'#58D091'}}, - {value:16, itemStyle:{color:'#58D091'}}, - {value:13, itemStyle:{color:'#FFCC00'}}, - {value:6, itemStyle:{color:'#FF4D4D'}}, - {value:19, itemStyle:{color:'#58D091'}}, - {value:16, itemStyle:{color:'#58D091'}}, - ] + + type: 'bar', + stack: '总量', + showBackground: true, + backgroundStyle: { + color: '#FFFFFF' + }, + label: { + show: true, + position: 'inside', + fontSize: 14, + formatter: '{c}分' + }, + data: [ + { value: 18, itemStyle: { color: '#58D091' } }, + { value: 16, itemStyle: { color: '#58D091' } }, + { value: 19, itemStyle: { color: '#58D091' } }, + { value: 16, itemStyle: { color: '#58D091' } }, + { value: 16, itemStyle: { color: '#58D091' } }, + { value: 13, itemStyle: { color: '#FFCC00' } }, + { value: 6, itemStyle: { color: '#FF4D4D' } }, + { value: 19, itemStyle: { color: '#58D091' } }, + { value: 16, itemStyle: { color: '#58D091' } }, + ] }, { - - type: 'bar', - stack: '总量', - label: { - show: false, - position: 'insideRight' - }, - data: [2, 4, 1, 4, 4, 7, 14,1,4], - itemStyle:{ - color:"#FFFFFF", - }, + + type: 'bar', + stack: '总量', + label: { + show: false, + position: 'insideRight' + }, + data: [2, 4, 1, 4, 4, 7, 14, 1, 4], + itemStyle: { + color: "#FFFFFF", + }, }, - - ] + + ] } this.indexzhu.setOption(option); } - preview(){ - this.previewshow=!this.previewshow - if(this.previewshow){ - window.setTimeout(()=>{ + preview() { + this.previewshow = !this.previewshow + if (this.previewshow) { + window.setTimeout(() => { this.bar() this.zhu() - },0) + }, 0) } } @@ -535,10 +554,10 @@ export class WaitExamineerComponent implements OnInit { templateUrl: './show3D.html', styleUrls: ['./wait-examineer.component.scss'] }) -export class show3D{ - constructor(private sanitizer: DomSanitizer,public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data,public dialog: MatDialog) {} +export class show3D { + constructor(private sanitizer: DomSanitizer, public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data, public dialog: MatDialog) { } ngOnInit(): void { - this.threedUrl=this.sanitizer.bypassSecurityTrustResourceUrl(this.data.url.changingThisBreaksApplicationSecurity) + this.threedUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.data.url.changingThisBreaksApplicationSecurity) } threedUrl } @@ -549,211 +568,211 @@ export class show3D{ templateUrl: './remark.html', styleUrls: ['./wait-examineer.component.scss'] }) -export class remark{ - constructor(private http:HttpClient,private sanitizer: DomSanitizer,public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data,public dialog: MatDialog,public snackBar: MatSnackBar) {} +export class remark { + constructor(private http: HttpClient, private sanitizer: DomSanitizer, public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data, public dialog: MatDialog, public snackBar: MatSnackBar) { } ngOnInit(): void { - this.shenheTable=this.data.shenhedata - this.radioid=this.data.radioid + this.shenheTable = this.data.shenhedata + this.radioid = this.data.radioid } - companyrefuseList=[] - refuseList=[] - shenheTable=[] - companyAgreeList=[] - agreeList=[] + companyrefuseList = [] + refuseList = [] + shenheTable = [] + companyAgreeList = [] + agreeList = [] remark radioid //取消 - close(){ + close() { this.dialogRef.close() } //确定 - define(){ + define() { const config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 - if(this.data.type==1){ + if (this.data.type == 1) { //同意操作 // console.log(this.shenheTable) //单个审核 - if(this.shenheTable.length == 1){ - //重点单位审核 - if(this.shenheTable[0].contentType == 11){ - let body:any = { - id:this.shenheTable[0].id, - itemId:this.shenheTable[0].itemId, - verifyState:4, - contentType:11, - remark:this.remark||'', - title:this.shenheTable[0].title+'基本信息' - } - this.http.put(`/api/ContentVerifies`,body).subscribe(data=>{ - this.snackBar.open('操作成功!','确定',config); - this.dialogRef.close() - //this.getAlltabledate() - }) - }else if(this.shenheTable[0].contentType == 12 || this.shenheTable[0].contentType == 13 || this.shenheTable[0].contentType == 14){ - let body:any = { - id:this.shenheTable[0].id, - itemId:this.shenheTable[0].itemId, - verifyState:4, - contentType:this.shenheTable[0].contentType, - remark:this.remark||'', - title:this.shenheTable[0].title - } - this.http.put(`/api/ContentVerifies`,body).subscribe(data=>{ - this.snackBar.open('操作成功!','确定',config); - this.dialogRef.close() - }) - }else{ - //预案审核 - if(this.shenheTable[0].verifyState==0){ - let body:any={ - auditStatus:16, - auditOpinion:this.remark||'' + if (this.shenheTable.length == 1) { + //重点单位审核 + if (this.shenheTable[0].contentType == 11) { + let body: any = { + id: this.shenheTable[0].id, + itemId: this.shenheTable[0].itemId, + verifyState: 4, + contentType: 11, + remark: this.remark || '', + title: this.shenheTable[0].title + '基本信息' } - this.http.put(`/api/PlanAudits/${this.shenheTable[0].itemId}/First`,body).subscribe(data=>{ - this.snackBar.open('操作成功!','确定',config); + this.http.put(`/api/ContentVerifies`, body).subscribe(data => { + this.snackBar.open('操作成功!', '确定', config); this.dialogRef.close() //this.getAlltabledate() }) - }else if(this.shenheTable[0].verifyState==3){ - let body:any={ - auditStatus:2, - auditOpinion:this.remark||'' + } else if (this.shenheTable[0].contentType == 12 || this.shenheTable[0].contentType == 13 || this.shenheTable[0].contentType == 14) { + let body: any = { + id: this.shenheTable[0].id, + itemId: this.shenheTable[0].itemId, + verifyState: 4, + contentType: this.shenheTable[0].contentType, + remark: this.remark || '', + title: this.shenheTable[0].title } - this.http.put(`/api/PlanAudits/${this.radioid}`,body).subscribe(data=>{ - this.snackBar.open('操作成功!','确定',config); + this.http.put(`/api/ContentVerifies`, body).subscribe(data => { + this.snackBar.open('操作成功!', '确定', config); this.dialogRef.close() - //this.getAlltabledate() }) + } else { + //预案审核 + if (this.shenheTable[0].verifyState == 0) { + let body: any = { + auditStatus: 16, + auditOpinion: this.remark || '' + } + this.http.put(`/api/PlanAudits/${this.shenheTable[0].itemId}/First`, body).subscribe(data => { + this.snackBar.open('操作成功!', '确定', config); + this.dialogRef.close() + //this.getAlltabledate() + }) + } else if (this.shenheTable[0].verifyState == 3) { + let body: any = { + auditStatus: 2, + auditOpinion: this.remark || '' + } + this.http.put(`/api/PlanAudits/${this.radioid}`, body).subscribe(data => { + this.snackBar.open('操作成功!', '确定', config); + this.dialogRef.close() + //this.getAlltabledate() + }) + } } + this.shenheTable = [] + + } - this.shenheTable=[] - - - } - //批量审核 - else{ - if(this.shenheTable[0].contentType==11||this.shenheTable[0].contentType==12){ //批量审批水源和重点单位 - for(var i=0;i{ - this.snackBar.open('操作成功!','确定',config); - this.dialogRef.close() - }) - }else{ //批量审核预案 - for(var i=0;i { + this.snackBar.open('操作成功!', '确定', config); + this.dialogRef.close() + }) + } else { //批量审核预案 + for (var i = 0; i < this.shenheTable.length; i++) { + var cart = { + planComponentId: this.shenheTable[i].itemId, + auditStatus: this.shenheTable[i].verifyState == 3 ? 2 : 16, + auditOpinion: this.remark || '' + } + this.agreeList.push(cart) } - this.agreeList.push(cart) + this.http.put(`/api/PlanAudits/Batch`, this.agreeList).subscribe(data => { + this.snackBar.open('操作成功!', '确定', config); + this.dialogRef.close() + }) } - this.http.put(`/api/PlanAudits/Batch`,this.agreeList).subscribe(data=>{ - this.snackBar.open('操作成功!','确定',config); - this.dialogRef.close() - }) + this.shenheTable = [] } - this.shenheTable=[] - } } - else{ + else { //单个审核拒绝 - if(this.shenheTable.length==1){ - //重点单位审核拒绝 - if(this.shenheTable[0].contentType == 11){ - let body:any = { - id:this.shenheTable[0].id, - itemId:this.shenheTable[0].itemId, - verifyState:5, - contentType:11, - remark:this.remark, - title:this.shenheTable[0].title+'基本信息' - } - this.http.put(`/api/ContentVerifies`,body).subscribe(data=>{ - this.snackBar.open('操作成功!','确定',config); - this.dialogRef.close() - //this.getAlltabledate() - }) - }else if(this.shenheTable[0].contentType == 12 || this.shenheTable[0].contentType == 13 || this.shenheTable[0].contentType == 14){ - let body:any = { - id:this.shenheTable[0].id, - itemId:this.shenheTable[0].itemId, - verifyState:5, - contentType:this.shenheTable[0].contentType, - remark:this.remark, - title:this.shenheTable[0].title - } - this.http.put(`/api/ContentVerifies`,body).subscribe(data=>{ - this.snackBar.open('操作成功!','确定',config); - this.dialogRef.close() - }) - }else{ - //预案审核拒绝 - if(this.shenheTable[0].verifyState==0){ - let refbody={ - auditOpinion:this.remark, - auditStatus:32 + if (this.shenheTable.length == 1) { + //重点单位审核拒绝 + if (this.shenheTable[0].contentType == 11) { + let body: any = { + id: this.shenheTable[0].id, + itemId: this.shenheTable[0].itemId, + verifyState: 5, + contentType: 11, + remark: this.remark, + title: this.shenheTable[0].title + '基本信息' } - this.http.put(`/api/PlanAudits/${this.shenheTable[0].itemId}/First`,refbody).subscribe(data=>{ - this.snackBar.open('操作成功!','确定',config); + this.http.put(`/api/ContentVerifies`, body).subscribe(data => { + this.snackBar.open('操作成功!', '确定', config); this.dialogRef.close() + //this.getAlltabledate() }) - }else if(this.shenheTable[0].verifyState==3){ - let refbody={ - auditOpinion:this.remark, - auditStatus:4 + } else if (this.shenheTable[0].contentType == 12 || this.shenheTable[0].contentType == 13 || this.shenheTable[0].contentType == 14) { + let body: any = { + id: this.shenheTable[0].id, + itemId: this.shenheTable[0].itemId, + verifyState: 5, + contentType: this.shenheTable[0].contentType, + remark: this.remark, + title: this.shenheTable[0].title } - this.http.put(`/api/PlanAudits/${this.radioid}`,refbody).subscribe(data=>{ - this.snackBar.open('操作成功!','确定',config); + this.http.put(`/api/ContentVerifies`, body).subscribe(data => { + this.snackBar.open('操作成功!', '确定', config); this.dialogRef.close() }) + } else { + //预案审核拒绝 + if (this.shenheTable[0].verifyState == 0) { + let refbody = { + auditOpinion: this.remark, + auditStatus: 32 + } + this.http.put(`/api/PlanAudits/${this.shenheTable[0].itemId}/First`, refbody).subscribe(data => { + this.snackBar.open('操作成功!', '确定', config); + this.dialogRef.close() + }) + } else if (this.shenheTable[0].verifyState == 3) { + let refbody = { + auditOpinion: this.remark, + auditStatus: 4 + } + this.http.put(`/api/PlanAudits/${this.radioid}`, refbody).subscribe(data => { + this.snackBar.open('操作成功!', '确定', config); + this.dialogRef.close() + }) + } } + this.shenheTable = [] + } - this.shenheTable=[] - - } - //批量审核 - else{ - if(this.shenheTable[0].contentType==11||this.shenheTable[0].contentType==12){ //批量审批水源和重点单位 - for(var i=0;i{ - this.snackBar.open('操作成功!','确定',config); - this.dialogRef.close() - }) - }else{ - for(var i=0;i { + this.snackBar.open('操作成功!', '确定', config); + this.dialogRef.close() + }) + } else { + for (var i = 0; i < this.shenheTable.length; i++) { + var carts = { + planComponentId: this.shenheTable[i].itemId, + auditStatus: this.shenheTable[i].verifyState == 3 ? 4 : 32, + auditOpinion: this.remark + } + this.refuseList.push(carts) } - this.refuseList.push(carts) + this.http.put(`/api/PlanAudits/Batch`, this.refuseList).subscribe(data => { + this.snackBar.open('操作成功!', '确定', config); + this.dialogRef.close() + }) } - this.http.put(`/api/PlanAudits/Batch`,this.refuseList).subscribe(data=>{ - this.snackBar.open('操作成功!','确定',config); - this.dialogRef.close() - }) + this.shenheTable = [] + } - this.shenheTable=[] - - } } } } \ No newline at end of file diff --git a/src/app/plan-management/entry-plan/entry-plan.component.html b/src/app/plan-management/entry-plan/entry-plan.component.html index ff40734..274a12b 100644 --- a/src/app/plan-management/entry-plan/entry-plan.component.html +++ b/src/app/plan-management/entry-plan/entry-plan.component.html @@ -160,9 +160,9 @@
    - {{(element.company.companyIntegrityScore.basicInfoScore * 5).toFixed(1)}}分 + {{(element.company.companyIntegrityScore.basicInfoScore * 5).toFixed(1)}}%
    -
    5分
    +
    5%
  • 建筑信息
    @@ -170,9 +170,9 @@
    - {{(element.company.companyIntegrityScore.buildingInfoScore * 10).toFixed(1)}}分 + {{(element.company.companyIntegrityScore.buildingInfoScore * 10).toFixed(1)}}%
  • -
    10分
    +
    10%
  • 平面图
    @@ -180,9 +180,9 @@
    - {{(element.company.companyIntegrityScore.planImageScore * 10).toFixed(1)}}分 + {{(element.company.companyIntegrityScore.planImageScore * 10).toFixed(1)}}%
  • -
    10分
    +
    10%
  • 四周毗邻
    @@ -190,9 +190,9 @@
    - {{(element.company.companyIntegrityScore.adjoinScore * 10).toFixed(1)}}分 + {{(element.company.companyIntegrityScore.adjoinScore * 10).toFixed(1)}}%
  • -
    10分
    +
    10%
  • 消防设施
    @@ -200,9 +200,9 @@
    - {{(element.company.companyIntegrityScore.facilityScore * 25).toFixed(1)}}分 + {{(element.company.companyIntegrityScore.facilityScore * 25).toFixed(1)}}%
  • -
    25分
    +
    25%
  • 重点部位
    @@ -210,9 +210,9 @@
    - {{(element.company.companyIntegrityScore.importantLocationScore * 10).toFixed(1)}}分 + {{(element.company.companyIntegrityScore.importantLocationScore * 10).toFixed(1)}}%
  • -
    10分
    +
    10%
  • 功能分区
    @@ -220,9 +220,9 @@
    - {{(element.company.companyIntegrityScore.functionalDivisionScore * 10).toFixed(1)}}分 + {{(element.company.companyIntegrityScore.functionalDivisionScore * 10).toFixed(1)}}%
  • -
    10分
    +
    10%
  • 实景图
    @@ -230,9 +230,9 @@
    - {{(element.company.companyIntegrityScore.realityImageScore * 10).toFixed(1)}}分 + {{(element.company.companyIntegrityScore.realityImageScore * 10).toFixed(1)}}%
  • -
    10分
    +
    10%
  • CAD上传
    @@ -240,9 +240,9 @@
    - {{(element.company.companyIntegrityScore.cadScore * 10).toFixed(1)}}分 + {{(element.company.companyIntegrityScore.cadScore * 10).toFixed(1)}}% -
    10分
    +
    10%
  • diff --git a/src/app/plan-management/maintain-up/maintain-up.component.html b/src/app/plan-management/maintain-up/maintain-up.component.html index c24c072..c489c17 100644 --- a/src/app/plan-management/maintain-up/maintain-up.component.html +++ b/src/app/plan-management/maintain-up/maintain-up.component.html @@ -156,9 +156,9 @@
    - {{(element.companyIntegrityScore.basicInfoScore * 5).toFixed(1)}}分 + {{(element.companyIntegrityScore.basicInfoScore * 5).toFixed(1)}}% -
    5分
    +
    5%
  • 建筑信息
    @@ -166,9 +166,9 @@
    - {{(element.companyIntegrityScore.buildingInfoScore * 10).toFixed(1)}}分 + {{(element.companyIntegrityScore.buildingInfoScore * 10).toFixed(1)}}% -
    10分
    +
    10%
  • 平面图
    @@ -176,9 +176,9 @@
    - {{(element.companyIntegrityScore.planImageScore * 10).toFixed(1)}}分 + {{(element.companyIntegrityScore.planImageScore * 10).toFixed(1)}}% -
    10分
    +
    10%
  • 四周毗邻
    @@ -186,9 +186,9 @@
    - {{(element.companyIntegrityScore.adjoinScore * 10).toFixed(1)}}分 + {{(element.companyIntegrityScore.adjoinScore * 10).toFixed(1)}}% -
    10分
    +
    10%
  • 消防设施
    @@ -196,9 +196,9 @@
    - {{(element.companyIntegrityScore.facilityScore * 25).toFixed(1)}}分 + {{(element.companyIntegrityScore.facilityScore * 25).toFixed(1)}}% -
    25分
    +
    25%
  • 重点部位
    @@ -206,9 +206,9 @@
    - {{(element.companyIntegrityScore.importantLocationScore * 10).toFixed(1)}}分 + {{(element.companyIntegrityScore.importantLocationScore * 10).toFixed(1)}}% -
    10分
    +
    10%
  • 功能分区
    @@ -216,9 +216,9 @@
    - {{(element.companyIntegrityScore.functionalDivisionScore * 10).toFixed(1)}}分 + {{(element.companyIntegrityScore.functionalDivisionScore * 10).toFixed(1)}}% -
    10分
    +
    10%
  • 实景图
    @@ -226,9 +226,9 @@
    - {{(element.companyIntegrityScore.realityImageScore * 10).toFixed(1)}}分 + {{(element.companyIntegrityScore.realityImageScore * 10).toFixed(1)}}% -
    10分
    +
    10%
  • CAD上传
    @@ -236,9 +236,9 @@
    - {{(element.companyIntegrityScore.cadScore * 10).toFixed(1)}}分 + {{(element.companyIntegrityScore.cadScore * 10).toFixed(1)}}% -
    10分
    +
    10%
  • diff --git a/src/app/tabbar/tabbar.component.html b/src/app/tabbar/tabbar.component.html index f68cd34..0632811 100644 --- a/src/app/tabbar/tabbar.component.html +++ b/src/app/tabbar/tabbar.component.html @@ -20,9 +20,9 @@
    - {{(companyIntegrityScore.basicInfoScore * 5).toFixed(1)}}分 + {{(companyIntegrityScore.basicInfoScore * 5).toFixed(1)}}% -
    5分
    +
    5%
  • 建筑信息
    @@ -30,9 +30,9 @@
    - {{(companyIntegrityScore.buildingInfoScore * 10).toFixed(1)}}分 + {{(companyIntegrityScore.buildingInfoScore * 10).toFixed(1)}}% -
    10分
    +
    10%
  • 平面图
    @@ -40,9 +40,9 @@
    - {{(companyIntegrityScore.planImageScore * 10).toFixed(1)}}分 + {{(companyIntegrityScore.planImageScore * 10).toFixed(1)}}% -
    10分
    +
    10%
  • 四周毗邻
    @@ -50,9 +50,9 @@
    - {{(companyIntegrityScore.adjoinScore * 10).toFixed(1)}}分 + {{(companyIntegrityScore.adjoinScore * 10).toFixed(1)}}% -
    10分
    +
    10%
  • 消防设施
    @@ -60,9 +60,9 @@
    - {{(companyIntegrityScore.facilityScore * 25).toFixed(1)}}分 + {{(companyIntegrityScore.facilityScore * 25).toFixed(1)}}% -
    25分
    +
    25%
  • 重点部位
    @@ -70,9 +70,9 @@
    - {{(companyIntegrityScore.importantLocationScore * 10).toFixed(1)}}分 + {{(companyIntegrityScore.importantLocationScore * 10).toFixed(1)}}% -
    10分
    +
    10%
  • 功能分区
    @@ -80,9 +80,9 @@
    - {{(companyIntegrityScore.functionalDivisionScore * 10).toFixed(1)}}分 + {{(companyIntegrityScore.functionalDivisionScore * 10).toFixed(1)}}% -
    10分
    +
    10%
  • 实景图
    @@ -90,9 +90,9 @@
    - {{(companyIntegrityScore.realityImageScore * 10).toFixed(1)}}分 + {{(companyIntegrityScore.realityImageScore * 10).toFixed(1)}}% -
    10分
    +
    10%
  • CAD上传
    @@ -100,9 +100,9 @@
    - {{(companyIntegrityScore.cadScore * 10).toFixed(1)}}分 + {{(companyIntegrityScore.cadScore * 10).toFixed(1)}}% -
    10分
    +
    10%
  • @@ -117,12 +117,12 @@
    - 计分规则 + 信息完整度规则
    - 计分规则   - 单位基本信息部分共计100分 + 信息完整度规则   + @@ -139,47 +139,47 @@ 单位名称 - 5 + 5% 按填录入内容评判 建筑信息 - 10 + 10% 根据创建的建筑个数平分该分值,每个建筑根据实际填写的完整度再进行评判 四周毗邻 - 10 + 10% 按4个方向均分,每个方向的属性信息要填写完整才能得分 消防设施 - 25 + 25% 消防水源占30%     安全疏散占30%
    消防水系统占30%     内部消防力量占10% 重点部位 - 10 + 10% 根据耐火等级做区分:一级:添加3个重点部位(1个50%,2个80%,3个满分)二级:添加2个重点部位(一个占50%)三级 添加1个重点部位 其它:填写重点提示自动满分 功能分区 - 10 + 10% 创建2条并填写完整得满分 实景图 - 10 + 10% 外观,保证有2张照片(占30%); 室内,保证有2张照片(占30%);安全出口,保证有2张照片(占40%) CAD上传 - 10 + 10% 上传2个cad文件 平面图 - 10 + 10% 总平面图1张,建筑平面图1张 diff --git a/src/app/tabbar/tabbar.component.scss b/src/app/tabbar/tabbar.component.scss index c7cee28..d19e1b6 100644 --- a/src/app/tabbar/tabbar.component.scss +++ b/src/app/tabbar/tabbar.component.scss @@ -196,7 +196,7 @@ mat-icon{ border-radius: 6px; color: #2196F3; display: inline-block; - width: 100px; + width: 128px; height:36px; text-align: center; line-height: 36px; diff --git a/src/app/ui/collection-tools-plan/addPlaneFigure.html b/src/app/ui/collection-tools-plan/addPlaneFigure.html index 5fd4ff9..344170b 100644 --- a/src/app/ui/collection-tools-plan/addPlaneFigure.html +++ b/src/app/ui/collection-tools-plan/addPlaneFigure.html @@ -12,13 +12,13 @@
    - + diff --git a/src/app/ui/collection-tools-plan/collection-tools.component.html b/src/app/ui/collection-tools-plan/collection-tools.component.html index 4efa401..86dda45 100644 --- a/src/app/ui/collection-tools-plan/collection-tools.component.html +++ b/src/app/ui/collection-tools-plan/collection-tools.component.html @@ -12,16 +12,18 @@ 多选 - 显示图例 + 显示图例 - - - + 适应缩放 @@ -37,7 +39,9 @@ - +
    @@ -46,10 +50,14 @@
    - + + +
    + -
    -
    +
    +
    @@ -57,30 +65,38 @@ keyboard_arrow_down
    -
    - +
    + - + photo_size_select_actual - + -
    +

    - keyboard_arrow_up + keyboard_arrow_up +

    edit @@ -91,7 +107,8 @@ library_books

    - keyboard_arrow_down + + keyboard_arrow_down

    @@ -110,8 +127,9 @@
    -
    +

    {{items.name}}

    @@ -123,15 +141,16 @@ - +
    + [ngClass]="{'selectImg': selectLibrary==item.name && selectImageIndex==key}" + (click)='selectImg(item,items,key)'>

    {{items.name}}

    - + @@ -141,14 +160,18 @@
    -
    +
    -
    +
    -
    +
    属性
    -
    +

    面积(平方米)

    {{canvasData.selectStorey.area}}

    详情

    @@ -157,20 +180,25 @@
    -
    +

    {{assetName}}

    宽度(像素)

    - +

    高度(像素)

    - +

    角度

    + oninput="if(value>360)value=360;if(value<0)value=0;" (input)="assetAngleIunput()" + [disabled]="!isEditPattern || (canvasAssetObj.GameMode == 0 && !pattern)"> + [(ngModel)]="sliderValue" (change)="assetAngleIunput()" + [disabled]="!isEditPattern || (canvasAssetObj.GameMode == 0 && !pattern)">
    @@ -178,15 +206,18 @@

    厚度

    + oninput="if(value>999)value=999;if(value<0)value=0;" (input)="assetThicknessIunput()" + [disabled]="!isEditPattern || (canvasAssetObj.GameMode == 0 && !pattern)"> + [(ngModel)]="sliderValueThickness" (change)="assetThicknessIunput()" + [disabled]="!isEditPattern || (canvasAssetObj.GameMode == 0 && !pattern)">

    是否高亮

    - + 选中高亮
    @@ -196,49 +227,69 @@
    -
    +
      -
    • +
    透明度 + [(ngModel)]="colorDivSliderValue" (change)="colorDivSliderChange()" + [disabled]="!isEditPattern || (canvasAssetObj.GameMode == 0 && !pattern)"> {{colorDivSliderValue}}%
    -

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

    - +

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

    +
    -

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

    - +

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

    +
    -

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

    - +

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

    +

    {{item.PropertyName}}

    - {{imagesArr.length ? imagesArr.length : 0}} / {{item.PropertyValue}} - -
    添加
    - - -
    + {{imagesArr.length ? imagesArr.length : 0}} + / {{item.PropertyValue}} + +
    添加
    + + +
    -
    +
    - + delete
    @@ -247,62 +298,76 @@

    {{item.PropertyName}}

    - + + + + + + + +

    {{item.PropertyName}}

    - - + +

    {{item.PropertyName}}

    - + + + + + + +

    {{item.PropertyName}}

    - + + + + +
    -
    +

    宽度(像素)

    - +

    高度(像素)

    - +

    角度

    + oninput="if(value>360)value=360;if(value<0)value=0;" (input)="multipleAssetAngleInput()" + [disabled]="!isEditPattern || (firstMultipleAssetData.assetData.GameMode == 0 && !pattern)"> + [(ngModel)]="multipleAsset.Angle" (change)="multipleAssetAngleInput()" + [disabled]="!isEditPattern || (firstMultipleAssetData.assetData.GameMode == 0 && !pattern)"> +
    @@ -310,9 +375,12 @@

    厚度

    + oninput="if(value>999)value=999;if(value<0)value=0;" (input)="multipleAssetThicknessInput()" + [disabled]="!isEditPattern || (firstMultipleAssetData.assetData.GameMode == 0 && !pattern)"> + [(ngModel)]="multipleAsset.Thickness" (change)="multipleAssetThicknessInput()" + [disabled]="!isEditPattern || (firstMultipleAssetData.assetData.GameMode == 0 && !pattern)"> +
    @@ -322,31 +390,43 @@
    -
    +
      -
    • +
    透明度 + [(ngModel)]="colorDivSliderValue" (change)="multipleColorDivSliderChange()" + [disabled]="!isEditPattern || (firstMultipleAssetData.assetData.GameMode == 0 && !pattern)"> + {{colorDivSliderValue}}%
    -

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

    - +

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

    +
    -

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

    - +

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

    +
    -

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

    - +

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

    +

    {{item.PropertyName}}

    - - + +

    {{item.PropertyName}}

    - + + + + + + +

    {{item.PropertyName}}

    - + + + + +
    diff --git a/src/app/ui/collection-tools-plan/collection-tools.component.ts b/src/app/ui/collection-tools-plan/collection-tools.component.ts index 285f5b4..d1531e2 100644 --- a/src/app/ui/collection-tools-plan/collection-tools.component.ts +++ b/src/app/ui/collection-tools-plan/collection-tools.component.ts @@ -17,6 +17,8 @@ import { TabbarAndScoreService } from 'src/app/http-interceptors/tabbar-and-scor import { MaskLayerService } from 'src/app/mask-layer.service'; import * as ObjectID from 'bson-objectid'; import { AxMessageSystem } from 'src/app/working-area/model/axMessageSystem'; + +declare var AMap:any @Component({ selector: 'app-collection-tools-plan', templateUrl: './collection-tools.component.html', @@ -24,7 +26,7 @@ import { AxMessageSystem } from 'src/app/working-area/model/axMessageSystem'; }) export class CollectionToolsPlanComponent implements OnInit { - @ViewChild('canvas', { static: true }) canvas: WorkingAreaComponent; //父组件中获得子组件的引用 + @ViewChild('canvas') canvas: WorkingAreaComponent; //父组件中获得子组件的引用 constructor(public _ngZone: NgZone, private maskLayerService: MaskLayerService, private tabbarService: TabbarAndScoreService, private http: HttpClient, public dialog: MatDialog, public snackBar: MatSnackBar, private element: ElementRef, public canvasData: CanvasShareDataService, private router: Router, private route: ActivatedRoute) { } @ViewChild('nzTreeComponent', { static: false }) nzTreeComponent!: NzTreeComponent; @@ -148,30 +150,6 @@ export class CollectionToolsPlanComponent implements OnInit { } } pattern: boolean = true//默认为基本信息编辑 - - //基本信息编辑模式 - baseInfo() { - if (!this.pattern) { - this.pattern = true - this.canvasData.gameMode = GameMode.BasicInformation - this.canvasData.selectPanelPoint = new DisposalNodeData(); - this.mateDeleteCustomize() - this.getAllLibrary() - this.checkedBuildingIndex = -1 - this.getSitePlan() //总平面图一层 - } - } - - //想定作业编辑模式 - wantWork() { - if (this.pattern) { - this.pattern = false - this.canvasData.gameMode = GameMode.Assignment - this.getAllLibrary('plan') - this.getDisposalNode() - } - } - //适应缩放 adaptZoom() { this.canvas.zoomFit() @@ -180,136 +158,7 @@ export class CollectionToolsPlanComponent implements OnInit { resetZoom() { this.canvas.resetCamera2D() } - //ngzorro tree 拖拽 - nzEvent(event: NzFormatEmitEvent): void { - if (this.isDrag) { - let parentId - if (this.pos == 0) { - parentId = event.node.key - } else { - if (event.node.level == 0) { - parentId = null - } else { - parentId = event.node.origin.parentId - } - } - - - let orders = {} - let originalData = JSON.parse(JSON.stringify(this.canvasData.allDisposalNode || [])) //tree原始数据 - let targetNodeData = []//拖动移入节点的数据,用于遍历求出放在该数组的第几位 - //找到需要重新排序的数组 - if (this.pos == 0) { - originalData.forEach(item => { - if (item.parentId == event.node.key) { - targetNodeData.push(item) - } - }) - } else { - if (event.node.origin.parentId) {//如果拖动目标为非一级节点 - originalData.forEach(item => { - if (item.parentId == event.node.origin.parentId) { - targetNodeData.push(item) - } - }) - } else {//如果拖动目标为一级节点 - originalData.forEach(item => { - if (!item.parentId) { - targetNodeData.push(item) - } - }) - } - } - - - let idArr = [] - targetNodeData.forEach(i => { - idArr.push(i.id) - }) - if (this.pos == 0 && event.node.origin.children.length == 1) { - let key = event.dragNode.key - orders[key] = 0 - parentId = event.node.key - } else { - let array = [] - targetNodeData.forEach(item => { - if (item.id != event.dragNode.key) { //将拖动项先移除掉 - array.push(item) - } - }) - if (event.dragNode.isEnd[event.dragNode.isEnd.length - 1]) { //如果移入到最后一个 - array.push(event.dragNode.origin) - } else if (event.dragNode.isStart[event.dragNode.isStart.length - 1]) {//如果移入到第一个 - array.unshift(event.dragNode.origin) - } else {//如果移入中间位置 - array.splice(event.node.origin.order, 0, event.dragNode.origin) - } - array.forEach((item, key) => { - orders[item.id] = key - }) - } - - let obj = { - id: event.dragNode.origin.id, - parentId: parentId, - orders: orders - } - - this.http.put("/api/DisposalNodes/Sort", obj).subscribe(data => { - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('排序成功', '确定', config) - this.refurbishTreeData() - }) - } - } - - isDrag //是否可以拖动 - pos//放置位置 - beforeDrop = (arg: NzFormatBeforeDropEvent) => { - if (arg.dragNode.origin.isDataNode && arg.node.level === 0) {//如果为数据节点则不允许拖到一级节点 - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('数据节点不允许拖拽到一级节点', '确定', config) - this.isDrag = false - return of(false); - } else if (!arg.dragNode.origin.isDataNode && arg.node.level === 2) { - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('处置节点不允许拖拽到三级节点', '确定', config) - this.isDrag = false - return of(false); - } else { - this.isDrag = true - this.pos = arg.pos - return of(true) - } - } - //ngzorro tree 拖拽 - - //天气栏目 - weatherBtn = true - weatherBtnShow() { - this.weatherBtn = !this.weatherBtn - } - weatherBtnHidden() { - this.weatherBtn = !this.weatherBtn - } - - //底部切换按钮div - detailsAndattentBtn = true - //节点详情 - details() { - this.detailsAndattentBtn = true - } - //注意事项 - attent() { - this.detailsAndattentBtn = false - } //消防要素div边框高度调节 firecategoriesDivMouseDown(e) { @@ -347,22 +196,6 @@ export class CollectionToolsPlanComponent implements OnInit { } } - //底部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) { @@ -826,11 +659,6 @@ export class CollectionToolsPlanComponent implements OnInit { if (this.router.url.indexOf("gis") == -1) { this.getSitePlan() } - //监听数据变化后 - this.canvas.on('canvasDataChanged', () => { - // 收到数据表示共享数据发生变化 - // this.renovateTreeData(false) - }); } copyAssetData: any //存储用于复制的素材 @@ -895,7 +723,6 @@ export class CollectionToolsPlanComponent implements OnInit { //更新用于统计的数据 this.canvasData.updateBuildingData() - if (this.selectingSitePlan && this.selectingSitePlan.id) { //打开遮罩层 this.maskLayerService.sendMessage(true) @@ -1209,13 +1036,6 @@ export class CollectionToolsPlanComponent implements OnInit { }) } - //拖拽tree - drop(e) { - // console.log(1111,e) - } - drop2(e) { - // console.log(222,e) - } //创建建筑 createBuilding() { @@ -1337,7 +1157,6 @@ export class CollectionToolsPlanComponent implements OnInit { } storeyData //将建筑素材和当前楼层素材合二为一 - //处理 tree 数据结构 handleTreeData(storeyData) { @@ -1478,43 +1297,23 @@ export class CollectionToolsPlanComponent implements OnInit { this.canvas.setIconVisible(iconVisibleArr, !node.isLook) } - //计算 可视区域内宽度, 是否缩放背景图 - backGroundScale() { - // let that = this - // let dad = this.element.nativeElement.querySelector('.functionalDomainContent').clientWidth - // let dadHeight = this.element.nativeElement.querySelector('.functionalDomainContent').clientHeight - // let left = this.element.nativeElement.querySelector('.functionalDomainLeft').clientWidth - // let right = this.element.nativeElement.querySelector('.functionalDomainRight').clientWidth - // let imgWidth = dad - left - right//可视区域内 宽度 - // let img = new Image() - // img.src = this.selectingSitePlan.imageUrl; - // img.onload = function(){ - // if (img.height > dadHeight && img.width > imgWidth) { - // let width = imgWidth/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 > imgWidth) { - // that.canvas.setBackgroundScale((imgWidth/img.width)-0.005) - // return - // } - // }; - } //封装 刷新 tree 数据 async renovateTreeData(isRefresh: boolean = true) { // this.allFireElements[this.allFireElements.length-1].children = [] - isRefresh ? await this.canvas.refresh() : null - this.canvas.setNameVisible(this.basicInfo, 0) - this.canvas.setNameVisible(this.wantToWork, 1) - this.canvas.setLegendVisible(this.isShowLegend) //图例显隐 - isRefresh ? this.canvasData.isChange = false : null //服务中 数据是否改动 改为false - isRefresh ? this.isShowProperty = true : null - isRefresh ? this.isShowAttribute = true : null - + if(!this.selectingSitePlan.isGis){ + isRefresh ? await this.canvas.refresh() : null + this.canvas.setNameVisible(this.basicInfo, 0) + this.canvas.setNameVisible(this.wantToWork, 1) + this.canvas.setLegendVisible(this.isShowLegend) //图例显隐 + isRefresh ? this.canvasData.isChange = false : null //服务中 数据是否改动 改为false + isRefresh ? this.isShowProperty = true : null + isRefresh ? this.isShowAttribute = true : null + }else{ + //加载高德地图 + this.toLoadGis() + } + // let beforeOneId = this.selectingSitePlan.id || '' //当前 选中 平面图 楼层/区域 id // let companyBuildingData = JSON.parse(JSON.stringify( this.canvasData.originalcompanyBuildingData || {} )) // 当前 单位/建筑 数据 // let storeyData = JSON.parse(JSON.stringify( this.canvasData.originaleveryStoreyData || {} )) //当前 楼层 数据 @@ -1532,6 +1331,19 @@ export class CollectionToolsPlanComponent implements OnInit { // } // this.handleTreeData(storeyData) //处理tree数据结构 } + map:any + toLoadGis(){ + this.map = new AMap.Map('container', { + viewMode: '2D', // 默认使用 2D 模式,如果希望使用带有俯仰角的 3D 模式,请设置 viewMode: '3D', + zoom:11, //初始化地图层级 + center: [116.397428, 39.90923] //初始化地图中心点 + }); + } + + + + + @@ -1582,6 +1394,11 @@ export class CollectionToolsPlanComponent implements OnInit { this.sitePlanData = data this.selectingSitePlan = this.sitePlanData[0] || {} this.canvasData.selectStorey = this.sitePlanData[0] || {} //服务中 存一份数据 + if(this.sitePlanData.length != 0 && this.sitePlanData[0].isGis){ + this.isGis = true + }else{ + this.isGis = false + } this.selectSitePlanIndex = 0 Promise.all([planData]).then((res) => { @@ -1591,7 +1408,7 @@ export class CollectionToolsPlanComponent implements OnInit { }) } - //获取建筑 楼层/区域 + //获取建筑 楼层/区域 废弃 getBuildingSitePlan(item) { let params = { buildingId: item.id } // let fireData = this.getFireElements(item.buildingTypes[0].id || '') //获取建筑下 消防要素 @@ -1682,7 +1499,15 @@ export class CollectionToolsPlanComponent implements OnInit { } //点击选中 平面图 楼层/区域 时 + isGis:boolean selectSitePlan(item, index) { + console.log('点击楼层',item) + if(item.isGis){ + this.isGis = true + }else{ + this.isGis = false + } + if (this.selectSitePlanIndex != index) { this.canvasData.selectPanelPoint = new DisposalNodeData(); if (this.canvasData.isChange) { //true 数据被改动 @@ -1829,6 +1654,13 @@ export class CollectionToolsPlanComponent implements OnInit { //旋转底图 revolveImg(item) { + if(item.isGis){ + const config = new MatSnackBarConfig(); + config.verticalPosition = 'top'; + config.duration = 3000 + this.snackBar.open('gis底图不允许旋转', '确定', config); + return + } 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 => { @@ -1911,6 +1743,14 @@ export class CollectionToolsPlanComponent implements OnInit { //复制图层 平面图 楼层/区域 duplicateLayer(item) { + + if(item.isGis){ + const config = new MatSnackBarConfig(); + config.verticalPosition = 'top'; + config.duration = 3000 + this.snackBar.open('gis底图不允许复制', '确定', config); + return + } let paramsData = JSON.parse(JSON.stringify(this.canvasData.originaleveryStoreyData.data || {})) Object.keys(paramsData).forEach((key) => { if (key != '图例') { diff --git a/src/app/ui/collection-tools-plan/leftFunctionalDomain.ts b/src/app/ui/collection-tools-plan/leftFunctionalDomain.ts index 5457d7b..4fc836d 100644 --- a/src/app/ui/collection-tools-plan/leftFunctionalDomain.ts +++ b/src/app/ui/collection-tools-plan/leftFunctionalDomain.ts @@ -34,6 +34,7 @@ export class leftFunctionalDomainComponentPlan implements OnInit { let maxSize = 10*1024*1024 //10MB限制 if (e.target.files[0].size <= maxSize) { this.file = e.target.files[0] + this.selectedType = 'image' } else { const config = new MatSnackBarConfig(); config.verticalPosition = 'top'; @@ -43,17 +44,22 @@ export class leftFunctionalDomainComponentPlan implements OnInit { } } + selectedType:String //新建平面图的底图类型 gis/image + //导入GIS toGIS () { - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('功能开发测试中,即将上线','确定',config); + this.selectedType = 'gis'; + this.file = null; + (document.getElementById('uploadFile')).value = null; //清空input框缓存 + // const config = new MatSnackBarConfig(); + // config.verticalPosition = 'top'; + // config.duration = 3000 + // this.snackBar.open('功能开发测试中,即将上线','确定',config); } //提交表单创建平面图 onSubmit (e) { - if (this.file) { + if (this.file && this.selectedType == 'image') { this.maskLayerService.sendMessage(true) if (this.file.size<=5*1024*1024) { //小于5MB let formData = new FormData() @@ -145,6 +151,23 @@ export class leftFunctionalDomainComponentPlan implements OnInit { } }) } + } else if(this.selectedType == 'gis'){ + let data = { + companyId: sessionStorage.getItem('companyId'), + name: e.name, + order: this.data.order, + area:Number(e.area), + details:e.details, + enabled: true, + modifiedTime: new Date(), + imageUrl: 'null', + imageWidth: 0, + imageHeight: 0, + isGis:true + } + this.http.post('/api/SitePlans',data).subscribe(data=>{ + this.dialogRef.close('总平面图'); + }) } else { const config = new MatSnackBarConfig(); config.verticalPosition = 'top'; diff --git a/src/app/ui/collection-tools-plan/panel.scss b/src/app/ui/collection-tools-plan/panel.scss index 96ef92f..ef131fc 100644 --- a/src/app/ui/collection-tools-plan/panel.scss +++ b/src/app/ui/collection-tools-plan/panel.scss @@ -304,6 +304,10 @@ overflow: hidden; display: inline-block; } + .uploadBackGroundSelected{ + background-color: #6BC2FF; + color: #fff; + } .uploadBackGround input { position: absolute; width: 100%; diff --git a/src/app/ui/collection-tools/collection-tools.component.html b/src/app/ui/collection-tools/collection-tools.component.html index e7ad822..88f058b 100644 --- a/src/app/ui/collection-tools/collection-tools.component.html +++ b/src/app/ui/collection-tools/collection-tools.component.html @@ -300,7 +300,7 @@
    -
    +
    @@ -435,7 +435,7 @@
    -
    +
    diff --git a/src/styles.scss b/src/styles.scss index d7ec440..45e5225 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -113,6 +113,11 @@ table td.mat-footer-cell:last-of-type{ color: #333333; } } +#waitexamineergis{ + .mat-expansion-indicator::after { + color: #fff; + } +} //gis标点弹出框样式 #gispopupbox{ .btn{ @@ -221,4 +226,10 @@ td{ .mat-toolbar-row, .mat-toolbar-single-row { height: 50px!important; } +} +#firefightingdevicelook,#firefightingdevice{ + .expansionheader{ + height: auto!important; + } + } \ No newline at end of file