213 lines
6.4 KiB
Vue
213 lines
6.4 KiB
Vue
|
|
<template>
|
|||
|
|
<view class="page">
|
|||
|
|
<view class="container">
|
|||
|
|
<u-status-bar ></u-status-bar>
|
|||
|
|
<view class="nav-bar">
|
|||
|
|
<u-icon name="arrow-left" color="#000" size="20" @click="backTo" style="margin-left:10px"></u-icon>
|
|||
|
|
<view style="font-size:18px">视频监控</view>
|
|||
|
|
<view style="margin-right:10px;margin-top: 5px;">
|
|||
|
|
<image @click="popupOpen = true" src="../../static/images/filter.png" style="width: 20px; height: 20px"></image>
|
|||
|
|
<image src="../../static/images/star.svg" style="width: 19px; height: 19px;position: absolute;right: 37px;top: 11px;"></image>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="search-box">
|
|||
|
|
<view class="search-item">
|
|||
|
|
<view style="display:flex; justify-content: space-between; width: 18%;">
|
|||
|
|
<view @click="handleClick" class="search-item-text">{{ getSkTypeName }}</view>
|
|||
|
|
<u-icon name="arrow-down-fill" color="#000" size="16" v-show="switchIcon"></u-icon>
|
|||
|
|
<u-icon name="arrow-up-fill" color="#000" size="16" v-show="!switchIcon"></u-icon>
|
|||
|
|
</view>
|
|||
|
|
<view class="rain-input" style="width: 82%;">
|
|||
|
|
<u-input
|
|||
|
|
placeholder="请输入站点"
|
|||
|
|
prefixIcon="search"
|
|||
|
|
prefixIconStyle="font-size: 22px;color: #909399"
|
|||
|
|
@change="changeForm"
|
|||
|
|
:value="searchVal"
|
|||
|
|
></u-input>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<div class="scrollBox">
|
|||
|
|
<div
|
|||
|
|
class="itemBox"
|
|||
|
|
v-for="(item, index) in skData"
|
|||
|
|
:key="index"
|
|||
|
|
>
|
|||
|
|
<itemBox :data="item"/>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</view>
|
|||
|
|
<ToolBar :popupOpen="popupOpen" @form-submit="handleFormSubmit"/>
|
|||
|
|
<u-picker
|
|||
|
|
:show="show"
|
|||
|
|
ref="uPicker"
|
|||
|
|
:columns="columns"
|
|||
|
|
keyName="label"
|
|||
|
|
@confirm="confirm"
|
|||
|
|
@cancel="cancel"
|
|||
|
|
>
|
|||
|
|
</u-picker>
|
|||
|
|
</view>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
import moment from "moment";
|
|||
|
|
import ToolBar from "../toolBar"
|
|||
|
|
import itemBox from "./itemBox.vue"
|
|||
|
|
const skTypeOptions = [
|
|||
|
|
{ label:'全部',value:0 },
|
|||
|
|
{ label:'大(1)型',value:1 },
|
|||
|
|
{ label:'大(2)型',value:2 },
|
|||
|
|
{ label:'中型',value:3 },
|
|||
|
|
{ label:'小(1)型',value:4 },
|
|||
|
|
{ label:'小(2)型',value:5 },
|
|||
|
|
]
|
|||
|
|
const skTypeObj = {
|
|||
|
|
0:'全部',
|
|||
|
|
1:'大(1)型',
|
|||
|
|
2:'大(2)型',
|
|||
|
|
3:'中型',
|
|||
|
|
4:'小(1)型',
|
|||
|
|
5:'小(2)型',
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export default {
|
|||
|
|
components: {
|
|||
|
|
ToolBar,
|
|||
|
|
itemBox
|
|||
|
|
},
|
|||
|
|
data() {
|
|||
|
|
return {
|
|||
|
|
skData:[],
|
|||
|
|
popupOpen:false, //抽屉打开
|
|||
|
|
show: false,
|
|||
|
|
switchIcon:true,
|
|||
|
|
skType:0,//水库类型
|
|||
|
|
searchVal:'',//搜索文字
|
|||
|
|
columns:[
|
|||
|
|
skTypeOptions
|
|||
|
|
],
|
|||
|
|
};
|
|||
|
|
},
|
|||
|
|
computed: {
|
|||
|
|
getSkTypeName() {
|
|||
|
|
return skTypeObj[this.skType]
|
|||
|
|
},
|
|||
|
|
},
|
|||
|
|
methods: {
|
|||
|
|
async getSkData(){
|
|||
|
|
// const res = await uni.$http.get("/gunshiApp/xfflood/getLoginInfo");
|
|||
|
|
this.skData = [
|
|||
|
|
{name:'AA水库',danger:true, isStar:false,videoList:[{name:'摄像头1'},{name:'摄像头2'}]},
|
|||
|
|
{name:'AB水库',danger:true, isStar:true,videoList:[{name:'摄像头1'},{name:'摄像头2'},{name:'摄像头3'},{name:'摄像头4'},{name:'摄像头7'},]},
|
|||
|
|
{name:'BB水库',danger:false, isStar:true,videoList:[{name:'摄像头1'}]},
|
|||
|
|
{name:'BB水库',danger:false, isStar:true,videoList:[{name:'摄像头1'}]},
|
|||
|
|
{name:'BB水库',danger:false, isStar:true,videoList:[{name:'摄像头1'}]},
|
|||
|
|
{name:'BB水库',danger:false, isStar:true,videoList:[{name:'摄像头1'}]},
|
|||
|
|
{name:'BB水库',danger:false, isStar:true,videoList:[{name:'摄像头1'}]},
|
|||
|
|
];
|
|||
|
|
|
|||
|
|
console.log("--1-", this.userList);
|
|||
|
|
},
|
|||
|
|
backTo(){
|
|||
|
|
uni.navigateBack({delta:1})
|
|||
|
|
},
|
|||
|
|
handleClick(e){
|
|||
|
|
// if(this.selecetItem1.basName && this.selecetItem1.basName != "全部"){
|
|||
|
|
// e.stopPropagation();
|
|||
|
|
// return
|
|||
|
|
// }
|
|||
|
|
this.show = true;
|
|||
|
|
this.switchIcon = !this.switchIcon
|
|||
|
|
},
|
|||
|
|
changeForm(e){
|
|||
|
|
this.searchVal = e
|
|||
|
|
},
|
|||
|
|
confirm(e) {
|
|||
|
|
console.log('confirm', e)
|
|||
|
|
this.show = false
|
|||
|
|
this.switchIcon=true;
|
|||
|
|
this.skType = e.value[0].value
|
|||
|
|
},
|
|||
|
|
cancel(e) {
|
|||
|
|
this.show = false
|
|||
|
|
},
|
|||
|
|
handleFormSubmit(data) {
|
|||
|
|
console.log('接收到子组件的 formData:', data);
|
|||
|
|
this.popupOpen = false;
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
// 在组件实例被创建后立即调用。此时可以访问到 data 和 methods,但模板还未被渲染成 HTML,$el 属性不可用。适合做数据初始化
|
|||
|
|
created() {
|
|||
|
|
this.getSkData()
|
|||
|
|
},
|
|||
|
|
};
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<style lang="scss" scoped>
|
|||
|
|
.page{
|
|||
|
|
width: 100%;
|
|||
|
|
height: 100%;
|
|||
|
|
overflow: hidden;
|
|||
|
|
}
|
|||
|
|
.container {
|
|||
|
|
width: 100%;
|
|||
|
|
height: 100%;
|
|||
|
|
display: flex;
|
|||
|
|
flex-direction: column;
|
|||
|
|
}
|
|||
|
|
.nav-bar{
|
|||
|
|
display: flex;
|
|||
|
|
justify-content: space-between;
|
|||
|
|
align-items: center;
|
|||
|
|
width: 100%;
|
|||
|
|
height: 44px;
|
|||
|
|
border-bottom: 1px solid #dfdfdf;
|
|||
|
|
}
|
|||
|
|
.search-box{
|
|||
|
|
width: 100%;
|
|||
|
|
display: flex;
|
|||
|
|
justify-content: center;
|
|||
|
|
align-items: center;
|
|||
|
|
flex-direction: column;
|
|||
|
|
height: 70px;
|
|||
|
|
.search-item{
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
justify-content: space-between;
|
|||
|
|
width: 90%;
|
|||
|
|
padding: 5px;
|
|||
|
|
height: 30px;
|
|||
|
|
background-color: #ececec;
|
|||
|
|
border-radius: 5px;
|
|||
|
|
|
|||
|
|
.search-item-text{
|
|||
|
|
display: flex;
|
|||
|
|
flex: 1;
|
|||
|
|
justify-content: center;
|
|||
|
|
align-items: center;
|
|||
|
|
}
|
|||
|
|
.rain-input{
|
|||
|
|
.u-border{
|
|||
|
|
border-color: #ececec !important;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
.scrollBox{
|
|||
|
|
display: flex;
|
|||
|
|
flex-direction: column;
|
|||
|
|
flex: 1;
|
|||
|
|
overflow-y: auto;
|
|||
|
|
background: #eee;
|
|||
|
|
padding: 5px;
|
|||
|
|
|
|||
|
|
.itemBox{
|
|||
|
|
background: #ffffff;
|
|||
|
|
border-radius: 3px;
|
|||
|
|
margin-bottom: 5px;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</style>
|
|||
|
|
|