From ae1aad66a165ee7253bed2127a3b53baa40c2361 Mon Sep 17 00:00:00 2001
From: qingyiay <2386314947@qq.com>
Date: 星期三, 17 五月 2023 08:35:33 +0800
Subject: [PATCH] 修复错误,增加验证

---
 pages/tabbar-page/index-tabbar/index-tabbar.vue |   66 ++++++++++++++++++++++++++-------
 1 files changed, 52 insertions(+), 14 deletions(-)

diff --git a/pages/tabbar-page/index-tabbar/index-tabbar.vue b/pages/tabbar-page/index-tabbar/index-tabbar.vue
index 3921269..31aa244 100644
--- a/pages/tabbar-page/index-tabbar/index-tabbar.vue
+++ b/pages/tabbar-page/index-tabbar/index-tabbar.vue
@@ -1,8 +1,11 @@
 <template>
-	<view>
+	<view class="max-block">
 		<view class="search-bar">
 			<view class="icon-body">
-				<view class="icon-box" @click="messagePage"><u-icon name="chat" color="#fff" size="50"></u-icon></view>
+				<view class="icon-box" @click="messagePage">
+					<u-badge :isDot="true" type="error" v-if="dotShow"></u-badge>
+					<u-icon name="chat" color="#fff" size="50"></u-icon>
+				</view>
 			</view>
 		</view>
 		<customer-index v-if="roleType == 1" ref="customerIndexRef" :orderPlanDataStore="orderPlanDataStore"></customer-index>
@@ -15,7 +18,7 @@
 		<driver-index v-if="roleType == 3" ref="driverIndexRef" :indexdriverBillOfLoadingData="indexdriverBillOfLoadingData"></driver-index>
 		<tab-bar :current="0"></tab-bar>
 		<!-- 鎺ㄩ�佹秷鎭脊绐� -->
-		<u-modal :show="messagePushShow" :title="messageList.title" @confirm="messageconfirm">
+		<u-modal :show="messagePushShow" :title="messageList.title" @confirm="messageconfirm" confirm-text="鍓嶅幓鏌ョ湅">
 			<view class="slot-content"><rich-text :nodes="messageList.content"></rich-text></view>
 		</u-modal>
 		<view class="white-block"></view>
@@ -28,6 +31,7 @@
 import freightForwarderIndex from '@/pages/freight-forwarder-page/freightForwarder-index/freightForwarder-index.vue';
 import { mapState, mapMutations } from 'vuex';
 import { webSocketUrl } from '@/api/request.js';
+
 let socket = null;
 export default {
 	components: {
@@ -36,7 +40,10 @@
 		freightForwarderIndex
 	},
 	computed: {
-		...mapState(['globalweighHouseCode', 'globalweigh'])
+		...mapState(['globalweighHouseCode', 'globalweigh', 'globalisconnect'])
+	},
+	watch: {
+		globalisconnect(v, oldv) {}
 	},
 	//棣栭〉涓嬫媺鍒锋柊
 	onPullDownRefresh() {
@@ -117,19 +124,24 @@
 			indexdriverBillOfLoadingData: {},
 			messagePushShow: false,
 			messageList: {},
-			isconnect: false
+			isconnect: false,
+			dotShow: false
 		};
 	},
 	onShow() {
 		this.init();
-		if (!this.isconnect) {
+		if (!this.globalisconnect || !this.isconnect) {
 			this.initWebsocket();
 		}
 		this.userAuthorization();
+		this.messageReq();
 	},
 	onHide() {
 		console.log('椤甸潰闅愯棌');
-		if (!this.isconnect) {
+		// this.isconnect = false;
+		// this.changeisconnect(false);
+		// socket.close();
+		if (!this.globalisconnect || !this.isconnect) {
 			this.initWebsocket();
 		}
 	},
@@ -139,7 +151,7 @@
 		clearInterval(this.intervalId);
 	},
 	methods: {
-		...mapMutations(['pushMessage', 'changeWeigh', 'changeinfraredStatus']),
+		...mapMutations(['pushMessage', 'changeWeigh', 'changeinfraredStatus', 'changeisconnect']),
 		messagePage() {
 			uni.navigateTo({
 				url: '/pages/public-page/message/message'
@@ -218,6 +230,7 @@
 				complete: res => {
 					console.log(res, 'socket缁撴灉');
 					if (res.errMsg == 'connectSocket:ok') {
+						this.changeisconnect(true);
 						this.isconnect = true;
 					}
 				}
@@ -252,12 +265,10 @@
 					this.messageList = JSON.parse(res.data.slice(5));
 					this.messagePushShow = true;
 				} else {
-					console.log('websocket鍚姩涓�');
 				}
 			});
 			socket.onClose(e => {
 				console.log('webSocketClose', e);
-				// this.$u.toast('杩炴帴宸叉柇寮�锛岃閲嶆柊杩涘叆璇ラ〉闈紝閲嶈瘯锛侊紒');
 				this.isconnect = false;
 			});
 			socket.onError(err => {
@@ -267,26 +278,48 @@
 		},
 		messageconfirm() {
 			this.messagePushShow = false;
+			uni.navigateTo({
+				url: '/pages/public-page/message/message'
+			});
+		},
+		messageReq() {
+			this.$reqGet('getMessageByUser', { current: 1, size: 10 }).then(res => {
+				if (res.code == 0) {
+					this.messageList = res.data.records;
+					this.messageList.forEach(v => {
+						if (v.status !== 1) {
+							this.dotShow = true;
+						} else {
+							this.dotShow = false;
+						}
+					});
+				}
+			});
 		}
 	}
 };
 </script>
 
 <style lang="scss" scoped>
+.max-block {
+	font-family: siYuanLight !important;
+}
 .white-block {
 	width: 100%;
-	height: vww(50);
+	height: vww(20);
 	margin-top: vww(10);
 }
 .search-bar {
 	height: vww(20);
 	width: 96%;
-	position: fixed;
+	position: absolute;
 	top: vww(96);
 	right: vww(32);
 	z-index: 1;
 	.icon-body {
 		position: relative;
+		display: flex;
+		justify-content: flex-end;
 		.icon-box {
 			width: vww(30);
 			height: vww(30);
@@ -294,8 +327,13 @@
 			display: flex;
 			justify-content: center;
 			align-items: center;
-			position: absolute;
-			right: vww(-3);
+			position: relative;
+			/deep/ .u-badge {
+				position: absolute;
+				left: vww(18);
+				top: vww(5);
+				z-index: 1;
+			}
 		}
 	}
 }

--
Gitblit v1.9.1