李程龙 3 lat temu
rodzic
commit
40fb72633a

+ 4 - 2
api/pest.js

@@ -4,8 +4,10 @@ import request from '@/utils/request/index.js'
  */
 
 // 病害监测数据请求父类函数
-const pestRequest = (url, data) => request.post(`api/api_gateway?method=pest.pests.${url}`, data);
-
+const pestRequest = async (url, data) => {
+	const res = await request.post(`api/api_gateway?method=pest.pests.${url}`, data);
+	return res?.data;
+}
 
 // 病虫害库
 export const loadPestList = (data) => pestRequest('pests_info',data);

+ 4 - 2
api/worm.js

@@ -4,9 +4,11 @@ import request from '@/utils/request/index.js'
  */
 
 //  虫情监测模块请求父类函数
-const wormRequest = (url, params) => request.post(`api/api_gateway?method=forecast.worm_lamp.${url}`, params);
-
 
+const wormRequest  = async (url, data) => {
+	const res = await request.post(`api/api_gateway?method=forecast.worm_lamp.${url}`, data);
+	return res?.data;
+}
 
 // 测报灯列表
 export const getWormLampList = (params) => wormRequest('lamp_list',params);

+ 3 - 9
components/ui-empty/ui-empty.vue

@@ -1,7 +1,7 @@
 <template>
 	<!-- 全局 空提示 -->
 	<view class="ui-empty center" :style="{marginTop:top+'px'}" v-if="show">
-		<image :src="`/static/empty/${icons[icon]}`" class="empty-icon" mode="widthFix"></image>
+		<image src="@/static/empty/content.png" class="empty-icon" mode="widthFix"></image>
 		<text class="center ui-empty__text">{{text}}</text>
 		<view class="center ui-empty__wrap" v-if="$slots.default || $slots.$default">
 			<slot />
@@ -17,18 +17,12 @@
 		name: "ui-empty",
 		data() {
 			return {
-				// 图标对象
-				icons: {
-					content: 'content.png', // 内容
-				}
+			
 			}
 		},
 		
 		props: {
-			icon: {
-				type: String,
-				default: 'order'
-			},
+			
 			text: {
 				type: String,
 				default: '暂无内容'

+ 25 - 6
pages/pest/index.vue

@@ -1,17 +1,15 @@
 <template>
 	<!-- 病虫害百科 -->
 	<view>
-		<ui-search placeholder="请输入害虫名字"></ui-search>
+		<ui-search placeholder="请输入害虫名字" @confirm="searchLampList"></ui-search>
 		<ui-tabs :list="tabs" :active="1"></ui-tabs>
 		<!-- 病虫害百科列表 -->
 		<view class="page-panel pest-panel">
 			<block v-for="(item,index) in pestList" :key="index">
 				<view class="pest-item">
-					<image class="pic" mode="aspectFill"
-						src="https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-uni-app-doc/6acec660-4f31-11eb-a16f-5b3e54966275.jpg">
-					</image>
+					<image class="pic" mode="aspectFill" :src="item.img_urls"></image>
 					<view class="row-center p-10">
-						<text class="text">苹果白粉病</text>
+						<text class="text">{{item.name}}</text>
 					</view>
 				</view>
 			</block>
@@ -20,11 +18,23 @@
 </template>
 
 <script>
+	import {
+		loadPestList
+	} from '@/api/pest.js'
 	export default {
 		data() {
 			return {
 				// 病虫害百科列表
-				pestList: [{}, {}, {}, {}, {}],
+				pestList: [],
+				tabValue: 1, // 当前状态
+				// 搜索条件列表
+				params: {
+					code: 1,
+					page: 1,
+					page_size: 8,
+					pest_name: ''
+				},
+				// tabs列表
 				tabs: [{
 					text: '虫害百科',
 					value: 1
@@ -33,6 +43,15 @@
 					value: 2
 				}, ]
 			};
+		},
+		onLoad() {
+
+		},
+		methods: {
+			// 获取虫害列表
+			async getPestList() {
+				let res = await loadPestList(this.params);
+			}
 		}
 	}
 </script>

+ 1 - 1
pages/weather/index.vue

@@ -83,7 +83,7 @@
 				const {
 					ids,
 					nums
-				} = await getWeatherDeviceList();
+				} = await getWeatherDeviceList(this.params);
 				this.deviceList = [...this.deviceList, ...ids];
 				this.total = nums ?? 0;
 			},

+ 3 - 0
pages/worm/analyse.vue

@@ -79,6 +79,9 @@
 </template>
 
 <script>
