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/dataL/dataL.vue | 721 ++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 554 insertions(+), 167 deletions(-)
diff --git a/src/views/dataL/dataL.vue b/src/views/dataL/dataL.vue
index 6559625..7710cb1 100644
--- a/src/views/dataL/dataL.vue
+++ b/src/views/dataL/dataL.vue
@@ -1,34 +1,34 @@
<template>
- <div id="Lour">
- <div class="left">
+ <div id="Lour" style="height: 100%">
+ <div class="left" style="height: 101%">
<div class="top">
- <div class="top-l">
- <div class="left-top">
+ <div class="top-t">
+ <div class="t-t-title">
<p style="font-size: 24px; font-weight: 100">
- {{ name.length > 14 ? name.substr(0, 14) + "···" : name }}
+ {{ name }}
</p>
- <div class="l-t-state">
+ </div>
+ <div class="t-t-title2">
+ <div class="t-t-state">
<span
:class="{
- 'l-t-s-grey': state == '掉线',
- 'l-t-s-green': state == '测试',
- 'l-t-s-red': state == '报警',
+ 'l-t-s-grey': state == dataState[0],
+ 'l-t-s-green': state == dataState[1],
+ 'l-t-s-yewllo': state == dataState[2],
+ 'l-t-s-red': state == dataState[3],
'l-t-s-yuan': true,
}"
></span>
- <span>{{ state }}</span>
- </div>
- <!-- <p>{{evaluate}}</p> -->
- </div>
- <div class="left-bot">
- <p>{{ machineCode }}</p>
- <!-- <p>{{smoke}}</p> -->
- <!-- <p>{{proportion}}</p> -->
+ <span>{{ " " + state }}</span>
+ </div>
+ <div class="t-t-time">
+ <p>{{ ReportTime }}</p>
+ </div>
</div>
</div>
- <div class="top-r">
- <p>{{ ReportTime }}</p>
+ <div class="top-b">
+ {{ machineCode }}
</div>
</div>
<div class="l-main">
@@ -37,9 +37,13 @@
<el-tab-pane label="预警历史" name="first">
<!-- <el-tab-pane label="预警历史" name="second"> -->
<div class="frist-left">
- <div id="echart01" style="width: 100%; height: 260px"></div>
+ <div
+ id="echart01"
+ style="width: 100%; height: 260px"
+ ref="echart01"
+ ></div>
- <div class="l-main-2">
+ <div class="l-main-2" ref="aaa">
<div class="l-m-2-heard">
<span style="font-size: 14px">历史事件</span>
<span style="font-size: 12px">全部事件类型</span>
@@ -93,8 +97,9 @@
viewBox="0 0 1024 1024"
width="100%"
height="100%"
- fill="#29c093"
+ fill="rgba(0,0,0,0.5)"
style="width: 13px; position: relative; top: 2px"
+ ref="svgBut"
>
<path
d="M870.52 63.32H153.19c-25.61 0-40.84 28.57-26.57 49.83l295.73 440.58V927a32 32 0 0 0 47.06 28.24l116-61.87a32 32 0 0 0 16.94-28.23v-312.9l294.74-439.09c14.27-21.26-0.96-49.83-26.57-49.83z"
@@ -122,9 +127,19 @@
v-show="eventDetails.length != 0"
class="l-m-2-m-table"
>
- <p class="l-m-2-m-tableheard">{{ value.year }}年</p>
+ <p
+ class="l-m-2-m-tableheard"
+ style="fontsize: 20px; font-weight: 100"
+ >
+ {{ value.year }}年
+ </p>
<div class="l-m-2-m-tablemain">
- <el-table :data="value.data" style="width: 100%">
+ <el-table
+ :data="value.data"
+ style="width: 100%"
+ highlight-current-row
+ @current-change="handleCurrentChange"
+ ><!--highlight-current-row: 单选,current-change单选事件-->
<el-table-column type="index"> </el-table-column>
<el-table-column label="日期" prop="day">
</el-table-column>
@@ -149,8 +164,9 @@
<el-tag>{{ props.row.state }}</el-tag>
</template>
</el-table-column>
- <el-table-column label="跳转实时" prop="">
- </el-table-column>
+ <!-- <el-table-column label="跳转实时" prop="">
+
+ </el-table-column> -->
</el-table>
</div>
</div>
@@ -185,7 +201,7 @@
prop="open">
</el-table-column>
</el-table>
- </el-form>
+ </el-form>
</template>
</el-table-column>
<el-table-column
@@ -263,9 +279,9 @@
<el-tab-pane label="设备详情" name="second">
<div class="l-main-3">
<div class="l-m-3-heard">
- <h2>
+ <!-- <h2>
{{ name.length > 16 ? name.substr(0, 16) + "···" : name }}
- </h2>
+ </h2> -->
<div>设备数据详情</div>
</div>
<el-divider content-position="left"
@@ -310,7 +326,7 @@
</el-row>
<el-row>
<el-col span="12">
- <el-form-item label="负责人">
+ <el-form-item label="主要负责人">
<el-input
disabled="true"
v-model="detailsData.person"
@@ -336,7 +352,7 @@
v-model="detailsData.user"
autocomplete="off"
></el-input>
- </el-form-item>
+ </el-form-item>
</el-col> -->
<el-col span="12">
<el-form-item label="序列号">
@@ -388,7 +404,7 @@
</el-form-item>
</el-col>
<el-col span="12">
- <el-form-item label="街道">
+ <el-form-item label="地址">
<el-input
disabled="true"
v-model="detailsData.street"
@@ -427,8 +443,6 @@
></el-input>
</el-form-item>
</el-col>
- </el-row>
- <el-row>
<el-col span="12">
<el-form-item label="心跳时间">
<el-input
@@ -445,6 +459,29 @@
</div>
</div>
</el-tab-pane>
+ <el-tab-pane label="现场视频" name="third">
+ <div class="l-main-3">
+ <!-- <div class="l-m-3-heard">222</div> -->
+ <div class="l-m-3-heard">
+ <div>设备现场视频</div>
+ </div>
+ <!-- <el-divider content-position="left"></el-divider> -->
+ <el-divider content-position="left"
+ ><i class="el-icon-mobile-phone"></i
+ ></el-divider>
+ <div class="l-m-3-main">
+ <!-- {{ videoUrl }} -->
+ <div>
+ <video
+ style="height: 550px; width: 100%"
+ controls="controls"
+ id="real_video_conversationDataL"
+ src=""
+ ></video>
+ </div>
+ </div>
+ </div>
+ </el-tab-pane>
</el-tabs>
</div>
</div>
@@ -453,7 +490,7 @@
<div class="r-one">
<div class="r-heard">
<div class="r-heard-top">部署信息</div>
- <button @click="modifyl" class="r-but-top">修改</button>
+ <!-- <button @click="modifyl" class="r-but-top">修改</button> -->
</div>
<div class="r-body">
<div class="r-b-top">
@@ -469,40 +506,47 @@
<!-- <div class="r-b-t-main">
<span class="r-b-t-left">设备标签</span>
<span class="r-b-t-right">
- <div
- class="r-b-t-r-label"
- v-for="(value,index) in labels"
+ <div
+ class="r-b-t-r-label"
+ v-for="(value,index) in labels"
:key="index"
>
- {{value}}
+ {{value}}
</div>
</span>
</div> -->
<!-- 图暂时没有 -->
- <!-- <div class="r-b-t-main">
- <span class="r-b-t-left" style="position:relative;top: -27px;">部署图片</span>
- <span class="r-b-t-right">
- <div
- class="r-b-t-r-imgsl"
- v-for="(value,index) in imgsl"
- :key="index"
- >
- <el-image
- style="width: 68px; height: 68px"
- :src="value"
- :preview-src-list="imgsl"
- v-show="value != 'no'"
- >
- </el-image>
- <div
- v-show="value == 'no'"
- style="width: 68px; height: 68px;text-algin: center;color: rgba(0,0,0,.5)"
- >
- 无图片
- </div>
- </div>
- </span>
- </div> -->
+ <div class="r-b-t-main">
+ <span class="r-b-t-left" style="position: relative; top: -27px"
+ >部署图片</span
+ >
+ <span class="r-b-t-right">
+ <div
+ class="r-b-t-r-imgsl"
+ v-for="(value, index) in imgsl"
+ :key="index"
+ >
+ <el-image
+ style="width: 68px; height: 68px"
+ :src="value"
+ :preview-src-list="imgsl"
+ v-show="value != 'no'"
+ >
+ </el-image>
+ <div
+ v-show="value == 'no'"
+ style="
+ width: 68px;
+ height: 68px;
+ text-algin: center;
+ color: rgba(0, 0, 0, 0.5);
+ "
+ >
+ 无图片
+ </div>
+ </div>
+ </span>
+ </div>
<div class="r-b-t-main">
<span class="r-b-t-left">部署时间</span>
<span class="r-b-t-right">{{ deploymentTime }}</span>
@@ -510,13 +554,23 @@
</div>
<div class="r-b-map">
<el-row>
- <iframe
+ <!-- <iframe
id="supervisoryMap"
ref="supervisoryMap"
:src="baseUrl"
frameborder="0"
width="100%"
height="100%"
+ ></iframe> -->
+ <!-- <button @click="re">刷新</button> -->
+ <iframe
+ id="detailMap"
+ ref="detailMap"
+ :src="baseUrl"
+ frameborder="0"
+ width="100%"
+ height="100%"
+ name="detailMap"
></iframe>
</el-row>
</div>
@@ -527,19 +581,30 @@
</template>
<script>
import { Loading } from "element-ui";
-import { getdataL, getGalarm, getnum } from "../../api/dataL/axiosL";
+import {
+ getdataL,
+ getGalarm,
+ getnum,
+ getImg,
+ getVideo,
+} from "../../api/dataL/axiosL";
import axios from "axios";
+import Hls from "hls.js";
import echarts from "echarts";
import { Form } from "element-ui";
const cityOptions = ["未处理", "处理中", "已处理"];
export default {
data() {
return {
+ // timeL: "",
+ a: "",
myDeviceNumber: "",
-
+ videoUrl: "",
//折线图
myChart: "",
numdatalist: [120, 132, 101, 134, 90, 230, 210, 120, 132, 0, 134, 0],
+
+ jingqingPdianji: null,
name: "",
state: "",
@@ -552,17 +617,25 @@
calls: "",
labels: ["店面", "楼房"],
imgsl: [
- "https://resource-city.sensoro.com/B8D675A3C4F71C5C8DE2FD764881BE57",
- "https://resource-city.sensoro.com/1723C1A66DB44F792564F3648E5AA1EE",
- "https://resource-city.sensoro.com/6E0FB78DC42C35F3B8FF0F6A03472433",
+ // "https://resource-city.sensoro.com/B8D675A3C4F71C5C8DE2FD764881BE57",
+ // "https://resource-city.sensoro.com/1723C1A66DB44F792564F3648E5AA1EE",
+ // "https://resource-city.sensoro.com/6E0FB78DC42C35F3B8FF0F6A03472433",
],
deploymentTime: "2019-08-28 11:16:14",
activeName: "first",
// activeName: 'second',
+ // activeName: "third",
isRecord: true,
screens: false,
//复选框
+ dataState: ["掉线", "正常", "故障", "预警"],
+ // [grey,green,red][
+ // onlineStatus = 0,
+ // onlineStatus = 1,
+ // state!= "",
+ // jtype != 2
+ // ]
checkAll: false,
checkedCities: [], //选择的
cities: cityOptions,
@@ -580,6 +653,7 @@
menuAlign: "center",
column: {},
},
+
eventDetails: [], //真实数据
eventDetaill: [
//原始数据
@@ -671,6 +745,7 @@
// heartbeat: '2021-04-07', // 心跳时间
// },
baseUrl: "", //mapurl\
+ mapStart: false,
//省份
form: {},
@@ -740,6 +815,11 @@
let option = {
title: {
text: "警情月分布",
+ textStyle: {
+ fontSize: 18,
+ fontStyle: "300",
+ fontFamily: "sans-serif",
+ },
},
tooltip: {
trigger: "axis",
@@ -803,9 +883,9 @@
this.myChart.setOption(option);
this.myChart.hideLoading();
//建议加上以下这一行代码,不加的效果图如下(当浏览器窗口缩小的时候)。超过了div的界限(红色边框)
- window.addEventListener("resize", function () {
- myChart.resize();
- });
+ // window.addEventListener("resize", function () {
+ // this.myChart.resize();
+ // });
},
modifyl() {
//right 修改按钮
@@ -829,6 +909,7 @@
this.checkedCities = ["未处理", "处理中", "已处理"];
// console.log(`按钮重置`);
this.doEvents(this.checkedCities);
+ this.$refs.svgBut.setAttribute("fill", "rgba(0,0,0,0.5)"); //改变svg图片样式
// this.eventDetails = this.eventDetaill;
},
determine() {
@@ -838,8 +919,14 @@
if (this.checkedCities.length == 0) {
// console.log(`未选择`);
this.eventDetails = [];
+ this.$refs.svgBut.setAttribute("fill", "rgba(41,192,147)"); //改变svg图片样式
} else {
this.doEvents(this.checkedCities); //筛选数据
+ if (this.checkedCities.length == 3) {
+ this.$refs.svgBut.setAttribute("fill", "rgba(0,0,0,0.5)"); //改变svg图片样式
+ } else {
+ this.$refs.svgBut.setAttribute("fill", "rgba(41,192,147)"); //改变svg图片样式
+ }
}
},
doEvents(ends) {
@@ -884,50 +971,85 @@
getdata() {
// const url = `/api/blade-jfpts/equipment/equipment/pageDept?deviceName=${this.myDeviceNumber}¤t=1&size=10&pid=`
// axios.get(url)
+ var that = this;
var data = {
deviceName: this.myDeviceNumber,
current: "1",
size: "10",
};
+ var imgdadta = {
+ deviceNumber: this.myDeviceNumber,
+ };
getdataL(data).then((res) => {
var data = res.data.data.records[0];
+ var setimgl = null;
+ //插入图片api获取图片
this.stetDetails(data);
- // console.log(data);
+ getImg(imgdadta, "post").then((res) => {
+ // console.log(res.data.data.length != 0)
+ var imgdatas = [];
+ if (res.data.data.length != 0) {
+ imgdatas = res.data.data[0].paddress.split(",");
+ }
+ // console.log(imgdatas);
+ // imgdatas = [ //最多5张照片
+ // "https://resource-city.sensoro.com/B8D675A3C4F71C5C8DE2FD764881BE57",
+ // "https://resource-city.sensoro.com/B8D675A3C4F71C5C8DE2FD764881BE57",
+ // "https://resource-city.sensoro.com/B8D675A3C4F71C5C8DE2FD764881BE57",
+
+ // "https://resource-city.sensoro.com/1723C1A66DB44F792564F3648E5AA1EE",
+ // "https://web.byisf.com/minio/jfpt/upload/depl/ad049799e7024c529b9c890d3ba434bc.JPEG",
+ // ];
+ setimgl = imgdatas.length == 0 ? ["no"] : imgdatas;
+ this.stetDetails(data, setimgl);
+ });
});
},
- stetDetails(d) {
- this.name = "无数据" && d.deviceName;
- this.state =
- "无数据" && d.dtype == 0 ? "掉线" : d.dtype == 1 ? "测试" : "报警";
+ stetDetails(c, imgdata) {
+ this.name = "无数据" && this.a.deviceName;
+ //设备状态
+ var states,
+ d = this.a.dtype;
+ if (d == 0) {
+ states = "掉线";
+ } else if (d == 1) {
+ states = "正常";
+ } else if (d == 3) {
+ states = "故障";
+ } else if (d == 2) {
+ states = "预警";
+ }
+ this.state = states;
+
this.evaluate = "空气质量";
- this.machineCode = "无数据" && d.deviceNumber;
+ this.machineCode = "无数据" && this.a.deviceNumber;
this.smoke = "烟雾";
this.proportion = "电量";
- this.ReportTime = "最近上报:" + d.heartbeat;
- this.contacts = "无数据" && d.oneContacts;
- this.calls = "无数据" && d.onePhone;
- this.labels = ["无数据"] && [d.deviceType];
- this.imgsl = ["no"];
- this.deploymentTime = "无数据" && d.stime;
+ this.ReportTime = "最近上报:" + this.a.heartbeat;
+ this.contacts = "无数据" && this.a.oneContacts;
+ this.calls = "无数据" && this.a.onePhone;
+ this.labels = ["无数据"] && [this.a.deviceType];
+ this.imgsl = imgdata;
+ this.deploymentTime = "无数据" && this.a.stime;
this.detailsData = {
- machineName: d.deviceName, // 设备名称
- machineNumber: d.deviceNumber, //
- user: d.ownership, // 使用方
- serialNumber: d.serialNumber, // 序列号
- channel: d.channelNumber, // 通道号
- deployment: d.devicestate == 1 ? "布防" : "撤防", // 布撤防状态:
- machineType: d.deviceType, // 设备类型
- province: ["邮编:", d.district, ""], // 省份
- street: d.street, // 街道
- person: d.oneContacts, // 负责人
- call: d.onePhone, // 负责人电话
- dueDate: d.expireTime, // 到期时间
- payment: d.pay, // 缴费信息
- installation: d.stime, // 安装时间
- heartbeat: d.heartbeat, // 心跳时间
+ machineName: this.a.deviceName, // 设备名称
+ machineNumber: this.a.deviceNumber, //
+ user: this.a.ownership, // 使用方
+ serialNumber: this.a.serialNumber, // 序列号
+ channel: this.a.channelNumber, // 通道号
+ deployment: this.a.devicestate == 1 ? "布防" : "撤防", // 布撤防状态:
+ machineType: this.a.deviceType, // 设备类型
+ province: ["邮编:", this.a.district, ""], // 省份
+ street: this.a.street, // 街道
+ person: this.a.oneContacts, // 负责人
+ call: this.a.onePhone, // 负责人电话
+ dueDate: this.a.expireTime, // 到期时间
+ payment: this.a.pay, // 缴费信息
+ installation: this.a.stime, // 安装时间
+ heartbeat: this.a.heartbeat, // 心跳时间
};
- this.form = d;
+ this.form = c;
},
getdataG() {
var dataG = {
@@ -940,6 +1062,7 @@
var ds = res.data.data.records;
// console.log(ds)
this.setdataG(ds);
+ this.jingqingPdianji = ds;
});
},
setdataG(d) {
@@ -979,6 +1102,7 @@
oneContacts: d[key].oneContacts,
alarmPeople: d[key].alarmPeople,
onePhone: d[key].onePhone,
+ jjTime: d[key].jjTime,
childs: [],
});
}
@@ -995,6 +1119,21 @@
}
});
creates(i, tData);
+ }
+ }
+ for (var k1 in Num) {
+ //添加序号
+ var n2 = Num[k1];
+ for (var k2 in n2) {
+ if (k2 == "year") {
+ continue;
+ }
+ // console.log(n2[k2])
+ var n3 = n2[k2];
+ for (var k3 in n3) {
+ // console.log(+k3 + 1);
+ n3[k3].i = +k3 + 1;
+ }
}
}
// console.log(Num);
@@ -1021,15 +1160,160 @@
this.numdatalist = dataM;
this.startEcharts01();
},
+ getMap() {
+ window.frames[1].init("DetailMap", {
+ x: this.a.jd,
+ y: this.a.wd,
+ });
+ },
+ re() {
+ // var _body = window.parent;
+ // var _iframe1=_body.document.getElementById('detailMap');
+ // window.onbeforeunload=function(){};
+ // _iframe1.contentWindow.location.reload(true);
+ location.reload();
+ },
+ handleCurrentChange(val) {
+ //行点击事件
+ var b = this.jingqingPdianji;
+ for (var key in b) {
+ if (b[key].jjTime == val.jjTime) {
+ // console.log(b[key]);
+ // this.$store.commit("SET_DATAL", this.a);
+ this.$router.push({ path: "/policeTracking/track", query: b[key] });
+ }
+ }
+ // console.log(this.$store.state)
+ },
+ //获取视频
+ openRealVideoBox(serialNumber, channelNumber,deviceNumber,manufacturer) {
+ var that = this;
+
+ if (manufacturer == "HK"){
+ axios
+ .get(
+ `/api/blade-jfpts/equipment/equipment/selectEquimentPlayInfo?number=${deviceNumber}&bmp=m3u8&manufacturer=${manufacturer}`
+ )
+ .then((result) => {
+ that.videoSource = result.data.data.data.url;
+ if (Hls.isSupported()) {
+ var dom = document.getElementById(
+ "real_video_conversationDataL"
+ );
+ that.hls = new Hls();
+ var m3u8Url = decodeURIComponent(that.videoSource);
+ that.hls.loadSource(m3u8Url);
+ that.hls.attachMedia(dom);
+ that.hls.on(Hls.Events.MANIFEST_PARSED, function () {
+ dom.play();
+ });
+ that.hls.on(Hls.Events.ERROR, function (event, data) {
+ // console.log(data, 4566824159, "视频播放有问题!!!");
+ if (data.fatal) {
+ switch (data.type) {
+ case Hls.ErrorTypes.NETWORK_ERROR:
+ console.log(
+ "fatal network error encountered, try to recover"
+ );
+ that.hls.startLoad();
+ break;
+ case Hls.ErrorTypes.MEDIA_ERROR:
+ console.log(
+ "fatal media error encountered, try to recover"
+ );
+ that.hls.recoverMediaError();
+ break;
+ }
+ }
+ });
+ }
+ });
+ }else{
+ var res = that.a;
+ if (res.deviceName.indexOf("(象湖院区)") != -1 || res.deviceName.indexOf("(东湖院区)") != -1){
+ debugger
+ var dom = document.getElementById(
+ "real_video_conversationDataL"
+ );
+ dom.src = res.netType;
+ dom.play();
+ return;
+ }
+
+ var newAxios = axios.create({
+ baseURL: "https://web.byisf.com:18000",
+ withCredentials: false,
+ headers: {
+ "Content-type": "application/x-www-form-urlencoded",
+ },
+ });
+ newAxios
+ .post(
+ "/api_control",
+ {},
+ {
+ params: {
+ param: JSON.stringify({ PktType: "GetAccessToken" }),
+ },
+ }
+ )
+ .then((res) => {
+ newAxios
+ .get(
+ `https://web.byisf.com:18000/GetPlayUrl?deviceCode=${serialNumber}&chl=${channelNumber}`
+ )
+ .then((result) => {
+ that.videoSource = result.data.data.m3u8;
+ if (Hls.isSupported()) {
+ var dom = document.getElementById(
+ "real_video_conversationDataL"
+ );
+ that.hls = new Hls();
+ var m3u8Url = decodeURIComponent(that.videoSource);
+ that.hls.loadSource(m3u8Url);
+ that.hls.attachMedia(dom);
+ that.hls.on(Hls.Events.MANIFEST_PARSED, function () {
+ dom.play();
+ });
+ that.hls.on(Hls.Events.ERROR, function (event, data) {
+ // console.log(data, 4566824159, "视频播放有问题!!!");
+ if (data.fatal) {
+ switch (data.type) {
+ case Hls.ErrorTypes.NETWORK_ERROR:
+ console.log(
+ "fatal network error encountered, try to recover"
+ );
+ that.hls.startLoad();
+ break;
+ case Hls.ErrorTypes.MEDIA_ERROR:
+ console.log(
+ "fatal media error encountered, try to recover"
+ );
+ that.hls.recoverMediaError();
+ break;
+ }
+ }
+ });
+ }
+ });
+ });
+ }
+ },
},
created() {
// let loadingInstance1 = Loading.service({ fullscreen: true });
- this.baseUrl = `/map/index.html?openid=SupervisoryMap`;
- this.myDeviceNumber = this.$route.query.deviceNumber;
-
- var a = this.$route.query;
- console.log(a);
-
+ // this.baseUrl = `/map/index.html?openid=SupervisoryMap`;
+ // this.a = this.$route.query.deviceNumber == undefined? this.$store.state.dataL.dataLa : this.$route.query;
+ if(this.$route.query.deviceNumber == undefined){
+ this.a = this.$store.state.dataL.dataLa;
+ }else{
+ this.a = this.$route.query;
+ this.$store.commit("SET_DATAL", this.a);//每次都缓存在vuex中,如果没有从正确路径进来,则使用缓存
+ }
+ // console.log(this.a);
+ this.baseUrl = `/map/index.html?ISinit=1&openid=DetailMap&jd=${this.a.jd}&wd=${this.a.wd}`;
+ this.myDeviceNumber = this.a.deviceNumber;
+ // console.log(this.a);
// console.log(this.myDeviceNumber);
this.getdata();
this.getdataG();
@@ -1038,13 +1322,45 @@
mounted() {
this.loginEcharts01(); //载入折线图等待数据
// this.eventDetails = this.eventDetaill;//载入历史事件数据
- // this.doEvents();//cc
+ // this.doEvents();
+ // var timel = setTimeout(() => {
+ this.$refs.detailMap.onload = () => {
+ // window.frames[1].init("DetailMap", {
+ // x: this.a.jd,
+ // y: this.a.wd,
+ // });
+ if (window.frames[1].init) {
+ this.getMap();
+ } else {
+ // this.re();
+ console.log(`没有找到到window.frames[1].init`);
+ }
+ };
+ },
+ watch: {
+ activeName() {
+ if (this.activeName == "third") {
+ this.i++;
+ this.openRealVideoBox(this.a.serialNumber, this.a.channelNumber,this.a.deviceNumber,this.a.manufacturers);
+ } else {
+ var dom = document.getElementById("real_video_conversationDataL");
+ if (dom.getAttribute("src") != "") {
+ dom.pause();
+ dom.setAttribute("src", "");
+ this.hls.destroy();
+ }
+ }
+ },
},
};
</script>
<style lang="scss" >
+video::-webkit-media-controls-timeline {
+ display: none;
+ }
#Lour {
width: 100%;
+ font-size: 14px;
height: 100%;
// font: 12px/1.5 Tahoma,Helvetica,Arial,'宋体',sans-serif;
// font: 12px/1 Tahoma,Helvetica,Arial,"\5b8b\4f53",sans-serif;
@@ -1054,12 +1370,13 @@
display: flex;
// align-items: center;
justify-content: space-around;
- position: relative;
+ // position: relative;
font-size: 13px;
line-height: 20px;
font-weight: normal;
letter-spacing: 0.01em;
-webkit-font-smoothing: antialiased;
+ overflow: hidden;
.left {
width: 67%;
height: 100%;
@@ -1072,75 +1389,131 @@
width: 98%;
height: 150px;
// border: 1px solid rgb(21, 18, 204);
- // display: flex;
- // align-items: center;
- // justify-content: space-between;
- .top-l {
- position: relative;
- top: 40px;
- width: 500px;
- // border: 1px solid rgb(24, 207, 48);
- div {
- display: flex;
- align-items: center;
- justify-content: space-around;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-direction: column;
+ font-family: PingFangSC-Regular;
+ .top-t,
+ .top-b {
+ width: 95%;
+ // padding-left: 50px;
+ }
+ .top-t {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ // border: 1px solid rgb(204, 161, 18);
+ .t-t-title {
font-size: 14px;
- // border: 1px solid rgb(24, 207, 48);
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ // border: 1px solid rgb(18, 204, 80);
}
- .left-top {
- p {
- width: 356px;
- // border: 1px solid rgb(37, 37, 37);
- }
- padding-left: 15px;
- // border: 1px solid rgb(24, 207, 48);
- .l-t-state {
- // border: 1px solid rgb(24, 207, 48);
- position: relative;
- top: 5px;
- left: 10px;
- width: 55px;
+ .t-t-title2 {
+ position: relative;
+ top: 25px;
+ .t-t-state {
.l-t-s-yuan {
- display: block;
+ display: inline-block;
width: 10px;
height: 10px;
border-radius: 5px;
border: 1px solid transparent;
}
.l-t-s-grey {
- background-color: rgb(187, 187, 187);
+ background-color: #cdcdcd;
}
.l-t-s-green {
- background-color: rgb(41, 202, 135);
+ background-color: #32c1a2;
+ }
+ .l-t-s-yewllo {
+ background-color: #f49966;
}
.l-t-s-red {
- background-color: rgb(243, 75, 75);
+ background-color: #f35b5b;
}
}
}
}
- .left-bot,
- .top-r {
- font-weight: 900;
- color: rgba($color: #00000075, $alpha: 0.25);
- // border: 1px solid rgb(24, 207, 48);
+ .top-b,
+ .t-t-time {
+ // width: 100%;
+ font-weight: 600;
+ color: rgba($color: #6b6b6b, $alpha: 0.5);
+ // border: 1px solid rgb(18, 204, 148);
}
- .left-bot {
- position: relative;
- left: -68px;
- p {
- width: 295px;
- // border: 1px solid rgb(37, 37, 37);
- }
- }
- .top-r {
- width: 250px;
- // border: 1px solid rgb(24, 207, 48);
- float: right;
- position: relative;
- top: -50px;
- }
- // border-bottom:1px solid #000;
+ // .top-l {
+ // position: relative;
+ // top: 40px;
+ // width: 500px;
+ // border: 1px solid rgb(24, 207, 48);
+ // div {
+ // display: flex;
+ // align-items: center;
+ // justify-content: space-around;
+ // font-size: 14px;
+ // // border: 1px solid rgb(24, 207, 48);
+ // }
+ // .left-top {
+ // p {
+ // width: 356px;
+ // // border: 1px solid rgb(37, 37, 37);
+ // }
+ // padding-left: 15px;
+ // // border: 1px solid rgb(24, 207, 48);
+ // .l-t-state {
+ // // border: 1px solid rgb(24, 207, 48);
+ // position: relative;
+ // top: 5px;
+ // left: 50px;
+ // width: 55px;
+ // .l-t-s-yuan {
+ // display: block;
+ // width: 10px;
+ // height: 10px;
+ // border-radius: 5px;
+ // border: 1px solid transparent;
+ // }
+ // .l-t-s-grey {
+ // background-color: #cdcdcd;
+ // }
+ // .l-t-s-green {
+ // background-color: #32c1a2;
+ // }
+ // .l-t-s-yewllo {
+ // background-color: #f49966;
+ // }
+ // .l-t-s-red {
+ // background-color: #f35b5b;
+ // }
+ // }
+ // }
+ // }
+ // .left-bot,
+ // .top-r {
+ // font-size: 14px;
+ // font-weight: 400;
+ // color: #c4c4c4;
+ // // border: 1px solid rgb(24, 207, 48);
+ // }
+ // .left-bot {
+ // position: relative;
+ // left: -68px;
+ // p {
+ // width: 295px;
+ // // border: 1px solid rgb(37, 37, 37);
+ // }
+ // }
+ // .top-r {
+ // width: 250px;
+ // // border: 1px solid rgb(24, 207, 48);
+ // float: right;
+ // position: relative;
+ // top: -50px;
+ // }
+ // // border-bottom:1px solid #000;
}
.l-main {
width: 98%;
@@ -1223,7 +1596,12 @@
.l-m-2-main {
width: 100%;
height: 370px;
- overflow: scroll;
+ // overflow: scroll;
+ overflow-y: scroll; //滚动条
+ scrollbar-color: transparent transparent;
+ scrollbar-track-color: transparent;
+ -ms-scrollbar-track-color: transparent;
+
// border: 1px solid rg b(23, 66, 209);
.l-m-2-m-not {
display: flex;
@@ -1278,7 +1656,7 @@
}
.right {
width: 30%;
- height: 88.5%;
+ height: 95.5%;
// border: 1px solid rgb(23, 201, 62);
background-color: #fff;
display: flex;
@@ -1311,7 +1689,7 @@
font-weight: normal;
font-size: 14px;
.r-b-top {
- height: 200px;
+ height: 380px;
display: flex;
// border: 1px solid rgb(23, 201, 62);
display: flex;
@@ -1320,7 +1698,9 @@
display: flex;
align-items: center;
justify-content: space-between;
+ // border: 1px solid rgb(148, 199, 159);
padding: 10px 0 10px 0;
+ margin-bottom: 5px;
}
.r-b-t-left {
display: block;
@@ -1332,6 +1712,8 @@
.r-b-t-right {
display: block;
width: 70%;
+ color: #5d5d5d;
+ font-size: 12px;
// border: 1px solid rgb(49, 74, 184);
.r-b-t-r-label {
float: left;
@@ -1350,11 +1732,13 @@
}
}
.r-b-map {
- height: 550px;
- border: 1px solid rgba(109, 109, 109, 0.2);
- #supervisoryMap {
+ height: 350px;
+ // border: 1px solid rgba(109, 109, 109, 0.2);
+ #detailMap {
+ position: relative;
+ top: 25px;
width: 100%;
- height: 550px;
+ height: 350px;
}
}
}
@@ -1382,4 +1766,7 @@
margin-bottom: 0;
width: 50%;
}
-</style>
\ No newline at end of file
+video::-webkit-media-controls-timeline {
+ display: none;
+}
+</style>
--
Gitblit v1.9.3