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 |  219 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 212 insertions(+), 7 deletions(-)

diff --git a/pages/tabbar-page/index-tabbar/index-tabbar.vue b/pages/tabbar-page/index-tabbar/index-tabbar.vue
index aa4986c..8b873b4 100644
--- a/pages/tabbar-page/index-tabbar/index-tabbar.vue
+++ b/pages/tabbar-page/index-tabbar/index-tabbar.vue
@@ -1,9 +1,19 @@
 <template>
 	<view>
-		<customer-index v-if="roleType == 1" ref="customerIndexRef"></customer-index>
-		<freight-forwarder-index v-if="roleType == 2" ref="freightForwarderIndexRef"></freight-forwarder-index>
-		<driver-index v-if="roleType == 3" ref="driverIndexRef"></driver-index>
+		<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"
+			ref="freightForwarderIndexRef"
+			:indexHistoryCoalData="indexHistoryCoalData"
+			:indexHuoDaiOrderPlanData="indexHuoDaiOrderPlanData"
+		></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>
 
@@ -11,25 +21,116 @@
 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, mapMutations } from 'vuex';
+import { webSocketUrl } from '@/api/request.js';
+let socket = null;
 export default {
 	components: {
 		customerIndex,
 		driverIndex,
 		freightForwarderIndex
 	},
+	computed: {
+		...mapState(['globalweighHouseCode', 'globalweigh'])
+	},
+	//棣栭〉涓嬫媺鍒锋柊
+	onPullDownRefresh() {
+		uni.showLoading({ title: '鍔犺浇涓�...' });
+		// 鑾峰彇鍘嗗彶鎻愮叅鍗�
+		if (this.roleType == 1 || this.roleType == 2) {
+			this.$reqGet('getJhOrderPlanDataPage', { current: 1, size: 10 }).then(res => {
+				if (res.data.records) {
+					this.indexHistoryCoalData = res.data.records;
+					uni.hideLoading();
+					uni.stopPullDownRefresh();
+				} else {
+					this.$u.toast('鍔犺浇澶辫触');
+				}
+			});
+		}
+		// 瀹㈡埛鑾峰彇鏃ヨ鍒�
+		if (this.roleType == 1) {
+			this.$reqGet('GetOrderPlan').then(res => {
+				if (res.data) {
+					this.orderPlanDataStore = res.data;
+					this.$u.toast('鍔犺浇鎴愬姛');
+					uni.hideLoading();
+					uni.stopPullDownRefresh();
+				} else {
+					this.$u.toast('鍔犺浇澶辫触');
+				}
+			});
+		} else if (this.roleType == 2) {
+			this.$reqGet('huoDaiList').then(res => {
+				if (res.data) {
+					this.indexHuoDaiOrderPlanData = res.data;
+					this.$u.toast('鍔犺浇鎴愬姛');
+					uni.hideLoading();
+					uni.stopPullDownRefresh();
+				} else {
+					this.$u.toast('鍔犺浇澶辫触');
+				}
+			});
+		} else if (this.roleType == 3) {
+			this.$reqGet('qiangDanList').then(res => {
+				if (res.code == 0) {
+					this.indexdriverBillOfLoadingData = res.data;
+					this.$u.toast('鍔犺浇鎴愬姛');
+					uni.hideLoading();
+					uni.stopPullDownRefresh();
+				} else {
+					this.$u.toast('鍔犺浇澶辫触');
+					uni.hideLoading();
+					uni.stopPullDownRefresh();
+				}
+			});
+		}
+	},
+	onLoad() {
+		// 寮�鍚弻浜洪�氳瘽
+		wx.setEnable1v1Chat({
+			enable: true,
+			backgroundType: 1,
+			minWindowType: 2,
+			success() {
+				console.log('寮�鍚弻浜洪�氳瘽鎴愬姛');
+			},
+			fail() {
+				console.log('寮�鍚弻浜洪�氳瘽澶辫触');
+			},
+			complete() {
+				console.log('寮�鍚弻浜洪�氳瘽鎴愬姛Complete');
+			}
+		});
+	},
 	data() {
 		return {
-			roleType: null
+			roleType: null,
+			orderPlanDataStore: [],
+			indexHuoDaiOrderPlanData: [],
+			indexHistoryCoalData: [],
+			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');
-			console.log(this.roleType, 'indexTabbar');
 			switch (this.roleType) {
 				case 1:
 					console.log('customerIndexRef');
@@ -52,9 +153,113 @@
 				default:
 					break;
 			}
+		},
+		// 瑕佹眰鐢ㄦ埛鎺堟潈鐩告満/楹﹀厠椋庢潈闄�
+		userAuthorization() {
+			wx.getSetting({
+				success(res) {
+					// wx.startRecord();
+					console.log('success');
+					if (!res.authSetting['scope.record'] || !res.authSetting['scope.camera']) {
+						if (!res.authSetting['scope.camera']) {
+							wx.authorize({
+								scope: 'scope.camera',
+								success() {
+									// 鐢ㄦ埛宸茬粡鍚屾剰灏忕▼搴忎娇鐢ㄥ綍闊冲姛鑳斤紝鍚庣画璋冪敤 wx.startRecord 鎺ュ彛涓嶄細寮圭獥璇㈤棶
+									console.log('鎺堟潈鎴愬姛');
+								},
+								fail() {
+									console.log('鎺堟潈澶辫触');
+								}
+							});
+						} else if (!res.authSetting['scope.record']) {
+							wx.authorize({
+								scope: 'scope.record',
+								success() {
+									// 鐢ㄦ埛宸茬粡鍚屾剰灏忕▼搴忎娇鐢ㄥ綍闊冲姛鑳斤紝鍚庣画璋冪敤 wx.startRecord 鎺ュ彛涓嶄細寮圭獥璇㈤棶
+									console.log('鎺堟潈鎴愬姛');
+								},
+								fail: () => {
+									console.log('鎺堟潈澶辫触');
+								}
+							});
+						}
+					}
+				},
+				fail() {
+					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