报警记录字段调整,设备列表优化,视频联动接口联调

main
xuechunyuan 3 years ago
parent 326f2538ad
commit 05018d9b7d
  1. 3
      public/index.html
  2. 2
      src/views/wirelessintrusion/deployment/list.vue
  3. 97
      src/views/wirelessintrusion/device/list.vue
  4. 103
      src/views/wirelessintrusion/warn/record.vue

@ -18,6 +18,9 @@
<link rel="stylesheet" href="<%= BASE_URL %>cdn/avue/2.10.10/index.css"> <link rel="stylesheet" href="<%= BASE_URL %>cdn/avue/2.10.10/index.css">
<script src="<%= BASE_URL %>cdn/xlsx/FileSaver.min.js"></script> <script src="<%= BASE_URL %>cdn/xlsx/FileSaver.min.js"></script>
<script src="<%= BASE_URL %>cdn/xlsx/xlsx.full.min.js"></script> <script src="<%= BASE_URL %>cdn/xlsx/xlsx.full.min.js"></script>
<!-- 海康视频流插件 -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/video.js/8.3.0/video-js.min.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/video.js/8.3.0/video.min.js"></script>
<!-- webrtc 调度终端 --> <!-- webrtc 调度终端 -->
<!-- <script src="<%= BASE_URL %>cdn/thirdlib/Ice.min.js" charset="utf-8"></script> --> <!-- <script src="<%= BASE_URL %>cdn/thirdlib/Ice.min.js" charset="utf-8"></script> -->
<link rel="icon" href="<%= BASE_URL %>favicon.png"> <link rel="icon" href="<%= BASE_URL %>favicon.png">

@ -34,7 +34,7 @@
</el-form-item> </el-form-item>
<el-form-item label="任务时间:" prop="executeTime"> <el-form-item label="任务时间:" prop="executeTime">
<el-time-picker v-model="addForm.executeTime" placeholder="请选择任务时间" :disabled="isDetail ? true : false" <el-time-picker v-model="addForm.executeTime" placeholder="请选择任务时间" :disabled="isDetail ? true : false"
value-format="HH:mm:ss" style="width:100%;"> value-format="HH:mm" style="width:100%;">
</el-time-picker> </el-time-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>

