Commit c7a64edb authored by zhanglw's avatar zhanglw

边坡数据

parent 1e085c45
...@@ -2824,6 +2824,83 @@ var HttpReq = function(){ ...@@ -2824,6 +2824,83 @@ var HttpReq = function(){
data:data, data:data,
}) })
}, },
slopeGetDeviceList: function(param){
return request({
url: '/api/monitoringEquipment',
method: 'get',
params:param,
})
},
slopeGetDevice: function(param){
return request({
url: '/api/monitoringEquipment/details',
method: 'get',
params:param,
})
},
slopePostDevice: function(data){
return request({
url: '/api/monitoringEquipment',
method: 'POST',
data:data,
})
},
slopePutDevice: function(data){
return request({
url: '/api/monitoringEquipment',
method: 'PUT',
data:data,
})
},
slopeDeleteDevice: function(data){
return request({
url: '/api/monitoringEquipment',
method: 'Delete',
data:data,
})
},
slopeGetMP: function(param){
return request({
url: '/api/mpdata',
method: 'get',
params:param,
})
},
slopeGetMPdevList: function(param){
return request({
url: '/api/mpdata/allMpEquipment',
method: 'get',
params:param,
})
},
slopeGetMPdevData: function(param){
return request({
url: '/api/mpdata/mpChartDataByTime',
method: 'get',
params:param,
})
},
slopeGetRG: function(param){
return request({
url: '/api/rgdata',
method: 'get',
params:param,
})
},
slopeGetRGdevList: function(param){
return request({
url: '/api/rgdata/allRgEquipment',
method: 'get',
params:param,
})
},
slopeGetRGdevData: function(param){
return request({
url: '/api/rgdata/rgChartDataByTime',
method: 'get',
params:param,
})
},
}, },
......
...@@ -19,7 +19,6 @@ ...@@ -19,7 +19,6 @@
<video id="videoRealtime" class="video-js vjs-default-skin vjs-big-play-centered" controls preload="auto" data-setup="{}" style="width: 100%;height: 100%;"> <video id="videoRealtime" class="video-js vjs-default-skin vjs-big-play-centered" controls preload="auto" data-setup="{}" style="width: 100%;height: 100%;">
您的浏览器不支持:HTML5 video. 您的浏览器不支持:HTML5 video.
</video> </video>
noPtzCameraList
<el-select v-model="cameraSrc" class="noPtzCameraList" @change="videoPlay()"> <el-select v-model="cameraSrc" class="noPtzCameraList" @change="videoPlay()">
<el-option v-for="item in cameraList" :key="item.id" :label="item.monitorName" :value="item.monitorUrl" style="font-size:16px;font-weight:400"></el-option> <el-option v-for="item in cameraList" :key="item.id" :label="item.monitorName" :value="item.monitorUrl" style="font-size:16px;font-weight:400"></el-option>
</el-select> </el-select>
...@@ -182,9 +181,6 @@ export default { ...@@ -182,9 +181,6 @@ export default {
}, function () { }, function () {
console.log('video ready!') console.log('video ready!')
}) })
setTimeout(()=>{
},3000);
}, },
methods: { methods: {
filterNode(value, data) { filterNode(value, data) {
......
...@@ -130,7 +130,7 @@ ...@@ -130,7 +130,7 @@
} }
.mars3d-container { .mars3d-container {
height: 100%; height: 100%;
width: 100vw; width: 100%;
overflow: hidden; overflow: hidden;
} }
......
...@@ -32,12 +32,14 @@ import router from './router/routers' ...@@ -32,12 +32,14 @@ import router from './router/routers'
import './assets/icons' // icon import './assets/icons' // icon
import './router/index' // permission control import './router/index' // permission control
import 'echarts-gl' import 'echarts-gl'
import print from 'vue-print-nb'
Vue.use(checkPer) Vue.use(checkPer)
Vue.use(VueHighlightJS) Vue.use(VueHighlightJS)
Vue.use(mavonEditor) Vue.use(mavonEditor)
Vue.use(permission) Vue.use(permission)
Vue.use(dict) Vue.use(dict)
Vue.use(print);
Vue.use(Element, { Vue.use(Element, {
size: Cookies.get('size') || 'small' // set element-ui default size size: Cookies.get('size') || 'small' // set element-ui default size
}) })
......
...@@ -466,6 +466,7 @@ export default { ...@@ -466,6 +466,7 @@ export default {
}, },
selectedCar(item) { selectedCar(item) {
this.selectedCarid = item.id; this.selectedCarid = item.id;
this.$parent.locateCarByNumber(item.carNumber);
}, },
checkedCarByList(item) { checkedCarByList(item) {
item.flag = !item.flag; item.flag = !item.flag;
......
...@@ -41,11 +41,15 @@ ...@@ -41,11 +41,15 @@
</div> </div>
<!-- 嵌入三维地图页面 --> <!-- 嵌入三维地图页面 -->
<!-- <iframe :src="url" frameborder="0" class="mapcontainer1"></iframe>--> <!-- <iframe :src="url" frameborder="0" class="mapcontainer1"></iframe>-->
<iframe src="http://192.168.3.60:18041//#/Index" frameborder="0" class="mapcontainer1"></iframe> <!-- <iframe ref="iframe" src="http://192.168.3.60:18041//#/Index" frameborder="0" class="mapcontainer1"></iframe>-->
<!-- <iframe ref="iframe" src="http://192.168.3.38:3002/#/Index" frameborder="0" class="mapcontainer1"></iframe>-->
<!-- 单个车辆视频监控 --> <!-- 单个车辆视频监控 -->
<div class="monitorCover1" v-if="monitorCover1Show">
<div class="monitorCover1" v-show="monitorCover1Show">
<div class="monitorCover1_closePic" @click="closeMonitorCoverFn"></div> <div class="monitorCover1_closePic" @click="closeMonitorCoverFn"></div>
<iframe :src="iframeSrc" class="monitorCover1_Video"></iframe> <video id="videoRealtime" class="video-js vjs-default-skin vjs-big-play-centered monitorCover1_Video" controls preload="auto" data-setup="{}">
您的浏览器不支持:HTML5 video.
</video>
</div> </div>
<img src="../../assets/images/cutGraph/maplogo1.jpg" class="maplogo1Img"> <img src="../../assets/images/cutGraph/maplogo1.jpg" class="maplogo1Img">
</div> </div>
...@@ -83,6 +87,9 @@ import DPcomputer25 from './components/smallComponents/DPcomputer25.vue' ...@@ -83,6 +87,9 @@ import DPcomputer25 from './components/smallComponents/DPcomputer25.vue'
import DPcomputer26 from './components/smallComponents/DPcomputer26.vue' import DPcomputer26 from './components/smallComponents/DPcomputer26.vue'
import DPcomputer27 from './components/smallComponents/DPcomputer27.vue' import DPcomputer27 from './components/smallComponents/DPcomputer27.vue'
import DPcomputer28 from './components/smallComponents/DPcomputer28.vue' import DPcomputer28 from './components/smallComponents/DPcomputer28.vue'
import 'video.js/dist/video-js.css'
import videojs from 'video.js'
import 'videojs-contrib-hls'
export default { export default {
components: { components: {
...@@ -172,8 +179,24 @@ export default { ...@@ -172,8 +179,24 @@ export default {
}, 20000) }, 20000)
//与嵌入的地图页面进行交互 //与嵌入的地图页面进行交互
window.addEventListener('message', this.handleMessage); window.addEventListener('message', this.handleMessage);
this.videoPlayer = videojs('videoRealtime', {
bigPlayButton: false,
textTrackDisplay: false,
posterImage: true,
errorDisplay: false,
controlBar: true
}, function () {
console.log('video ready!')
})
}, },
methods: { methods: {
locateCarByNumber(number){
this.iframeWin = this.$refs.iframe.contentWindow;
this.iframeWin.postMessage({
fnName: 'locateCarByNumber',
parameter: number
}, '*')
},
loadData() { loadData() {
let leftTemporaryData = []; let leftTemporaryData = [];
let rightTemporaryData = []; let rightTemporaryData = [];
...@@ -409,7 +432,7 @@ export default { ...@@ -409,7 +432,7 @@ export default {
this.videoSelectStyle = 2; this.videoSelectStyle = 2;
}, },
//获取当前时间 //获取当前时间
setNowTimes () { setNowTimes() {
let myDate = new Date(); let myDate = new Date();
let wk = myDate.getDay(); let wk = myDate.getDay();
let yy = String(myDate.getFullYear()); let yy = String(myDate.getFullYear());
...@@ -421,13 +444,33 @@ export default { ...@@ -421,13 +444,33 @@ export default {
let weeks = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']; let weeks = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
let week = weeks[wk]; let week = weeks[wk];
this.currentTime = yy + '/' + mm + '/' + dd + ' ' + hou + ':' + min; this.currentTime = yy + '/' + mm + '/' + dd + ' ' + hou + ':' + min;
},
videoPlay() {
this.videoPlayer.src({src: this.cameraSrc, type: 'application/x-mpegURL'});
this.videoPlayer.play();
}, },
//与iframe的页面进行数据交互 //与iframe的页面进行数据交互
handleMessage(event){//event.data为传递的参数 handleMessage(event){//event.data为传递的参数
//这里的判断是因为此方法会多次触发,通过参数是否存在可以判断是否为子页面传递的参数,再做出相应的操作 //这里的判断是因为此方法会多次触发,通过参数是否存在可以判断是否为子页面传递的参数,再做出相应的操作
if(event.data.data.hasOwnProperty("url")){ if(event.data.data.hasOwnProperty("url")){
if(event.data.data.url == '监控'){ if(event.data.data.url == '监控'){
this.iframeSrc = this.defaultIframeSrc + event.data.data.data; let number = event.data.data.data;
HttpReq.truckDispatching.jkcarMonitorFind({carNumber: number}).then((res) => {
if (res.code == 200) {
if(res.data && res.data.length){
this.noPtz = true;
this.cameraList = res.data;
this.cameraSrc = this.cameraList[0].monitorUrl;
this.videoPlay();
}else{
this.$notify({
title: '该车无视频监控!',
type: 'warning',
duration: 2500
});
}
}
})
this.monitorCover1Show = true; this.monitorCover1Show = true;
} }
} }
......
...@@ -6,14 +6,14 @@ ...@@ -6,14 +6,14 @@
<div class="head-container"> <div class="head-container">
<!-- 搜索 --> <!-- 搜索 -->
<label class="el-form-item-label" style="font-weight: 500;">设备号</label> <label class="el-form-item-label" style="font-weight: 500;">设备号</label>
<el-input v-model="query.formId" clearable size="small" placeholder="请输入设备号" style="width:180px;"/> <el-input v-model="query.sensorId" clearable size="small" placeholder="请输入设备号" style="width:180px;"/>
<label class="el-form-item-label" style="font-weight: 500;">报警状态</label> <label class="el-form-item-label" style="font-weight: 500;">报警状态</label>
<el-select v-model="query.stu" placeholder="请选择"> <el-select v-model="query.alarmStatus" placeholder="请选择">
<el-option v-for="item in stuOpts" :key="item.value" :label="item.label" :value="item.value"></el-option> <el-option v-for="item in stuOpts" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select> </el-select>
<label class="el-form-item-label" style="font-weight: 500;">日期范围</label> <label class="el-form-item-label" style="font-weight: 500;">日期范围</label>
<el-date-picker <el-date-picker
v-model="query.createTime" v-model="query.timeList"
type="datetimerange" type="datetimerange"
value-format="yyyy-MM-dd HH:MM:SS" value-format="yyyy-MM-dd HH:MM:SS"
range-separator="至" range-separator="至"
...@@ -32,11 +32,11 @@ ...@@ -32,11 +32,11 @@
<div class="content-fix"> <div class="content-fix">
<div class="toolbar" style="text-align:right"> <div class="toolbar" style="text-align:right">
<el-button size="mini" type="primary" icon="el-icon-refresh" @click="loadData">刷新</el-button> <el-button size="mini" type="primary" icon="el-icon-refresh" @click="loadData">刷新</el-button>
<el-button size="mini" type="success" icon="el-icon-s-data" @click="toAdd">图表</el-button>
<el-button size="mini" type="warning" icon="el-icon-document" @click="toAdd">导出</el-button> <el-button size="mini" type="warning" icon="el-icon-document" @click="toAdd">导出</el-button>
<el-button size="mini" icon="el-icon-printer" v-print="printObj" @click="printeTable">打印</el-button>
</div> </div>
<div class="content"> <div class="content">
<el-table :data="tableData" v-loading="loading" border style="width:auto" :row-class-name="tableRowClassName"> <el-table id="printContainer" :data="tableData" v-loading="loading" border style="width:auto" :row-class-name="tableRowClassName">
<el-table-column prop="formId" label="设备名称" align="center"></el-table-column> <el-table-column prop="formId" label="设备名称" align="center"></el-table-column>
<el-table-column prop="username" label="设备编号" align="center"></el-table-column> <el-table-column prop="username" label="设备编号" align="center"></el-table-column>
<el-table-column prop="carNo" label="状态" align="center"></el-table-column> <el-table-column prop="carNo" label="状态" align="center"></el-table-column>
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
<el-table-column prop="createTime" label="报警时间" align="center"></el-table-column> <el-table-column prop="createTime" label="报警时间" align="center"></el-table-column>
<el-table-column prop="carNo" label="解除报警原因" align="center"></el-table-column> <el-table-column prop="carNo" label="解除报警原因" align="center"></el-table-column>
<el-table-column prop="createTime" label="解除报警时间" align="center"></el-table-column> <el-table-column prop="createTime" label="解除报警时间" align="center"></el-table-column>
<el-table-column label="操作" align="center" fixed="right"> <el-table-column label="操作" align="center" v-if="!isPrint">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="primary" icon="el-icon-close-notification" @click="toEdit(scope.row)"></el-button> <el-button size="mini" type="primary" icon="el-icon-close-notification" @click="toEdit(scope.row)"></el-button>
</template> </template>
...@@ -62,13 +62,6 @@ ...@@ -62,13 +62,6 @@
</div> </div>
</div> </div>
<!-- 表单渲染 --> <!-- 表单渲染 -->
<el-dialog append-to-body :close-on-click-modal="true" :before-close="cancelForm" :visible.sync="visible" :title="title" width="800px">
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="cancelForm">取消</el-button>
<el-button type="primary" @click="submitForm('formViewRef', formData)">确认</el-button>
</div>
</el-dialog>
<!-- 表单渲染 -->
<el-dialog append-to-body :close-on-click-modal="false" :before-close="cancelForm" :visible.sync="editVisible" title="解除报警" width="500px"> <el-dialog append-to-body :close-on-click-modal="false" :before-close="cancelForm" :visible.sync="editVisible" title="解除报警" width="500px">
<el-form :model="formData" :rules="rules" ref="formViewRef" :inline="true" label-width="180px"> <el-form :model="formData" :rules="rules" ref="formViewRef" :inline="true" label-width="180px">
<el-form-item label="解除时长:" class="form-cell" prop="name" style="width:100%"> <el-form-item label="解除时长:" class="form-cell" prop="name" style="width:100%">
...@@ -98,16 +91,9 @@ ...@@ -98,16 +91,9 @@
<script> <script>
import {Tools, HttpReq, Dates} from '@/assets/js/common.js'; import {Tools, HttpReq, Dates} from '@/assets/js/common.js';
import mars3dViewerMap from "../../../components/mars3d/Map5.vue";
import * as mars3d from "mars3d";
import * as Cesium from "mars3d-cesium";
import kongzhidiantubiao from "../../../assets/images/cutGraph/kongzhidian1.png";
export default { export default {
name: 'alarmManagement', name: 'alarmManagement',
components: {
mars3dViewerMap,
},
data() { data() {
const basePathUrl = window.basePathUrl || '' const basePathUrl = window.basePathUrl || ''
return { return {
...@@ -116,13 +102,15 @@ export default { ...@@ -116,13 +102,15 @@ export default {
visible: false, visible: false,
editVisible: false, editVisible: false,
loading: false, loading: false,
isPrint: false,
page: 1, page: 1,
size: 10, size: 10,
total: 0, total: 0,
query: {}, query: {},
stuOpts: [ stuOpts: [
{label: '离线', value: 0}, {label: '全部', value: undefined},
{label: '在线', value: 1}, {label: '报警', value: 1},
{label: '正常', value: 0},
], ],
tableData: [], tableData: [],
formData: { formData: {
...@@ -133,6 +121,13 @@ export default { ...@@ -133,6 +121,13 @@ export default {
rules: { rules: {
devNo: {required: true, message: '请填写解除报警原因', trigger: 'blur'}, devNo: {required: true, message: '请填写解除报警原因', trigger: 'blur'},
}, },
printObj: {
id: "printContainer",
popTitle: '打印',
extraHead: '',
targetStyles: ["*"],
closeCallback:()=>{this.isPrint=false},
}
} }
}, },
mounted() { mounted() {
...@@ -158,13 +153,12 @@ export default { ...@@ -158,13 +153,12 @@ export default {
}) })
}) })
}, },
toAdd() {
this.title = '新增';
this.visible = true;
},
toEdit() { toEdit() {
this.editVisible = true; this.editVisible = true;
}, },
printeTable() {
this.isPrint=true;
},
cancelForm() { cancelForm() {
this.visible = false; this.visible = false;
this.editVisible = false; this.editVisible = false;
......
...@@ -6,14 +6,14 @@ ...@@ -6,14 +6,14 @@
<div class="head-container"> <div class="head-container">
<!-- 搜索 --> <!-- 搜索 -->
<label class="el-form-item-label" style="font-weight: 500;">设备号</label> <label class="el-form-item-label" style="font-weight: 500;">设备号</label>
<el-input v-model="query.formId" clearable size="small" placeholder="请输入设备号" style="width:180px;"/> <el-input v-model="query.sensorId" clearable size="small" placeholder="请输入设备号" style="width:180px;"/>
<label class="el-form-item-label" style="font-weight: 500;">报警状态</label> <label class="el-form-item-label" style="font-weight: 500;">报警状态</label>
<el-select v-model="query.stu" placeholder="请选择"> <el-select v-model="query.alarmStatus" placeholder="请选择">
<el-option v-for="item in stuOpts" :key="item.value" :label="item.label" :value="item.value"></el-option> <el-option v-for="item in stuOpts" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select> </el-select>
<label class="el-form-item-label" style="font-weight: 500;">日期范围</label> <label class="el-form-item-label" style="font-weight: 500;">日期范围</label>
<el-date-picker <el-date-picker
v-model="query.createTime" v-model="query.timeList"
type="datetimerange" type="datetimerange"
value-format="yyyy-MM-dd HH:MM:SS" value-format="yyyy-MM-dd HH:MM:SS"
range-separator="至" range-separator="至"
...@@ -73,16 +73,8 @@ ...@@ -73,16 +73,8 @@
<script> <script>
import {Tools, HttpReq, Dates} from '@/assets/js/common.js'; import {Tools, HttpReq, Dates} from '@/assets/js/common.js';
import mars3dViewerMap from "../../../components/mars3d/Map5.vue";
import * as mars3d from "mars3d";
import * as Cesium from "mars3d-cesium";
import kongzhidiantubiao from "../../../assets/images/cutGraph/kongzhidian1.png";
export default { export default {
name: 'environmentalMonitoring', name: 'environmentalMonitoring',
components: {
mars3dViewerMap,
},
data() { data() {
const basePathUrl = window.basePathUrl || '' const basePathUrl = window.basePathUrl || ''
return { return {
...@@ -91,8 +83,9 @@ export default { ...@@ -91,8 +83,9 @@ export default {
visible: false, visible: false,
loading: false, loading: false,
stuOpts: [ stuOpts: [
{label: '离线', value: 0}, {label: '全部', value: undefined},
{label: '在线', value: 1}, {label: '报警', value: 1},
{label: '正常', value: 0},
], ],
page: 1, page: 1,
size: 10, size: 10,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment