You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
158 lines
4.7 KiB
158 lines
4.7 KiB
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
|
<link rel="shortcut icon" href="../../image/oss/iot/favicon2.ico" type="image/x-icon" />
|
|
<link rel="stylesheet" href="../../lib/element-ui/index.css" />
|
|
<link rel="stylesheet" href="./css/index.css" />
|
|
<script src="../common/util.js"></script>
|
|
<script src="../../lib/bigscreen/js/vue.min.js"></script>
|
|
<script src="../../lib/bigscreen/lib/jquery/jquery-1.9.1.min.js"></script>
|
|
<script type="text/javascript" src="../../lib/layer/layer.js"></script>
|
|
<script src="../../lib/element-ui/index.js"></script>
|
|
<title>视频列表</title>
|
|
</head>
|
|
<body>
|
|
<div id="app" v-cloak >
|
|
<div class="search">
|
|
<el-form :inline="true" :model="param" class="demo-form-inline">
|
|
<el-form-item label="名称">
|
|
<el-input v-model="param.name" clearable placeholder="名称"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="项目名称">
|
|
<el-select v-model="param.scene_id" clearable placeholder="请选择">
|
|
<el-option
|
|
v-for="item in sceneData"
|
|
:key="item.id"
|
|
:label="item.name"
|
|
:value="item.id">
|
|
</el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-button type="primary" @click="onSubmit">查询</el-button>
|
|
</el-form-item>
|
|
</el-form>
|
|
</div>
|
|
<div style="margin-top: 10px;">
|
|
<el-row :gutter="20">
|
|
<el-col :span="3" class="self-width" v-for="item in videoData" >
|
|
<div class="video-container" @click="lokdetailInfo(item)" >
|
|
<el-avatar :size="50" :src="circleUrl"></el-avatar>
|
|
<div style="margin-left: 15px;">
|
|
<span style="display: inline-block;" >{{item.name}}</span>
|
|
<span style="display: inherit;color: #666;font-size: 14px;" >{{item.scene_name}}</span>
|
|
</div>
|
|
|
|
<img style="height: 20px; margin-right:10px; margin-left: auto;" alt="" src="./imgs/arrow.png">
|
|
</div>
|
|
</el-col>
|
|
</el-row>
|
|
</div>
|
|
<el-pagination
|
|
background
|
|
:hide-on-single-page="page_value"
|
|
layout="prev, pager, next"
|
|
:page-size="pageform.pageSize"
|
|
@current-change="changePage"
|
|
:total="pageform.totalCount">
|
|
</el-pagination>
|
|
</div>
|
|
|
|
<script type="text/javascript">
|
|
var app = new Vue({
|
|
el: '#app' ,
|
|
data: function(){
|
|
return {
|
|
param: {} , // 表单
|
|
tableData: [], // 表格数据
|
|
sceneData: [] , // 项目信息
|
|
circleUrl: './imgs/camera.png' ,
|
|
searchContion: {} , // 查询条件
|
|
videoData: [] , // 摄像头信息
|
|
page_value: true , // 页面隐藏
|
|
pageform:{//分页参数
|
|
pageSize:20,
|
|
totalCount:0,
|
|
page:1,
|
|
},
|
|
}
|
|
},
|
|
methods: {
|
|
handleClick(access_id) {
|
|
// 权限管理
|
|
layer.open({
|
|
type: 2,
|
|
title: '权限管理',
|
|
shadeClose: true,
|
|
shade: 0.4,
|
|
area: ['100%', '100%'],
|
|
content: baseurl + "/page/access/access_auth.html?id=" + access_id
|
|
});
|
|
},
|
|
onSubmit(){
|
|
// 查询
|
|
this.pageform.page = 1;
|
|
this.searchContion = $.extend({},this.param );
|
|
this.initVideoInfo( this.param , this.pageform.page ) ;
|
|
},
|
|
changePage(page){
|
|
this.pageform.page = page;
|
|
this.initVideoInfo(this.param , this.pageform.page) ;
|
|
},
|
|
initVideoInfo(data, paged ){
|
|
// 摄像头查询
|
|
commonAjax('POST',baseurl+"/service/page/video?paged="+ paged +"&pageSize=" + this.pageform.pageSize , data ,function(res){
|
|
if(isOk(res)){
|
|
var dt = res.data.data ;
|
|
app.videoData = dt ;
|
|
app.pageform.totalCount = res.data.totalCount;
|
|
if( res.data.totalCount > app.pageform.pageSize ){
|
|
app.page_value = false ;
|
|
}
|
|
}else{
|
|
app.page_value = true ;
|
|
app.videoData = [] ;
|
|
}
|
|
});
|
|
},
|
|
initSceneData(data){
|
|
// 项目查询
|
|
commonAjax('POST',baseurl+"/service/page/scene?paged=1&pageSize=100", data ,function(res){
|
|
if(isOk(res)){
|
|
var dt = res.data.data ;
|
|
app.sceneData = dt ;
|
|
}
|
|
});
|
|
},
|
|
lokdetailInfo(obj){
|
|
layer.open({
|
|
type: 2,
|
|
title: '摄像头详情',
|
|
shadeClose: true,
|
|
shade: 0.4,
|
|
area: ['95%', '753px'],
|
|
content: baseurl + "/service/iot/video?id="+ obj.id +"&sid=" + obj.scene_id
|
|
});
|
|
}
|
|
},
|
|
created(){
|
|
|
|
},
|
|
mounted(){
|
|
// 项目信息初始化
|
|
this.initSceneData({});
|
|
// 摄像头查询
|
|
this.initVideoInfo( {} , 1 ) ;
|
|
// 定时任务
|
|
setInterval(function() {
|
|
app.initVideoInfo( app.searchContion , app.pageform.page ) ;
|
|
}, 6000);
|
|
}
|
|
});
|
|
</script>
|
|
</body>
|
|
|