From 01e96c8855927df67ac8a6831e345b6cb33140d1 Mon Sep 17 00:00:00 2001
From: qingyiay <2386314947@qq.com>
Date: 星期二, 09 五月 2023 18:49:40 +0800
Subject: [PATCH] 样式修改

---
 pages/tabbar-page/index-tabbar/index-tabbar.vue |  102 +++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 83 insertions(+), 19 deletions(-)

diff --git a/pages/tabbar-page/index-tabbar/index-tabbar.vue b/pages/tabbar-page/index-tabbar/index-tabbar.vue
index acae31a..6111883 100644
--- a/pages/tabbar-page/index-tabbar/index-tabbar.vue
+++ b/pages/tabbar-page/index-tabbar/index-tabbar.vue
@@ -1,7 +1,12 @@
 <template>
 	<view>
 		<view class="search-bar">
-			<view class="icon-box" @click="messagePage"><u-icon name="chat" color="#000" size="50"></u-icon></view>
+			<view class="icon-body">
+				<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>
 		<freight-forwarder-index
@@ -13,7 +18,10 @@
 		<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" :content="messageList.content" @confirm="messageconfirm"></u-modal>
+		<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>
 	</view>
 </template>
 
@@ -112,7 +120,8 @@
 			indexdriverBillOfLoadingData: {},
 			messagePushShow: false,
 			messageList: {},
-			isconnect: false
+			isconnect: false,
+			dotShow: false
 		};
 	},
 	onShow() {
@@ -121,6 +130,18 @@
 			this.initWebsocket();
 		}
 		this.userAuthorization();
+		this.messageReq();
+	},
+	onHide() {
+		console.log('椤甸潰闅愯棌');
+		if (!this.isconnect) {
+			this.initWebsocket();
+		}
+	},
+	onUnload() {
+		console.log('椤甸潰鍗歌浇');
+		socket.close();
+		clearInterval(this.intervalId);
 	},
 	methods: {
 		...mapMutations(['pushMessage', 'changeWeigh', 'changeinfraredStatus']),
@@ -208,10 +229,19 @@
 			});
 			socket.onOpen(() => {
 				console.log('onOpen');
+				this.intervalId = setInterval(() => {
+					socket.send({
+						data: JSON.stringify({ type: 'ping' }),
+						success(e) {
+							console.log(e, '鍙戦�佸績璺虫垚鍔�');
+						}
+					});
+				}, 30000);
 			});
+
 			// 鑾峰彇鏈嶅姟鍣ㄤ紶鏉ョ殑鏁版嵁锛屽仛鐩稿簲澶勭悊
 			socket.onMessage(res => {
-				console.log('socketWeigh', res);
+				console.log('message', res);
 				if (res.data.startsWith('weigh')) {
 					let nowWeighObj = JSON.parse(res.data.slice(7));
 					if (this.globalweighHouseCode && nowWeighObj.eqCode == this.globalweighHouseCode) {
@@ -223,14 +253,15 @@
 							this.changeWeigh(nowWeighObj.weigh);
 						}
 					}
-				} else {
+				} else if (res.data.startsWith('msg')) {
 					this.messageList = JSON.parse(res.data.slice(5));
 					this.messagePushShow = true;
+				} else {
 				}
 			});
-			socket.onClose(() => {
-				console.log('webSocketClose');
-				this.isconnect = true;
+			socket.onClose(e => {
+				console.log('webSocketClose', e);
+				this.isconnect = false;
 			});
 			socket.onError(err => {
 				console.log('socket鎶ラ敊', err);
@@ -239,27 +270,60 @@
 		},
 		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.map(v => {
+						if (v.status !== 1) {
+							this.dotShow = true;
+						} else {
+							this.dotShow = false;
+						}
+					});
+				}
+			});
 		}
 	}
 };
 </script>
 
 <style lang="scss" scoped>
+.white-block {
+	width: 100%;
+	height: vww(50);
+	margin-top: vww(10);
+}
 .search-bar {
 	height: vww(20);
 	width: 96%;
-	margin: vww(3) auto;
-	position: relative;
-	.icon-box {
-		width: vww(30);
-		height: vww(30);
-		background-color: #eee;
-		border-radius: 50%;
+	position: absolute;
+	top: vww(96);
+	right: vww(32);
+	z-index: 1;
+	.icon-body {
+		position: relative;
 		display: flex;
-		justify-content: center;
-		align-items: center;
-		position: absolute;
-		right: vww(-3);
+		justify-content: flex-end;
+		.icon-box {
+			width: vww(30);
+			height: vww(30);
+			border-radius: 50%;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			position: relative;
+			/deep/ .u-badge {
+				position: absolute;
+				left: vww(18);
+				top: vww(5);
+				z-index: 1;
+			}
+		}
 	}
 }
 </style>

--
Gitblit v1.9.1