From 9cc59c17892a7e69de54e06b5931e78c9b05551c Mon Sep 17 00:00:00 2001
From: zhuguifei <zhuguifei@zhuguifeideiMac.local>
Date: 星期二, 02 九月 2025 09:24:34 +0800
Subject: [PATCH] 添加mqtt登出

---
 pages/tabBar/general.vue |  487 ++++++++++++++++++++++++++----------------------------
 1 files changed, 234 insertions(+), 253 deletions(-)

diff --git a/pages/tabBar/general.vue b/pages/tabBar/general.vue
index ffbf736..615b700 100644
--- a/pages/tabBar/general.vue
+++ b/pages/tabBar/general.vue
@@ -1,224 +1,199 @@
 <template>
 	<view class="app">
-		<cu-custom bgColor="bg-gradual-blue" :isBack="false">
-			<block slot="content">鍏版郸鏅鸿兘骞茬嚗</block>
-		</cu-custom>
-		
 		<u-toast ref="uToast"></u-toast>
-		<view class="card-box dynamic shadow">
-			<view class="title-box margin-bottom-sm">
-				<view class="left justify-between">
-					<view class="flex align-center">
-						<uni-text class="cuIcon-titles text-blue"></uni-text>
-						<view class="title">鎬昏</view>
-					</view>
-					<view>
-						<text class="text-gray">{{model.date}}</text>
-					</view>
-
-				</view>
-
-			</view>
-			<view class="flex flex-direction padding-xs">
-				<view class="flex">
-					<view class="flex-sub flex flex-direction">
-						<text class="text-df">鐑樺共鏁伴噺</text>
-						<text class="text-bold text-sl margin-top-xs text-cyan margin-top-sm">{{showValue(model.feed)}}
-							<text class="text-gray text-sm margin-left-xs">绛�</text></text>
-					</view>
-					<view class="flex-twice flex flex-direction justify-between">
-						<view class="flex-sub flex">
-							<view class="flex flex-direction flex-sub">
-								<text class="text-gray text-xs">鎵规淇℃伅</text>
-								<text class="text-black">
-									<text class="text-black">绉嶇被:</text>
-									<text class="margin-lr-xs">{{showValue(model.group)}}</text>
-									<text class="text-gray text-xs"></text>
-								</text>
-
-							</view>
-							<view class="flex flex-direction flex-sub">
-								<text class="text-white text-xs">鎵规</text>
-								<text class="text-black">
-									<text class="text-black">鎵规:</text>
-									<text class="margin-lr-xs">{{showValue(model.batch)}}</text>
-									<text class="text-gray text-xs"></text>
-								</text>
-
-							</view>
-
-						</view>
-						<view class="flex-sub flex margin-top-sm">
-							<view class="flex flex-direction flex-sub">
-								<text class="text-gray text-xs">鐑樺共淇℃伅</text>
-								<text class="text-cyan">
-									<text class="text-black">閲嶉噺:</text>
-									<text class="margin-lr-xs">{{showValue(model.weight)}}</text>
-									<text class="text-gray text-xs">kg</text>
-								</text>
-
-							</view>
-							<view class="flex flex-direction flex-sub">
-								<text class="text-white text-xs">鏃堕棿</text>
-								<text class="text-cyan">
-									<text class="text-black">鏃堕棿:</text>
-									<text class="margin-lr-xs">{{showValue(model.dryTime)}}</text>
-									<text class="text-gray text-xs">min</text>
-								</text>
-							</view>
-
-						</view>
-
-					</view>
-
-				</view>
-				<view class="margin-top">
-					<u-scroll-list>
-
-					</u-scroll-list>
-
-				</view>
-
-			</view>
-
-
-		</view>
-
-
-		<view class="card-box dynamic shadow">
-			<view class="title-box">
-				<view class="left">
-					<uni-text class="cuIcon-titles text-blue"></uni-text>
-					<view class="title">鏃ユ湡</view>
-				</view>
-			</view>
-
-			<lunc-calendar ref="calendar" @dayChange="dayChange" weekType="鏄熸湡" @monthChange="monthChange"
-				:showShrink="true" shrinkState="week" :signList="monthList"></lunc-calendar>
-		</view>
-
-
-
-		<view class="card-box dynamic shadow" >
-			<view class="title-box">
-				<view class="left">
-					<uni-text class="cuIcon-titles text-blue"></uni-text>
-					<view class="title">鏄庣粏</view>
-				</view>
-			</view>
-			<u-skeleton rows="20" :loading="loading" :title="false">
-				<view class="data-item" v-for="(item, index) in herbList" :key="item.id" style="padding: 0 10rpx;">
-					<view class="flex justify-between text-lg align-center padding-tb-xs">
-						<view class="flex">
-							<text>涓崏鑽�</text>
-							<text>涓�</text>
-							<text @click="showLongName(showValue(item.herbName))"
-								class="text-cut flex-twice">{{showValue(item.herbName)}}</text>
-							<!-- <view class="margin-lr-sm">
-							<u-tag text="鎶ヨ涓�娆�" plain size="mini" type="warning"></u-tag>
-						</view> -->
-							<view class="margin-lr-sm">
-								<u-tag text="姝e父" plain size="mini" type="success"></u-tag>
-							</view>
-						</view>
-						<view style="width:160rpx;" class="flex align-center text-xs ">
-							<text>杩涘害:</text>
-							<view style="width: 100rpx;">
-								<u-line-progress :percentage="calcProgress(item.dryTime,item.et)"
-									height="10"></u-line-progress>
-							</view>
-						</view>
-					</view>
-
-					<view style="display: flex;flex-direction: row;height: 120rpx;">
-						<view class="image">
-							<image :src="dataList[0].goodsUrl" mode="aspectFill"></image>
-						</view>
-
-						<view class="flex flex-direction margin-left-xl margin-left-sm justify-center">
-							<view>
-								<text class="text-xxl text-green">{{showValue(item.target)}}%</text>
-								<text
-									class="text-xs margin-top-xs text-grey margin-left-xs text-line-through">{{showValue(item.initial)}}%</text>
-							</view>
-							<text class="text-xs margin-top-xs text-grey">鍚按鐜�</text>
-						</view>
-
-						<view class="flex flex-direction margin-left-xl margin-left-10p justify-center">
-							<view>
-								<text class="text-xxl">{{showValue(item.yield )}}kg</text>
-								<text
-									class="text-xs margin-top-xs text-grey margin-left-xs text-line-through">{{showValue(item.originWeight)}}kg</text>
-							</view>
-
-							<view class="text-xs margin-top-xs text-grey">
-								<text>{{showValue(item.feed)}}绛�</text>
-								<text style="margin: 0 10rpx;"> l </text>
-								<text>{{showValue(item.windTemp)}}鈩�</text>
-								<text style="margin: 0 10rpx;"> l </text>
-								<text>{{showValue(item.dryTime)}}min</text>
-							</view>
-						</view>
-					</view>
-					<u-gap height="10"></u-gap>
-					<view class="text-grey text-sm flex  justify-between">
-						<text>{{showValue(item.code)}}</text>
-						<text>{{showValue(item.orderTime)}}</text>
-					</view>
-					<u-line color="#f1f1f1" margin="15rpx 0 15rpx 0"></u-line>
-				</view>
-
-
-
-			</u-skeleton>
-		</view>
-
-
 		<mqtt-view ref="mqttView"></mqtt-view>
