From 8aa3edd56c279100c9053576f3e90fa55459fe77 Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Mon, 16 Jan 2023 16:15:55 +0800
Subject: [PATCH] 修改
---
src/views/supervisoryConsole/data.vue | 255 +++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 207 insertions(+), 48 deletions(-)
diff --git a/src/views/supervisoryConsole/data.vue b/src/views/supervisoryConsole/data.vue
index dfb658d..5a7aecb 100644
--- a/src/views/supervisoryConsole/data.vue
+++ b/src/views/supervisoryConsole/data.vue
@@ -22,7 +22,11 @@
<div class="info-active-top">
<div class="active-list">
<div>
- <span class="dashboard_alarm ng-binding">预警</span>
+ <span
+ @click.stop="StartEquipment({ dxtype: 2 })"
+ class="dashboard_alarm ng-binding"
+ >预警</span
+ >
</div>
<div>
<span class="ng-binding">{{ yj }}</span>
@@ -31,7 +35,11 @@
</div>
<div class="active-list">
<div>
- <span class="dashboard_malfunction ng-binding">故障</span>
+ <span
+ @click.stop="StartEquipment({ dxtype: 3 })"
+ class="dashboard_malfunction ng-binding"
+ >故障</span
+ >
</div>
<div>
<span class="ng-binding">{{ gz }}</span>
@@ -42,7 +50,11 @@
<div class="info-active-bottom">
<div class="active-list">
<div>
- <span class="dashboard_normal ng-binding">正常</span>
+ <span
+ @click.stop="StartEquipment({ dxtype: 1 })"
+ class="dashboard_normal ng-binding"
+ >正常</span
+ >
</div>
<div>
<span class="ng-binding">{{ zx }}</span>
@@ -51,7 +63,11 @@
</div>
<div class="active-list">
<div>
- <span class="dashboard_inactive ng-binding">掉线</span>
+ <span
+ @click.stop="StartEquipment({ dxtype: 0 })"
+ class="dashboard_inactive ng-binding"
+ >掉线</span
+ >
</div>
<div>
<span class="ng-binding">{{ dx }}</span>
@@ -78,27 +94,121 @@
class="info-content-table"
:data="tableData"
stripe
- style="width: 100%; margin: 10px"
+ style="width: 100%; margin: 0 15px"
max-height="380px"
:resizable="false"
>
- <el-table-column prop="waringType" label="警情类型" width="100">
+ <el-table-column prop="waringType" label="警情类型" width="120">
+ <template scope="scope">
+ <span
+ v-if="scope.row.jtype == 0"
+ style="color: rgb(255, 39, 39)"
+ >{{ scope.row.waringType }}</span
+ >
+ <span
+ v-else-if="scope.row.jtype == 1"
+ style="color: rgb(21, 162, 254)"
+ >{{ scope.row.waringType }}</span
+ >
+ <span v-else>{{ scope.row.waringType }}</span>
+ </template>
</el-table-column>
<el-table-column prop="alarmTime" label="报警时间" width="180">
+ <template scope="scope">
+ <span
+ v-if="scope.row.jtype == 0"
+ style="color: rgb(255, 39, 39)"
+ >{{ scope.row.alarmTime }}</span
+ >
+ <span
+ v-else-if="scope.row.jtype == 1"
+ style="color: rgb(21, 162, 254)"
+ >{{ scope.row.alarmTime }}</span
+ >
+ <span v-else>{{ scope.row.alarmTime }}</span>
+ </template>
</el-table-column>
<el-table-column prop="oneContacts" label="主要负责人" width="160">
+ <template scope="scope">
+ <span
+ v-if="scope.row.jtype == 0"
+ style="color: rgb(255, 39, 39)"
+ >{{ scope.row.oneContacts }}</span
+ >
+ <span
+ v-else-if="scope.row.jtype == 1"
+ style="color: rgb(21, 162, 254)"
+ >{{ scope.row.oneContacts }}</span
+ >
+ <span v-else>{{ scope.row.oneContacts }}</span>
+ </template>
</el-table-column>
<el-table-column prop="onePhone" label="负责人电话" width="180">
+ <template scope="scope">
+ <span
+ v-if="scope.row.jtype == 0"
+ style="color: rgb(255, 39, 39)"
+ >{{ scope.row.onePhone }}</span
+ >
+ <span
+ v-else-if="scope.row.jtype == 1"
+ style="color: rgb(21, 162, 254)"
+ >{{ scope.row.onePhone }}</span
+ >
+ <span v-else>{{ scope.row.onePhone }}</span>
+ </template>
</el-table-column>
<el-table-column prop="galarmPeople" label="报警人" width="160">
+ <template scope="scope">
+ <span
+ v-if="scope.row.jtype == 0"
+ style="color: rgb(255, 39, 39)"
+ >{{ scope.row.galarmPeople }}</span
+ >
+ <span
+ v-else-if="scope.row.jtype == 1"
+ style="color: rgb(21, 162, 254)"
+ >{{ scope.row.galarmPeople }}</span
+ >
+ <span v-else>{{ scope.row.galarmPeople }}</span>
+ </template>
</el-table-column>
<el-table-column prop="alarmPeople" label="接警人" width="160">
+ <template scope="scope">
+ <span
+ v-if="scope.row.jtype == 0"
+ style="color: rgb(255, 39, 39)"
+ >{{ scope.row.alarmPeople }}</span
+ >
+ <span
+ v-else-if="scope.row.jtype == 1"
+ style="color: rgb(21, 162, 254)"
+ >{{ scope.row.alarmPeople }}</span
+ >
+ <span v-else>{{ scope.row.alarmPeople }}</span>
+ </template>
</el-table-column>
<el-table-column prop="jtype" label="警情状态" width="">
+ <template scope="scope">
+ <el-button size="mini" @click.stop="stateHandling(scope.row)">
+ <span
+ v-if="scope.row.jtype == 0"
+ style="color: rgb(255, 39, 39)"
+ >未处理</span
+ >
+ <span
+ v-else-if="scope.row.jtype == 1"
+ style="color: rgb(21, 162, 254)"
+ >处理中</span
+ >
+ <span v-else>已处理</span>
+ </el-button>
+ </template>
</el-table-column>
</el-table>
</div>
</div>
+ <real-popup ref="realPopupView"> </real-popup>
</el-col>
<el-col class="super-data-box" :span="8">
<div class="container-box week-alarm">
@@ -108,7 +218,7 @@
</div>
<div class="head-right">
<div class="head-right offset-right">
- <a href="/#/realTimePolice/index">预警分析</a>
+ <a href="/#/alarmManagement/alarmAnalysis">预警分析</a>
</div>
</div>
</div>
@@ -116,10 +226,10 @@
<div class="alarm-bar">
<div class="alarm-bar-title">
<div class="title-left ng-binding">日累计预警事件数</div>
- <div class="title-right week">
- <span class="ng-binding">0</span
- ><span class="ng-binding">1.00</span>
- </div>
+ <!-- <div class="title-right week">-->
+ <!-- <span class="ng-binding">0</span-->
+ <!-- ><span class="ng-binding">1.00</span>-->
+ <!-- </div>-->
</div>
<div class="week-alarm-bar" id="day_warn_echarts"></div>
</div>
@@ -129,10 +239,10 @@
<div class="title-left change-flex-alarm ng-binding">
日累计预警设备数
</div>
- <div class="title-right week">
- <span class="ng-binding">0</span
- ><span class="ng-binding">1.00</span>
- </div>
+ <!-- <div class="title-right week">-->
+ <!-- <span class="ng-binding">0</span-->
+ <!-- ><span class="ng-binding">1.00</span>-->
+ <!-- </div>-->
</div>
<div class="week-device-line" id="day_equipment_echarts"></div>
</div>
@@ -147,7 +257,7 @@
getList,
getEquipmentList,
getDayWarnList,
- getEquipment,
+ getEquipments,
} from "@/api/supervisory/data";
export default {
@@ -168,17 +278,9 @@
var that = this;
getList().then((res) => {
res.data.data.forEach((item) => {
- that.tableData.push({
- waringType:
- item.waringType == "紧急求救" ? "一键求助" : item.waringType,
- alarmTime: item.alarmTime,
- oneContacts: item.oneContacts,
- onePhone: item.onePhone,
- galarmPeople: item.galarmPeople,
- jtype:
- item.jtype == 0 ? "未处理" : item.jtype == 1 ? "处理中" : "已处理",
- alarmPeople: item.alarmPeople,
- });
+ if (item.waringType == "一键求助") {
+ that.tableData.push(item);
+ }
});
});
@@ -190,7 +292,7 @@
that.drawPillar(res.data.data);
});
- getEquipment().then((res) => {
+ getEquipments().then((res) => {
console.log(res.data.data, 123);
var total = 0;
@@ -198,6 +300,7 @@
total += res.data.data.zx;
total += res.data.data.dx;
total += res.data.data.gz;
+ total += res.data.data.yj;
console.log(total, 45);
@@ -229,6 +332,12 @@
itemStyle: { color: "#29c194" },
},
{
+ value: that.yj,
+ legendname: "预警",
+ name: "预警",
+ itemStyle: { color: "#F34A4A" },
+ },
+ {
value: that.gz,
legendname: "故障",
name: "故障",
@@ -243,10 +352,11 @@
];
var sum = 0;
-
m2R2Data.forEach((item) => {
sum += item.value;
});
+
+ // sum +=that.yj;
var option = {
title: [
@@ -269,20 +379,21 @@
],
tooltip: {
trigger: "item",
- formatter: function (parms) {
- var str =
- parms.marker +
- "" +
- parms.data.legendname +
- "</br>" +
- "数量:" +
- parms.data.value +
- "</br>" +
- "占比:" +
- parms.percent +
- "%";
- return str;
- },
+ // formatter: function (parms) {
+ // var str =
+ // parms.marker +
+ // "" +
+ // parms.data.legendname +
+ // "</br>" +
+ // "数量:" +
+ // parms.data.value +
+ // "</br>" +
+ // "占比:" +
+ // parms.percent +
+ // "%";
+ // return str;
+ // },
+ formatter: "{b}: {c} ({d}%)",
},
series: [
{
@@ -306,6 +417,18 @@
],
};
myChart.setOption(option);
+ myChart.on("click", function (params) {
+ if (params.name == "正常") {
+ //跳转在线设备
+ that.StartEquipment({ dxtype: 1 });
+ } else if (params.name == "掉线") {
+ //跳转离线设备
+ that.StartEquipment({ dxtype: 0 });
+ } else if (params.name == "故障") {
+ //跳转故障设备
+ that.StartEquipment({ dxtype: 3 });
+ }
+ });
},
drawLine(result) {
@@ -390,6 +513,7 @@
},
drawPillar(data) {
+ var that = this;
var myChart = this.$echarts.init(
document.getElementById("day_warn_echarts")
);
@@ -464,6 +588,40 @@
],
};
myChart.setOption(option);
+ myChart.on("click", function (params) {
+ var data = [];
+ var date = new Date();
+ var y = date.getFullYear();
+ data.push({
+ startTime: y + "-" + params.name + " 00:00:00",
+ endTime: y + "-" + params.name + " 23:59:59",
+ waringType: "紧急求救",
+ });
+ that.handleStartAlarm(data);
+ });
+ },
+ //在线设备分页数据
+ StartEquipment(data) {
+ this.$router.push({
+ path: `/clientManagement/index`,
+ query: data,
+ });
+ },
+ //日累计预警数量跳转
+ handleStartAlarm(data) {
+ this.$router.push({
+ path: `/realTimePolice/index`,
+ query: data[0],
+ });
+ },
+ // 点击状态的处理事件
+ stateHandling(row) {
+ console.log(row);
+ if (row.jtype == 0) {
+ this.$refs.realPopupView.onItemGetParentData(row);
+ } else {
+ this.$router.push({ path: "/policeTracking/track", query: row });
+ }
},
},
};
@@ -531,7 +689,7 @@
background-color: #29c093;
}
&:nth-child(3)::before {
- background-color: #F48F57;
+ background-color: #f48f57;
}
&:nth-child(4)::before {
background-color: #dfdfdf;
@@ -554,6 +712,7 @@
}
.pie-total-container {
display: flex;
+ border: 1px solid transparent;
padding: 20px 0;
}
.info-active {
@@ -592,8 +751,8 @@
color: #29c194;
}
.active-list:nth-child(2) > div:nth-child(1) span {
- border: 1px solid #F48F57;
- color: #F48F57;
+ border: 1px solid #f48f57;
+ color: #f48f57;
}
.active-list:nth-child(1) > div:nth-child(1) span:hover {
background: rgba(41, 192, 147, 0.15);
@@ -605,7 +764,7 @@
color: #29c194;
}
.active-list:nth-child(2) > div:nth-child(2) span {
- color: #F48F57;
+ color: #f48f57;
}
}
.info-active-top,
@@ -727,4 +886,4 @@
border-bottom: 0px !important;
}
}
-</style>
\ No newline at end of file
+</style>
--
Gitblit v1.9.3