From 169e9b4d59bdd763bb5bd1b5a9b092a1200e327b Mon Sep 17 00:00:00 2001
From: qingyiay <2386314947@qq.com>
Date: 星期一, 17 四月 2023 17:37:18 +0800
Subject: [PATCH] 增加原发信息,修复bug

---
 pages/tabbar-page/index-tabbar/index-tabbar.vue |   98 +++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 94 insertions(+), 4 deletions(-)

diff --git a/pages/tabbar-page/index-tabbar/index-tabbar.vue b/pages/tabbar-page/index-tabbar/index-tabbar.vue
index 2fc1f58..8b873b4 100644
--- a/pages/tabbar-page/index-tabbar/index-tabbar.vue
+++ b/pages/tabbar-page/index-tabbar/index-tabbar.vue
@@ -1,5 +1,8 @@
 <template>
 	<view>
+		<view class="search-bar">
+			<view class="icon-box" @click="messagePage"><u-icon name="chat" color="#000" size="50"></u-icon></view>
+		</view>
 		<customer-index v-if="roleType == 1" ref="customerIndexRef" :orderPlanDataStore="orderPlanDataStore"></customer-index>
 		<freight-forwarder-index
 			v-if="roleType == 2"
@@ -9,6 +12,8 @@
 		></freight-forwarder-index>
 		<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>
 	</view>
 </template>
 
@@ -16,12 +21,17 @@
 import customerIndex from '@/pages/customer-page/customer-index/customer-index.vue';
 import driverIndex from '@/pages/driver-page/driver-index/driver-index.vue';
 import freightForwarderIndex from '@/pages/freight-forwarder-page/freightForwarder-index/freightForwarder-index.vue';
-import { mapState } from 'vuex';
+import { mapState, mapMutations } from 'vuex';
+import { webSocketUrl } from '@/api/request.js';
+let socket = null;
 export default {
 	components: {
 		customerIndex,
 		driverIndex,
 		freightForwarderIndex
+	},
+	computed: {
+		...mapState(['globalweighHouseCode', 'globalweigh'])
 	},
 	//棣栭〉涓嬫媺鍒锋柊
 	onPullDownRefresh() {
@@ -43,6 +53,7 @@
 			this.$reqGet('GetOrderPlan').then(res => {
 				if (res.data) {
 					this.orderPlanDataStore = res.data;
+					this.$u.toast('鍔犺浇鎴愬姛');
 					uni.hideLoading();
 					uni.stopPullDownRefresh();
 				} else {
@@ -53,6 +64,7 @@
 			this.$reqGet('huoDaiList').then(res => {
 				if (res.data) {
 					this.indexHuoDaiOrderPlanData = res.data;
+					this.$u.toast('鍔犺浇鎴愬姛');
 					uni.hideLoading();
 					uni.stopPullDownRefresh();
 				} else {
@@ -61,7 +73,6 @@
 			});
 		} else if (this.roleType == 3) {
 			this.$reqGet('qiangDanList').then(res => {
-				console.log(res, '鍒锋柊涔嬪悗鐨勬暟鎹�');
 				if (res.code == 0) {
 					this.indexdriverBillOfLoadingData = res.data;
 					this.$u.toast('鍔犺浇鎴愬姛');
@@ -98,14 +109,26 @@
 			orderPlanDataStore: [],
 			indexHuoDaiOrderPlanData: [],
 			indexHistoryCoalData: [],
-			indexdriverBillOfLoadingData: {}
+			indexdriverBillOfLoadingData: {},
+			messagePushShow: false,
+			messageList: {},
+			isconnect: false
 		};
 	},
 	onShow() {
 		this.init();
+		if (!this.isconnect) {
+			this.initWebsocket();
+		}
 		this.userAuthorization();
 	},
 	methods: {
+		...mapMutations(['pushMessage', 'changeWeigh', 'changeinfraredStatus']),
+		messagePage() {
+			uni.navigateTo({
+				url: '/pages/public-page/message/message'
+			});
+		},
 		init() {
 			this.roleType = uni.getStorageSync('roleType');
 			switch (this.roleType) {
@@ -167,9 +190,76 @@
 					console.log('鑾峰彇澶辫触');
 				}
 			});
+		},
+		// 鍒濆鍖杦ebsocket
+		initWebsocket() {
+			let wsUrl = `${webSocketUrl}?access_token=${uni.getStorageSync('token')}`;
+			socket = uni.connectSocket({
+				url: wsUrl,
+				header: {
+					CLIENT_TOC: 'Y'
+				},
+				complete: res => {
+					console.log(res, 'socket缁撴灉');
+					if (res.errMsg == 'connectSocket:ok') {
+						this.isconnect = true;
+					}
+				}
+			});
+			socket.onOpen(() => {
+				console.log('onOpen');
+			});
+			// 鑾峰彇鏈嶅姟鍣ㄤ紶鏉ョ殑鏁版嵁锛屽仛鐩稿簲澶勭悊
+			socket.onMessage(res => {
+				console.log('socketWeigh', res);
+				if (res.data.startsWith('weigh')) {
+					let nowWeighObj = JSON.parse(res.data.slice(7));
+					if (this.globalweighHouseCode && nowWeighObj.eqCode == this.globalweighHouseCode) {
+						if (nowWeighObj.eqInfraredStatus) {
+							this.changeinfraredStatus(true);
+							this.changeWeigh(nowWeighObj.weigh);
+						} else {
+							this.changeinfraredStatus(false);
+							this.changeWeigh(nowWeighObj.weigh);
+						}
+					}
+				} else {
+					this.messageList = JSON.parse(res.data.slice(5));
+					this.messagePushShow = true;
+				}
+			});
+			socket.onClose(() => {
+				console.log('webSocketClose');
+				this.isconnect = false;
+			});
+			socket.onError(err => {
+				console.log('socket鎶ラ敊', err);
+				this.$u.toast('鍑虹幇閿欒锛岃閲嶆柊杩涘叆璇ラ〉闈紝閲嶈瘯锛侊紒');
+			});
+		},
+		messageconfirm() {
+			this.messagePushShow = false;
 		}
 	}
 };
 </script>
 
-<style lang="scss" scoped></style>
+<style lang="scss" scoped>
+.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%;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		position: absolute;
+		right: vww(-3);
+	}
+}
+</style>

--
Gitblit v1.9.1