From 6bbbc3d29b4672cc5a9335c959998091a904147c Mon Sep 17 00:00:00 2001 From: cpf <1105965053@qq.com> Date: Thu, 25 Nov 2021 15:49:12 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E4=BB=BB=E5=8A=A1=E5=BC=B9?= =?UTF-8?q?=E7=AA=97=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../babylon/view/mark-window/mark-window.ts | 2 +- src/app/pages/plan/plan.component.html | 29 ++++++ src/app/pages/plan/plan.component.ts | 90 ++++++++++++++++++- src/styles.scss | 10 +++ 4 files changed, 129 insertions(+), 2 deletions(-) diff --git a/src/app/babylon/view/mark-window/mark-window.ts b/src/app/babylon/view/mark-window/mark-window.ts index a63925d..b115025 100644 --- a/src/app/babylon/view/mark-window/mark-window.ts +++ b/src/app/babylon/view/mark-window/mark-window.ts @@ -527,7 +527,7 @@ export class MarkWindow extends UIBase { */ openProperty(markInfo: ModelInfo_mark) { if (markInfo != null) { - //ThreeDimensionalHomeComponent.instance.getSandTableNature(markInfo.markData); + PlanComponent.instance.getSandTableNature(markInfo.markData); } } diff --git a/src/app/pages/plan/plan.component.html b/src/app/pages/plan/plan.component.html index 4e0838b..5ed645a 100644 --- a/src/app/pages/plan/plan.component.html +++ b/src/app/pages/plan/plan.component.html @@ -204,6 +204,35 @@ + + +
+ + 名称 + + + + + + 任务 + + + +
    +
  • {{item.taskName}}
  • +
+
+
+
+ + 备注 + + + + +
+
+ \ No newline at end of file diff --git a/src/app/pages/plan/plan.component.ts b/src/app/pages/plan/plan.component.ts index c033142..5633852 100644 --- a/src/app/pages/plan/plan.component.ts +++ b/src/app/pages/plan/plan.component.ts @@ -20,7 +20,7 @@ import { NzMessageService } from 'ng-zorro-antd/message'; import { LeftDomainComponent } from '../left-domain/left-domain.component'; import { JYZInfoMoudleType } from 'src/app/babylon/model/data/institution/jyz-show-data'; import { AllMarkData } from 'src/app/babylon/model/data/mark/all-mark-data'; -import { MarkData } from 'src/app/babylon/model/data/mark/mark-data'; +import { MarkData, MarkTask } from 'src/app/babylon/model/data/mark/mark-data'; import { MarkWindow } from 'src/app/babylon/view/mark-window/mark-window'; import { AllMarkPlanData, MarkNodeData, MarkPlanData } from 'src/app/babylon/model/data/mark/mark-plan-data'; @@ -534,11 +534,41 @@ export class PlanComponent implements OnInit { return `${percentage * 100}%` } + contingencyPlanTask: MarkData = null; //应急预案选中 设备 + taskDialog: taskDialog = new taskDialog("", "", ""); //设备任务 深拷贝数据 + allTaskList: any[] = []; //所有任务 List + //选中应急预案 设备 selectSandTableMark(markData: MarkData, select: boolean) { MarkWindow.instance.selectMarkData(markData, select) } + //选中应急预案 设备任务窗口 + getSandTableNature(markData: MarkData) { + if (markData.property.taskType != MarkTask.None) { + this.contingencyPlanTask = markData + this.taskDialog.institution = JSON.parse(JSON.stringify(markData.property.institution || "")) + this.taskDialog.description = JSON.parse(JSON.stringify(markData.property.description || "")) + this.taskDialog.task = JSON.parse(JSON.stringify(markData.property.task || "")) + if (markData.property.taskType === MarkTask.Person) { + this.allTaskList = (new taskList()).character + } else if (markData.property.taskType === MarkTask.Car) { + this.allTaskList = (new taskList()).car + } else { + this.allTaskList = [] + } + } + } + + //提交 设备任务窗口表单 + submitTaskForm(e) { + this.contingencyPlanTask.property.institution = e.companyName + this.contingencyPlanTask.property.description = e.description + this.contingencyPlanTask.property.task = e.taskName + MarkWindow.instance.updateProperty() + this.contingencyPlanTask = null //关闭弹窗 + } + selectRightTopFast: number = 0; //当前选择功能 快捷栏 selectAdsorb: boolean = false; //吸附状态 topLevelView: boolean = false; //顶视图状态 @@ -614,6 +644,64 @@ export class PlanComponent implements OnInit { } +//设备任务窗口 数据类型 +export class taskDialog { + institution: string; //单位 + task: string; //任务 + description: string; //备注 + constructor(institution: string, task: string, description: string) { + this.institution = institution + this.task = task + this.description = description + } +} +//设备任务list +export class taskList { + character: any[] = [ + { taskName: "外部控火" }, + { taskName: "内部控火" }, + { taskName: "外部侦察" }, + { taskName: "内部侦察" }, + { taskName: "外部观察" }, + { taskName: "外部疏散救生" }, + { taskName: "询问知情人" }, + { taskName: "占领消控室" }, + { taskName: "水源引导" }, + { taskName: "断电气" }, + { taskName: "灭火" }, + { taskName: "掩护" }, + { taskName: "警戒" }, + { taskName: "破拆" }, + { taskName: "排烟" }, + { taskName: "照明" }, + { taskName: "通信" }, + { taskName: "待命" }, + ]; + car: any[] = [ + { taskName: "内攻" }, + { taskName: "出枪掩护" }, + { taskName: "出枪冷却" }, + { taskName: "出枪灭火" }, + { taskName: "供水" }, + { taskName: "供泡沫" }, + { taskName: "连接消火栓" }, + { taskName: "遥控水炮冷却" }, + { taskName: "遥控水炮灭火" }, + { taskName: "抢险救援" }, + { taskName: "救人" }, + { taskName: "指挥" }, + { taskName: "排烟" }, + { taskName: "提供器材" }, + { taskName: "照明" }, + { taskName: "供电" }, + { taskName: "待命" }, + ] + firemonitor: any[] = [ + { taskName: "遥控水炮冷却" }, + { taskName: "遥控水炮灭火" }, + { taskName: "待命" }, + ] +} //属性栏 定位 export class naturePosition { top: string = "1%" diff --git a/src/styles.scss b/src/styles.scss index 500789c..2b3311d 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -115,6 +115,16 @@ h1 { box-shadow: 0px 0px 6px #2399FF; li { color: #fff; } } +//任务弹窗 +.taskDialog{ + .ant-modal-header,.ant-modal-content { background: radial-gradient(circle, #004988 0%, #00122D 100%); } + .ant-modal-header,.ant-modal-footer { border: none; } + .ant-modal-title,.ant-form-item-label > label,.ant-input { color: #C4E2FC; } + .ant-modal-footer .ant-btn:first-child { color: #C4E2FC; background: #000D21; border: 1px solid #C4E2FC; } + .ant-modal-footer .ant-btn:last-child { color: #C4E2FC; background: rgba(0, 129, 255, 0.6); border: 1px solid #36A2FF; } + .ant-input { background: rgba(145, 204, 255, 0.41); border: 1px solid #91CCFF; } + textarea { resize: none; outline: none; } +} #threeDimensional { .ant-tree{ color: #C4E2FC; } //tree .ant-tree,.ant-tree-node-content-wrapper:hover,.ant-tree-node-content-wrapper.ant-tree-node-selected { background-color: transparent; } //tree