-		<!-- 
-		<view class="page-box" v-show="false">
-			<view class="order" v-for="(res, index) in dataList" :key="res.id">
-				<view class="top">
-					<view class="left">
-						<uni-text class="cuIcon-titles text-blue"></uni-text>
-						<view class="store">{{ res.store }}</view>
-						<u-icon name="arrow-right" color="rgb(203,203,203)" :size="12"></u-icon>
-					</view>
-					<view class="right">
-						<view class='cu-tag radius light bg-blue'>{{res.id}}</view>
-					</view>
-				</view>
-				<view class="item">
-					<view class="left">
-						<image :src="res.goodsUrl" mode="aspectFill"></image>
-					</view>
-					<view class="content">
-						<view>
-							<view class="title u-line-2 text-bold">褰撳綊锛�12:00-13:00锛�</view>
-							<view class="type">閲嶉噺锛�200kg</view>
-							<view class="type">鍚按鐜囷細30% <text style="color: green;">(13%)</text></view>
-							<view class="delivery-time">鏃堕棿锛� 60min</view>
+		<z-paging ref="paging" v-model="herbList" :auto-show-back-to-top="true" :loading-more-enabled="false" show-refresher-update-time @query="queryList">
+			<template #top>
+				<cu-custom bgColor="bg-gradual-blue" :isBack="false">
+					<block slot="content">鍏版郸鏅鸿兘骞茬嚗</block>
+				</cu-custom>
+
+				<view class="card-box dynamic shadow">
+					<view class="title-box margin-bottom-sm">
+						<view class="left justify-between">
+							<view class="flex align-center">
+								<uni-text class="cuIcon-titles text-blue"></uni-text>
+								<view class="title">鎬昏</view>
+							</view>
+							<view>
+								<text class="text-gray">{{model.date}}</text>
+							</view>
+
 						</view>