+	import {
+		getWormLampList
+	} from '@/api/worm.js'
 	import areaCharts from './components/w-area-charts.vue'
 	import pieCharts from './components/w-pie-charts.vue'
 	export default {

+ 146 - 35
pages/worm/details.vue

@@ -4,25 +4,25 @@
 		<!-- 设备卡片 -->
 		<view class="ui-card forecast-card">
 			<view class="flex-1">
-				<view class="font-16 title">设备名称:1号气象站</view>
-				<view class="text">设备ID:87845748629</view>
-				<view class="text text-ellipsis">地址:河南省郑州市北三环文化路河南省郑州市北三环文化路</view>
-				<view class="text">最新上报时间:2022-08-31 11:21:01</view>
+				<view class="font-16 title">设备名称:{{lampDetails.device_name}}</view>
+				<view class="text">设备ID:{{deviceId}}</view>
+				<view class="text text-ellipsis">地址:{{lampDetails.address}}</view>
+				<view class="text">最新上报时间:{{lampDetails.device_name}}</view>
 			</view>
 			<view class="font-12 state">预警</view>
 		</view>
 		<!-- 设备卡片end -->
 		<!-- 导航选项 -->
 		<view class="ui-card  worm-nav">
-			<navigator url="image" class="worm-nav-item" hover-class="none">
+			<navigator :url="`image?id=${deviceId}`" class="worm-nav-item" hover-class="none">
 				<view class="icon"></view>
 				<view class="text">查看图片</view>
 			</navigator>
-			<navigator url="analyse" class="worm-nav-item" hover-class="none">
+			<navigator :url="`analyse?id=${deviceId}`" class="worm-nav-item" hover-class="none">
 				<view class="icon"></view>
 				<view class=" text">害虫分析</view>
 			</navigator>
-			<navigator url="history" class="worm-nav-item" hover-class="none">
+			<navigator :url="`history?id=${deviceId}`" class="worm-nav-item" hover-class="none">
 				<view class="icon"></view>
 				<view class="text">历史数据</view>
 			</navigator>
@@ -37,22 +37,99 @@
 			<view class="ui-card latest-item">
 				<view class="icon"></view>
 				<view class="column-between text-info font-12">
-					<view class="text">空气温度(°C)</view>
-					<view class="text">60.4</view>
+					<view class="text">在线状态</view>
+					<view class="text">{{lampDetails.is_online==1?'在线':'离线'}}</view>
 				</view>
 			</view>
 			<view class="ui-card latest-item">
 				<view class="icon"></view>
 				<view class="column-between text-info font-12">
-					<view class="text">空气温度(°C)</view>
-					<view class="text">60.4</view>
+					<view class="text">开机状态</view>
+					<view class="text">{{lampDetails.ds==1?'开机':'关机'}}</view>
 				</view>
 			</view>
 			<view class="ui-card latest-item">
 				<view class="icon"></view>
 				<view class="column-between text-info font-12">
-					<view class="text">空气温度(°C)</view>
-					<view class="text">60.4</view>
+					<view class="text">通道状态</view>
+					<view class="text"></view>
+				</view>
+			</view>
+			<view class="ui-card latest-item">
+				<view class="icon"></view>
+				<view class="column-between text-info font-12">
+					<view class="text">加热状态</view>
+					<view class="text">{{lampDetails.hs==1?'加热':'正常'}}</view>
+				</view>
+			</view>
+			<view class="ui-card latest-item">
+				<view class="icon"></view>
+				<view class="column-between text-info font-12">
+					<view class="text">环境温度</view>
+					<view class="text"></view>
+				</view>
+			</view>
+			<view class="ui-card latest-item">
+				<view class="icon"></view>
+				<view class="column-between text-info font-12">
+					<view class="text">环境湿度</view>
+					<view class="text"></view>
+				</view>
+			</view>
+			<view class="ui-card latest-item">
+				<view class="icon"></view>
+				<view class="column-between text-info font-12">
+					<view class="text">信号强度</view>
+					<view class="text"></view>
+				</view>
+			</view>
+			<view class="ui-card latest-item">
+				<view class="icon"></view>
+				<view class="column-between text-info font-12">
+					<view class="text">设备版本</view>
+					<view class="text"></view>
+				</view>
+			</view>
+			<view class="ui-card latest-item">
+				<view class="icon"></view>
+				<view class="column-between text-info font-12">
+					<view class="text">雨控制状态</view>
+					<view class="text"></view>
+				</view>
+			</view>
+			<view class="ui-card latest-item">
+				<view class="icon"></view>
+				<view class="column-between text-info font-12">
+					<view class="text">温控状态</view>
+					<view class="text"></view>
+				</view>
+			</view>
+			<view class="ui-card latest-item">
+				<view class="icon"></view>
+				<view class="column-between text-info font-12">
+					<view class="text">光控状态</view>
+					<view class="text"></view>
+				</view>
+			</view>
+			<view class="ui-card latest-item">
+				<view class="icon"></view>
+				<view class="column-between text-info font-12">
+					<view class="text">灯管状态</view>
+					<view class="text"></view>
+				</view>
+			</view>
+			<view class="ui-card latest-item">
+				<view class="icon"></view>
+				<view class="column-between text-info font-12">
+					<view class="text">上仓门</view>
+					<view class="text"></view>
+				</view>
+			</view>
+			<view class="ui-card latest-item">
+				<view class="icon"></view>
+				<view class="column-between text-info font-12">
+					<view class="text">下仓门</view>
+					<view class="text"></view>
 				</view>
 			</view>
 		</view>
@@ -61,38 +138,72 @@
 </template>
 
 <script>
+	import {
+		getWormLampDetails
+	} from '@/api/worm.js'
 	// 设备详情
 	export default {
 		data() {
 			return {
-
+				deviceId: '', // 设备id
+				lampDetails:{},//设备详情
+				latestList:[],//实时列表
 			};
+		},
+		onLoad(options) {
+			this.deviceId = options.id;
+		},
+		methods: {
+			// 获取测报灯详情
+			async getLampDetails() {
+				let res = await getWormLampDetails({
+					device_id: this.deviceId
+				});
+				this.lampDetails=res;
+				// "is_online": 1, //在线状态   1在线 0离线
+				// "ts": "1", //定时模式 0光控,1时控
+				// "hs": "0", //加热状态 1加热,0正常
+				// "upds": "0", //上仓门状态 1打开,0关闭
+				// "dnds": "0", //下仓门状态 1打开,0关闭
+				// "csq": "0", //信号强度
+				// "dver": "1.40.4(2000W)-V1.0.20", //版本号
+				// "tph": "70", //高温保护阈值温度
+				// "tpl": "5", //低温保护阈值温度
+				// "tps": "0", //温控状态 1 温控,0 正常
+				// "lps": "0", //光控状态 1 光控,0 正常
+				// "hrt": "33", //加热仓实时温度
+				// "iccid": "-1", //SIM卡号
+				// "rps": "0", //雨控:0: 正常,1: 保护
+				// "ds": "1", //设备开关状态 0: 关机 1: 开机
+			}
 		}
 	}
 </script>
 
 <style lang="scss">
-// 虫情导航按钮
-.worm-nav{
-	display: flex;
-	justify-content: space-between;
-	&-item{
-		display: block;
-		flex: 1;
-		padding: 50rpx 0 48rpx;
-		text-align: center;
-		
-		.icon{
-			width: 92rpx;
-			height: 92rpx;
-			margin: 0 auto 26rpx;
-			background-color:$color-primary;
-			border-radius: 100%;
-		}
-		.text{
-			font:normal 32rpx/44rpx  PingFang SC-中等, PingFang SC;
-			color: $color-subtitle;
+	// 虫情导航按钮
+	.worm-nav {
+		display: flex;
+		justify-content: space-between;
+
+		&-item {
+			display: block;
+			flex: 1;
+			padding: 50rpx 0 48rpx;
+			text-align: center;
+
+			.icon {
+				width: 92rpx;
+				height: 92rpx;
+				margin: 0 auto 26rpx;
+				background-color: $color-primary;
+				border-radius: 100%;
+			}
+
+			.text {
+				font: normal 32rpx/44rpx PingFang SC-中等, PingFang SC;
+				color: $color-subtitle;
+			}
 		}
 	}
-}
 </style>

+ 3 - 0
pages/worm/history.vue

@@ -45,6 +45,9 @@
 </template>
 
 <script>
+	import {
+		getWormLampList
+	} from '@/api/worm.js'
 	import areaCharts from './components/w-area-charts.vue'
 	export default {
 		data() {

+ 3 - 0
pages/worm/image.vue

@@ -20,6 +20,9 @@
 </template>
 
 <script>
+	import {
+		getWormLampList
+	} from '@/api/worm.js'
 	// 虫情监测查看图片逻辑
 	export default {
 		data() {

+ 10 - 15
pages/worm/index.vue

@@ -6,7 +6,7 @@
 		<!-- 搜索框end -->
 		<!-- 监测列表 -->
 		<block v-for="(item,index) in lampList" :key="index">
-			<view class="ui-card forecast-item" @click="openLampDetails(item)">
+			<view class="ui-card forecast-item" @click="openLampDetails(item.imei)">
 				<view class="flex-1 info">
 					<view class="font-16  title" :class="item.is_online?'on':'off'">{{item.device_name}}</view>
 					<view class="text">设备ID:{{item.imei}}</view>
@@ -16,6 +16,7 @@
 			</view>
 		</block>
 		<!-- 监测列表end -->
+		<ui-empty v-if="lampList.length==0"></ui-empty>
 	</view>
 </template>
 
@@ -64,11 +65,12 @@
 			// 获取测试灯列表
 			async getLampList() {
 				const {
-					ids,
-					nums
-				} = await getWormLampList();
-				this.lampList = [...this.lampList, ...ids];
-				this.total = nums ?? 0;
+					data,
+					counts
+				} = await getWormLampList(this.params);
+
+				this.lampList = [...this.lampList, ...data];
+				this.total = counts ?? 0;
 			},
 			/**
 			 * 测试灯
@@ -79,16 +81,9 @@
 				this.refreshLampList();
 			},
 			// 打开虫情详情列表
-			openLampDetails(item) {
-				let params = {
-					equip_name: item.equip_name, //设备名称
-					equip_id: item.equip_id, //设备号
-					address: item.address, //组织地址
-					is_online: item.is_online, //在线状态 0离线 1在线
-					uptime: item.uptime //数据更新时间  秒级时间戳
-				}
+			openLampDetails(id) {
 				uni.navigateTo({
-					url: `details?params=${JSON.stringify(params)}`
+					url: `details?id=${id}`
 				})
 			}
 		},

BIN
static/empty/content.png


BIN
static/empty/coupon.png