basicInfo.vue
2.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<template>
<view class="basic-page">
<!-- 公共组件-每个页面必须引入 -->
<public-module />
<view class="u-flex" style="justify-content: space-between;height: 140rpx;background-color: #fff;border-radius: 18px;">
<view class="u-flex">
<view style="margin-left: 20rpx;">
{{deviceDetail.name}}
</view>
<view style="margin-left: 20rpx; font-size: 14px;" :style="{color:deviceDetail.deviceState==='INACTIVE'?'#666':deviceDetail.deviceState==='ONLINE'?'#377DFF':'#DE4437'}">
{{deviceDetail.deviceState==='INACTIVE'?'未激活':deviceDetail.deviceState==='ONLINE'?'在线':'离线'}}
</view>
</view>
<view style="margin-right: 20rpx;">
<u-button type="primary" shape="circle" size="mini" text="下发命令" @click="showModal"/>
</view>
</view>
<view style="margin-top: 40rpx;height: 577rpx;background-color: #fff;border-radius: 20px;">
<u-list>
<u-list-item>
<u-cell :title="deviceDetail.sn">
<view slot="icon">设备编号</view>
</u-cell>
</u-list-item>
<u-list-item>
<u-cell :title="deviceType">
<view slot="icon">设备类型</view>
</u-cell>
</u-list-item>
<u-list-item>
<u-cell :title="deviceDetail.organizationDTO.name">
<view slot="icon">所属组织</view>
</u-cell>
</u-list-item>
<u-list-item>
<u-cell :title="formatLastOnlineTime">
<view slot="icon">最后连接时间</view>
</u-cell>
</u-list-item>
<u-list-item>
<u-cell :title="alarmStatus">
<view slot="icon">是否告警</view>
</u-cell>
</u-list-ite>
<u-cell :title="deviceDetail.description">
<view slot="icon">设备描述</view>
</u-cell>
</u-list-item>
</u-list>
</view>
<!-- 下发指令 -->
<u-modal :show="showModel" title="命令下发" closeOnClickOverlay showCancelButton @close="hiddenModal" @cancel="hiddenModal" @confirm="handleConfirm" >
<u--textarea placeholder="请输入命令内容" v-model="formModel.intro" count />
</u-modal>
<f-tabbar />
</view>
</template>
<script>
import {formatToDate} from '@/plugins/utils.js';
export default {
props:{
deviceDetail:{
type:Object,
default:()=>({}),
}
},
data() {
return {
showModel: false,
};
},
computed:{
deviceType(){
return this.deviceDetail.deviceType==='DIRECT_CONNECTION'?'直连设备':this.deviceDetail.deviceType==='GATEWAY'?'网关设备':this.deviceDetail.deviceType==='SENSOR'?'网关子设备':''
},
alarmStatus(){
return this.deviceDetail.alarmStatus === '0'?'否':'是'
},
formatLastOnlineTime(){
return formatToDate(Number(this.deviceDetail.lastOnlineTime),'YYYY-MM-DD HH:mm:ss')
}
},
onLoad(e) {
// 隐藏原生的tabbar
uni.hideTabBar();
},
onMounted(){
console.log(this.deviceDetail)
},
methods: {
showModal() {
this.showModel = true;
},
hiddenModal(){
this.showModel = false;
},
handleConfirm(){
console.log('确定')
}
}
};
</script>