+
 					</view>
+					<view class="flex flex-direction padding-xs">
+						<view class="flex">
+							<view class="flex-sub flex flex-direction">
+								<text class="text-df">鐑樺共鏁伴噺</text>
+								<text
+									class="text-bold text-sl margin-top-xs text-cyan margin-top-sm">{{showValue(model.feed)}}
+									<text class="text-gray text-sm margin-left-xs">绛�</text></text>
+							</view>
+							<view class="flex-twice flex flex-direction justify-between">
+								<view class="flex-sub flex">
+									<view class="flex flex-direction flex-sub">
+										<text class="text-gray text-xs">鎵规淇℃伅</text>
+										<text class="text-black">
+											<text class="text-black">绉嶇被:</text>
+											<text class="margin-lr-xs">{{showValue(model.group)}}</text>
+											<text class="text-gray text-xs"></text>
+										</text>
+
+									</view>
+									<view class="flex flex-direction flex-sub">
+										<text class="text-white text-xs">鎵规</text>
+										<text class="text-black">
+											<text class="text-black">鎵规:</text>
+											<text class="margin-lr-xs">{{showValue(model.batch)}}</text>
+											<text class="text-gray text-xs"></text>
+										</text>
+
+									</view>
+
+								</view>
+								<view class="flex-sub flex margin-top-sm">
+									<view class="flex flex-direction flex-sub">
+										<text class="text-gray text-xs">鐑樺共淇℃伅</text>
+										<text class="text-cyan">
+											<text class="text-black">閲嶉噺:</text>
+											<text class="margin-lr-xs">{{showValue(model.weight)}}</text>
+											<text class="text-gray text-xs">kg</text>
+										</text>
+
+									</view>
+									<view class="flex flex-direction flex-sub">
+										<text class="text-white text-xs">鏃堕棿</text>
+										<text class="text-cyan">
+											<text class="text-black">鏃堕棿:</text>
+											<text class="margin-lr-xs">{{showValue(model.dryTime)}}</text>
+											<text class="text-gray text-xs">min</text>
+										</text>
+									</view>
+
+								</view>
+
+							</view>
+
+						</view>
+						<view class="margin-top">
+							<u-scroll-list>
+
+							</u-scroll-list>
+
+						</view>
+
+					</view>
+
+
 				</view>
-				<u-line color="#f1f1f1" margin="24rpx 0 15rpx 0"></u-line>
-				<view class="bottom">
-					<view class="bottom_left">
-						<text class="text-blue">骞茬嚗杩涘害锛�</text>
-						<view class="progressBox">
-							<u-line-progress :percentage="res.progre" height="8" :active-color="activeColor"
-								:striped="true" :stripedActive="true"></u-line-progress>
+
+
+			</template>
+
+			<template>
+
+				<view class="card-box dynamic shadow">
+					<view class="title-box">
+						<view class="left">
+							<uni-text class="cuIcon-titles text-blue"></uni-text>
+							<view class="title">鏃ユ湡</view>
 						</view>
 					</view>
 
-					<view class="btnBox">
-					 
-						<view @click="goCharts" class="evaluate btn">鏌ョ湅鍥捐〃</view>
-					</view>
+					<lunc-calendar ref="calendar" @dayChange="dayChange" weekType="鏄熸湡" @monthChange="monthChange"
+						:showShrink="true" shrinkState="week" :signList="monthList"></lunc-calendar>
 				</view>
-			</view>
-		</view> -->
 
