From 4bf7ec9446e7dce8198a122740d73e498ec221a6 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Tue, 20 Apr 2021 17:40:25 +0800
Subject: [PATCH] Merge branch 'master' of http://s16s652780.51mypc.cn:49896/r/jfpt-Vue
---
src/views/realTimePolice/real.vue | 287 +++++++++++++++++++++++++--------------------------------
1 files changed, 127 insertions(+), 160 deletions(-)
diff --git a/src/views/realTimePolice/real.vue b/src/views/realTimePolice/real.vue
index 3a34c25..f68c3e3 100644
--- a/src/views/realTimePolice/real.vue
+++ b/src/views/realTimePolice/real.vue
@@ -1,9 +1,3 @@
-/*
- * @Author: Morpheus
- * @Date: 2021-03-17 15:21:33
- * @Last Modified by: Morpheus
- * @Last Modified time: 2021-04-19 14:32:44
- */
<template>
<basic-container>
<avue-crud
@@ -40,7 +34,7 @@
>删 除
</el-button>
</template>
-
+
<template slot="menuLeft">
<el-button
v-bind:class="activeClass == 0 ? 'btn-color' : ''"
@@ -67,27 +61,23 @@
>全部
</el-button>
</template>
-
+
<template slot="menuLeft">
- <el-button
- type="warning"
- size="mini"
- plain
- icon="el-icon-download"
- @click="handleExport"
- >导出
+ <el-button type="warning"
+ size="mini"
+ plain
+ icon="el-icon-download"
+ @click="handleExport">导出
</el-button>
- <el-button
- type="warning"
- style="display: none"
- size="small"
- plain
- icon="el-icon-download"
- @click="handleExportStatis"
- >导出报表
+ <el-button type="warning"
+ size="small"
+ plain
+ icon="el-icon-pie-chart"
+ @click="handleExportStatis">导出报表
</el-button>
</template>
-
+
+
<template slot-scope="{ row }" slot="jtype">
<el-tag
>{{
@@ -102,7 +92,7 @@
}}
</el-tag>
</template>
-
+
<template slot-scope="{ type, size, row }" slot="menu">
<el-button
icon="el-icon-s-order"
@@ -143,7 +133,7 @@
</el-button>
</template>
</avue-crud>
-
+
<el-dialog
class="real-dialog"
title="警情核实"
@@ -171,7 +161,7 @@
controls
></video>
</el-dialog>
-
+
<el-dialog
class="ss-video-dialog"
:modal="false"
@@ -193,7 +183,7 @@
controls
></video>
</el-dialog>
-
+
<el-form
:model="form"
label-position="right"
@@ -329,7 +319,7 @@
</el-form-item>
</el-col>
</el-row>
-
+
<el-row>
<el-col span="12">
<el-form-item label="报警时间">
@@ -363,7 +353,7 @@
</el-form-item>
</el-col>
</el-row>
-
+
<el-row>
<el-col span="12">
<el-form-item label="备注">
@@ -371,7 +361,7 @@
</el-form-item>
</el-col>
</el-row>
-
+
<el-row :align="center">
<el-col class="opt-btn">
<el-form-item>
@@ -386,14 +376,14 @@
@click.stop="updateJtyep(form, 1, '办结')"
>办结
</el-button>
-
+
<img
src="/img/police-num.png"
style="margin-top: -20px; height: 80px; vertical-align: middle"
alt=""
@click.stop="updateJtyep(form, 1, '推送110')"
/>
-
+
<el-button
type="primary"
@click.stop="updateJtyep(form, 1, '派送保安')"
@@ -404,7 +394,7 @@
</el-row>
</el-form>
</el-dialog>
-
+
<el-drawer title="电子地图" append-to-body="true" :visible.sync="showMap">
<iframe
id="mapDiv"
@@ -417,17 +407,17 @@
</el-drawer>
</basic-container>
</template>
-
+
<script>
import { getList, remove, update, add, getclient } from "@/api/real/real";
import { mapGetters } from "vuex";
-
+
import Hls from "hls.js";
-
+
import axios from "axios";
-
+
import Recorder from "js-audio-recorder";
-
+
export default {
data() {
return {
@@ -498,7 +488,7 @@
type: "datetime",
format: "yyyy-MM-dd",
valueFormat: "yyyy-MM-dd",
- searchValue: [this.getStartTime(), this.getEndTime()],
+ searchValue:[this.getStartTime(),this.getEndTime()],
searchRange: true,
searchSpan: 5,
hide: true,
@@ -844,7 +834,7 @@
let values = {
...params,
};
-
+
if (
this.$route.query.waringType &&
this.$route.query != undefined &&
@@ -886,7 +876,7 @@
endTime: this.dateTime.day.endTime,
};
}
-
+
if (
this.$route.query.startTime != undefined &&
this.$route.query.startTime != null &&
@@ -899,7 +889,7 @@
};
}
}
-
+
if (releaseTimeRange) {
values = {
...params,
@@ -914,7 +904,7 @@
...this.query,
};
}
-
+
if (this.$route.query.timeDesc) {
values = {
...params,
@@ -922,7 +912,7 @@
...this.query,
};
}
-
+
this.loading = true;
getList(page.currentPage, page.pageSize, values).then((res) => {
const data = res.data.data;
@@ -930,13 +920,13 @@
item.waringType == "紧急求救" ? (item.waringType = "一键求助") : "";
});
this.page.total = data.total;
-
+
data.records.sort((a, b) => {
return a.jtype - b.jtype;
});
-
+
this.data = data.records;
-
+
this.loading = false;
this.selectionClear();
});
@@ -945,7 +935,7 @@
// 当前时间
var timestamp = Date.parse(new Date());
var serverDate = new Date(timestamp);
-
+
// 本周周一的时间
var mondayTime =
timestamp - (serverDate.getDay() - 1) * 24 * 60 * 60 * 1000;
@@ -991,7 +981,7 @@
currentData.getSeconds() < 10
? "0" + currentData.getSeconds()
: currentData.getSeconds();
-
+
return {
day: {
beginTime: currentY + "-" + currentM + "-" + currentD + " 00:00:00",
@@ -1132,6 +1122,18 @@
};
});
},
+ getStartTime(){
+ if (this.$route.query.startTime != undefined && this.$route.query.startTime != null && this.$route.query.startTime != "" ) {
+ return this.$route.query.startTime
+ }
+ return '';
+ },
+ getEndTime(){
+ if (this.$route.query.endTime != undefined && this.$route.query.endTime != null && this.$route.query.endTime != "" ) {
+ return this.$route.query.endTime
+ }
+ return '';
+ },
handleManage(row) {
this.form = row;
this.peopleList = [
@@ -1145,7 +1147,7 @@
},
updateJtyep(row, jtype, t) {
var that = this;
-
+
axios
.post(
"/api/blade-jfpts/alarm/alarm/updateJtype",
@@ -1165,7 +1167,7 @@
)
.then(function () {
that.dialogTableVisible = false;
-
+
axios({
method: "post",
url: `/api/blade-jfpts/rvideo/stop`,
@@ -1173,7 +1175,7 @@
jid: row.id,
},
}).then((resdata) => {});
-
+
that.onLoad(that.page, that.query);
that.$router.push({
path: "/policeTracking/track",
@@ -1183,54 +1185,54 @@
},
beginTimeOrEndTime(time) {
var beginTime = new Date(time);
-
+
var endTime = new Date(new Date(time).valueOf() - 1000 * 60 * 60 * 3);
-
+
var beginY = beginTime.getFullYear();
-
+
var beginM =
beginTime.getMonth() + 1 < 10
? "0" + (beginTime.getMonth() + 1)
: beginTime.getMonth() + 1;
-
+
var beginD =
beginTime.getDate() < 10
? "0" + beginTime.getDate()
: beginTime.getDate();
-
+
var beginH =
beginTime.getHours() < 10
? "0" + beginTime.getHours()
: beginTime.getHours();
-
+
var beginm =
beginTime.getMinutes() < 10
? "0" + beginTime.getMinutes()
: beginTime.getMinutes();
-
+
var begins =
beginTime.getSeconds() < 10
? "0" + beginTime.getSeconds()
: beginTime.getSeconds();
-
+
var endY = endTime.getFullYear();
-
+
var endM =
endTime.getMonth() + 1 < 10
? "0" + (endTime.getMonth() + 1)
: endTime.getMonth() + 1;
-
+
var endD =
endTime.getDate() < 10 ? "0" + endTime.getDate() : endTime.getDate();
-
+
var endH =
endTime.getHours() < 10 ? "0" + endTime.getHours() : endTime.getHours();
-
+
var endm =
endTime.getMinutes() < 10
? "0" + endTime.getMinutes()
: endTime.getMinutes();
-
+
var ends =
endTime.getSeconds() < 10
? "0" + endTime.getSeconds()
@@ -1250,7 +1252,7 @@
"Content-type": "application/x-www-form-urlencoded",
},
});
-
+
//this.form.serialNumber
newAxios
.post(
@@ -1269,22 +1271,22 @@
)
.then((result) => {
that.videoSource = result.data.data.m3u8;
-
+
if (Hls.isSupported()) {
var dom = document.getElementById("real_video_conversation");
-
+
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) {
@@ -1315,12 +1317,12 @@
},
closeRealVideoBox() {
var dom = document.getElementById("real_video_conversation");
-
+
if (dom.getAttribute("src") != "") {
dom.pause();
-
+
dom.setAttribute("src", "");
-
+
this.hls.destroy();
}
},
@@ -1334,7 +1336,7 @@
var dom = document.getElementById("real_old_video");
dom.pause();
},
-
+
aKeyToCall() {
this.isActive = true;
var that = this;
@@ -1346,7 +1348,7 @@
// compiling: false,(0.x版本中生效,1.x增加中) // 是否边录边转换,默认是false
});
}
-
+
// 一键呼叫相关函数
that.recorder.start().then(
() => {
@@ -1358,7 +1360,7 @@
}
);
},
-
+
// 序列号后期待修改
aKeyStopCall() {
this.isActive = false;
@@ -1369,14 +1371,14 @@
"Content-Type": "application/json;",
},
});
-
+
var wavAxios = axios.create({
baseURL: "https://web.byisf.com",
withCredentials: false,
});
-
+
var that = this;
-
+
newCallAxios
.post(
`/api_control`,
@@ -1390,15 +1392,15 @@
.then((result) => {
var formData = new FormData();
// that.recorder.downloadWAV("新文件");
-
+
var blob = that.recorder.getPCMBlob(); //获取pcm格式音频数据
//此处获取到blob对象后需要设置fileName满足当前项目上传需求,其它项目可直接传把blob作为file塞入formData
var newbolb = new Blob([blob], { type: "audio/pcm" });
var fileOfBlob = new File([newbolb], new Date().getTime() + ".pcm");
formData.append("file", fileOfBlob);
-
+
var wavBlob = that.recorder.getWAVBlob();
-
+
var wavformData = new FormData();
var wavform = new File([wavBlob], new Date().getTime() + ".wav");
wavformData.append("file", wavform);
@@ -1409,7 +1411,7 @@
wavformData.entries(),
132
);
-
+
axios({
method: "post",
url: "/api/blade-jfpts/xlfeedback/xlfeedback/put-objecty",
@@ -1420,7 +1422,7 @@
}).then((resdata) => {
console.log(resdata);
});
-
+
newCallAxios
.post(`/api_control`, blob, {
params: {
@@ -1438,7 +1440,7 @@
});
});
},
-
+
peopleOrPhone(e) {
this.peopleList.forEach((item) => {
if (item.label == e) {
@@ -1459,139 +1461,104 @@
this.$confirm("是否导出实时警情数据?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
- type: "warning",
+ type: "warning"
}).then(() => {
- window.open(
- `/api/blade-jfpts/alarm/alarm/export-alarm?beginTime=${this.$route.query.startTime}&endTime=${this.$route.query.endTime}&waringType=${this.$route.query.waringType}&timeDesc=${this.$route.query.timeDesc}`
- );
+ window.open(`/api/blade-jfpts/alarm/alarm/export-alarm?beginTime=${this.$route.query.startTime}&endTime=${this.$route.query.endTime}&waringType=${this.$route.query.waringType}&timeDesc=${this.$route.query.timeDesc}`);
});
},
//数据报表导出
- handleExportStatis() {
- this.$confirm("是否导出实时警情数据?", "提示", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- }).then(() => {
- let beginTime =
- this.$route.query.startTime == undefined
- ? ""
- : this.$route.query.startTime;
- let endTime =
- this.$route.query.endTime == undefined
- ? ""
- : this.$route.query.endTime;
- let waringType =
- this.$route.query.waringType == undefined
- ? ""
- : this.$route.query.waringType;
- let timeDesc =
- this.$route.query.timeDesc == undefined
- ? ""
- : this.$route.query.timeDesc;
- window.open(
- `http://localhost:8108/ureport/excel?_u=blade-alarm.statis.ureport.xml&beginTime=${beginTime}&endTime=${endTime}&waringType=${waringType}&timeDesc=${timeDesc}`
- );
- });
- },
- getStartTime() {
- if (
- this.$route.query.startTime != undefined &&
- this.$route.query.startTime != null &&
- this.$route.query.startTime != ""
- ) {
- return this.$route.query.startTime;
+ handleExportStatis() {
+ this.$confirm("是否导出实时警情数据?", "提示", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ }).then(() => {
+ let beginTime = this.$route.query.startTime==undefined? '':this.$route.query.startTime;
+ let endTime = this.$route.query.endTime==undefined? '':this.$route.query.endTime;
+ let waringType = this.$route.query.waringType==undefined? '':this.$route.query.waringType;
+ let timeDesc = this.$route.query.timeDesc==undefined? '':this.$route.query.timeDesc;
+ window.open(`http://localhost:8108/ureport/preview?_u=blade-alarm.statis.ureport.xml&beginTime=${beginTime}&endTime=${endTime}&waringType=${waringType}&timeDesc=${timeDesc}`);
+ //window.open(`http://localhost:8108/ureport/excel?_u=blade-alarm.statis.ureport.xml&beginTime=${beginTime}&endTime=${endTime}&waringType=${waringType}&timeDesc=${timeDesc}`);
+ });
}
- return "";
- },
- getEndTime() {
- if (
- this.$route.query.endTime != undefined &&
- this.$route.query.endTime != null &&
- this.$route.query.endTime != ""
- ) {
- return this.$route.query.endTime;
- }
- return "";
- },
},
};
</script>
-
+
<style>
.el-card__body .waringTypeClass {
width: 12%;
}
-
+
/*页面样式*/
.el-card__body .cityClass1 {
width: 155px;
padding-right: 0px !important;
}
-
+
.el-card__body .cityClass2 {
width: 100px;
padding-left: 0px !important;
padding-right: 0px !important;
}
-
+
.el-card__body .cityClass3 {
width: 100px;
padding-left: 0px !important;
padding-right: 0px !important;
}
-
+
/*新增窗体样式*/
.el-dialog .cityClass1 {
width: 220px;
padding-right: 0px !important;
}
-
+
.el-dialog .cityClass2 {
width: 110px;
padding-left: 5px !important;
padding-right: 5px !important;
}
-
+
.el-dialog .cityClass3 {
width: 110px;
padding-left: 0px !important;
padding-right: 0px !important;
}
-
+
.cityClassParams .avue-form__group.avue-form__group--flex {
display: flex;
justify-content: space-between;
}
-
+
.cityClassParams .cityClassSelect {
flex: 1;
margin: 0 !important;
padding-left: 0px !important;
padding-right: 0px !important;
}
-
+
.cityClassParams .cityClassSelect:nth-child(2) {
margin: 0 10px !important;
}
-
+
.cityClassParams .cityClassSelect .el-form-item {
margin-bottom: 0px !important;
}
-
+
.cityClassParams .cityClassSelect .el-form-item .el-input__inner {
height: 28px !important;
line-height: 28px !important;
}
-
+
.cityClass2 div label {
display: none;
}
-
+
.cityClass3 div label {
display: none;
}
-
+
.old-video-dialog {
position: absolute !important;
top: 0 !important;
@@ -1602,7 +1569,7 @@
height: 100% !important;
width: 476px !important;
}
-
+
.old-video-dialog .el-dialog {
position: absolute !important;
top: 0 !important;
@@ -1613,23 +1580,23 @@
margin-top: 15vh !important;
height: 538px;
}
-
+
.old-video-dialog .el-dialog .el-dialog__body {
height: calc(100% - 54px);
box-sizing: border-box;
}
-
+
.el-button.active {
background: #ff0000 !important;
}
-
+
.el-button.btn-color {
color: rgb(255, 255, 255);
background-color: rgb(64, 158, 255);
border-color: rgb(64, 158, 255);
}
-
+
.tabFontSize {
font-size: 15px;
}
-</style>
+</style>
\ No newline at end of file
--
Gitblit v1.9.3