206 lines
4.4 KiB
Vue
206 lines
4.4 KiB
Vue
<template>
|
|
<view class="preciseWaterAndFertilizer">
|
|
<u-navbar :background="background" :is-back='true' back-icon-color='#FFFFFF' :border-bottom="false" title="精准水肥"
|
|
title-color='#FFFFFF' :title-bold='true' title-size='32'></u-navbar>
|
|
|
|
<view class="content">
|
|
<view class="item" v-for="item,index in deviceList" :key="index">
|
|
<image src="../../static/icon_precise.png" mode=""></image>
|
|
<view class="center">
|
|
<text>{{item.deviceTypeName}}</text>
|
|
<text
|
|
:class="item.deviceState == 1 ? 'state' : 'state_act'">{{ item.deviceState == 1 ? "在线" : "离线"}}</text>
|
|
</view>
|
|
<view class="right" @click="toFertilizer(item)">
|
|
<text>状态</text>
|
|
<image src="../../static/right-arrow.png" mode=""></image>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
data() {
|
|
return {
|
|
// 头部导航背景
|
|
background: {
|
|
backgroundColor: '#24B383',
|
|
},
|
|
deviceList: []
|
|
};
|
|
},
|
|
onLoad() {
|
|
uni.showLoading({
|
|
title: '加载中...'
|
|
})
|
|
uni.getStorage({
|
|
key: 'token',
|
|
success: function(res) {
|
|
that.getEquipmentInfo(uni.getStorageSync('userid'))
|
|
},
|
|
fail: function(err) {
|
|
uni.reLaunch({
|
|
url: '/pages/login/login'
|
|
})
|
|
}
|
|
})
|
|
const that = this
|
|
setInterval(function() {
|
|
uni.getStorage({
|
|
key: 'token',
|
|
success: function(res) {
|
|
uni.showLoading({
|
|
title: '加载中...'
|
|
})
|
|
that.getEquipmentInfo(uni.getStorageSync('userid'))
|
|
}
|
|
})
|
|
}, 120000);
|
|
|
|
},
|
|
onPullDownRefresh() {
|
|
uni.showLoading({
|
|
title: '加载中...'
|
|
})
|
|
const that = this
|
|
uni.getStorage({
|
|
key: 'token',
|
|
success: function(res) {
|
|
that.getEquipmentInfo(uni.getStorageSync('userid'))
|
|
}
|
|
})
|
|
},
|
|
methods: {
|
|
// 离线或者在线
|
|
toFertilizer(item) {
|
|
uni.navigateTo({
|
|
url: '/pages/fertilizer_machine/fertilizer_machine?id=' + item.deviceId
|
|
})
|
|
},
|
|
|
|
// 根据用户id查询对应的设备数据
|
|
getEquipmentInfo(userid) {
|
|
let that = this
|
|
this.$http({
|
|
url: this.api.sel_eqbyid + userid,
|
|
method: 'GET'
|
|
}).then(res => {
|
|
// console.log(res, '根据用户id查询对应的设备数据');
|
|
if (res.code == 200) {
|
|
uni.hideLoading()
|
|
uni.stopPullDownRefresh();
|
|
this.deviceList = res.data
|
|
}else {
|
|
this.$refs.uToast.show({
|
|
title: res.msg,
|
|
type: 'error',
|
|
})
|
|
}
|
|
})
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss">
|
|
.preciseWaterAndFertilizer {
|
|
width: 100%;
|
|
min-height: 100vh;
|
|
background-color: #F5F6FA;
|
|
|
|
.content {
|
|
box-sizing: border-box;
|
|
padding: 30rpx;
|
|
|
|
.item {
|
|
width: 690rpx;
|
|
height: 100rpx;
|
|
background: #FFFFFF;
|
|
box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(153, 153, 153, 0.1);
|
|
border-radius: 15rpx;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
box-sizing: border-box;
|
|
padding: 0 20rpx 0 26rpx;
|
|
margin-bottom: 10rpx;
|
|
|
|
>image {
|
|
width: 60rpx;
|
|
height: 56rpx;
|
|
margin-right: 14rpx;
|
|
}
|
|
|
|
.center {
|
|
display: flex;
|
|
align-items: center;
|
|
flex: 1;
|
|
|
|
>text:nth-child(1) {
|
|
font-size: 34rpx;
|
|
font-family: PingFang-SC-Bold;
|
|
font-weight: bold;
|
|
color: #333333;
|
|
margin-right: 11rpx;
|
|
}
|
|
|
|
>.state {
|
|
width: 66rpx;
|
|
height: 34rpx;
|
|
background: #EFFCF7;
|
|
border: 2px solid rgba(58, 187, 144, 0.25);
|
|
border-radius: 17rpx;
|
|
font-size: 20rpx;
|
|
font-family: PingFang-SC-Bold;
|
|
font-weight: bold;
|
|
color: #24B383;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
|
|
>.state_act {
|
|
width: 66rpx;
|
|
height: 34rpx;
|
|
background: #F5F6FA;
|
|
border: 2px solid #E1E2E6;
|
|
border-radius: 17rpx;
|
|
font-size: 20rpx;
|
|
font-family: PingFang-SC-Bold;
|
|
font-weight: bold;
|
|
color: #999999;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
}
|
|
|
|
.right {
|
|
width: 120rpx;
|
|
height: 54rpx;
|
|
background: #F5F6FA;
|
|
border: 2px solid #E1E2E6;
|
|
border-radius: 10rpx;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
|
|
>text {
|
|
font-size: 28rpx;
|
|
font-family: PingFang SC;
|
|
font-weight: bold;
|
|
color: #666666;
|
|
}
|
|
|
|
>image {
|
|
width: 12rpx;
|
|
height: 20rpx;
|
|
margin-left: 20rpx;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style> |