From 0a13e6fda201b7442a05ac9973fee925b4dc2e6d Mon Sep 17 00:00:00 2001 From: guangyin Date: Thu, 18 May 2023 17:03: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.html | 1 + .../home/left/homeLeft.component.ts | 148 +++++++++--------- src/components/warningDetail.component.vue | 3 + src/views/overview.component.html | 2 +- src/views/overview.component.ts | 8 + 5 files changed, 91 insertions(+), 71 deletions(-) diff --git a/src/components/home/left/homeLeft.component.html b/src/components/home/left/homeLeft.component.html index 769b4b1..236d06a 100644 --- a/src/components/home/left/homeLeft.component.html +++ b/src/components/home/left/homeLeft.component.html @@ -76,6 +76,7 @@ 告警列表 diff --git a/src/components/home/left/homeLeft.component.ts b/src/components/home/left/homeLeft.component.ts index 81de676..66e8d36 100644 --- a/src/components/home/left/homeLeft.component.ts +++ b/src/components/home/left/homeLeft.component.ts @@ -5,6 +5,7 @@ import WarningListComponent from "@/components/warningList.component.vue" import * as turf from '@turf/turf' import Mock from "mockjs" import moment from "moment" + import("@/assets/style/pageCommon.component.scss") @@ -23,78 +24,81 @@ export default class HomeLeftComponent extends Vue { imgSrc = require("@/assets/icons/png/env/env-title-icon.png"); currentCompany = false - popObj:any = { - popTitle:'报警记录', - type:'', + popObj: any = { + popTitle: '报警记录', + type: '', title: '风险点异常', info: '', time: '', - address:'', + address: '', level: '', - typeName:"", - reporter:"", - tel:"", - position:[], - content:"", - typeId:"", - id:'' + typeName: "", + reporter: "", + tel: "", + position: [], + content: "", + typeId: "", + id: '' } - typeList =[ + typeList = [ { - label:'气体泄露', - value:'normal', - level:2, - id:1 - },{ - label:'火灾爆炸', - value:'fire', - level:1, - id:2 - },{ - label:'气液泄露', - value:'normal', - level:1, - id:3 - },{ - label:'安全事故', - value:'normal', - level:2, - id:4 - },{ - label:'自然灾害', - value:'normal', - level:3, - id:5 + label: '气体泄露', + value: 'normal', + level: 2, + id: 1 + }, { + label: '火灾爆炸', + value: 'fire', + level: 1, + id: 2 + }, { + label: '气液泄露', + value: 'normal', + level: 1, + id: 3 + }, { + label: '安全事故', + value: 'normal', + level: 2, + id: 4 + }, { + label: '自然灾害', + value: 'normal', + level: 3, + id: 5 }, ] - get dataList(){ + + get dataList() { return this.$store.state.eventList } - setData(val,type){ - if (type === 'typeName'){ - const find = this.typeList.find(item=>item.id == val) as any + + setData(val, type) { + if (type === 'typeName') { + const find = this.typeList.find(item => item.id == val) as any this.popObj.level = find.level this.popObj.typeName = find.label this.popObj.title = find.label this.popObj.type = find.value - }else{ + } else { this.popObj[type] = val } } //展示告警信息 - showWaring(item){ + showWaring(item) { this.getItem(Object.assign({ - typeName:'人员聚集', - content:'人员踩踏事故预警', - levelName:'二级', - levelClass:'level-2-text', - levelClassIcon:'level-2', - time:'2023年3月12日 13:56:00', - address:'工厂厂房', - reporter:'李四', + typeName: '人员聚集', + content: '人员踩踏事故预警', + levelName: '二级', + levelClass: 'level-2-text', + levelClassIcon: 'level-2', + time: '2023年3月12日 13:56:00', + address: '工厂厂房', + equipment: '5号监测设备', + reporter: '李四', /*tableHeader:[ { prop:'name', @@ -134,8 +138,9 @@ export default class HomeLeftComponent extends Vue { name:'6号摄像头', }, ]*/ - },item)) + }, item)) } + //点击告警信息 @Emit('getItem') getItem(item) { @@ -157,45 +162,48 @@ export default class HomeLeftComponent extends Vue { console.log(1) } + @Emit('changeClose') changeClose() { console.log(1) } - addManual(){ + + addManual() { this.currentCompany = true this.popObj = { - popTitle:'报警记录', - type:'', + popTitle: '报警记录', + type: '', title: '风险点异常', info: '', time: '', - address:'', + address: '', level: '', - typeName:"", - reporter:"", - tel:"", - position:[], - content:"", - typeId:"", - id:'' + typeName: "", + reporter: "", + tel: "", + position: [], + content: "", + typeId: "", + id: '' } } - submitWaring(){ + + submitWaring() { this.popObj.id = Mock.mock("@id"); - if (this.popObj.type === 'normal'){ - this.popObj.position=turf.randomPosition([ + if (this.popObj.type === 'normal') { + this.popObj.position = turf.randomPosition([ 13312995.84, 4098177.2800000003, 13313096.96, 4098754.88, ]); - }else if(this.popObj.type === 'fire'){ - this.popObj.position= [13312990.72, 4098613.12, 0.51] + } else if (this.popObj.type === 'fire') { + this.popObj.position = [13312990.72, 4098613.12, 0.51] } - this.popObj.time = moment().subtract(0,"days").format("YYYY-MM-DD HH:mm:ss") + this.popObj.time = moment().subtract(0, "days").format("YYYY-MM-DD HH:mm:ss") - this.$store.commit("upDateEventList",[this.popObj]) - this.currentCompany=false + this.$store.commit("upDateEventList", [this.popObj]) + this.currentCompany = false } } diff --git a/src/components/warningDetail.component.vue b/src/components/warningDetail.component.vue index 762589e..d58d5ff 100644 --- a/src/components/warningDetail.component.vue +++ b/src/components/warningDetail.component.vue @@ -108,7 +108,10 @@ export default class WarningDetailComponent extends Vue { getHazardData(item){ this.getHazard(item) } + @Emit('changeClose') + changeClose(){ + } } diff --git a/src/views/overview.component.html b/src/views/overview.component.html index 5b5b7d6..3790c08 100644 --- a/src/views/overview.component.html +++ b/src/views/overview.component.html @@ -23,7 +23,7 @@ - + diff --git a/src/views/overview.component.ts b/src/views/overview.component.ts index f1f8b93..6a546cd 100644 --- a/src/views/overview.component.ts +++ b/src/views/overview.component.ts @@ -168,6 +168,14 @@ export default class OverViewComponent extends BaseComponent { this.info = item this.waringRightShow = true } + //定位坐标 + changePoint(item){ + this.addWarnning(item) + } + //关闭告警详情 + changeClose(){ + this.waringRightShow = false + } //进入自由导览 async showView (){ this.toggleAllPanel();