@ -42,7 +42,7 @@ export default {
column: [ column: [
{ {
label: "设备名称", label: "设备名称",
prop: "name", prop: "name1",
span: 12, span: 12,
search: true, search: true,
formatter: (val, value, label) => { formatter: (val, value, label) => {
@ -85,9 +85,29 @@ export default {
labelWidth: 120, labelWidth: 120,
viewDisplay: false viewDisplay: false
}, },
{
label: "位置",
prop: "position",
labelWidth: 120,
},
{
label: "经纬度",
prop: "xy",
labelWidth: 120,
hide: true
},
{ {
label: "节点类型", label: "节点类型",
prop: "nodeLabel", prop: "nodeLabel1",
labelWidth: 120,
formatter: (data) => {
return data.nodeLabel
}
},
{
label: "节点类型",
prop: "statusLabel",
span: 12,
labelWidth: 120, labelWidth: 120,
hide: true, hide: true,
}, },
@ -113,13 +133,6 @@ export default {
labelWidth: 120, labelWidth: 120,
viewDisplay: false, viewDisplay: false,
}, },
{
label: "节点类型",
prop: "statusLabel",
span: 12,
labelWidth: 120,
hide: true,
},
{ {
label: "创建时间", label: "创建时间",
prop: "createTime", prop: "createTime",
@ -180,49 +193,6 @@ export default {
let idx = column.dicData.findIndex(item => item.dictValue == node); let idx = column.dicData.findIndex(item => item.dictValue == node);
return idx > -1 ? column.dicData[idx].dictLabel : ''; return idx > -1 ? column.dicData[idx].dictLabel : '';
}, },
// rowSave(row, done, loading) {
// add(row).then(() => {
// this.onLoad(this.page);
// this.$message({
// type: "success",
// message: "!"
// });
// done();
// }, error => {
// window.console.log(error);
// loading();
// });
// },
// rowUpdate(row, index, done, loading) {
// update(row).then(() => {
// this.onLoad(this.page);
// this.$message({
// type: "success",
// message: "!"
// });
// done();
// }, error => {
// window.console.log(error);
// loading();
// });
// },
// rowDel(row) {
// this.$confirm("?", {
// confirmButtonText: "",
// cancelButtonText: "",
// type: "warning"
// })
// .then(() => {
// return remove(row.id);
// })
// .then(() => {
// this.onLoad(this.page);
// this.$message({
// type: "success",
// message: "!"
// });
// });
// },
searchReset() { searchReset() {
this.query = {}; this.query = {};
this.onLoad(this.page); this.onLoad(this.page);
@ -302,9 +272,19 @@ export default {
item.nodeLabel = this.renderLabel(item.node,'node'); item.nodeLabel = this.renderLabel(item.node,'node');
item.statusLabel = this.renderLabel(item.status,'status') item.statusLabel = this.renderLabel(item.status,'status')
item.productName = item.bizProduct.name; item.productName = item.bizProduct.name;
if(item.tags) {
let tags = JSON.parse(item.tags);
item.buildingNo = tags.buildingNo;
item.floorNo = tags.floorNo;
item.xy = tags.lng + ',' + tags.lat;
item.position = item.buildingNo + '号楼' + item.floorNo + '层';
}
}) })
this.data = data.records; this.data = data.rows;
this.loading = false; this.loading = false;
}, () => {
this.loading = false;
this.selectionClear();
}); });
}) })
} else { } else {
@ -315,7 +295,7 @@ export default {
if(res2.data.code == 401){ if(res2.data.code == 401){
console.log(res2.data.code) console.log(res2.data.code)
window.sessionStorage.removeItem('bizToken'); window.sessionStorage.removeItem('bizToken');
this.onLoad(); this.onLoad(page);
} }
else if(res2.data.code == 200){ else if(res2.data.code == 200){
const data = res2.data; const data = res2.data;
@ -325,10 +305,17 @@ export default {
item.nodeLabel = this.renderLabel(item.node,'node'); item.nodeLabel = this.renderLabel(item.node,'node');
item.statusLabel = this.renderLabel(item.status,'status') item.statusLabel = this.renderLabel(item.status,'status')
item.productName = item.bizProduct.name; item.productName = item.bizProduct.name;
if(item.tags) {
let tags = JSON.parse(item.tags);
item.buildingNo = tags.buildingNo;
item.floorNo = tags.floorNo;
item.xy = tags.lng + ',' + tags.lat;
item.position = item.buildingNo + '号楼' + item.floorNo + '层';
}
}) })
this.data = data.rows; this.data = data.rows;
} }
}, err => { }, () => {
this.loading = false; this.loading = false;
this.selectionClear(); this.selectionClear();
}); });

