From 4e3e8e427b62d5e9bfae0ddcd39710f4a6b96558 Mon Sep 17 00:00:00 2001 From: cpf <1105965053@qq.com> Date: Wed, 24 Nov 2021 09:52:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=94=E6=80=A5=E9=A2=84=E6=A1=88=E5=AE=8C?= =?UTF-8?q?=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../left-domain/left-domain.component.ts | 3 + src/app/pages/plan/plan.component.html | 4 +- src/app/pages/plan/plan.component.scss | 2 +- src/app/pages/plan/plan.component.ts | 77 ++++++++++++++----- 4 files changed, 63 insertions(+), 23 deletions(-) diff --git a/src/app/pages/left-domain/left-domain.component.ts b/src/app/pages/left-domain/left-domain.component.ts index 03a881a..8da1893 100644 --- a/src/app/pages/left-domain/left-domain.component.ts +++ b/src/app/pages/left-domain/left-domain.component.ts @@ -213,6 +213,7 @@ export class LeftDomainComponent implements OnInit { if (!MarkWindow.instance.currentMarkNodeInfo) { //未选中节点 PlanComponent.instance.beforeEmergencyPlan = item PlanComponent.instance.beforePlanNode = e + PlanComponent.instance.nzCurrent = -1 this.selectPlanId = item.id this.selectNodeId = e.id MarkWindow.instance.selectMarkNode(item.id, e.id) @@ -224,6 +225,7 @@ export class LeftDomainComponent implements OnInit { if (isTrue) { PlanComponent.instance.beforeEmergencyPlan = item PlanComponent.instance.beforePlanNode = e + PlanComponent.instance.nzCurrent = -1 this.selectPlanId = item.id this.selectNodeId = e.id MarkWindow.instance.selectMarkNode(item.id, e.id) @@ -237,6 +239,7 @@ export class LeftDomainComponent implements OnInit { if (isTrue) { PlanComponent.instance.beforeEmergencyPlan = new MarkPlanData(-99, "请选择节点") PlanComponent.instance.beforePlanNode = new MarkNodeData(-99, "请选择节点") + PlanComponent.instance.nzCurrent = -1 this.selectPlanId = null this.selectNodeId = null MarkWindow.instance.selectMarkNode(null, null) diff --git a/src/app/pages/plan/plan.component.html b/src/app/pages/plan/plan.component.html index 1a47969..0217cb3 100644 --- a/src/app/pages/plan/plan.component.html +++ b/src/app/pages/plan/plan.component.html @@ -164,12 +164,12 @@ </nz-steps> <ng-template #progressTemplate let-index="index"> <img src="../../../assets/images/stepIcon.png" style="margin-left: -100%;" *ngIf="index != beforeEmergencyPlan.nodes.length"> - <i nz-icon nzType="play-circle" nzTheme="outline" *ngIf="index === nzCurrent && index != beforeEmergencyPlan.nodes.length"></i> </ng-template> </label> <label> <i nz-icon nzType="backward" nzTheme="outline" (click)="toLast()"></i> - <i nz-icon nzType="pause" nzTheme="outline" (click)="suspend()"></i> + <i nz-icon nzType="pause" nzTheme="outline" (click)="suspend(true)" [hidden]="isSuspend"></i> + <i nz-icon nzType="play-circle" nzTheme="outline" (click)="suspend(false)" [hidden]="!isSuspend"></i> <i nz-icon nzType="border" nzTheme="outline" (click)="initialize()"></i> <i nz-icon nzType="forward" nzTheme="outline" (click)="toNext()"></i> </label> diff --git a/src/app/pages/plan/plan.component.scss b/src/app/pages/plan/plan.component.scss index 7898fd7..de97d92 100644 --- a/src/app/pages/plan/plan.component.scss +++ b/src/app/pages/plan/plan.component.scss @@ -363,7 +363,7 @@ label:nth-child(2){ flex: 1; overflow: hidden; - .anticon{ font-size: 16px; color: #23D9FF; } + //.anticon{ font-size: 16px; color: #23D9FF; } img{ height: 35px; width: auto; vertical-align: top; } } label:last-child{ diff --git a/src/app/pages/plan/plan.component.ts b/src/app/pages/plan/plan.component.ts index f4b91e4..e579706 100644 --- a/src/app/pages/plan/plan.component.ts +++ b/src/app/pages/plan/plan.component.ts @@ -346,17 +346,25 @@ export class PlanComponent implements OnInit { window.clearTimeout(this.timer) //清除定时器 } + //公用 切换选中节点 + publicToggleNode() { + this.beforePlanNode = this.beforeEmergencyPlan.nodes[this.nzCurrent] + this.leftDomain.selectPlanId = this.beforeEmergencyPlan.id + this.leftDomain.selectNodeId = this.beforePlanNode.id + MarkWindow.instance.selectMarkNode(this.beforeEmergencyPlan.id, this.beforePlanNode.id) + } + //选中 底部一级节点 开启自动播放 selectChildNode(item: MarkPlanData) { - if (this.isShowChildComponent && this.leftDomain && this.beforeEmergencyPlan != item) { + if (this.isShowChildComponent && this.leftDomain) { if (item.nodes.length) { - this.nzCurrent = 0 - this.beforeEmergencyPlan = item - this.beforePlanNode = item.nodes[0] - this.leftDomain.selectPlanId = item.id - this.leftDomain.selectNodeId = item.nodes[0].id - MarkWindow.instance.selectMarkNode(item.id, item.nodes[0].id) - this.autoPlay() + let isTrue = confirm("即将开始播放节点") + if (isTrue) { + this.nzCurrent = 0 + this.beforeEmergencyPlan = item + this.publicToggleNode() + !this.isSuspend? this.autoPlay() : null + } } else { this.message.info('暂无数据节点'); } @@ -365,8 +373,19 @@ export class PlanComponent implements OnInit { //自动播放-切换接点 autoPlay() { - let time: number - console.log(time,777) + if (this.nzCurrent === this.beforeEmergencyPlan.nodes.length - 1) { + this.nzCurrent = this.nzCurrent + 1 + this.isSuspend = false //初始化暂停状态 + window.clearTimeout(this.timer) //清除定时器 + this.message.info('已播放至最后一节点'); + return + } + let time: number = this.beforePlanNode.getShowTime() + this.timer = window.setTimeout(()=>{ + this.nzCurrent = this.nzCurrent + 1 + this.publicToggleNode() + !this.isSuspend? this.autoPlay() : null + },time) } //切换预案节点 @@ -375,31 +394,49 @@ export class PlanComponent implements OnInit { return } this.nzCurrent = event - this.beforePlanNode = this.beforeEmergencyPlan.nodes[event] - this.leftDomain.selectPlanId = this.beforeEmergencyPlan.id - this.leftDomain.selectNodeId = this.beforePlanNode.id - MarkWindow.instance.selectMarkNode(this.beforeEmergencyPlan.id, this.beforePlanNode.id) - console.log(event) + this.publicToggleNode() } //切换预案节点 上一个 toLast() { - + if (this.nzCurrent === 0) { + this.message.info('目前已经是第一节点'); + return + } + this.nzCurrent = this.nzCurrent - 1 + this.publicToggleNode() + !this.isSuspend? this.autoPlay() : null } //切换预案节点 暂停 - suspend() { - + suspend(isSuspend: boolean) { + this.isSuspend = isSuspend + let msg: string = this.isSuspend? "目前已暂停" : "目前已开始播放" + this.message.info(msg); + if (this.isSuspend) { //暂停 + window.clearTimeout(this.timer) //清除定时器 + } else { //开启 + MarkWindow.instance.selectMarkNode(this.beforeEmergencyPlan.id, this.beforePlanNode.id) + this.autoPlay() + } } //切换预案节点 初始化 initialize() { - + this.nzCurrent = 0 + this.publicToggleNode() + !this.isSuspend? this.autoPlay() : null } //切换预案节点 下一个 toNext() { - + if (this.nzCurrent === this.beforeEmergencyPlan.nodes.length - 1) { + this.message.info('目前已经是最后一个节点'); + return + } + this.nzCurrent = this.nzCurrent + 1 + this.publicToggleNode() + !this.isSuspend? this.autoPlay() : null } //选中应急预案 设备