jsy-app/pages/fourmonitor/index.vue
2025-01-17 19:43:28 +08:00

191 lines
5.7 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<z-paging ref="paging" use-virtual-list @query="queryList" bg-color="#F3F3F3" :loading-more-enabled="false">
<template #top>
<custom-nav-bar :left="true" title="农情"></custom-nav-bar>
</template>
<template #cell="{item}">
<view class="card" @click="onClickItem(item)" v-if="item.deviceTypeId==6">
<view class="cards-title">
<view>
<view class="text" v-if="item.deviceTypeId==6">气象站{{item.deviceCode}}</view>
</view>
</view>
<view class="content">
<view class="cards-content">
<view class="txt-list">
<view class="list2">
<view><text>降雨</text>{{item.deviceData.rt?item.deviceData.rt:"--"}}mm</view>
<view><text>风速</text>{{item.deviceData.ws?item.deviceData.ws:"--"}}m/s </view>
<view><text>状态</text><text class="font-green" v-if="item.status=='online'">在线</text>
<text class="font-red" v-if="item.status=='offline'">离线</text>
</view>
</view>
<view class="right">
<view class="iconfont icon-you">
</view>
</view>
</view>
</view>
</view>
</view>
<view class="card" @click="onClickItem(item)" v-if="item.deviceTypeId==7">
<view class="cards-title">
<view>
<view class="text">虫情:{{item.deviceCode}}</view>
</view>
</view>
<view class="content">
<view class="cards-content">
<view class="txt-list">
<!-- <view class="list1" v-if="item.deviceData.aal">
<view><text>虫情报告</text>内容内容内容内容内容内容</view>
<view><text>报告时间</text>2024-12-11</view>
</view> -->
<view class="list2">
<view><text>运行模式</text>{{item.deviceData== '1'? '自动':'手动'}}</view>
<view><text>状态</text><text class="font-green" v-if="item.status=='online'">在线</text>
<text class="font-red" v-if="item.status=='offline'">离线</text>
</view>
</view>
<view class="right">
<view class="iconfont icon-you">
</view>
</view>
</view>
</view>
</view>
</view>
<view class="card" @click="onClickItem(item)" v-if="item.deviceTypeId==8">
<view class="cards-title">
<view>
<view class="text">孢子{{item.deviceCode}}</view>
</view>
</view>
<view class="content">
<view class="cards-content">
<view class="txt-list">
<!-- <view class="list1">
<view><text>孢子报告</text>内容内容内容内容内容内容</view>
<view><text>报告时间</text>2024-12-11</view>
</view> -->
<view class="list2">
<view><text>运行模式</text>{{item.deviceData== '1'? '自动':'手动'}}</view>
<view><text>状态</text><text class="font-green" v-if="item.status=='online'">在线</text>
<text class="font-red" v-if="item.status=='offline'">离线</text>
</view>
</view>
<view class="right">
<view class="iconfont icon-you">
</view>
</view>
</view>
</view>
</view>
</view>
<view class="card" @click="onClickItem(item)" v-if="item.deviceTypeId==9">
<view class="cards-title">
<view>
<view class="text">监控{{item.deviceCode}}</view>
</view>
</view>
<view class="content">
<view class="cards-content">
<view class="txt-list">
<view class="list2">
<view><text>状态</text><text class="font-green" v-if="item.status=='online'">在线</text>
<text class="font-red" v-if="item.status=='offline'">离线</text>
</view>
</view>
<view class="right">
<view class="iconfont icon-you">
</view>
</view>
</view>
</view>
</view>
</view>
</template>
</z-paging>
</template>
<script>
import {
checkPermi
} from "@/utils/permission"
import store from "@/store"
import plugin from "@/plugins"
import {
getOtherDeviceList
} from "@/api/system/controlOtherInterface"
import {
getAccessTokenAndUrl
} from "@/api/system/outdevice";
export default {
data() {
return {
ijs: getApp().ijs, // 首页公共js
title: "",
isFirst: true,
user: store.state.user.user,
query: {
companyGroupId: null,
},
accessToken: null,
ezopenUrl: null
}
},
onShow() {
if (this.ijs.land) {
this.query.companyGroupId = this.ijs.land.companyGroupId;
this.queryList();
}
},
methods: {
queryList() {
if (!this.query.companyGroupId) {
return;
}
getOtherDeviceList(this.query.companyGroupId).then(res => {
console.log(res)
this.$refs.paging.complete(res.data)
});
},
// 获取地块信息
getLand(e) {
this.ijs.getLand(e.node).then(res => {
this.$refs.landRef.addLand(e, res.data);
});
},
// 地块选择回调
landChange(e) {
this.title = e.landName;
this.query.landId = land.id;
queryList();
},
onClickItem(item) {
if (item.deviceTypeId === 6) {
plugin.tab.navigateTo("/pages/fourmonitor/weatherstation?item=" + encodeURIComponent(JSON.stringify(
item)))
}
if (item.deviceTypeId === 7) {
plugin.tab.navigateTo("/pages/fourmonitor/pest?item=" + encodeURIComponent(JSON.stringify(item)))
}
if (item.deviceTypeId === 8) {
plugin.tab.navigateTo("/pages/fourmonitor/spore?item=" + encodeURIComponent(JSON.stringify(item)))
}
if (item.deviceTypeId === 9) {
if (!item.ezopenUrl1 || !item.ezopenUrl2) {
plugin.modal.msgError("获取播放地址失败!");
return;
}
plugin.tab.navigateTo("/pages/fourmonitor/camera?item=" + encodeURIComponent(JSON.stringify(item)))
}
}
}
}
</script>
<style lang="scss" scoped>
.txt-list .left ::v-deep text:first-child {
width: auto;
}
</style>