+
+
+
+				<view class="card-box dynamic shadow">
+					<view class="title-box">
+						<view class="left">
+							<uni-text class="cuIcon-titles text-blue"></uni-text>
+							<view class="title">宸ュ崟</view>
+						</view>
+					</view>
+					<u-skeleton rows="20" :loading="loading" :title="false">
+						<view class="data-item" v-for="(item, index) in herbList" :key="item.id"
+							style="padding: 0 10rpx;">
+							<view class="flex justify-between text-lg align-center padding-tb-xs">
+								<view class="flex">
+									<text>涓崏鑽�</text>
+									<text>涓�</text>
+									<text @click="showLongName(showValue(item.herbName))"
+										class="text-cut flex-twice">{{showValue(item.herbName)}}</text>
+
+									<view class="margin-lr-sm">
+										<u-tag v-if="item.orderStatus == 0" text="鍑嗗" plain size="mini"
+											type="warning"></u-tag>
+										<u-tag v-else-if="item.orderStatus == 1" text="涓婃枡" plain size="mini"
+											type="warning"></u-tag>
+										<u-tag v-else-if="item.orderStatus == 2" text="鐢熶骇" plain size="mini"
+											type="primary"></u-tag>
+										<u-tag v-else-if="item.orderStatus == 3" text="鏆傚仠" plain size="mini"
+											type="warning"></u-tag>
+										<u-tag v-else-if="item.orderStatus == 4" text="瀹屾垚" plain size="mini"
+											type="success"></u-tag>
+									</view>
+								</view>
+								<view style="width:160rpx;" class="flex align-center text-xs ">
+									<text>杩涘害:</text>
+									<view style="width: 100rpx;">
+										<u-line-progress :percentage="calcProgress(item.dryTime,item.et)"
+											height="10"></u-line-progress>
+									</view>
+								</view>
+							</view>
+
+							<view style="display: flex;flex-direction: row;height: 120rpx;">
+								<view class="image">
+									<image :src="dataList[0].goodsUrl" mode="aspectFill"></image>
+								</view>
+
+								<view class="flex flex-direction margin-left-xl margin-left-sm justify-center">
+									<view>
+										<text class="text-xxl text-green">{{showValue(item.target)}}%</text>
+										<text
+											class="text-xs margin-top-xs text-grey margin-left-xs text-line-through">{{showValue(item.initial)}}%</text>
+									</view>
+									<text class="text-xs margin-top-xs text-grey">鍚按鐜�</text>
+								</view>
+
+								<view class="flex flex-direction margin-left-xl margin-left-10p justify-center">
+									<view>
+										<text class="text-xxl">{{showValue(item.yield )}}kg</text>
+										<text
+											class="text-xs margin-top-xs text-grey margin-left-xs text-line-through">{{showValue(item.originWeight)}}kg</text>
+									</view>
+
+									<view class="text-xs margin-top-xs text-grey">
+										<text>{{showValue(item.feed)}}绛�</text>
+										<text style="margin: 0 10rpx;"> l </text>
+										<text>{{showValue(item.windTemp)}}鈩�</text>
+										<text style="margin: 0 10rpx;"> l </text>
+										<text>{{showValue(item.dryTime)}}min</text>
+									</view>
+								</view>
+							</view>
+							<u-gap height="10"></u-gap>
+							<view class="text-grey text-sm flex  justify-between">
+								<text>{{showValue(item.code)}}</text>
+								<text>{{showValue(item.orderTime)}}</text>
+							</view>
+							<u-line color="#f1f1f1" margin="15rpx 0 15rpx 0"></u-line>
+						</view>
+
+
+
+					</u-skeleton>
+				</view>
+
+
+			</template>
+
+		</z-paging>
 	</view>
 </template>
 
@@ -293,6 +268,7 @@
 				],
 				model: {
 					date: uni.$u.timeFormat(new Date(), 'yyyy-mm-dd'),
+					month: uni.$u.timeFormat(new Date(), 'yyyy-mm')
 				},
 				herbList: []
 			}
@@ -300,11 +276,7 @@
 		onShow() {
 
 		},
