From 46bbbb9db791121f9db8b25fcc67ed023ae4e67f Mon Sep 17 00:00:00 2001 From: guangyin Date: Thu, 18 May 2023 16:53:24 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=8F=B3=E4=BE=A7=E5=BC=B9=E5=87=BA?= =?UTF-8?q?=E5=91=8A=E8=AD=A6=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../home/left/homeLeft.component.ts | 6 +- src/components/warningDetail.component.vue | 125 ++++++++++++++++++ src/store/index.ts | 3 + src/views/overview.component.html | 12 +- src/views/overview.component.ts | 18 ++- 5 files changed, 154 insertions(+), 10 deletions(-) create mode 100644 src/components/warningDetail.component.vue diff --git a/src/components/home/left/homeLeft.component.ts b/src/components/home/left/homeLeft.component.ts index 1d3030d..81de676 100644 --- a/src/components/home/left/homeLeft.component.ts +++ b/src/components/home/left/homeLeft.component.ts @@ -95,7 +95,7 @@ export default class HomeLeftComponent extends Vue { time:'2023年3月12日 13:56:00', address:'工厂厂房', reporter:'李四', - tableHeader:[ + /*tableHeader:[ { prop:'name', label:'摄像头名称' @@ -133,11 +133,11 @@ export default class HomeLeftComponent extends Vue { distance:'22', name:'6号摄像头', }, - ] + ]*/ },item)) } //点击告警信息 - @Emit() + @Emit('getItem') getItem(item) { // console.log('item', item) } diff --git a/src/components/warningDetail.component.vue b/src/components/warningDetail.component.vue new file mode 100644 index 0000000..762589e --- /dev/null +++ b/src/components/warningDetail.component.vue @@ -0,0 +1,125 @@ + + + diff --git a/src/store/index.ts b/src/store/index.ts index 91497c8..447cc22 100644 --- a/src/store/index.ts +++ b/src/store/index.ts @@ -34,6 +34,9 @@ export default new Vuex.Store({ setBoundsData(state,data){ state.boundsData = data; }, + upDateEventList(state:any,data){ + state.eventList = [...data,...state.eventList]; + }, }, actions: { }, diff --git a/src/views/overview.component.html b/src/views/overview.component.html index 27636e0..5b5b7d6 100644 --- a/src/views/overview.component.html +++ b/src/views/overview.component.html @@ -1,11 +1,11 @@
- +
- + @@ -16,12 +16,14 @@
- - + - + + +
diff --git a/src/views/overview.component.ts b/src/views/overview.component.ts index b413f5d..f1f8b93 100644 --- a/src/views/overview.component.ts +++ b/src/views/overview.component.ts @@ -10,6 +10,7 @@ import ViewLeftComponent from "@/components/view/left/viewLeft.component"; import ViewRightComponent from "@/components/view/right/viewRight.component"; import ManageLeftComponent from "@/components/manage/left/manageLeft.component"; import ManageRightComponent from "@/components/manage/right/manageRight.component"; +import WarningDetailComponent from "@/components/warningDetail.component.vue"; @@ -20,7 +21,8 @@ import ManageRightComponent from "@/components/manage/right/manageRight.componen ViewLeftComponent, ViewRightComponent, ManageLeftComponent, - ManageRightComponent + ManageRightComponent, + WarningDetailComponent } }) export default class OverViewComponent extends BaseComponent { @@ -28,6 +30,8 @@ export default class OverViewComponent extends BaseComponent { public currentNav = 'home'; // 当前图层 public warnTimer = {}; + //定时器 + public timer:any = {}; public currentLayers = [] as any; @@ -35,15 +39,22 @@ export default class OverViewComponent extends BaseComponent { public openLayerDrawer = false; //展示导览右侧 viewRightShow = false + //展示告警详情右侧 + waringRightShow = false // 是否隐藏除地图外所有板块 public hideAllPanel = false; public viewRightData = {}; + //告警详情 + public info = {}; public viewLayer = {} as any; async created(){ // this.currentLayers = this.getCurrentLayers(); + this.timer = setInterval(()=>{ + this.upDateEventList() + },10000) } public upDateEventList(){ const eventList = MockData.getEventList().data @@ -153,7 +164,9 @@ export default class OverViewComponent extends BaseComponent { //获取点击的信息 getItem(item) { - this.addWarnning(item) + // this.addWarnning(item) + this.info = item + this.waringRightShow = true } //进入自由导览 async showView (){ @@ -290,5 +303,6 @@ export default class OverViewComponent extends BaseComponent { if (this.player) { this.player = null } + clearInterval(this.timer) } }