@ -5,13 +5,15 @@
@selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange" @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
@refresh-change="refreshChange" @on-load="onLoad"> @refresh-change="refreshChange" @on-load="onLoad">
<template slot="menuLeft"> <template slot="menuLeft">
<el-button type="danger" size="small" icon="el-icon-turn-off" plain>消警 <el-button type="danger" size="small" icon="el-icon-turn-off" plain>布防
</el-button> </el-button>
<el-button type="danger" size="small" icon="el-icon-turn-off" plain>撤防 <el-button type="danger" size="small" icon="el-icon-turn-off" plain>撤防
</el-button> </el-button>
<el-button type="danger" size="small" icon="el-icon-turn-off" plain>旁路恢复 <el-button type="warning" size="small" icon="el-icon-turn-off" plain>旁路
</el-button> </el-button>
<el-button @click="handleExport" type="warning" size="small" icon="el-icon-download" plain>导出 <el-button type="warning" size="small" icon="el-icon-turn-off" plain>旁路恢复
</el-button>
<el-button @click="handleExport" type="primary" size="small" icon="el-icon-download" plain>导出
</el-button> </el-button>
</template> </template>
<template slot-scope="{ row, index }" slot="menu"> <template slot-scope="{ row, index }" slot="menu">
@ -47,10 +49,11 @@
<script> <script>
import { getList } from "@/api/alarm/alarm"; import { getList } from "@/api/alarm/alarm";
import {exportBlob} from "@/api/common"; import { bizLogin, bizDeviceList } from "@/api/wirelessintrusion/wirelessintrusion";
import { exportBlob } from "@/api/common";
import { downloadXls } from "@/util/util"; import { downloadXls } from "@/util/util";
import {dateNow} from "@/util/date"; import { dateNow } from "@/util/date";
import {getToken} from "@/util/auth"; import { getToken } from "@/util/auth";
import NProgress from 'nprogress'; import NProgress from 'nprogress';
import 'nprogress/nprogress.css'; import 'nprogress/nprogress.css';
import func from "@/util/func"; import func from "@/util/func";
@ -85,7 +88,7 @@ export default {
column: [ column: [
{ {
label: "设备名称", label: "设备名称",
prop: "title", prop: "deviceName",
}, },
{ {
label: "设备编号", label: "设备编号",
@ -94,39 +97,36 @@ export default {
}, },
{ {
label: "设备类型", label: "设备类型",
type: 'select', prop: "productName",
prop: "deviceType", },
{
label: "报警类型",
type: "select",
dicUrl: "/api/blade-system/dict-biz/dictionary?code=alarm_message_condition",
props: {
label: "dictValue",
value: "dictKey"
},
dataType: "number", dataType: "number",
dictData: [], slot: true,
search: true prop: "type",
search: true,
}, },
// {
// label: "",
// type: "select",
// dicUrl: "/api/blade-system/dict/dictionary?code=notice",
// props: {
// label: "dictValue",
// value: "dictKey"
// },
// dataType: "number",
// slot: true,
// prop: "category",
// search: true,
// },
{ {
label: "楼号", label: "楼号",
prop: "buildId", prop: "buildId",
width: 80
}, },
{ {
label: "楼层", label: "楼层",
prop: "floorNo", prop: "floorNo",
width: 80
}, },
{ {
label: "经纬度", label: "经纬度",
prop: "longidute", prop: "xy",
formatter: (data) => { span: 24,
return (data.longidute ? data.longidute + ',' : '') + data.latidute; hide: true
}
}, },
{ {
label: "报警信息", label: "报警信息",
@ -139,16 +139,6 @@ export default {
prop: "reportTime", prop: "reportTime",
width: '150' width: '150'
}, },
{
label: '上报日期',
prop: 'releaseTimeRange',
type: 'datetime',
valueFormat: 'yyyy-MM-dd HH:mm:ss',
searchRange: true,
search: true,
hide: true,
viewDisplay: false,
},
] ]
}, },
data: [], data: [],
@ -234,24 +224,39 @@ export default {
getList(page.currentPage, page.pageSize, values).then(res => { getList(page.currentPage, page.pageSize, values).then(res => {
const data = res.data.data; const data = res.data.data;
this.page.total = data.total; this.page.total = data.total;
data.records.map(item => {
item.xy = item.longidute + ',' + item.latidute;
})
this.data = data.records; this.data = data.records;
this.loading = false; this.loading = false;
this.selectionClear(); this.selectionClear();
}); });
}, },
// //
linkVideo() { linkVideo(row) {
let token = window.sessionStorage.getItem('bizToken');
if (token == 'undefined' || !token) {
bizLogin({ appKey: 'Arf7bd4f26', appSecret: 'kb207044c8' }).then(res => {
window.sessionStorage.setItem('bizToken', res.data.data.token);
bizDeviceList(res.data.data.token, { 'params[pmac]': row.deviceId }).then(res2 => {
const data = res2.data;
this.videoData = data.rows;
this.dialogVisible = true; this.dialogVisible = true;
this.videoData = [ });
{ id: '001', url: 'cdcdcdcd', name: '视频一' }, })
{ id: '002', url: 'cdcdcdcd', name: '视频一' }, } else {
{ id: '003', url: 'cdcdcdcd', name: '视频一' }, bizDeviceList(token, { 'params[pmac]': row.deviceId }).then(res2 => {
{ id: '004', url: 'cdcdcdcd', name: '视频一' }, if (res2.data.code == 401) {
{ id: '005', url: 'cdcdcdcd', name: '视频一' }, window.sessionStorage.removeItem('bizToken');
{ id: '006', url: 'cdcdcdcd', name: '视频一' }, this.linkVideo(row);
{ id: '007', url: 'cdcdcdcd', name: '视频一' }, }
{ id: '008', url: 'cdcdcdcd', name: '视频一' }, else if (res2.data.code == 200) {
] const data = res2.data;
this.videoData = data.rows;
this.dialogVisible = true;
}
});
}
}, },
// //
handleExport() { handleExport() {

Loading…
Cancel
Save