-		mounted() {
-
-
-
-		},
+		mounted() {},
 		onReady() {
 			//鎺ユ敹鎶ヨ淇℃伅锛屾暟鎹澶勭悊锛堟湭鎵撳紑tab鏃犳硶鎺ユ敹鏁版嵁锛�
 			uni.$on(this.$constant.MQTT_TOPIC_MESSAGE, (data) => {
@@ -340,10 +312,6 @@
 			let month = uni.$u.timeFormat(new Date(), 'yyyy-mm')
 			this.getMonth(month)
 
-			let day = uni.$u.timeFormat(new Date(), 'yyyy-mm-dd')
-			this.getOrderList(day, day);
-
-
 		},
 		onLoad() {},
 		onTabItemTap: function(e) {
@@ -367,9 +335,9 @@
 					// #endif
 					// #ifdef APP-PLUS
 					url: 'wx://' + this.$api.mqttBaseUrl + ':8083/mqtt',
-					// #endif
-					// #ifdef MP-WEIXIN
-					url: 'wss://' + this.$api.mqttBaseUrl + '/mqtt', // 蹇呴』鐢� wss锛岀鍙i�氬父涓�443鍙渷鐣�
+					// #endif
+					// #ifdef MP-WEIXIN
+					url: 'wss://' + this.$api.mqttBaseUrl + '/mqtt', // 蹇呴』鐢� wss锛岀鍙i�氬父涓�443鍙渷鐣�
 					// #endif
 					clientId: this.deviceId,
 					username: account.username,
@@ -400,8 +368,8 @@
 					qos: 0
 				}).then(res => {
 					console.error(res)
-				})
-				
+				})
+
 
 				//璁㈤槄鍙戦�佹寚浠よ繑鍥炵粨鏋�
 				// this.$mqttTool.subscribe({
@@ -443,7 +411,7 @@
 			},
 			dayChange(dayInfo) { // 鐐瑰嚮鏃ユ湡
 				this.model.date = dayInfo.date
-				this.getOrderList(dayInfo.date, dayInfo.date);
+				this.$refs.paging.refresh();
 			},
 			monthChange(monthInfo) { // 鍒囨崲鏈堜唤
 				let m = monthInfo.month
@@ -464,41 +432,54 @@
 					url: "/packageA/pages/charts/charts"
 				})
 			},
-			getOrderList(date1, date2) {
-				let params = {
-					"orderTime_begin": date1 + " 00:00:00",
-					"orderTime_end": date2 + " 23:59:59",
-				}
+			queryList(pageNo, pageSize) {
 				this.loading = true;
+				const params = {
+					pageNo: 1,
+					pageSize: 30,
+					"orderTime_begin": this.model.date + " 00:00:00",
+					"orderTime_end": this.model.date + " 23:59:59",
+				}
+
 				this.$api.getOrderList(params).then((res) => {
-					setTimeout(()=>{
-						this.loading = false
-					},200)
-					if (res.success) {
-						this.herbList = res.result.records
+					this.$refs.paging.complete(res.result.records);
+					this.loading = false
 
-						let feed = this.countTotal(this.herbList, "feed");
-						let weight = this.countTotal(this.herbList, "originWeight");
-						let dryTime = this.countTotal(this.herbList, "dryTime");
-
-						let gList = [];
-						this.herbList.forEach(item => {
-							if (!gList.includes(item.herbName)) {
-								gList.push(item.herbName)
-							}
-						});
-
-						if (weight) {
-							weight = weight.toFixed(1)
-						}
-						this.model.feed = feed
-						this.model.group = gList.length
-						this.model.batch = this.herbList.length
-						this.model.weight = weight
-						this.model.dryTime = dryTime
+					const records = res.result.records
+					if (!records) {
+						return false;
 					}
+
+
+					let feed = this.countTotal(records, "feed");
+					let weight = this.countTotal(records, "originWeight");
+					let dryTime = this.countTotal(records, "dryTime");
+
+					let gList = [];
+					records.forEach(item => {
+						if (!gList.includes(item.herbName)) {
+							gList.push(item.herbName)
+						}
+					});
+
+					if (weight) {
+						weight = weight.toFixed(1)
+					}
+					this.model.feed = feed
+					this.model.group = gList.length
+					this.model.batch = records.length
+					this.model.weight = weight
+					this.model.dryTime = dryTime
+
+				}).catch(res => {
+					this.$refs.paging.complete(false);
+					this.loading = false
 				})
+
+
+
 			},
+
 			getMonth(month) {
 				let params = {
 					month: month

--
Gitblit v1.9.3