FenXiNspUniapp/packDetail/pages/vidio/detail.vue

436 lines
9.8 KiB
Vue

<template>
<view class="container">
<uni-nav-bar :fixed="true" left-icon="left" background-color="#0F6EFF" @clickLeft="back()" status-bar :title="item.stationName"/>
<view class="liebiaos">
<view class="list_item">
<view class="list_item_top">
<view class="list_item_left">
<image v-if="item.deviceInfo.deviceIcon" :src="baseUrl + '/applet/common/static/' + item.deviceInfo.deviceIcon" mode=""></image>
<view class="item_right">
<view class="right_top" v-if="item.deviceInfo.deviceName">
{{item.deviceInfo.deviceName}}
</view>
<view class="right_bot">
<image src="../../static/shebei_icon_zhibiao.png" mode=""></image>
<view class="">监测指标:{{survItem.length || 0}} 项</view>
</view>
</view>
</view>
<view class="state">
<view class="" v-if="item.isOnline == 1">
在线
</view>
<view class="" v-else>
离线
</view>
<image v-if="item.isOnline == 1" src="../../static/zhandian_icon_zaixian .png" mode="" class="zt"></image>
<image v-else src="../../static/zhandian_icon_lixian.png" mode="" class="zt"></image>
</view>
</view>
<view class="list_item_bot">
<view class="bots_item" v-if="item.deviceInfo.deviceManufacturer">
<image src="../../static/shebei_icon_pinpai.png" mode=""></image>
<view class="pp">
设备品牌:
</view>
<view class="mz">
{{item.deviceInfo.deviceManufacturer}}
</view>
</view>
<view class="bots_item" style="margin-top: 34rpx;" v-if="item.deviceInfo.deviceModel">
<image src="../../static/shebei_icon_xinghao.png" mode=""></image>
<view class="pp">
设备型号:
</view>
<view class="mz">
{{item.deviceInfo.deviceModel}}
</view>
</view>
<view class="bots_item" style="margin-top: 34rpx;" v-if="survItem.length != 0">
<!-- <view style="display: flex;align-items: center;height: 34rpx;">
<image src="../../static/shebei_icon_jiancezhibiao.png" mode=""></image>
<view class="pp">
监测指标:
</view>
</view> -->
<view class="jstimerig_bot">
<view style="display: flex;align-items: center;height: 34rpx;">
<image src="../../static/shebei_icon_jiancezhibiao.png" mode=""></image>
<view class="pp">
监测指标:
</view>
</view>
<view class="tag-view" v-for="(item,index) in survItem" :key="index">
<view :style="{background:item.color}" class="tag">{{item.name}}</view>
</view>
</view>
</view>
</view>
</view>
<view class="sssjjc">
<view class="sssjjc_left">
实时数据监测
</view>
<view class="topnum">
累计 <span class="number">{{list.length}}</span>条
</view>
</view>
<view class="scrolllist">
<view class="scrolltop" v-if="list.length != 0">
<view class="tabitem" v-for="(item,index) in tabList" :key="index">
{{item}}
</view>
</view>
<scroll-view style="height: 550rpx;" scroll-y="true" class="scroll-Y">
<block v-if="list.length != 0">
<view class="lists_item" v-for="(item,index) in list" :key="index">
<view class="jczbs">
{{item.name}}
</view>
<view class="zbz">
{{item.value || 0}}{{item.unit}}
</view>
<!-- <view class="szqs">
<image v-if="item.type == 1" src="../../../static/home_shuju_shang.png" mode=""></image>
<image v-if="item.type == 0" src="../../../static/home_shuju_xia.png" mode=""></image>
<view class="szqss" v-if="item.type == 2"></view>
</view> -->
<view class="sbsj">
{{item.dataDateTime}}
</view>
</view>
<view class="zwgd" style="width: 100%;height: 100rpx; line-height: 100rpx;text-align: center;color: #c6c6c6;">
暂无更多数据
</view>
</block>
<view class="load" v-else>
暂无数据
</view>
</scroll-view>
</view>
</view>
</view>
</template>
<script>
import api from "@/api/api"
import configService from '@/common/service/config.service.js';
export default{
data(){
return{
item:{},
baseUrl:configService.apiUrl,
tabList:['监测指标','指标值','上报时间'],
colorList:['#22BB8A','#EE701C','#52AC2A','#2BADB9','#D75A28','#AD8F49','#26A3CC','#6C48C7','#22BB8A','#415FBE','#52AC2A','#EE701C'],
list:[],
deployCode:'',
survItem:[]
}
},
onLoad(options) {
console.log(JSON.parse(decodeURIComponent(options.item)))
this.item = JSON.parse(decodeURIComponent(options.item));
},
onShow() {
this.getsssj()
},
methods:{
getsssj(){
let params = {}
params.deployCode = this.item.deployCode
params.deployId = this.item.id
this.$http.get('/applet/wxclient/getSurvDataByDevice',{params:params}).then(res=>{
this.list = res.data.data.dataList
this.survItem = res.data.data.zhibiao
for(var i=0;i<this.list.length;i++){
this.list[i].value = (Math.floor(this.list[i].value * 100) / 100).toFixed(2)
}
})
},
back(){
uni.navigateBack({
delta:1
})
},
}
}
</script>
<style lang="scss">
.uni-nav-bar {
height: 44px;
}
.uni-nav-bar-text {
font-size: 32rpx !important;
font-family: Source Han Sans SC;
color: #FFFFFF !important;
}
.uni-nav-bar__left,
.uni-nav-bar__right {
color: #FFFFFF !important;
}
.uni-navbar__content {
border: 0 none !important;
}
.uni-navbar__header-container-inner{
padding: 0 40rpx;
box-sizing: border-box;
/* 文本不折行 */
white-space: nowrap;
/* 溢出隐藏 */
overflow: hidden;
}
.uni-icons{
color: #FFFFFF !important;
}
page{
height: 100%;
}
.container{
height: 100%;
}
.liebiaos{
padding: 28rpx 32rpx;
}
.list_item{
width: 100%;
padding: 37rpx 34rpx 28rpx;
background: #FFFFFF;
border-radius: 34rpx;
margin-bottom: 42rpx;
position: relative;
}
.list_item:last-child{
margin-bottom: 0;
}
.list_item_top{
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
margin-bottom: 64rpx;
}
.list_item_left{
display: flex;
align-items: center;
}
.list_item_left image{
width: 73rpx;
height: 73rpx;
margin-right: 18rpx;
}
.item_right{
height: 76rpx;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.right_top{
font-size: 32rpx;
font-family: Source Han Sans SC;
font-weight: 500;
color: #2F3841;
}
.right_bot{
display: flex;
align-items: center;
font-size: 24rpx;
font-family: Source Han Sans SC;
font-weight: 400;
color: #9CA9BE;
}
.right_bot image{
height: 26rpx;
width: 24rpx;
margin-right: 11rpx;
}
.jt{
width: 40rpx;
height: 48rpx;
}
.state{
background: #F6F6F6;
border-top-left-radius: 26rpx;
border-bottom-left-radius: 26rpx;
width: 171rpx;
height: 52rpx;
font-size: 24rpx;
font-family: Source Han Sans SC;
font-weight: 400;
color: #5F7088;
display: flex;
align-items: center;
padding-left: 24rpx;
box-sizing: border-box;
position: absolute;
top: 31rpx;
right: -32rpx;
}
.zt{
width: 24rpx;
height: 24rpx;
margin-left: 18rpx;
}
.bots_item{
display: flex;
align-items: center;
}
.bots_item image{
width: 24rpx;
height: 24rpx;
margin-right: 12rpx;
}
.pp{
font-size: 26rpx;
font-family: Source Han Sans SC;
font-weight: 500;
color: #142E55;
margin-right: 38rpx;
min-width: 112rpx;
}
.mz{
font-size: 26rpx;
font-family: Source Han Sans SC;
font-weight: 400;
color: #566070;
}
.jstimerig_bot{
font-size: 26rpx;
font-family: Source Han Sans SC;
font-weight: 400;
color: #566070;
display: flex;
flex-wrap: wrap;
}
.tag{
padding: 6rpx 12rpx 6rpx 12rpx;
border-radius: 6rpx;
margin-right: 12rpx;
margin-bottom: 15rpx;
font-size: 24rpx;
font-family: Source Han Sans SC;
font-weight: 500;
color: #FFFFFF;
}
.tag:nth-child(4n){
margin-right: 0;
}
.sssjjc{
padding: 0 31rpx 26rpx 34rpx;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: space-between;
}
.topnum{
font-size: 24rpx;
font-family: Source Han Sans SC;
font-weight: 500;
color: #B3C1D1;
}
.number{
font-size: 34rpx;
font-family: DIN Next LT Pro;
font-weight: 500;
color: #2AC166;
margin-left: 15rpx;
margin-right: 15rpx;
}
.sssjjc_left{
font-size: 32rpx;
font-family: Source Han Sans SC;
font-weight: bold;
color: #2F3841;
}
.scrolllist{
width: 100%;
// height: 1095rpx;
background: #FFFFFF;
border-radius: 34rpx;
padding: 35rpx 0rpx 37rpx 0rpx;
}
.scrolltop{
padding: 0rpx 32rpx 16rpx 32rpx;
display: flex;
justify-content: space-between;
border-bottom: 2rpx solid #F6F8FB;;
width: 100%;
}
.tabitem{
font-size: 26rpx;
font-family: Source Han Sans SC;
font-weight: 500;
color: #2F3841;
display: inline-block;
padding-bottom: 26rpx;
}
.tabitem:first-child{
width: 30%;
// text-align: center
}
.tabitem:nth-child(2){
width: 30%;
// text-align: center
}
.tabitem:nth-child(3){
flex: 1;
// text-align: center
}
.scroll-Y{
padding: 0 32rpx 0 32rpx;
box-sizing: border-box;
}
.lists_item{
padding-top: 35rpx;
box-sizing: border-box;
display: flex;
}
.jczbs{
width: 30%;
font-size: 24rpx;
font-family: Source Han Sans SC;
font-weight: 400;
color: #667482;
// text-align: center
}
.zbz{
width: 30%;
font-size: 24rpx;
font-family: DIN Next LT Pro;
font-weight: 400;
color: #2FCD81;
// text-align: center
}
.zbzs{
color: #2FCD81;
}
.szqs{
width: 53rpx;
display: flex;
align-items: center;
justify-content: center;
}
.szqs image{
width: 24rpx;
height: 31rpx;
}
.sbsj{
font-size: 24rpx;
font-family: Source Han Sans SC;
font-weight: 400;
color: #667482;
flex: 1;
// text-align: center
// text-align: right;
}
.szqss{
width: 24rpx;
}
.load {
height: 100%;
line-height: 550rpx;
text-align: center;
color: #c6c6c6;
font-size: 32rpx;
}
</style>